@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;700;900&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg:#0a0f1a;--surface:#111827;--surface2:#1e293b;--border:#2d3a4f;--text:#f1f5f9;--muted:#94a3b8;--dim:#475569;--red:#ef4444;--red-dim:#3b1313;--red-glow:#ef44441f;--green:#22c55e;--green-dim:#0f2a1a;--green-glow:#22c55e1f;--blue:#3b82f6;--blue-dim:#172554;--blue-glow:#3b82f61a;--amber:#f59e0b;--amber-dim:#2d1f05;--amber-glow:#f59e0b1f;--purple:#a78bfa;--purple-dim:#2e1065;--teal:#14b8a6;--teal-dim:#0d2a26;--accent:#3b82f6;--radius:10px;--font-display:"Playfair Display", serif;--font-body:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--mh-dot:#fff3;--mh-dot-border:#fff;--mh-btn-bg:#ffffff1a;--mh-btn-border:#fff3;--mh-btn-text:#fff;--mh-btn-dim:#ffffff4d;--mh-track:#ffffff26;--mh-label:#ffffffb3}[data-theme=light]{--bg:#f8fafc;--surface:#fff;--surface2:#f1f5f9;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--dim:#94a3b8;--red-dim:#fef2f2;--red-glow:#ef444414;--green-dim:#f0fdf4;--green-glow:#22c55e14;--blue-dim:#eff6ff;--blue-glow:#3b82f614;--amber-dim:#fffbeb;--amber-glow:#f59e0b14;--purple-dim:#faf5ff;--teal-dim:#f0fdfa}[data-theme=light] .masthead{color:#0f172a;background:linear-gradient(#fffffff7 0%,#f1f5f9f2 100%);border-bottom-color:#3b82f61f}[data-theme=light] .masthead-title{color:#0f172a}[data-theme=light] .masthead .accent{background:linear-gradient(135deg,#2563eb,#0d9488);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light]{--mh-dot:#00000026;--mh-dot-border:#0f172a;--mh-btn-bg:#0000000d;--mh-btn-border:#00000026;--mh-btn-text:#0f172a;--mh-btn-dim:#00000040;--mh-track:#0000001a;--mh-label:#00000080}[data-theme=light] .menu-card{box-shadow:0 2px 8px #0000000a,0 1px 2px #00000008}[data-theme=light] .menu-card:hover{box-shadow:0 8px 24px #00000014,0 2px 8px #0000000a}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-content-enter{animation:.25s ease-out fadeUp}@keyframes dotPulse{0%{transform:scale(1)}50%{transform:scale(1.6)}to{transform:scale(1)}}.dot-pulse{animation:.4s ease-out dotPulse}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg, var(--surface) 0%, var(--surface2) 50%, var(--surface) 100%);border-radius:var(--radius);background-size:200px 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes celebrationPop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.celebration-pop{animation:.5s ease-out celebrationPop}@keyframes ringDraw{0%{stroke-dashoffset:251.2px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5}.app{background:var(--bg);flex-direction:column;width:100%;min-height:100vh;display:flex}.menu-card{transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;transform:translateY(0);box-shadow:0 2px 8px #00000014,0 1px 2px #0000000f}.menu-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;border-color:#3b82f64d!important}.menu-card:active{transition-duration:50ms;transform:translateY(1px);box-shadow:0 1px 4px #0000001a}.menu-card:disabled{box-shadow:none!important;transform:none!important}.masthead{-webkit-backdrop-filter:blur(20px);z-index:100;background:linear-gradient(#111827f7 0%,#1e293bf2 100%);border-bottom:1px solid #3b82f626;padding:20px 24px;position:sticky;top:0}.masthead-eyebrow{font-family:var(--font-mono);color:var(--dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;font-size:10px;font-weight:400}.masthead-title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:14px;font-size:28px;font-weight:900;line-height:1.1}.masthead-title .accent{background:linear-gradient(135deg,#3b82f6,#14b8a6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.masthead-title .accent2{color:var(--teal)}.masthead-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.masthead-pills{flex-wrap:wrap;gap:8px;display:flex}.pill{font-family:var(--font-mono);letter-spacing:.5px;color:var(--muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:100px;padding:5px 14px;font-size:10px;transition:all .2s}.pill.active{color:var(--blue);background:linear-gradient(135deg,#3b82f626,#14b8a626);border-color:#3b82f64d}.tabs{border-radius:var(--radius);border:1px solid var(--border);background:#ffffff08;gap:4px;margin:0 24px;padding:4px;display:flex}.tab-btn{color:var(--muted);cursor:pointer;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:12px 20px;font-size:13px;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--text);background:#ffffff0a}.tab-btn.active{color:var(--text);background:var(--surface2);box-shadow:0 1px 3px #0000004d}.progress-bar{align-items:center;gap:12px;margin:16px 0;display:flex}.progress-track{background:var(--surface2);border:1px solid var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--green), var(--blue));border-radius:3px;height:100%;transition:width .3s}.progress-label{color:var(--muted);text-align:right;min-width:40px;font-size:12px;font-weight:500}.case-grid{grid-template-columns:repeat(5,1fr);gap:10px;max-width:700px;margin:0 auto;padding:40px 24px 24px;display:grid}.case-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:72px;padding:12px 10px;transition:all .25s;display:flex;position:relative;overflow:hidden}.case-card:before{content:"";background:var(--blue);border-radius:0 2px 2px 0;width:3px;transition:all .25s;position:absolute;top:0;bottom:0;left:0}.case-card.sp-medicine:before{background:var(--blue)}.case-card.sp-emergency:before{background:var(--red)}.case-card.sp-surgery:before{background:var(--amber)}.case-card.sp-paediatrics:before{background:var(--purple)}.case-card.sp-psychiatry:before{background:var(--teal)}.case-card.sp-obstetrics:before{background:#f78166}.case-card.sp-neurology:before{background:var(--blue)}.case-card.sp-endocrine:before{background:var(--amber)}.case-card.sp-renal:before{background:var(--purple)}.case-card.sp-respiratory:before{background:var(--teal)}.case-card:hover{border-color:#3b82f666;transform:translateY(-3px);box-shadow:0 8px 30px #0000004d,0 0 0 1px #3b82f61a}.case-card:hover:before{width:4px;box-shadow:0 0 12px}.case-card.done{opacity:.7;border-color:#3fb9504d}.card-done-tick{font-size:14px;font-weight:700;position:absolute;top:4px;right:6px}.card-done-info{flex-direction:column;align-items:center;gap:2px;display:flex}.card-done-topic{color:#fff;text-align:center;max-width:100%;font-size:9px;line-height:1.3}.card-done-score{font-size:12px;font-weight:700;font-family:var(--font-mono)}.score-green{color:var(--green)}.score-yellow{color:var(--amber)}.score-red{color:var(--red)}.card-num{font-family:var(--font-mono);color:var(--muted);margin-bottom:8px;font-size:12px}.card-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600;line-height:1.3}.card-sub{color:var(--muted);margin-bottom:12px;font-size:13px}.card-tags{flex-wrap:wrap;gap:6px;display:flex}.ctag{background:var(--surface2);color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:11px}.ctag-sp{background:var(--blue-dim);color:var(--blue);border-color:var(--blue)}.ctag-mla{background:var(--amber-dim);color:var(--amber);border-color:var(--amber)}.ctag-done{background:var(--green-dim);color:var(--green);border-color:var(--green)}.score-badge{background:var(--surface2);border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.sb-hi{color:var(--red);background:var(--red-dim)}.sb-mid{color:var(--amber);background:var(--amber-dim)}.sb-lo{color:var(--green);background:var(--green-dim)}.back-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-family:var(--font-body);padding:8px 12px;font-size:14px;transition:all .2s}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.case-hdr{background:var(--surface);border-bottom:1px solid var(--border);margin-bottom:24px;padding:24px}.case-hdr-top{align-items:center;gap:16px;margin-bottom:16px;display:flex}.case-num-lg{font-family:var(--font-mono);color:var(--muted);font-size:13px}.case-title-lg{font-family:var(--font-display);color:var(--text);font-size:28px;font-weight:700}.case-title-lg em{color:var(--accent);font-style:italic;font-weight:400}.sh{font-family:var(--font-display);color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:12px;margin:24px 0 16px;padding-bottom:12px;font-size:18px;font-weight:600;display:flex}.sh:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:20px}.vignette{background:var(--surface);border-left:4px solid var(--blue);border-radius:var(--radius);color:var(--muted);margin:16px 0;padding:16px;font-style:italic;line-height:1.6}.vitals-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0;display:grid}.vital{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.vl{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:500}.vv{font-family:var(--font-mono);color:var(--text);font-size:16px;font-weight:600}.vv.abn{color:var(--red)}.vv.bdr{color:var(--amber)}.vv.ok{color:var(--green)}.vu{color:var(--muted);margin-top:2px;font-size:11px}.inv-grid{flex-direction:column;gap:12px;margin:16px 0;display:flex}.inv-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:140px 1fr 100px 80px;align-items:center;gap:12px;padding:12px;font-size:13px;display:grid}.in{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.iv{font-family:var(--font-mono);color:var(--text);font-weight:500}.iv.flag{color:var(--red);font-weight:600}.iv.warn{color:var(--amber);font-weight:600}.iv.ok{color:var(--green)}.ecg-container{flex-direction:column;gap:12px;margin:16px 0;display:flex}.ecg-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.ecg-strip{gap:8px;display:flex}.ecg-canvas{border:1px solid var(--border);border-radius:var(--radius);background:#000;width:100%;max-width:600px;height:200px}.abg-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:16px}.abg-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;margin-bottom:16px;display:grid}.abg-cell{text-align:center}.abg-name{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:500}.abg-val{font-family:var(--font-mono);margin-bottom:4px;font-size:18px;font-weight:600}.abg-ref{color:var(--muted);font-size:11px}.abg-interp{color:var(--muted);border-top:1px solid var(--border);padding-top:12px;font-size:12px}.cxr-container{flex-direction:column;gap:12px;margin:16px 0;display:flex}.cxr-canvas{border:1px solid var(--border);border-radius:var(--radius);background:#000;width:100%;max-width:500px;height:400px}.cxr-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.cxr-findings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:12px;font-size:13px}.learn-tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:16px;display:flex}.learn-tab{color:var(--muted);cursor:pointer;font-family:var(--font-body);background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-size:13px;font-weight:500;transition:all .2s}.learn-tab:hover{color:var(--text)}.learn-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.learn-panel{display:block}.learn-item{margin-bottom:16px}.learn-bullet{background:var(--surface);border-left:3px solid var(--accent);border-radius:4px;padding:12px;font-size:13px;line-height:1.6}.diff-list{flex-direction:column;gap:12px;margin:16px 0;display:flex}.diff-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:40px 1fr 80px;align-items:center;gap:12px;padding:12px;display:grid}.diff-rank{font-family:var(--font-mono);color:var(--muted);font-size:12px;font-weight:600}.diff-dx{color:var(--text);font-size:14px;font-weight:500}.diff-likelihood{text-align:right;font-size:12px;font-weight:600}.dl-high{color:var(--red);background:var(--red-dim);border-radius:4px;padding:4px 8px}.dl-mod{color:var(--amber);background:var(--amber-dim);border-radius:4px;padding:4px 8px}.dl-low{color:var(--green);background:var(--green-dim);border-radius:4px;padding:4px 8px}.comms-scenario{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:16px}.comms-title{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:600}.comms-framework{flex-direction:column;gap:12px;display:flex}.cf-step{background:var(--surface2);border-left:3px solid var(--accent);border-radius:4px;padding:12px;font-size:13px;line-height:1.6}.cf-num{color:var(--accent);margin-right:8px;font-weight:600;display:inline-block}.qblock{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:20px}.qhdr{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.qlabel{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.qresult{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.qresult.right{background:var(--green-dim);color:var(--green)}.qresult.wrong{background:var(--red-dim);color:var(--red)}.qtext{color:var(--text);margin-bottom:16px;font-size:15px;font-weight:500;line-height:1.6}.opts{flex-direction:column;gap:10px;display:flex}.opt{background:var(--surface2);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);font-size:14px;font-family:var(--font-body);padding:12px 16px;transition:all .2s}.opt:hover{border-color:var(--accent);background:var(--surface)}.opt.correct{border-color:var(--green);background:var(--green-dim);color:var(--green)}.opt.wrong{border-color:var(--red);background:var(--red-dim);color:var(--red)}.opt.show-correct{border-color:var(--green);background:var(--green-dim)}.oletter{background:var(--accent);width:24px;height:24px;color:var(--bg);text-align:center;border-radius:50%;margin-right:8px;font-weight:600;line-height:24px;display:inline-block}.expl{background:var(--surface2);border-left:3px solid var(--dim);color:var(--text);border-radius:4px;margin-top:16px;padding:16px;font-size:13px;line-height:1.6}.expl.right{border-left-color:var(--green);background:var(--green-dim)}.expl.wrong{border-left-color:var(--red);background:var(--red-dim)}.expl-title{text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.expl-ref{color:var(--muted);margin-top:8px;font-size:12px}.complete-banner{background:linear-gradient(135deg, var(--green-dim), var(--green-glow));border:1px solid var(--green);border-radius:var(--radius);text-align:center;margin:24px 0;padding:24px}.complete-num{font-family:var(--font-display);color:var(--green);font-size:48px;font-weight:900;line-height:1}.complete-den{color:var(--muted);margin-top:8px;font-size:14px}.complete-msg{color:var(--text);margin-top:16px;font-size:16px;font-weight:500}.btn-primary{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);border:none;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #58a6ff4d}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.ai-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:16px}.ai-hdr{align-items:center;gap:12px;margin-bottom:16px;display:flex}.ai-icon{font-size:20px}.ai-hdr h3{color:var(--text);margin:0;font-size:14px;font-weight:600}.ai-controls{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.ctrl-row{flex-wrap:wrap;gap:12px;display:flex}.ctrl-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.ctrl-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:12px;transition:all .2s}.chip.sel{background:var(--accent);color:var(--bg);border-color:var(--accent)}.ai-btn{background:var(--accent);color:var(--bg);border-radius:var(--radius);cursor:pointer;font-family:var(--font-body);border:none;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.ai-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #58a6ff33}.ai-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-output{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:16px;font-size:13px;line-height:1.6}.ai-loading{background:var(--surface2);border-radius:var(--radius);align-items:center;gap:12px;padding:16px;display:flex}.ai-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.ai-loading-text{color:var(--muted);font-size:13px}.ai-status{color:var(--muted);margin-top:8px;font-size:12px}.ai-case-title{color:var(--text);margin-bottom:8px;font-weight:600}.ai-case-sub{color:var(--muted);margin-bottom:12px;font-size:12px}.ai-mla-strip{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.ai-mla-tag{background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber);border-radius:4px;padding:4px 8px;font-size:11px}.ai-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.ai-section-title{color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600}.error-box{background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius);color:var(--red);padding:12px;font-size:13px}.api-key-section{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.api-key-section label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.api-key-row{align-items:center;gap:8px;display:flex}.api-key-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono,monospace);outline:none;flex:1;padding:10px 14px;font-size:13px;transition:border-color .2s}.api-key-input:focus{border-color:var(--accent)}.api-key-input::placeholder{color:var(--dim)}.api-key-status{align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.api-key-status.connected{color:var(--green)}.api-key-status.disconnected{color:var(--muted)}.api-key-hint{color:var(--dim);margin-top:6px;font-size:11px}.mla-filter-section{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.mla-filter-title{color:#fff;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.mla-filter-title .count{color:#fff;font-size:10px;font-weight:400}.mla-filter-search{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;margin-bottom:10px;padding:8px 12px;font-size:12px;transition:border-color .2s}.mla-filter-search:focus{border-color:var(--accent)}.mla-filter-search::placeholder{color:var(--dim)}.mla-filter-list{flex-wrap:wrap;gap:5px;max-height:180px;padding:4px 0;display:flex;overflow-y:auto}.mla-filter-list::-webkit-scrollbar{width:4px}.mla-filter-list::-webkit-scrollbar-track{background:var(--surface)}.mla-filter-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.mla-tag-btn{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:14px;padding:4px 10px;font-size:11px;transition:all .15s}.mla-tag-btn:hover{border-color:var(--accent);color:var(--text)}.mla-tag-btn.selected{background:var(--blue-dim);border-color:var(--blue);color:var(--blue)}.mla-selected-strip{border-top:1px solid var(--border);flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:8px;display:flex}.mla-selected-tag{background:var(--amber-dim);border:1px solid var(--amber);color:var(--amber);border-radius:10px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;display:flex}.mla-selected-tag .remove{cursor:pointer;opacity:.7;font-size:12px;line-height:1}.mla-selected-tag .remove:hover{opacity:1}.save-case-btn{background:var(--green-dim);border:1px solid var(--green);border-radius:var(--radius);color:var(--green);cursor:pointer;align-items:center;gap:6px;margin-top:12px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.save-case-btn:hover{background:var(--green);color:var(--bg)}.save-case-btn:disabled{opacity:.4;cursor:not-allowed}.saved-badge{background:var(--green-dim);border:1px solid var(--green);border-radius:var(--radius);color:var(--green);align-items:center;gap:6px;margin-top:12px;padding:8px 16px;font-size:12px;font-weight:500;display:inline-flex}.ai-hdr p{color:var(--muted);margin:0;font-size:12px}.sba-score-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:16px;margin-top:16px;padding:16px 20px;display:flex}.sba-score-big{font-family:var(--font-display,serif);font-size:36px;font-weight:700;line-height:1}.sba-score-detail{color:var(--muted);font-size:12px;line-height:1.6}.sba-category-breakdown{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sba-cat-pill{border:1px solid var(--border);background:var(--surface2);color:var(--muted);border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:10px;font-weight:500;display:inline-flex}.sba-cat-pill.correct{border-color:var(--green);color:var(--green);background:var(--green-dim)}.sba-cat-pill.wrong{border-color:var(--red);color:var(--red);background:var(--red-dim)}.spec-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:5px;display:grid}.validation-badge{border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;transition:all .2s;display:flex}.validation-badge:hover{border-color:var(--accent)}.validation-badge.grade-A{background:var(--green-dim);border-color:var(--green)}.validation-badge.grade-B{background:var(--blue-dim);border-color:var(--blue)}.validation-badge.grade-C{background:var(--amber-dim);border-color:var(--amber)}.validation-badge.grade-D{background:var(--red-dim);border-color:var(--red)}.validation-grade{font-family:var(--font-display,serif);font-size:32px;font-weight:900;line-height:1}.grade-A .validation-grade{color:var(--green)}.grade-B .validation-grade{color:var(--blue)}.grade-C .validation-grade{color:var(--amber)}.grade-D .validation-grade{color:var(--red)}.validation-info{flex:1}.validation-title{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:600}.validation-subtitle{color:var(--muted);font-size:11px}.validation-toggle{color:var(--dim);font-size:11px;font-family:var(--font-mono,monospace)}.validation-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:400px;margin-bottom:16px;padding:14px;overflow-y:auto}.validation-category{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border);margin-top:12px;margin-bottom:6px;padding-bottom:4px;font-size:10px;font-weight:600}.validation-category:first-child{margin-top:0}.validation-check{align-items:flex-start;gap:8px;padding:3px 0;font-size:12px;line-height:1.4;display:flex}.validation-check .vi{text-align:center;flex-shrink:0;width:14px;font-size:11px}.check-pass,.check-pass .vi{color:var(--green)}.check-fail,.check-fail .vi{color:var(--red)}.validation-warning{background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius);color:var(--red);align-items:center;gap:8px;margin-top:8px;padding:10px 14px;font-size:12px;display:flex}.divider{background:var(--border);height:1px;margin:16px 0}.dl{flex-wrap:wrap;gap:16px;display:flex}.dt{flex:1;min-width:200px}.dt>strong{color:var(--text);margin-bottom:8px;display:block}.fu{animation:.5s forwards fadeUp}.fu-1{animation-delay:50ms}.fu-2{animation-delay:.1s}.fu-3{animation-delay:.15s}.fu-4{animation-delay:.2s}.fu-5{animation-delay:.25s}.fu-6{animation-delay:.3s}@keyframes spin{to{transform:rotate(360deg)}}.splash-screen{background:radial-gradient(ellipse at 50% 30%, #3b82f614 0%, var(--bg) 70%);z-index:1000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-content{text-align:center}.splash-title{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:52px;font-weight:900}.splash-subtitle{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:48px;font-size:12px}.splash-progress{background:var(--surface);border:1px solid var(--border);border-radius:4px;width:300px;height:8px;overflow:hidden}.splash-progress-fill{background:linear-gradient(90deg, var(--green), var(--blue));width:0%;height:100%;animation:2s ease-out forwards splashLoad}@keyframes splashLoad{0%{width:0%}to{width:100%}}
