@font-face{font-family:Tium;src:url("assets/Tium-Bold.ttf") format("truetype");font-display:swap;font-weight:800}
@font-face{font-family:Pretendard;src:url("assets/Pretendard-Medium.ttf") format("truetype");font-display:swap;font-weight:400}

:root{
  --navy:#0b2743;
  --navy-2:#102f50;
  --navy-3:#071a2d;
  --ink:#12263a;
  --blue:#2379c9;
  --blue-soft:#78b9eb;
  --cream:#f5efdf;
  --paper:#fbf8ef;
  --mist:#e7edf0;
  --gold:#dfa92b;
  --gold-light:#f8d46d;
  --green:#82a75b;
  --red:#cf5a4a;
  --line:rgba(16,47,80,.17);
  --shadow:0 24px 70px rgba(5,23,40,.18);
  --wrap:min(1400px,calc(100vw - 112px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity}
body{margin:0;background:var(--navy-3);color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;font-weight:400;overflow-x:hidden}
button,a,input{font:inherit}
button,a{color:inherit}
button{cursor:pointer}
a{text-decoration:none}
img,video{display:block;max-width:100%}
em{color:var(--blue);font-style:normal}
::selection{background:var(--gold);color:var(--navy)}

.skip-link{position:fixed;z-index:1000;left:18px;top:-80px;padding:13px 20px;background:var(--gold);color:var(--navy);font-weight:800;border-radius:0 0 10px 10px}
.skip-link:focus{top:0}
.wrap{width:var(--wrap);margin:0 auto;position:relative;z-index:2}

.topbar{position:fixed;z-index:100;left:0;right:0;top:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#fff;background:linear-gradient(180deg,rgba(7,26,45,.88),rgba(7,26,45,.18));backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.18em;font-weight:800}
.brand small{display:block;margin-top:4px;font-size:8px;letter-spacing:.13em;color:rgba(255,255,255,.55)}
.brand-mark{display:grid;place-items:center;width:48px;height:34px;background:var(--gold);color:var(--navy);clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);font-family:Tium,sans-serif;letter-spacing:0}
.brand-mark span{color:#fff}
.top-links{display:flex;align-items:center;gap:25px;font-size:10px;letter-spacing:.16em}
.top-links a{opacity:.74;transition:.2s}
.top-links a:hover,.top-links a:focus-visible{opacity:1;color:var(--gold-light)}
.top-links .download-link{padding:10px 14px;border:1px solid rgba(255,255,255,.28);opacity:1}

.chapter{position:relative;min-height:100svh;scroll-snap-align:start;overflow:hidden}
.chapter-inner{min-height:100svh;padding:126px 0 95px;display:flex;flex-direction:column;justify-content:center}
.paper-chapter{background-color:var(--paper);background-image:linear-gradient(rgba(11,39,67,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,39,67,.035) 1px,transparent 1px);background-size:36px 36px}
.mist-chapter{background:linear-gradient(135deg,#edf2f3,#dfe8ec 62%,#e8edef)}
.dark-chapter{background:var(--navy);color:#fff}
.blueprint-chapter{background-color:var(--navy);background-image:linear-gradient(rgba(108,180,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(108,180,232,.07) 1px,transparent 1px),radial-gradient(circle at 78% 22%,rgba(45,122,188,.22),transparent 36%);background-size:32px 32px,32px 32px,auto}
.chapter-no{position:absolute;right:34px;bottom:30px;font-family:Tium,sans-serif;font-size:12px;letter-spacing:.18em;opacity:.45;z-index:3}
.chapter-no:before{content:"";display:inline-block;width:42px;height:1px;background:currentColor;vertical-align:middle;margin-right:11px}

.chapter-title{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:46px}
.chapter-title h2{margin:12px 0 0;font-family:Tium,sans-serif;font-size:clamp(36px,4.5vw,68px);line-height:1.13;letter-spacing:-.045em}
.chapter-title .lead{width:min(450px,38vw);font-size:16px;line-height:1.8;color:#5a6a77;margin:0 0 4px}
.compact-title{margin-bottom:30px}
.kicker{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.22em;font-weight:800;color:var(--blue)}
.kicker i{display:block;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(223,169,43,.12)}
.kicker.light{color:rgba(255,255,255,.8)}
.tech-button{border:1px solid rgba(11,39,67,.28);background:transparent;padding:14px 17px;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:800;letter-spacing:.05em;color:var(--navy);transition:.2s;white-space:nowrap}
.tech-button span{font-family:ui-monospace,monospace;color:var(--blue)}
.tech-button b{color:var(--gold);font-size:17px}
.tech-button:hover,.tech-button:focus-visible{background:var(--navy);color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px rgba(11,39,67,.15)}
.light-button{border-color:rgba(255,255,255,.35);color:#fff}
.light-button:hover,.light-button:focus-visible{background:var(--gold);color:var(--navy);border-color:var(--gold)}

/* Hero */
.hero{min-height:100svh;display:flex;align-items:center}
.hero-media{position:absolute;inset:0;background:#071a2d}
.hero-media video{width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.83) contrast(1.08)}
.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,21,37,.98) 0%,rgba(5,21,37,.87) 43%,rgba(5,21,37,.18) 77%,rgba(5,21,37,.55) 100%),linear-gradient(0deg,rgba(5,21,37,.72),transparent 45%)}
.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.hero-copy{padding-top:72px;color:#fff}
.game-logo{width:min(390px,42vw);height:auto;margin:25px 0 20px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.4))}
.hero h1{margin:0;font-family:Tium,sans-serif;font-size:clamp(43px,6vw,86px);line-height:1.04;letter-spacing:-.045em}
.hero h1 span{color:var(--gold-light)}
.hero-copy>p{max-width:700px;margin:24px 0 30px;color:rgba(255,255,255,.76);line-height:1.75;font-size:16px}
.hero-meta{display:flex;align-items:stretch;gap:25px}
.duration-seal{width:174px;min-height:125px;padding:14px 18px;background:var(--gold);color:var(--navy);clip-path:polygon(0 0,91% 0,100% 14%,100% 100%,9% 100%,0 86%);display:grid;grid-template-columns:1fr auto;align-items:end}
.duration-seal small{grid-column:1/-1;font-size:8px;letter-spacing:.12em;align-self:start}
.duration-seal strong{font-family:Tium,sans-serif;font-size:70px;line-height:.7;letter-spacing:-.06em}
.duration-seal span{font-family:Tium,sans-serif;font-size:17px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.08em}
.hero-meta dl{margin:0;padding:8px 0;display:grid;gap:9px;min-width:340px}
.hero-meta dl div{display:grid;grid-template-columns:70px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:7px}
.hero-meta dt{font-size:9px;color:var(--blue-soft);letter-spacing:.15em;font-weight:800}
.hero-meta dd{margin:0;font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.88)}
.scroll-cue{position:absolute;left:0;bottom:-72px;display:flex;align-items:center;gap:20px;color:rgba(255,255,255,.65);font-size:11px;letter-spacing:.14em}
.scroll-cue b{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--gold)}

/* Media */
.media-shell{position:relative;overflow:hidden;background:#0b2035;box-shadow:var(--shadow)}
.media-shell video{width:100%;height:100%;object-fit:cover}
.media-shell:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.media-toggle{position:absolute;z-index:3;right:14px;top:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(4,21,37,.62);color:#fff;display:grid;place-items:center;backdrop-filter:blur(5px);opacity:.82}
.media-toggle:hover,.media-toggle:focus-visible{background:var(--gold);color:var(--navy);opacity:1}
.feature-media{margin:0;border-radius:3px}
.feature-media.landscape{aspect-ratio:16/9}
.feature-media figcaption,.portrait-media figcaption,.deck-proof figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:15px 18px;background:linear-gradient(0deg,rgba(6,24,41,.93),transparent);color:#fff;font-size:9px;letter-spacing:.13em;display:flex;align-items:center;gap:9px}
.feature-media figcaption i,.portrait-media figcaption i,.deck-proof figcaption i{width:7px;height:7px;background:var(--gold);border-radius:50%}

/* Game */
.game-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.7fr);gap:34px;align-items:stretch}
.game-rules{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}
.game-rules article{display:flex;gap:14px;padding:22px 17px;border-bottom:1px solid var(--line)}
.game-rules article:nth-child(odd){border-right:1px solid var(--line)}
.game-rules article:nth-child(n+3){border-bottom:0}
.game-rules article>span{font-family:Tium,sans-serif;font-size:12px;color:var(--gold)}
.game-rules small{font-size:8px;letter-spacing:.16em;color:var(--blue)}
.game-rules h3{margin:7px 0 5px;font-family:Tium,sans-serif;font-size:19px}
.game-rules p{margin:0;color:#62717b;font-size:12px;line-height:1.55}

/* Thesis */
.thesis-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:stretch}
.risk-lab{padding:28px 30px;background:var(--navy);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.risk-lab:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(94,174,231,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(94,174,231,.09) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.risk-head{position:relative;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:15px}
.risk-head span{font-size:9px;letter-spacing:.17em;color:var(--blue-soft)}
.risk-head strong{font-family:Tium,sans-serif;color:var(--gold-light);letter-spacing:.06em}
.worm-chain{position:relative;z-index:1;height:96px;display:flex;align-items:center;overflow:hidden;padding:0 7px}
.worm-chain i{flex:0 0 18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#f7cd54,#bd7d13);border:2px solid #ffeaa0;margin-left:-5px;box-shadow:0 4px 8px rgba(0,0,0,.18);transform:translateY(var(--rise,0))}
.worm-chain i:first-child{width:29px;height:29px;flex-basis:29px;margin-left:0;background:#edf5f7;border-color:#69c7f1}
.risk-lab label{position:relative;display:block;font-size:10px;letter-spacing:.12em;margin-bottom:8px;color:rgba(255,255,255,.62)}
.risk-lab input{position:relative;width:100%;accent-color:var(--gold)}
.risk-metrics{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:22px}
.risk-metrics div{background:#102e4d;padding:17px}
.risk-metrics small{display:block;color:var(--blue-soft);font-size:8px;letter-spacing:.13em}
.risk-metrics b{display:block;margin:8px 0 3px;font-family:Tium,sans-serif;font-size:31px;color:var(--gold-light)}
.risk-metrics span{font-size:9px;color:rgba(255,255,255,.56)}
.risk-lab>p{position:relative;margin:16px 0 0;font-size:10px;color:rgba(255,255,255,.48);line-height:1.6}
.thesis-flow{display:grid;grid-template-columns:1fr;gap:8px}
.thesis-flow article{background:rgba(255,255,255,.68);border-left:5px solid var(--blue);padding:17px 20px;display:grid;grid-template-columns:92px 1fr;align-items:center;box-shadow:0 6px 18px rgba(11,39,67,.06)}
.thesis-flow article:nth-of-type(3){border-color:var(--red)}
.thesis-flow article:nth-of-type(4){border-color:var(--green)}
.thesis-flow b{font-family:Tium,sans-serif;color:var(--blue);letter-spacing:.07em}
.thesis-flow span{font-weight:800}
.thesis-flow p{grid-column:2;margin:3px 0 0;color:#6a7780;font-size:11px}
.thesis-flow>i{text-align:center;height:8px;line-height:8px;color:#8499a7;font-style:normal}

/* Scope */
.mini-seal{width:122px;height:86px;background:var(--gold);color:var(--navy);display:grid;place-items:center;align-content:center;transform:rotate(2deg);box-shadow:8px 9px 0 var(--navy)}
.mini-seal strong{font-family:Tium,sans-serif;font-size:32px}
.mini-seal span{font-size:9px;letter-spacing:.13em}
.delivery-track{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;margin-bottom:30px}
.delivery-track article{padding:22px;min-height:178px;border-right:1px solid var(--line);position:relative}
.delivery-track article:last-child{border-right:0}
.delivery-track small{font-size:8px;color:#8a979f;letter-spacing:.15em}
.delivery-track article>span{display:block;margin:16px 0 8px;font-family:Tium,sans-serif;font-size:12px;color:var(--blue);letter-spacing:.1em}
.delivery-track h3{margin:0 0 9px;font-family:Tium,sans-serif;font-size:20px}
.delivery-track p{font-size:11px;line-height:1.65;color:#6b7880;margin:0}
.delivery-track article:after{content:"";position:absolute;left:22px;right:22px;bottom:15px;height:3px;background:linear-gradient(90deg,var(--gold) 0 70%,#dce4e7 70%)}
.ownership-board{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px}
.role-card{padding:22px 24px;background:var(--cream);border-top:4px solid var(--blue)}
.role-card small{font-size:8px;letter-spacing:.14em;color:var(--blue)}
.role-card h3{font-family:Tium,sans-serif;margin:10px 0 9px;font-size:21px}
.role-card p{margin:0;font-size:11px;line-height:1.7;color:#5f6f79}
.primary-role{background:var(--navy);color:#fff;border-color:var(--gold)}
.primary-role small{color:var(--gold-light)}
.primary-role p{color:rgba(255,255,255,.66)}
.team-role{border-color:#8b9ba4}

/* Architecture */
.architecture-board{display:grid;grid-template-columns:1fr .72fr 1fr;gap:26px;align-items:center;padding:36px;border:1px solid rgba(120,185,235,.24);background:rgba(4,21,37,.46);position:relative}
.architecture-board:before,.architecture-board:after{content:"";position:absolute;width:36px;height:36px;border-color:var(--gold);border-style:solid}
.architecture-board:before{left:-1px;top:-1px;border-width:3px 0 0 3px}
.architecture-board:after{right:-1px;bottom:-1px;border-width:0 3px 3px 0}
.architecture-column{display:grid;gap:10px}
.architecture-column>small{text-align:center;color:var(--blue-soft);letter-spacing:.16em;font-size:9px;margin-bottom:3px}
.architecture-node{padding:17px 19px;border:1px solid rgba(120,185,235,.45);background:rgba(18,59,91,.72);font-family:Tium,sans-serif;font-size:15px;letter-spacing:.04em}
.architecture-node span{display:block;margin-top:6px;color:rgba(255,255,255,.52);font-family:Pretendard,sans-serif;font-size:9px;letter-spacing:.06em}
.team-node{border-style:dashed;opacity:.83}
.architecture-spine{display:grid;grid-template-columns:25px 1fr 25px;align-items:center}
.spine-arrow{font-size:25px;color:var(--gold);text-align:center}
.architecture-core{padding:32px 15px;background:var(--gold);color:var(--navy);text-align:center;clip-path:polygon(10% 0,90% 0,100% 14%,100% 86%,90% 100%,10% 100%,0 86%,0 14%)}
.architecture-core small{font-size:8px;letter-spacing:.15em}
.architecture-core b{font-family:Tium,sans-serif;display:block;margin:11px 0 6px;font-size:21px}
.architecture-core span{font-size:9px}
.architecture-base{grid-column:1/-1;margin-top:5px;display:flex;align-items:center;gap:14px;padding:13px 18px;background:rgba(104,182,237,.12);border-top:1px solid rgba(104,182,237,.25);font-size:9px;letter-spacing:.1em}
.architecture-base i{height:1px;background:rgba(255,255,255,.22);flex:1}
.architecture-base b{font-family:Tium,sans-serif;font-size:11px}
.architecture-note{display:grid;grid-template-columns:130px 1fr;margin-top:24px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.architecture-note b{font-family:Tium,sans-serif;color:var(--gold-light)}
.architecture-note p{margin:0;max-width:990px;line-height:1.7;color:rgba(255,255,255,.64);font-size:12px}

/* Technical sections */
.technical-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:center}
.reverse-layout{grid-template-columns:.83fr 1.17fr}
.formula-card{padding:25px;background:var(--navy);color:#fff;border-left:6px solid var(--gold);margin-bottom:22px}
.formula-card small{font-size:8px;color:var(--blue-soft);letter-spacing:.16em}
.formula-card strong{display:block;font-family:Tium,sans-serif;font-size:22px;margin:13px 0;color:var(--gold-light)}
.formula-card p{font-size:11px;line-height:1.65;color:rgba(255,255,255,.62);margin:0}
.number-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.number-list li{display:grid;grid-template-columns:45px 1fr;gap:10px;align-items:start;border-bottom:1px solid var(--line);padding:12px 0}
.number-list li>b{font-family:Tium,sans-serif;color:var(--gold);font-size:12px}
.number-list li span{font-size:11px;line-height:1.55;color:#60707b}
.number-list li strong{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}
.state-rail{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:5px;margin-bottom:24px}
.state-rail div{padding:15px 9px;border:1px solid #b8c5cb;text-align:center;background:#fff}
.state-rail div.active{border-color:var(--blue);box-shadow:inset 0 -4px var(--blue)}
.state-rail b{font-family:Tium,sans-serif;font-size:10px;letter-spacing:.05em;display:block}
.state-rail span{display:block;font-size:8px;color:#7b8991;margin-top:5px}
.state-rail i{font-style:normal;color:var(--gold)}
.decision-summary{display:grid;gap:8px}
.decision-summary article{padding:16px 18px;background:rgba(255,255,255,.65);border-left:4px solid var(--blue)}
.decision-summary article:nth-child(2){border-color:var(--gold)}
.decision-summary article:nth-child(3){border-color:var(--green)}
.decision-summary small{font-size:8px;color:#78868e;letter-spacing:.12em}
.decision-summary h3{font-family:Tium,sans-serif;font-size:17px;margin:7px 0 5px}
.decision-summary p{font-size:10px;line-height:1.55;color:#64747e;margin:0}

/* Factory */
.factory-chapter{background:linear-gradient(135deg,var(--navy-3),var(--navy) 58%,#113a5f)}
.factory-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
.pipeline-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:26px}
.pipeline-strip span{padding:12px 13px;border:1px solid rgba(120,185,235,.45);background:rgba(13,50,82,.7);font-family:Tium,sans-serif;font-size:10px;letter-spacing:.07em}
.pipeline-strip i{font-style:normal;color:var(--gold)}
.verified-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.verified-metrics article{padding:20px;border-top:3px solid var(--gold);background:rgba(255,255,255,.07)}
.verified-metrics small{font-size:8px;color:var(--blue-soft);letter-spacing:.13em}
.verified-metrics strong{display:block;font-family:Tium,sans-serif;font-size:42px;color:var(--gold-light);margin:8px 0 4px}
.verified-metrics span{font-size:10px;color:rgba(255,255,255,.61)}
.metric-caption{font-size:10px;line-height:1.65;color:rgba(255,255,255,.48);margin:17px 0 0}

/* Balance */
.balance-layout{display:grid;grid-template-columns:290px 1fr;gap:34px;align-items:stretch}
.portrait-media{position:relative;margin:0;min-height:480px;background:var(--navy);box-shadow:var(--shadow)}
.portrait-media video{width:100%;height:100%;object-fit:cover}
.balance-evidence{display:flex;flex-direction:column;gap:19px}
.graph-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.graph-pair figure{margin:0;background:#fff;border:1px solid var(--line);padding:8px}
.graph-pair img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff}
.graph-pair figcaption{font-size:9px;color:#71808a;padding:8px 4px 2px;text-align:center}
.tool-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.tool-list article{padding:15px 17px;background:var(--cream)}
.tool-list b{display:block;font-family:Tium,sans-serif;font-size:13px;color:var(--navy)}
.tool-list span{display:block;font-size:9px;color:#71808a;margin-top:5px}

/* Terrain */
.terrain-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.terrain-map{border:1px solid rgba(120,185,235,.3);background:rgba(2,18,32,.52);padding:18px}
.terrain-map svg{width:100%;max-height:470px}
.terrain-map .contours path{fill:none;stroke:rgba(106,173,223,.18);stroke-width:2}
.terrain-map .trails path{fill:none;stroke:#dea92e;stroke-width:22;stroke-linecap:round;opacity:.75}
.terrain-map .decor-dots circle{fill:#78b45b;stroke:#cdebb9;stroke-width:2;opacity:.8}
.terrain-map .nexus-ring{fill:none;stroke:#67c5ed;stroke-width:3;stroke-dasharray:7 10}
.terrain-map .nexus{fill:#f1ede0;stroke:#dfa92b;stroke-width:5}
.terrain-map text{text-anchor:middle;fill:#0b2743;font-family:Tium,sans-serif;font-size:13px}
.terrain-legend{display:flex;justify-content:center;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;color:rgba(255,255,255,.57);font-size:8px;letter-spacing:.1em}
.terrain-legend span{display:flex;align-items:center;gap:6px}.terrain-legend i{width:8px;height:8px;border-radius:50%}.terrain-legend .dirt{background:var(--gold)}.terrain-legend .blend{background:#9ab673}.terrain-legend .grass{background:#4d9959}.terrain-legend .decor{background:#75c7ea}
.light-list li{border-color:rgba(255,255,255,.14)}
.light-list li span{color:rgba(255,255,255,.59)}
.light-list li strong{color:#fff}
.scene-proof{margin-top:22px;padding:19px;background:var(--gold);color:var(--navy);display:grid;grid-template-columns:120px 1fr;align-items:center}
.scene-proof small{font-size:8px;letter-spacing:.13em}.scene-proof b{font-family:Tium,sans-serif;font-size:17px}.scene-proof span{grid-column:2;font-size:9px;margin-top:4px}

/* Meta */
.meta-layout{display:grid;grid-template-columns:.72fr 1.28fr;grid-template-rows:auto auto;gap:22px 30px;align-items:center}
.deck-proof{grid-row:1/3;position:relative;margin:0;box-shadow:var(--shadow);overflow:hidden;background:var(--navy)}
.deck-proof img{width:100%}
.meta-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:6px;align-items:stretch}
.meta-flow>div{padding:17px 10px;background:var(--cream);border-top:3px solid var(--blue);text-align:center;min-height:110px}
.meta-flow>div:last-child{border-color:var(--gold)}
.meta-flow>i{align-self:center;font-style:normal;color:var(--gold)}
.meta-flow small{font-family:Tium,sans-serif;color:var(--gold);font-size:9px}.meta-flow b{font-family:Tium,sans-serif;display:block;font-size:11px;margin:9px 0}.meta-flow span{font-size:8px;line-height:1.45;color:#6d7b84}
.meta-note{padding:22px 24px;background:var(--navy);color:#fff;border-left:6px solid var(--gold)}
.meta-note strong{font-family:Tium,sans-serif;font-size:19px;color:var(--gold-light)}
.meta-note p{margin:8px 0 0;color:rgba(255,255,255,.64);font-size:11px;line-height:1.7}

/* Decisions */
.decision-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.decision-cards>article{background:rgba(255,255,255,.74);border:1px solid rgba(11,39,67,.13);padding:27px;min-height:350px;box-shadow:0 14px 36px rgba(11,39,67,.08);display:flex;flex-direction:column}
.decision-cards>article:before{content:"";height:5px;background:var(--gold);margin:-27px -27px 24px}
.decision-cards small{font-size:8px;letter-spacing:.14em;color:var(--blue)}
.decision-cards h3{font-family:Tium,sans-serif;font-size:23px;line-height:1.35;margin:17px 0 12px}
.decision-cards>article>p{font-size:12px;line-height:1.7;color:#65747e;margin:0 0 24px}
.decision-cards>article>div{margin-top:auto;padding:17px;background:var(--navy);color:#fff}
.decision-cards div span{font-size:8px;color:var(--blue-soft);letter-spacing:.12em}.decision-cards div b{display:block;font-family:Tium,sans-serif;font-size:15px;margin:8px 0}.decision-cards div em{display:block;color:rgba(255,255,255,.51);font-size:9px}

/* Evidence */
.evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.evidence-card{padding:24px 22px;min-height:270px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column}
.evidence-card:before{content:"";height:5px;background:var(--green);margin:-24px -22px 22px}
.evidence-card.limited:before{background:var(--gold)}
.evidence-card small{font-size:8px;letter-spacing:.13em;color:#75848d}
.evidence-card strong{font-family:Tium,sans-serif;font-size:37px;color:var(--navy);margin:22px 0 7px;white-space:nowrap}
.evidence-card h3{font-family:Tium,sans-serif;font-size:17px;margin:0 0 11px}
.evidence-card p{font-size:10px;line-height:1.7;color:#687781;margin:auto 0 0}
.audit-line{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:29px;padding-top:20px}
.audit-line span{font-family:Tium,sans-serif;font-size:10px;color:var(--blue)}.audit-line p{margin:0;font-size:10px;color:#65747d}.audit-line i{height:1px;background:var(--line);flex:1}

/* Closing */
.closing{background:radial-gradient(circle at 75% 36%,#174d78 0,transparent 40%),linear-gradient(135deg,#061827,#0b2743);display:flex;align-items:center}
.closing:before{content:"17";position:absolute;right:4vw;top:50%;transform:translateY(-53%);font-family:Tium,sans-serif;font-size:min(55vw,720px);line-height:1;color:rgba(255,255,255,.025)}
.closing-inner{padding:120px 0 65px;color:#fff}
.closing h2{font-family:Tium,sans-serif;font-size:clamp(42px,5.7vw,80px);line-height:1.12;margin:25px 0 22px;letter-spacing:-.045em;max-width:1050px}
.closing h2 em{color:var(--gold-light)}
.closing-inner>p{max-width:780px;color:rgba(255,255,255,.65);font-size:15px;line-height:1.8}
.closing-actions{display:flex;gap:14px;margin-top:38px}
.closing-actions>a{display:flex;align-items:center;gap:20px;padding:14px 18px;background:var(--gold);color:var(--navy);font-size:12px;font-weight:800}
.closing footer{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.5)}

/* Rail */
.page-rail{position:fixed;z-index:90;right:18px;top:50%;transform:translateY(-50%);width:50px;display:grid;justify-items:center;gap:9px;padding:11px 7px;background:rgba(6,24,41,.78);color:#fff;border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px)}
.page-rail>button{width:31px;height:28px;border:0;background:transparent;color:rgba(255,255,255,.68)}
.page-rail>button:hover,.page-rail>button:focus-visible{color:var(--gold)}
.rail-dots{display:grid;gap:5px}
.rail-dots button{width:27px;height:8px;border:0;background:transparent;padding:0;display:grid;place-items:center}
.rail-dots button:after{content:"";width:13px;height:2px;background:rgba(255,255,255,.28);transition:.2s}
.rail-dots button.active:after{width:25px;background:var(--gold)}
#current-label{writing-mode:vertical-rl;font-size:8px;letter-spacing:.12em;color:rgba(255,255,255,.6);max-height:90px;overflow:hidden}
#page-number{font-family:Tium,sans-serif;color:var(--gold);font-size:8px}

/* Dialog */
dialog{width:min(1240px,calc(100vw - 54px));height:min(820px,calc(100vh - 46px));padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 35px 110px rgba(0,0,0,.6);overflow:hidden}
dialog::backdrop{background:rgba(2,14,25,.82);backdrop-filter:blur(6px)}
.dialog-header{height:175px;background:var(--navy);color:#fff;padding:32px 38px;display:flex;justify-content:space-between;gap:30px;align-items:start}
.dialog-header h2{font-family:Tium,sans-serif;font-size:34px;margin:13px 0 5px;color:var(--gold-light)}
.dialog-header p{font-size:11px;color:rgba(255,255,255,.58);margin:0;line-height:1.6}
#dialog-close{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:10px 12px;display:flex;align-items:center;gap:9px;font-size:10px}
#dialog-close b{font-size:20px;color:var(--gold)}
#dialog-close kbd{padding:3px 5px;border:1px solid rgba(255,255,255,.25);font-size:7px;background:rgba(255,255,255,.05)}
.dialog-body{height:calc(100% - 175px);display:grid;grid-template-columns:250px 1fr;overflow:hidden}
.dialog-tabs{padding:22px;background:#e5ebed;border-right:1px solid var(--line);overflow:auto;display:flex;flex-direction:column;gap:7px}
.dialog-tabs button{text-align:left;border:0;background:transparent;padding:13px 14px;color:#556974;font-size:11px;line-height:1.45;border-left:3px solid transparent}
.dialog-tabs button small{display:block;color:#86959d;font-size:7px;letter-spacing:.13em;margin-bottom:4px}
.dialog-tabs button.active{background:var(--navy);color:#fff;border-left-color:var(--gold)}
.dialog-tabs button.active small{color:var(--blue-soft)}
.dialog-content{padding:30px 34px 60px;overflow:auto;outline:none}
.dialog-content h3{font-family:Tium,sans-serif;font-size:28px;margin:0 0 13px;color:var(--navy)}
.dialog-content>.topic-lead{font-size:13px;line-height:1.75;color:#5e6f79;max-width:780px;margin:0 0 24px}
.fact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}
.fact-strip div{padding:14px;background:var(--cream);border-top:3px solid var(--blue)}
.fact-strip small{font-size:7px;letter-spacing:.12em;color:#7a8b94}.fact-strip b{display:block;font-family:Tium,sans-serif;font-size:14px;margin-top:7px}
.dialog-section{margin-top:24px}
.dialog-section h4{font-family:Tium,sans-serif;font-size:14px;color:var(--blue);letter-spacing:.03em;margin:0 0 10px}
.dialog-section p,.dialog-section li{font-size:11px;line-height:1.75;color:#5e6d77}
.dialog-section ul{padding-left:18px;margin:0}
.code-block{position:relative;background:#071b2e;color:#d8e7ef;padding:42px 20px 19px;overflow:auto;border-left:4px solid var(--gold)}
.code-block .file-label{position:absolute;left:19px;top:13px;font:8px/1.4 ui-monospace,Consolas,monospace;color:#7fc2ef;letter-spacing:.05em}
.code-block pre{margin:0;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;white-space:pre}
.code-block button{position:absolute;right:12px;top:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:5px 8px;font-size:8px}
.tradeoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tradeoff-grid article{padding:17px;background:#e7eef1;border-left:4px solid var(--green)}
.tradeoff-grid article:last-child{border-color:var(--gold)}
.tradeoff-grid small{font-size:8px;color:#71818b;letter-spacing:.12em}.tradeoff-grid b{display:block;font-family:Tium,sans-serif;margin:7px 0;font-size:14px}.tradeoff-grid p{margin:0}
.source-proof{padding:12px 15px;border:1px solid var(--line);background:#fff;font:9px/1.6 ui-monospace,Consolas,monospace;color:#506674;word-break:break-all}

@media (max-width:1100px){
  :root{--wrap:min(920px,calc(100vw - 86px))}
  .top-links a:not(.download-link){display:none}
  .chapter-inner{padding-top:105px}
  .chapter-title h2{font-size:44px}
  .chapter-title .lead{display:none}
  .game-layout,.technical-layout,.reverse-layout,.factory-layout,.terrain-layout{grid-template-columns:1fr 1fr;gap:24px}
  .game-rules{grid-template-columns:1fr}.game-rules article:nth-child(odd){border-right:0}.game-rules article:nth-child(n+3){border-bottom:1px solid var(--line)}.game-rules article:last-child{border-bottom:0}
  .delivery-track{grid-template-columns:1fr 1fr}.delivery-track article:nth-child(2){border-right:0}.delivery-track article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .ownership-board{grid-template-columns:1fr 1fr}.primary-role{grid-column:1/-1}
  .architecture-board{grid-template-columns:1fr 200px 1fr;padding:25px}
  .meta-layout{grid-template-columns:1fr}.deck-proof{display:none}.meta-flow{grid-column:1}
  .evidence-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  :root{--wrap:calc(100vw - 36px)}
  html{scroll-snap-type:none}
  .topbar{height:60px;padding:0 14px}.brand-mark{width:42px}.brand>span:last-child{font-size:10px}.top-links .download-link{padding:8px 9px;font-size:8px}
  .chapter{min-height:auto}.chapter-inner{min-height:auto;padding:93px 0 78px}
  .hero{min-height:100svh}.hero-copy{padding:90px 0 70px}.game-logo{width:280px;max-width:70vw}.hero h1{font-size:41px}.hero-copy>p{font-size:13px}.hero-meta{align-items:center}.duration-seal{width:125px;min-height:105px}.duration-seal strong{font-size:55px}.hero-meta dl{min-width:0;flex:1}.hero-meta dl div{grid-template-columns:55px 1fr}.hero-meta dd{font-size:9px}.scroll-cue{display:none}
  .chapter-title{display:block;margin-bottom:28px}.chapter-title h2{font-size:35px}.chapter-title .tech-button{margin-top:20px}.mini-seal{position:absolute;right:0;top:85px;width:88px;height:62px}.mini-seal strong{font-size:24px}
  .game-layout,.thesis-grid,.technical-layout,.reverse-layout,.factory-layout,.terrain-layout,.balance-layout{grid-template-columns:1fr}
  .game-rules{grid-template-columns:1fr 1fr}.game-rules article:nth-child(odd){border-right:1px solid var(--line)}
  .risk-metrics{grid-template-columns:1fr 1fr}.risk-metrics div:last-child{grid-column:1/-1}
  .delivery-track,.ownership-board,.verified-metrics,.graph-pair,.tool-list,.decision-cards,.evidence-grid{grid-template-columns:1fr}
  .delivery-track article{border-right:0;border-bottom:1px solid var(--line)}.delivery-track article:last-child{border-bottom:0}.primary-role{grid-column:auto}
  .architecture-board{grid-template-columns:1fr;padding:20px}.architecture-spine{grid-template-columns:1fr;gap:7px}.spine-arrow{transform:rotate(90deg)}.architecture-base{display:grid;grid-template-columns:auto 1fr auto}.architecture-base b{grid-column:1/-1;text-align:center}.architecture-note{grid-template-columns:1fr;gap:7px}
  .state-rail{grid-template-columns:1fr}.state-rail i{transform:rotate(90deg)}
  .pipeline-strip i{display:none}.pipeline-strip span{flex:1 0 30%;text-align:center}
  .portrait-media{min-height:640px;max-width:360px;margin:auto}
  .meta-flow{grid-template-columns:1fr}.meta-flow>i{transform:rotate(90deg);text-align:center}.meta-flow>div{min-height:auto}.meta-note{margin-top:10px}
  .audit-line{align-items:flex-start;flex-wrap:wrap}.audit-line i{display:none}
  .closing{min-height:100svh}.closing h2{font-size:40px}.closing-actions{align-items:stretch;flex-direction:column}.closing footer{position:static;margin-top:70px;gap:8px;flex-direction:column}
  .page-rail{display:none}
  dialog{width:calc(100vw - 18px);height:calc(100vh - 18px)}.dialog-header{height:auto;min-height:165px;padding:24px 20px}.dialog-header h2{font-size:25px}.dialog-header p{display:none}#dialog-close{padding:8px;font-size:0}#dialog-close b{font-size:21px}#dialog-close kbd{display:none}.dialog-body{height:calc(100% - 165px);grid-template-columns:1fr;grid-template-rows:auto 1fr}.dialog-tabs{padding:10px;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.dialog-tabs button{min-width:150px}.dialog-content{padding:24px 18px 50px}.fact-strip,.tradeoff-grid{grid-template-columns:1fr}.code-block pre{font-size:9px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
