:root{--gold: #e8c56a;--ink: #e8e6df}*{margin:0;padding:0;box-sizing:border-box}body{background:#070b18;color:var(--ink);font-family:Yu Mincho,serif}#stage{position:relative;width:100vw;height:100vh;overflow:hidden}#bg{position:absolute;top:0;right:0;bottom:0;left:0;transition:background 1s,filter 2.4s ease}#bg[class*=bg-]{background-size:cover;background-position:center;background-repeat:no-repeat}#bg.bg-beach_dawn{background-color:#2a2418;background-image:url(../assets/bg/beach_dawn.png)}#bg.bg-night_sea{background-color:#060a16;background-image:url(../assets/bg/night_sea.png)}#bg.bg-kitchen{background-color:#100c07;background-image:url(../assets/bg/kitchen.png)}#bg.bg-village{background-color:#241c12;background-image:url(../assets/bg/village.png)}#bg.bg-sea_calm{background-color:#060a18;background-image:url(../assets/bg/sea_calm.png)}#bg.bg-sea_fog{background-color:#9aa3ac;background-image:url(../assets/bg/sea_fog.png)}#bg.bg-shore_new{background-color:#2b2419;background-image:url(../assets/bg/shore_new.png)}#bg.bg-smithy{background-color:#170f0a;background-image:url(../assets/bg/smithy.png)}#bg.bg-kitchen_hollow{background-color:#14120f;background-image:url(../assets/bg/kitchen_hollow.png)}#bg.bg-village_erased{background-color:#2a2a28;background-image:url(../assets/bg/village_erased.png)}#bg.bg-sea_calm_hollow{background-color:#1a1c20;background-image:url(../assets/bg/sea_calm_hollow.png)}#bg.bg-beach_storm{background-color:#1a1d21;background-image:url(../assets/bg/beach_storm.png)}#sprite{position:absolute;right:1vw;bottom:0;height:78vh;width:44vw;background-size:contain;background-position:bottom center;background-repeat:no-repeat;pointer-events:none;transition:filter .4s ease,transform .4s ease;animation:sprite-in .6s ease-out}#sprite[hidden]{display:none}@keyframes sprite-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.sprite.char-fine.expr-normal{background-image:url(../assets/sprite/fine/normal.png)}.sprite.char-fine.expr-smile{background-image:url(../assets/sprite/fine/smile.png)}.sprite.char-fine.expr-surprise{background-image:url(../assets/sprite/fine/surprise.png)}.sprite.char-fine.expr-trouble{background-image:url(../assets/sprite/fine/trouble.png)}.sprite.char-fine.expr-shy{background-image:url(../assets/sprite/fine/shy.png)}.sprite.char-baa.expr-normal{background-image:url(../assets/sprite/baa/normal.png)}.sprite.char-baa.expr-laugh{background-image:url(../assets/sprite/baa/laugh.png)}.sprite.char-baa.expr-stern{background-image:url(../assets/sprite/baa/stern.png)}.sprite.char-baa.expr-worry{background-image:url(../assets/sprite/baa/worry.png)}.sprite.char-kaj.expr-normal{background-image:url(../assets/sprite/kaj/normal.png)}.sprite.char-kaj.expr-grin{background-image:url(../assets/sprite/kaj/grin.png)}.sprite.char-futago.expr-normal{background-image:url(../assets/sprite/futago/normal.png)}.sprite.char-futago.expr-cheer{background-image:url(../assets/sprite/futago/cheer.png)}.sprite.char-futago.expr-scared{background-image:url(../assets/sprite/futago/scared.png)}.sprite.char-inu.expr-normal{background-image:url(../assets/sprite/inu/normal.png)}.sprite.char-futago{right:4vw;width:52vw}.sprite.char-inu{height:82vh;filter:saturate(.85) brightness(.92)}#sprite.tone-expr-cool{filter:brightness(1.05) hue-rotate(-8deg) saturate(1.05)}#sprite.tone-expr-warm{filter:brightness(1.08) hue-rotate(6deg) saturate(1.1)}#sprite.tone-expr-solemn{filter:brightness(.8) saturate(.65);transform:rotate(-1.4deg)}#sprite.tone-expr-bright{filter:brightness(1.16) saturate(1.25);transform:rotate(1.2deg)}#sprite.tone-expr-faint{filter:brightness(1.1) saturate(.5)}#textbox{position:absolute;left:50%;transform:translate(-50%);bottom:90px;z-index:20;width:min(880px,92vw);min-height:150px;background:linear-gradient(180deg,#0b1224f2,#0a1020f7);box-shadow:0 0 28px 10px #0a1020a8,inset 0 1px #ffffff0d;border:1px solid #2a3552;border-radius:8px;padding:22px 28px;cursor:pointer}#namebox{color:#f0a0b4;letter-spacing:.2em;font-size:.9rem;min-height:1.4em;text-shadow:0 1px 3px #000c}#text{font-size:1.1rem;line-height:2;color:#f2f1ec;text-shadow:0 1px 3px #000b,0 0 10px #0006}#text .gap{border-bottom:2px dashed var(--gold);color:var(--gold);cursor:pointer;padding:0 4px}#text .w-substituted{color:var(--gold)}#text .choice{color:var(--gold);font-style:italic}#text .w-erased{border-bottom:2px solid #56607a;min-width:2em;display:inline-block}#bag{position:absolute;left:50%;transform:translate(-50%);bottom:16px;text-align:center;z-index:20}#bag.shake #pouch{animation:pouch-shake .3s}@keyframes pouch-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}#pouch{position:relative;border:none;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--gold);font-family:inherit;padding:4px 10px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6));transition:filter .3s,transform .2s}#pouch-svg{width:52px;height:52px;transform-origin:50% 82%;animation:pouch-breathe 3.6s ease-in-out infinite}@keyframes pouch-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}#pouch:hover{transform:translateY(-2px);filter:drop-shadow(0 4px 12px rgba(232,197,106,.45))}#pouch:hover #pouch-svg{animation:pouch-wiggle .5s ease-in-out}@keyframes pouch-wiggle{25%{transform:rotate(-5deg)}65%{transform:rotate(4deg)}}#bag.choosing #pouch,#bag.browsing #pouch{filter:drop-shadow(0 0 16px rgba(232,197,106,.6))}#pouch-label{font-size:.72rem;letter-spacing:.3em;opacity:.85;text-indent:.3em}#pouch-count{position:absolute;top:-2px;right:2px;min-width:1.7em;padding:1px 6px;border-radius:999px;background:var(--gold);color:#111;font-size:.74rem;font-weight:700;border:1px solid #0d1428}#pouch-count.bump{animation:count-bump .5s cubic-bezier(.2,1.8,.4,1)}@keyframes count-bump{40%{transform:scale(1.6)}}#bag-words{position:absolute;left:50%;bottom:46px;width:0;height:0}.chip{position:absolute;left:0;bottom:0;white-space:nowrap;transform:translate(var(--tx, -50%),var(--ty, 24px)) rotate(var(--rot, 0deg)) scale(var(--sc, 0));opacity:0;pointer-events:none;border:1px solid var(--gold);color:var(--gold);padding:9px 16px 11px;background:linear-gradient(160deg,#1c2543,#10182e);cursor:pointer;font-family:Yu Mincho,serif;font-size:.98rem;letter-spacing:.12em;border-radius:4px 12px;clip-path:polygon(4% 0,100% 3%,96% 100%,0 94%);box-shadow:0 4px 12px #0000008c,inset 0 0 14px #e8c56a14}.chip:before{content:"✦ ";font-size:.7em;opacity:.65}#bag.choosing .chip,#bag.browsing .chip,#bag.releasing .chip{opacity:1;pointer-events:auto}#bag.releasing .chip{animation:chip-releasable 1.4s ease-in-out infinite}@keyframes chip-releasable{0%,to{box-shadow:0 4px 12px #0000008c,inset 0 0 14px #e8c56a14}50%{box-shadow:0 4px 18px #e8c56a8c,inset 0 0 20px #e8c56a40}}#text .gap{display:inline-block;transition:transform .2s,background .2s}#text .gap.await{animation:gap-beckon 1.1s ease-in-out infinite;padding:0 8px}@keyframes gap-beckon{0%,to{text-shadow:0 0 4px rgba(232,197,106,.15);border-bottom-color:#e8c56a88}50%{text-shadow:0 0 16px rgba(232,197,106,.9);border-bottom-color:var(--gold)}}#text .gap.preview{color:#fff;background:#e8c56a26;animation:none}#text .gap.filled{color:var(--gold);border-bottom-color:transparent;animation:gap-filled .5s cubic-bezier(.2,1.4,.4,1)}@keyframes gap-filled{0%{transform:scale(1.7);filter:brightness(2.4)}to{transform:scale(1);filter:none}}#text .gap.deny,#text .w.deny{animation:gap-deny .35s}@keyframes gap-deny{25%,75%{border-bottom-color:#e06c6c;color:#e06c6c;transform:translate(-3px)}50%{transform:translate(3px)}}#text .w.editable{border-bottom:1px dotted rgba(232,197,106,.55);cursor:pointer;transition:text-shadow .3s}#text .w.editable:hover{text-shadow:0 0 12px rgba(232,197,106,.9)}#text .w.await{animation:gap-beckon 1.1s ease-in-out infinite}#text .w.preview{color:#fff;background:#e8c56a26;animation:none}#text .w.rewritten{color:var(--gold);animation:gap-filled .5s cubic-bezier(.2,1.4,.4,1)}.pick{color:#e8c56a;cursor:pointer;border-bottom:1px dotted rgba(232,197,106,.55);text-shadow:0 0 6px rgba(232,197,106,.45)}.pick:hover{text-shadow:0 0 12px rgba(232,197,106,.9)}.pick.taken{color:#e8c56a61;cursor:default;border-bottom:none;text-shadow:none}#stage.world-shift:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 60%,rgba(232,197,106,.22),transparent 60%);animation:world-shift .8s ease-out forwards}@keyframes world-shift{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.4)}}#tone-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity 2.4s ease,background 2.4s ease}#textbox{transition:border-color 2.4s ease}#stage.tone-cool #bg{filter:hue-rotate(-16deg) saturate(1.1) brightness(1.02)}#stage.tone-cool #tone-fx{opacity:1;background:radial-gradient(circle at 50% 30%,rgba(143,208,255,.16),transparent 68%)}#stage.tone-cool #textbox{border-color:#8fd0ff}#stage.tone-warm #bg{filter:hue-rotate(12deg) saturate(1.18) brightness(1.06)}#stage.tone-warm #tone-fx{opacity:1;background:radial-gradient(circle at 50% 30%,rgba(255,208,143,.18),transparent 68%)}#stage.tone-warm #textbox{border-color:#ffd08f}#stage.tone-solemn #bg{filter:hue-rotate(-4deg) saturate(.62) brightness(.8)}#stage.tone-solemn #tone-fx{opacity:1;background:radial-gradient(ellipse at 50% 55%,transparent 38%,rgba(5,8,18,.55) 100%)}#stage.tone-solemn #textbox{border-color:#e8c56a}#stage.tone-bright #bg{filter:hue-rotate(20deg) saturate(1.4) brightness(1.18)}#stage.tone-bright #tone-fx{opacity:1;background:radial-gradient(circle at 50% 25%,rgba(200,255,176,.2),transparent 70%)}#stage.tone-bright #textbox{border-color:#c8ffb0}#stage.tone-faint #bg{filter:saturate(.5) brightness(1.12)}#stage.tone-faint #tone-fx{opacity:1;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.14),transparent 72%)}#stage.tone-faint #textbox{border-color:#fff}#stage.choosing #text>*:not(.gap):not(.await){opacity:.35;transition:opacity .3s}#stage.choosing #namebox{opacity:.35;transition:opacity .3s}.chip{transition:transform .45s cubic-bezier(.2,1.4,.4,1),opacity .3s,background .15s,color .15s,box-shadow .2s}#bag.choosing .chip:hover,#bag.browsing .chip:hover{transform:translate(var(--tx),calc(var(--ty) - 12px)) rotate(0) scale(1.14);background:var(--gold);color:#111;z-index:21;box-shadow:0 10px 20px #e8c56a73;transition-delay:0s!important}.chip.selected{transform:translate(var(--tx),calc(var(--ty) - 8px)) rotate(0) scale(1.22);background:var(--gold);color:#111;box-shadow:0 0 22px #e8c56ae6}.chip.reject{animation:chip-reject .4s;border-color:#e06c6c;color:#e06c6c}.chip.protected{border-color:#7f8db3;color:#9fb0d6}.chip.protected:after{content:" ✧"}.chip.protected.reject{animation:chip-reject .4s;border-color:#e06c6c;color:#e06c6c}@keyframes chip-reject{20%{margin-left:-8px}40%{margin-left:7px}60%{margin-left:-5px}80%{margin-left:3px}}.chip.burning{animation:chip-burn .5s ease-in-out forwards}@keyframes chip-burn{0%{box-shadow:0 0 #fff0}35%{background:var(--gold);color:#fff;border-color:#fff;box-shadow:0 0 26px #ffffffe6}70%{background:#fff;color:#fff;border-color:#fff}to{background:#3a3f4d;color:#6a7080;border-color:#6a7080;opacity:.5}}.fly-word.burning{animation:fly-word-burn .44s ease-in-out forwards}@keyframes fly-word-burn{0%{color:var(--gold)}50%{color:#fff;text-shadow:0 0 22px #fff}to{color:#6a7080;text-shadow:none}}#burn-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#070b18e0;display:flex;align-items:center;justify-content:center}#burn-confirm[hidden]{display:none}.burn-box{border:1px solid var(--gold);background:linear-gradient(160deg,#1c2543,#10182e);padding:34px 44px;border-radius:4px 20px;text-align:center;max-width:420px;box-shadow:0 16px 48px #000000bf,inset 0 0 24px #e8c56a1a}.burn-text{color:var(--gold);font-family:Yu Mincho,serif;font-size:1.08rem;line-height:1.9;letter-spacing:.08em}.burn-actions{display:flex;gap:18px;justify-content:center;margin-top:26px}.burn-yes,.burn-no{border:1px solid var(--gold);background:#141b30ee;color:var(--gold);padding:8px 26px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.9rem;letter-spacing:.2em;transition:background .2s,color .2s,transform .2s}.burn-yes:hover{background:var(--gold);color:#111;transform:translateY(-1px)}.burn-no:hover{border-color:#9fb0d6;color:#9fb0d6}.fly-word{position:fixed;z-index:50;pointer-events:none;color:var(--gold);font-family:Yu Mincho,serif;font-size:1.05rem;text-shadow:0 0 12px rgba(232,197,106,.9);transition:transform .42s cubic-bezier(.3,.1,.2,1)}.spark{position:fixed;z-index:51;pointer-events:none;color:var(--gold);font-size:.8rem;animation:spark-fly .7s ease-out forwards}@keyframes spark-fly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0}}#chart-btn{position:absolute;top:16px;right:16px;border:1px solid var(--gold);color:var(--gold);background:#141b30ee;border-radius:999px;padding:6px 16px;cursor:pointer;font-family:inherit;font-size:.85rem;letter-spacing:.2em;transition:box-shadow .3s,transform .2s}#chart-btn:hover{transform:translateY(-2px);box-shadow:0 0 14px #e8c56a66}#comp-btn{position:absolute;top:16px;right:128px;border:1px solid var(--gold);color:var(--gold);background:#141b30ee;border-radius:999px;padding:6px 16px;cursor:pointer;font-family:inherit;font-size:.85rem;letter-spacing:.2em;transition:box-shadow .3s,transform .2s}#comp-btn:hover{transform:translateY(-2px);box-shadow:0 0 14px #e8c56a66}#compendium-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070b18f5;z-index:26;opacity:0;transition:opacity .4s;overflow-y:auto;padding:90px 5vw 40px}#compendium-overlay.show{opacity:1}.comp-head{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;align-items:center;gap:18px;padding:14px 24px;color:var(--gold);font-family:inherit;letter-spacing:.15em;background:linear-gradient(180deg,#070b18d0,transparent)}.comp-head-title{font-size:1.05rem}.comp-head-tagline{font-size:.78rem;opacity:.65}.comp-head-counter{font-size:.8rem;opacity:.8;margin-left:auto}.comp-tabs{display:flex;gap:10px;margin:8px 0 22px}.comp-tab{border:1px solid #56607a;color:#9fb0d6;background:#141b30cc;border-radius:999px;padding:6px 18px;cursor:pointer;font-family:inherit;font-size:.85rem;letter-spacing:.18em;transition:border-color .2s,color .2s}.comp-tab.active{border-color:var(--gold);color:var(--gold)}.comp-pane[data-pane=words]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.comp-pane[data-pane=skits]{display:flex;flex-direction:column;gap:24px}.comp-pane[data-pane=roots]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.comp-pane[hidden]{display:none}.word-card{border:1px solid var(--gold);color:var(--gold);padding:12px 16px 14px;background:linear-gradient(160deg,#1c2543,#10182e);font-family:Yu Mincho,serif;letter-spacing:.08em;border-radius:4px 12px;clip-path:polygon(4% 0,100% 3%,96% 100%,0 94%);box-shadow:0 4px 12px #0000008c,inset 0 0 14px #e8c56a14}.word-card.seen{border-color:#7f8db3;border-style:dashed;color:#9fb0d6;opacity:.8}.word-card.woven{border-color:var(--gold);color:#f6e6bb;background:linear-gradient(160deg,#2a2c4c,#171c33);box-shadow:0 4px 12px #0000008c,inset 0 0 20px #e8c56a3d}.word-card.burned{border-color:#6a7080;color:#7f8898;opacity:.8;text-decoration:none;background:linear-gradient(160deg,#171b26,#0c0f18)}.word-text{font-size:1.05rem}.word-origin{font-size:.72rem;opacity:.75;margin-top:6px}.word-meta{display:block;font-size:.72em;opacity:.62;letter-spacing:.04em}.root-card{border:1px solid #caa15a;color:#f0d9a0;padding:12px 16px 14px;background:linear-gradient(160deg,#241a12,#140d08);font-family:Yu Mincho,serif;letter-spacing:.08em;border-radius:4px 12px;clip-path:polygon(4% 0,100% 3%,96% 100%,0 94%);box-shadow:0 4px 12px #0000008c,inset 0 0 14px #caa15a1f}.root-word{font-size:1.05rem;color:var(--gold)}.root-target{font-size:.8rem;opacity:.85;margin-top:6px}.root-scene{font-size:.72rem;opacity:.65;margin-top:4px}.skit-scene-head{color:var(--gold);letter-spacing:.12em;font-size:.95rem;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #2a3552}.skit-entries{display:flex;flex-wrap:wrap;gap:10px}.skit-entry{border:1px solid var(--gold);color:var(--gold);padding:6px 12px;background:linear-gradient(160deg,#1c2543,#10182e);font-family:Yu Mincho,serif;font-size:.88rem;border-radius:4px 12px;clip-path:polygon(4% 0,100% 3%,96% 100%,0 94%)}.skit-entry.unseen{border-color:#56607a;border-style:dashed;color:#6a7ba0;background:linear-gradient(160deg,#161d33,#0d1424)}.skit-entry.walked{border-color:#f0d9a0;box-shadow:0 0 8px #e8c56a66}#chart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#070b18f2;z-index:26;opacity:0;transition:opacity .4s;cursor:grab}#chart-overlay.show{opacity:1}#chart-overlay.panning{cursor:grabbing}#chart-overlay svg{width:100%;height:100%}#chart-overlay .bgstar{fill:#fff;opacity:.18}#chart-overlay .cedge{stroke-width:.25;opacity:.35}#chart-overlay .cnode.visited{fill:var(--gold);filter:drop-shadow(0 0 1.5px #e8c56a)}#chart-overlay .cnode.adjacent{fill:#6a7ba0;opacity:.55}#chart-overlay .cnode.current{animation:cnode-pulse 1.6s ease-in-out infinite}@keyframes cnode-pulse{0%,to{opacity:1}50%{opacity:.45}}#chart-overlay .cnode.travelable{cursor:pointer;transition:r .2s,filter .2s}#chart-overlay .cnode.travelable:hover{r:3;filter:drop-shadow(0 0 4px #e8c56a)}#chart-overlay .cnode.deny-pulse{animation:cnode-deny .4s}@keyframes cnode-deny{0%,to{opacity:1}25%,75%{fill:#e06c6c;opacity:1}50%{fill:#ff9a9a;opacity:1}}#chart-overlay .clabel{fill:var(--gold);font-family:Yu Mincho,serif;text-shadow:0 0 2px #000;paint-order:stroke;stroke:#070b18aa;stroke-width:.4px}#chart-overlay .cgroup{fill:var(--gold);opacity:.5;letter-spacing:.15em;text-anchor:middle}.chart-head{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;align-items:center;gap:18px;padding:14px 24px;color:var(--gold);font-family:inherit;letter-spacing:.15em;background:linear-gradient(180deg,#070b18d0,transparent);pointer-events:none}.chart-head-title{font-size:1.05rem}.chart-head-counter{font-size:.8rem;opacity:.8}.chart-head-hint{font-size:.78rem;opacity:.65;margin-left:auto}#stage.revisiting #textbox{border-color:#caa15a}#revisit-band,#release-band{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:15;padding:6px 20px;border-radius:999px;background:#3a2a12ee;border:1px solid #caa15a;color:#f0d9a0;font-size:.8rem;letter-spacing:.2em;pointer-events:none}#toast{position:absolute;top:70px;left:50%;transform:translate(-50%) translateY(-8px);z-index:16;padding:8px 22px;border-radius:999px;background:#3a2a12ee;border:1px solid #caa15a;color:#f0d9a0;font-size:.8rem;letter-spacing:.12em;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#chart-overlay .clabel{fill:var(--gold);font-family:Yu Mincho,serif;letter-spacing:.06em;paint-order:stroke;stroke:#070b18;stroke-width:1.1;stroke-linejoin:round;cursor:pointer}#chart-overlay .clabel.unknown{fill:#6a7ba0;opacity:.75}#chart-overlay .clabel.current-label{fill:#fff}#chart-overlay .cgroup{fill:#e8c56a80;font-family:Yu Mincho,serif;letter-spacing:.5px;paint-order:stroke;stroke:#070b18;stroke-width:1;stroke-linejoin:round}#chart-overlay .cring{fill:none;stroke:var(--gold);opacity:.45;stroke-width:.35;stroke-dasharray:1.2 1.2;transform-box:fill-box;transform-origin:50% 50%;animation:cring-spin 24s linear infinite;pointer-events:none}@keyframes cring-spin{to{transform:rotate(360deg)}}#chart-overlay .starfield .bgstar{fill:#fff}#chart-overlay .starfield .layer-0{opacity:.35;animation:twinkle-slow 6.4s ease-in-out infinite}#chart-overlay .starfield .layer-1{opacity:.55;animation:twinkle-mid 4.2s ease-in-out infinite}#chart-overlay .starfield .layer-2{opacity:.8;animation:twinkle-fast 2.6s ease-in-out infinite}@keyframes twinkle-slow{0%,to{opacity:.18}50%{opacity:.42}}@keyframes twinkle-mid{0%,to{opacity:.3}50%{opacity:.68}}@keyframes twinkle-fast{0%,to{opacity:.45}45%{opacity:1}55%{opacity:1}}#chart-overlay .nebula-cloud{fill:url(#neb-grad);mix-blend-mode:screen;pointer-events:none;animation:nebula-breathe 9s ease-in-out infinite}@keyframes nebula-breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}#chart-overlay .nebula-cloud{transform-box:fill-box;transform-origin:50% 50%}#chart-overlay .cedge{stroke:url(#beam-grad);stroke-linecap:round;filter:drop-shadow(0 0 1.2px rgba(232,197,106,.5))}#chart-overlay .cedge.route{stroke:var(--gold);stroke-width:.18;stroke-dasharray:1 1.6;opacity:.55;filter:none}#chart-overlay .chalo{fill:none;stroke:var(--gold);stroke-width:.6;opacity:.18;pointer-events:none;transform-box:fill-box;transform-origin:50% 50%;animation:halo-pulse 3.2s ease-in-out infinite}@keyframes halo-pulse{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.32;transform:scale(1.22)}}#chart-overlay .cnode.chart-in,#chart-overlay .clabel.chart-in{animation:chart-in .6s cubic-bezier(.2,.8,.3,1) backwards}@keyframes chart-in{0%{opacity:0;transform:scale(.4)}}#chart-overlay .clabel{transform-box:fill-box;transform-origin:0 50%}#chart-overlay .cnode{transform-box:fill-box;transform-origin:50% 50%}#chart-tip{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:2;pointer-events:none;min-width:160px;background:#0d1428ee;border:1px solid var(--gold);border-radius:8px;padding:10px 16px;color:var(--gold);font-family:Yu Mincho,serif;letter-spacing:.06em;text-align:center;box-shadow:0 8px 20px #00000080,inset 0 0 12px #e8c56a14;opacity:0;transition:opacity .15s}#chart-tip[hidden]{display:none}#chart-tip:not([hidden]){opacity:1}#chart-tip .tip-title{font-size:.95rem}#chart-tip .tip-group{font-size:.74rem;opacity:.75;margin-top:2px}#chart-tip .tip-gaps{font-size:.72rem;opacity:.65;margin-top:4px;color:#f0d9a0}#stage,#stage *{user-select:none;-webkit-user-select:none}#compendium-overlay,#compendium-overlay *{user-select:text;-webkit-user-select:text}::selection{background:#e8c56a52;color:#fff}#stage{height:100dvh}@media (orientation: portrait){#bg[class*=bg-]{background-position:center 70%}#textbox{bottom:calc(104px + env(safe-area-inset-bottom));width:94vw;min-height:122px;padding:16px 18px;border-radius:10px}#text{font-size:1rem;line-height:1.95}#namebox{font-size:.82rem}#bag{bottom:calc(8px + env(safe-area-inset-bottom))}#pouch-svg{width:44px;height:44px}#pouch-label{font-size:.64rem}#chart-btn,#comp-btn,#save-btn{top:calc(10px + env(safe-area-inset-top));padding:11px 16px;font-size:.82rem}#comp-btn{right:118px}#sprite{height:54vh;width:82vw;right:-8vw;bottom:190px}.chip{padding:11px 15px 13px;font-size:.95rem}#compendium-overlay{padding:76px 4vw 40px}.comp-pane[data-pane=words]{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.comp-head{flex-wrap:wrap;gap:8px}.comp-head-tagline{display:none}}#chart-overlay{touch-action:none}#bg.bg-void{background-color:#04050a;background-image:none}#tut-skip{position:absolute;top:16px;left:16px;z-index:18;border:1px solid #56607a;color:#9fb0d6;background:#141b30ee;border-radius:999px;padding:6px 16px;cursor:pointer;font-family:inherit;font-size:.85rem;letter-spacing:.2em;transition:border-color .3s,color .3s}#tut-skip:hover{border-color:var(--gold);color:var(--gold)}@media (orientation: portrait){#tut-skip{top:calc(10px + env(safe-area-inset-top));left:10px;padding:11px 14px;font-size:.8rem}}#bg,#bg-near{position:absolute;top:-2.5%;left:-2.5%;width:105%;height:105%;will-change:transform}#bg-near{pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}#bg-near[hidden]{display:none}#bg-near.bg-near-beach_dawn{background-image:url(../assets/bg/beach_dawn.near.png)}#bg-near.bg-near-night_sea{background-image:url(../assets/bg/night_sea.near.png)}#bg-near.bg-near-village{background-image:url(../assets/bg/village.near.png)}#bg-near.bg-near-sea_calm{background-image:url(../assets/bg/sea_calm.near.png)}#bg-near.bg-near-sea_fog{background-image:url(../assets/bg/sea_fog.near.png)}#bg-near.bg-near-shore_new{background-image:url(../assets/bg/shore_new.near.png)}#bg-near.bg-near-smithy{background-image:url(../assets/bg/smithy.near.png)}#bg-near.bg-near-village_erased{background-image:url(../assets/bg/village_erased.near.png)}#bg-near.bg-near-sea_calm_hollow{background-image:url(../assets/bg/sea_calm_hollow.near.png)}#bg-near.bg-near-beach_storm{background-image:url(../assets/bg/beach_storm.near.png)}#curtain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;cursor:pointer;background:radial-gradient(circle at 50% 42%,#0d1428,#04050a 70%);display:flex;align-items:center;justify-content:center;animation:curtain-in .9s ease both}@keyframes curtain-in{0%{opacity:0}to{opacity:1}}.curtain-inner{text-align:center;animation:curtain-rise 2.2s ease both .35s}@keyframes curtain-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.curtain-title{font-size:clamp(1.5rem,5vw,2.3rem);letter-spacing:.42em;color:var(--gold);text-indent:.42em;text-shadow:0 0 26px rgba(232,197,106,.35)}.curtain-rule{width:54px;height:1px;background:var(--gold);opacity:.5;margin:22px auto}.curtain-chapter{font-size:clamp(.85rem,2.6vw,1rem);letter-spacing:.3em;color:#9fb0d6;text-indent:.3em}.curtain-hint{margin-top:46px;font-size:.72rem;letter-spacing:.22em;color:#5d6478;animation:curtain-hint 2.6s ease-in-out infinite 1.6s}@keyframes curtain-hint{0%,to{opacity:.35}50%{opacity:.8}}#look-btn{position:absolute;top:16px;right:240px;border:1px solid var(--gold);color:var(--gold);background:#141b30ee;border-radius:999px;padding:6px 16px;cursor:pointer;font-family:inherit;font-size:.85rem;letter-spacing:.2em;transition:box-shadow .3s,transform .2s}#look-btn:hover{transform:translateY(-2px);box-shadow:0 0 14px #e8c56a66}#look-btn[hidden]{display:none}#look-layer{position:absolute;top:-2.5%;left:-2.5%;width:105%;height:105%;z-index:12;cursor:crosshair;will-change:transform}#look-layer[hidden]{display:none}#stage.looking #textbox,#stage.looking #sprite{opacity:.12;transition:opacity .5s;pointer-events:none}#stage.looking #bg{filter:brightness(.82) saturate(.9)}#stage.looking #look-btn{background:var(--gold);color:#111}.look-mark{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(232,197,106,.85) 0%,rgba(232,197,106,.18) 45%,transparent 70%);animation:look-pulse 2.6s ease-in-out infinite}@keyframes look-pulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}#look-label{position:absolute;transform:translate(14px,-50%);pointer-events:none;background:#0d1428ee;border:1px solid var(--gold);border-radius:4px 12px;color:var(--gold);font-family:inherit;font-size:.95rem;letter-spacing:.12em;padding:6px 14px;white-space:nowrap;box-shadow:0 4px 14px #0009}#look-label[hidden]{display:none}@media (orientation: portrait){#look-btn{top:calc(10px + env(safe-area-inset-top));right:10px;padding:11px 14px;font-size:.8rem}#comp-btn{right:auto;left:10px}#chart-btn{right:96px}}#log-btn,#skip-btn,#save-btn{position:absolute;top:16px;border:1px solid #56607a;color:#9fb0d6;background:#141b30ee;border-radius:999px;padding:6px 14px;cursor:pointer;font-family:inherit;font-size:.82rem;letter-spacing:.16em;transition:border-color .25s,color .25s}#log-btn{right:546px}#skip-btn{right:448px}#save-btn{right:344px}#log-btn:hover,#skip-btn:hover,#save-btn:hover{border-color:var(--gold);color:var(--gold)}#skip-btn.on{border-color:var(--gold);color:#111;background:var(--gold)}#stage.skipping #text{opacity:.55}#backlog-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;background:#060a14f2;display:flex;flex-direction:column;padding:64px 6vw 32px}#backlog-overlay[hidden]{display:none}.backlog-head{display:flex;align-items:baseline;gap:16px;color:var(--gold);letter-spacing:.18em;padding-bottom:12px;border-bottom:1px solid #2a3552;cursor:pointer}.backlog-title{font-size:1rem}.backlog-hint{font-size:.74rem;color:#5d6478;letter-spacing:.1em}.backlog-list{flex:1;overflow-y:auto;padding:22px 4px 0}.backlog-line{margin-bottom:18px;line-height:1.95}.backlog-name{display:block;color:#e88aa0;font-size:.82rem;letter-spacing:.18em;margin-bottom:2px}.backlog-text{color:var(--ink);font-size:1rem}.backlog-original{display:block;color:#56607a;font-size:.82rem;margin-top:4px}.backlog-original:before{content:"――語られなかった原文: ";opacity:.8}.backlog-empty{color:#5d6478;letter-spacing:.12em}#drop-btn{position:absolute;left:50%;bottom:214px;transform:translate(-50%);z-index:22;border:1px solid #8a6a4a;color:#f0d2ad;background:#1c1710;border-radius:999px;box-shadow:0 6px 18px #000a;white-space:nowrap;padding:7px 20px;cursor:pointer;font-family:inherit;font-size:.82rem;letter-spacing:.18em}#drop-btn:hover{border-color:var(--gold);color:var(--gold)}#drop-btn[hidden]{display:none}@media (orientation: portrait){#log-btn{right:auto;left:10px;top:calc(56px + env(safe-area-inset-top))}#skip-btn{right:10px;top:calc(56px + env(safe-area-inset-top))}#save-btn{right:auto;left:50%;transform:translate(-50%);top:calc(56px + env(safe-area-inset-top))}#backlog-overlay{padding:56px 5vw 24px}#drop-btn{bottom:calc(248px + env(safe-area-inset-bottom))}}.word-take{display:block;margin-top:10px;width:100%;border:1px solid rgba(232,197,106,.5);background:transparent;color:var(--gold);border-radius:999px;padding:4px 0;cursor:pointer;font-family:inherit;font-size:.74rem;letter-spacing:.16em}.word-take:hover{background:#e8c56a1f}#stage.fx-shake{animation:fx-shake .42s cubic-bezier(.36,.07,.19,.97)}@keyframes fx-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px,1px)}40%,60%{transform:translate(7px,-1px)}}#stage.fx-quake{animation:fx-quake .9s ease-in-out}@keyframes fx-quake{0%,to{transform:none}8%{transform:translate(-9px,3px) rotate(-.5deg)}18%{transform:translate(10px,-4px) rotate(.6deg)}30%{transform:translate(-12px,5px) rotate(-.7deg)}44%{transform:translate(9px,-3px) rotate(.4deg)}60%{transform:translate(-6px,2px) rotate(-.3deg)}78%{transform:translate(3px,-1px)}}#stage.fx-flash:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:19;pointer-events:none;background:#fff;animation:fx-flash .32s ease-out forwards}@keyframes fx-flash{0%{opacity:.85}to{opacity:0}}#stage.fx-blackout:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:19;pointer-events:none;background:#03040a;animation:fx-blackout .9s ease-in-out forwards}@keyframes fx-blackout{0%{opacity:0}30%,60%{opacity:1}to{opacity:0}}#stage.fx-drain #bg,#stage.fx-drain #bg-near,#stage.fx-drain #sprite{animation:fx-drain 1.4s ease-in-out}@keyframes fx-drain{0%,to{filter:none}45%{filter:saturate(.05) brightness(.78)}}#stage.fx-zoom #bg,#stage.fx-zoom #bg-near{animation:fx-zoom .7s ease-out}@keyframes fx-zoom{0%{transform:scale(1)}60%{transform:scale(1.07)}to{transform:scale(1)}}#stage.fx-tilt{animation:fx-tilt .7s ease-in-out}@keyframes fx-tilt{0%,to{transform:none}50%{transform:rotate(-1.6deg)}}#stage.fx-bounce #textbox{animation:fx-bounce .5s cubic-bezier(.2,1.7,.4,1)}@keyframes fx-bounce{0%,to{transform:translate(-50%)}35%{transform:translate(-50%,-16px) scale(1.02)}}#stage.fx-ripple:after{content:"";position:absolute;left:50%;top:52%;z-index:13;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:1px solid rgba(232,197,106,.85);animation:fx-ripple 1.1s ease-out forwards}@keyframes fx-ripple{0%{transform:scale(1);opacity:.9}to{transform:scale(90);opacity:0}}#sprite.pose-step{animation:pose-step .62s cubic-bezier(.25,1.2,.4,1)}#sprite.pose-back{animation:pose-back .62s cubic-bezier(.25,1.2,.4,1)}#sprite.pose-hop{animation:pose-hop .52s cubic-bezier(.2,1.5,.4,1)}#sprite.pose-shake{animation:pose-shake .62s ease-in-out}#sprite.pose-jolt{animation:pose-jolt .38s cubic-bezier(.2,1.6,.4,1)}#sprite.pose-lean{animation:pose-lean .7s ease-in-out}#sprite.pose-turn{animation:pose-turn .7s ease-in-out}#sprite.pose-enter{animation:pose-enter .56s cubic-bezier(.2,1.15,.35,1)}#sprite.pose-fade{animation:pose-fade .9s ease-in-out}@keyframes pose-step{0%{transform:none}55%{transform:translate(-2.4vw,8px) scale(1.045)}to{transform:none}}@keyframes pose-back{0%{transform:none}55%{transform:translate(2.2vw,-6px) scale(.968)}to{transform:none}}@keyframes pose-hop{0%,to{transform:none}35%{transform:translateY(-26px) scale(1.02)}70%{transform:translateY(0) scaleY(.975)}}@keyframes pose-shake{0%,to{transform:none}12%{transform:translate(-7px) rotate(-.8deg)}30%{transform:translate(6px) rotate(.7deg)}48%{transform:translate(-5px) rotate(-.6deg)}66%{transform:translate(4px) rotate(.5deg)}84%{transform:translate(-2px)}}@keyframes pose-jolt{0%{transform:none}30%{transform:translateY(-14px) scale(1.03)}60%{transform:translateY(3px) scale(.99)}to{transform:none}}@keyframes pose-lean{0%,to{transform:none}50%{transform:rotate(-2.6deg) translate(-10px,4px)}}@keyframes pose-turn{0%,to{transform:none;filter:none}50%{transform:rotate(2.2deg) translate(16px) scaleX(.94);filter:brightness(.9)}}@keyframes pose-enter{0%{opacity:0;transform:translate(9vw) scale(.96)}to{opacity:1;transform:none}}@keyframes pose-fade{0%,to{opacity:1;filter:none}55%{opacity:.38;filter:saturate(.4) brightness(1.15)}}#sprite.expr-changed{animation:expr-pop .34s ease-out}@keyframes expr-pop{0%{transform:scale(.994) translateY(2px)}to{transform:none}}@media (prefers-reduced-motion: reduce){#sprite[class*=pose-],#sprite.expr-changed{animation:none}}#bg-fade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0}#bg-fade[hidden]{display:none}#bg-fade[class*=bg-]{background-size:cover;background-position:center;background-repeat:no-repeat}#bg-fade.fading{animation:bg-dissolve 1.1s ease forwards}@keyframes bg-dissolve{0%{opacity:1}to{opacity:0}}#bg-fade.bg-beach_dawn{background-image:url(../assets/bg/beach_dawn.png)}#bg-fade.bg-night_sea{background-image:url(../assets/bg/night_sea.png)}#bg-fade.bg-kitchen{background-image:url(../assets/bg/kitchen.png)}#bg-fade.bg-village{background-image:url(../assets/bg/village.png)}#bg-fade.bg-sea_calm{background-image:url(../assets/bg/sea_calm.png)}#bg-fade.bg-sea_fog{background-image:url(../assets/bg/sea_fog.png)}#bg-fade.bg-shore_new{background-image:url(../assets/bg/shore_new.png)}#bg-fade.bg-smithy{background-image:url(../assets/bg/smithy.png)}#bg-fade.bg-kitchen_hollow{background-image:url(../assets/bg/kitchen_hollow.png)}#bg-fade.bg-village_erased{background-image:url(../assets/bg/village_erased.png)}#bg-fade.bg-sea_calm_hollow{background-image:url(../assets/bg/sea_calm_hollow.png)}#bg-fade.bg-beach_storm{background-image:url(../assets/bg/beach_storm.png)}#bg-fade.bg-void{background-color:#04050a;background-image:none}#bg-grade{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;z-index:3;pointer-events:none;opacity:0;transition:opacity 1.4s ease}#bg-grade[class*=grade-]{opacity:1}#bg-grade.grade-dawn{mix-blend-mode:soft-light;background:linear-gradient(185deg,#ffba68d9,#ff845673 42%,#3a2c608c)}#bg-grade.grade-day{mix-blend-mode:soft-light;background:linear-gradient(180deg,#d6ecff99,#fffff047)}#bg-grade.grade-dusk{mix-blend-mode:soft-light;background:linear-gradient(190deg,#ff8e5cb3,#c4588499 48%,#221e48cc)}#bg-grade.grade-night{mix-blend-mode:multiply;background:linear-gradient(180deg,#263468b8,#141a3adb)}#bg-grade.grade-storm{mix-blend-mode:multiply;-webkit-backdrop-filter:saturate(.55) contrast(1.06);backdrop-filter:saturate(.55) contrast(1.06);background:linear-gradient(180deg,#606a76b3,#343a44d1)}#bg-grade.grade-moon{mix-blend-mode:soft-light;-webkit-backdrop-filter:brightness(.82) saturate(.8);backdrop-filter:brightness(.82) saturate(.8);background:radial-gradient(120% 80% at 72% 12%,#c6e0ffe6,#3c508c80 55%,#0e1228b3)}#bg-grade.grade-ember{mix-blend-mode:soft-light;background:radial-gradient(90% 70% at 50% 92%,#ff9636f2,#b4361880 45%,#180c0a99)}#bg-air{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;z-index:16;pointer-events:none}#bg-air[hidden]{display:none}#bg-air:before,#bg-air:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}#bg-air.air-rain:before{background:repeating-linear-gradient(101deg,transparent 0 7px,rgba(198,220,255,.3) 7px 8px);animation:air-fall-far .72s linear infinite;opacity:.55}#bg-air.air-rain:after{background:repeating-linear-gradient(99deg,transparent 0 15px,rgba(226,240,255,.42) 15px 17px);animation:air-fall-near .44s linear infinite;opacity:.5}@keyframes air-fall-far{to{transform:translate3d(-40px,220px,0)}}@keyframes air-fall-near{to{transform:translate3d(-64px,340px,0)}}#bg-air.air-snow:before{background:radial-gradient(2.5px 2.5px at 12% 8%,#fff9 50%,transparent 51%),radial-gradient(2px 2px at 47% 26%,#fff8 50%,transparent 51%),radial-gradient(3px 3px at 78% 14%,#fffa 50%,transparent 51%),radial-gradient(2px 2px at 88% 44%,#fff7 50%,transparent 51%);background-size:340px 300px;animation:air-snow 13s linear infinite}#bg-air.air-snow:after{background:radial-gradient(4px 4px at 28% 18%,#fffc 50%,transparent 51%),radial-gradient(3.5px 3.5px at 66% 58%,#fffb 50%,transparent 51%);background-size:520px 480px;animation:air-snow 8s linear infinite;opacity:.85}@keyframes air-snow{0%{transform:translate3d(0,-12%,0)}50%{transform:translate3d(24px,44%,0)}to{transform:translate3d(0,100%,0)}}#bg-air.air-fog:before{background:radial-gradient(60% 40% at 20% 78%,rgba(214,224,236,.3),transparent 70%),radial-gradient(50% 34% at 74% 86%,rgba(200,214,230,.26),transparent 70%);filter:blur(6px);animation:air-fog-a 41s ease-in-out infinite alternate}#bg-air.air-fog:after{background:radial-gradient(70% 30% at 55% 92%,rgba(226,232,242,.24),transparent 72%);filter:blur(9px);animation:air-fog-b 33s ease-in-out infinite alternate}@keyframes air-fog-a{0%{transform:translate3d(-4%,0,0)}to{transform:translate3d(6%,-2%,0)}}@keyframes air-fog-b{0%{transform:translate3d(5%,1%,0)}to{transform:translate3d(-5%,-1%,0)}}#bg-air.air-embers:before{background:radial-gradient(2.5px 2.5px at 18% 90%,rgba(255,186,88,.95) 50%,transparent 51%),radial-gradient(2px 2px at 52% 96%,rgba(255,140,54,.9) 50%,transparent 51%),radial-gradient(3px 3px at 81% 88%,rgba(255,206,120,.9) 50%,transparent 51%);background-size:420px 620px;animation:air-rise 11s linear infinite}#bg-air.air-embers:after{background:radial-gradient(4px 4px at 36% 94%,rgba(255,168,72,.85) 50%,transparent 51%);background-size:300px 460px;animation:air-rise 7.5s linear infinite;opacity:.8}@keyframes air-rise{0%{transform:translate3d(0,14%,0);opacity:0}18%{opacity:1}to{transform:translate3d(-26px,-92%,0);opacity:0}}#bg-air.air-starfall:before,#bg-air.air-starfall:after{width:2px;height:150px;inset:auto auto auto 0;background:linear-gradient(180deg,transparent,rgba(255,246,214,.95));filter:blur(.4px);border-radius:2px}#bg-air.air-starfall:before{animation:air-star 7s ease-in 1.4s infinite}#bg-air.air-starfall:after{animation:air-star 11s ease-in 5.2s infinite}@keyframes air-star{0%{transform:translate3d(18vw,-16vh,0) rotate(18deg);opacity:0}6%{opacity:1}16%{transform:translate3d(52vw,64vh,0) rotate(18deg);opacity:0}to{transform:translate3d(52vw,64vh,0) rotate(18deg);opacity:0}}#bg-air.air-dust:before{background:radial-gradient(1.8px 1.8px at 22% 34%,rgba(255,244,214,.55) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 63% 58%,rgba(255,240,206,.45) 50%,transparent 51%),radial-gradient(2.2px 2.2px at 84% 26%,rgba(255,248,226,.5) 50%,transparent 51%);background-size:280px 260px;animation:air-dust 26s ease-in-out infinite alternate}@keyframes air-dust{0%{transform:translateZ(0)}to{transform:translate3d(-18px,-26px,0)}}#bg-air.air-shaft:before{background:repeating-linear-gradient(74deg,transparent 0 64px,rgba(255,240,198,.1) 64px 104px,transparent 104px 150px);mix-blend-mode:screen;animation:air-shaft 17s ease-in-out infinite alternate}@keyframes air-shaft{0%{opacity:.55;transform:translate3d(-2%,0,0)}to{opacity:1;transform:translate3d(3%,0,0)}}@media (prefers-reduced-motion: reduce){#bg-air:before,#bg-air:after,#bg-fade.fading{animation:none}#bg-air{opacity:.35}}#save-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:26;background:#070b18f2;display:flex;align-items:center;justify-content:center;padding:5vh 4vw}#save-overlay[hidden]{display:none}.save-box{width:min(720px,94vw);background:#0c1326;border:1px solid #2a3552;border-radius:10px;padding:20px 22px;box-shadow:0 18px 60px #000a}.save-head{display:flex;align-items:center;justify-content:space-between}.save-title{color:var(--gold);letter-spacing:.18em;font-size:1.05rem}.save-close{background:none;border:none;color:#8c98b4;font-size:1.4rem;cursor:pointer;line-height:1;padding:0 4px}.save-close:hover{color:var(--ink)}.save-note{color:#8c98b4;font-size:.8rem;margin:8px 0 14px;line-height:1.7}.save-row{display:grid;grid-template-columns:3.2em 1fr auto;align-items:center;gap:12px;padding:11px 4px;border-top:1px solid #1c2542}.save-row.empty .save-body{color:#66708c}.save-slot{color:var(--gold);text-align:center;letter-spacing:.1em}.save-body{display:flex;flex-direction:column;gap:2px;min-width:0}.save-where{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-when{color:#7d88a4;font-size:.74rem}.save-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.save-acts button{background:#17203c;color:var(--ink);border:1px solid #2a3552;border-radius:5px;padding:5px 11px;font-size:.82rem;cursor:pointer;font-family:inherit}.save-acts button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.save-acts button:disabled{opacity:.4;cursor:not-allowed}.save-acts .save-read{border-color:#3d4a72}.save-acts .save-drop{color:#9aa2b8}@media (orientation: portrait){.save-row{grid-template-columns:2.6em 1fr}.save-acts{grid-column:1 / -1;justify-content:flex-start}}#cg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:17;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0}#cg[hidden]{display:none}#cg.cg-in{animation:cg-in .7s ease forwards}#cg.cg-out{animation:cg-out .7s ease forwards}@keyframes cg-in{0%{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}@keyframes cg-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){#cg.cg-in,#cg.cg-out{animation-duration:.01s}}#cg.cg-shore_find{background-image:url(../assets/cg/shore_find.png)}#cg.cg-key_visual{background-image:url(../assets/cg/key_visual.png)}#cg.cg-bread{background-image:url(../assets/cg/bread.png)}#title-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#05070f;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:title-in 1.6s ease both}#title-screen.leaving{animation:title-out .52s ease forwards}@keyframes title-in{0%{opacity:0}to{opacity:1}}@keyframes title-out{to{opacity:0}}.title-art{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(../assets/cg/key_visual.png);background-size:cover;background-position:center;opacity:.78;animation:title-art 14s ease-out both}@keyframes title-art{0%{transform:scale(1.06)}to{transform:none}}#title-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#05070fcc,#05070f44 42%,#05070fdd)}.title-body{position:relative;z-index:1;text-align:center;padding:0 6vw}.title-name{font-size:clamp(2.1rem,6vw,3.6rem);color:var(--gold);font-weight:400;letter-spacing:.42em;text-indent:.42em;text-shadow:0 2px 24px #000b;animation:title-rise 2.2s .3s ease both}.title-copy{margin-top:1.1rem;color:var(--ink);letter-spacing:.24em;font-size:.95rem;text-shadow:0 1px 10px #000c;animation:title-rise 2.2s .9s ease both}@keyframes title-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title-menu{margin-top:2.6rem;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:title-rise 2.2s 1.5s ease both}.title-menu button{background:#0d1428cc;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:11px 30px;font-family:inherit;font-size:.95rem;letter-spacing:.22em;cursor:pointer;transition:background .25s,transform .2s}.title-menu button:hover{background:var(--gold);color:#111;transform:translateY(-2px)}.title-where{margin-top:1.1rem;color:#9aa4bd;font-size:.78rem;letter-spacing:.12em;animation:title-rise 2.2s 1.8s ease both}.weave-wave{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;pointer-events:none;z-index:19;border:2px solid var(--weave-color, #fff);box-shadow:0 0 24px var(--weave-color, #fff),inset 0 0 18px var(--weave-color, #fff);animation:weave-wave 1.1s cubic-bezier(.15,.7,.35,1) forwards}@keyframes weave-wave{0%{transform:scale(1);opacity:.95;border-width:2px}70%{opacity:.45}to{transform:scale(190);opacity:0;border-width:.5px}}#stage.weaving #bg,#stage.weaving #bg-near{animation:weave-breathe .76s ease-out}@keyframes weave-breathe{0%{filter:brightness(1)}22%{filter:brightness(1.5) saturate(1.2)}to{filter:brightness(1)}}#stage.weaving #bg-grade{animation:weave-grade .76s ease-out}@keyframes weave-grade{0%,to{opacity:1}30%{opacity:.35}}#stage.weave-still #bg,#stage.weave-still #bg-near,#stage.weave-still #bg-air,#stage.weave-still #sprite{animation:none!important;transition:none!important}#stage.weave-still #bg-air{opacity:.25}#stage.weave-still #bg{filter:saturate(.82)}#stage.weave-still #textbox{border-color:#6b7286}@media (prefers-reduced-motion: reduce){.weave-wave{animation-duration:.01s}#stage.weaving #bg,#stage.weaving #bg-near,#stage.weaving #bg-grade{animation:none}}#item{position:absolute;left:4vw;bottom:214px;z-index:15;width:min(300px,26vw);height:min(300px,26vw);pointer-events:none;background-size:contain;background-position:center bottom;background-repeat:no-repeat;filter:drop-shadow(0 10px 28px #000a);opacity:0}#item:before{content:"";position:absolute;left:16%;right:16%;bottom:2%;height:54%;z-index:-1;background:radial-gradient(ellipse at 50% 56%,#060a16b8,#060a1666 38%,#060a1600 68%)}#item[hidden]{display:none}#item.item-in{animation:item-in .52s cubic-bezier(.2,1.3,.4,1) forwards}#item.item-out{animation:item-out .52s ease-in forwards}@keyframes item-in{0%{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}@keyframes item-out{0%{opacity:1}to{opacity:0;transform:translateY(10px) scale(.97)}}@media (orientation: portrait){#item{left:3vw;bottom:calc(300px + env(safe-area-inset-bottom));width:38vw;height:38vw}}@media (prefers-reduced-motion: reduce){#item.item-in,#item.item-out{animation-duration:.01s}}#stage[class*=strained-] #bg{filter:saturate(.94) contrast(1.03)}#stage.strained-1 #textbox{border-color:#6a5f78}#stage.strained-2 #bg{filter:saturate(.86) contrast(1.06) hue-rotate(-3deg)}#stage.strained-2 #textbox{border-color:#7b5f72;box-shadow:0 0 28px 10px #0a1020a8,inset 0 0 0 1px #7b5f7233}#stage.strained-3 #bg{filter:saturate(.76) contrast(1.1) hue-rotate(-6deg)}#stage.strained-3 #textbox{border-color:#8f5f68}#stage[class*=strained-]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:none;background:linear-gradient(103deg,transparent 0 49.6%,#d9c4a733 49.6% 49.75%,transparent 49.75%),linear-gradient(78deg,transparent 0 22%,#d9c4a722 22% 22.1%,transparent 22.1%);opacity:.5;mix-blend-mode:screen}#stage.strained-2:before{opacity:.8}#stage.strained-3:before{opacity:1;filter:blur(.2px)}#clock-label{position:absolute;top:14px;left:18px;z-index:18;font-size:15px;letter-spacing:.18em;white-space:nowrap;color:var(--gold);opacity:.3;pointer-events:none;text-shadow:0 1px 3px #050912,0 0 10px #05091288;transition:opacity .9s ease,text-shadow .9s ease}#clock-label.lit{opacity:.92;text-shadow:0 1px 3px #050912,0 0 16px #e8c56a55}#stage.weave-gasp #bg,#stage.weave-gasp #bg-near{animation:weave-gasp .21s cubic-bezier(.4,0,.2,1)}@keyframes weave-gasp{0%{transform:scale(1);filter:saturate(1)}60%{transform:scale(.994);filter:saturate(.78) brightness(.94)}to{transform:scale(1);filter:saturate(1)}}.weave-wave.echo{animation-duration:1.5s;opacity:.5}.weave-wave.echo:after{border-width:1px}.weave-mote{position:absolute;border-radius:50%;pointer-events:none;z-index:17;background:var(--weave-color);box-shadow:0 0 8px var(--weave-color);margin:-2px 0 0 -2px;animation:mote-burst 1.4s cubic-bezier(.12,.7,.3,1) forwards}@keyframes mote-burst{0%{transform:translate(0) scale(.4);opacity:0}12%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}.weave-mote.drift-rise{animation-name:mote-rise;animation-duration:1.8s}@keyframes mote-rise{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:.95}to{transform:translate(calc(var(--dx) * .5),calc(var(--dy) * .35 - 130px)) scale(.9);opacity:0}}.weave-mote.drift-fall{animation-name:mote-fall;animation-duration:1.6s}@keyframes mote-fall{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:.95}to{transform:translate(calc(var(--dx) * .6),calc(var(--dy) * .3 + 150px)) scale(.7);opacity:0}}.weave-mote.drift-sink{animation-name:mote-sink;animation-duration:2.1s}@keyframes mote-sink{0%{transform:translate(0) scale(.5);opacity:0}20%{opacity:.8}70%{transform:translate(calc(var(--dx) * .45),calc(var(--dy) * .2 + 40px)) scale(1.1);opacity:.55}to{transform:translate(calc(var(--dx) * .5),calc(var(--dy) * .2 + 62px)) scale(1);opacity:0}}@media (prefers-reduced-motion: reduce){#stage.weave-gasp #bg,#stage.weave-gasp #bg-near{animation:none}.weave-mote{display:none}}.tip-when{color:var(--gold);opacity:.85;font-size:12px;letter-spacing:.08em;margin-top:2px}#chart-overlay .cnode.visited[data-place=浜]{fill:#e6d3a8;filter:drop-shadow(0 0 1.5px #e6d3a8)}#chart-overlay .cnode.visited[data-place=飯屋]{fill:#e8a877;filter:drop-shadow(0 0 1.5px #e8a877)}#chart-overlay .cnode.visited[data-place=広場]{fill:#f0d987;filter:drop-shadow(0 0 1.5px #f0d987)}#chart-overlay .cnode.visited[data-place=鍛冶場]{fill:#e08b6a;filter:drop-shadow(0 0 1.5px #e08b6a)}#chart-overlay .cnode.visited[data-place=沖]{fill:#8fbede;filter:drop-shadow(0 0 1.5px #8fbede)}.chart-legend{display:inline-flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.06em;color:#b9c0d0;margin-left:18px}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:-1px}.chart-legend i[data-place=浜]{background:#e6d3a8}.chart-legend i[data-place=飯屋]{background:#e8a877}.chart-legend i[data-place=広場]{background:#f0d987}.chart-legend i[data-place=鍛冶場]{background:#e08b6a}.chart-legend i[data-place=沖]{background:#8fbede}#item.item-shard_bright{background-image:url(../assets/item/shard_bright.png)}#item.item-shard_warm{background-image:url(../assets/item/shard_warm.png)}#item.item-shard_cool{background-image:url(../assets/item/shard_cool.png)}#item.item-shard_solemn{background-image:url(../assets/item/shard_solemn.png)}#item.item-shard_faint{background-image:url(../assets/item/shard_faint.png)}#item.item-shard_plain{background-image:url(../assets/item/shard_plain.png)}.chart-progress{position:absolute;left:24px;right:24px;bottom:6px;height:3px;background:#2a3350;border-radius:2px;overflow:hidden}.chart-progress i{display:block;height:100%;background:linear-gradient(90deg,#b98f3e,#e8c56a);border-radius:2px;transition:width .6s ease}#gap-meter{position:absolute;left:50%;transform:translate(-50%);bottom:246px;z-index:22;padding:5px 16px;border-radius:999px;font-size:13px;letter-spacing:.12em;color:#e8c56a;background:#070b18e6;border:1px solid #e8c56a66}#gap-meter.last-one{animation:meter-pulse 1.1s ease-in-out infinite;border-color:#e8c56a}#gap-meter.done{color:#9fe8b0;border-color:#9fe8b066}@keyframes meter-pulse{0%,to{box-shadow:0 0 #e8c56a44}50%{box-shadow:0 0 14px 3px #e8c56a55}}#bag.choosing .chip.tried{opacity:.45;filter:saturate(.6)}#bag.choosing .chip.tried:after{content:"✓";margin-left:6px;font-size:12px}#chart-overlay .cnode.complete{fill:#ffe9a8;filter:drop-shadow(0 0 5px #ffe9a8) drop-shadow(0 0 12px #e8c56a88)}#item.item-prop_ship{background-image:url(../assets/item/prop_ship.png)}#item.item-prop_boat{background-image:url(../assets/item/prop_boat.png)}#item.item-prop_palm{background-image:url(../assets/item/prop_palm.png)}#item.item-prop_basket{background-image:url(../assets/item/prop_basket.png)}#item.item-prop_fish{background-image:url(../assets/item/prop_fish.png)}#item.item-prop_bucket{background-image:url(../assets/item/prop_bucket.png)}#item.item-prop_barrel{background-image:url(../assets/item/prop_barrel.png)}#item.item-prop_lantern{background-image:url(../assets/item/prop_lantern.png)}#item.item-prop_bench{background-image:url(../assets/item/prop_bench.png)}#item.item-prop_anvil{background-image:url(../assets/item/prop_anvil.png)}#item.item-prop_bread{background-image:url(../assets/item/prop_bread.png)}#item.item-prop_sign{background-image:url(../assets/item/prop_sign.png)}#item.item-prop_hammock{background-image:url(../assets/item/prop_hammock.png)}
