:root{color-scheme:dark;--bg:#11100e;--ink:#f4ead5;--muted:#bcad96;--gold:#d9b677;--line:#82704c;--green:#a4d5a5;--red:#f9a48f;--blue:#a3d3e5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #ffe3a2;outline-offset:5px}button:disabled{cursor:default}header{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:12px system-ui;letter-spacing:.1em}.brand svg{width:30px;height:30px;color:var(--gold)}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions button{min-height:44px;background:transparent;border:1px solid #716044;padding:9px 13px;border-radius:8px;font:11px system-ui}#settings{font-size:17px;letter-spacing:.12em;min-width:44px}
main{max-width:1060px;margin:0 auto;padding:4px 30px 30px;min-height:calc(100svh - 175px)}.experience{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:50px;min-height:610px}.stage{position:relative;width:100%;aspect-ratio:1.12;display:grid;place-items:center;overflow:hidden;border-radius:3px;background:radial-gradient(ellipse at 50% 46%,#b68b3019,transparent 68%)}.stage canvas{width:100%;height:100%;position:absolute;inset:0}.stage img{width:77%;height:87%;object-fit:contain;position:relative;filter:drop-shadow(0 16px 16px #0007)}.stage .stone-svg{width:68%;height:75%;position:relative;filter:drop-shadow(0 16px 16px #0007)}.stage-kokiri{background:radial-gradient(ellipse at center,#407b3c30,transparent 68%)}.stage-goron{background:radial-gradient(ellipse at center,#a140222d,transparent 68%)}.stage-zora{background:radial-gradient(ellipse at center,#387b9b29,transparent 68%)}.scene-label{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:10px/1.5 system-ui;letter-spacing:.15em;color:var(--muted)}.content{padding:20px 0}.kicker{color:var(--gold);font:11px/1.5 system-ui;letter-spacing:.12em;margin:0 0 16px}.kicker.green{color:var(--green)}.kicker.red{color:var(--red)}.kicker.blue{color:var(--blue)}h1{font-weight:400;font-size:clamp(37px,4.2vw,59px);line-height:1.09;letter-spacing:-.025em;margin:0 0 21px;text-wrap:balance}h1 em{font-style:italic;color:var(--gold)}.body-copy{font-size:18px;line-height:1.75;color:var(--muted);max-width:40ch}.body-copy p{margin:0 0 16px}.body-copy strong{color:var(--ink);font-weight:400}.primary{min-height:56px;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;padding:15px 22px;margin-top:24px;background:#d4b16f;color:#20180c;border:1px solid #ebcf91;border-radius:8px;font:600 13px/1.5 system-ui;transition:background .15s}.primary:hover{background:#e6c78b}.secondary{display:block;min-height:46px;width:100%;padding:12px 18px;border:1px solid #82704c;border-radius:8px;background:transparent;color:var(--ink);margin-top:12px;font:13px/1.5 system-ui}.secondary:hover{background:#c49a3820}.text-button{min-height:44px;background:none;border:none;text-decoration:underline;text-underline-offset:5px;color:var(--muted);font:12px/1.5 system-ui;padding:12px 5px}.hint{color:var(--muted);font:12px/1.7 system-ui;max-width:43ch;margin:16px 0 0}.progress{list-style:none;padding:0;display:flex;gap:6px;margin:23px 0 0}.progress li{flex:1;color:var(--muted);font:11px/1.6 system-ui;border-top:2px solid #504734;padding-top:10px}.progress li.done{border-color:var(--gold);color:var(--gold)}.progress li.current{color:var(--ink);border-color:var(--ink)}.scene-stamp{font:12px/1.5 system-ui;color:var(--gold);margin:0 0 16px}.temple-content{max-width:490px}.temple .stage{aspect-ratio:1.05}.notice{padding:14px 17px;border:1px solid #a68a50;border-radius:8px;color:var(--ink);font:13px/1.65 system-ui;margin:0 0 22px;background:#c8a35a0d}.stone-choices{display:flex;gap:8px;margin-top:20px}.stone-choices button{flex:1;background:transparent;border:1px solid #82704c;border-radius:8px;min-height:70px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--ink);font:12px system-ui}.stone-choices button:hover{background:#c49a3820}.stone-choices svg{width:24px;height:24px}.eyeline{width:45px;height:1px;background:var(--gold);margin:24px 0}.quote{font-size:21px;line-height:1.6;color:var(--ink);font-style:italic}.triforce-mark{position:relative;width:60%;filter:drop-shadow(0 14px 15px #0008)}.intro-choices{display:flex;justify-content:space-between;gap:12px;align-items:center}.intro-count{font:11px system-ui;color:var(--muted)}
#simulator{max-width:1000px;margin:0 auto 24px;padding:20px 24px;border:1px dashed #8a744f;border-radius:8px;font:12px/1.7 system-ui;color:var(--muted)}.sim-head{display:flex;flex-wrap:wrap;gap:6px 20px}.sim-head strong{color:var(--ink)}#simulator nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}#simulator a{padding:11px 15px;border:1px solid #82704c;border-radius:8px;text-decoration:none;color:var(--ink);min-height:44px}#simulator p{margin-bottom:0}footer{max-width:1180px;padding:20px 30px;margin:0 auto;display:flex;gap:15px;justify-content:space-between;border-top:1px solid #4e4434;color:var(--muted);font:10px/1.6 system-ui}#storage-warning{padding:15px 30px;background:#523321;font:13px/1.7 system-ui}dialog{background:#211b13;color:var(--ink);max-width:440px;width:calc(100% - 40px);border:1px solid #a68a50;border-radius:12px;padding:26px}dialog::backdrop{background:#000b}dialog h2{font:400 30px Georgia;margin-top:0}dialog p{font:14px/1.8 system-ui;color:var(--muted)}.danger{border:1px solid #edaf95;color:#ffe1d4;min-height:48px;background:#643628;padding:12px 18px;border-radius:8px;font:13px system-ui}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:760px){header{padding:16px 20px}.brand{font-size:11px;gap:8px}.brand svg{width:25px;height:25px}.header-actions button{font-size:10px;padding:8px 10px}main{padding:0 24px 26px;min-height:0}.experience{display:flex;flex-direction:column;gap:0;min-height:0}.stage,.temple .stage{height:275px;aspect-ratio:auto;max-width:430px}.stage img{width:74%;height:95%}.scene-label{bottom:0;font-size:9px}.content{width:100%;max-width:440px;padding:20px 0 0}.kicker{font-size:10px;margin-bottom:12px}h1{font-size:39px;margin-bottom:18px}.body-copy{font-size:16px;line-height:1.75}.primary{margin-top:20px}.hint{font-size:11px}.progress{margin-top:20px}.quote{font-size:19px}.temple .content{padding-top:13px}#simulator{margin:0 18px 24px;padding:18px}footer{font-size:9px;padding:18px 24px}.temple h1{font-size:35px}}
@media(max-width:360px){header{padding-inline:14px}.brand small{font-size:9px}main{padding-inline:20px}.stage,.temple .stage{height:235px}h1{font-size:35px}.header-actions{gap:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
h1:focus{outline:none}.temple-art{position:relative;width:100%;height:100%}

/* Illustrated chapters: the environment and the relic share one visual stage. */
.stone-experience .stage{aspect-ratio:.94;border:1px solid #5e664333;box-shadow:inset 0 0 50px #0006}
.world-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stone-experience .stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080e1200 45%,#11100e99 100%);pointer-events:none}
.stone-experience .stage canvas{z-index:3;pointer-events:none}
.stone-relic{position:absolute;inset:29% 22% 15%;display:grid;place-items:center;z-index:2;filter:drop-shadow(0 13px 16px #0009)}
.stage .stone-relic .stone-svg{width:85%;height:90%;filter:none}
.stage .stone-relic img{width:100%;height:100%;filter:none}
.relic-halo{position:absolute;inset:31% 20% 19%;background:radial-gradient(ellipse,#f7dfb51f,transparent 67%);z-index:1}
.world-name{position:absolute;left:22px;top:25px;right:22px;text-align:center;font:italic 20px Georgia;color:#f7e8c8;text-shadow:0 2px 10px #000;z-index:2}
.stone-experience .scene-label{z-index:4;bottom:20px;color:#e5d7bd;font-size:10px;letter-spacing:.08em}
.chapter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:17px}.chapter-heading .scene-stamp{margin:0;font-size:11px}.chapter-count{white-space:nowrap;font:11px system-ui;color:var(--muted)}
.chapter-pages{display:flex;gap:8px;list-style:none;padding:0;margin:20px 0 0}.chapter-pages li{width:27px;height:3px;background:#62543d}.chapter-pages li[aria-current]{background:#edcf91}
.stone-experience h1{font-size:clamp(33px,3.7vw,50px)}.stone-experience .body-copy{font-size:17px;line-height:1.8}.stone-experience .quote{font-size:19px;line-height:1.6}.stone-experience .eyeline{margin:20px 0}.stone-experience .primary{margin-top:20px}
.family-letter{border-top:1px solid #82704c;margin:25px 0 18px;padding-top:14px}.family-letter summary{cursor:pointer;padding:12px 0;min-height:44px;color:var(--gold);font:14px/1.6 system-ui}.family-letter summary:focus-visible{outline:2px solid #ffe3a2;outline-offset:5px}.family-letter div{padding:5px 0 13px}.family-letter p{font:17px/1.9 Georgia;color:var(--muted)}.family-letter .letter-signature{font-style:italic;color:var(--ink)}
@media(max-width:760px){.stone-experience .stage{height:300px;aspect-ratio:auto;max-width:440px;width:100%}.stone-experience{gap:4px}.stone-experience .world-art{object-position:center 42%}.stone-relic{inset:21% 26% 12%}.world-name{top:18px;font-size:18px}.stone-experience .scene-label{bottom:14px;font-size:9px}.stone-experience h1{font-size:35px}.stone-experience .body-copy{font-size:16px}.stone-experience .quote{font-size:18px}.chapter-heading{margin-bottom:15px}.chapter-heading .scene-stamp{font-size:10px}.family-letter p{font-size:16px}}
@media(max-width:360px){.stone-experience .stage{height:260px}.stone-experience h1{font-size:32px}.chapter-heading{gap:8px}}
