:root{--ink:#1a1a1a;--ink-2:#4b4b4b;--ink-3:#5b5b5b;--ink-4:#767674;--ground:#fff;--ground-2:#f6f6f4;--line:#d4d4d2;--line-2:#e5e5e3;--action:#1d4ed8;--action-ink:#1e3a8a;--v-invalid:#b91c1c;--v-invalid-tint:#fef2f2;--v-invalid-line:#fca5a5;--v-slow:#b91c1c;--v-slow-tint:#fef2f2;--v-slow-line:#fca5a5;--v-runtime:#a21caf;--v-runtime-tint:#fdf4ff;--v-runtime-line:#f0abfc;--v-moderate:#b45309;--v-moderate-tint:#fff7ed;--v-moderate-line:#fdba74;--v-fast:#15803d;--v-fast-tint:#f0fdf4;--v-fast-line:#bbf7d0;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-md:8px;--radius-sm:6px;--radius-xs:4px;--space-xl:28px;--space-md:12px;--space-sm:8px}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}a{color:var(--action)}a:hover{color:var(--action-ink)}code,.mono{font-family:var(--font-mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-3);margin:0;font-size:13px}.error{color:var(--v-invalid)}.dim{color:var(--line)}.spacer{flex-grow:1}.hint{color:var(--ink-4);font-size:12px}.v-invalid{color:var(--v-invalid)}.v-slow{color:var(--v-slow)}.v-runtime_dependent{color:var(--v-runtime)}.v-moderate{color:var(--v-moderate)}.v-fast{color:var(--v-fast)}.block{display:block}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 32px;display:flex}.brand{font-family:var(--font-mono);letter-spacing:.02em;font-size:16px;font-weight:600}.segmented{border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;overflow:hidden}.segmented button{background:var(--ground);height:36px;color:var(--ink);font:500 13px var(--font-sans);cursor:pointer;border:0;padding:0 14px}.segmented button.on{background:var(--ink);color:var(--ground)}.severity{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.severity select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ground);height:36px;font:13px var(--font-sans);color:var(--ink);padding:0 10px}.btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ground);height:36px;font:500 13px var(--font-sans);color:var(--ink);cursor:pointer;padding:0 14px}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--action);color:var(--ground);border:0;padding:0 18px;font-weight:600}.btn.small{height:28px;color:var(--action);padding:0 10px;font-size:12px}.link{color:var(--action);font:500 13px var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.body{flex-wrap:wrap;gap:32px;width:100%;max-width:1360px;margin:0 auto;padding:28px 32px 48px;display:flex}.main{gap:var(--space-xl);flex-direction:column;flex:999 640px;min-width:0;display:flex}.rail{gap:var(--space-md);flex-direction:column;flex:280px;min-width:0;max-width:340px;display:flex}.footer{color:var(--ink-4);border-top:1px solid var(--line-2);margin-top:auto;padding:12px 32px 24px;font-size:12px}.editor{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.editor-head{background:var(--ground-2);border-bottom:1px solid var(--line-2);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;font-size:12px;display:flex}.mark-summary{flex-wrap:wrap;gap:6px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.mark-chip{border-radius:var(--radius-xs);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;padding:2px 6px;font-size:12px}.mark-chip:hover{border-color:var(--line);background:var(--ground)}.editor-body{background:var(--ground);max-height:40vh;position:relative}.editor-body .backdrop,.editor-body textarea{font-family:var(--font-mono);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;tab-size:2;border:0;width:100%;margin:0;padding:22px 18px 30px;font-size:16px;line-height:1.7}.editor-body .backdrop{pointer-events:none;color:var(--ink);position:absolute;inset:0;overflow:auto}.editor-body textarea{resize:vertical;color:#0000;min-height:96px;max-height:40vh;caret-color:var(--ink);z-index:1;background:0 0;outline:none;display:block;position:relative;overflow:auto}.editor-body textarea.over-mark{cursor:pointer}.editor-body textarea::selection{background:#1d4ed82e}.region{border-radius:3px}.region.mark{text-underline-offset:6px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-decoration-thickness:1.5px}.region.hot{outline:1px solid var(--line);outline-offset:1px;background:var(--ground-2)}.region.mark.hot{outline-color:currentColor}.region.mark.v-invalid,.region.mark.v-slow{color:var(--ink);background:var(--v-slow-tint);-webkit-text-decoration-color:var(--v-slow);text-decoration-color:var(--v-slow)}.region.mark.v-runtime_dependent{color:var(--ink);background:var(--v-runtime-tint);-webkit-text-decoration-color:var(--v-runtime);text-decoration-color:var(--v-runtime)}.region.mark.v-moderate{color:var(--ink);background:var(--v-moderate-tint);-webkit-text-decoration-color:var(--v-moderate);text-decoration-color:var(--v-moderate)}.region.mark.v-fast{color:var(--ink);background:var(--v-fast-tint);-webkit-text-decoration-color:var(--v-fast);text-decoration-color:var(--v-fast)}.region.pulse{animation:.7s ease-out pulse}@keyframes pulse{0%{box-shadow:0 0 #1d4ed899}to{box-shadow:0 0 0 10px #1d4ed800}}.hover-card{z-index:20;background:var(--ink);width:300px;color:var(--ground);border-radius:var(--radius-sm);pointer-events:none;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex;box-shadow:0 6px 20px #0000002e}.hover-card .mono{color:var(--line);word-break:break-all;font-size:12px}.hover-card .grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;display:grid}.hover-card .k{color:#a3a3a1}.hover-card .v-invalid,.hover-card .v-slow{color:var(--v-slow-line)}.hover-card .v-runtime_dependent{color:var(--v-runtime-line)}.hover-card .v-moderate{color:var(--v-moderate-line)}.hover-card .v-fast{color:var(--v-fast-line)}.headline{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ground-2);flex-wrap:wrap;align-items:center;gap:20px;padding:20px 22px;display:flex}.headline.v-invalid,.headline.v-slow{border-color:var(--v-slow-line);background:var(--v-slow-tint)}.headline.v-runtime_dependent{border-color:var(--v-runtime-line);background:var(--v-runtime-tint)}.headline.v-moderate{border-color:var(--v-moderate-line);background:var(--v-moderate-tint)}.headline.v-fast{border-color:var(--v-fast-line);background:var(--v-fast-tint)}.headline-main{align-items:baseline;gap:12px;display:flex}.headline-glyph,.headline-word{font-size:30px;line-height:1}.headline-word{font-weight:600}.headline-meaning{color:var(--ink-2);font-size:14px}.headline.v-invalid .headline-glyph,.headline.v-invalid .headline-word,.headline.v-slow .headline-glyph,.headline.v-slow .headline-word{color:var(--v-slow)}.headline.v-runtime_dependent .headline-glyph,.headline.v-runtime_dependent .headline-word{color:var(--v-runtime)}.headline.v-moderate .headline-glyph,.headline.v-moderate .headline-word{color:var(--v-moderate)}.headline.v-fast .headline-glyph,.headline.v-fast .headline-word{color:var(--v-fast)}.chips{flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.chip{background:var(--ground);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.chip.v-invalid,.chip.v-slow{border-color:var(--v-slow-line);color:#7f1d1d}.chip.v-runtime_dependent{border-color:var(--v-runtime-line);color:#701a75}.chip.v-moderate{border-color:var(--v-moderate-line);color:#7c2d12}.chip.v-fast{border-color:var(--v-fast-line);color:#14532d}.section{gap:var(--space-md);flex-direction:column;display:flex}.section-head{align-items:baseline;gap:10px;display:flex}.section-head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:12px;font-weight:600}.finding{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ground);flex-direction:column;gap:14px;padding:18px 20px;transition:border-color .3s;display:flex}.finding.flash{border-color:var(--action);box-shadow:0 0 0 3px #1d4ed833}.finding-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.finding-head .glyph{font-size:16px}.finding-head h3{margin:0;font-size:16px;font-weight:600}.code-chip{font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--ground-2);color:var(--ink-2);white-space:nowrap;padding:3px 8px;font-size:11px}.verdict-word{font-size:12px;font-weight:500}.wwd{gap:var(--space-sm) 16px;grid-template-columns:64px minmax(0,1fr);font-size:14px;line-height:1.5;display:grid}.wwd .label{color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase;padding-top:3px;font-size:12px;font-weight:600}.where,.do,.also{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.also{flex-direction:column;align-items:flex-start;gap:4px}.anchor{font-family:var(--font-mono);border-radius:var(--radius-xs);color:var(--ink);background:var(--ground-2);word-break:break-all;border-bottom:2px solid;padding:2px 6px;font-size:13px;text-decoration:none}.anchor.v-invalid,.anchor.v-slow{background:var(--v-slow-tint);border-color:var(--v-slow)}.anchor.v-runtime_dependent{background:var(--v-runtime-tint);border-color:var(--v-runtime)}.anchor.v-moderate{background:var(--v-moderate-tint);border-color:var(--v-moderate)}.anchor.v-fast{background:var(--v-fast-tint);border-color:var(--v-fast)}.anchor:hover{border-bottom-color:var(--ink)}.type-note{color:var(--ink-2);font-size:12px}.type-note b{font-weight:600}.chip-code{border-radius:var(--radius-xs);background:var(--ground-2);word-break:break-all;padding:2px 6px;font-size:13px}.facts{border-radius:var(--radius-sm);background:var(--ground-2);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px;font-size:12px;display:grid}.facts>div{flex-direction:column;gap:2px;min-width:0;display:flex}.facts .k{color:var(--ink-4)}.facts .mono{overflow-wrap:anywhere;font-size:12px}.more{color:var(--ink-2);font-size:13px}.more summary{cursor:pointer;color:var(--action);align-items:center;gap:6px;font-weight:500;list-style:none;display:inline-flex}.more summary:before{content:"›";transition:transform .15s;display:inline-block}.more[open] summary:before{transform:rotate(90deg)}.more-body{border-left:2px solid var(--line-2);flex-direction:column;gap:10px;margin:8px 0 0 4px;padding:12px 0 0 18px;display:flex}.more-body p{margin:0}.more-body strong{color:var(--ink)}.hidden-row{border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--ink-3);flex-direction:column;gap:8px;padding:10px 14px;font-size:13px;display:flex}.hidden-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hidden-list{flex-direction:column;gap:6px;margin:0;padding:4px 0 0;list-style:none;display:flex}.hidden-list li{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hidden-list .mono{font-size:12px}.legend{border-top:1px solid var(--line-2);color:var(--ink-2);flex-wrap:wrap;gap:18px;padding-top:8px;font-size:12px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.legend b{color:var(--ink);font-weight:600}.types-table{border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;font-size:12px;list-style:none;display:flex;overflow:hidden}.types-row{border:0;border-top:1px solid var(--line-2);background:var(--ground);text-align:left;width:100%;font:12px var(--font-sans);color:var(--ink);cursor:pointer;grid-template-columns:minmax(0,1fr) 90px 68px;align-items:center;gap:8px;padding:9px 12px;display:grid}.types-row.head{background:var(--ground-2);color:var(--ink-3);cursor:default;border-top:0;font-weight:600}.types-row:not(.head):hover{background:var(--ground-2)}.types-row.tint-invalid,.types-row.tint-slow{background:var(--v-slow-tint)}.types-row.tint-runtime_dependent{background:var(--v-runtime-tint)}.types-row.tint-moderate{background:var(--v-moderate-tint)}.types-row.tint-fast{background:var(--v-fast-tint)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail .btn{align-self:flex-start}.sheet{background:var(--ground);width:min(720px,100%);max-width:100vw;height:100%;max-height:100vh;color:var(--ink);border:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0 0 0 auto;box-shadow:-8px 0 24px #00000026}.sheet::backdrop{background:#00000040}.parse-context{border-radius:var(--radius-xs);background:var(--ground-2);white-space:pre;margin:0;padding:8px 10px;font-size:13px;line-height:1.5;overflow-x:auto}.sheet-head{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:12px 16px;display:flex}.sheet-head h2{margin:0;font-size:14px}.sheet-body{font-family:var(--font-mono);flex:1;margin:0;padding:16px;font-size:12px;line-height:1.5;overflow:auto}@media (max-width:1100px){.rail{max-width:none}}@media (max-width:700px){.topbar,.body,.footer{padding-left:16px;padding-right:16px}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.wwd{grid-template-columns:1fr;gap:4px 0}.wwd .label{padding-top:8px}.hover-card{width:auto;bottom:16px;right:16px;position:fixed!important;top:auto!important;left:16px!important}}
