:root{font-family: 'Hiragino Mincho ProN','Yu Mincho',serif;color:#f5eedf;background:#202331;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #e5dbc54d;background:#ffffff09;border-radius:5px;padding:12px 18px;touch-action:manipulation}button:hover{background:#ffffff18}button:focus-visible{outline:2px solid #f2d69b;outline-offset:4px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}#app{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#333849;--sky1:#34394f;--sky2:#98939f;--ground:#d9d1d5}header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:20px max(20px,env(safe-area-inset-right));font-size:12px;letter-spacing:.12em}header div{display:flex;gap:8px}header button{padding:8px 12px}.landscape{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 65% 46%,#f3d8b02c,transparent 45%),linear-gradient(var(--sky1),var(--sky2) 65%,var(--ground));transition:background 1.5s}.landscape:after{content:'';position:absolute;inset:0;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}.moon{position:absolute;top:14%;right:23%;height:64px;width:64px;border-radius:50%;background:#f9edce;box-shadow:0 0 60px #f8e8d33a;opacity:.8}.mountain{position:absolute;width:120%;height:45%;left:-10%;top:30%;clip-path:polygon(0 80%,16% 30%,26% 48%,44% 0,60% 48%,74% 17%,100% 80%,100% 100%,0 100%);background:#b6b5c7;opacity:.55}.near{top:42%;left:-30%;background:#6e7c8b;opacity:.5}.house{position:absolute;top:43%;left:9%;width:27%;height:20%;background:#655964;clip-path:polygon(0 23%,50% 0,100% 23%,93% 23%,93% 100%,7% 100%,7% 23%)}.window{position:absolute;top:52%;left:20%;width:5%;height:6%;background:#f5d6a5;box-shadow:0 0 50px #ffd69880}.trees{position:absolute;right:0;top:35%;width:28%;height:30%;background:#545b6e;clip-path:polygon(30% 0,60% 60%,45% 60%,70% 90%,35% 90%,35% 100%,25% 100%,25% 90%,0 90%,15% 60%,0 60%)}.people{position:absolute;top:47%;left:36%;height:24%;width:30%;display:flex;gap:10%}.person{position:relative;flex:1;max-width:100px;filter:drop-shadow(0 8px 9px #20253640)}.person:before{content:'';position:absolute;top:0;left:30%;width:43%;height:24%;border-radius:45% 45% 40% 40%;background:#3d3945}.person:after{content:'';position:absolute;inset:18% 0 0;background:#4d5263;clip-path:polygon(35% 0,65% 0,85% 25%,100% 85%,65% 93%,62% 100%,48% 100%,43% 92%,0 87%,18% 25%)}.vanilla{transform:translateY(14px)}.vanilla:before{background:#d6c8bc;height:35%;width:55%;left:25%}.vanilla:after{background:#e4d7cd}.bird{position:absolute;top:40%;left:68%;width:40px;height:35px;animation:hover 2s ease-in-out infinite;display:none}.body{position:absolute;background:#9d78ba;border-radius:55%;width:26px;height:19px;top:12px}.beak{position:absolute;left:23px;top:13px;border-left:20px solid #b9546b;border-top:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(-15deg)}.wing{position:absolute;background:#b5a0d7;width:15px;height:28px;left:9px;top:-6px;border-radius:90% 0;transform-origin:bottom;animation:flap .12s infinite alternate}.mana{display:none;position:absolute;inset:30% 25% 20%;background:radial-gradient(ellipse,#ffe9c1b0,transparent 65%);animation:glow 3s infinite alternate}.night .mana,.contract .mana{display:block}.contract .bird,.camp .bird,.summoned .bird{display:block}.flower{position:absolute;top:56%;right:16%;font-size:32px;color:#f0c0cf;display:none}.summoned .flower,.contract .flower,.camp .flower{display:block}.sea{display:none;position:absolute;inset:43% 0 20%;background:repeating-linear-gradient(175deg,#b3d4d5 0 12px,#8fbabd 14px 16px,#b3d4d5 18px 35px)}.harbor{--sky1:#89b4be;--sky2:#e9dfc2;--ground:#b4b9a3}.harbor .sea{display:block}.harbor .house{background:#c6a38e;left:0;width:35%;top:40%}.harbor .trees{display:none}.morning{--sky1:#b2b9bc;--sky2:#edd9bb;--ground:#b8a490}.morning .window{top:24%;left:65%;width:20%;height:25%;border:8px solid #88766f;background:#f8e7bd}.morning .house,.morning .mountain,.morning .trees{display:none}.camp{--sky1:#252f43;--sky2:#79768d;--ground:#555f65}.camp .house,.camp .window{display:none}.fire{display:none;position:absolute;top:65%;left:48%;height:45px;width:26px;border-radius:70% 20% 60% 40%;background:#f4ce8d;box-shadow:0 0 70px 25px #f3ad5c55;animation:glow .8s infinite alternate}.camp .fire{display:block}.overlay{text-align:center;padding:9svh 20px 30px;min-height:calc(100svh - 80px);background:linear-gradient(#22283d20,#22283dbb)}h1{font-weight:400;line-height:1.55;letter-spacing:.22em;font-size:clamp(42px,9vw,76px);margin:20px 0}.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:.2em;color:#d9c7a5}.subtitle{letter-spacing:.2em;font-size:13px}.menu{display:grid;gap:12px;width:min(260px,100%);margin:42px auto 24px}.primary{background:#ece1c9;color:#393b49;border-color:#ece1c9;padding:15px 30px}.primary:hover{background:#fff3da}.hint{font-size:11px;line-height:2;color:#d7cfc5}.scene-label{padding:20px 24px;text-shadow:0 2px 12px #27293d}#scene-number{font:10px Georgia;letter-spacing:.2em;color:#efdbb2}h2{font-size:18px;font-weight:400;letter-spacing:.12em}.reading{position:relative;padding:0 16px max(18px,env(safe-area-inset-bottom));margin-top:max(30svh,160px)}#dialogue{display:flex;flex-direction:column;text-align:left;width:100%;max-width:720px;min-height:220px;margin:auto;padding:24px;background:#282c40ed;border:1px solid #d9c7a56b;box-shadow:0 12px 40px #23243430;border-radius:3px}#speaker{font-size:13px;color:#efd5a6;letter-spacing:.15em;margin-bottom:14px}#line{font-size:15px;line-height:2;white-space:pre-wrap}#next{font-size:10px;align-self:flex-end;margin-top:auto;padding-top:16px;color:#c7c1c2}#choices{display:grid;gap:10px;max-width:720px;margin:0 auto 16px}#choices button{background:#eee4d5f5;color:#3b3b4c;text-align:left;line-height:1.6}#notice{font-size:11px;text-align:center;height:16px;color:#f1dfb9}.tally{display:flex;justify-content:center;gap:40px;margin:32px}.tally b{font-size:30px;font-weight:400;margin-left:10px}#ending h1{font-size:40px}#ending p{line-height:2;font-size:13px}dialog{width:min(90%,440px);border:0;border-radius:4px;padding:0;color:#504b49;background:#f0e7d5}dialog::backdrop{background:#1c2035c9;backdrop-filter:blur(5px)}.paper{padding:32px;line-height:2}.paper .eyebrow{color:#87765c}.paper h2{border-bottom:1px solid #ad9f86;padding-bottom:16px}.paper button{color:#615447;border-color:#b8aa91;width:100%}.sketch{display:block;text-align:center;padding:25px;font-size:32px;color:#8d9e9c}@keyframes flap{to{transform:rotate(-65deg) scaleX(.4)}}@keyframes hover{50%{transform:translateY(-10px)}}@keyframes glow{to{opacity:.5;transform:scale(.96)}}@media(min-width:760px){#app{max-width:1000px;margin:auto}.reading{margin-top:28svh}header{padding:24px 32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
