:root{--bg: #080c18;--bg2: #0d1220;--surface: rgba(255,255,255,.025);--surface2: rgba(255,255,255,.04);--border: rgba(255,255,255,.07);--border-hi: rgba(255,255,255,.12);--text: #e0e8f0;--text2: #9ab0c4;--muted: #2a4a66;--muted-hi: #4a7090;--accent: #7eb8d4;--accent-fg: #080c18;--shadow-sm: 0 2px 8px rgba(0,0,0,.4);--shadow-md: 0 4px 20px rgba(0,0,0,.55);--shadow-lg: 0 8px 36px rgba(0,0,0,.7);--radius-icon: 18px;--radius-card: 12px;--font-mono: "DM Mono", "Courier New", monospace;--font-display:"Bebas Neue", sans-serif}[data-theme=light]{--bg: #eef3f9;--bg2: #e4ecf5;--surface: rgba(255,255,255,.7);--surface2: rgba(255,255,255,.9);--border: rgba(60,100,160,.12);--border-hi: rgba(60,100,160,.22);--text: #0c1a2e;--text2: #2a4a6a;--muted: #6a90b0;--muted-hi: #4a7090;--accent: #2a78b8;--accent-fg: #ffffff;--shadow-sm: 0 2px 8px rgba(40,80,140,.1);--shadow-md: 0 4px 20px rgba(40,80,140,.14);--shadow-lg: 0 8px 36px rgba(40,80,140,.18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);min-height:100dvh;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}.home{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse 120% 60% at 50% 0%,var(--bg2) 0%,transparent 70%),var(--bg)}.home-content{flex:1;padding:3rem 1.5rem 4rem}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);row-gap:1.8rem;column-gap:.5rem;max-width:340px;margin:0 auto}@media (min-width: 500px){.app-grid{max-width:420px}}.app-tile{display:flex;flex-direction:column;align-items:center;gap:.45rem;cursor:pointer}.app-tile:active .app-icon{transform:scale(.88)}.app-icon{width:68px;height:68px;border-radius:var(--radius-icon);display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:var(--shadow-md);transition:transform .12s ease,box-shadow .12s ease;will-change:transform;-webkit-user-select:none;user-select:none;border:1px solid var(--border)}.app-tile:hover .app-icon{transform:scale(1.06);box-shadow:var(--shadow-lg)}.app-label{font-size:.62rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi);text-align:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{display:flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.35rem .75rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--border-hi);color:var(--text2)}.page{min-height:100dvh;background:radial-gradient(ellipse 140% 50% at 50% 0%,var(--bg2) 0%,transparent 65%),var(--bg);display:flex;flex-direction:column}.page-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.page-header-left{display:flex;align-items:center;gap:.75rem}.back-btn{display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-family:var(--font-mono);font-weight:500;letter-spacing:.08em;color:var(--accent);border:none;background:none;cursor:pointer;padding:.3rem .5rem;border-radius:8px;transition:background .15s}.back-btn:hover{background:var(--surface2)}.page-header-title{font-size:.72rem;font-family:var(--font-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text2)}.page-body{flex:1;padding:2rem 1.5rem;max-width:540px;margin:0 auto;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem;box-shadow:var(--shadow-sm)}.wheels-row{display:flex;justify-content:center;margin-bottom:1.5rem}.wheel-col{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1}.wheel-outer{position:relative;height:220px;width:100%;overflow:hidden}.wheel-scroller{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wheel-scroller::-webkit-scrollbar{display:none}.wheel-item{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:1.75rem;font-weight:300;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);-webkit-user-select:none;user-select:none}.wheel-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--bg) 0%,transparent 28%,transparent 72%,var(--bg) 100%);pointer-events:none}.wheel-selector{position:absolute;top:50%;left:12px;right:12px;height:44px;transform:translateY(-50%);border-top:1px solid var(--border-hi);border-bottom:1px solid var(--border-hi);pointer-events:none}.wheel-label{font-size:.62rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi)}.timer-ring-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}.timer-ring{position:relative;width:200px;height:200px}.ring-track{fill:none;stroke:var(--surface2);stroke-width:10}.ring-progress{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.ring-time{font-size:2.4rem;font-weight:300;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text);font-variant-numeric:tabular-nums}.ring-done{font-size:.65rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#5a9e6a}.timer-controls{display:flex;justify-content:center;gap:.75rem;margin-top:.25rem}.btn{padding:.55rem 1.4rem;border-radius:8px;border:1px solid var(--border-hi);font-size:.7rem;font-family:var(--font-mono);font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .15s,transform .1s,border-color .15s;background:var(--surface2);color:var(--text2)}.btn:hover{background:var(--surface);border-color:var(--border-hi);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 26%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;transform:none}.notes-input-row{display:flex;gap:.6rem;margin-bottom:1.25rem}.notes-input{flex:1;padding:.65rem .9rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-family:var(--font-mono);font-size:.82rem;outline:none;transition:border-color .15s}.notes-input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.notes-input::placeholder{color:var(--muted-hi)}.notes-list{display:flex;flex-direction:column;gap:.5rem}.note-item{display:flex;align-items:flex-start;gap:.75rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.8rem 1rem;animation:slide-in .15s ease}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.note-text{flex:1;font-size:.82rem;font-family:var(--font-mono);line-height:1.5;color:var(--text);word-break:break-word}.note-time{font-size:.6rem;font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted-hi);white-space:nowrap;margin-top:.2rem}.note-del{border:none;background:none;color:var(--muted-hi);cursor:pointer;font-size:1rem;padding:.1rem .3rem;border-radius:6px;transition:color .15s,background .15s;flex-shrink:0}.note-del:hover{color:#c0392b;background:#c0392b1a}.notes-empty{text-align:center;color:var(--muted-hi);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.08em;padding:2rem 0}.pdfquiz-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.pdfquiz-viewer{flex:1;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg2)}.pdfquiz-content{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;will-change:transform}.pdfquiz-viewer .react-pdf__Document{display:flex;flex-direction:column;align-items:center;width:100%}.pdfquiz-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;color:var(--muted-hi);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;min-height:200px}.pdfquiz-placeholder:active{opacity:.6}.pdfquiz-placeholder-icon{font-size:2.8rem}.pdfquiz-loading{padding:3rem;color:var(--muted-hi);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.pdfquiz-page-wrap{width:100%;border-bottom:2px solid var(--border)}.pdf-library{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.pdf-library-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--muted-hi);font-family:DM Mono,Courier New,monospace;font-size:.95rem}.pdf-library-list{display:flex;flex-direction:column;gap:.6rem}.pdf-library-card{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;cursor:pointer;transition:opacity .15s;-webkit-user-select:none;user-select:none}.pdf-library-card:active{opacity:.6}.pdf-card-icon{font-size:1.6rem;flex-shrink:0}.pdf-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.pdf-card-name{font-family:DM Mono,Courier New,monospace;font-size:.9rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-card-meta{font-family:DM Mono,Courier New,monospace;font-size:.75rem;color:var(--muted-hi)}.pdf-card-delete{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.4rem;color:var(--muted-hi);border-radius:6px;transition:color .15s,background .15s;line-height:1}.pdf-card-delete:hover,.pdf-card-delete:active{color:#e05a5a;background:#e05a5a1f}.pdf-add-btn{align-self:center;margin-top:.5rem;padding:.65rem 2rem;background:var(--accent);color:#080c18;border:none;border-radius:8px;font-family:DM Mono,Courier New,monospace;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.pdf-add-btn:active{opacity:.7}.pdfquiz-row{display:flex;align-items:stretch;min-height:100%}.pdf-sidebar{width:44px;flex-shrink:0;position:sticky;right:0;align-self:stretch;background:var(--surface);border-left:1px solid var(--border);cursor:crosshair;overflow:visible;z-index:10}.pdf-note-pin{position:absolute;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 1px 4px #0006;cursor:pointer;padding:0;transition:transform .1s,box-shadow .1s}.pdf-note-pin:active{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 2px 8px #00000080}.fc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px}.fc-card{width:100%;max-width:480px;min-height:260px;background:var(--surface);border:1px solid var(--border-hi);border-radius:16px;box-shadow:0 8px 32px #00000080;display:flex;align-items:stretch}.fc-face{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.5rem 1.5rem;text-align:center}.fc-badge{font-family:Bebas Neue,sans-serif;font-size:1.1rem;letter-spacing:.08em;padding:.2rem .7rem;border-radius:6px;background:var(--accent);color:#080c18;line-height:1.4}.fc-face-a .fc-badge{background:var(--border-hi);color:var(--text)}.fc-text{font-family:DM Mono,Courier New,monospace;font-size:1rem;color:var(--text);line-height:1.6;margin:0}.fc-hint{font-family:DM Mono,Courier New,monospace;font-size:.75rem;color:var(--muted-hi);margin-top:auto}.note-form-field{width:100%;box-sizing:border-box;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;font-family:DM Mono,Courier New,monospace;font-size:.9rem;color:var(--text);resize:none;outline:none;transition:border-color .15s;flex:1}.note-form-field:focus{border-color:var(--accent)}.note-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.note-form-btn{padding:.5rem 1.2rem;border-radius:8px;border:none;font-family:DM Mono,Courier New,monospace;font-size:.85rem;cursor:pointer;transition:opacity .15s}.note-form-btn:disabled{opacity:.35;cursor:default}.note-form-cancel{background:var(--bg2);color:var(--text2);border:1px solid var(--border)}.note-form-save{background:var(--accent);color:#080c18;font-weight:600}.note-form-btn:not(:disabled):active{opacity:.7}.header-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.header-options-anchor{position:relative}.header-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:transparent}.icon-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text2);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background .12s;flex-shrink:0}.icon-btn:active{background:var(--surface)}.header-toast{min-width:160px;background:var(--bg2);border:1px solid var(--border-hi);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden;z-index:100;animation:toast-in .12s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header-toast-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--text);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;transition:background .1s}.header-toast-item:active{background:var(--bg)}.header-toast-select-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem;border-bottom:1px solid var(--border)}.header-toast-select-label{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--muted-hi);white-space:nowrap}.header-toast-select{font-family:var(--font-mono);font-size:.78rem;background:var(--bg);color:var(--text);border:1px solid var(--border-hi);border-radius:6px;padding:.25rem .4rem;cursor:pointer}.header-toast-no-options{display:block;padding:.75rem 1rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--muted-hi)}.header-toast-info{padding:.5rem 1rem .65rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--muted-hi);text-transform:uppercase;border-top:1px solid var(--border)}.research-page{display:flex;flex-direction:column;gap:1rem}.research-search-bar{display:flex;gap:.6rem}.research-input{flex:1;padding:.7rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-family:var(--font-mono);font-size:.85rem;outline:none;transition:border-color .15s;font-size:max(16px,.85rem)}.research-input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.research-input::placeholder{color:var(--muted-hi)}.research-input::-webkit-search-cancel-button{filter:invert(.5);cursor:pointer}.research-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.research-sort{display:flex;align-items:center;gap:.5rem}.research-sort-label{font-size:.72rem;letter-spacing:.08em;color:var(--text2);text-transform:uppercase}.research-sort-select{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-family:var(--font-mono);font-size:.8rem;outline:none;cursor:pointer}.research-count{font-size:.72rem;letter-spacing:.08em;color:var(--muted-hi);text-transform:uppercase;white-space:nowrap}.research-source-note{font-size:.75rem;color:var(--text2);font-family:var(--font-mono);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.5rem .8rem}.research-error{font-size:.78rem;color:#e05a5a;font-family:var(--font-mono);background:#e05a5a14;border:1px solid rgba(224,90,90,.25);border-radius:8px;padding:.6rem .8rem}.research-loading,.research-empty{text-align:center;color:var(--muted-hi);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.08em;padding:2.5rem 0}.research-results{display:flex;flex-direction:column;gap:.85rem;padding-bottom:2rem}.paper-card{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem}.paper-card-header{display:flex;align-items:flex-start;gap:.75rem}.paper-title{flex:1;font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--text);line-height:1.45;margin:0}.paper-year{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);white-space:nowrap;padding-top:.1rem;flex-shrink:0}.paper-card-meta{font-size:.75rem;color:var(--text2);font-family:var(--font-mono);line-height:1.5}.paper-journal{color:var(--muted-hi)}.paper-doi-link{color:var(--accent);text-decoration:none}.paper-doi-link:hover{text-decoration:underline}.paper-card-metrics{display:flex;gap:1rem;font-size:.75rem;font-family:var(--font-mono);color:var(--text2)}.paper-card-metrics span{white-space:nowrap}.paper-abstract{font-size:.8rem;font-family:var(--font-mono);color:var(--text2);line-height:1.65;margin:0;border-top:1px solid var(--border);padding-top:.6rem}.paper-expand-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;cursor:pointer;padding:0;transition:opacity .15s}.paper-expand-btn:active{opacity:.6}.paper-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.2rem;border-top:1px solid var(--border);padding-top:.7rem}.paper-doi-btn{font-size:.78rem;padding:.45rem .9rem;color:var(--text2)}.paper-add-btn{font-size:.78rem;padding:.45rem .9rem}.paper-in-library{background:#5eb4781f!important;color:#5eb478!important;border-color:#5eb4784d!important;cursor:default!important}.paper-no-pdf{opacity:.35;cursor:not-allowed!important}.paper-upload-btn{font-size:.78rem;padding:.45rem .9rem;background:#7eb8d41f;color:var(--accent);border-color:#7eb8d44d}.paper-add-error{font-size:.73rem;color:#e05a5a;font-family:var(--font-mono);margin:0}.specs-page{max-width:720px;margin:0 auto}.specs-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.specs-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.2rem;cursor:pointer;text-align:left;width:100%;font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .15s,background .15s}.specs-card:hover{border-color:var(--accent);background:var(--surface2)}.specs-card-icon{font-size:1.4rem}.specs-card-label{flex:1;font-size:.95rem;color:var(--text1)}.specs-card-arrow{font-size:1.2rem;color:var(--text2)}.specs-content{padding-top:1rem;padding-bottom:2rem;padding-left:var(--sm-side, 1rem);padding-right:var(--sm-side, 1rem)}.specs-loading,.specs-error{font-size:.85rem;color:var(--text2);padding:1rem}.specs-markdown{color:var(--text1);font-size:var(--sm-fs, .88rem);line-height:var(--sm-lh, 1.65)}.specs-markdown h1{font-family:var(--font-display);font-size:var(--sm-h1, 1.8rem);margin:0 0 1rem;color:var(--accent)}.specs-markdown h2{font-size:var(--sm-h2, 1.05rem);margin:1.5rem 0 .5rem;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:.25rem}.specs-markdown h3{font-size:var(--sm-h3, .92rem);margin:1.2rem 0 .4rem;color:var(--text1)}.specs-markdown p{margin:0 0 var(--sm-pg, .75rem)}.specs-markdown ul,.specs-markdown ol{padding-left:var(--sm-li, 1.4rem);margin:0 0 var(--sm-pg, .75rem)}.specs-markdown li{margin-bottom:.25rem}.specs-markdown a{color:var(--accent);text-decoration:none}.specs-markdown a:hover{text-decoration:underline}.specs-markdown code{font-family:var(--font-mono);font-size:.82em;background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.specs-markdown pre{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;overflow-x:auto;margin:0 0 var(--sm-pg, .75rem)}.specs-markdown pre code{background:none;border:none;padding:0;font-size:.9em}.specs-markdown table{border-collapse:collapse;width:100%;margin:0 0 var(--sm-pg, .75rem);font-size:.9em}.specs-markdown th,.specs-markdown td{border:1px solid var(--border);padding:.4rem .65rem;text-align:left}.specs-markdown th{background:var(--surface2);color:var(--accent)}.specs-options-panel{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;min-width:240px;max-height:65vh;overflow-y:auto}.specs-slider-row{display:flex;flex-direction:column;gap:.2rem}.specs-slider-header{display:flex;justify-content:space-between;align-items:baseline}.specs-slider-label{font-size:.73rem;color:var(--text2)}.specs-slider-value{font-size:.73rem;color:var(--accent);font-variant-numeric:tabular-nums}.specs-slider{width:100%;accent-color:var(--accent);cursor:pointer;height:4px}.specs-section-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text2);margin-top:.25rem;padding-bottom:.2rem;border-bottom:1px solid var(--border)}.specs-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.specs-toggle-text{display:flex;flex-direction:column;gap:.1rem}.specs-toggle-desc{font-size:.65rem;color:var(--text2);font-family:var(--font-mono)}.specs-toggle-btn{font-size:.72rem;padding:.25rem .6rem;border-radius:6px;border:1px solid var(--border);background:none;color:var(--text2);cursor:pointer;flex-shrink:0;font-family:var(--font-mono);transition:background .1s,color .1s,border-color .1s}.specs-toggle-on{background:var(--accent)!important;color:#080c18!important;border-color:var(--accent)!important}.specs-hr{border:none;border-top:1px solid var(--border);margin:.75rem 0}.specs-anchor{font-size:.75em;color:var(--text2);text-decoration:none;margin-left:.3em;opacity:.4;transition:opacity .15s}.specs-anchor:hover{opacity:1}.specs-options-actions{display:flex;gap:.5rem;margin-top:.25rem}.specs-opt-action-btn{flex:1;font-size:.75rem;padding:.4rem .5rem;text-align:center}.specs-saved-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--accent);color:#080c18;font-size:.8rem;font-family:var(--font-mono);padding:.5rem 1.25rem;border-radius:20px;z-index:300;pointer-events:none}.opt-tabs{display:flex;gap:5px;margin-bottom:12px}.opt-tab{flex:1;padding:8px 4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text2);font-family:var(--font-mono);font-size:.72rem;cursor:pointer;transition:border-color .15s,color .15s}.opt-tab.active{border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.opt-sliders{display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin-bottom:12px}.opt-slider-row{display:grid;grid-template-columns:18px 1fr 52px;align-items:center;gap:10px}.opt-slider-lbl{font-size:.85rem;color:var(--text2);font-family:var(--font-mono);font-style:italic;text-align:center}.opt-slider-val{font-size:.78rem;color:var(--accent);font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.opt-slider-row input[type=range]{width:100%;accent-color:var(--accent);height:4px;cursor:pointer}.opt-badge{display:inline-block;padding:3px 12px;border-radius:99px;font-size:.72rem;font-family:var(--font-mono);font-weight:600;margin-bottom:8px}.opt-badge-deep-itm{background:#5ac85a1f;color:#5ac878;border:1px solid #5ac878}.opt-badge-itm{background:#7eb8d41f;color:var(--accent);border:1px solid var(--accent)}.opt-badge-atm{background:#e8b53a1f;color:#e8b53a;border:1px solid #e8b53a}.opt-badge-otm{background:#c870401f;color:#c87040;border:1px solid #c87040}.opt-badge-deep-otm{background:#c83c3c1f;color:#c84040;border:1px solid #c84040}.opt-intuition{font-size:.74rem;color:var(--text2);font-family:var(--font-mono);line-height:1.55;margin-bottom:12px}.opt-price-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.opt-price-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 10px;text-align:center}.opt-price-card-put{border-color:#c878a04d}.opt-price-label{font-size:.68rem;color:var(--text2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.opt-price-value{font-size:1.6rem;font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:4px}.opt-price-value-put{color:#c878a0}.opt-price-sub{font-size:.63rem;color:var(--text2);font-family:var(--font-mono)}.opt-pcp{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.76rem;padding:4px 0;border-bottom:1px solid var(--border)}.opt-pcp:last-child{border-bottom:none}.opt-pcp-label{color:var(--text2)}.opt-pcp-val{color:var(--accent);font-variant-numeric:tabular-nums}.opt-greeks{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.74rem}.opt-greeks th{text-align:left;color:var(--text2);padding:4px 6px;border-bottom:1px solid var(--border);font-weight:400;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.opt-greeks td{padding:5px 6px;border-bottom:1px solid var(--border);color:var(--text)}.opt-greeks tr:last-child td{border-bottom:none}.opt-td-val{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}.opt-td-neg{text-align:right;color:#c87070;font-variant-numeric:tabular-nums}.opt-chart-wrap{margin-bottom:10px}.opt-chart-title{font-size:.68rem;color:var(--text2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.opt-legend{display:flex;gap:12px;margin-top:5px;flex-wrap:wrap;align-items:center}.opt-legend-item{font-size:.68rem;font-family:var(--font-mono);color:var(--text2);display:flex;align-items:center;gap:4px}.opt-legend-line{width:14px;height:2px;border-radius:1px;display:inline-block;flex-shrink:0}.opt-insight{font-size:.73rem;color:var(--text2);font-family:var(--font-mono);line-height:1.55;margin:8px 0 14px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.opt-insight strong{color:var(--text)}.opt-type-toggle{display:flex;gap:6px;margin-bottom:10px}.opt-type-btn{flex:1;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text2);font-family:var(--font-mono);font-size:.77rem;cursor:pointer;transition:all .15s}.opt-type-btn.active{border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.opt-type-btn.active-put{border-color:#c878a099;color:#c878a0;background:#c878a014}.opt-sens-controls{display:flex;gap:8px;margin-bottom:12px}.opt-sens-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.fq-topics{display:flex;gap:.4rem;padding:.65rem 1.25rem;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);flex-shrink:0}.fq-topics::-webkit-scrollbar{display:none}.fq-pill{flex-shrink:0;padding:.28rem .65rem;border-radius:99px;border:1px solid var(--border);background:none;color:var(--muted-hi);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.fq-pill-active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.fq-progress{display:flex;flex-direction:column;gap:.3rem;padding:.6rem 1.25rem .4rem;flex-shrink:0}.fq-progress-bar{height:3px;background:var(--surface2);border-radius:99px;overflow:hidden}.fq-progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .35s ease}.fq-progress-text{font-size:.62rem;font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted-hi);text-transform:uppercase}.fq-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:1rem 1.25rem 2rem}.fq-card{width:100%;max-width:480px;border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;transition:background .25s,border-color .25s;-webkit-tap-highlight-color:transparent}.fq-card-revealed{border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.fq-card-q{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:1.5rem 1.5rem 1.25rem;text-align:center}.fq-card-a{border-top:1px solid var(--border);min-height:80px;display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent;max-height:45vh;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width: 640px){.fq-card-a{max-height:400px}}.fq-card-a:hover:not(.fq-card-a-revealed){background:color-mix(in srgb,var(--accent) 4%,transparent)}.fq-card-a-revealed{cursor:default;align-items:flex-start;justify-content:flex-start;background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.fq-reveal-hint{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--muted);text-align:center;-webkit-user-select:none;user-select:none}@keyframes fq-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fq-topic-badge{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:99px;padding:.18rem .65rem;flex-shrink:0}.fq-q-text{font-family:var(--font-mono);font-size:1rem;color:var(--text);line-height:1.55;margin:0;user-select:text;-webkit-user-select:text}.fq-q-text p{margin:0}.fq-a-text{font-family:var(--font-mono);font-size:.88rem;color:var(--text);line-height:1.7;margin:0;text-align:left;user-select:text;-webkit-user-select:text;width:100%}.fq-a-text p{margin:0 0 .5rem}.fq-a-text p:last-child{margin-bottom:0}.fq-a-text ul,.fq-a-text ol{margin:0 0 .5rem;padding-left:1.5em}.fq-a-text ul:last-child,.fq-a-text ol:last-child{margin-bottom:0}.fq-a-text li{margin-bottom:.2rem}.fq-a-text li:last-child{margin-bottom:0}.fq-a-text ul ul,.fq-a-text ol ol{margin:.15rem 0 0}.fq-a-text code{background:var(--surface2);border:1px solid var(--border);border-radius:3px;padding:.1em .3em;font-size:.9em}.fq-a-text pre{display:block;width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;margin:.5rem 0;overflow-x:auto;white-space:pre}.fq-a-text pre:last-child{margin-bottom:0}.fq-a-text pre code{background:none;border:none;border-radius:0;padding:0;font-size:.85em;white-space:pre}.fq-bucket-row{display:flex;align-items:center;gap:.5rem;width:100%;max-width:200px}.fq-bucket-bar{flex:1;height:4px;background:var(--surface2);border-radius:99px;overflow:hidden}.fq-bucket-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}.fq-bucket-label{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.08em;color:var(--muted-hi);white-space:nowrap}.fq-bucket-due{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.08em;color:var(--accent);white-space:nowrap;margin-left:auto}.fq-card-actions{display:flex;gap:1rem;align-items:center;justify-content:center}.fq-action-btn{background:none;border:none;color:var(--accent);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;cursor:pointer;padding:.2rem 0;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.fq-action-btn:active{opacity:.6}.fq-action-archive{color:#c94a4a}.fq-action-btn-active{color:var(--text);opacity:.9}.fq-card-area{display:flex;flex-direction:column;width:100%;max-width:480px}.fq-card-area-split{flex-direction:row;gap:.5rem;max-width:none;align-items:flex-start}.fq-card-area-split .fq-card{flex:1;min-width:0;max-width:none}.fq-add-panel{flex:1;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:hidden}.fq-add-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem .5rem;border-bottom:1px solid var(--border);flex-shrink:0}.fq-add-title{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi)}.fq-add-close{background:none;border:none;color:var(--muted-hi);font-size:.8rem;cursor:pointer;padding:.1rem .2rem;line-height:1;-webkit-tap-highlight-color:transparent}.fq-add-body{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .65rem .75rem;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:70vh}.fq-add-body .fq-edit-textarea,.fq-add-body .fq-edit-input{font-size:.75rem;padding:.5rem .6rem}.fq-add-body .fq-edit-ai-btn,.fq-add-body .fq-edit-actions .btn{font-size:.65rem;padding:.45rem}.fq-notes-toggle{background:none;border:none;color:var(--accent);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;cursor:pointer;padding:.2rem 0;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.fq-notes-toggle:active{opacity:.6}.fq-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:200;transition:background .28s ease;touch-action:none}.fq-sheet-overlay-visible{background:#0000008c}.fq-sheet{position:fixed;bottom:0;left:0;right:0;height:72vh;background:var(--surface2);border-top:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);will-change:transform;max-width:640px;margin:0 auto}.fq-sheet-visible{transform:translateY(0)}.fq-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--border);margin:10px auto 0;flex-shrink:0}.fq-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.1rem .6rem;border-bottom:1px solid var(--border);flex-shrink:0}.fq-sheet-section{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi)}.fq-sheet-close{background:none;border:none;color:var(--muted-hi);font-size:.9rem;cursor:pointer;padding:.2rem .3rem;line-height:1;-webkit-tap-highlight-color:transparent}.fq-sheet-body{flex:1;overflow-y:auto;padding:1rem 1.2rem 2rem;-webkit-overflow-scrolling:touch}.fq-sheet-loading{color:var(--muted-hi);font-family:var(--font-mono);font-size:.8rem;text-align:center;margin-top:2rem}.fq-notes-md{font-family:var(--font-mono);font-size:.82rem;line-height:1.7;color:var(--text)}.fq-notes-md h1,.fq-notes-md h2{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.04em;color:var(--text);margin:0 0 .6rem;text-transform:uppercase}.fq-notes-md h3,.fq-notes-md h4{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:1.2rem 0 .4rem}.fq-notes-md p{margin:0 0 .75rem}.fq-notes-md ul,.fq-notes-md ol{margin:0 0 .75rem;padding-left:1.4em}.fq-notes-md li{margin-bottom:.25rem}.fq-notes-md code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.88em}.fq-notes-md pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;overflow-x:auto;margin:.5rem 0 .9rem;font-size:.78rem;line-height:1.5}.fq-notes-md pre code{background:none;border:none;padding:0;font-size:1em}.fq-notes-md strong{color:var(--text)}.fq-notes-md em{color:var(--muted-hi);font-style:italic}.fq-notes-md hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.fq-notes-md table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem;font-size:.78rem}.fq-notes-md th,.fq-notes-md td{border:1px solid var(--border-hi);padding:.4rem .65rem;text-align:left}.fq-notes-md th{background:var(--surface);color:var(--accent);font-weight:400;letter-spacing:.05em}.fq-notes-md tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface) 50%,transparent)}.fq-edit-sheet{height:90vh}.fq-edit-body{display:flex;flex-direction:column;gap:.5rem}.fq-edit-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi);margin-bottom:-.15rem}.fq-edit-label-hint{text-transform:none;letter-spacing:0;font-size:.58rem;color:var(--muted)}.fq-edit-textarea,.fq-edit-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-mono);font-size:.82rem;line-height:1.6;padding:.65rem .8rem;resize:vertical;box-sizing:border-box;-webkit-appearance:none;transition:border-color .15s}.fq-edit-textarea:focus,.fq-edit-input:focus{outline:none;border-color:var(--accent)}.fq-edit-textarea::placeholder,.fq-edit-input::placeholder{color:var(--muted)}.fq-edit-answer{resize:vertical}.fq-edit-input{resize:none}.fq-edit-error{font-family:var(--font-mono);font-size:.72rem;color:#e05a5a;margin:0}.fq-edit-ai-btn{width:100%;margin-top:.25rem}.fq-edit-ai-btn:disabled{opacity:.45}.fq-edit-actions{display:flex;gap:.5rem;margin-top:.25rem}.fq-edit-actions .btn{flex:1}.fq-edit-discard{background:var(--surface);border:1px solid var(--border);color:var(--muted-hi)}.fq-bucket-status{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--muted-hi);text-align:center}.fq-ratings{display:flex;gap:.3rem;width:100%;max-width:480px}.fq-browse-nav{display:flex;gap:.75rem;width:100%;max-width:480px}.fq-browse-btn{flex:1;padding:.65rem 1rem;font-size:1rem}.fq-rate-btn{flex:1;padding:.45rem .2rem;border-radius:8px;border:1px solid;font-family:var(--font-mono);cursor:pointer;transition:opacity .15s,transform .1s;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:0}.fq-rate-btn:hover{opacity:.85}.fq-rate-btn:active{transform:scale(.96)}.fq-rate-btn:disabled{opacity:.18;cursor:default;transform:none!important}.fq-rate-delta{font-size:.82rem;font-weight:600;line-height:1}.fq-rate-result{font-size:.56rem;letter-spacing:.05em;opacity:.75;line-height:1}.fq-rate-time{font-size:.56rem;letter-spacing:.05em;opacity:.6;line-height:1}.fq-rate-1{background:#a01e1e2e;border-color:#b4282859;color:#c94a4a}.fq-rate-2{background:#dc503c1f;border-color:#dc503c4d;color:#e06050}.fq-rate-3{background:#e8b53a1f;border-color:#e8b53a4d;color:#e8b53a}.fq-rate-4{background:#5abe821a;border-color:#5abe8247;color:#5abf88}.fq-rate-5{background:#3caa6424;border-color:#3caa6452;color:#4ac878}.fq-done-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:2rem}.fq-done-check{font-size:3.5rem;color:var(--accent);line-height:1}.fq-done-title{font-family:var(--font-display);font-size:2.8rem;letter-spacing:.06em;color:var(--text)}.fq-done-stats{display:flex;align-items:center;gap:1rem;margin:.25rem 0}.fq-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem}.fq-stat-val{font-family:var(--font-display);font-size:2rem;color:var(--text);line-height:1}.fq-stat-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-hi)}.fq-stat-divider{width:1px;height:40px;background:var(--border)}.fq-done-next{font-family:var(--font-mono);font-size:.78rem;color:var(--text2);margin-top:.25rem}.fq-done-next strong{color:var(--accent)}.fq-done-restart{margin-top:.75rem;padding:.65rem 2.5rem}.fq-badges{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:center}.fq-imp-badge{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:.15rem .55rem;border:1px solid}.fq-imp-badge-n2{background:#a01e1e26;border-color:#a01e1e59;color:#c04040}.fq-imp-badge-n1{background:#c8642826;border-color:#c8642859;color:#c07030}.fq-imp-badge-1{background:#50b4641f;border-color:#50b4644d;color:#50c870}.fq-imp-badge-2{background:#28a0502e;border-color:#28a05061;color:#30c860}.fq-filter-row{display:flex;gap:.6rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.fq-filter-select{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:.72rem;padding:.38rem .55rem;border-radius:6px;cursor:pointer}.fq-filter-select:focus{outline:none;border-color:var(--accent)}.fq-browse-list{flex:1;overflow-y:auto;padding:.75rem 1rem 2rem;display:flex;flex-direction:column;gap:.75rem}.fq-browse-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem}.fq-browse-q{font-weight:600;font-size:.88rem;margin:.35rem 0 .5rem}.fq-browse-a{font-size:.82rem;color:var(--muted-hi)}.fq-browse-a p,.fq-browse-q p{margin:0}.fq-browse-empty{color:var(--muted);text-align:center;padding:3rem 2rem}.fq-importance-filter{margin-top:-.25rem;padding-top:0}.fq-imp-pill-n2.fq-pill-active{background:#a01e1e33;border-color:#a01e1e80;color:#c04040}.fq-imp-pill-n1.fq-pill-active{background:#c8642833;border-color:#c8642880;color:#c07030}.fq-imp-pill-1.fq-pill-active{background:#50b46426;border-color:#50b46466;color:#50c870}.fq-imp-pill-2.fq-pill-active{background:#28a05033;border-color:#28a05073;color:#30c860}.fq-importance-selector{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:480px}.fq-importance-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-hi);text-align:center}.fq-importance-row{display:flex;gap:.3rem;flex-wrap:wrap}.fq-imp-btn{flex:1;padding:.35rem .4rem;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--muted-hi);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;cursor:pointer;transition:opacity .12s,border-color .12s;white-space:nowrap}.fq-imp-btn:active{opacity:.7}.fq-imp-btn.fq-imp-active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.fq-imp-btn.fq-imp-n2.fq-imp-active{border-color:#c04040;color:#c04040;background:#a01e1e1f}.fq-imp-btn.fq-imp-n1.fq-imp-active{border-color:#c07030;color:#c07030;background:#c864281f}.fq-imp-btn.fq-imp-1.fq-imp-active{border-color:#50c870;color:#50c870;background:#50b4641a}.fq-imp-btn.fq-imp-2.fq-imp-active{border-color:#30c860;color:#30c860;background:#28a05024}.cu-body{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-width:720px;margin:0 auto;width:100%}.cu-empty{text-align:center;margin-top:3rem;font-family:var(--font-mono);color:var(--muted-hi);font-size:.85rem;line-height:1.8}.cu-empty-hint{font-size:.72rem;color:var(--muted)}.cu-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.6rem}.cu-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.2rem}.cu-stat-val{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.04em;color:var(--text);line-height:1}.cu-stat-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-hi)}.cu-section{padding:0;overflow:hidden}.cu-section-title{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-hi);padding:.65rem .9rem .5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.6rem}.cu-section-count{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-radius:99px;padding:.1rem .5rem;font-size:.58rem}.cu-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.72rem}.cu-table th{color:var(--muted-hi);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;padding:.45rem .9rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.cu-table td{padding:.45rem .9rem;color:var(--text2);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);vertical-align:middle}.cu-table tr:last-child td{border-bottom:none}.cu-right{text-align:right!important}.cu-app-name{color:var(--accent)}.cu-model{color:var(--muted-hi);font-size:.65rem}.cu-time{color:var(--muted-hi);font-size:.65rem;white-space:nowrap}.cu-cost{color:var(--text);font-weight:500}.cu-log-table .cu-app-name{font-size:.65rem}.cu-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.65rem;border-top:1px solid var(--border)}.cu-page-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--accent);font-family:var(--font-mono);font-size:.68rem;padding:.3rem .75rem;cursor:pointer}.cu-page-btn:disabled{opacity:.3;cursor:default}.cu-page-info{font-family:var(--font-mono);font-size:.65rem;color:var(--muted-hi)}.cu-note{font-family:var(--font-mono);font-size:.62rem;color:var(--muted);text-align:center;margin:0}.music-planner{min-height:100dvh;padding-top:0;background:var(--bg)}.music-header{padding:2rem 1rem 1rem;text-align:center}.music-title{font-family:var(--font-display);font-size:2.8rem;letter-spacing:.06em;color:var(--text);margin-bottom:.2rem}.music-subtitle{font-size:.78rem;color:var(--muted-hi);letter-spacing:.08em}.music-section{margin-bottom:1.5rem}.music-section-title{font-size:.68rem;font-family:var(--font-mono);letter-spacing:.14em;color:var(--muted-hi);text-transform:uppercase;padding:0 1rem;margin-bottom:.75rem}.music-connect-card{margin:1rem;text-align:center;padding:2.5rem 1.5rem}.music-connect-icon{font-size:3rem;margin-bottom:1.5rem;opacity:.5}.btn-spotify{background:#1db954;color:#000;border:none;border-radius:999px;padding:.75rem 2rem;font-family:var(--font-mono);font-size:.9rem;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:background .15s,transform .1s}.btn-spotify:active{transform:scale(.97)}.btn-spotify:hover{background:#1ed760}.music-setup-msg{margin:1rem;padding:1.5rem}.music-setup-msg code{background:var(--surface2);padding:.1em .4em;border-radius:4px;font-size:.85em;color:var(--accent)}.vibe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;padding:0 1rem}.vibe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1rem .75rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:.2rem}.vibe-card:hover{border-color:var(--border-hi)}.vibe-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.vibe-emoji{font-size:1.4rem;margin-bottom:.3rem}.vibe-name{font-size:.82rem;font-weight:600;color:var(--text)}.vibe-desc{font-size:.7rem;color:var(--text2);line-height:1.4}.music-sliders{margin:0 1rem;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.25rem}.slider-row{display:flex;flex-direction:column;gap:.4rem}.slider-labels{display:flex;justify-content:space-between;align-items:center}.slider-label-main{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text2)}.slider-label-val{font-size:.7rem;color:var(--accent);font-variant-numeric:tabular-nums}.slider-ends{display:flex;align-items:center;gap:.6rem}.slider-end{font-size:.65rem;color:var(--muted-hi);min-width:40px}.slider-end:last-child{text-align:right}.slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;border-radius:2px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) calc(var(--pct, 50%) * 1%),var(--border-hi) calc(var(--pct, 50%) * 1%),var(--border-hi) 100%);outline:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px #0006}.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:none}.music-session-opts{margin:0 1rem;padding:1rem;display:flex;flex-direction:column;gap:1rem}.session-row{display:flex;align-items:center;gap:.75rem}.session-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text2);min-width:60px}.session-chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.3rem .75rem;font-family:var(--font-mono);font-size:.72rem;color:var(--text2);cursor:pointer;transition:border-color .15s,color .15s}.chip:hover{border-color:var(--border-hi);color:var(--text)}.chip.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.btn-generate{width:100%;background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--radius-card);padding:1rem;font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:opacity .15s,transform .1s}.btn-generate:disabled{opacity:.5;cursor:default}.btn-generate:not(:disabled):active{transform:scale(.98)}.btn-save{background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:.35rem .9rem;font-family:var(--font-mono);font-size:.72rem;cursor:pointer;transition:background .15s}.btn-save:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.btn-save:disabled{opacity:.5;cursor:default}.btn-save.saved{background:color-mix(in srgb,#1DB954 12%,transparent);border-color:#1db954;color:#1db954}.track-list{display:flex;flex-direction:column}.track-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);transition:background .1s;cursor:pointer}.track-item:hover{background:var(--surface)}.track-item:last-child{border-bottom:none}.track-num{font-size:.65rem;color:var(--muted-hi);min-width:18px;text-align:right;font-variant-numeric:tabular-nums}.track-art{width:40px;height:40px;border-radius:4px;object-fit:cover;flex-shrink:0}.track-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.track-name{font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:.7rem;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-dur{font-size:.7rem;color:var(--muted-hi);font-variant-numeric:tabular-nums;flex-shrink:0}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
