:root{--bg:#102b31;--panel:#17363b;--ink:#eee9dc;--muted:#b0c2bb;--gold:#e6c78c;--line:#b6b58a44}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0,#234d4c,transparent 55%),var(--bg);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;line-height:1.9}button,select,input{font:inherit}button{cursor:pointer;padding:12px 19px;color:var(--ink);background:#24464b;border:1px solid #a7baaa66;border-radius:13px;line-height:1.8}button:hover{background:#31575a}button:disabled{opacity:.45;cursor:wait}.primary{background:linear-gradient(125deg,#cda76b,#f0d9a3);color:#193034;border:0;font-weight:700}.primary:hover{background:#f1dfb5}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a{color:var(--gold)}header{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1200px;margin:auto;padding:23px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;letter-spacing:2px;font-size:13px;text-decoration:none}.brand span{color:var(--ink);margin-left:13px}.header-tools{display:flex;align-items:center;gap:8px}.header-tools form{margin:0}.header-tools button{font-size:11px;padding:5px 9px}.quiet{background:transparent;border:0;color:var(--muted)}.badge{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:4px 12px;white-space:nowrap}main{max-width:1140px;margin:auto;padding:0 25px}h1,h2,h3,h4{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500;line-height:1.7}h1{font-size:clamp(32px,4vw,52px);letter-spacing:2px;line-height:1.6;margin:14px 0 23px}h2{font-size:28px;margin:10px 0 20px}h3{font-size:21px}p{margin:12px 0 23px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--gold);margin:0 0 9px}.small,.image-caption{font-size:12px;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:40px 0}.landscape{background-image:url('/scenery.jpg');background-size:202% 202%;background-repeat:no-repeat;aspect-ratio:3/2;border-radius:22px;background-color:#28494c}.cell-0{background-position:0 0}.cell-1{background-position:100% 0}.cell-2{background-position:0 100%}.cell-3{background-position:100% 100%}.hero-landscape{aspect-ratio:3/3.6;background-size:240% 202%;background-position:100% 100%;box-shadow:0 25px 60px #0004}.hero-copy p{font-size:15px}.hero-copy .eyebrow{font-size:11px}.text-link{font-size:13px;text-underline-offset:6px}.explanation{max-width:880px;margin:20px auto 35px}.explanation p{font-size:15px;line-height:2.1}#notice{font-size:13px;color:var(--gold);text-align:center;min-height:25px;margin:25px 0}.retry-row,.actions{display:flex;flex-wrap:wrap;gap:12px}.retry-row{justify-content:center}.panel{background:linear-gradient(130deg,#244248,#153339);border:1px solid var(--line);padding:28px 32px;border-radius:23px;margin:25px 0}.panel p{font-size:14px}.year-field{border-bottom:1px solid var(--line);padding:8px 0 16px;margin-bottom:24px}.year-field label{display:block;font-weight:600;margin-bottom:8px}select{background:#f0eddf;color:#19353a;border:0;border-radius:12px;padding:14px 18px;min-width:200px}fieldset{border:0;padding:0;margin:0 0 26px}legend{font-size:16px;margin-bottom:12px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:block;position:relative;cursor:pointer}.chip input{position:absolute;opacity:0;width:1px;height:1px}.chip span{display:block;border:1px solid #9eb7ab66;border-radius:12px;padding:10px 16px;background:#1b3940;font-size:13px}.chip input:checked+span{background:#ead4a3;color:#183039;border-color:#ead4a3}.chip input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}dl{display:grid;grid-template-columns:135px 1fr;gap:9px 20px;font-size:13px}dt{color:var(--muted)}dd{margin:0}.callout,.reference{border-left:2px solid var(--gold);padding:12px 18px;background:#d5b96d0c;font-size:13px}.story-top{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:30px}.story-top h2{font-size:31px;margin-bottom:15px}.progress{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:0 0 28px}.progress span{height:4px;border-radius:3px;background:#657b7766}.progress .past{background:#9daa8a}.progress .current{background:var(--gold)}.book{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:start}.book>aside{position:sticky;top:18px}.era-box{background:#1d3e43;border:1px solid var(--line);border-radius:16px;padding:20px;margin:15px 0}.era-box h3{font-size:18px;margin:8px 0 12px}.era-box p{font-size:13px;margin:10px 0}.era-box a{font-size:11px}details{border:1px solid var(--line);border-radius:13px;padding:13px 16px}summary{font-size:13px;cursor:pointer}details dl{grid-template-columns:100px 1fr;font-size:12px}.narrative{white-space:pre-line;line-height:2.25;font-size:16px}.fiction-label{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:14px;margin-top:0}#question{font-size:13px;color:var(--gold);margin-top:28px}.choices{display:grid;gap:12px}.choices button{text-align:left;padding:16px 18px;font-size:14px}.choices button::before{content:'◇';color:var(--gold);padding-right:12px}.outcome{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.chosen{font-size:13px;color:var(--muted)}#next{width:100%;margin:14px 0}#ending{padding:23px}#ending .narrative{font-size:15px}.comparison{display:grid;grid-template-columns:1fr;gap:16px}.comparison>div{padding:16px;background:#102b3155;border-radius:14px}.comparison h4{margin:0 0 15px;color:var(--gold)}.comparison ol{padding-left:22px;font-size:13px}.comparison dl{grid-template-columns:100px 1fr}.memories,.sources{border-top:1px solid var(--line);padding-top:25px;margin-top:38px}#memories,#archives{display:grid;gap:12px}#memories details,#archives details{background:#19383e}.memories .narrative{font-size:14px}.sources a{font-size:13px}.sources li{margin:10px 0}footer{text-align:center;font-size:12px;color:var(--muted);padding:50px 15px}dialog{color:var(--ink);background:#17353c;border:1px solid #b9ab7777;border-radius:22px;padding:27px;width:min(630px,calc(100% - 28px));max-height:86dvh;overflow:auto;box-shadow:0 25px 70px #0007}dialog::backdrop{background:#071b21df;backdrop-filter:blur(5px)}dialog p{font-size:14px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head button{font-size:12px;white-space:nowrap}.login-body{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:min(100%,490px);padding:30px;border:1px solid var(--line);border-radius:25px;background:#17373b;text-align:center}.login-scene{height:180px;aspect-ratio:auto;background-size:202% 260%;margin-bottom:22px}.login-card h1{font-size:34px}.login-card form{text-align:left;margin-top:26px}.login-card label{font-size:12px}.login-card input{display:block;width:100%;background:#f2eedf;color:#183039;border:0;border-radius:12px;padding:14px;margin:9px 0 17px}.login-card .primary{width:100%}.error{color:#f3c4a8}[hidden]{display:none!important}#reading-entry,#story,#profile-panel,#ready{scroll-margin-top:20px}@media(max-width:850px){.book{grid-template-columns:300px 1fr;gap:25px}.hero{gap:28px}.header-tools .badge{display:none}}@media(max-width:650px){main{padding:0 19px}header{padding:17px;align-items:flex-start}.brand span{display:block;margin:5px 0;font-size:11px}.header-tools{gap:0;justify-content:flex-end;flex-wrap:wrap}.header-tools button{font-size:10px}.hero{grid-template-columns:1fr;padding:25px 0 15px;gap:28px}.hero-landscape{aspect-ratio:3/2;background-size:202% 202%}.hero-copy h1{font-size:36px}.explanation{margin-top:25px}.explanation h2{font-size:25px}.panel{padding:23px 20px}.chips{gap:8px}.chip span{font-size:12px;padding:11px 13px}.actions{flex-direction:column}.actions button{width:100%}dl{grid-template-columns:110px 1fr;gap:9px 12px}.book{grid-template-columns:1fr;gap:20px}.book>aside{position:static}.era-box{padding:18px}.image-caption{margin:8px 0}.story-top{align-items:flex-start}.story-top h2{font-size:27px}.story-top button{font-size:10px;max-width:100px}.narrative{font-size:16px;line-height:2.25}#ending{padding:21px 17px}dialog{padding:23px}.login-card{padding:23px}.login-card h1{font-size:32px}}

.reset-option{display:flex;gap:12px;align-items:flex-start;margin:20px 0;font-size:14px}.reset-option input{width:20px;height:20px;flex-shrink:0;margin-top:5px;accent-color:#e6c78c}
