:root{--bg: #ffffff;--bg-soft: #f6f8fa;--text: #1a202c;--text-soft: #57606a;--border: #d8dee4;--accent: #0f4c81;--accent-soft: #e8f1f8;--win: #1a7f37;--win-bg: #dafbe1;--warn: #9a6700;--max-width: 1080px;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}code,pre{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em}code{background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}pre{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-x:auto}pre code{background:none;border:none;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25}h2{margin-top:2.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}nav.site{background:#101828;color:#e5e7eb;position:sticky;top:0;z-index:50}nav.site .inner{max-width:var(--max-width);margin:0 auto;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1.4rem}nav.site .brand{font-weight:700;font-size:1.05rem;color:#fff;display:flex;align-items:center;gap:.5rem}nav.site a{color:#cbd5e1}nav.site a:hover{color:#fff;text-decoration:none}nav.site .spacer{flex:1}.hero{text-align:center;padding:3.2rem 1rem 2.2rem}.hero h1{font-size:2.1rem;margin:.6rem auto .8rem;max-width:56rem}.badge{display:inline-block;background:#b4232c;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.04em;border-radius:999px;padding:.3rem .95rem}.authors{max-width:52rem;margin:0 auto;font-size:1.02rem}.authors sup{color:var(--text-soft)}.affil{color:var(--text-soft);font-size:.9rem;margin-top:.4rem}.hero .links{margin-top:1.4rem;display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.5rem 1.25rem;font-weight:600;border:1.5px solid var(--text);color:var(--text)}.btn:hover{background:var(--text);color:#fff;text-decoration:none}.btn.primary{background:var(--text);color:#fff}.btn.primary:hover{background:#000}.btn.disabled{opacity:.45;pointer-events:none}.figure{margin:2rem auto;text-align:center}.figure img{max-width:100%;border:1px solid var(--border);border-radius:10px}.figure figcaption{color:var(--text-soft);font-size:.92rem;max-width:52rem;margin:.7rem auto 0;text-align:left}.abstract{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:1.4rem 1.6rem;max-width:56rem;margin:0 auto}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin:2rem 0}.stat{background:var(--accent-soft);border:1px solid var(--border);border-radius:10px;text-align:center;padding:1rem .5rem}.stat .num{font-size:1.7rem;font-weight:800;color:var(--accent)}.stat .label{color:var(--text-soft);font-size:.88rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.4rem 0}.card{border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem;background:#fff}.card h3{margin:0 0 .4rem;font-size:1rem}.card p{margin:0;color:var(--text-soft);font-size:.93rem}table.simple{border-collapse:collapse;width:100%;font-size:.93rem}table.simple th,table.simple td{border:1px solid var(--border);padding:.45rem .7rem;text-align:left}table.simple th{background:var(--bg-soft)}table.simple td.num{text-align:right;font-variant-numeric:tabular-nums}.note{color:var(--text-soft);font-size:.9rem}.check{color:var(--win);font-weight:700}.bibtex-wrap{position:relative;max-width:56rem;margin:1rem auto}.bibtex-wrap button{position:absolute;top:.6rem;right:.6rem;border:1px solid var(--border);background:#fff;border-radius:6px;padding:.25rem .7rem;cursor:pointer;font-size:.85rem}.bibtex-wrap button:hover{background:var(--bg-soft)}.flow{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;margin:1.6rem 0}.flow .step{flex:1 1 150px;min-width:150px;border:1.5px solid var(--border);border-radius:10px;background:#fff;padding:.8rem .9rem;position:relative;margin-right:1.6rem;margin-bottom:.8rem}.flow .step:last-child{margin-right:0}.flow .step:after{content:"→";position:absolute;right:-1.35rem;top:50%;transform:translateY(-50%);color:var(--text-soft);font-size:1.1rem}.flow .step:last-child:after{content:none}.flow .step .k{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}.flow .step h4{margin:0 0 .3rem;font-size:.95rem}.flow .step p{margin:0;font-size:.84rem;color:var(--text-soft)}.flow .step.accent{background:var(--accent-soft);border-color:var(--accent)}.flow .step.danger{background:#fff5f5;border-color:#b4232c}.flow .step.danger .k{color:#b4232c}.arch{border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);padding:1.2rem;margin:1.4rem 0}.arch .lane{display:flex;gap:.8rem;flex-wrap:wrap;align-items:stretch;margin-bottom:.8rem}.arch .lane:last-child{margin-bottom:0}.arch .box{flex:1 1 140px;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:.6rem .8rem;font-size:.85rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.arch .box:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 18px #0f4c8121}.arch .box b{display:block;font-size:.9rem}.arch .box span{color:var(--text-soft);font-size:.8rem}.arch .box.core{border-color:var(--accent);background:var(--accent-soft)}.arch .down{text-align:center;color:var(--accent);margin:.15rem 0;font-size:1rem;animation:arch-flow 1.8s ease-in-out infinite}@keyframes arch-flow{0%,to{opacity:.35;transform:translateY(-2px)}50%{opacity:1;transform:translateY(2px)}}.arch .lane-label{flex:0 0 92px;display:flex;align-items:center;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}.numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;margin:1.4rem 0}.numbers .n{border:1px solid var(--border);border-radius:10px;padding:.7rem .4rem;text-align:center}.numbers .n .v{font-weight:800;font-size:1.25rem;color:var(--accent)}.numbers .n .l{font-size:.82rem;color:var(--text-soft)}footer.site{margin-top:4rem;border-top:1px solid var(--border);padding:1.6rem 0 2.4rem;color:var(--text-soft);font-size:.9rem;text-align:center}@media(max-width:640px){.hero h1{font-size:1.5rem}}
