:root{--cyan:#55d5c5;--ink:#d4e9e4;--muted:#8dacaa;--line:#285756;--panel:#061719;--gold:#e4bc71;--red:#d98d8b}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#010708}body{margin:0;color:var(--ink);font-family:Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 80% 3%,#143435 0,transparent 35%),linear-gradient(130deg,#010708,#071719 58%,#020708);min-height:100vh}button,input,select{font:inherit}button{cursor:url('/assets/icons/pandora-action-04.svg') 12 5,pointer}button *{cursor:inherit}a{color:var(--cyan)}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.expansion{width:min(1720px,100%);margin:auto;padding:1rem clamp(.7rem,2vw,2rem) 4rem}.expansion-header{padding:1rem .7rem 1.4rem;border-bottom:1px solid var(--line)}.expansion-header>a{display:block;width:max-content;margin-bottom:2rem;text-decoration:none;font:700 .65rem Consolas,monospace;letter-spacing:.1em}.expansion-header>small,.expansion-module>header small,.concept-note span,.archive-meta,.expansion>footer{color:var(--cyan);font:700 .66rem Consolas,monospace;letter-spacing:.15em}.expansion-header h1{margin:.4rem 0;font:300 clamp(2.4rem,5vw,5rem) 'Bahnschrift SemiCondensed','Arial Narrow',sans-serif;letter-spacing:.12em}.expansion-header p{max-width:74rem;margin:.4rem 0 1rem;color:#b5d0ca;line-height:1.65}.archive-meta{display:flex;flex-wrap:wrap;gap:1.5rem;color:var(--muted)}.archive-meta span{border-top:1px solid var(--line);padding:.5rem 0}
.concepts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin:1rem 0}.concepts button{display:flex;align-items:start;gap:.6rem;min-height:5.5rem;padding:.8rem;text-align:left;color:var(--ink);border:1px solid var(--line);background:#051719}.concepts button:hover,.concepts button[aria-pressed=true]{border-color:var(--cyan);background:#143b39}.concepts button>b{color:var(--cyan);font:300 1.7rem 'Bahnschrift SemiCondensed',sans-serif}.concepts button span{display:grid;gap:.25rem}.concepts button strong{font:700 .67rem Consolas,monospace}.concepts button small{color:var(--muted);font-size:.69rem;line-height:1.4}.concept-note{display:flex;align-items:center;gap:1.5rem;padding:.8rem 1rem;margin:.6rem 0 1rem;border-left:3px solid var(--cyan);background:#0e302e}.concept-note span{min-width:13rem}.concept-note p{margin:0;color:#c1d8d2;font-size:.85rem;line-height:1.5}
.channel-nav{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:.2rem;padding:.5rem;border:1px solid var(--line);background:rgba(2,13,15,.97);box-shadow:0 10px 25px #0008}.channel-nav button,.module-toolbar button,.pager button,.load-more{padding:.5rem .6rem;color:var(--muted);border:1px solid var(--line);background:transparent;font:700 .6rem Consolas,monospace;letter-spacing:.04em}.channel-nav button:hover,.channel-nav button[aria-pressed=true],.module-toolbar button:hover,.module-toolbar button.is-active,.pager button:hover:not(:disabled),.load-more:hover{color:var(--cyan);border-color:var(--cyan);background:#123533}.pager button:disabled{opacity:.35;cursor:default}
.module-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:'situation situation situation situation situation situation situation situation situation situation situation situation' 'history history history history history history linked linked linked linked linked linked' 'available available available available available available regional regional regional regional regional regional' 'combat combat combat combat combat combat combat combat combat combat combat combat' 'habitation habitation habitation habitation habitation habitation rewards rewards rewards rewards rewards rewards' 'honor honor honor honor honor honor honor honor honor honor honor honor';gap:.7rem;margin-top:.7rem}.expansion-module{min-width:0;scroll-margin-top:3.7rem;border:1px solid var(--line);background:linear-gradient(135deg,rgba(21,58,58,.36),rgba(1,9,11,.93))}.expansion-module>header{padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.expansion-module h2{margin:.35rem 0 0;font:400 1.25rem 'Bahnschrift SemiCondensed',sans-serif;letter-spacing:.12em}.expansion-module.situation{grid-area:situation}.expansion-module.history{grid-area:history}.expansion-module.linked{grid-area:linked}.expansion-module.available{grid-area:available}.expansion-module.regional{grid-area:regional}.expansion-module.combat{grid-area:combat}.expansion-module.habitation{grid-area:habitation}.expansion-module.rewards{grid-area:rewards}.expansion-module.honor{grid-area:honor}
.chapter-meta,.stat-strip{display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem;border-bottom:1px solid var(--line)}.chapter-meta>span,.stat-strip>div{display:grid;gap:.3rem;flex:1;min-width:9rem;padding:.7rem;border:1px solid #204544;background:#06191b;color:var(--muted);font:700 .6rem Consolas,monospace}.chapter-meta b{color:var(--ink);font-size:.7rem}.stat-strip b{color:var(--cyan);font:300 1.8rem 'Bahnschrift SemiCondensed',sans-serif}.stat-strip span{font:700 .57rem Consolas,monospace}.situation-body{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding:1rem}.day-mark{display:grid;align-content:start;justify-items:center;padding:1rem;border:1px solid var(--line);background:#061718}.day-mark b{color:var(--cyan);font:300 3rem 'Bahnschrift SemiCondensed',sans-serif}.day-mark span{color:var(--muted);font:.6rem Consolas,monospace;text-align:center}.narrative{max-width:80rem;columns:2;column-gap:2rem;color:#c1d8d2;font-size:.84rem;line-height:1.7}.narrative small{display:block;column-span:all;margin-bottom:.6rem;color:var(--cyan);font:700 .62rem Consolas,monospace}.narrative p{margin:0 0 .85rem;break-inside:avoid}.pager{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem;border-top:1px solid var(--line);color:var(--muted);font:.6rem Consolas,monospace}
.module-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line);color:var(--muted);font:700 .62rem Consolas,monospace}.module-toolbar>div{display:flex;flex-wrap:wrap;gap:.25rem}.module-toolbar b{color:var(--cyan)}.module-toolbar label{display:flex;align-items:center;gap:.5rem}.module-toolbar input,.module-toolbar select,.reward-form input,.reward-form select{min-width:0;padding:.48rem;color:var(--ink);border:1px solid var(--line);background:#020b0d}.module-toolbar input{width:13rem}.history-list,.linked-list,.job-list,.regional-list,.ledger-list,.honor-list,.reward-list{padding:.65rem}.history-card{margin-bottom:.35rem;border:1px solid var(--line);background:#031315}.history-card[open]{border-color:var(--cyan)}.history-card.critical{border-left:3px solid var(--red)}.history-card.recovered{border-left:3px solid var(--cyan)}.history-card summary{display:grid;grid-template-columns:8rem 1fr auto;gap:.8rem;align-items:center;padding:.7rem;cursor:pointer;list-style:none}.history-card summary::-webkit-details-marker{display:none}.history-card time,.history-card summary span{color:var(--muted);font:.6rem Consolas,monospace}.history-card strong{font-size:.81rem}.history-card>div{padding:1rem;border-top:1px solid var(--line);color:#bed6d1;line-height:1.65;font-size:.78rem}.history-card>div small{color:var(--cyan);font:700 .6rem Consolas,monospace}.load-more{display:block;margin:.5rem .7rem .9rem;width:calc(100% - 1.4rem)}
.linked-row{display:grid;grid-template-columns:2rem 1fr auto;gap:.6rem;align-items:center;padding:.6rem;border-bottom:1px solid #21423f}.linked-row>b{color:var(--cyan);font:300 1.2rem 'Bahnschrift SemiCondensed',sans-serif}.linked-row strong,.linked-row small{display:block}.linked-row strong{font-size:.78rem}.linked-row small,.linked-row>span{margin-top:.2rem;color:var(--muted);font:.56rem Consolas,monospace}.source-note{margin:.5rem .8rem 1rem;color:var(--muted);font-size:.72rem;line-height:1.55}.job-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.job-card,.system-card,.combat-card,.reward-card{min-width:0;padding:.8rem;border:1px solid var(--line);background:#041416}.job-card:hover,.system-card:hover,.reward-card:hover{border-color:var(--cyan);background:#0d2b29}.job-identity{display:flex;align-items:start;gap:.6rem}.job-identity>img,.job-identity>span{flex:none;width:2.5rem;height:2.5rem;object-fit:contain;border:1px solid var(--line)}.job-identity>div{min-width:0;flex:1}.job-identity small,.system-card small,.combat-card>small,.reward-card small{color:var(--cyan);font:700 .56rem Consolas,monospace}.job-card h3,.combat-card h3,.reward-card h3{margin:.3rem 0;font-size:.88rem}.job-card p,.combat-card p,.reward-card p{margin:.3rem 0;color:#aac9c2;font-size:.72rem;line-height:1.45}.job-identity>b{color:var(--cyan);font:300 1.2rem 'Bahnschrift SemiCondensed',sans-serif}.progress,.pressure i,.direct-track i{display:block;height:4px;margin:.7rem 0;background:#244441}.progress i,.pressure em,.direct-track b{display:block;height:100%;background:var(--cyan)}.job-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;color:var(--muted);font:.55rem Consolas,monospace}
.regional-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.system-card{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.system-card strong,.system-card span{display:block;margin-top:.3rem}.system-card strong{font-size:1rem}.system-card span{color:var(--muted);font:.56rem Consolas,monospace}.pressure label{display:block;color:var(--muted);font:.55rem Consolas,monospace}.pressure label b{float:right;color:var(--ink)}.pressure label:first-child em{background:var(--red)}.combat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.7rem}.combat-main{display:grid;grid-template-columns:7rem 1fr;gap:.8rem;margin:.8rem 0}.combat-ring{display:grid;place-items:center;align-content:center;width:6.6rem;height:6.6rem;border-radius:50%;background:radial-gradient(circle at center,#051719 0 56%,transparent 57%),conic-gradient(var(--cyan) var(--win),#294b49 0)}.combat-ring strong{font:300 1.5rem 'Bahnschrift SemiCondensed',sans-serif}.combat-ring span{color:var(--muted);font:.53rem Consolas,monospace}.combat-main>div:last-child{display:grid;align-content:center;gap:.45rem}.combat-main b{font-size:.75rem}.combat-main span,.combat-main em{color:var(--muted);font:.58rem Consolas,monospace}.combat-main em{color:var(--cyan);font-style:normal}.direct-track{margin:.7rem 0;color:var(--cyan);font:.6rem Consolas,monospace}.direct-track.loss{color:var(--red)}.direct-track.loss b{background:var(--red)}
.ledger-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.ledger-list article{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.55rem;border:1px solid #204542;background:#061719}.ledger-list strong{font-size:.75rem}.ledger-list span,.ledger-list small{color:var(--muted);font:.55rem Consolas,monospace}.ledger-list b{grid-row:1/3;grid-column:2;align-self:center;color:var(--cyan);font:.72rem Consolas,monospace}.transition-fold{margin:.5rem .7rem 1rem;border:1px solid var(--line)}.transition-fold summary{padding:.7rem;color:var(--cyan);cursor:pointer;font:.6rem Consolas,monospace}.transition-fold p{display:flex;justify-content:space-between;margin:0;padding:.5rem .8rem;border-top:1px solid var(--line);font-size:.72rem}.transition-fold b{color:var(--cyan)}
.reward-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.reward-card{border-color:#665738;background:linear-gradient(130deg,#28210f,#041416)}.reward-card small{color:var(--gold)}.reward-card>span{color:var(--muted);font:.57rem Consolas,monospace}.leaderboard{margin:.5rem .7rem 1rem;border:1px solid var(--line)}.leader-row{display:grid;grid-template-columns:2rem 2rem 1fr auto;gap:.6rem;align-items:center;padding:.4rem .6rem;border-top:1px solid var(--line)}.leader-row b,.leader-row span{color:var(--cyan);font:.72rem Consolas,monospace}.leader-row img{width:2rem;height:2rem;object-fit:cover}.leader-row strong{font-size:.75rem}.reward-preview{margin:.7rem;border:1px solid #655b40}.reward-preview summary{padding:.8rem;color:var(--gold);font:.65rem Consolas,monospace;cursor:pointer}.reward-preview>p{padding:0 .8rem;color:var(--muted);font-size:.72rem;line-height:1.5}.reward-form{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;padding:.8rem}.reward-form label{display:grid;gap:.25rem;color:var(--muted);font:.58rem Consolas,monospace}.preview-only{display:block;margin:.5rem .8rem 1rem;color:var(--gold);font:.6rem Consolas,monospace}
.honor-narrative{max-width:85rem;padding:.8rem 1rem;color:#c1d9d2;font-size:.83rem;line-height:1.7}.honor-narrative p{margin:.4rem 0 .9rem}.honor-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.honor-list article{display:grid;grid-template-columns:1.6rem 2.4rem 1fr auto;gap:.5rem;align-items:center;padding:.45rem;border:1px solid var(--line);background:#061719}.honor-list article>b{color:var(--gold);font:300 1.2rem 'Bahnschrift SemiCondensed',sans-serif}.honor-list img{width:2.4rem;height:2.4rem;object-fit:cover}.honor-list strong,.honor-list small{display:block}.honor-list strong{font-size:.7rem}.honor-list small,.honor-list article>span{color:var(--muted);font:.52rem Consolas,monospace}.empty{padding:1rem;color:var(--muted)}.expansion>footer{margin-top:2rem;padding:1rem 0;border-top:1px solid var(--line);color:var(--muted)}
/* Five real information hierarchies using the same archive-backed modules. */
body[data-layout='02'] .module-grid{grid-template-areas:'situation situation situation situation situation situation situation available available available available available' 'regional regional regional regional combat combat combat combat combat combat combat combat' 'linked linked linked linked linked linked history history history history history history' 'habitation habitation habitation habitation rewards rewards rewards rewards honor honor honor honor'}
body[data-layout='03'] .module-grid{grid-template-areas:'history history history history history history history situation situation situation situation situation' 'history history history history history history history honor honor honor honor honor' 'habitation habitation habitation habitation habitation rewards rewards rewards rewards rewards rewards rewards' 'linked linked linked linked linked linked available available available available available available' 'regional regional regional regional regional regional combat combat combat combat combat combat'}body[data-layout='03'] .history-list{max-height:80rem;overflow:auto}
body[data-layout='02'] .situation .narrative,body[data-layout='03'] .situation .narrative,body[data-layout='04'] .situation .narrative{max-height:34rem;overflow:auto;scrollbar-color:var(--cyan) #061719}body[data-layout='02'] .available .job-list,body[data-layout='04'] .available .job-list{max-height:47rem;overflow:auto;scrollbar-color:var(--cyan) #061719}
body[data-layout='05'] .module-grid{display:block}body[data-layout='05'] .expansion-module{display:none;min-height:35rem}body[data-layout='05'][data-active-module='situation'] .situation,body[data-layout='05'][data-active-module='history'] .history,body[data-layout='05'][data-active-module='linked'] .linked,body[data-layout='05'][data-active-module='available'] .available,body[data-layout='05'][data-active-module='regional'] .regional,body[data-layout='05'][data-active-module='combat'] .combat,body[data-layout='05'][data-active-module='habitation'] .habitation,body[data-layout='05'][data-active-module='rewards'] .rewards,body[data-layout='05'][data-active-module='honor'] .honor{display:block}body[data-layout='05'] .channel-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}body[data-layout='05'] .channel-nav button{text-align:left}
/* Boot glitch and CRT photon ignition stay separate from scroll reveals. */
html.is-booting .expansion{visibility:hidden}html.is-igniting .expansion{transform-origin:50% 35vh;animation:expansionIgnition 1.18s cubic-bezier(.16,.78,.22,1) both}html.is-igniting .entrance-beam{position:fixed;z-index:100;left:0;right:0;top:35vh;height:2px;pointer-events:none;background:#cbfff7;box-shadow:0 0 18px var(--cyan),0 0 55px var(--cyan);animation:expansionBeam 1.1s ease-out both}html.is-igniting .expansion-header h1{animation:expansionGlitch 1.05s steps(1,end) both}@keyframes expansionIgnition{0%{opacity:0;transform:scaleY(.006);filter:brightness(8) blur(8px)}28%{opacity:1;transform:scaleY(.03);filter:brightness(5) blur(3px)}72%{transform:scaleY(1.02);filter:brightness(1.4)}100%{opacity:1;transform:none;filter:none}}@keyframes expansionBeam{0%,100%{opacity:0}15%,55%{opacity:1}70%{opacity:.3}}@keyframes expansionGlitch{0%,32%,56%,100%{text-shadow:none;transform:none}38%{text-shadow:4px 0 #db6380,-4px 0 #50ebea;transform:translateX(-2px)}44%{text-shadow:-4px 0 #db6380,4px 0 #50ebea;transform:translateX(2px)}}
html.no-expansion-glitch.is-igniting .expansion-header h1{animation:none}
[data-photon].photon-pending{opacity:0;filter:brightness(5) blur(5px);transform:translateY(10px)}[data-photon].photon-active{animation:expansionPhoton .95s ease-out both}@keyframes expansionPhoton{0%{opacity:0;filter:brightness(5) blur(5px);transform:translateY(10px)}55%{filter:brightness(2)}100%{opacity:1;filter:none;transform:none}}
@media(max-width:1150px){.concepts{grid-template-columns:repeat(3,minmax(0,1fr))}.module-grid,body[data-layout='02'] .module-grid,body[data-layout='03'] .module-grid,body[data-layout='04'] .module-grid{grid-template-areas:'situation situation situation situation situation situation situation situation situation situation situation situation' 'history history history history history history linked linked linked linked linked linked' 'available available available available available available regional regional regional regional regional regional' 'combat combat combat combat combat combat combat combat combat combat combat combat' 'habitation habitation habitation habitation habitation habitation rewards rewards rewards rewards rewards rewards' 'honor honor honor honor honor honor honor honor honor honor honor honor'}body[data-layout='05'] .module-grid{display:block}.honor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.concepts{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-note{display:block}.concept-note p{margin-top:.5rem}.channel-nav,body[data-layout='05'] .channel-nav{position:static;display:flex}.module-grid,body[data-layout='02'] .module-grid,body[data-layout='03'] .module-grid,body[data-layout='04'] .module-grid{display:block}.expansion-module{margin-bottom:.6rem}.narrative{columns:1}.situation-body{grid-template-columns:1fr}.day-mark{display:flex;justify-content:space-between;align-items:center}.job-list,.regional-list,.combat-grid,.ledger-list,.reward-list,.honor-list{grid-template-columns:1fr}.history-card summary{grid-template-columns:1fr}.system-card{grid-template-columns:1fr}.reward-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html.is-igniting .expansion,html.is-igniting .entrance-beam,html.is-igniting .expansion-header h1,[data-photon].photon-active{animation:none!important}html.is-booting .expansion{visibility:visible}[data-photon].photon-pending{opacity:1;filter:none;transform:none}}
/* Daily reports are individually selectable, while the full narrative stays in view. */
.situation-days{padding:.7rem .8rem;border-bottom:1px solid var(--line)}
.situation-days>span{display:block;margin-bottom:.45rem;color:var(--cyan);font:700 .6rem Consolas,monospace;letter-spacing:.09em}
.situation-day-list{display:flex;gap:.3rem;max-width:100%;overflow-x:auto;padding:0 0 .35rem;scrollbar-color:var(--cyan) #061719}
.situation-day-list button{display:grid;flex:0 0 5.4rem;gap:.25rem;padding:.5rem .35rem;text-align:center;color:var(--muted);border:1px solid var(--line);background:#061719;cursor:url('/assets/icons/pandora-action-04.svg') 12 5,pointer}
.situation-day-list button:hover,.situation-day-list button.is-active{color:var(--cyan);border-color:var(--cyan);background:#123533}
.situation-day-list b{font:700 .66rem Consolas,monospace}.situation-day-list small{font:.55rem Consolas,monospace}
/* Honor cards retain complete names and keep the tally in its own column. */
.honor-list article{grid-template-columns:1.5rem 2.7rem minmax(0,1fr) 4.2rem;min-width:0;min-height:4.1rem;gap:.55rem;padding:.5rem}
.honor-list article>img{width:2.7rem;height:2.7rem}
.honor-list .honor-person{min-width:0;align-self:center}
.honor-list .honor-person strong{overflow-wrap:anywhere;font-size:.76rem;line-height:1.25}
.honor-list .honor-person small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.2}
.honor-list .honor-operations{display:grid;align-content:center;justify-items:end;min-width:0;text-align:right;white-space:normal}
.honor-list .honor-operations b{color:var(--cyan);font:300 1.15rem 'Bahnschrift SemiCondensed',sans-serif}
.honor-list .honor-operations small{font:.48rem Consolas,monospace;letter-spacing:.02em}
body[data-layout='04'] .honor-list{grid-template-columns:1fr;max-height:35rem;overflow-y:auto;scrollbar-color:var(--cyan) #061719}
body[data-layout='04'] .honor-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;overflow:visible}
body[data-layout='04'] .honor-narrative{columns:2;column-gap:2rem;max-width:none}
body[data-layout='04'] .honor-narrative p{break-inside:avoid}
@media(max-width:1150px){body[data-layout='04'] .honor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){body[data-layout='04'] .honor-list{grid-template-columns:1fr}body[data-layout='04'] .honor-narrative{columns:1}}
body[data-layout='04'] .module-grid{grid-template-areas:'linked linked linked linked linked linked available available available available available available' 'regional regional regional regional combat combat combat combat combat combat combat combat' 'situation situation situation situation situation situation history history history history history history' 'habitation habitation habitation habitation habitation habitation rewards rewards rewards rewards rewards rewards' 'honor honor honor honor honor honor honor honor honor honor honor honor'}
body[data-layout='04'] .job-list,body[data-layout='04'] .regional-list{grid-template-columns:1fr}
