*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f6f7f9;color:#202b3c;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.75}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #2455a4;outline-offset:5px}.topbar{height:80px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fff;border-bottom:1px solid #dfe5ef}.identity{display:flex;align-items:center;gap:14px;color:#2455a4;font-size:24px;font-weight:750}.identity span{font-size:17px;color:#202b3c}.topbar nav{display:flex;gap:28px;font-size:16px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1500px;margin:auto}aside{position:sticky;top:80px;height:calc(100vh - 80px);overflow:auto;padding:32px 20px;background:#eef1f5;border-right:1px solid #dfe5ef}.nav-label{font-size:14px;font-weight:700;letter-spacing:1.3px;margin:0 14px 16px;color:#627189}aside nav{display:grid;gap:6px}aside nav a{display:block;padding:12px 14px;border-radius:9px;border:1px solid transparent}aside nav a:hover{background:#e5e9f0}aside nav a[aria-current=page]{background:#fff;border-color:#ccd6e5;box-shadow:0 3px 12px #1e3a5f08;color:#234c89}aside nav span{font-size:17px;font-weight:650;display:block}aside nav small{font-size:14px;display:block;color:#66758b}.back{display:block;margin:28px 14px;font-size:15px;color:#536680}main{width:100%;max-width:1080px;padding:52px 64px 30px}.category{font-size:15px;font-weight:650;color:#2455a4;margin:0 0 10px}h1{font-size:44px;line-height:1.2;letter-spacing:-1.5px;margin:0 0 14px}h2{font-size:28px;line-height:1.35;letter-spacing:-.6px;margin:0 0 24px}h3{font-size:20px;line-height:1.4;margin:0 0 12px}.subtitle{font-size:18px;color:#637189;margin:0 0 24px}.open-app{display:inline-block;background:#2455a4;color:white;padding:11px 21px;border-radius:8px;font-weight:600;font-size:16px}.on-page{display:flex;gap:26px;border-bottom:1px solid #d7dfeb;padding:24px 0 14px;margin-bottom:36px;font-size:16px;color:#2a548c}.narrative{background:#fff;border:1px solid #dfe5ef;border-radius:14px;padding:32px;margin-bottom:48px}.narrative p{margin:20px 0;color:#3d4d64;font-size:17px}.narrative p:last-child{margin-bottom:0}.technical{display:grid;gap:18px}.technical section{background:#fff;padding:28px 32px;border:1px solid #dfe5ef;border-radius:12px}.technical p{font-size:17px;color:#3d4d64;margin:0}footer{border-top:1px solid #dfe5ef;margin-top:44px;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#637189}footer a{color:#2455a4}@media(max-width:1000px){main{padding:35px 30px}.layout{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:720px){.topbar{height:auto;min-height:70px;padding:15px 20px;flex-wrap:wrap;gap:12px}.topbar nav{font-size:14px;gap:18px}.identity span{font-size:16px}.layout{display:block}aside{position:static;height:auto;border-right:0;border-bottom:1px solid #dfe5ef;padding:16px}aside nav{display:flex;overflow:auto;gap:8px;padding-bottom:8px}aside nav a{min-width:165px;background:#fff}aside nav span{font-size:15px}aside nav small{font-size:13px}.nav-label{margin:0 0 10px}.back{display:none}main{padding:30px 20px}h1{font-size:34px}h2{font-size:25px}.narrative,.technical section{padding:24px}footer{flex-direction:column}.on-page{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{--ink:#202b3c;--muted:#526176;--action:#2455a4;--line:#dfe5ef}body{font-family:"Segoe UI",Arial,sans-serif}.topbar{box-shadow:0 1px 6px #202b3c05}.identity{background:none}.identity span{font-weight:650}h1{font-size:40px;letter-spacing:-1.1px}h2{font-size:27px}.subtitle{color:var(--muted)}aside nav small,.nav-label,footer{color:#526176}aside nav a[aria-current=page]{border-left:3px solid var(--action);padding-left:12px;background:#fff;box-shadow:0 2px 8px #202b3c06}.narrative,.technical section{box-shadow:0 2px 6px #202b3c03}.narrative p,.technical p{max-width:76ch}.open-app:hover{background:#193f7d}.project-label{margin-top:26px}.skip{position:absolute;top:-100px;left:20px;z-index:100;padding:10px;background:white}.skip:focus{top:10px}@media(max-width:720px){h1{font-size:32px}.project-label{margin-top:18px}}
