:root{--teal-900: #1f8a88;--teal-800: #3acac8;--teal-700: #46d2d0;--teal-600: #6ddedc;--teal-300: #a8ecea;--teal-100: #d6f5f4;--teal-050: #e6f9f8;--teal-025: #f1fbfb;--canvas: #cdf4f3;--paper: #fbfaf7;--paper-2:#f5f3ed;--line: #d7e3e1;--line-2: #e8ede9;--ink-900: #0f1f1e;--ink-700: #2a3b39;--ink-500: #5d6e6c;--ink-400: #7d8c8a;--ink-300: #a9b6b4;--gold: #b8842a;--plum: #6b3d6d;--rose: #b5547a;--olive: #6a7a3a;--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--shadow-sm: 0 1px 0 rgba(15, 31, 30, .04), 0 1px 2px rgba(15, 31, 30, .04);--shadow-md: 0 2px 0 rgba(15, 31, 30, .03), 0 8px 24px -8px rgba(15, 31, 30, .08);--shadow-lg: 0 24px 48px -24px rgba(10, 79, 78, .18);--font-sans: "Geist", "Söhne", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Newsreader", "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", "Geist Mono", ui-monospace, monospace;--font-jp: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-jp-sans: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif;--font-label: "Zen Kaku Gothic New", "Noto Sans JP", "Geist", sans-serif;--bg-primary: var(--canvas);--bg-gradient: var(--canvas);--accent-gold: var(--gold);--accent-blue: var(--teal-800);--accent-green: #2a8c5f;--accent-cyan: var(--teal-600);--glass-bg: var(--paper);--glass-bg-hover: #ffffff;--glass-bg-light: var(--paper-2);--glass-bg-strong: var(--paper);--glass-border: var(--line);--glass-shadow: var(--shadow-md);--glass-shadow-inset: 0 0 0 0 transparent;--glass-blur: blur(0);--text-primary: var(--ink-900);--text-secondary: var(--ink-700);--text-muted: var(--ink-500);--text-on-teal: #ffffff;--border-glass: var(--line);--border-subtle: var(--line-2);--radius-pill: 999px;--radius-card: var(--r-lg);--radius-button: var(--r-sm);--radius-input: 10px;--radius-small: var(--r-sm);--btn-primary: var(--teal-800);--btn-primary-hover: var(--teal-900);--btn-success: #2a8c5f;--btn-success-hover: #1a6b48;--btn-danger: #b94a5e;--btn-danger-hover: #8a3848;font-family:var(--font-sans);font-size:16px;line-height:24px;font-weight:400;color:var(--text-primary);background-color:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-feature-settings:"ss01","cv11";letter-spacing:-.005em}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;min-width:320px;min-height:100vh;background:var(--canvas)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(1200px 600px at 12% -10%,rgba(255,255,255,.6),transparent 60%),radial-gradient(900px 700px at 110% 110%,rgba(43,165,163,.1),transparent 60%)}#root{width:100%;position:relative;z-index:1}::selection{background:var(--teal-100);color:var(--teal-900)}.container{padding:0;max-width:1440px;margin:0 auto;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-radius:0;box-shadow:none}.mode-switcher{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:8px 24px 6px;background:transparent;border:0;border-radius:0;margin-bottom:0}.brand-mark{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-serif);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0;text-decoration:none;color:inherit;transition:opacity .15s}.brand-mark:hover{opacity:.8}.brand-mark .brand-logo{height:28px;width:auto;display:block}.brand-mark .brand-label{font-size:18px;font-style:italic;color:var(--ink-900);letter-spacing:-.01em;line-height:1}.tab-strip{display:inline-flex;gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:var(--shadow-sm);justify-self:center;max-width:100%;overflow-x:auto;scrollbar-width:none}.tab-strip::-webkit-scrollbar{display:none}.mode-switcher .tab-strip button{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:0;background:transparent;border-radius:999px;font-size:13px;letter-spacing:-.005em;color:var(--ink-500);cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease;font-weight:400}.mode-switcher .tab-strip button:hover{color:var(--ink-900);background:var(--teal-025)}.mode-switcher .tab-strip button.active{background:var(--teal-800);color:var(--ink-900);font-weight:500;box-shadow:0 1px #fff6 inset,0 2px 6px #1f8a8840}.topbar-actions{display:flex;align-items:center;gap:8px;justify-self:end}.btn-settings{margin:0;padding:7px;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--ink-500);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;width:34px;height:34px}.btn-settings:hover{background:var(--teal-025);color:var(--ink-900)}.btn-settings .tab-icon{width:18px;height:18px}.tab-icon{width:14px;height:14px;flex-shrink:0}.mode-switcher .tab-strip button .tab-icon,.mode-switcher .tab-strip a .tab-icon{opacity:.85}.mode-switcher .tab-strip button.active .tab-icon{opacity:1}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);width:90%;max-width:500px;box-shadow:var(--glass-shadow),var(--glass-shadow-inset);border:1px solid var(--glass-border)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.settings-header h2{margin:0;font-size:18px;font-weight:600}.btn-close{background:transparent;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px 8px}.btn-close:hover{color:#333}.settings-body{padding:20px}.setting-group{margin-bottom:20px}.setting-group label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500}.status-badge{font-size:12px;color:var(--btn-success);font-weight:400}.setting-group input{width:100%;padding:10px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;background:#ffffff80}.setting-group small{display:block;margin-top:4px;font-size:12px;color:#666}.setting-group a{color:var(--accent-blue);text-decoration:none}.setting-group a:hover{text-decoration:underline}.translate-container{display:flex;flex-direction:column;gap:16px}.context-structured,.context-input{display:flex;flex-direction:column;gap:8px}.context-input label{font-size:14px;font-weight:500;color:#333}.context-input-wrapper{position:relative;display:flex;align-items:center;gap:8px}.context-input input{flex:1;padding:10px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;background:#ffffff80}.context-buttons{display:flex;gap:4px}.btn-context-action{padding:6px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-pill);background:var(--glass-bg);cursor:pointer;font-size:14px;transition:all .3s ease}.btn-context-action:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--accent-cyan)}.btn-context-action:disabled{opacity:.5;cursor:not-allowed}.context-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);max-height:300px;overflow-y:auto;z-index:100}.context-dropdown-section{border-bottom:1px solid #e0e0e0}.context-dropdown-section:last-child{border-bottom:none}.context-dropdown-header{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-muted);background:#ffffff4d;text-transform:uppercase}.context-dropdown-item{padding:8px 12px;cursor:pointer;font-size:14px;transition:background .2s}.context-dropdown-item:hover{background:#f0f0f0}.context-dropdown-item .preset-name{font-weight:500;color:#333;margin-bottom:4px}.context-dropdown-item .preset-text{font-size:12px;color:#666}.context-dropdown-empty{padding:20px;text-align:center;color:#999;font-size:14px}.text-areas{display:grid;grid-template-columns:1fr 1fr;gap:16px}.text-area-container{display:flex;flex-direction:column;gap:8px}.text-area-header{display:flex;justify-content:space-between;align-items:center}.text-area-header label{font-size:14px;font-weight:500;color:#333}.lang-select{padding:8px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;font-weight:500;background:#ffffff80;cursor:pointer;color:var(--text-primary)}.lang-select:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #5ce1e633}textarea{padding:14px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);font-size:14px;font-family:inherit;resize:vertical;min-height:150px;background:#ffffff80}textarea:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #5ce1e633}.controls{display:flex;gap:12px;align-items:center}.model-select{padding:8px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;background:#ffffff80;cursor:pointer}button{padding:8px 16px;border:none;border-radius:var(--radius-button);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary{background:var(--btn-primary);color:#fff;border-radius:var(--radius-pill)}.btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1391a24d}.btn-primary:disabled{background:#b0d4d9;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-pill)}.btn-secondary:hover{background:var(--glass-bg-hover)}.btn-copy{padding:4px 12px;font-size:12px;background:var(--btn-success);color:#fff;border-radius:var(--radius-pill)}.btn-copy:hover{background:var(--btn-success-hover)}.btn-copy-both{padding:4px 12px;font-size:12px;background:var(--accent-blue);color:#fff;border-radius:var(--radius-pill)}.btn-copy-both:hover{background:var(--btn-primary-hover)}.btn-bookmark{padding:4px 12px;font-size:12px;background:var(--accent-gold);color:var(--text-primary);margin-left:4px;border-radius:var(--radius-pill)}.btn-bookmark:hover{background:#e8b44e}.btn-play-tts{padding:4px 12px;font-size:12px;background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all .3s ease;margin-left:4px}.btn-play-tts:hover{background:var(--btn-primary-hover)}.btn-play-tts:disabled{background:#8ec5cd;cursor:not-allowed}.btn-play-tts-small{padding:2px 6px;font-size:11px;margin-left:4px}.bookmark-actions{display:flex;gap:4px;align-items:center}.speaker-name-edit{font-size:24px;font-weight:600;padding:4px 16px;border:2px solid var(--accent-cyan);border-radius:var(--radius-pill);flex:1;max-width:400px}.speaker-language-edit{padding:4px 16px;border:2px solid var(--accent-cyan);border-radius:var(--radius-pill);font-size:14px}.btn-copy-small{padding:2px 8px;font-size:11px;background:var(--btn-success);color:#fff;margin-left:8px;border-radius:var(--radius-pill)}.btn-copy-small:hover{background:var(--btn-success-hover)}.btn-delete{padding:4px 12px;font-size:14px;background:var(--btn-danger);color:#fff;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all .3s ease}.btn-delete:hover{background:var(--btn-danger-hover)}.message-actions{display:flex;gap:4px}.conversation-container{display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto}.thread-wrapper{display:flex;flex-direction:column}.thread{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card) var(--radius-card) 0 0;transition:max-height .05s ease-out}.thread-resize-handle{height:8px;background:#ffffff4d;border:1px solid var(--glass-border);border-top:none;border-radius:0 0 var(--radius-card) var(--radius-card);cursor:ns-resize;display:flex;align-items:center;justify-content:center;transition:background .2s;-webkit-user-select:none;user-select:none}.thread-resize-handle:hover,.thread-resize-handle.resizing{background:#ffffff80}.resize-handle-bar{width:40px;height:3px;background:#999;border-radius:2px}.thread-resize-handle.resizing .resize-handle-bar{background:#666}.message{padding:12px 16px;border-radius:16px;max-width:80%}.message.en{background:#1391a226;border:1px solid rgba(19,145,162,.2);align-self:flex-start}.message.jp{background:#ffc86526;border:1px solid rgba(255,200,101,.25);align-self:flex-end}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:#666}.message-lang{font-weight:600;text-transform:uppercase}.message-text{font-size:14px;line-height:1.5;white-space:pre-wrap}.reply-suggestions-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;background:#fff6;border-radius:var(--radius-button);border:1px solid var(--glass-border)}.reply-suggestions-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.btn-suggestion-inline{padding:6px 14px;font-size:13px;background:#fff9;color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-pill);cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-suggestion-inline:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:0 2px 8px #1391a24d}.btn-suggestion-inline:active{transform:translateY(0)}.input-area{display:flex;flex-direction:column;gap:12px}.input-controls{display:flex;gap:12px;align-items:center}.lang-toggle{display:flex;gap:8px;align-items:center;padding:8px 16px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-pill)}.lang-toggle span{font-size:14px;font-weight:500}.arrow{color:#999}.loading{text-align:center;padding:8px;color:#666;font-size:14px}.error{padding:12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:14px}.debug-toggle{position:fixed;bottom:20px;right:20px;padding:10px 16px;background:#6c757d;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;box-shadow:0 2px 8px #0003;z-index:999}.debug-toggle:hover{background:#545b62}.songs-page{max-width:900px;margin:0 auto;padding:40px 20px}.songs-page-header{text-align:center;margin-bottom:32px}.songs-page-header h1{font-size:28px;font-weight:700;color:var(--text-primary)}.songs-page-subtitle{color:#666;font-size:15px;margin-top:4px}.songs-grid{display:flex;flex-direction:column;gap:12px}.song-card{display:flex;align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-card, 12px);padding:16px 20px;cursor:pointer;transition:all .2s}.song-card:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow)}.song-card-body{flex:1}.song-card-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.song-card-artist{font-size:14px;color:#666;margin:2px 0 0}.song-card-meta{font-size:13px;color:#999;margin:6px 0 0}.song-card-dot{margin:0 2px}.songs-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.songs-detail-title{text-align:center;margin-bottom:32px}.songs-detail-title h1{font-size:28px;font-weight:700;color:var(--text-primary)}.song-detail-artist{font-size:18px;color:#666;font-style:italic;margin-top:4px}.version-badge{position:fixed;bottom:8px;right:8px;font-size:11px;color:#0000004d;pointer-events:none;z-index:1}.debug-panel{position:fixed;bottom:20px;right:20px;width:600px;max-height:70vh;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;z-index:1000}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#fff6;border-radius:8px 8px 0 0}.debug-header h3{margin:0;font-size:16px;font-weight:600}.debug-header>div{display:flex;gap:8px}.btn-clear-debug{padding:4px 12px;font-size:12px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-clear-debug:hover{background:var(--btn-primary-hover)}.btn-close-debug{padding:4px 8px;font-size:14px;background:transparent;border:none;cursor:pointer;color:#666}.btn-close-debug:hover{color:#333}.debug-logs{overflow-y:auto;padding:12px;flex:1}.debug-empty{text-align:center;color:#999;padding:40px;font-size:14px}.debug-entry{margin-bottom:16px;padding:12px;background:#fff6;border:1px solid #e0e0e0;border-radius:4px;font-size:12px}.debug-entry.error{border-color:#f5c6cb;background:#fff5f5}.debug-timestamp{font-size:11px;color:#666;margin-bottom:8px;font-family:monospace}.debug-section{margin-bottom:12px}.debug-section:last-child{margin-bottom:0}.debug-label{font-weight:600;margin-bottom:4px;color:#333;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.btn-copy-curl{padding:2px 8px;font-size:11px;font-weight:500;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-copy-curl:hover{background:var(--btn-primary-hover)}.debug-curl{background:#1e1e1e;color:#d4d4d4;padding:8px;border-radius:4px;font-size:11px;-webkit-user-select:all;user-select:all}.debug-code{background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px;font-family:monospace;font-size:11px;line-height:1.5}.debug-code pre{margin:4px 0;white-space:pre-wrap;word-break:break-all}.debug-code strong{color:var(--accent-blue)}.preset-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.preset-dialog{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);padding:20px;width:90%;max-width:450px;box-shadow:var(--glass-shadow),var(--glass-shadow-inset);border:1px solid var(--glass-border)}.preset-dialog h3{margin:0 0 16px;font-size:18px;font-weight:600}.preset-dialog input,.preset-dialog textarea{width:100%;padding:10px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-button);font-size:14px;margin-bottom:12px;font-family:inherit;background:#ffffff80}.preset-dialog textarea{resize:vertical;min-height:60px}.preset-dialog-preview{padding:12px;background:#fff6;border-radius:4px;margin-bottom:16px;font-size:14px;color:#333}.preset-dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.preprocessing-toggle{margin-bottom:16px}.preprocessing-toggle label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.preprocessing-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.presets-list{display:flex;flex-direction:column;gap:12px}.preset-item{padding:12px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-button);display:flex;justify-content:space-between;align-items:flex-start;background:#ffffff80;transition:all .3s ease}.preset-item:hover{border-color:var(--accent-cyan);background:#ffffffb3}.preset-content{flex:1}.preset-item-name{font-weight:600;font-size:14px;color:#333;margin-bottom:6px}.preset-item-text{font-size:13px;color:#666;line-height:1.4}.preset-actions{display:flex;gap:4px;margin-left:12px}.btn-icon{padding:4px 8px;border:none;background:transparent;cursor:pointer;font-size:16px;transition:transform .2s}.btn-icon:hover{transform:scale(1.1)}.preset-edit{width:100%}.preset-edit input,.preset-edit textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:8px;font-family:inherit}.preset-edit textarea{resize:vertical;min-height:60px}.tone-analysis-loading{margin-top:16px;padding:12px 16px;background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:6px;color:#06c;font-size:14px;text-align:center}.tone-analysis{margin-top:16px;padding:16px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-button);box-shadow:0 1px 3px #0000000d}.tone-analysis-header{font-size:15px;font-weight:600;color:#495057;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e9ecef}.tone-analysis-content{display:flex;flex-direction:column;gap:10px}.tone-analysis-row{font-size:14px;line-height:1.6;color:#212529}.tone-analysis-row strong{color:#495057;font-weight:600;margin-right:6px}.tone-analysis-compact{margin-top:12px;padding:12px;background:#fff6;border-left:3px solid var(--accent-blue);border-radius:var(--radius-small)}.tone-analysis-compact .tone-analysis-header{margin-bottom:8px;padding-bottom:0;border-bottom:none}.tone-badge{display:inline-block;padding:4px 14px;background:var(--accent-blue);color:#fff;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.tone-analysis-explanation{font-size:13px;color:#495057;margin-bottom:10px;line-height:1.5}.tone-emotional-subtext{font-size:12px;color:#6c757d;margin-bottom:8px;padding:6px 10px;background:#fff3cd;border-left:3px solid var(--accent-gold);border-radius:3px;line-height:1.4}.tone-emotional-subtext strong{color:#856404;margin-right:4px}.tone-linguistic-nuances{font-size:12px;margin-bottom:8px;padding:6px 10px;background:#d1ecf1;border-left:3px solid #17a2b8;border-radius:3px}.tone-linguistic-nuances strong{color:#0c5460;display:block;margin-bottom:4px}.nuances-list{margin:4px 0 0;padding-left:20px;list-style-type:disc}.nuances-list li{margin:2px 0;line-height:1.4;color:#0c5460}.tone-insights{font-size:12px;color:#6c757d;margin-bottom:8px;padding:6px 10px;background:#d4edda;border-left:3px solid var(--btn-success);border-radius:3px;line-height:1.4}.tone-insights strong{color:#155724;margin-right:4px}.tone-vocabulary{font-size:12px;color:#6c757d;margin-bottom:8px;padding:8px 10px;background:#fff3cd;border-left:3px solid var(--accent-gold);border-radius:3px}.tone-vocabulary strong{color:#856404;margin-right:8px;display:block;margin-bottom:6px}.vocabulary-badges{display:flex;flex-wrap:wrap;gap:6px}.vocabulary-badge{display:inline-block;padding:4px 10px;background:#fff;color:#856404;border:1px solid var(--accent-gold);border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.vocabulary-badge:hover{background:var(--accent-gold);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.vocabulary-badge:active{transform:translateY(0)}.tone-change-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.btn-tone-change{padding:4px 10px;font-size:12px;background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s}.btn-tone-change:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.btn-tone-change:disabled{opacity:.5;cursor:not-allowed}.reply-suggestions-section{margin-top:10px;padding-top:10px;border-top:1px solid #dee2e6}.reply-suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.btn-translate-suggestions{padding:3px 8px;font-size:11px;background:var(--btn-success);color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background .2s}.btn-translate-suggestions:hover:not(:disabled){background:var(--btn-success-hover)}.btn-translate-suggestions:disabled{opacity:.6;cursor:not-allowed}.reply-suggestions-list{display:flex;flex-direction:column;gap:8px}.reply-suggestion-item{display:flex;justify-content:space-between;align-items:flex-start;padding:8px;background:#fff;border:1px solid #dee2e6;border-radius:4px;gap:8px}.reply-suggestion-text{flex:1;font-size:13px}.suggestion-original{color:#212529;margin-bottom:4px}.suggestion-translation{color:#6c757d;font-style:italic;font-size:12px}.suggestion-buttons{display:flex;flex-direction:column;gap:4px}.btn-translate-suggestion{padding:4px 8px;font-size:11px;background:var(--accent-blue);color:#fff;border:none;border-radius:3px;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-translate-suggestion:hover{background:var(--btn-primary-hover)}.btn-copy-suggestion{padding:4px 8px;font-size:11px;background:#6c757d;color:#fff;border:none;border-radius:3px;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-copy-suggestion:hover{background:#5a6268}.tone-question-section{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #dee2e6}.tone-question-input{flex:1;padding:6px 10px;font-size:13px;border:1px solid #ced4da;border-radius:4px}.tone-question-input:focus{outline:none;border-color:var(--accent-blue)}.btn-ask-question{padding:6px 12px;font-size:13px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-ask-question:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-ask-question:disabled{opacity:.6;cursor:not-allowed}.btn-toggle-lang{margin-left:12px;padding:6px 16px;border:1px solid var(--glass-border);background:#ffffff80;border-radius:var(--radius-pill);cursor:pointer;font-size:18px;transition:all .3s ease;color:var(--text-secondary)}.btn-toggle-lang:hover{background:#ffffffb3;border-color:var(--accent-cyan);color:var(--text-primary)}.btn-toggle-lang:active{transform:scale(.95)}.reply-suggestions{margin-top:8px;margin-left:0;padding-left:20px;list-style-type:disc}.reply-suggestions li{margin:6px 0;line-height:1.5;color:#212529}.furigana-loading{margin-top:16px;padding:12px 16px;background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:6px;color:#06c;font-size:14px;text-align:center}.furigana-romaji{margin-top:16px;padding:16px;background:#fffaf0d9;border:1px solid rgba(255,200,101,.4);border-radius:var(--radius-button);box-shadow:0 1px 3px #0000000d}.furigana-section,.romaji-section{margin-bottom:12px}.romaji-section{margin-bottom:0}.furigana-header,.romaji-header{font-size:13px;font-weight:600;color:#856404;margin-bottom:8px}.furigana-text{font-size:18px;line-height:2.2;color:#212529;padding:8px;background:#fff;border-radius:4px}.furigana-text ruby{ruby-align:center}.furigana-text rt{font-size:.6em;color:#666}.romaji-text{font-size:16px;line-height:1.6;color:#212529;padding:8px;background:#fff;border-radius:4px;font-style:italic}.japanese-output{padding:16px;background-color:#fff;border-radius:6px;min-height:120px}.japanese-output .furigana-text{font-size:20px;line-height:2.4;color:#212529;margin-bottom:2px;padding:0;background:transparent}.japanese-output .romaji-text{font-size:15px;line-height:1.5;color:#666;padding-top:2px;border-top:1px solid #e0e0e0;background:transparent;font-style:italic}.bookmarks-container{max-width:900px;margin:0 auto;padding:20px}.bookmarks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.bookmarks-header h2{margin:0;font-size:24px;color:#333}.bookmarks-empty{text-align:center;padding:60px 20px;color:#999}.bookmarks-empty p{margin:0;font-size:16px}.bookmarks-list{display:flex;flex-direction:column;gap:16px}.bookmark-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-button);transition:all .3s ease}.bookmark-item:hover{border-color:var(--accent-cyan);background:#ffffffb3}.bookmark-content{flex:1;display:flex;flex-direction:column;gap:8px}.bookmark-word{display:flex;align-items:center;gap:8px}.word-text{font-size:18px;font-weight:600;color:#333}.bookmark-context{font-size:14px;color:#666;line-height:1.5}.bookmark-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#999}.bookmark-date{font-style:italic}.bookmark-word-clickable{transition:background-color .2s;padding:4px 8px;margin:-4px -8px;border-radius:4px}.bookmark-word-clickable:hover{background-color:#f5f5f5}.expand-icon{font-size:12px;color:#666;display:inline-flex;align-items:center;transition:transform .2s}.bookmark-details-expanded{margin-top:12px;padding:16px;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.bookmark-details-loading{text-align:center;color:#666;font-style:italic;padding:20px}.bookmark-details-content{display:flex;flex-direction:column;gap:16px}.bookmark-detail-section{display:flex;flex-direction:column;gap:8px}.bookmark-detail-section strong{color:#555;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.bookmark-detail-text{font-size:16px;color:#333;line-height:1.6}.furigana-display{margin-top:8px;padding:12px;background:#fff;border-radius:4px;border:1px solid #ddd}.furigana-line{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.furigana-segment{display:inline-flex;flex-direction:column;align-items:center;margin:0 2px}.furigana-ruby{font-size:10px;color:#666;line-height:1.2;text-align:center;min-height:12px}.furigana-text{font-size:16px;color:#333;line-height:1.4}.romaji-line{font-size:13px;color:#777;font-style:italic;padding-top:8px;border-top:1px solid #e0e0e0}.dual-profiles{display:flex;gap:16px;margin-bottom:16px;align-items:flex-start}.profile-box{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#ffffff80;border-radius:var(--radius-button);border:1px solid var(--glass-border)}.profile-box label{font-weight:500;color:#333;font-size:14px}.profile-box select{padding:8px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;background:#ffffff80}.dual-inputs{display:flex;gap:16px;margin-bottom:16px;align-items:flex-start}.input-box{flex:1;display:flex;flex-direction:column}.input-header{margin-bottom:8px}.swap-button-container{display:flex;align-items:center;padding-top:32px}.btn-swap{padding:12px;font-size:20px;background:var(--accent-blue);color:#fff;border:none;border-radius:50%;width:48px;height:48px;cursor:pointer;transition:all .3s ease}.btn-swap:hover{background:var(--btn-primary-hover);transform:rotate(180deg)}.conversation-controls{display:flex;gap:12px;margin-bottom:16px}.speaker-profiles-container{max-width:1400px;margin:0 auto}.speaker-profiles-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;min-height:600px}.speakers-list{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:20px}.speakers-list h2{margin:0 0 20px;font-size:20px;font-weight:600;color:#333}.speakers-grid{display:flex;flex-direction:column;gap:12px}.speaker-card{padding:16px;background:#fff6;border:2px solid transparent;border-radius:var(--radius-button);cursor:pointer;transition:all .3s ease}.speaker-card:hover{background:#fff9;border-color:var(--glass-border)}.speaker-card.selected{background:#1391a21a;border-color:var(--accent-blue)}.speaker-card-name{font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.speaker-card-meta{font-size:13px;color:#666;margin-bottom:4px}.speaker-card-date{font-size:12px;color:#999;margin-top:8px;font-style:italic}.empty-state{text-align:center;padding:40px 20px;color:#999}.empty-state p{margin:0;font-size:14px}.speaker-details{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:24px;overflow-y:auto;max-height:80vh}.speaker-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.speaker-details-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.speaker-details-actions{display:flex;gap:8px}.speaker-info{margin-bottom:24px;padding:16px;background:#fff6;border-radius:6px}.speaker-info-item{font-size:14px;color:#333;margin-bottom:8px;line-height:1.6}.speaker-info-item:last-child{margin-bottom:0}.speaker-info-item strong{font-weight:600;color:#495057;margin-right:8px}.speaker-analysis{margin-bottom:24px;padding:20px;background:#fffbf0;border:1px solid var(--accent-gold);border-radius:8px}.speaker-analysis h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#856404}.analysis-section{display:flex;flex-direction:column;gap:12px}.analysis-row{font-size:14px;line-height:1.6;color:#212529}.analysis-row strong{font-weight:600;color:#495057;margin-right:6px}.analysis-row em{color:#666;font-size:13px}.patterns-list{margin:8px 0 0 20px;padding:0;list-style-type:disc}.patterns-list li{margin:4px 0;line-height:1.5;color:#333}.speaker-messages{margin-top:24px}.speaker-messages h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#333}.messages-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.history-message{padding:12px;background:#fff6;border:1px solid #dee2e6;border-radius:6px}.history-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.history-message-lang{font-weight:600;color:var(--accent-blue);text-transform:uppercase}.history-message-date{color:#999;font-style:italic}.history-message-text{font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap}.model-comparison-container{display:flex;flex-direction:column;gap:15px;height:calc(100vh - 100px)}.comparison-header{text-align:center;padding-bottom:10px;border-bottom:2px solid #e0e0e0;flex-shrink:0}.comparison-header h2{font-size:24px;font-weight:600;margin-bottom:5px;color:#333}.comparison-subtitle{font-size:14px;color:#666}.api-key-warning{text-align:center;padding:40px;background:#fff3cd;border:1px solid var(--accent-gold);border-radius:8px;margin:20px}.api-key-warning h3{color:#856404;margin-bottom:10px}.api-key-warning p{color:#856404}.system-prompt-input{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.system-prompt-input label{font-weight:500;color:#333;font-size:14px}.system-prompt-input textarea{padding:10px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical}.temperature-control{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff6;border:1px solid var(--glass-border);border-radius:var(--radius-button);flex-shrink:0}.temperature-control label{font-weight:500;color:#333;font-size:14px}.temperature-description{color:#667eea;font-weight:600;margin-left:8px}.temperature-slider-container{display:flex;flex-direction:column;gap:8px}.temperature-slider-container input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:linear-gradient(to right,#4caf50,#ff9800,#f44336);border-radius:3px;outline:none}.temperature-slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#667eea;border:2px solid white;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.temperature-slider-container input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#667eea;border:2px solid white;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.temperature-labels{display:flex;justify-content:space-between;font-size:11px;color:#666;padding:0 5px}.model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;flex:1;min-height:0;overflow-y:auto;align-content:start}.model-chat-box{display:flex;flex-direction:column;background:#fff9;border:1px solid var(--glass-border);border-radius:var(--radius-card);overflow:hidden}.model-chat-box.disabled{opacity:.6}.model-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #ddd}.model-title-group{display:flex;align-items:center;gap:10px}.model-title-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:white}.model-title-group input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.model-header h3{font-size:16px;font-weight:600;color:#fff;margin:0}.api-key-missing{font-size:14px;cursor:help}.btn-clear-model{padding:4px 10px;font-size:12px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;transition:all .2s}.btn-clear-model:hover:not(:disabled){background:#ffffff4d}.btn-clear-model:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:12px;min-height:0;background:#fafafa}.empty-chat{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px;text-align:center}.chat-message{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{background:#1391a21f;border-left:3px solid var(--accent-blue);align-self:flex-end;max-width:90%}.chat-message.assistant{background:#ffffff80;border-left:3px solid var(--accent-gold);align-self:flex-start;max-width:90%}.chat-message.streaming{background:#ffc86526;border-left:3px solid var(--accent-gold)}.message-role{font-size:11px;font-weight:600;text-transform:uppercase;color:#666;letter-spacing:.5px}.message-content{font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word;position:relative}.streaming-cursor{display:inline-block;animation:blink 1s infinite;color:#ff9800;font-weight:700;margin-left:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.thinking-indicator{color:#999;font-style:italic;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.btn-copy-message{margin-left:10px;padding:2px 8px;font-size:11px;background:#0000000d;border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer;transition:all .2s}.btn-copy-message:hover{background:#0000001a}.chat-error{padding:10px;background:#ffebee;border:1px solid #ef5350;border-radius:6px;color:#c62828;font-size:13px;margin-top:10px}.chat-error strong{font-weight:600}.model-selector{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff6;border:1px solid var(--glass-border);border-radius:var(--radius-card);flex-shrink:0}.model-group{display:flex;align-items:baseline;gap:10px}.model-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;min-width:80px;flex-shrink:0}.model-group-items{display:flex;flex-wrap:wrap;gap:8px}.model-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:20px;cursor:pointer;transition:all .2s;font-size:14px;-webkit-user-select:none;user-select:none}.model-checkbox:hover{background:#e8e8e8;border-color:#667eea}.model-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#667eea}.model-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.model-checkbox span{color:#333}.api-key-missing-inline{font-size:12px;cursor:help}.stats-toggle-section{display:flex;justify-content:center;padding:10px 0}.stats-table-container{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:15px;flex-shrink:0}.stats-table-container h3{font-size:16px;margin-bottom:12px;color:#333;font-weight:600}.stats-table{width:100%;border-collapse:collapse;font-size:13px}.stats-table thead tr{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stats-table th{padding:10px;text-align:left;font-weight:600;border-bottom:2px solid #ddd}.stats-table td{padding:10px;border-bottom:1px solid #eee;color:#333}.stats-table tbody tr:hover{background:#f9f9f9}.model-stats{padding:12px 15px;background:#f9f9f9;border-top:1px solid #e0e0e0;font-size:12px}.stats-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.stats-row:last-child{margin-bottom:0}.stat-label{color:#666;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.stat-value{color:#333;font-weight:600;font-family:Courier New,monospace}.stat-separator{color:#ccc;margin:0 4px}.cost-badge{padding:2px 8px;border-radius:12px;font-size:11px}.cost-cheap{background:#c8e6c9;color:#2e7d32}.cost-medium{background:#fff9c4;color:#f57f17}.cost-expensive{background:#ffcdd2;color:#c62828}.model-chat-box{resize:both;overflow:auto;min-width:280px;min-height:250px;max-height:600px}.model-chat-box::-webkit-resizer{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 0 8px}.user-input-section{display:flex;flex-direction:column;gap:10px;flex-shrink:0;background:#ffffff80;padding:15px;border:1px solid var(--glass-border);border-radius:var(--radius-card)}.user-input-section textarea{padding:12px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical}.user-input-section textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-controls{display:flex;gap:10px;justify-content:flex-end}@media(max-width:1200px){.model-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.model-grid{grid-template-columns:1fr}.chat-message.user,.chat-message.assistant{max-width:100%}}.lyrics-mode{display:flex;flex-direction:column;gap:20px}.lyrics-subtabs{display:flex;gap:4px;padding:6px;background:var(--glass-bg-light);border-radius:var(--radius-pill);border:1px solid var(--glass-border)}.lyrics-subtabs button{padding:8px 18px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-pill);transition:all .3s ease}.lyrics-subtabs button:hover:not(:disabled){background:#ffffff80;color:var(--text-primary)}.lyrics-subtabs button.active{background:var(--btn-primary);color:#fff;box-shadow:0 2px 8px #1391a24d}.lyrics-subtabs button:disabled{opacity:.5;cursor:not-allowed}.lyrics-input-view{display:flex;flex-direction:column;gap:20px}.lyrics-input-view h2{margin:0;font-size:22px;font-weight:600;color:#333}.lyrics-metadata{display:flex;flex-direction:column;gap:16px;background:#ffffff80;padding:20px;border:1px solid var(--glass-border);border-radius:var(--radius-card)}.lyrics-metadata .input-group{display:flex;flex-direction:column;gap:6px}.lyrics-metadata .input-group label{font-size:14px;font-weight:500;color:#333}.lyrics-metadata .input-group input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.lyrics-metadata .input-group input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #007bff1a}.lyrics-text-input{display:flex;flex-direction:column;gap:8px}.lyrics-text-input label{font-size:14px;font-weight:500;color:#333}.lyrics-text-input textarea{padding:12px;border:1px solid #ddd;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;line-height:1.8;resize:vertical;min-height:300px}.lyrics-text-input textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #007bff1a}.lyrics-actions{display:flex;gap:12px;justify-content:flex-start}.lyrics-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.lyrics-actions button:disabled{opacity:.5;cursor:not-allowed}.lyrics-verse-view{display:flex;flex-direction:column;gap:24px}.verse-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.verse-header h2{margin:0;font-size:22px;font-weight:600;color:#333}.verse-navigation{display:flex;align-items:center;gap:12px}.verse-navigation button:not(.btn-next-verse){padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.verse-navigation button:not(.btn-next-verse):hover:not(:disabled){background:#f0f0f0;border-color:#999}.verse-navigation button:not(.btn-next-verse):disabled{opacity:.5;cursor:not-allowed}.verse-navigation span{font-size:14px;color:#666;font-weight:500}.verse-display{display:flex;flex-direction:column;gap:24px;background:#ffffff80;padding:24px;border:1px solid var(--glass-border);border-radius:var(--radius-card)}.verse-japanese{padding:16px;background:#fff6;border-radius:var(--radius-button);border-left:4px solid var(--accent-cyan)}.verse-japanese .furigana-text{font-size:24px;line-height:2.6;color:#212529;margin-bottom:8px}.verse-japanese .romaji-text{font-size:16px;line-height:1.6;color:#666;padding-top:8px;border-top:1px solid #dee2e6}.verse-translations{display:flex;flex-direction:column;gap:20px}.translation-section{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s}.translation-selected{border-color:var(--accent-blue);background:#1391a20f}.translation-dimmed{opacity:.55}.translation-dimmed:hover{opacity:.8}.selected-badge{display:inline-block;font-size:11px;font-weight:600;color:#fff;background:var(--accent-blue);padding:1px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}.translation-section label{font-size:14px;font-weight:600;color:#495057}.translation-section textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;line-height:1.6;resize:vertical;font-family:inherit}.translation-section textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #007bff1a}.translation-section button{align-self:flex-start;padding:6px 12px;font-size:13px;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-next-verse{background:var(--accent-green, #2ecf6a);color:#fff;border:none;padding:10px 24px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.btn-next-verse:hover:not(:disabled){background:#25b85c;transform:scale(1.02)}.btn-next-verse:disabled{background:#ccc;cursor:default}.song-explanation{padding:20px;background:#fffbf0;border:1px solid var(--accent-gold);border-radius:8px}.song-explanation h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#856404}.song-explanation p{margin:0 0 12px;font-size:14px;line-height:1.8;color:#212529}.song-explanation button{padding:6px 12px;font-size:13px;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.lyrics-saved-view{display:flex;flex-direction:column;gap:20px}.lyrics-saved-view h2{margin:0;font-size:22px;font-weight:600;color:#333}.saved-songs-list{display:flex;flex-direction:column;gap:12px}.saved-song-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-button);transition:all .3s ease}.saved-song-item:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--accent-cyan);background:#ffffffb3}.song-info{flex:1;cursor:pointer}.song-info h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--accent-blue)}.song-artist{margin:0 0 8px;font-size:14px;color:#666;font-style:italic}.song-meta{margin:0;font-size:13px;color:#999}.saved-song-item .btn-delete{padding:8px;background:transparent;border:none;color:var(--btn-danger);font-size:18px;cursor:pointer;transition:all .2s;border-radius:4px}.saved-song-item .btn-delete:hover{background:var(--btn-danger);color:#fff}.lyrics-full-view{display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto;padding:20px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card)}.full-view-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:2px solid #e0e0e0;margin-bottom:8px}.song-title-section h2{margin:0;font-size:24px;font-weight:700;color:#212529;line-height:1.2}.song-title-section .song-artist{margin-top:4px;font-size:16px;color:#6c757d;font-style:italic}.full-view-actions{display:flex;gap:8px}.full-view-actions button{padding:6px 14px;font-size:13px;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.full-verses-container{display:flex;flex-direction:column;gap:20px;line-height:1.8}.full-verse-item{display:flex;flex-direction:column;gap:4px;padding:0;background:transparent;border:none}.full-verse-item .furigana-text{font-size:22px;line-height:2.2;color:#212529;font-weight:500}.full-verse-item .romaji-text{font-size:14px;line-height:1.4;color:#6c757d;font-style:italic;margin-bottom:2px}.full-verse-item .translation-text{font-size:14px;line-height:1.5;color:#495057;margin-bottom:4px}.aligned-lyrics{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;margin-bottom:4px}.aligned-word{display:inline-flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2}.aligned-word .word-japanese{font-size:22px;font-weight:500;color:#212529;line-height:2.2}.aligned-word ruby{ruby-align:center}.aligned-word rt{font-size:.5em;color:#666}.aligned-word .word-romaji{font-size:12px;color:#6c757d;font-style:italic;margin-top:2px;white-space:nowrap}.section-marker{margin:32px 0 16px;padding:0}.section-marker-text{font-size:18px;font-weight:700;color:var(--accent-blue);text-transform:uppercase;letter-spacing:1px;padding:8px 16px;border-bottom:none;display:inline-block;background:#1391a21a;border-radius:var(--radius-pill)}.lyrics-direction-toggle{display:flex;gap:4px;margin-bottom:16px;padding:6px;background:var(--glass-bg-light);border-radius:var(--radius-pill);justify-content:center;border:1px solid var(--glass-border)}.lyrics-direction-toggle button{padding:10px 20px;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .3s ease}.lyrics-direction-toggle button:hover{background:#ffffff80;color:var(--text-primary)}.lyrics-direction-toggle button.active{background:var(--btn-primary);color:#fff;box-shadow:0 2px 8px #1391a24d}.verse-english{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.katakana-text{font-size:24px;font-weight:600;color:var(--accent-blue);line-height:1.6;margin-bottom:4px}.english-text{font-size:16px;color:#6c757d;line-height:1.5;font-style:italic}.aligned-word-en{display:inline-flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2}.aligned-word-en .word-katakana{font-size:22px;font-weight:600;color:var(--accent-blue);line-height:1.8;white-space:nowrap}.aligned-word-en .word-english-below{font-size:12px;color:#6c757d;font-style:italic;margin-top:2px;white-space:nowrap}.line-emphasis-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff4d;border-radius:var(--radius-pill);border:1px solid var(--glass-border)}.line-emphasis-selector label{font-size:13px;font-weight:600;color:#495057;margin:0}.line-emphasis-selector button{padding:6px 14px;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .3s ease}.line-emphasis-selector button:hover{background:#ffffff80;color:var(--text-primary)}.line-emphasis-selector button.active{background:var(--btn-primary);color:#fff;box-shadow:0 2px 8px #1391a24d}.full-view-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.aligned-word.emphasize-furigana rt{font-size:1em;font-weight:700;color:#212529;letter-spacing:.05em}.aligned-word.emphasize-furigana .word-japanese{font-size:24px;font-weight:400;color:#6c757d;line-height:2.4}.aligned-word.emphasize-furigana .word-romaji{font-size:11px;color:#adb5bd}.aligned-word.emphasize-kanji .word-japanese{font-size:26px;font-weight:700;color:#212529;line-height:2.2}.aligned-word.emphasize-kanji rt{font-size:.45em;color:#999}.aligned-word.emphasize-kanji .word-romaji{font-size:11px;color:#adb5bd}.aligned-word.emphasize-romaji .word-japanese{font-size:18px;font-weight:400;color:#6c757d}.aligned-word.emphasize-romaji rt{font-size:.45em;color:#adb5bd}.aligned-word.emphasize-romaji .word-romaji{font-size:16px;font-weight:700;color:#212529;font-style:normal}.quick-translate-container{display:flex;flex-direction:column;gap:20px}.quick-translate-layout{display:grid;grid-template-columns:1fr 1fr 350px;gap:16px;align-items:start}@media(max-width:1400px){.quick-translate-layout{grid-template-columns:1fr 1fr}.config-column{display:none!important}}.input-column,.output-column{display:flex;flex-direction:column;gap:12px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:16px}.column-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.detected-lang{font-size:12px;color:var(--btn-success);font-weight:500;padding:4px 12px;background:#2ecf6a26;border-radius:var(--radius-pill)}.output-actions{display:flex;gap:6px;align-items:center}.text-area-wrapper{flex:1;min-height:200px}.source-textarea,.output-textarea{width:100%;height:100%;min-height:200px;padding:14px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);font-size:14px;font-family:inherit;resize:vertical;background:#ffffff80}.source-textarea:focus,.output-textarea:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #5ce1e633}.japanese-output-editable{min-height:200px;padding:16px;background:#fff;border-radius:6px}.japanese-output-editable .furigana-text{font-size:20px;line-height:2.4;color:#212529;margin-bottom:12px;padding:12px;background:#fff6;border-radius:4px;min-height:100px}.japanese-output-editable .furigana-text:focus{outline:2px solid var(--accent-blue);outline-offset:2px;background:#fff}.japanese-output-editable .romaji-text{font-size:15px;line-height:1.5;color:#666;padding-top:12px;border-top:1px solid #e0e0e0;font-style:italic}.clickable-word{cursor:pointer;transition:all .2s;padding:2px 4px;margin:0 -2px;border-radius:3px}.clickable-word:hover{background-color:#fff3cd;color:#856404}.history-view{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:16px;max-height:400px;overflow-y:auto}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.history-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.history-content{display:flex;flex-direction:column;gap:8px}.history-empty{text-align:center;color:#999;padding:20px;font-size:14px}.history-item{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;transition:all .2s ease;background:#fff6}.history-item:hover{background:#fffc;border-color:var(--accent-cyan)}.history-langs{font-size:12px;font-weight:500;color:var(--accent-blue);margin-bottom:4px;display:flex;align-items:center;gap:8px}.history-time{margin-left:auto;font-weight:400;color:#999;font-size:11px}.history-source{font-size:13px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-result{font-size:13px;color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-column{display:flex;flex-direction:column;gap:20px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:16px;max-height:600px;overflow-y:auto}.config-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.config-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.config-section{display:flex;flex-direction:column;gap:8px}.config-section label{font-size:14px;font-weight:500;color:#333}.config-select,.config-input{width:100%;padding:10px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;background:#ffffff80}.config-select:focus,.config-input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #5ce1e633}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:400!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.btn-show-config{position:fixed;right:20px;top:100px;padding:12px 16px;background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:20px;box-shadow:0 2px 8px #1391a24d;z-index:100;transition:all .3s ease}.btn-show-config:hover{background:var(--btn-primary-hover);transform:scale(1.05)}.translation-controls{display:flex;gap:12px;justify-content:center;align-items:center}.status-message{padding:12px 16px;background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:6px;color:#06c;font-size:14px;text-align:center;margin-top:12px}.error-message{padding:12px 16px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:14px;text-align:center}.glossary-view{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:20px;margin-top:20px}.glossary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.glossary-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.glossary-content{min-height:150px}.glossary-loading{text-align:center;padding:40px;color:#666;font-style:italic}.glossary-empty{text-align:center;padding:40px;color:#999;font-size:14px}.dictionary-entry{display:flex;flex-direction:column;gap:16px}.entry-word{display:flex;align-items:center;gap:8px}.entry-word h4{margin:0;font-size:24px;font-weight:600;color:#333}.entry-reading{font-size:18px;color:#666;font-style:italic}.entry-pos{font-size:13px;color:var(--accent-blue);font-weight:500;text-transform:uppercase}.entry-definitions{font-size:14px;color:#333;line-height:1.6}.entry-definitions strong{display:block;margin-bottom:8px;color:#495057}.entry-definitions ol{margin:8px 0 0 20px;padding:0}.entry-definitions li{margin:6px 0;line-height:1.6}.entry-tag{display:inline-block;padding:4px 12px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:12px;font-weight:600;margin-right:8px}.entry-source{font-size:12px;color:#999;font-style:italic;margin-top:8px}.alternatives-view{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:20px;margin-top:20px}.alternatives-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.alternatives-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.alternatives-content{min-height:100px}.alternatives-loading{text-align:center;padding:40px;color:#666;font-style:italic}.alternatives-empty{text-align:center;padding:40px;color:#999;font-size:14px}.alternatives-list{display:flex;flex-direction:column;gap:20px}.alternative-item{background:#fff6;border:1px solid var(--glass-border);border-radius:var(--radius-button);padding:16px;transition:all .3s ease}.alternative-item:hover{background:#fff9;border-color:var(--accent-cyan);box-shadow:0 2px 8px #1391a21a}.alternative-translation{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.alternative-translation strong{font-size:16px;color:#222;flex:1;margin-right:12px}.btn-use-alternative{background:var(--btn-primary);color:#fff;border:none;border-radius:var(--radius-pill);padding:8px 18px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .3s ease}.btn-use-alternative:hover{background:var(--btn-primary-hover);box-shadow:0 2px 6px #1391a24d}.btn-use-alternative:active{transform:translateY(1px)}.alternative-context{font-size:13px;color:#666;margin-bottom:8px;font-style:italic}.alternative-context em{color:#999;font-weight:500}.alternative-explanation{font-size:14px;color:#555;line-height:1.5}.image-translate-container{display:flex;flex-direction:column;gap:16px}.image-translate-top{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.drop-zone{flex:1;min-height:200px;border:2px dashed rgba(255,255,255,.5);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;background:var(--glass-bg-light)}.drop-zone:hover{border-color:#ffffffb3;background:var(--glass-bg)}.drop-zone.drag-over{border-color:var(--accent-cyan);background:#5ce1e626}.drop-zone-prompt{text-align:center;color:#888;padding:20px}.drop-zone-icon{font-size:40px;margin-bottom:8px}.drop-zone-prompt p{margin:4px 0;font-size:14px}.drop-zone-hint{font-size:12px!important;color:#aaa!important}.image-translate-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.image-translate-controls label{display:flex;align-items:center;gap:6px;font-size:13px;color:#555;font-weight:500}.image-translate-controls select{padding:8px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:14px;background:#ffffff80}.image-translate-buttons{display:flex;gap:8px}.translate-btn{padding:10px 24px;background:var(--btn-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.translate-btn:hover:not(:disabled){background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1391a24d}.translate-btn:disabled{background:#b0d4d9;cursor:not-allowed}.clear-btn{padding:8px 18px;background:var(--glass-bg);color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-size:14px;cursor:pointer;transition:all .3s ease}.clear-btn:hover{background:var(--glass-bg-hover)}.toggle-original{font-weight:400!important;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-original input{margin-right:4px}.file-name{font-size:12px;color:#888;word-break:break-all}.image-result-area{border:1px solid var(--glass-border);border-radius:var(--radius-card);overflow:hidden;background:#fff6;display:flex;justify-content:center}.image-result-canvas{max-width:100%;height:auto}.image-result-preview{max-width:100%;max-height:600px;object-fit:contain}.translation-result{display:flex;gap:16px}.result-section{flex:1;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:16px}.result-section h3{font-size:14px;font-weight:600;color:#333;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee}.result-text{font-family:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:#333;margin:0}.doc-translate-container{display:flex;flex-direction:column;gap:16px}.doc-input-area{display:flex;flex-direction:column;gap:12px;background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:20px}.doc-input-header{display:flex;align-items:center;gap:12px}.doc-input-header .swap-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:18px;cursor:pointer;color:var(--text-muted);transition:color .15s,border-color .15s}.doc-input-header .swap-btn:hover{color:var(--primary);border-color:var(--primary)}.doc-textarea{width:100%;min-height:300px;padding:14px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);font-size:14px;font-family:Consolas,Monaco,monospace;line-height:1.6;background:#ffffff80;resize:vertical}.doc-textarea:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px #5ce1e633}.doc-start-btn{align-self:flex-start;padding:12px 28px}.doc-pipeline-stepper{display:flex;justify-content:space-between;padding:16px 24px;background:var(--glass-bg-light);border-radius:var(--radius-card);border:1px solid var(--glass-border)}.doc-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;opacity:.4;transition:opacity .3s}.doc-step.active{opacity:1}.doc-step.completed{opacity:.8}.doc-step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--glass-bg);border:2px solid var(--border-subtle);color:var(--text-secondary)}.doc-step.active .doc-step-number{background:var(--accent-cyan);border-color:var(--accent-cyan);color:#fff}.doc-step.completed .doc-step-number{background:#2ecf6a;border-color:#2ecf6a;color:#fff}.doc-step-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center}.doc-step.active .doc-step-label{color:var(--text-primary);font-weight:600}.doc-loading{text-align:center;padding:40px 20px;font-size:15px;color:var(--text-secondary);background:#ffffff80;border-radius:var(--radius-card);border:1px solid var(--glass-border)}.doc-review-model-select{margin-left:auto;font-size:13px}.doc-view-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content}.doc-view-btn{padding:6px 16px;font-size:13px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);transition:all .15s}.doc-view-btn:not(:last-child){border-right:1px solid var(--border)}.doc-view-btn:hover:not(.active){background:#fff3}.doc-view-btn.active{background:#ffffff80;color:var(--text-primary);font-weight:600}.doc-sbs-container{display:flex;flex-direction:column;gap:16px}.doc-sbs-chunk{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);overflow:hidden}.doc-sbs-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:14px;font-weight:600;color:#333;border-bottom:1px solid var(--glass-border);background:#ffffff4d}.doc-sbs-correction-count{font-size:12px;font-weight:400;color:#e67e22;background:#e67e221a;padding:2px 8px;border-radius:10px}.doc-sbs-columns{display:grid;grid-template-columns:1fr 1fr;min-height:0}.doc-sbs-panel{display:flex;flex-direction:column}.doc-sbs-panel:first-child{border-right:1px solid var(--glass-border)}.doc-sbs-panel-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 14px;border-bottom:1px solid rgba(0,0,0,.05);background:#fff3}.doc-sbs-text{padding:10px 14px;font-size:13px;line-height:1.65}.doc-sbs-empty-line{height:8px}.doc-sbs-line{padding:2px 6px;border-radius:3px;cursor:pointer;transition:background .12s}.doc-sbs-line:hover{background:#0000000a}.doc-sbs-line-mapped{background:#3498db26!important;border-left:3px solid #3498db;padding-left:8px}.doc-sbs-line-corrected{background:#e67e2214;border-left:3px solid #e67e22;padding-left:8px}.doc-sbs-line-mapped.doc-sbs-line-corrected{background:#3498db26!important;border-left:3px solid #3498db}.doc-sbs-mark{padding:1px 2px;border-radius:2px;cursor:help}.doc-sbs-mark.accepted{background:#c0392b1f;border-bottom:2px solid #c0392b;text-decoration:line-through;color:#c0392b}.doc-sbs-mark-replacement{background:#27ae6026;border-bottom:2px solid #27ae60;color:#27ae60;padding:1px 2px;border-radius:2px;margin-left:2px}.doc-sbs-mark.rejected{background:#95a5b533;border-bottom:2px solid rgba(149,165,181,.4)}.doc-sbs-mark.pending{background:#e67e2240;border-bottom:2px solid #e67e22}.doc-sbs-selection-highlight{background:#2ecc7140;border-bottom:2px solid #2ecc71;border-radius:2px;transition:background .15s}.doc-sbs-resolving-badge{text-align:center;font-size:12px;color:#2ecc71;padding:4px 0;animation:doc-pulse 1.2s ease-in-out infinite}.doc-sbs-alignment-loading{font-size:11px;color:#999;font-style:italic;animation:doc-pulse 1.2s ease-in-out infinite}@keyframes doc-pulse{0%,to{opacity:1}50%{opacity:.4}}.doc-sbs-corrections{border-top:1px solid var(--glass-border);padding:10px 14px;display:flex;flex-direction:column;gap:6px;background:#fff3}.doc-sbs-correction{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:6px;background:#ffffff80;border:1px solid rgba(0,0,0,.06);font-size:13px;transition:opacity .15s}.doc-sbs-correction.rejected{opacity:1;border-color:#0000000f;background:#00000005}.doc-sbs-correction.accepted{border-color:#2ecf6a4d;background:#2ecf6a0d}.doc-sbs-correction-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-sbs-change{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0}.doc-sbs-del{color:#c0392b;text-decoration:line-through;background:#c0392b14;padding:1px 4px;border-radius:3px}.doc-sbs-ins{color:#27ae60;background:#27ae6014;padding:1px 4px;border-radius:3px}.doc-sbs-arrow{color:var(--text-muted);font-size:12px;flex-shrink:0}.doc-sbs-correction-reason{font-size:12px;color:var(--text-muted);padding-left:2px}.doc-sbs-correction-inputs{display:flex;gap:6px;margin-top:4px}.doc-sbs-correction-inputs input{flex:1;font-size:12px;padding:4px 8px;border:1px solid var(--glass-border);border-radius:4px;background:#ffffff80}.doc-context-picker{margin-bottom:20px}.doc-context-picker h3{margin:0 0 4px;font-size:16px;color:#333}.doc-context-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.doc-context-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:#fff9;font-size:13px;cursor:pointer;color:var(--text-muted);transition:all .15s}.doc-context-chip:hover{border-color:var(--primary);color:var(--primary)}.doc-context-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.doc-context-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-card);font-size:13px;background:#fff9}.doc-context-input:focus{outline:none;border-color:var(--primary)}.doc-nouns-editor{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:20px}.doc-nouns-header h3{margin:0 0 4px;font-size:16px;color:#333}.doc-nouns-hint{margin:0 0 16px;font-size:13px;color:var(--text-muted)}.doc-nouns-table{width:100%;border-collapse:collapse;margin-bottom:12px}.doc-nouns-table th{text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:8px;border-bottom:2px solid #e0e0e0}.doc-nouns-table td{padding:4px 8px}.doc-noun-translation-cell{position:relative}.doc-noun-action{position:absolute;right:12px;font-size:12px;color:var(--text-muted);opacity:.5}.doc-noun-action:hover{opacity:1;color:var(--primary)}.doc-noun-keep-original{top:4px}.doc-noun-revert{bottom:4px}.doc-nouns-table input,.doc-nouns-table select{width:100%;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:6px;font-size:13px;background:#ffffff80}.doc-nouns-table input:focus,.doc-nouns-table select:focus{outline:none;border-color:var(--accent-cyan)}.doc-nouns-actions{display:flex;gap:12px;justify-content:space-between;margin-top:12px}.doc-progress{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:14px 20px}.doc-progress-text{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.doc-progress-bar{height:6px;background:#00000014;border-radius:3px;overflow:hidden}.doc-progress-fill{height:100%;background:var(--accent-cyan);border-radius:3px;transition:width .4s ease}.doc-chunks-list{display:flex;flex-direction:column;gap:10px}.doc-chunk-card{background:#ffffff80;border:1px solid var(--glass-border);border-radius:var(--radius-card);overflow:hidden}.doc-chunk-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.doc-chunk-header::-webkit-details-marker{display:none}.doc-chunk-title{font-size:14px;font-weight:500;color:#333}.doc-chunk-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--radius-pill)}.doc-chunk-status.pending{background:#0000000f;color:var(--text-muted)}.doc-chunk-status.translating{background:#5ce1e626;color:#0e8a96}.doc-chunk-status.reviewing,.doc-chunk-status.validating{background:#ffc10726;color:#b8860b}.doc-chunk-status.fixing{background:#5ce1e626;color:#0e8a96}.doc-chunk-status.done{background:#2ecf6a26;color:#1a8a42}.doc-chunk-status.error{background:#e74c3c26;color:#c0392b}.doc-chunk-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.doc-chunk-section{display:flex;flex-direction:column;gap:4px}.doc-chunk-section-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.doc-chunk-text{font-size:13px;line-height:1.6;color:#333;padding:10px 12px;background:#fff6;border-radius:8px;border:1px solid rgba(0,0,0,.06);white-space:pre-wrap}.doc-chunk-final{border-color:#2ecf6a4d;background:#2ecf6a0d}.doc-chunk-error{font-size:13px;color:#c0392b;padding:8px 12px;background:#e74c3c14;border-radius:8px}.doc-corrections-list{display:flex;flex-direction:column;gap:6px}.doc-correction-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;padding:8px 12px;background:#fff6;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.doc-correction-item.rejected>.doc-correction-top .doc-correction-text{opacity:.45;text-decoration:line-through}.doc-correction-item.rejected>.doc-correction-reason{opacity:.45}.doc-correction-item.accepted{border-color:#2ecf6a4d;background:#2ecf6a0a}.doc-correction-priority{font-size:11px;font-weight:700;font-family:monospace}.doc-correction-priority.high{color:#c0392b}.doc-correction-priority.medium{color:#b8860b}.doc-correction-priority.low{color:var(--text-muted)}.doc-correction-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.doc-correction-badge.valid{background:#2ecf6a26;color:#1a8a42}.doc-correction-badge.invalid{background:#e74c3c26;color:#c0392b}.doc-correction-badge.user{background:#5ce1e626;color:#0e8a96}.doc-correction-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.doc-correction-text{color:#333}.doc-correction-reason{font-size:12px;color:var(--text-muted);width:100%}.doc-correction-controls{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,0,0,.06)}.doc-correction-buttons{display:flex;gap:6px}.btn-correction{padding:5px 14px;font-size:12px;font-weight:600;border:2px solid #bbb;border-radius:6px;background:#f5f5f5;color:#555;cursor:pointer;transition:all .2s}.btn-correction:hover{background:#e8e8e8;border-color:#999}.btn-correction.active-accept{background:#2ecf6a;border-color:#2ecf6a;color:#fff}.btn-correction.active-accept:hover{background:#27b35c}.btn-correction.active-reject{background:#e74c3c;border-color:#e74c3c;color:#fff}.btn-correction.active-reject:hover{background:#cf4436}.doc-correction-modify,.doc-correction-comment{width:100%;padding:5px 10px;font-size:12px;border:1px solid var(--border-subtle);border-radius:6px;background:#ffffff80}.doc-correction-modify:focus,.doc-correction-comment:focus{outline:none;border-color:var(--accent-cyan)}.doc-correction-comment{font-style:italic;color:var(--text-muted)}.doc-add-correction{align-self:flex-start;font-size:13px;padding:6px 14px}.doc-final-section{display:flex;flex-direction:column;gap:24px}.doc-final-combined{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-card, 12px);overflow:hidden}.doc-final-combined-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--glass-border)}.doc-final-combined-header h3{margin:0;font-size:16px}.doc-final-actions{display:flex;gap:8px}.doc-final-text{padding:20px;font-size:14px;line-height:1.7;white-space:pre-wrap}.doc-final-chunk-text{margin-bottom:16px}.doc-final-chunk-text p{margin:0}.doc-final-chunk-text:last-child{margin-bottom:0}.doc-final-sections{padding-top:8px}.doc-final-detail{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-card, 12px);margin-bottom:8px;overflow:hidden}.doc-final-detail-summary{padding:10px 16px;cursor:pointer;font-weight:500;font-size:14px;color:var(--text-primary)}.doc-final-detail-summary:hover{background:#ffffff4d}.doc-final-detail-body{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--glass-border)}.doc-final-detail-col{padding:12px 16px}.doc-final-detail-col:first-child{border-right:1px solid var(--glass-border)}.doc-final-detail-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-weight:600;letter-spacing:.5px}.doc-final-detail-text{font-size:13px;line-height:1.6;white-space:pre-wrap}.btn-karaoke{padding:6px 16px;font-size:13px;font-weight:600;border:none;border-radius:4px;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:all .2s}.btn-karaoke:hover{opacity:.9;transform:translateY(-1px)}.karaoke-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#0a0a0f;display:flex;flex-direction:column;overflow:hidden}.karaoke-header{padding:12px 24px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:16px;flex-wrap:wrap}.karaoke-title h2{margin:0;font-size:18px;color:#fff;font-weight:700}.karaoke-artist{font-size:14px;color:#ffffff80;font-style:italic}.karaoke-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.karaoke-duration-input{display:flex;align-items:center;gap:6px}.karaoke-duration-input label{font-size:12px;color:#fff9}.karaoke-duration-input input{width:60px;padding:4px 6px;font-size:13px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff1a;color:#fff;text-align:center}.karaoke-duration-input span{font-size:12px;color:#ffffff80}.karaoke-duration-input .btn-secondary{font-size:11px;padding:4px 8px}.karaoke-playback{display:flex;align-items:center;gap:8px}.btn-karaoke-play{width:40px;height:40px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-karaoke-play:hover{transform:scale(1.1)}.karaoke-playback .btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);font-size:14px;padding:4px 10px;border-radius:4px;cursor:pointer}.karaoke-time{font-size:14px;color:#ffffffb3;font-variant-numeric:tabular-nums;min-width:90px}.karaoke-progress-bar{width:120px;height:4px;background:#ffffff26;border-radius:2px;overflow:hidden}.karaoke-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;transition:width .1s linear}.karaoke-mode-buttons{display:flex;gap:8px}.karaoke-mode-buttons .btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);font-size:12px;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s}.karaoke-mode-buttons .btn-secondary:hover{background:#fff3}.karaoke-recording-active{background:#dc35454d!important;border-color:#dc3545!important;color:#ff6b6b!important;animation:karaoke-pulse 1.5s ease-in-out infinite}@keyframes karaoke-pulse{0%,to{opacity:1}50%{opacity:.7}}.karaoke-lyrics{flex:1;min-height:0;overflow-y:scroll;padding:0 10% 40px}.karaoke-line-break{height:32px}.karaoke-section-marker{font-size:16px;font-weight:700;color:#667eeab3;text-transform:uppercase;letter-spacing:2px;padding:20px 0 8px}.karaoke-line{padding:12px 16px;margin-bottom:12px;border-radius:8px;transition:all .3s ease;position:relative}.karaoke-line-active{background:#667eea26;transform:scale(1.02)}.karaoke-line-active .karaoke-source{font-size:32px;color:gold;font-weight:600;-webkit-text-stroke:1px #999;paint-order:stroke fill;text-shadow:0 0 18px rgba(255,215,0,.45)}.karaoke-line-active .karaoke-translation{font-size:18px;color:#fffc}.karaoke-line-past .karaoke-source{font-size:24px;color:#ffffff4d}.karaoke-line-past .karaoke-translation{font-size:14px;color:#ffffff26}.karaoke-line-future .karaoke-source{font-size:24px;color:#ffffff80}.karaoke-line-future .karaoke-translation{font-size:14px;color:#ffffff40}.karaoke-source{line-height:1.6;transition:font-size .3s ease,color .3s ease}.karaoke-translation{margin-top:4px;line-height:1.5;transition:font-size .3s ease,color .3s ease}.karaoke-timestamp{position:absolute;right:16px;top:12px;font-size:11px;color:#ffffff40;font-variant-numeric:tabular-nums}.karaoke-line-clickable{cursor:pointer}.karaoke-line-clickable:hover{background:#dc35451a}.karaoke-floating-timer{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:10px 0;margin-bottom:20px;background:#0a0a0ff7;border-bottom:1px solid rgba(255,255,255,.1)}.karaoke-float-play{width:28px;height:28px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s}.karaoke-float-play:hover{transform:scale(1.1)}.karaoke-float-time{font-size:13px;color:#fff9;font-variant-numeric:tabular-nums;min-width:36px;text-align:center;flex-shrink:0}.karaoke-float-progress{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;min-width:80px}.karaoke-float-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;transition:width .1s linear}.karaoke-emphasis-selector{display:flex;gap:2px;background:#ffffff14;border-radius:4px;padding:2px}.karaoke-emphasis-selector button{padding:4px 10px;font-size:11px;font-weight:600;border:none;border-radius:3px;background:transparent;color:#ffffff80;cursor:pointer;transition:all .2s}.karaoke-emphasis-selector button:hover{color:#fffc}.karaoke-emphasis-selector button.active{background:#ffffff26;color:#fff}.karaoke-aligned-lyrics{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.karaoke-aligned-word{display:inline-flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2}.karaoke-aligned-word ruby{ruby-align:center}.karaoke-aligned-word.emphasize-furigana rt{font-size:1em;font-weight:700;letter-spacing:.05em}.karaoke-aligned-word.emphasize-furigana .word-japanese{font-weight:400;opacity:.5}.karaoke-aligned-word.emphasize-furigana .word-romaji{opacity:.3}.karaoke-aligned-word.emphasize-kanji .word-japanese{font-weight:700}.karaoke-aligned-word.emphasize-kanji rt{font-size:.45em;opacity:.5}.karaoke-aligned-word.emphasize-kanji .word-romaji{opacity:.3}.karaoke-aligned-word.emphasize-romaji .word-japanese{font-weight:400;opacity:.4}.karaoke-aligned-word.emphasize-romaji rt{font-size:.45em;opacity:.3}.karaoke-aligned-word.emphasize-romaji .word-romaji{font-weight:700;font-style:normal;opacity:1}.karaoke-line-active .karaoke-aligned-word .word-japanese{font-size:32px;line-height:2}.karaoke-line-active .karaoke-aligned-word .word-romaji{font-size:14px}.karaoke-line-active .karaoke-aligned-word rt{color:#fff9}.karaoke-line-active .karaoke-aligned-word.emphasize-kanji .word-japanese{color:gold;-webkit-text-stroke:1px #999;paint-order:stroke fill;text-shadow:0 0 12px rgba(255,215,0,.4)}.karaoke-line-active .karaoke-aligned-word.emphasize-kanji .word-romaji{color:#ffffff8c}.karaoke-line-active .karaoke-aligned-word.emphasize-furigana rt{color:gold;-webkit-text-stroke:1px #999;paint-order:stroke fill;text-shadow:0 0 12px rgba(255,215,0,.4);font-size:32px;font-weight:700;opacity:1}.karaoke-line-active .karaoke-aligned-word.emphasize-furigana .word-japanese{font-size:18px;color:#ffffff8c;opacity:1}.karaoke-line-active .karaoke-aligned-word.emphasize-furigana .word-romaji{font-size:12px;color:#ffffff59}.karaoke-line-active .karaoke-aligned-word.emphasize-romaji .word-romaji{color:gold;-webkit-text-stroke:1px #999;paint-order:stroke fill;text-shadow:0 0 12px rgba(255,215,0,.4);font-size:36px;font-weight:700;font-style:normal;opacity:1;line-height:1.4}.karaoke-line-active .karaoke-aligned-word.emphasize-romaji .word-japanese{font-size:16px;color:#fff6;line-height:1.2}.karaoke-line-active .karaoke-aligned-word.emphasize-romaji rt{font-size:.35em;color:#ffffff4d}.karaoke-line-past .karaoke-aligned-word .word-japanese{font-size:22px}.karaoke-line-past .karaoke-aligned-word .word-romaji{font-size:11px}.karaoke-line-future .karaoke-aligned-word .word-japanese{font-size:22px}.karaoke-line-future .karaoke-aligned-word .word-romaji{font-size:11px}.karaoke-line-past .karaoke-aligned-word .word-japanese{color:#ffffff4d}.karaoke-line-past .karaoke-aligned-word .word-romaji{color:#ffffff26}.karaoke-line-future .karaoke-aligned-word .word-japanese{color:#ffffff80}.karaoke-line-future .karaoke-aligned-word .word-romaji{color:#ffffff40}.karaoke-line-active .karaoke-source:has(.karaoke-aligned-lyrics),.karaoke-line-past .karaoke-source:has(.karaoke-aligned-lyrics),.karaoke-line-future .karaoke-source:has(.karaoke-aligned-lyrics){font-size:inherit}.lyrics2{max-width:1100px;margin:0 auto;padding:20px}.lyrics2-direction-toggle{display:flex;gap:4px;margin-bottom:16px;padding:4px;background:var(--glass-bg-light);border-radius:var(--radius-pill);justify-content:center;border:1px solid var(--glass-border)}.lyrics2-direction-toggle button{padding:8px 18px;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.lyrics2-direction-toggle button:hover{background:#ffffff80;color:var(--text-primary)}.lyrics2-direction-toggle button.active{background:var(--btn-primary);color:#fff;box-shadow:0 2px 8px #1391a24d}.lyrics2-aligned-en{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.lyrics2-aligned-word-en{display:inline-flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2}.lyrics2-word-katakana{font-size:14px;color:var(--accent-blue);font-weight:500;margin-bottom:2px;white-space:nowrap}.lyrics2-word-english{font-size:18px;font-weight:500;color:var(--text-primary)}.lyrics2-input-header h2{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--text-primary)}.lyrics2-subtitle{margin:0 0 20px;font-size:14px;color:var(--text-muted)}.lyrics2-metadata{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px}.lyrics2-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.lyrics2-field input,.lyrics2-field select{width:100%;padding:8px 10px;font-size:14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-light);color:var(--text-primary)}.lyrics2-inputs-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.lyrics2-textarea-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.lyrics2-textarea-group .required{color:#dc3545}.lyrics2-textarea-group .optional{font-weight:400;color:var(--text-muted)}.lyrics2-textarea-group textarea{width:100%;padding:12px;font-size:14px;line-height:1.6;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg-light);color:var(--text-primary);resize:vertical;font-family:inherit;white-space:pre-wrap}.lyrics2-actions{display:flex;gap:12px;align-items:center}.lyrics2-skip-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #aaa);cursor:pointer;-webkit-user-select:none;user-select:none}.lyrics2-skip-checkbox input[type=checkbox]{cursor:pointer;margin:0}.lyrics2-translating{display:flex;flex-direction:column;gap:20px}.lyrics2-progress-container{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:8px}.lyrics2-progress-container h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.lyrics2-spinner{width:20px;height:20px;border:2px solid var(--glass-border);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lyrics2-error{color:#dc3545;margin:0}.lyrics2-preview{display:flex;flex-direction:column;gap:6px}.lyrics2-line-break{height:16px}.lyrics2-section-marker,.lyrics2-review-section-marker{font-size:14px;font-weight:700;color:var(--accent-blue);text-transform:uppercase;letter-spacing:1px;padding:12px 0 4px}.lyrics2-preview-line{display:flex;align-items:baseline;gap:16px;padding:4px 8px;border-radius:4px;opacity:.5;transition:opacity .3s}.lyrics2-preview-line.done{opacity:1}.lyrics2-preview-source{font-size:16px;color:var(--text-primary);font-weight:500;min-width:40%}.lyrics2-preview-translation{font-size:14px;color:var(--text-secondary)}.lyrics2-review{display:flex;flex-direction:column;gap:16px}.lyrics2-review-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:2px solid var(--glass-border);flex-wrap:wrap;gap:12px}.lyrics2-review-header h2{margin:0;font-size:22px;font-weight:700;color:var(--text-primary)}.lyrics2-artist{font-size:15px;color:var(--text-muted);font-style:italic}.lyrics2-review-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lyrics2-bulk-select{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.lyrics2-choice-btn{padding:4px 10px;font-size:11px;font-weight:600;border:1px solid var(--glass-border);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.lyrics2-choice-btn:hover{background:var(--glass-bg-light)}.lyrics2-choice-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.lyrics2-review-lines{display:flex;flex-direction:column;gap:8px}.lyrics2-review-line{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff4d;transition:border-color .2s}.lyrics2-review-line:hover{border-color:var(--accent-blue)}.lyrics2-review-source{margin-bottom:4px}.lyrics2-source-text{font-size:18px;font-weight:500;color:var(--text-primary)}.lyrics2-translations{display:flex;gap:8px;flex-wrap:wrap}.lyrics2-translation-option{flex:1;min-width:200px;padding:8px 12px;border:2px solid transparent;border-radius:6px;background:var(--glass-bg-light);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:4px}.lyrics2-translation-option:hover{border-color:#1391a24d}.lyrics2-translation-option.selected{border-color:var(--accent-blue);background:#1391a214}.lyrics2-option-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.lyrics2-translation-option.selected .lyrics2-option-label{color:var(--accent-blue)}.lyrics2-option-text{font-size:14px;line-height:1.5;color:var(--text-primary)}.lyrics2-error-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#dc3545;color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:12px;z-index:100;box-shadow:0 4px 12px #0003}.lyrics2-error-bar p{margin:0;font-size:14px}.lyrics2-error-bar .btn-secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);font-size:12px;padding:4px 10px;border-radius:4px;cursor:pointer}.webfile-input-tabs{display:flex;gap:8px;margin-bottom:12px}.webfile-tab{padding:8px 20px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);border-radius:6px 6px 0 0;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s,color .15s}.webfile-tab:hover{background:var(--bg-tertiary);color:var(--text)}.webfile-tab.active{background:var(--bg-tertiary);color:var(--text);border-bottom-color:var(--bg-tertiary)}.webfile-url-pane{display:flex;gap:8px;align-items:stretch}.webfile-url-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text);font-size:14px;font-family:inherit}.webfile-url-input:focus{outline:none;border-color:var(--accent)}.webfile-drop-zone{border:2px dashed var(--border);border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;background:var(--bg-secondary);color:var(--text-muted);transition:background .15s,border-color .15s,color .15s}.webfile-drop-zone:hover,.webfile-drop-zone.active{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text)}.webfile-drop-zone p{margin:4px 0}.webfile-hint{font-size:12px;color:var(--text-muted)}.webfile-blocks-editor{margin:16px 0}.webfile-blocks-list{max-height:60vh;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);padding:8px;display:flex;flex-direction:column;gap:6px}.webfile-block-row{display:grid;grid-template-columns:56px 1fr 32px;gap:8px;align-items:start;padding:6px;background:var(--bg-tertiary);border-radius:4px}.webfile-block-type{font-family:monospace;font-size:11px;color:var(--text-muted);text-transform:uppercase;padding:4px 6px;background:var(--bg-secondary);border-radius:3px;text-align:center;align-self:start}.webfile-block-row.block-type-h1 .webfile-block-type,.webfile-block-row.block-type-h2 .webfile-block-type,.webfile-block-row.block-type-h3 .webfile-block-type{background:var(--accent);color:#fff}.webfile-block-text{width:100%;background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px;resize:vertical}.webfile-block-text:focus{outline:none;border-color:var(--accent)}.webfile-md-passthrough{margin:16px 0;padding:24px;background:var(--bg-secondary);border-radius:6px;text-align:center}.webfile-export-actions{position:relative}.webfile-export-menu-wrap{position:relative;display:inline-block}.webfile-export-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0000004d;display:flex;flex-direction:column;min-width:240px;z-index:50}.webfile-export-menu button{background:transparent;border:none;color:var(--text);text-align:left;padding:10px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border)}.webfile-export-menu button:last-child{border-bottom:none}.webfile-export-menu button:hover:not(:disabled){background:var(--bg-secondary)}.webfile-export-menu button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.workspace{display:grid;grid-template-columns:1fr 360px;gap:20px;padding:0 28px 28px;align-items:start}.workspace.no-inspector{grid-template-columns:1fr}@media(max-width:1100px){.workspace{grid-template-columns:1fr}}.main-col{display:flex;flex-direction:column;gap:18px;min-width:0}.workspace .row{display:flex;align-items:center;gap:8px}.workspace .col{display:flex;flex-direction:column;gap:8px}.workspace .between{display:flex;align-items:center;justify-content:space-between}.workspace .muted{color:var(--ink-500)}.workspace .tiny{font-size:11px}.workspace .divider{height:1px;background:var(--line-2)}.eyebrow{font-family:var(--font-label);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-400)}.workspace .chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;background:var(--paper-2);color:var(--ink-700);font-size:12px;letter-spacing:-.005em;border:1px solid var(--line-2);white-space:nowrap;flex-shrink:0}.workspace .chip.tone{background:#fff}.workspace .chip.tone .dot{width:6px;height:6px;border-radius:50%}.workspace .chip.detected{background:#e5f4ec;color:#1a6b48;border-color:#cbe6d6;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;text-transform:uppercase}.workspace .kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:4px;background:#fff;border:1px solid var(--line);font-family:var(--font-mono);font-size:10.5px;color:var(--ink-500)}.workspace .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink-900);height:36px;padding:0 14px;border-radius:999px;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.workspace .btn:hover{background:#fff}.workspace .btn:active{transform:translateY(1px)}.workspace .btn:disabled{opacity:.55;cursor:not-allowed}.workspace .btn.btn-primary{background:var(--teal-800);color:var(--ink-900);border-color:var(--teal-800);font-weight:500;box-shadow:0 1px #fff6 inset,0 6px 14px -6px #1f8a8873}.workspace .btn.btn-primary:hover{background:var(--teal-900);color:#fff}.workspace .btn.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-500)}.workspace .btn.btn-ghost:hover{background:var(--teal-025);color:var(--ink-900)}.workspace .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.workspace .card.elev{box-shadow:var(--shadow-md)}.context-bar{display:flex;align-items:center;gap:8px 12px;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.context-bar .ctx-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.context-bar .ctx-label{font-family:var(--font-label);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400);margin-right:4px}.context-bar .ctx-divider{width:1px;height:18px;background:var(--line);margin:0 4px}.ctx-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px 0 10px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink-700);font-size:12.5px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.ctx-chip:hover{background:#fff;border-color:var(--teal-300);color:var(--ink-900)}.ctx-chip.active{background:var(--teal-800);border-color:var(--teal-800);color:var(--ink-900);font-weight:500}.ctx-chip .ctx-icon{width:13px;height:13px;opacity:.85}.trans-card{display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}@media(max-width:800px){.trans-card{grid-template-columns:1fr}.trans-card .pane.source{border-right:0;border-bottom:1px solid var(--line-2)}}.trans-card .pane{padding:22px 26px 24px;display:flex;flex-direction:column;gap:16px;min-height:360px;position:relative}.trans-card .pane.source{border-right:1px solid var(--line-2)}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.trans-card select.lang-select{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;font-size:14px;color:var(--ink-900);font-weight:500;cursor:pointer;padding:4px 22px 4px 6px;border-radius:var(--r-sm);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%235d6e6c' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 4px center}.trans-card select.lang-select:hover{background-color:var(--teal-025)}.trans-card select.lang-select:focus{outline:none;background-color:var(--teal-025)}.pane-meta{display:flex;align-items:center;gap:8px}.trans-card .icon-btn,.inspector .icon-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:transparent;border:0;color:var(--ink-500);cursor:pointer;flex-shrink:0}.trans-card .icon-btn:hover,.inspector .icon-btn:hover{background:var(--teal-025);color:var(--ink-900)}.trans-card .icon-btn.active{color:var(--gold)}.trans-card .icon-btn svg,.inspector .icon-btn svg{width:16px;height:16px;display:block}.text-surface{position:relative;flex:1;min-height:120px;display:flex;flex-direction:column;gap:14px}.trans-card .source-textarea{width:100%;min-height:160px;padding:2px 0 0;border:0;border-radius:0;background:transparent;font-family:var(--font-jp),var(--font-serif);font-size:24px;line-height:1.55;color:var(--ink-900);resize:vertical;outline:none;letter-spacing:.005em}.trans-card .source-textarea::placeholder{font-family:var(--font-serif);font-style:italic;color:var(--ink-300);font-size:18px}.trans-card .source-textarea:focus{outline:none;border:0;box-shadow:none;background:transparent}.workspace .jp-text{font-family:var(--font-jp);font-weight:500;font-size:30px;line-height:1.85;letter-spacing:.02em;color:var(--ink-900)}.workspace .jp-text ruby{ruby-position:over}.workspace .jp-text rt{font-family:var(--font-jp-sans);font-weight:400;font-size:10px;color:var(--ink-400);letter-spacing:.02em}.workspace .jp-text .word{position:relative;cursor:pointer;border-radius:4px;padding:0 1px;transition:background .12s ease,color .12s ease}.workspace .jp-text .word:hover{background:var(--teal-100)}.workspace .jp-text .word.active{background:var(--teal-800);color:var(--ink-900)}.workspace .jp-text .word.active rt{color:var(--ink-700)}.workspace .jp-text .clickable-word{cursor:pointer;border-radius:4px;padding:0 1px;transition:background .12s ease}.workspace .jp-text .clickable-word:hover{background:var(--teal-100)}.workspace .romaji{font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--ink-400);letter-spacing:.01em;line-height:1.6}.workspace .en-text{font-family:var(--font-serif);font-size:26px;line-height:1.5;letter-spacing:-.015em;color:var(--ink-900)}.workspace .en-text .word{cursor:pointer;border-radius:4px;padding:0 1px;transition:background .12s ease,color .12s ease}.workspace .en-text .word:hover{background:var(--teal-100)}.workspace .en-text .word.active{background:var(--teal-800);color:var(--ink-900)}.workspace .placeholder{font-family:var(--font-serif);font-style:italic;font-size:20px;color:var(--ink-300)}.tone-card{border-top:1px solid var(--line-2);padding-top:14px;margin-top:auto;display:flex;flex-direction:column;gap:10px}.tone-card .tone-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tone-card .tone-meters{display:grid;grid-template-columns:80px 1fr auto;gap:6px 10px;font-size:11.5px;align-items:center;color:var(--ink-500)}.tone-card .tone-meters .label{font-family:var(--font-label);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.tone-card .tone-meters .val{text-align:right;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-700)}.tone-card .tone-meters .bar{height:4px;background:var(--paper-2);border-radius:999px;overflow:hidden;position:relative}.tone-card .tone-meters .bar>i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--teal-700);border-radius:inherit;display:block;transform-origin:left center}.tone-card .tone-summary{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-500)}.workspace .dot-serious{background:var(--plum)}.workspace .dot-introspective{background:#4a6c8a}.workspace .dot-poetic{background:var(--rose)}.workspace .dot-melancholic{background:#5a6b7e}.workspace .dot-reflective{background:#4a6c8a}.workspace .dot-neutral{background:var(--ink-400)}.workspace .dot-formal{background:var(--teal-700)}.workspace .dot-casual{background:var(--olive)}.workspace .dot-warm{background:var(--gold)}.retune{border-top:1px solid var(--line-2);padding-top:14px;display:flex;flex-direction:column;gap:10px}.retune-head{display:flex;align-items:center;justify-content:space-between}.retune-grid{display:grid;grid-template-columns:80px 1fr auto;gap:10px 12px;align-items:center}.retune-label{font-family:var(--font-label);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500)}.retune-val{text-align:right;font-family:var(--font-label);font-weight:500;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-700);white-space:nowrap}.retune-track{position:relative;height:24px;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.retune-track .line{position:absolute;top:11px;right:0;bottom:11px;left:0;height:2px;background:var(--paper-2);border-radius:999px;border:1px solid var(--line-2)}.retune-track .ticks{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between}.retune-track .ticks i{width:1px;height:6px;background:var(--line);display:block}.retune-track .fill{position:absolute;top:11px;height:2px;background:var(--teal-700);border-radius:999px;left:0}.retune-track .thumb{position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;border:1.5px solid var(--teal-700);box-shadow:0 1px 3px #0000001f;transform:translate(-50%);transition:transform 80ms ease}.retune-track .thumb:hover{transform:translate(-50%) scale(1.1)}.retune-track .anchor{position:absolute;top:11px;width:2px;height:8px;background:var(--ink-300);border-radius:1px;transform:translate(-50%,-3px)}.action-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm)}.action-bar .left,.action-bar .right{display:flex;align-items:center;gap:8px}.swap-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-700);transition:transform .25s ease,background .12s ease}.swap-btn:hover{transform:rotate(180deg);background:#fff}.swap-btn svg{width:16px;height:16px}.char-count{font-family:var(--font-mono);font-size:11px;color:var(--ink-400)}.char-count .num{color:var(--ink-700)}.history-rail{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:4px 0}.history-rail::-webkit-scrollbar{height:6px}.history-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.workspace .history-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:12px;color:var(--ink-500);cursor:pointer;font-family:var(--font-jp);white-space:nowrap}.workspace .history-pill:hover{background:#fff;color:var(--ink-900)}.workspace .history-pill .when{font-family:var(--font-mono);font-size:10px;color:var(--ink-300)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.section-head .title{font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:-.015em;color:var(--ink-900)}.section-head .sub{font-size:12px;color:var(--ink-500)}.scenario-summary{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-label);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500)}.scenario-summary .pip{width:7px;height:7px;border-radius:50%}.scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(max-width:800px){.scenarios{grid-template-columns:1fr}}.scenario{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:12.5px;position:relative;transition:border-color .12s ease,background .12s ease;cursor:pointer}.scenario:hover{border-color:var(--teal-300);background:#fff}.scenario .sc-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--paper-2);color:var(--ink-500)}.scenario .sc-icon svg{width:14px;height:14px}.scenario .sc-text{display:flex;flex-direction:column;min-width:0}.scenario .sc-label{color:var(--ink-900);font-weight:500;letter-spacing:-.005em}.scenario .sc-note{font-size:11px;color:var(--ink-500);margin-top:1px;line-height:1.4}.scenario .sc-fit{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-label);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border-radius:999px;white-space:nowrap}.scenario .sc-fit .dot{width:6px;height:6px;border-radius:50%}.scenario[data-fit=good] .sc-fit{background:#e5f4ec;color:#1a6b48}.scenario[data-fit=good] .sc-fit .dot{background:#2a8c5f}.scenario[data-fit=good] .sc-icon{background:#eaf5ee;color:#2a8c5f}.scenario[data-fit=ok] .sc-fit{background:#faf2e1;color:#8a6420}.scenario[data-fit=ok] .sc-fit .dot{background:#c09230}.scenario[data-fit=ok] .sc-icon{background:#f7ecd1;color:#8a6420}.scenario[data-fit=avoid] .sc-fit{background:#f7e3e6;color:#8a3848}.scenario[data-fit=avoid] .sc-fit .dot{background:#b94a5e}.scenario[data-fit=avoid] .sc-icon{background:#f5dde1;color:#8a3848}.alts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.alts{grid-template-columns:1fr}}.alt-card{padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;gap:10px;position:relative;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease;cursor:pointer}.alt-card:hover{border-color:var(--teal-300);box-shadow:var(--shadow-md)}.alt-card.selected{border-color:var(--teal-700);box-shadow:0 0 0 3px var(--teal-100)}.alt-card .alt-meta{display:flex;align-items:center;justify-content:space-between}.alt-card .alt-tags{display:flex;gap:4px;flex-wrap:wrap}.alt-card .alt-text{font-family:var(--font-serif);font-size:17px;line-height:1.4;letter-spacing:-.01em;color:var(--ink-900)}.alt-card .alt-note{font-size:12px;color:var(--ink-500);line-height:1.5}.alt-card .alt-stat{display:flex;align-items:center;gap:6px;font-family:var(--font-label);font-weight:500;font-size:10px;color:var(--ink-400);text-transform:uppercase;letter-spacing:.16em;min-width:0}.alt-card .alt-stat span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alt-card .between{gap:10px}.inspector{position:sticky;top:18px;display:flex;flex-direction:column;gap:14px}.inspector-tabs{display:flex;gap:4px;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm)}.inspector-tabs button{flex:1;border:0;background:transparent;padding:7px 8px;border-radius:999px;font-size:12px;color:var(--ink-500);cursor:pointer}.inspector-tabs button[aria-selected=true]{background:var(--teal-100);color:var(--teal-900);font-weight:500}.inspector .card.panel{padding:18px 18px 20px;display:flex;flex-direction:column;gap:14px}.inspector .card.panel.collapsed{padding-bottom:14px;gap:0}.inspector .panel h3{margin:0;font-family:var(--font-serif);font-weight:500;font-size:16px;letter-spacing:-.01em}.inspector .panel .panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:0;background:transparent;border:0;cursor:pointer;color:inherit;text-align:left;font:inherit}.inspector .panel .panel-header:hover h3{color:var(--teal-900)}.inspector .panel .panel-caret{width:11px;height:7px;color:var(--ink-400);transition:transform .16s ease;flex-shrink:0}.inspector .panel .panel-caret.closed{transform:rotate(-90deg)}.inspector .panel .field{display:flex;flex-direction:column;gap:6px}.inspector .panel .label{font-family:var(--font-label);font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-400)}.inspector .panel select,.inspector .panel input[type=text]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--paper-2);border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;font-size:13px;color:var(--ink-900);width:100%;outline:none;transition:border-color .12s ease,background .12s ease}.inspector .panel select:focus,.inspector .panel input[type=text]:focus{border-color:var(--teal-700);background:#fff}.inspector .panel select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%235d6e6c' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}.toggle{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink-900)}.toggle .switch{position:relative;width:32px;height:18px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);cursor:pointer;transition:background .12s ease,border-color .12s ease}.toggle .switch:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;transition:transform .16s ease}.toggle .switch.on{background:var(--teal-700);border-color:var(--teal-700)}.toggle .switch.on:after{transform:translate(14px)}.gloss{padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--paper);display:flex;flex-direction:column;gap:8px}.gloss .gloss-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gloss .word-jp{font-family:var(--font-jp);font-size:24px;font-weight:500;letter-spacing:.02em;color:var(--ink-900)}.gloss .reading{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--ink-500)}.gloss .pos{font-family:var(--font-label);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-800);background:var(--teal-100);padding:3px 7px;border-radius:4px}.gloss .gloss-defs{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--ink-700)}.gloss .entry-tag{display:inline-block;font-family:var(--font-label);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);background:var(--paper-2);border:1px solid var(--line-2);border-radius:4px;padding:3px 6px;width:max-content}.suggestion{padding:12px 14px;background:var(--teal-025);border:1px solid var(--teal-100);border-radius:var(--r-md);display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;color:var(--ink-700);cursor:pointer;transition:background .12s ease}.suggestion:hover{background:var(--teal-100)}.suggestion .bullet{color:var(--teal-700);flex-shrink:0;margin-top:3px}.suggestion .arrow{color:var(--teal-700);opacity:0;margin-left:auto;transition:opacity .12s ease}.suggestion:hover .arrow{opacity:1}.workspace .error-message{padding:10px 14px;background:#f7e3e6;border:1px solid #f1cdd2;border-radius:12px;color:#8a3848;font-size:13px}.quick-translate-container{padding:0;gap:0;display:block}.quick-translate-layout{display:contents}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 16px;margin-bottom:8px;border-bottom:1px solid var(--line, var(--glass-border))}.mode-switcher .tab-strip .tab-link{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:0;background:transparent;border-radius:999px;font-size:13px;letter-spacing:-.005em;color:var(--ink-500);text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.mode-switcher .tab-strip .tab-link:hover{color:var(--ink-900);background:var(--teal-025)}.labs-index{max-width:1000px;margin:0 auto;padding:24px 20px}.labs-header{text-align:center;margin-bottom:32px}.labs-header h1{margin:0;font-size:30px;font-weight:700;color:var(--text-primary, var(--ink-900))}.labs-subtitle{margin:6px 0 0;color:var(--text-muted, var(--ink-500));font-size:14px}.labs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.labs-card{display:flex;flex-direction:column;gap:10px;padding:24px;background:var(--paper, rgba(255, 255, 255, .6));border:1px solid var(--line, var(--glass-border));border-radius:12px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.labs-card:hover{transform:translateY(-2px);border-color:var(--teal-800, var(--accent-blue));box-shadow:0 8px 24px #1f8a8826}.labs-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--teal-025, rgba(19, 145, 162, .08));border-radius:10px;color:var(--teal-800, var(--accent-blue))}.labs-card-icon svg{width:24px;height:24px}.labs-card h2{margin:4px 0 0;font-size:20px;font-weight:700}.labs-card p{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary, var(--ink-700))}.labs-card-tags{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.labs-card-tags li{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted, var(--ink-500));background:var(--glass-bg-light, rgba(255, 255, 255, .5));padding:3px 8px;border-radius:999px;border:1px solid var(--glass-border, var(--line))}.brand-bar-actions{display:inline-flex;align-items:center;gap:12px}.benchmarks-back{font-size:13px;color:var(--text-muted, var(--ink-500));text-decoration:none;padding:4px 10px;border-radius:6px;transition:background .15s,color .15s}.benchmarks-back:hover{background:var(--teal-025, rgba(19, 145, 162, .08));color:var(--text-primary, var(--ink-900))}body.cast-receiver{background:#000;cursor:none;margin:0;padding:0;overflow:hidden}body.cast-receiver #root{background:#000;min-height:100vh}.cast-receiver-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;color:#fff;display:flex;flex-direction:column;padding:4vh 6vw;overflow:hidden}.cast-receiver-header{text-align:center;margin-bottom:2vh;flex-shrink:0}.cast-receiver-header h1{font-size:clamp(28px,3.5vw,56px);margin:0;color:#fff;font-weight:600}.cast-receiver-header span{display:block;font-size:clamp(16px,1.6vw,24px);color:#fff9;margin-top:.5vh}.cast-receiver-lyrics{flex:1;overflow:hidden;text-align:center}body.cast-receiver .karaoke-line{padding:1.5vh 2vw;margin-bottom:1.5vh}body.cast-receiver .karaoke-line-active .karaoke-source{font-size:clamp(36px,4.5vw,80px)}body.cast-receiver .karaoke-line-past .karaoke-source,body.cast-receiver .karaoke-line-future .karaoke-source{font-size:clamp(20px,2.4vw,40px)}body.cast-receiver .karaoke-line-active .karaoke-aligned-word .word-japanese{font-size:clamp(36px,4.5vw,80px)}body.cast-receiver .karaoke-line-active .karaoke-aligned-word .word-romaji{font-size:clamp(16px,1.6vw,28px)}body.cast-receiver .karaoke-line-past .karaoke-aligned-word .word-japanese,body.cast-receiver .karaoke-line-future .karaoke-aligned-word .word-japanese{font-size:clamp(22px,2.8vw,44px)}body.cast-receiver .karaoke-line-active .karaoke-translation{font-size:clamp(18px,2vw,32px)}body.cast-receiver .karaoke-line-past .karaoke-translation,body.cast-receiver .karaoke-line-future .karaoke-translation{font-size:clamp(12px,1.2vw,20px)}.cast-receiver-idle{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;color:#fff;display:flex;align-items:center;justify-content:center}.cast-receiver-idle-inner{text-align:center;padding:4vh}.cast-receiver-idle h1{font-size:clamp(32px,4vw,64px);margin:0 0 2vh;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:transparent}.cast-receiver-idle p{font-size:clamp(18px,2vw,28px);color:#fff9;margin:0}.btn-secondary.karaoke-cast-active{background:#667eea40;color:#fff;border-color:#667eea99}.auth-gate{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:32px 16px}.auth-gate-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--ink-400);font-size:13px}.auth-gate-card{max-width:380px;text-align:center;padding:32px 28px;background:var(--glass-bg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md)}.auth-gate-card h1{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px;color:var(--ink-900)}.auth-gate-card p{color:var(--ink-500);font-size:13px;margin:0 0 20px}.auth-gate-button{display:inline-block;padding:9px 18px;background:var(--teal-900);color:#fff;border-radius:999px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s}.auth-gate-button:hover{background:var(--teal-800)}.auth-badge{position:relative;display:inline-flex;align-items:center}.auth-badge-loading{width:28px;height:28px;border-radius:999px;background:var(--teal-025)}.auth-badge-signin{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;font-size:12px;color:var(--ink-500);text-decoration:none;border:1px solid var(--line);transition:background .15s,color .15s,border-color .15s}.auth-badge-signin:hover{background:var(--teal-025);color:var(--ink-900);border-color:var(--teal-300)}.auth-badge-button{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--glass-bg);cursor:pointer;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,transform .15s}.auth-badge-button:hover{border-color:var(--teal-300)}.auth-badge-button img{width:100%;height:100%;object-fit:cover;display:block}.auth-badge-initials{font-size:12px;font-weight:600;color:var(--teal-900)}.auth-badge-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:var(--glass-bg);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;z-index:100}.auth-badge-menu-user{padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:4px}.auth-badge-menu-name{font-size:13px;font-weight:500;color:var(--ink-900);line-height:1.3}.auth-badge-menu-email{font-size:11px;color:var(--ink-500);margin-top:2px;word-break:break-all}.auth-badge-menu-item{display:block;width:100%;text-align:left;padding:7px 10px;border:0;background:transparent;border-radius:6px;font-size:13px;color:var(--ink-700);cursor:pointer;transition:background .15s,color .15s}.auth-badge-menu-item:hover{background:var(--teal-025);color:var(--ink-900)}
