:root{--font-display:"Inter Tight","Inter",-apple-system,system-ui,sans-serif;--font-body:"Inter",-apple-system,system-ui,sans-serif;--font-mono:"Berkeley Mono","IBM Plex Mono","SF Mono",ui-monospace,monospace;--paper:#f8f8f5;--paper-grid:rgba(0,0,0,.045);--paper-card:#ffffff;--paper-tint:#f1f1ec;--rule:rgba(0,0,0,.1);--rule-strong:rgba(0,0,0,.2);--ink:#0f0f10;--ink-soft:#2a2a2c;--ink-mid:#555558;--ink-dim:#8b8b8e;--ink-faint:#b8b8b3;--green:#3f7340;--green-mid:#6a9a6c;--green-deep:#2e4730;--warn:#b8830a;--danger:#b03030;--info:#3a5e8c;--teal:#1b8073;--plum:#5b4b8a;--accent:var(--green);--chrome:#edebe4;--skel-hi:#e9e9e2;--grad-cell:linear-gradient(to bottom,#87ba87,#4c8c4c);--grad-primary:linear-gradient(to bottom,#4c8147,#3f7340);--grad-primary-hover:linear-gradient(to bottom,#3f7340,#346134);--grad-header:linear-gradient(to bottom,color-mix(in srgb,var(--paper-card) 55%,var(--paper-tint)),var(--paper-tint));--grad-card:linear-gradient(to bottom,var(--paper-card),color-mix(in srgb,var(--paper-card) 86%,var(--paper-tint)));--radius:6px;--grid:36px;--pad-x:clamp(20px,5vw,72px);--max-width:1180px}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--paper);background-image:linear-gradient(to right,var(--paper-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--paper-grid) 1px,transparent 1px);background-size:var(--grid) var(--grid);background-attachment:fixed;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}::selection{background:#3f734040}:focus-visible{outline:2px solid var(--green);outline-offset:2px}img,svg{display:block}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--pad-x)}i.ti{font-size:16px;line-height:1;vertical-align:-.125em}.paper-grid{background-color:var(--paper);background-image:linear-gradient(to right,var(--paper-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--paper-grid) 1px,transparent 1px);background-size:var(--grid) var(--grid)}.grid-faint{background-color:var(--paper);background-image:linear-gradient(to right,rgba(0,0,0,.022) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.022) 1px,transparent 1px);background-size:var(--grid) var(--grid)}.framed{position:relative;margin:16px}.framed>.xm{position:absolute;width:13px;height:13px;pointer-events:none;border:0 solid var(--rule-strong)}.framed>.xm.tl{left:-15px;top:-15px;border-left-width:1.5px;border-top-width:1.5px;border-top-left-radius:calc(var(--radius) + 6px)}.framed>.xm.tr{right:-15px;top:-15px;border-right-width:1.5px;border-top-width:1.5px;border-top-right-radius:calc(var(--radius) + 6px)}.framed>.xm.bl{left:-15px;bottom:-15px;border-left-width:1.5px;border-bottom-width:1.5px;border-bottom-left-radius:calc(var(--radius) + 6px)}.framed>.xm.br{right:-15px;bottom:-15px;border-right-width:1.5px;border-bottom-width:1.5px;border-bottom-right-radius:calc(var(--radius) + 6px)}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);padding-bottom:8px;border-bottom:1px solid var(--rule)}.row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.col{display:flex;flex-direction:column;gap:12px}.label-mono{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:30px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:820px){.grid2,.grid3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.005em;border-radius:var(--radius);border:1px solid var(--rule-strong);color:var(--ink);background:var(--grad-card);cursor:pointer;transition:all .14s ease;text-decoration:none;position:relative}.btn:before,.btn:after{content:"";position:absolute;width:10px;height:10px;opacity:0;transition:opacity .14s;pointer-events:none}.btn:before{left:-4px;top:-4px;border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 3px)}.btn:after{right:-4px;bottom:-4px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 3px)}.btn:hover{border-color:var(--ink)}.btn:hover:before,.btn:hover:after{opacity:1}.btn.primary{background:var(--grad-primary);border-color:#2c5430;color:#fff}.btn.primary:hover{background:var(--grad-primary-hover);border-color:#24432a;color:#fff}.btn.ghost{background:none;border-color:transparent;color:var(--ink-mid)}.btn.ghost:hover{color:var(--ink);border-color:var(--rule-strong);background:none}.btn.danger{background:linear-gradient(to bottom,#bd3d3d,#a82c2c);border-color:#7e2222;color:#fff}.btn.danger:hover{background:linear-gradient(to bottom,#a83232,#8f2626);border-color:#6d1d1d}.btn.lg{padding:12px 24px;font-size:15px}.btn.sm{padding:6px 13px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{border-color:var(--rule-strong)}.btn:disabled:hover:before,.btn:disabled:hover:after{opacity:0}.btn i{font-size:16px}.icon-btn{width:34px;height:34px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--grad-card);color:var(--ink-mid);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .14s;font-size:18px}.icon-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--paper-tint)}.compact-btn{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mid);background:none;border:none;border-bottom:2px solid transparent;padding:4px 2px;cursor:pointer;transition:all .15s}.compact-btn:hover{color:var(--green);border-bottom-color:var(--green)}.badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:4px 12px;border:1px solid var(--rule-strong);border-radius:999px;color:var(--ink-mid);display:inline-flex;align-items:center;gap:6px}.badge.green{color:var(--green);border-color:#3f734066;background:linear-gradient(to bottom,#3f734008,#3f73401f)}.badge.warn{color:var(--warn);border-color:#b8830a73;background:linear-gradient(to bottom,#b8830a0a,#b8830a24)}.badge.danger{color:var(--danger);border-color:#b0303066;background:linear-gradient(to bottom,#b0303008,#b030301c)}.badge.info{color:var(--info);border-color:#3a5e8c59;background:linear-gradient(to bottom,#3a5e8c08,#3a5e8c1c)}.dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(to bottom,color-mix(in srgb,currentColor 55%,#fff),currentColor)}.pill{border-radius:999px;padding-left:11px;padding-right:11px}.chip-rm{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:5px 9px 5px 13px;border:1px solid var(--rule-strong);border-radius:999px;color:var(--ink-soft);background:var(--paper-card)}.chip-rm button{border:none;background:none;color:var(--ink-dim);cursor:pointer;display:flex;font-size:14px}.chip-rm button:hover{color:var(--danger)}.msg{display:flex;align-items:center;gap:8px;border:1px solid;border-radius:var(--radius);font-size:13px;line-height:1.45}.msg .ico{display:grid;place-items:center;padding-left:14px;font-size:20px}.msg .bd{flex:1;padding:11px 14px 11px 4px}.msg.ok{color:var(--green);border-color:#3f734066;background:#3f73400f}.msg.err{color:var(--danger);border-color:#b0303066;background:#b030300d}.msg.warn{color:var(--warn);border-color:#b8830a73;background:#b8830a17}.msg.info{color:var(--info);border-color:#3a5e8c59;background:#3a5e8c0d}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:12px;font-weight:500;color:var(--ink-mid)}.field>label .req{color:var(--danger)}.tfield{display:flex;align-items:center;gap:8px;height:38px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-card);padding:0 12px;transition:border-color .15s,box-shadow .15s;position:relative}.tfield:before,.tfield:after{content:"";position:absolute;width:10px;height:10px;opacity:0;transition:opacity .14s;pointer-events:none}.tfield:before{left:-4px;top:-4px;border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 3px)}.tfield:after{right:-4px;bottom:-4px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 3px)}.tfield:focus-within:before,.tfield:focus-within:after{opacity:1}.tfield input,.tfield textarea{flex:1;border:none;background:none;outline:none;font-family:var(--font-body);font-size:15px;color:var(--ink);min-width:0}.tfield input::placeholder,.tfield textarea::placeholder{color:var(--ink-faint)}.tfield:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #3f73401f}.tfield.error{border-color:var(--danger)}.tfield.error:before,.tfield.error:after{border-color:var(--danger)}.tfield.error:focus-within{border-color:var(--danger);box-shadow:0 0 0 3px #b030301a}.tfield .lead{color:var(--ink-dim);display:flex;font-size:16px}.tfield.area{height:auto;align-items:stretch;padding:9px 12px}.tfield.area textarea{resize:vertical;min-height:64px;line-height:1.5}.err-help{font-size:12px;color:var(--danger)}.tfield .step,.tfield .act{width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:0;color:var(--ink-dim);cursor:pointer;font-size:15px}.tfield .step:hover,.tfield .act:hover{background:var(--paper-tint);color:var(--ink)}.tfield .val{flex:1;font-size:15px;color:var(--ink)}.tfield .val.mono,.tfield.numf input{font-family:var(--font-mono)}.check{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);cursor:pointer}.check input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid var(--ink-faint);border-radius:4px;background:var(--paper-card);position:relative;cursor:pointer;transition:border-color .12s;flex:none}.check input[type=radio]{border-radius:50%}.check input:checked{border-color:var(--green-mid)}.check input:checked:after{content:"";position:absolute;inset:3px;border-radius:2px;background:var(--green)}.check input[type=radio]:checked:after{border-radius:50%}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft);cursor:pointer}.switch input{appearance:none;-webkit-appearance:none;width:38px;height:20px;border-radius:999px;background:var(--ink-faint);position:relative;cursor:pointer;transition:.18s;flex:none}.switch input:checked{background:var(--green)}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 2px #0003}.switch input:checked:after{left:20px}.dropzone{border:1.5px dashed var(--rule-strong);border-radius:var(--radius);padding:26px;text-align:center;color:var(--ink-mid);transition:.15s;cursor:pointer;background-color:var(--paper);background-image:linear-gradient(to right,var(--paper-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--paper-grid) 1px,transparent 1px);background-size:24px 24px}.dropzone:hover{border-color:var(--green)}.dropzone .gl{width:40px;height:40px;border-radius:50%;background:var(--paper-card);border:1px solid var(--rule);display:grid;place-items:center;margin:0 auto 10px;color:var(--ink-dim);font-size:18px}.dropzone .big{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}.dropzone .sub{font-size:12px;color:var(--ink-mid);margin-top:3px}.filerow{display:flex;align-items:center;gap:8px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-card);padding:7px 8px 7px 12px;font-size:14px;color:var(--ink-dim)}.filerow .browse{margin-left:auto;border:1px solid var(--rule-strong);border-radius:4px;padding:3px 10px;font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--ink)}.tabs{display:inline-flex;border:1px solid var(--rule);background:var(--paper-tint);border-radius:999px;padding:3px;gap:2px}.tabs button{display:flex;align-items:center;gap:6px;border:none;background:none;border-radius:999px;padding:6px 15px;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mid);cursor:pointer;transition:.15s}.tabs button.on{background:var(--grad-primary);color:#fff;box-shadow:0 1px 2px #0000001f}.tabs button:not(.on):hover{color:var(--ink)}.tabs button i{font-size:14px}.formsection{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius)}.formsection>header{padding:14px 20px;border-bottom:1px solid var(--rule)}.formsection>header .eyebrow{border:none;padding:0}.formsection>header h4{font-family:var(--font-display);font-weight:700;font-size:15px;margin-top:6px}.formsection .body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:600px){.formsection .body{grid-template-columns:1fr}}.pageheader{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.pageheader h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.025em;font-size:1.7rem}.crumb{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-dim);margin-bottom:8px}.crumb a{color:var(--ink-dim);text-decoration:none}.crumb a:hover{color:var(--ink)}.crumb .cur{color:var(--ink);font-weight:600}.crumb i{font-size:13px;color:var(--ink-faint)}.panel{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius)}.panel>header{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.panel>header{padding:14px 18px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.panel>header .eyebrow{border:none;padding:0}.panel .pbody{padding:6px 18px}.kv{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline}.kv:last-child{border-bottom:none}.kv dt{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.kv dd{font-size:14px;color:var(--ink-soft)}.kv dd.mono{font-family:var(--font-mono);font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}.stat-cell{padding:26px 24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative}.stat-cell:last-child{border-right:none}.stat-value{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;line-height:.95;font-size:clamp(2.4rem,4.5vw,3.4rem);font-variant-numeric:tabular-nums;margin-bottom:8px}.stat-value .unit{font-size:.5em;font-weight:600;color:var(--ink-mid)}.stat-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim)}@media(max-width:680px){.stat-grid{grid-template-columns:1fr}.stat-cell{border-right:none}}table.dense{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);font-variant-numeric:tabular-nums}table.dense thead th:first-child{border-top-left-radius:calc(var(--radius) - 1px)}table.dense thead th:last-child{border-top-right-radius:calc(var(--radius) - 1px)}table.dense tbody tr:last-child td:first-child{border-bottom-left-radius:calc(var(--radius) - 1px)}table.dense tbody tr:last-child td:last-child{border-bottom-right-radius:calc(var(--radius) - 1px)}.tablebar+table.dense thead th:first-child{border-top-left-radius:0}.tablebar+table.dense thead th:last-child{border-top-right-radius:0}table.dense th{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mid);text-align:left;padding:11px 16px;border-bottom:1px solid var(--rule-strong);background:var(--grad-header)}table.dense td{padding:13px 16px;border-bottom:1px solid var(--rule);font-size:14px;color:var(--ink-soft)}table.dense tbody tr:last-child td{border-bottom:none}table.dense tbody tr:hover{background:var(--paper-tint)}table.dense .mono{font-family:var(--font-mono);font-size:13px}.pos{color:var(--green);font-weight:600}.neg{color:var(--danger);font-weight:600}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.card{background:var(--paper-card);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:26px 22px 28px}.card .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.25em;font-weight:700;color:var(--green);margin-bottom:12px}.card h4{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.card p{font-size:14px;color:var(--ink-mid);line-height:1.55}@media(max-width:680px){.card-grid{grid-template-columns:1fr}.card{border-right:none}}.menu{width:210px;background:var(--paper-card);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:0 14px 36px #00000024;padding:5px}.menu .mi{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:4px;font-size:14px;color:var(--ink-soft);cursor:pointer}.menu .mi:hover{background:var(--paper-tint);color:var(--ink)}.menu .mi.danger{color:var(--danger)}.menu .mi.danger:hover{background:#b0303012}.menu .mi.on{color:var(--ink);font-weight:600}.menu .mi .ck{margin-left:auto;color:var(--green)}.menu .sep{height:1px;background:var(--rule);margin:5px 0}.menu .mi i{font-size:15px}.spinner{width:24px;height:24px;border-radius:50%;background:conic-gradient(from 90deg,transparent 0%,currentColor 88%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));animation:spin 1s linear infinite;color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:38px;border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--paper-card)}.empty .gl{color:var(--ink-faint);margin-bottom:10px;font-size:30px}.empty .t{font-family:var(--font-display);font-weight:700;font-size:15px;margin-bottom:4px}.empty .s{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--ink-dim);text-transform:uppercase}.entref{display:inline-flex;align-items:center;gap:8px;background:var(--paper-tint);border:1px solid var(--rule);border-radius:999px;padding:5px 12px 5px 7px;font-size:13px;color:var(--ink-soft);text-decoration:none}.entref:hover{border-color:var(--ink)}.entref .av{width:20px;height:20px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.tt-bubble{display:inline-block;background:var(--green-deep);color:#f4f6f2;font-size:12px;padding:7px 11px;border-radius:4px;position:relative}.tt-bubble:after{content:"";position:absolute;bottom:-5px;left:18px;border:5px solid transparent;border-top-color:var(--green-deep);border-bottom:none}.modal-stage{position:relative;border:1px solid var(--rule);border-radius:var(--radius);min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}.modal-stage:before{content:"";position:absolute;inset:0;background:#0f0f1080}.modal{position:relative;width:min(420px,90%);background:var(--paper-card);border-radius:var(--radius);box-shadow:0 24px 60px #0000004d;overflow:hidden}.modal header{padding:18px 20px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;background:var(--grad-header)}.modal header h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem}.modal .mbody{padding:20px;font-size:14px;color:var(--ink-mid);line-height:1.55}.modal footer{padding:14px 20px;border-top:1px solid var(--rule);display:flex;justify-content:flex-end;gap:10px}.progress{height:8px;background:var(--paper-tint);border:1px solid var(--rule);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(to bottom,#5c9255,#3f7340);border-radius:999px}.progress.green>span{background:var(--green)}.coverage{display:flex;gap:6px}.cov-chip{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:9px;font-weight:700}.cov-chip.on{background:var(--green);color:#fff}.cov-chip.off{border:1px dashed var(--rule-strong);background:var(--paper-card);color:var(--ink-faint)}.viz-card{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);padding:18px}.viz-card .vh{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px}.shell{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--paper-card);box-shadow:0 1px 2px #0000000a}.shell aside{background:var(--chrome);border-right:1px solid var(--rule-strong);display:flex;flex-direction:column;min-height:0}.shell .brandrow{height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--rule)}.shell .brandrow .b{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;font-size:16px;color:var(--ink)}.shell .brandrow .mk{width:30px;height:30px;border-radius:50%;background:var(--grad-cell);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px}.shell .brandrow .tog{color:var(--ink-dim);font-size:18px;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius)}.shell .brandrow .tog:hover{background:#0000000d;color:var(--ink)}.shell nav{flex:1;overflow-y:auto;padding:10px 8px}.shell .navlabel{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);padding:12px 8px 5px}.shell nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;margin:1px 0;border-radius:var(--radius);font-size:14px;color:var(--ink-mid);text-decoration:none;position:relative}.shell nav a:hover{background:#0000000a;color:var(--ink)}.shell nav a.on{color:var(--ink);background:var(--paper-card);font-weight:600;box-shadow:0 1px 2px #0000000f,inset 0 0 0 1px var(--rule)}.shell nav a i{font-size:18px;color:var(--ink-dim)}.shell nav a.on i{color:var(--green)}.shell nav a .count{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);background:#0000000d;border-radius:999px;padding:1px 7px}.shell .userbox{flex:none;border-top:1px solid var(--rule);padding:10px 12px;display:flex;align-items:center;gap:10px}.shell .userbox .av{width:30px;height:30px;border-radius:50%;background:var(--grad-cell);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:700;display:grid;place-items:center}.shell .userbox .nm{font-size:13px;font-weight:600;color:var(--ink-soft);line-height:1.2}.shell .userbox .rl{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.shell .userbox .more{margin-left:auto;color:var(--ink-dim);font-size:16px;cursor:pointer}.shell .smain{display:flex;flex-direction:column;min-width:0}.shell .shead{height:56px;flex:none;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:16px;padding:0 22px;background:var(--paper-card)}.shell .shead .title{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.shell .shead .search{margin-left:auto;display:flex;align-items:center;gap:8px;height:34px;width:240px;max-width:32vw;border:1px solid var(--rule-strong);border-radius:999px;background:var(--paper);padding:0 14px;color:var(--ink-dim)}.shell .shead .search input{border:none;background:none;outline:none;font-size:13px;flex:1;min-width:0;color:var(--ink)}.shell .shead .hicon{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:var(--ink-mid);cursor:pointer;font-size:18px;position:relative}.shell .shead .hicon:hover{background:var(--paper-tint);color:var(--ink)}.shell .shead .hicon .nb{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:1.5px solid var(--paper-card)}.shell .scontent{flex:1;padding:22px;overflow:auto}.shell .mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.shell .mstat{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);padding:13px 16px;position:relative}.shell .mstat .l{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}.shell .mstat .v{font-family:var(--font-display);font-weight:800;font-size:1.55rem;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.shell .mstat .d{font-family:var(--font-mono);font-size:11px;margin-top:6px;color:var(--ink-dim)}.shell .ctoolbar{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.shell .ctoolbar .cnt{font-family:var(--font-mono);font-size:11px;color:var(--ink-dim);letter-spacing:.04em}.shell .ctoolbar .spacer{margin-left:auto}@media(max-width:760px){.shell{grid-template-columns:1fr}.shell aside{display:none}}.sheet{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius)}.sheet .filterbar{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.sheet .histbar{border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px)}.sheet .filterbar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;border-bottom:1px solid var(--rule);background:var(--paper-tint);padding:12px 18px}.sheet .filterbar .spacer{margin-left:auto}.sheet table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:fixed}.sheet th{position:relative;background:var(--grad-header);border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);padding:10px 14px;text-align:left;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.sheet th:last-child{border-right:none}.sheet th .handle{position:absolute;right:-3px;top:0;height:100%;width:6px;cursor:col-resize;display:flex;justify-content:center}.sheet th .handle:after{content:"";width:2px;height:100%;background:var(--green);opacity:0;transition:.12s}.sheet th .handle:hover:after{opacity:.7}.sheet td{border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);padding:10px 14px;color:var(--ink-soft);vertical-align:middle;height:48px}.sheet td:last-child{border-right:none}.sheet tbody tr:last-child td{border-bottom:none}.sheet tbody tr:hover td{background:#00000003}.sheet td.edit{cursor:text}.sheet td.edit:hover{background:var(--paper-tint)}.sheet td.focus{box-shadow:inset 0 0 0 2px var(--green);background:var(--paper-card);border-radius:2px}.sheet td .add{color:var(--ink-faint);font-size:12px;cursor:pointer}.sheet td .add:hover{color:var(--green)}.sheet .acts{white-space:nowrap;text-align:right}.sheet .acts button{width:28px;height:28px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--grad-card);color:var(--ink-dim);cursor:pointer;font-size:15px;transition:.12s}.sheet .acts button+button{margin-left:6px}.sheet .acts button:hover{border-color:var(--ink);color:var(--ink);background:var(--paper-tint)}.sheet .acts button.del:hover{border-color:var(--danger);color:var(--danger);background:#b0303014}.sheet .histbar{border-top:1px solid var(--rule);background:var(--paper-tint);padding:14px 18px}.sheet .histbar .h{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:10px}.sheet .histbar .h i{color:var(--ink-dim);font-size:15px}.sheet .histbar li{display:flex;gap:14px;font-size:12px;padding:4px 0;align-items:baseline}.sheet .histbar .when{width:72px;color:var(--ink-dim);flex:none;font-family:var(--font-mono);font-size:11px}.sheet .histbar .who{font-weight:600;color:var(--ink-soft)}.minitag{display:inline-flex;align-items:center;border-radius:999px;background:#3a5e8c1a;color:var(--info);font-size:11px;font-weight:600;padding:2px 8px;font-family:var(--font-mono)}.plate-wrap{display:flex;flex-direction:column;gap:16px}@media(min-width:980px){.plate-wrap{flex-direction:row;align-items:flex-start}}.plate{flex:1;min-width:0;background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius)}.plate .ph{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.plate .legend{border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px)}.plate .ph{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);background:var(--paper-tint);padding:9px 16px}.plate .ph .t{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.plate .ph .acts{display:flex;gap:14px;font-size:11px;color:var(--ink-mid)}.plate .ph .acts span{cursor:pointer}.plate .ph .acts span:hover{color:var(--green)}.plate .grid-scroll{overflow-x:auto;padding:16px}.plate .legend{display:flex;flex-wrap:wrap;gap:6px 18px;border-top:1px solid var(--rule);padding:10px 16px}.plate .legend span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-soft)}.plate .legend .sw{width:12px;height:12px;border-radius:50%}.well-states{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);padding:18px;margin-bottom:16px}.well-states .ws{display:flex;flex-direction:column;align-items:center;gap:6px}.well-states .ws span{font-size:11px;color:var(--ink-mid)}.sidep{width:100%;background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius)}.sidep .sh{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}@media(min-width:980px){.sidep{width:300px;flex:none}}.sidep .sh{border-bottom:1px solid var(--rule);background:var(--paper-tint);padding:9px 16px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.sidep .sb{padding:16px;display:flex;flex-direction:column;gap:14px}.sidep .seclabel{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.sidep .selrow{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--rule);background:var(--paper-tint);border-radius:4px;padding:7px 10px;font-size:14px}.sidep .selrow .x{color:var(--ink-dim);cursor:pointer}.note{font-family:var(--font-mono);font-size:11px;color:var(--ink-dim);letter-spacing:.02em;line-height:1.8}.note b{color:var(--ink-mid)}.utabs{display:flex;gap:2px;border-bottom:1px solid var(--rule)}.utabs a{padding:10px 14px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--ink-mid);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.utabs a.on{color:var(--ink);border-bottom-color:var(--green)}.utabs a:hover:not(.on){color:var(--ink)}.combo{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-card);padding:6px 10px;min-height:38px}.combo .token{display:inline-flex;align-items:center;gap:6px;background:var(--paper-tint);border:1px solid var(--rule);border-radius:999px;padding:2px 5px 2px 9px;font-size:13px}.combo .token i{font-size:13px;color:var(--ink-dim);cursor:pointer}.combo .token i:hover{color:var(--danger)}.combo input{border:none;outline:none;background:none;flex:1;min-width:80px;font-size:14px;color:var(--ink)}.slider input{width:100%;-webkit-appearance:none;appearance:none;height:4px;border-radius:999px;background:linear-gradient(to right,var(--green) 0 60%,var(--paper-tint) 60% 100%);outline:none}.slider input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--green);cursor:pointer;box-shadow:0 1px 3px #00000040}.acc{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-card)}.acc details{border-bottom:1px solid var(--rule)}.acc details:last-child{border-bottom:none}.acc summary{list-style:none;cursor:pointer;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-weight:600;font-size:14px}.acc summary::-webkit-details-marker{display:none}.acc summary i{color:var(--ink-dim);transition:transform .15s}.acc details[open] summary i{transform:rotate(180deg)}.acc .ac-body{padding:0 16px 14px;font-size:14px;color:var(--ink-mid);line-height:1.55}.pager{display:inline-flex;border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.pager a{padding:7px 13px;font-family:var(--font-mono);font-size:13px;color:var(--ink-mid);text-decoration:none;border-right:1px solid var(--rule);cursor:pointer}.pager a:last-child{border-right:none}.pager a.on{background:var(--grad-primary);color:#fff}.pager a:hover:not(.on){background:var(--paper-tint);color:var(--ink)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:700;flex:none}.avgroup{display:flex}.avgroup .avatar{border:2px solid var(--paper);margin-left:-8px}.avgroup .avatar:first-child{margin-left:0}.avgroup .more{background:var(--paper-tint);color:var(--ink-mid)}.kbd{font-family:var(--font-mono);font-size:11px;background:var(--paper-card);border:1px solid var(--rule-strong);border-bottom-width:2px;border-radius:4px;padding:2px 6px;color:var(--ink-soft)}.toast{display:flex;align-items:center;gap:10px;background:var(--green-deep);color:#fff;border-radius:var(--radius);padding:11px 14px;font-size:13px;box-shadow:0 12px 30px #00000040;max-width:360px}.toast i.lead{font-size:18px;color:var(--green-mid)}.toast .close{margin-left:auto;color:#ffffff80;cursor:pointer;font-size:15px}.banner{display:flex;align-items:center;gap:10px;background:#3f734014;border:1px solid rgba(63,115,64,.3);border-radius:var(--radius);padding:11px 16px;font-size:14px;color:var(--ink-soft)}.banner i.lead{color:var(--green);font-size:18px}.banner .x{margin-left:auto;color:var(--ink-dim);cursor:pointer}.skel{background:linear-gradient(90deg,var(--paper-tint) 25%,var(--skel-hi) 37%,var(--paper-tint) 63%);background-size:400% 100%;animation:shimmer 1.4s infinite;border-radius:0}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.stepper{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--rule);padding-bottom:12px}.stepper .srow{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.stepper .slabel{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper .slabel b{color:var(--green);font-weight:700}.stepper .scount{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--ink-dim);flex:none}.stepper .rail{display:flex;gap:4px}.stepper .rail span{height:5px;flex:1;border-radius:999px;background:var(--paper-tint);border:1px solid var(--rule)}.stepper .rail span.done{background:var(--green);border-color:var(--green)}.stepper .rail span.cur{background:var(--green-mid);border-color:var(--green-mid)}.fab{position:fixed;bottom:24px;right:24px;z-index:30;width:52px;height:52px;border-radius:50%;border:1px solid #2c5430;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;box-shadow:0 6px 18px #00000038,inset 0 1px #ffffff14;transition:background .14s,transform .14s}.fab:hover{background:var(--grad-primary-hover);transform:translateY(-1px)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips .chip{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border:1px solid var(--rule-strong);border-radius:999px;background:var(--paper-card);color:var(--ink-mid);cursor:pointer;transition:.13s}.chips .chip:hover{border-color:var(--ink);color:var(--ink)}.chips .chip.on{background:var(--grad-primary);border-color:#2c5430;color:#fff}.chips .chip:disabled{opacity:.45;cursor:not-allowed}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--paper-card);color:var(--ink-mid);font-family:var(--font-mono);font-size:9px;font-weight:700}.count-badge.alert{background:var(--danger);border-color:#7e2222;color:#fff}.drawer-stage{position:relative;border:1px solid var(--rule);border-radius:var(--radius);min-height:300px;overflow:hidden}.drawer-stage:before{content:"";position:absolute;inset:0;background:#0f0f1066}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(380px,92%);background:var(--paper-card);border-left:1px solid var(--rule-strong);box-shadow:-18px 0 44px #0000002e;display:flex;flex-direction:column}.drawer>header{flex:none;padding:16px 20px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--grad-header)}.drawer>header h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.drawer .dbody{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.drawer>footer{flex:none;padding:14px 20px;border-top:1px solid var(--rule);display:flex;justify-content:flex-end;gap:10px;background:var(--paper-tint)}.combo-pop{background:var(--paper-card);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:0 14px 36px #00000024;padding:5px;max-height:260px;overflow-y:auto}.combo-pop .opt{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:4px;font-size:14px;color:var(--ink-soft);cursor:pointer}.combo-pop .opt .sub{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-dim)}.combo-pop .opt.hl{background:#3f734014;color:var(--ink)}.combo-pop .opt.on{font-weight:600;color:var(--ink)}.combo-pop .opt.on .ck{margin-left:auto;color:var(--green)}.combo-pop .opt.new{color:var(--green);font-weight:600}.combo-pop .none{padding:14px 11px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);text-align:center}.cal{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius)}.cal .days .day:last-child{border-bottom-right-radius:calc(var(--radius) - 1px)}.cal .cal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--rule)}.cal .cal-head .m{font-family:var(--font-display);font-weight:700;font-size:15px}.cal .dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--rule);background:var(--grad-header)}.cal .dow span{padding:7px 10px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);text-align:right}.cal .days{display:grid;grid-template-columns:repeat(7,1fr)}.cal .day{min-height:86px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:6px 8px;display:flex;flex-direction:column;gap:4px}.cal .day:nth-child(7n){border-right:none}.cal .days:last-child .day:nth-last-child(-n+7){border-bottom:none}.cal .day .d{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink-soft);align-self:flex-end}.cal .day.out{background:var(--paper)}.cal .day.out .d{color:var(--ink-faint)}.cal .day.today .d{background:var(--green);color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.cal .evt{font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal .evt.info{background:linear-gradient(to bottom,#3a5e8c0a,#3a5e8c21);border:1px solid rgba(58,94,140,.3);color:var(--info)}.cal .evt.teal{background:linear-gradient(to bottom,#1b80730a,#1b807321);border:1px solid rgba(27,128,115,.3);color:var(--teal)}.cal .evt.warn{background:linear-gradient(to bottom,#b8830a0d,#b8830a26);border:1px solid rgba(184,131,10,.35);color:var(--warn)}.cal .evt.plum{background:linear-gradient(to bottom,#5b4b8a0a,#5b4b8a21);border:1px solid rgba(91,75,138,.3);color:var(--plum)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:14px;align-items:start;overflow-x:auto}.kcol{background:var(--paper-tint);border:1px solid var(--rule);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0}.kcol>header{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--rule);background:var(--grad-header);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.kcol>header .t{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mid)}.kcol>header .n{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);background:#0000000d;border-radius:999px;padding:1px 7px}.kcol .kbody{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:40px}.kcard{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 13px;cursor:pointer;transition:border-color .13s}.kcard:hover{border-color:var(--rule-strong)}.kcard .kt{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:7px}.kcard .km{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;color:var(--ink-dim)}.kcard .km .due{margin-left:auto}.kcard .km .due.over{color:var(--danger);font-weight:700}:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense){position:relative}:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense):before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 3px);opacity:0;transition:opacity .14s;pointer-events:none;z-index:2}:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense):after{content:"";position:absolute;right:-4px;bottom:-4px;width:10px;height:10px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 3px);opacity:0;transition:opacity .14s;pointer-events:none;z-index:2}:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense):hover:not(:has(:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense,button,a,input,textarea,select,label,summary):hover)):before,:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense):hover:not(:has(:is(.panel,.cal,.kcol,.kcard,.mstat,.stat-cell,.viz-card,.sheet,.formsection,.acc,.sidep,.plate,table.dense,button,a,input,textarea,select,label,summary):hover)):after{opacity:1}.shell nav a:before{content:"";position:absolute;left:-3px;top:-3px;width:9px;height:9px;border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 2px);opacity:0;transition:opacity .14s;pointer-events:none}.shell nav a:after{content:"";position:absolute;right:-3px;bottom:-3px;width:9px;height:9px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 2px);opacity:0;transition:opacity .14s;pointer-events:none}.shell nav a:hover:before,.shell nav a:hover:after{opacity:1}.fold{position:absolute;top:0;right:0;width:46px;height:46px;clip-path:path("M0 0 L40 0 Q46 0 46 6 L46 46 Z");pointer-events:none}.fold i{position:absolute;top:5px;right:5px;font-size:15px;color:#fff}.fold.good{background:linear-gradient(to bottom left,#87ba87,#4c8c4c)}.fold.bad{background:linear-gradient(to bottom left,#cf6f6f,#a82c2c)}.fold.warn{background:linear-gradient(to bottom left,#e3b95e,#b8830a)}.fold.info{background:linear-gradient(to bottom left,#8fafd2,#3a5e8c)}.tablebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--paper-card);border:1px solid var(--rule);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0}.tablebar .tfield{height:32px;flex:none;width:220px}.tablebar .spacer{margin-left:auto}.tablebar+table.dense{border-top-left-radius:0;border-top-right-radius:0}table.dense th.sort{cursor:pointer;user-select:none}table.dense th.sort i{font-size:12px;vertical-align:-2px;margin-left:4px;color:var(--ink-faint)}table.dense th.sort:hover{color:var(--ink)}table.dense th.sort.on,table.dense th.sort.on i{color:var(--green)}.spinner.sm{width:14px;height:14px;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}.btn.loading{pointer-events:none;opacity:.85}.btn .spinner{color:inherit}.btn.loading:before,.btn.loading:after{opacity:0}.cell-loader{display:inline-flex;gap:7px;align-items:center}.cell-loader span{width:11px;height:11px;border-radius:50%;background:linear-gradient(to bottom,#87ba87,#4c8c4c);animation:cellpulse 1.15s ease-in-out infinite}.cell-loader span:nth-child(2){background:linear-gradient(to bottom,#a2cd8c,#6c9c54);animation-delay:.16s}.cell-loader span:nth-child(3){background:linear-gradient(to bottom,#badba9,#8cb877);animation-delay:.32s}@keyframes cellpulse{0%,to{transform:scale(.68);opacity:.5}40%{transform:scale(1);opacity:1}}.skel-line{height:12px;border-radius:3px}.skel-circle{border-radius:50%}.skel-btn{height:36px;width:120px;border-radius:var(--radius)}.progress.indet>span{width:38%;animation:indet 1.15s ease-in-out infinite}@keyframes indet{0%{margin-left:-38%}to{margin-left:100%}}[data-theme=dark]{color-scheme:dark;--paper:#171814;--paper-grid:rgba(255,255,255,.05);--paper-card:#1f211b;--paper-tint:#272921;--rule:rgba(255,255,255,.12);--rule-strong:rgba(255,255,255,.24);--ink:#f0f0ea;--ink-soft:#d7d7d0;--ink-mid:#a7a7a0;--ink-dim:#82827b;--ink-faint:#575751;--green:#5f975f;--green-mid:#82b382;--green-deep:#22381f;--warn:#d3a338;--danger:#d05c5c;--info:#7c9fc8;--teal:#4fa99c;--plum:#9b8ac2;--chrome:#1b1c17;--skel-hi:#2e3029;--grad-primary:linear-gradient(to bottom,#69a169,#578f57);--grad-primary-hover:linear-gradient(to bottom,#79b179,#69a169)}[data-theme=dark] ::selection{background:#5f975f59}[data-theme=dark] .shell nav a .count,[data-theme=dark] .kcol>header .n{background:#ffffff14}[data-theme=dark] .shell nav a:hover{background:#ffffff0d}[data-theme=dark] .btn.primary,[data-theme=dark] .btn.primary:hover{border-color:#386c38}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ink-panel{background:var(--green-deep);color:#f4f6f2;padding:clamp(36px,6vw,56px);border-radius:var(--radius)}.ink-panel.framed>.xm{border-color:#ffffff4d}.ink-panel .eyebrow{color:#ffffff80;border-color:#ffffff2e}.ink-panel .big{font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,10vw,7rem);line-height:.85;letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:16px 0}.ink-panel .big .slash{color:#ffffff73;font-weight:600}.ink-panel .big .denom{color:#ffffff8c}.ink-panel .cap{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#ffffff8c}.atlas{display:grid;grid-template-columns:300px minmax(0,1fr) 340px;grid-template-rows:100%;height:100dvh;overflow:hidden}.atlas>.rail{border-right:1px solid var(--rule);background:var(--chrome);overflow:hidden;display:flex;flex-direction:column}.atlas>.rail.right{border-right:0;border-left:1px solid var(--rule);background:var(--paper-card);overflow-y:auto}@media(max-width:1100px){.atlas{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.atlas>.rail{display:none}.atlas>.rail.open{display:flex;position:absolute;inset:0 auto 0 0;width:min(340px,88vw);z-index:40;box-shadow:0 0 0 100vmax #00000047}}.rail-toggle{display:none}@media(max-width:1100px){.rail-toggle{display:inline-flex}}.brandrow{display:flex;align-items:center;gap:11px;padding:16px 20px;border-bottom:1px solid var(--rule)}.brandrow img{width:30px;height:30px}.brandrow .name{font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:-.02em;line-height:1.15}.brandrow .sub{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.stage{position:relative;min-width:0;overflow:hidden}.stage canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.stage .overlay{position:absolute;pointer-events:none;z-index:5}.stage .overlay>*{pointer-events:auto}.overlay.top-left{top:16px;left:16px;display:flex;gap:8px;align-items:center}.overlay.top-right{top:16px;right:16px;display:flex;gap:8px}.overlay.bottom-left{bottom:16px;left:16px}.hovertag{position:absolute;z-index:6;pointer-events:none;transform:translate(12px,-50%);background:var(--green-deep);color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:5px 10px;border-radius:999px;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.attrib{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--ink-dim);background:color-mix(in srgb,var(--paper) 80%,transparent);border:1px solid var(--rule);border-radius:var(--radius);padding:5px 9px;max-width:380px;line-height:1.5}.attrib a{color:var(--ink-mid)}.indication-search{padding:18px 20px;display:flex;flex-direction:column;min-height:0;flex:1}.searchbar{display:flex;align-items:center;gap:8px;border:1px solid var(--rule-strong);border-radius:999px;background:var(--paper-card);padding:0 14px;height:38px;color:var(--ink-dim);transition:border-color .14s}.searchbar:focus-within{border-color:var(--green)}.searchbar input{border:none;outline:none;background:none;flex:1;min-width:0;font-family:var(--font-body);font-size:14px;color:var(--ink)}.searchbar input::-webkit-search-cancel-button{cursor:pointer}.listhead{margin-top:18px;padding-bottom:6px;border-bottom:1px solid var(--rule)}.tag-icd{color:var(--green);border:1px solid rgba(63,115,64,.4);border-radius:999px;padding:1px 7px;font-size:9px;letter-spacing:.1em}.resultrow .loc{margin-left:auto;text-transform:none;letter-spacing:.02em;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.results{display:flex;flex-direction:column;gap:1px;margin-top:8px;flex:1;min-height:0;overflow-y:auto}.resultrow{display:block;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius);background:none;cursor:pointer;font-family:var(--font-body);color:var(--ink)}.resultrow:hover{background:var(--paper-card);border-color:var(--rule)}.resultrow.on{background:var(--paper-card);border-color:#3f734066}.resultrow .t{font-size:13.5px;line-height:1.3}.resultrow .m{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-top:3px;display:flex;gap:8px;align-items:center}.dossier{display:flex;flex-direction:column}.dossier>.row,.dossier-empty{padding:20px}.dossier-head{position:sticky;top:0;z-index:5;background:var(--paper-card);padding:18px 20px 0;border-bottom:1px solid var(--rule)}.dossier-tabs{margin-top:16px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.dossier-tabs::-webkit-scrollbar{display:none}.dossier-tabs a{white-space:nowrap;padding:9px 10px;font-size:13px}.dossier-tabs .tabs-loading{align-self:center;margin-left:auto;padding-left:8px}.tabpanel{padding:16px 20px 28px;display:flex;flex-direction:column;gap:16px}.tabpanel>.sect:first-child{border-top:0;padding-top:2px}.dossier h2{font-family:var(--font-display);font-size:21px;font-weight:800;letter-spacing:-.025em;line-height:1.15}.dossier .def{font-size:14px;color:var(--ink-soft);line-height:1.6}.dossier .sect{border-top:1px solid var(--rule);padding-top:14px}.dossier .sect h3{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:9px}.taglist{display:flex;flex-wrap:wrap;gap:6px}.idrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.dossier-empty{color:var(--ink-mid)}.dossier .kv{display:flex;flex-direction:column;gap:5px}.dossier .kv>div{display:flex;gap:10px;align-items:baseline;font-family:var(--font-mono);font-size:11px}.dossier .kv .k{color:var(--ink-dim);min-width:78px;letter-spacing:.1em;text-transform:uppercase;font-size:9px}.dossier .kv .v{color:var(--ink-soft)}.planned{display:flex;flex-direction:column;gap:1px}.planned-row{display:flex;align-items:baseline;gap:10px;padding:5px 0;font-size:13px;color:var(--ink-dim);border-bottom:1px dashed var(--rule)}.planned-row:last-child{border-bottom:0}.planned-row .via-key{margin-left:auto;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.symptom{display:flex;align-items:baseline;gap:8px;font-size:13px;padding:3px 0}.symptom .freq{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);font-variant-numeric:tabular-nums;flex:none}.via{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--rule-strong);color:var(--ink-mid)}.via.direct{color:var(--green);border-color:#3f734066}.via.inherited{color:var(--warn);border-color:#b8830a73}.center-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px}.model-note{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;max-width:min(420px,82%);background:var(--paper-card);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:20px 22px;box-shadow:0 12px 40px #0000001f;text-align:center}.model-note .mn-lead{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.35;color:var(--ink);margin:12px 0 0;text-wrap:balance}.model-note .mn-sub{font-size:13px;color:var(--ink-mid);margin:8px 0 0;line-height:1.5}.genedots{display:flex;flex-direction:column;gap:1px}.gd-axis{display:grid;grid-template-columns:52px 1fr;gap:8px;margin-bottom:5px}.gd-ticks{position:relative;height:11px;font-family:var(--font-mono);font-size:8.5px;color:var(--ink-faint)}.gd-ticks span{position:absolute;transform:translate(-50%)}.gd-row{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;padding:2.5px 0}.gd-sym{font-family:var(--font-mono);font-weight:700;font-size:11.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-track{position:relative;height:16px;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}.gd-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule)}.gd-dot{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--green);border:1px solid var(--paper-card)}.pw-cats{display:flex;flex-direction:column;gap:2px}.pw-cat{display:grid;grid-template-columns:1fr 70px auto;gap:9px;align-items:center;padding:4px 0}.pw-cat .pw-name{font-size:13px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pw-cat .pw-bar{height:5px;border-radius:999px;background:var(--paper-tint);overflow:hidden}.pw-cat .pw-bar span{display:block;height:100%;background:var(--grad-cell)}.pw-cat .pw-ct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;color:var(--ink-dim);min-width:20px;text-align:right}.pw-leaves{margin-top:6px}.pathrow{padding:4px 0;border-bottom:1px dashed var(--rule)}.pathrow:last-of-type{border-bottom:0}.pathrow .pname{display:block;font-size:13px;color:var(--ink-soft);line-height:1.35}.pathrow .ptop{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.cellrow{padding:8px 0;border-bottom:1px solid var(--rule)}.cellrow:last-of-type{border-bottom:0}.celltop{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.cellrow .cname{font-size:13.5px;font-weight:600;color:var(--ink)}.cellrow.linked .cname{color:var(--green)}.cellrow .cbadge{flex:none;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);border:1px solid rgba(63,115,64,.4);background:var(--green-soft, rgba(63,115,64,.1));border-radius:999px;padding:2px 8px}.markers{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.markers .mk{font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--ink-mid);background:var(--paper-tint);border:1px solid var(--rule);border-radius:4px;padding:1px 6px}.markers .mk.hit{color:var(--green);border-color:#3f734073;background:linear-gradient(to bottom,#3f73400a,#3f734021);font-weight:700}.markers .mk-more{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);padding:1px 4px}.biomarker-box{border:1px solid rgba(63,115,64,.35);background:linear-gradient(to bottom,#3f734008,#3f734017);border-radius:var(--radius);padding:10px 12px;margin:12px 0}.biomarker-box .bm-lead{color:var(--green);margin-bottom:7px}.cellfamily{margin-top:14px}.fam-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:5px;border-bottom:1px solid var(--rule-strong);margin-bottom:4px}.fam-head .fam-name{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.fam-head .fam-count{font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.protolinks{display:flex;flex-direction:column;gap:2px}.protolink{display:block;padding:8px 10px;border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-soft);text-decoration:none;font-size:13px;transition:all .14s}.protolink:hover{border-color:var(--green);color:var(--green)}.mechanism .mech-line{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:baseline;font-size:13.5px;color:var(--ink-soft);padding:3px 0;line-height:1.45}.mechanism .mech-k{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.show-more{display:inline-block;margin-top:8px;padding:3px 0;background:none;border:none;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);cursor:pointer;border-bottom:1px solid transparent}.show-more:hover{border-bottom-color:var(--green)}.pipeline{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.pip,.pip-total{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;border:1px solid var(--rule-strong);color:var(--ink-mid)}.pip-total{color:var(--ink-dim)}.drugrow{padding:7px 0;border-bottom:1px solid var(--rule)}.drugrow:last-of-type{border-bottom:0}.drugtop{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.drugrow .dname{font-size:13.5px;font-weight:600;color:var(--ink)}.drugrow .mech{font-size:12px;color:var(--ink-mid);margin-top:2px;line-height:1.4}.phase{flex:none;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--rule-strong);color:var(--ink-mid)}.ph-approved{color:var(--green);border-color:#3f734066;background:linear-gradient(to bottom,#3f734008,#3f73401f)}.ph-p3{color:var(--info);border-color:#3a5e8c59}.ph-p2{color:var(--teal);border-color:#1b807359}.ph-p1{color:var(--plum);border-color:#5b4b8a59}.ph-other{color:var(--ink-dim)}.t-summary{font-family:var(--font-mono);font-size:11px;color:var(--ink-mid);margin-bottom:8px;letter-spacing:.02em}.t-summary b{color:var(--green);font-weight:700}.t-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;margin-bottom:5px;background:var(--paper-tint)}.t-bar span{display:block;height:100%}.t-legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-family:var(--font-mono);font-size:9px;color:var(--ink-dim);letter-spacing:.04em}.t-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}.t-bar .ph-4,.t-legend .ph-4{background:var(--green)}.t-bar .ph-3,.t-legend .ph-3{background:var(--info)}.t-bar .ph-2,.t-legend .ph-2{background:var(--teal)}.t-bar .ph-1,.t-legend .ph-1{background:var(--plum)}.trialrow{padding:7px 0;border-bottom:1px solid var(--rule)}.trialrow:last-of-type{border-bottom:0}.trialtop{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin-bottom:2px}.tstatus{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.tstatus.ongoing{color:var(--green)}.tphase,.tyear{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--ink-faint);text-transform:uppercase}.trialrow .ttitle{font-size:12.5px;color:var(--ink-soft);line-height:1.4}.trialrow .ttitle a{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:2px}.trialrow .ttitle a:hover{color:var(--green)}.dossier .sect .src{margin-top:8px;color:var(--ink-faint)}
