:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;background:#100b1b;color:#f5ecda;--gold:#e0be71;--blue:#45baff;--red:#ff5764;--flap:#67ddff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#392044,transparent 65%)}button,a,select{font:inherit}button,select{border:1px solid #725738;background:#24182f;color:#f3dfb5;padding:10px 14px;border-radius:8px}button{cursor:pointer}button:hover{background:#4b315c}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid white;outline-offset:3px}a{color:#e0c481}[hidden]{display:none!important}#gallery{max-width:1500px;padding:36px 28px 80px;margin:auto}.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.eyebrow{letter-spacing:.2em;font-size:12px;color:var(--gold)}h1{font-family:Georgia,"Yu Mincho",serif;font-size:38px;margin:10px 0}p{color:#bdb2c9}.grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.thumb{display:block;width:100%;padding:0;border:1px solid #73562e;border-radius:9px;overflow:hidden;background:#1a1124}.thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}.meta{display:flex;gap:12px;align-items:baseline;margin-top:10px}.meta span{color:#bf9e67;font-size:12px;letter-spacing:.1em}.meta h2{font-size:15px;margin:0;font-weight:600}.gallery-help{font-size:13px;margin:18px 0 28px}#filters{display:flex;gap:10px;flex-wrap:wrap}#filters button[aria-pressed=true]{background:#d2ac64;color:#17101d}dialog{position:fixed;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#08050c;border:0;padding:0;color:#f5e8cc;overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#08050c}.toolbar,.bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#100a16;flex-shrink:0}.toolbar select{max-width:35vw;font-size:13px}.tools{display:flex;gap:8px}.tools button,.bottom button{font-size:12px;padding:8px 12px}.bottom{min-height:50px}#stage-wrap{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}#stage{flex-shrink:0}.audio-tools{display:flex;align-items:center;gap:10px;margin-right:auto}#audio-label{font-size:11px;color:#c9b889}#counter{font:12px monospace;min-width:65px;text-align:center}#notes{position:absolute;bottom:65px;left:20px;right:20px;border:1px solid #9c7b42;background:#170f24f5;padding:20px 24px;border-radius:12px;box-shadow:0 20px 60px #000;font-size:16px;line-height:1.8;z-index:5}.slide{position:relative;width:1920px;height:1080px;overflow:hidden;background:#100a1b;color:#fff7e7;--reading:62px;isolation:isolate}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d0819fa 0%,#100a1bf5 48%,#100a1bb0 72%,#100a1b0a 100%);z-index:-2}.slide.art .shade{display:none}.slide::after{content:"";pointer-events:none;position:absolute;inset:26px;border:1px solid #b8914b7a;z-index:2}.slide.art::after{display:none}.slide-header{position:absolute;top:76px;left:92px;right:92px}.kicker{font:600 20px -apple-system,sans-serif;color:#dabc7d;letter-spacing:.18em;text-transform:uppercase}.slide-header h2{font-family:Georgia,"Yu Mincho",serif;font-weight:600;font-size:64px;line-height:1.2;margin:20px 0 0;color:#ffe1a1;text-shadow:0 2px 20px #f2bc3930}.divider{height:1px;max-width:1250px;background:linear-gradient(90deg,#d5ae60,transparent);margin-top:24px}.content{position:absolute;left:92px;top:250px;bottom:135px;width:1300px;display:flex;flex-direction:column;justify-content:center;gap:24px}.line{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:var(--reading);line-height:1.55;letter-spacing:-.018em;margin:0;overflow-wrap:normal}.jp{font-family:"Yu Mincho",serif;font-size:28px;line-height:1.6;color:#cfc4d6;letter-spacing:.01em;margin:6px 0 0}.reading-block{min-width:0}.slide-footer{position:absolute;bottom:65px;left:92px;right:92px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-copy{font-size:25px;line-height:1.5;color:#eed395}.page-tag{font:16px monospace;letter-spacing:.12em;color:#a58b5d;white-space:nowrap;margin-left:auto}.flap{color:#67ddff;text-shadow:0 0 15px #56c8ff35}.drop{color:#d1c4d4;text-decoration:line-through;text-decoration-color:#ff707b;text-decoration-thickness:.09em;opacity:.7}.stop{color:#f6cc6f}.stop::before{content:"("}.stop::after{content:")"}.stress{color:#ffe2a4;text-decoration:underline;text-underline-offset:.16em;text-decoration-color:#e0b85b}.link{display:inline-block;position:relative;width:.38em;height:.28em;vertical-align:baseline;margin:0 .015em;top:.27em}.link svg{position:absolute;width:100%;height:100%;inset:0;overflow:visible}.hints-off .flap,.hints-off .drop,.hints-off .stop,.hints-off .stress{color:inherit;text-decoration:none;text-shadow:none;opacity:1}.hints-off .stop::before,.hints-off .stop::after{content:""}.hints-off .link svg{visibility:hidden}.model{padding:16px 22px;border:1px solid #95723966;border-radius:8px;background:#23172b99;color:#c6b9c9;font-size:23px;line-height:1.7}.model .label{font-size:14px;color:#c7a66b;letter-spacing:.12em}.tips{color:#d8bc85;font-size:23px;line-height:1.5;position:absolute;left:92px;bottom:120px}.recipe .content{width:1370px;gap:20px;top:260px;bottom:130px}.recipe .line{font-size:calc(var(--reading) * .94)}.dialogue .line{font-size:calc(var(--reading) * .96);line-height:1.4}.dialogue .content{gap:26px;width:1250px}.dialogue[data-speaker=spirit] .line{color:#ffbac8;text-shadow:0 2px 18px #c3284938}.speaker-badge{display:inline-block;align-self:flex-start;font-size:16px;padding:9px 18px;background:#4a204b;border:1px solid #b17b61;border-radius:30px;letter-spacing:.15em;color:#f6daac}.title .content,.effect .content{width:1250px;top:290px}.hero-subtitle{font-family:"Yu Mincho",serif;font-size:54px;line-height:1.8;max-width:1120px;color:#fff4dc}.title .slide-header h2,.effect .slide-header h2{font-size:76px}.effect .shade{background:linear-gradient(90deg,#10091ddd,#10091d9c 50%,#10091d0a)}.map .content{top:255px;width:1280px;gap:20px}.mission-step{display:flex;align-items:center;gap:28px;padding:18px 24px;border:1px solid #96743e;border-radius:12px;background:#1b102cda}.step-number{color:#e7bf6b;font:54px Georgia,serif;min-width:80px}.step-title{font-size:38px;font-family:"Yu Mincho",serif}.legend .content{gap:24px}.legend-item{display:flex;align-items:center;gap:28px;background:#22122eeb;border:1px solid #80623d;border-radius:12px;padding:18px 28px;font-size:38px}.legend-symbol{font:54px Georgia,serif;width:220px;text-align:center;flex-shrink:0}.chain-indicators{position:absolute;right:65px;top:73px;display:flex;gap:10px}.chain-badge{width:50px;height:50px;border:2px solid #ad86ca;background:#3c1e53e8;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#eee0ff}.chain-badge.broken{border-color:#bd9d4a;background:#4c3b1f8c;color:#e5c46d}.chain-badge.broken::after{content:"✓"}.chain-badge.intact::after{content:"🔒"}.effect .chain-badge.broken{animation:seal-release .8s ease-out}@keyframes seal-release{from{transform:scale(1.4);box-shadow:0 0 80px #ffe5a0}to{transform:scale(1)}}.cards-progress{display:flex;gap:8px;align-items:center}.collected-card{width:32px;height:40px;border:1px solid #71545e;border-radius:5px;display:grid;place-items:center;color:#6d5c78;font:16px Georgia;background:#1c1425}.collected-card.yes{border-color:#e4bd6a;color:#ffe6ad;background:linear-gradient(145deg,#806025,#302118)}.overview .shade{background:#0e071ce8}.overview .content{top:235px;width:auto;right:92px;bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-card{background:linear-gradient(135deg,#23142e,#130c20);border:1px solid #987446;border-radius:12px;padding:23px 27px;min-height:0;overflow:hidden}.story-card h3{color:#e6bf74;letter-spacing:.12em;font-size:21px;margin:0 0 14px}.story-card .line{font-size:29px;line-height:1.65;margin:0}.choices-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ingredient-card{border:1px solid #96713f;background:#25172fdf;border-radius:12px;padding:26px 30px;font:37px Georgia,serif;text-align:left;min-height:120px;color:#f6e9d5}.ingredient-card.selected{outline:3px solid #71ccfa;background:#1e2e46}.answers .ingredient-card.correct{border-color:#8adcac;box-shadow:inset 0 0 0 2px #8adcac}.answers .ingredient-card.wrong{opacity:.3}.clue{color:#f8d38a}.recipe[data-id=ingredients] .content{gap:8px}.recipe[data-id=ingredients] .line{font-size:49px}.recipe[data-id=ingredients] .jp{font-size:24px;margin-top:0}.recipe[data-id=ingredients] .reading-block:last-child{margin-top:-8px}.recipe[data-id=ingredients] .reading-block:nth-child(4){margin-top:10px}.preview-only #gallery,.preview-only .toolbar,.preview-only .bottom,.preview-only #notes{display:none!important}.preview-only #viewer{display:block;width:1920px;height:1080px;position:relative;overflow:hidden}.preview-only #stage-wrap{display:block;width:1920px;height:1080px}.preview-only #stage{transform:none!important}.preview-only{width:1920px;height:1080px;overflow:hidden;background:#100a1b}@media(max-width:800px){.grid{grid-template-columns:1fr}.gallery-header{display:block}h1{font-size:28px}.tools button{padding:7px;font-size:10px}.toolbar{flex-wrap:wrap}.toolbar select{max-width:100%;width:100%}.gallery-help{line-height:1.8}.audio-tools{max-width:48vw}#audio-label{display:none}}
.slide[data-bg="03-restricted"] .shade,.slide[data-bg="05-potion"] .shade,.title[data-bg="06-rescue"] .shade{background:linear-gradient(90deg,#100a1b 0%,#100a1b 53%,#100a1bdd 65%,#100a1b10 94%)}
.recipe .content{background:linear-gradient(125deg,#fff2d8f5,#ead2aeea);border:2px solid #b58b47;border-radius:14px;padding:28px 38px;box-shadow:0 12px 60px #0006,inset 0 0 70px #ba81312a}
.recipe .line{color:#2b2030}.recipe .jp{color:#68566d}.recipe .model{background:#f0dcb6;color:#665066;border-color:#a8824977}.recipe .model .label{color:#906027}.recipe .stop{color:#8c5d13}.recipe .flap{color:#1597c1;-webkit-text-stroke:.2px #076187;text-shadow:none}.recipe .drop{color:#8b7b8c}.recipe.hints-off .flap,.recipe.hints-off .drop,.recipe.hints-off .stop{color:inherit;-webkit-text-stroke:0}
.drop{position:relative;display:inline-block;text-decoration:none}.drop::after{content:"";position:absolute;left:-10%;top:50%;width:120%;border-top:.065em solid #ff707b;transform:rotate(-55deg);transform-origin:center}.hints-off .drop::after{display:none}
.story-translation{border-top:1px solid #c7a56b55;padding-top:16px}.story-translation .jp{font-size:26px;line-height:1.7;margin:0;color:#dbcfdf}
