html{background:#0d1218;font-size:clamp(16px,15px + .35vw,18px)}body{margin:0}*{box-sizing:border-box}:root{--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}#app[data-mode=dark]{--bg:#0d1218;--surface:#141c24;--surface-2:#1b2530;--border:#2a3742;--text:#e8eff5;--accent:#4c9be6;--on-accent:#06213a;--accent-soft:#4c9be624;--good:#43c58c;--good-soft:#43c58c21;--caution:#f3b64c;--caution-soft:#f3b64c29;--danger:#f4787a;--shadow:0 18px 50px -22px #000000d9}#app[data-mode=light]{--bg:#f6f9fb;--surface:#fff;--surface-2:#eef3f7;--border:#d5dee7;--text:#0e1a23;--accent:#1f74c4;--on-accent:#fff;--accent-soft:#1f74c41a;--good:#12996a;--good-soft:#12996a1f;--caution:#a9720f;--caution-soft:#a9720f21;--danger:#cf4b4b;--shadow:0 18px 50px -30px #17354859}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root{--nav-w:248px;--aside-w:300px;--col:620px;--top:58px;--conn-w:26px}#app{background:var(--bg);color:var(--text);font-family:var(--sans);grid-template-columns:var(--nav-w) 1fr;-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;transition:background .3s,color .3s;display:grid}#app.nav-collapsed{grid-template-columns:1fr}#app.nav-collapsed .nav{display:none}.icon-btn{width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;font-size:1.375rem;line-height:1;transition:color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--accent);background:var(--surface-2)}.icon-btn svg{width:21px;height:21px}.icon-btn.sm{width:28px;height:28px}.icon-btn.sm svg{width:17px;height:17px}.nav{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:4px;height:100vh;padding:14px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;padding:2px 6px 12px;display:flex}.nav-dx{font-family:var(--sans);color:var(--text);flex:1;font-size:.875rem;line-height:1.3}.nav-group{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding:12px 8px 4px;font-size:.8125rem}.nav-link{color:var(--text);cursor:pointer;border-left:3px solid #0000;border-radius:7px;padding:9px 10px;font-size:1rem;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:block}.nav-link:hover{color:var(--accent)}.nav-link.is-active{color:var(--accent);background:var(--accent-soft);border-left-color:var(--accent);border-radius:6px;font-weight:600}.nav-spacer{flex:1;min-height:12px}.unlock{text-align:center;font-family:var(--sans);letter-spacing:.04em;color:var(--on-accent);background:var(--accent);cursor:pointer;box-shadow:0 8px 22px -8px var(--accent);border:none;border-radius:11px;margin:12px 4px 6px;padding:14px;font-size:1.06rem;font-weight:800;transition:transform .12s,box-shadow .15s,filter .15s}.unlock:hover{filter:brightness(1.07);box-shadow:0 10px 26px -8px var(--accent);transform:translateY(-1px)}.scrim{opacity:0;pointer-events:none;z-index:55;background:#00000080;transition:opacity .25s;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.drawer{background:var(--surface);border-left:1px solid var(--border);z-index:60;flex-direction:column;gap:2px;width:272px;max-width:86vw;height:100vh;padding:14px 12px;transition:transform .25s;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer.open{box-shadow:var(--shadow);transform:translate(0)}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 6px 12px;display:flex}.drawer-brand{font-family:var(--sans);letter-spacing:.03em;font-size:1rem;font-weight:800}.site-link{color:var(--text);border-radius:8px;padding:11px 10px;font-size:1.06rem;text-decoration:none;transition:background .15s,color .15s}.site-link:hover{color:var(--accent);background:var(--surface-2)}.stage{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--top);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;display:flex;position:sticky;top:0}.topbar-left{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.nav-brand{letter-spacing:.02em;padding:10px 8px 6px;font-size:1.19rem;font-weight:800}.nav-show{display:none}#app.nav-collapsed .nav-show{display:inline-flex}.nav-menu-btn{display:none}.search{cursor:text;color:var(--text);font-family:var(--sans);background:0 0;border:none;flex:1;align-items:center;gap:9px;min-width:0;padding:8px 4px;font-size:1rem;display:inline-flex}.search .s-ph{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search .kbd{font-family:var(--sans);border:1px solid var(--border);border-radius:5px;flex:none;padding:1px 6px;font-size:.8125rem}.topbar-right{align-items:center;gap:2px;display:flex}.content{width:100%;max-width:660px;margin:0 auto;padding:24px 20px 60px}.col{flex-direction:column;gap:40px;min-width:0;display:flex}.col>.sec:last-child{min-height:calc(100vh - var(--top) - 60px)}.col-inner{width:100%;max-width:var(--col)}.sec{scroll-margin-top:78px}.sec-title{font-family:var(--sans);letter-spacing:-.015em;text-wrap:balance;border-bottom:2px solid var(--accent);margin:0 0 12px;padding-bottom:12px;font-size:clamp(24px,3.6vw,30px);font-weight:800;line-height:1.08}.dx-updated{font-family:var(--sans);color:var(--text);margin:-4px 0 16px;font-size:.85rem;display:block}.placeholder{border:1.5px dashed var(--border);background:color-mix(in srgb,var(--surface) 50%, transparent);border-radius:16px;flex-direction:column;gap:12px;padding:26px 22px;display:flex}.ph-eyebrow{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.8125rem}.ph-note{color:var(--text);font-size:1rem;font-family:var(--sans)}.ph-skeleton{flex-direction:column;gap:9px;margin-top:4px;display:flex}.ph-bar{background:var(--surface-2);border-radius:6px;height:12px}.ph-bar.s1{width:70%}.ph-bar.s2{width:90%}.ph-bar.s3{width:55%}.poptoggle{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;gap:3px;width:100%;margin:2px 0 18px;padding:4px;display:flex}.poptoggle button{font-family:var(--sans);color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:9px 20px;font-size:1rem;font-weight:700;transition:all .13s}.poptoggle button.on{color:var(--on-accent);background:var(--accent)}[data-pop][hidden]{display:none}.kg-input{background:var(--surface-2);border:1px solid var(--border);font-family:var(--sans);color:var(--text);border-radius:9px;align-items:center;gap:6px;margin-top:4px;padding:6px 10px;font-size:1rem;display:inline-flex}.kg-input .box{background:var(--bg);width:44px;color:var(--accent);font-family:var(--sans);text-align:center;border:none;border-radius:6px;padding:4px 6px;font-weight:700}.riskpill{font-family:var(--sans);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%, transparent);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:7px 13px;font-size:.875rem;font-weight:700;transition:all .15s;display:inline-flex}.riskpill.full{justify-content:space-between;width:100%;margin-bottom:10px;padding:12px 15px;display:flex}.riskpill.head-pill{padding:6px 11px}.riskpill:hover{background:var(--accent-soft)}.riskpill .chev{transition:transform .2s}.riskpill.open .chev{transform:rotate(180deg)}.riskpanel{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.riskpanel>.inner{overflow:hidden}.riskpanel.open{grid-template-rows:1fr}.riskpanel .body{color:var(--text);background:var(--accent-soft);border-radius:12px;margin:0 0 14px;padding:11px 14px;font-size:1rem;line-height:1.55}.riskpanel .body b{color:var(--text);font-weight:700}.decision .riskpanel .body{background:var(--surface);border-top:1px solid var(--border);border-radius:0;margin:0;padding:12px 15px 14px 24px}.chev{flex:none;display:block}.classify{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:0;margin-bottom:8px;padding:5px;display:flex}.opt{cursor:pointer;color:var(--text);border-radius:9px;align-items:center;gap:11px;padding:7px 10px;font-size:1rem;transition:background .12s;display:flex}.allergy{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:7px;margin-bottom:22px;padding:9px;display:flex}.allergy-chip{font-family:var(--sans);color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.875rem;font-weight:700;transition:all .13s}.allergy-chip:hover{border-color:var(--accent);color:var(--accent)}.allergy-chip.active{color:var(--on-accent);background:var(--caution);border-color:var(--caution)}.allergy-chip[data-reset]{background:var(--bg);border-style:dashed}.allergy-chip[data-reset]:hover{color:var(--danger);border-color:var(--danger)}.opt:hover{background:color-mix(in srgb,var(--text) 6%, transparent)}.opt:hover .radio{border-color:color-mix(in srgb,var(--text) 70%, transparent)}.opt .radio{border:2px solid color-mix(in srgb,var(--text) 45%, transparent);border-radius:50%;flex:none;width:17px;height:17px;transition:all .15s}.opt.sel{font-weight:600}.opt.sel .radio{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface-2)}.combo-toggle{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.combo-toggle:hover{border-color:var(--accent)}.combo.open>.combo-toggle{border-color:var(--accent);background:var(--accent-soft);border-bottom-right-radius:0;border-bottom-left-radius:0}.combo-toggle-text{flex-direction:column;gap:4px;min-width:0;display:flex}.combo-name{font-family:var(--sans);color:var(--text);letter-spacing:-.01em;font-size:1.375rem;font-weight:800;line-height:1.15}.combo.open>.combo-toggle .combo-name{color:var(--accent)}.combo-desc{color:var(--text);font-size:.9rem;line-height:1.4}.combo-warning{color:var(--text);background:var(--caution-soft);border-left:3px solid var(--caution);border-radius:6px;margin-top:2px;padding:6px 9px;font-size:.875rem;line-height:1.45}.combo-toggle .chev{color:var(--text);flex:none;margin-top:4px;transition:transform .2s,color .2s}.combo.open>.combo-toggle .chev{color:var(--accent);transform:rotate(180deg)}.regimen-bar{top:var(--top);z-index:5;background:var(--bg);margin:0 0 10px;padding:12px 15px;position:sticky}.formula{align-items:stretch;gap:0;margin-bottom:0;display:flex}.slot{border:1.5px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:12px;flex-direction:column;flex:1 1 0;gap:2px;min-width:0;padding:9px 11px;transition:all .15s;display:flex}.slot:hover{border-color:var(--accent)}.slot .slot-label{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:.8125rem}.slot .slot-val{color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.slot .mark{font-size:.875rem}.slot .slot-dose{color:var(--text);font-variant-numeric:tabular-nums;flex-direction:column;gap:1px;font-size:.85rem;display:flex}.slot .slot-req{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.8125rem}.slot.optional{border-style:dashed}.slot.filled{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.slot.filled .slot-label,.slot.filled .mark,.slot.filled .slot-dose{color:var(--accent)}.slot.filled .slot-req{display:none}.conn{width:var(--conn-w);font-family:var(--sans);color:var(--text);flex:none;justify-content:center;align-items:center;font-size:1.19rem;font-weight:800;display:flex}.slot-val sub{vertical-align:sub;font-size:.72em;font-weight:700}.combo{flex-direction:column;display:flex}.combo-body{flex-direction:column;gap:0;display:none}.combo.open>.combo-body{border:1px solid var(--accent);border-top:none;border-radius:0 0 14px 14px;padding:10px 0 0;display:flex}.combo:not(.ladder).open>.combo-body.no-formula{padding-top:0}.regimen[data-ladder]{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:0;overflow:hidden}.combo.ladder{margin:0}.combo.ladder>.combo-toggle{background:var(--surface-2);border:none;border-top:1px solid var(--border);cursor:default;border-radius:0;padding:12px 16px}.combo.ladder:first-child>.combo-toggle{border-top:none}.combo.ladder>.combo-toggle .chev{display:none}.combo.ladder>.combo-toggle .combo-name{color:var(--text);font-size:1.375rem}.combo.ladder>.combo-body{border:none;border-radius:0;padding:0}.combo.ladder .decision>.drug:first-child,.combo.ladder .decision>.info-block+.drug{border-top:none}.decision{flex-direction:column;scroll-margin-top:78px;display:flex}.decision-head{background:var(--surface-2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 15px 10px;display:flex}.decision-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.decision-title{font-family:var(--sans);color:var(--text);letter-spacing:-.01em;font-size:1.375rem;font-weight:800;line-height:1.15}.decision-sub{font-family:var(--sans);color:var(--text);letter-spacing:.02em;font-size:.875rem}.decision-conn{text-align:center;font-family:var(--sans);color:var(--text);padding:14px 0;font-size:1.75rem;font-weight:800;line-height:1}.drug{background:var(--surface);border-top:1px solid var(--border)}.drug-row{cursor:pointer;user-select:none;align-items:center;gap:11px;padding:12px 15px 12px 24px;transition:background .13s;display:flex}.combo:not(.ladder).open>.combo-body>.decision:last-child>.drug:last-child,.combo:not(.ladder).open>.combo-body>.decision:last-child>.drug:last-child:not(.open) .drug-row{border-bottom-right-radius:13px;border-bottom-left-radius:13px}.drug-row:hover{background:color-mix(in srgb,var(--text) 4%, transparent)}.drug.open .drug-row{background:var(--accent-soft)}.drug-name-wrap{flex-direction:column;flex:1;align-items:flex-start;gap:1px;min-width:0;display:flex}.drug-name{color:var(--text);font-size:1.19rem;font-weight:700;line-height:1.2}.drug-name sub{color:inherit;font-size:.7em;font-weight:700}.drug.open .drug-name:before{content:"✓ ";color:var(--accent);font-weight:800}.drug-sub{font-family:var(--sans);color:var(--text);letter-spacing:.02em;font-size:.85rem;font-weight:400}.drug-right{flex:none;align-items:center;gap:10px;display:flex}.drug-row .chev{color:var(--text);transition:transform .2s,color .2s}.drug.open .drug-row .chev{color:var(--accent);transform:rotate(180deg)}.safety-icons{align-items:center;gap:5px;display:none}.safety-on .safety-icons{display:inline-flex}.sfi{width:22px;height:22px;font-size:.875rem;font-weight:800;font-family:var(--sans);cursor:default;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:relative}.sfi[data-status=ok]{color:var(--good);background:color-mix(in srgb,var(--good) 17%, transparent)}.sfi[data-status=caution]{color:var(--caution);background:var(--caution-soft)}.sfi[data-status=avoid]{color:var(--danger);background:color-mix(in srgb,var(--danger) 17%, transparent)}.sfi[data-status=unknown]{color:var(--text);background:var(--surface-2)}.tip:after{content:attr(data-tip);background:var(--text);color:var(--bg);font-family:var(--sans);opacity:0;pointer-events:none;z-index:50;width:max-content;max-width:210px;box-shadow:var(--shadow);border-radius:8px;padding:7px 10px;font-size:.875rem;font-weight:500;line-height:1.35;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tip:hover:after,.tip:focus:after{opacity:1}.di-btn{height:22px;font-family:var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:7px;order:-1;align-items:center;padding:0 10px;font-size:.8125rem;font-weight:700;transition:all .13s;display:none}.drug.open .di-btn{display:inline-flex}.di-btn:hover{color:var(--accent);border-color:var(--accent)}.di-btn.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.drug-body{grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.drug.open .drug-body{grid-template-rows:1fr}.drug-body>.inner{overflow:hidden}.drug-body .pad{flex-direction:column;align-items:flex-start;gap:11px;padding:14px 15px 14px 24px;display:flex}.dose-list{flex-direction:column;gap:2px;display:flex}.opt-dose{font-family:var(--sans);color:var(--text);font-variant-numeric:tabular-nums;font-size:1.06rem;font-weight:600}.dur{font-family:var(--sans);color:var(--text);font-size:.875rem}.note{color:var(--text);font-size:.9rem;line-height:1.5}.warn{color:var(--text);background:var(--caution-soft);border-left:3px solid var(--caution);border-radius:6px 10px 10px 6px;width:100%;padding:9px 12px;font-size:1rem;line-height:1.5}.warn b{color:var(--caution)}.druginfo{width:100%;display:none}.druginfo.show{border-top:1px solid var(--border);flex-direction:column;gap:11px;margin-top:2px;padding-top:13px;display:flex}.di-block{flex-direction:column;gap:3px;display:flex}.di-label{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.875rem;font-weight:800}.di-text{color:var(--text);font-size:1rem;line-height:1.5}@media (prefers-reduced-motion:reduce){#app *,#app :before,.drawer,.scrim,.nav{transition:none!important}}@media (width<=820px){#app,#app.nav-collapsed{grid-template-columns:1fr}.nav{z-index:60;width:264px;max-width:86vw;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}#app.nav-collapsed .nav{display:flex}#app.nav-open .nav{box-shadow:var(--shadow);transform:translate(0)}.nav-collapse,.nav-show{display:none!important}.nav-menu-btn{display:inline-flex}}@media (width<=600px){.formula{flex-direction:column}.conn{width:100%;height:24px}.slot .slot-val,.slot .slot-dose{white-space:normal}.regimen-bar{background:0 0;position:static}}[hidden]{display:none!important}.di-page-link{color:var(--accent);margin-top:4px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.di-page-link:hover{text-decoration:underline}.drug-safety-toggle{width:100%;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:8px;padding:12px;font-size:.85rem;font-weight:700;transition:all .13s;display:block}.drug-safety-toggle:hover{color:var(--accent);border-color:var(--accent)}.drug-safety-toggle.on{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.regimen{flex-direction:column;gap:12px;display:flex}.dx-regimens{display:block}.classify-note{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:1rem;line-height:1.55}.info-block{background:var(--accent-soft);border-radius:10px;margin:10px 0;padding:11px 13px;font-size:.9rem;line-height:1.55}.conds{flex-direction:column;gap:8px;width:100%;margin-bottom:2px;display:flex}.cond{cursor:pointer;text-align:left;font-family:var(--sans);color:var(--text);background:0 0;border:none;align-items:flex-start;gap:9px;padding:0;font-size:1rem;line-height:1.4;display:flex}.cond-box{border:1.5px solid var(--border);border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;transition:background .13s,border-color .13s;display:inline-flex}.cond:hover .cond-box{border-color:var(--accent)}.cond.checked .cond-box{background:var(--accent);border-color:var(--accent)}.cond.checked .cond-box:after{content:"✓";color:var(--on-accent);font-size:.875rem;font-weight:800;line-height:1}.cond.checked .cond-text{color:var(--text);opacity:.7}.bundle-note{color:var(--accent);margin-bottom:12px;font-size:.9rem;font-weight:700}.star{color:var(--caution);flex:none;font-size:1.06rem}.dose-card{flex-direction:column;gap:1px;display:flex}.dose-card+.dose-card{margin-top:7px}.dose-card-name{opacity:.75;font-size:.875rem;font-weight:700}.warn a,.note a,.opt-dose a,.dose-card a,.riskpanel .body a,.di-text a,.drug-sub a{color:var(--accent)}.forms{flex-direction:column;gap:11px;margin-top:5px;display:flex}.form-grp{flex-direction:column;gap:3px;display:flex}.form-name{font-family:var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-size:.85rem;font-weight:800}.form-strengths{flex-direction:column;gap:2px;display:flex}.form-str{color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem}
