:root{color-scheme:light dark;--bg:#f6f5f1;--surface:#fffefa;--ink:#202d2c;--muted:#596761;--line:#d7ddd5;--accent:#26624c;--soft:#e9efe5;--orange:#be622f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 system-ui,sans-serif}main{max-width:1040px;margin:auto;padding:32px 30px 45px}h1{font:500 clamp(28px,5vw,43px)/1.2 Georgia,serif;margin:0 0 20px}.explanation{margin:0 0 24px;font-size:16px;line-height:1.8}a{color:var(--accent);text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible,.graph-scroll:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.infographic{display:block;max-width:650px;margin:0 auto 24px;background:#fffaf0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.infographic img{display:block;width:100%;height:auto}.tabs{display:flex;border-bottom:1px solid var(--line);gap:6px}.tabs button{flex:1;font:600 14px system-ui;padding:16px 10px;color:var(--muted);background:transparent;border:0;border-bottom:3px solid transparent;cursor:pointer}.tabs button[aria-selected="true"]{background:var(--soft);color:var(--accent);border-bottom-color:var(--accent)}section{padding-top:20px}.rank-note{color:var(--muted);font-size:11px}ol{margin:15px 0 0;padding-left:28px}li{padding:0 0 0 4px;border-bottom:1px solid var(--line)}li::marker{color:var(--muted);font-size:12px}details{padding:14px 0}summary{cursor:pointer;display:flex;align-items:baseline;gap:14px;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:'+';color:var(--accent);width:10px;flex-shrink:0}details[open] summary:before{content:'−'}.finding-title{flex:1;font-weight:600;font-size:14px}.score{font:14px ui-monospace,monospace;color:var(--muted)}.finding-detail{margin:10px 0 0 24px;color:var(--muted);font-size:14px}.finding-detail a{display:inline-block;margin-left:5px;font-size:12px}.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:var(--muted);margin-bottom:12px}.graph-scroll{overflow:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface)}#architecture-graph{width:100%;min-width:760px;display:block}.boundary{fill:var(--soft);stroke:var(--line);stroke-dasharray:8 6}.external-boundary{fill:var(--surface);stroke:var(--line)}.boundary-label{fill:var(--muted);font:600 13px system-ui;letter-spacing:1px}.graph-caption{fill:var(--muted);font:11px system-ui}.edge{fill:none;stroke-width:2.2}.edge.base{stroke:#367357}.edge.hf{stroke:#a44b1c;stroke-dasharray:7 4}.edge.internal{stroke:#745099;stroke-dasharray:2 5}.edge-label{font:11px system-ui;paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.edge-label.base{fill:var(--accent)}.edge-label.hf{fill:#a44b1c}.edge-label.internal{fill:#745099}.graph-node{cursor:pointer}.graph-node rect{fill:var(--surface);stroke:var(--line);stroke-width:2}.graph-node:hover rect,.graph-node.active rect,.graph-node:focus rect{stroke:var(--accent);stroke-width:3}.graph-node:focus{outline:none}.node-title{fill:var(--ink);font:600 16px system-ui}.node-sub{fill:var(--muted);font:11px system-ui}#node-detail{margin-top:12px;padding:14px;background:var(--soft);color:var(--ink);font-size:13px}[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{--bg:#141d1a;--surface:#1c2823;--ink:#ecf1e8;--muted:#b3c1b7;--line:#3a4a40;--accent:#a3d6b4;--soft:#27382f;--orange:#f0aa76}.edge-label.hf{fill:#f3b087}.edge-label.internal{fill:#c3a9e0}.edge.hf{stroke:#f3b087}.edge.internal{stroke:#c3a9e0}.edge.base{stroke:#a3d6b4}}@media(max-width:650px){main{padding:24px 20px 35px}.explanation{font-size:15px}.tabs button{font-size:13px}.finding-title{font-size:13px}summary{gap:10px}}
