:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--bg-elev:#121722;--bg-elev-2:#182031;--line:#232c40;--text:#e9edf6;--muted:#95a0b8;--muted-2:#6b7690;--accent:#8fa2ff;--accent-strong:#6f86ff;--accent-soft:#8fa2ff24;--warm:#f3b46b;--danger:#ff8080;--ok:#7bd88f;--radius:16px;--shadow:0 18px 50px #00000073}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);background:radial-gradient(1000px 520px at 15% -10%, #6f86ff29, transparent 60%), radial-gradient(800px 420px at 100% 0%, #f3b46b14, transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.app{flex-direction:column;max-width:980px;min-height:100%;margin:0 auto;padding:0 18px 16px;display:flex}.app-loading{height:100%;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.app-header{z-index:5;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 2px 12px;display:flex;position:sticky;top:0}.brand{letter-spacing:.2px;align-items:center;gap:9px;font-size:15px;font-weight:650;display:flex}.brand-mark{background:conic-gradient(from 210deg,#8fa2ff,#f3b46b,#8fa2ff);border-radius:7px;width:20px;height:20px;box-shadow:0 0 18px #8fa2ff66}.tabs{border:1px solid var(--line);background:var(--bg-elev);border-radius:999px;gap:2px;padding:3px;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:12.5px;transition:background .12s,color .12s}.tab:hover{color:var(--text)}.tab.is-active{background:var(--accent);color:#0b0d12;font-weight:650}.app-main{flex:1;min-height:0;padding-top:16px}.app-footer{color:var(--muted-2);align-items:center;gap:8px;padding-top:14px;font-size:11.5px;display:flex}.dot{background:var(--muted-2);border-radius:50%;width:3px;height:3px}.spinner{border:2px solid #ffffff2e;border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.busy{background:var(--bg-elev-2);border:1px solid var(--line);box-shadow:var(--shadow);z-index:20;color:var(--text);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.notice{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;font-size:12.5px;display:flex}.notice.info{border-color:#8fa2ff59}.notice.warn{color:#ffd8a6;border-color:#f3b46b66}.notice.error{color:#ffb3b3;border-color:#ff808073}.notice-close{color:var(--muted);background:0 0;border:0;padding:0 2px;line-height:1}.source{flex-direction:column;gap:14px;padding-bottom:10px;display:flex}.source-hero h1{letter-spacing:-.6px;margin:6px 0 4px;font-size:28px;font-weight:680}.source-hero p{color:var(--muted);margin:0;font-size:13.5px}.source-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-card{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev);color:var(--text);align-items:center;gap:12px;padding:14px;transition:border-color .12s,transform .12s,background .12s;display:flex}.action-card:hover:not(:disabled){background:var(--bg-elev-2);border-color:#8fa2ff80;transform:translateY(-1px)}.action-card.primary{background:linear-gradient(160deg,#8fa2ff2e,#8fa2ff0a);border-color:#8fa2ff73}.action-card strong{font-size:13.5px;font-weight:620;display:block}.action-card em{color:var(--muted);margin-top:2px;font-size:11.8px;font-style:normal;display:block}.action-icon{width:34px;height:34px;color:var(--accent);background:#8fa2ff24;border-radius:11px;flex:none;place-items:center;font-size:16px;display:grid}.source-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.panel{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev);padding:14px}.panel h2{margin:0 0 4px;font-size:13px;font-weight:620}.panel p{margin:0 0 10px;font-size:12px}.muted{color:var(--muted)}.ghost-button{border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text);border-radius:10px;padding:7px 12px;font-size:12.5px;transition:border-color .12s,background .12s}.ghost-button:hover:not(:disabled){background:#8fa2ff1a;border-color:#8fa2ff80}.ghost-button:disabled{opacity:.45;cursor:not-allowed}.ghost-button.small{padding:4px 10px;font-size:11.5px}.ghost-button.danger{color:var(--danger);border-color:#ff80804d}.inline-form{gap:8px;display:flex}input[type=url],input[type=password],input[type=number],input[type=text],textarea,select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:10px;outline:none;padding:8px 10px;font-size:12.5px}input:focus,textarea:focus,select:focus{border-color:#8fa2ff99}textarea{resize:vertical;min-height:84px;margin-bottom:8px}.library h1,.settings h1{letter-spacing:-.4px;margin:4px 0 14px;font-size:22px}.section-head{justify-content:space-between;align-items:center;display:flex}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:#12172280;padding:36px 16px}.empty p{margin:2px 0}.library-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.library-item{border:1px solid var(--line);background:var(--bg-elev);border-radius:13px;align-items:stretch;gap:6px;display:flex;overflow:hidden}.library-item:hover{border-color:#8fa2ff59}.library-open{text-align:left;color:var(--text);background:0 0;border:0;flex-direction:column;flex:1;gap:4px;min-width:0;padding:11px 13px;display:flex}.library-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.library-meta{color:var(--muted);font-size:11.5px}.library-progress{background:#ffffff14;border-radius:999px;height:4px;margin-top:3px;overflow:hidden}.library-progress span{background:linear-gradient(90deg, var(--accent), var(--warm));height:100%;display:block}.icon-button{color:var(--muted-2);background:0 0;border:0;padding:0 12px;font-size:12px}.icon-button.danger:hover{color:var(--danger)}.player{border:1px solid var(--line);background:radial-gradient(600px 200px at 0% 0%, #8fa2ff1f, transparent 60%), var(--bg-elev);border-radius:18px;padding:16px;box-shadow:0 10px 40px #00000040}.player-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.player-title{letter-spacing:-.2px;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:650;display:-webkit-box;overflow:hidden}.player-source{color:var(--muted);margin:3px 0 0;font-size:11.5px}.status-pill{text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--line);color:var(--muted);background:var(--bg);border-radius:999px;flex:none;padding:3px 9px;font-size:10.5px}.status-pill.playing{color:var(--ok);border-color:#7bd88f66}.status-pill.loading{color:var(--warm);border-color:#f3b46b66}.status-pill.error{color:var(--danger);border-color:#ff808066}.player-error{color:#ffc4c4;background:#ff808014;border:1px solid #ff808059;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;font-size:12px;display:flex}.current-sentence{letter-spacing:-.1px;color:#f2f5fc;min-height:52px;margin:14px 0 10px;font-size:17px;line-height:1.52}.player-progress{width:100%;margin:0}.progress-labels{color:var(--muted-2);justify-content:space-between;margin-top:4px;font-size:10.5px;display:flex}.player-transport{justify-content:center;align-items:center;gap:10px;margin:8px 0 14px;display:flex}.transport-button{border:1px solid var(--line);background:var(--bg);width:38px;height:38px;color:var(--muted);border-radius:50%;font-size:14px;transition:color .12s,border-color .12s}.transport-button:hover{color:var(--text);border-color:#8fa2ff80}.play-button{background:linear-gradient(150deg, var(--accent), var(--accent-strong));color:#0a0c12;border:0;border-radius:50%;width:58px;height:58px;font-size:19px;transition:transform .12s;box-shadow:0 10px 30px #6f86ff59}.play-button:hover{transform:scale(1.04)}.play-button:active{transform:scale(.98)}.player-controls{flex-wrap:wrap;gap:8px;display:flex}.control{flex-direction:column;flex:1;gap:4px;min-width:86px;display:flex}.control.grow{flex:2;min-width:140px}.control span{color:var(--muted-2);text-transform:uppercase;letter-spacing:.4px;font-size:10.5px}.player-hint{color:var(--muted-2);margin:10px 0 0;font-size:11px}input[type=range]{appearance:none;background:0 0;height:18px}input[type=range]::-webkit-slider-runnable-track{background:#ffffff1f;border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border-radius:50%;width:13px;height:13px;margin-top:-4.5px;box-shadow:0 0 0 3px #8fa2ff2e}.sentences{border:1px solid var(--line);background:var(--bg-elev);border-radius:16px;margin-top:12px;overflow:hidden}.sentences-inner{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:46vh;padding:8px;overflow-y:auto}.sentence{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:9px;padding:7px 10px;font-size:13.2px;line-height:1.55;transition:color .12s,background .12s;display:block}.sentence:hover{color:var(--text);background:#ffffff08}.sentence.is-active{color:var(--text);background:var(--accent-soft);border-left-color:var(--accent)}.sentence-more{border:1px dashed var(--line);color:var(--muted);background:0 0;border-radius:8px;margin:6px auto;padding:6px 12px;font-size:11.5px;display:block}.settings{flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.settings-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:14px}.settings-section h2{margin:0 0 10px;font-size:13px;font-weight:650}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:5px;font-size:12px;display:flex}.field.narrow{max-width:220px;margin-top:10px}.field>span{color:var(--muted);font-size:11.5px}.hint{color:var(--muted-2);margin:10px 0 0;font-size:11.5px;line-height:1.55}.hint.small{margin-top:6px}.check{color:var(--text);align-items:center;gap:9px;padding:5px 0;font-size:12.5px;display:flex}.check input{width:15px;height:15px;accent-color:var(--accent)}.row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.row.links a{font-size:12px}.saved-tag{color:var(--ok);font-size:11.5px}.key-dot{background:var(--muted-2);opacity:.4;border-radius:50%;width:8px;height:8px;margin-left:auto}.key-dot.on{background:var(--ok);opacity:1;box-shadow:0 0 8px #7bd88f80}.about p{margin:0}@media (max-width:560px){.app{padding:0 12px 12px}.app-header{padding-top:10px}.source-hero h1{font-size:23px}.source-actions,.source-grid,.field-grid{grid-template-columns:1fr}.tabs{padding:2px}.tab{padding:6px 9px}.current-sentence{font-size:16px}}
