:root{--ink:#1b2340;--muted:#5e6788;--bg:#e9eef5;--panel:#fff;--line:#d6ddea;--accent:#e8455b;--accent-dark:#b32e42;--gold:#f5b83d;--chip:#f1f4f9;--display:"Fredoka", "Trebuchet MS", system-ui, sans-serif;--body:"Nunito", "Segoe UI", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root{--ink:#e8ecf8;--muted:#9aa3c2;--bg:#0d1226;--panel:#161d38;--line:#28315a;--chip:#1e2647}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:500 17px/1.6 var(--body);margin:0}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}h1,h2,h3{font-family:var(--display);margin:0 0 .5em;font-weight:700;line-height:1.15}h1{font-size:clamp(2rem,6vw,3.4rem)}h2{margin-top:0;font-size:clamp(1.4rem,3.5vw,2rem)}h3{font-size:1.15rem}p{margin:0 0 1em}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--panel);z-index:10;border-radius:8px;padding:8px 12px;top:8px;left:16px}.site-header{background:var(--panel);border-bottom:1px solid var(--line)}.bar{flex-wrap:wrap;align-items:center;gap:12px;min-height:60px;padding-top:8px;padding-bottom:8px;display:flex}.brand{font-family:var(--display);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.site-header nav{align-items:center;gap:6px;margin-left:auto;display:flex}.site-header nav a{font-size:.95rem;font-weight:800;text-decoration:none}.site-header nav a[aria-current=page]{color:var(--accent)}.nav-wide .btn{margin-left:8px}.nav-phone{gap:10px!important;display:none!important}@media (width<=640px){.bar{flex-wrap:nowrap}.brand span{max-width:9.5em;font-size:.95rem;line-height:1.1}.nav-wide{display:none!important}.nav-phone{display:flex!important}}.drop.menu summary{padding:4px 12px;font-size:1.15rem}.drop.menu summary:after{display:none}.drop{background:0 0;border:0;border-radius:0;margin:0;padding:0;position:relative}.site-header .btn{white-space:nowrap}.drop summary{cursor:pointer;user-select:none;border-radius:10px;padding:6px 10px;font-size:.95rem;font-weight:800;list-style:none;display:block}.drop summary::-webkit-details-marker{display:none}.drop summary:after{content:"";opacity:.6;border:2px solid;border-width:0 2px 2px 0;width:6px;height:6px;margin-left:7px;transition:transform .15s;display:inline-block;transform:translateY(-3px)rotate(45deg)}.drop[open] summary:after{transform:translateY(0)rotate(-135deg)}.drop summary:hover,.drop[open] summary{background:var(--chip)}.drop summary.here{color:var(--accent)}.drop-list{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #00000024}.drop-list a{border-radius:9px;padding:9px 12px}.drop-list a:hover{background:var(--chip)}.drop.menu summary{border:1px solid var(--line)}.drop.menu .drop-list{min-width:220px;left:auto;right:0}.drop-head{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 12px 2px;font-size:.72rem;font-weight:800}.drop-head:first-child{padding-top:4px}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding:28px 0 40px;font-size:.92rem}.site-footer nav{flex-wrap:wrap;gap:8px 18px;margin-bottom:10px;display:flex}.btn{background:var(--accent);color:#fff;font-family:var(--display);box-shadow:0 4px 0 var(--accent-dark);border-radius:999px;padding:14px 30px;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.06)}.btn:active{box-shadow:0 2px 0 var(--accent-dark);transform:translateY(2px)}.btn.small{box-shadow:0 3px 0 var(--accent-dark);padding:7px 16px;font-size:.95rem;color:#fff!important}section{padding:40px 0}.hero{text-align:center;padding:56px 0 40px}.hero .sub{font-family:var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.4em;font-size:.95rem;font-weight:800;display:block}.hero .lead{max-width:620px;margin:0 auto 1.4em;font-size:1.2rem}.hero .meta{color:var(--muted);margin-top:1.2em;font-size:.92rem}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.card .ico{margin-bottom:8px;font-size:1.8rem;line-height:1}.card p:last-child{margin-bottom:0}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 14px}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}details{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:12px 16px}summary{cursor:pointer;font-weight:800}details p{margin:.6em 0 0}.prose{max-width:720px}.center{text-align:center}.ad{text-align:center;max-width:970px;margin:24px auto}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.72rem;display:block}.shots{scroll-snap-type:x mandatory;grid-auto-columns:minmax(170px,1fr);grid-auto-flow:column;gap:14px;padding:4px 2px 12px;display:grid;overflow-x:auto}.shots figure{scroll-snap-align:start;margin:0}.shots img{aspect-ratio:390/844;border:1px solid var(--line);background:var(--panel);border-radius:18px;width:100%;height:auto;display:block;box-shadow:0 6px 20px #0000001f}.shots figcaption{color:var(--muted);margin-top:8px;font-size:.85rem;line-height:1.35}h2.upd small{font-family:var(--body);color:var(--muted);margin-left:8px;font-size:.9rem;font-weight:700}@media (width>=900px){.shots{grid-template-columns:repeat(6,1fr);grid-auto-flow:row;overflow:visible}}.achs{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.ach{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.ach .ae{flex:none;font-size:1.7rem;line-height:1}.ach b{display:block}.ach span:not(.ae){color:var(--muted);font-size:.9rem;line-height:1.35;display:block}.ach.locked{opacity:.7;border-style:dashed}.shots.desk{grid-auto-columns:minmax(280px,1fr)}.shots.desk img{aspect-ratio:1280/800;border-radius:12px}@media (width>=900px){.shots.desk{grid-template-columns:repeat(3,1fr)}}.gshot{max-width:420px;margin:14px 0 18px}.gshot img{border:1px solid var(--line);border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 6px 18px #0000001a}.gshot figcaption{color:var(--muted);margin-top:6px;font-size:.85rem}.gpair{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.gpair .gshot{margin:6px 0}.sgrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:18px;margin:8px 0 18px;display:grid}.sgrid .gshot{max-width:none;margin:0}.vid{margin:10px 0 18px}.vid video{aspect-ratio:16/9;border:1px solid var(--line);background:#0d1124;border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 8px 26px #00000024}.vid figcaption{color:var(--muted);margin-top:8px;font-size:.85rem}@media (width<=700px){.vid video{aspect-ratio:4/5;object-fit:cover;max-width:460px}}.more{margin:6px 0 0;font-weight:800}@media (width>=900px){.shots.three{grid-template-columns:repeat(3,1fr);max-width:640px}}.toc{border:1px solid var(--line);border-radius:14px;margin:18px 0 24px;padding:12px 18px}.toc ol{columns:2 220px;column-gap:28px;margin:6px 0 0;padding-left:22px}.toc li{break-inside:avoid;margin:3px 0}.prose h2[id]{scroll-margin-top:16px}.totoc{font-size:.85rem}.lead{font-size:1.12rem}.cp{max-width:100%;height:auto;display:block}.cp-sheet{fill:#fffdf7;stroke:#c9c2b0;stroke-width:.6px}.cp-flap{fill:#f3e9d2;stroke:#c9c2b0}.vm-paper{stroke:var(--ink);opacity:.75}.vm{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:6px 0 16px;display:grid}.vm figure,.cp-fig{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin:0;padding:14px}.vm svg{width:100%;max-width:240px;height:auto;margin:0 auto 6px;display:block}.vm figcaption,.cp-fig figcaption{color:var(--muted);font-size:.92rem;line-height:1.4}.cp-fig{float:right;text-align:center;width:220px;margin:4px 0 12px 18px}.cp-fig .cp{margin:0 auto 6px}@media (width<=640px){.cp-fig{float:none;margin:0 auto 14px}}.steps{counter-reset:step;clear:both;gap:12px;margin:12px 0 16px;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--panel);border:1px solid var(--line);border-radius:16px;align-items:center;gap:16px;padding:14px;display:flex;position:relative}.steps li:before{content:counter(step);background:var(--accent);color:#fff;width:26px;height:26px;font:700 .9rem/26px var(--display);text-align:center;border-radius:50%;position:absolute;top:10px;left:10px}.steps svg{flex:none;width:130px;height:auto}@media (width<=480px){.steps li{text-align:left;flex-direction:column}.steps svg{width:150px}}.bases{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:14px;display:grid}.base .cp{width:180px;margin:0 auto 10px}.base h3{margin-bottom:.3em}.base p{font-size:.95rem;line-height:1.5}.key{color:var(--muted);margin-top:12px;font-size:.92rem}.key .kv{color:#2f6fd6;font-weight:800}.key .km{color:#d8434f;font-weight:800}@media (prefers-color-scheme:dark){.cp-sheet{fill:#f4efe2}}.ribbon{background:var(--panel);border:1px solid var(--line);border-radius:999px;margin-top:6px;padding:8px 16px;font-size:.95rem;font-weight:800;line-height:1.35;text-decoration:none;display:inline-block}.ribbon:hover{border-color:var(--accent)}
