:root{--parchment:#f6ecd6;--parchment-dark:#e8d8b4;--ink:#4a3426;--ink-soft:#7a5c44;--teal:#2f6f6a;--gold:#d9a441;--leather:#2b1d14;--cover:#6b3a26;--cover-dark:#3e2217;--page:#f5e8c8;--page-deep:#e9d6ab;--page-edge:#d8c093;--stitch:#e8be6ebf;--danger:#c0443e;--uiz:1;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,Heiti TC,sans-serif}:lang(ja) body,:lang(ja) #rotate-hint{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,Noto Sans TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#120c08;margin:0;overflow:hidden}#viewport{position:fixed;inset:0;overflow:clip}#stage{transform-origin:50%;touch-action:none;width:1920px;height:1080px;position:absolute;top:50%;left:50%;overflow:clip}#scene,#scene canvas{display:block;position:absolute;inset:0}#ui{pointer-events:none;font-size:calc(24px * var(--uiz));position:absolute;inset:0}#ui>*{pointer-events:auto}.icon{vertical-align:middle;object-fit:contain;display:inline-block}.icon.ph{color:#fff;text-shadow:0 1px 2px #0009;border:2px solid #2b1d14b3;border-radius:50%;justify-content:center;align-items:center;font-size:.6em;font-weight:700;line-height:1;display:inline-flex}.topbar{height:calc(76px * var(--uiz));align-items:center;gap:calc(22px * var(--uiz));padding:0 calc(24px * var(--uiz));border-bottom:3px solid var(--gold);color:#f6e3b4;pointer-events:auto;background:linear-gradient(#3b2718,#2b1d14);font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.res{white-space:nowrap;align-items:center;gap:.35em;display:flex}.res.gold{color:#ffd34d;min-width:7em;font-size:1.2em}.res-group{gap:calc(16px * var(--uiz));padding-left:calc(16px * var(--uiz));border-left:2px solid #d9a44159;display:flex}.book-btn{font:inherit;color:var(--leather);background:linear-gradient(#f3d27a, var(--gold));cursor:var(--cursor-pointer,pointer);border:3px solid #8a6424;border-radius:12px;margin-left:auto;padding:.3em .9em;font-weight:700}.book-btn:active{transform:scale(.96)}.drawer{top:calc(76px * var(--uiz));width:min(calc(660px * var(--uiz)), 100%);background:var(--tex-leather,none), linear-gradient(100deg, var(--cover-dark), var(--cover) 18%, var(--cover-dark));background-size:calc(256px * var(--uiz)), cover;border-radius:16px 0 0 16px;padding:.45em .45em .45em 0;transition:transform .25s;display:flex;position:absolute;bottom:0;right:0;transform:translate(105%);box-shadow:-8px 0 24px #00000080,inset 0 0 0 2px #00000059}.drawer.open{transform:translate(0)}.bookmarks{border-right:2px dashed var(--stitch);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.4em;margin-right:.35em;padding:.2em 0 .6em .3em;display:flex}.bookmark{--ribbon:#8c5a3c;font:inherit;isolation:isolate;width:3em;height:2.6em;cursor:var(--cursor-pointer,pointer);background:0 0;border:none;justify-content:center;align-items:center;margin-right:-.4em;padding:0 0 0 .4em;transition:width .15s;display:flex;position:relative}.bookmark:before{content:"";z-index:-1;background:linear-gradient(transparent 12%, #ffffff40 13%, transparent 16%, transparent 84%, #0000002e 87%, transparent 88%), linear-gradient(var(--ribbon), color-mix(in srgb, var(--ribbon) 70%, #000));clip-path:polygon(0 0,100% 0,100% 100%,0 100%,.55em 50%);filter:brightness(.8)saturate(.85);transition:filter .15s;position:absolute;inset:0}.bookmark:hover{width:3.25em}.bookmark:hover:before,.bookmark.active:before{filter:none}.bookmark.active{width:3.5em}.bookmark.bm-greenhouse{--ribbon:#5f9a55}.bookmark.bm-cauldron{--ribbon:#cf7a3a}.bookmark.bm-counter{--ribbon:#c99a2e}.bookmark.bm-flow{--ribbon:#4f7fbf}.bookmark.bm-lumia{--ribbon:#d0678f}.bookmark.bm-settings{--ribbon:#8a6fb5}.bookmark .icon{filter:drop-shadow(0 1px 1px #00000073)}.bookmark .glyph{color:#fff6e0;font-size:1.5em}.bookmark:after{content:attr(data-label);background:var(--leather);color:#fff6e0;white-space:nowrap;opacity:0;pointer-events:none;border-radius:8px;padding:.25em .7em;font-size:.85em;font-weight:700;transition:opacity .12s,transform .12s;position:absolute;top:50%;right:calc(100% + .6em);transform:translate(.3em,-50%);box-shadow:0 2px 8px #0006}.bookmark:hover:after,.bookmark:focus-visible:after{opacity:1;transform:translateY(-50%)}.close{font:inherit;color:#f6e3b4;cursor:var(--cursor-pointer,pointer);background:0 0;border:none;width:2.9em;margin-bottom:.2em;padding:.3em 0}.drawer-main{background:var(--tex-page,none), radial-gradient(ellipse at 55% 35%, #fbf2dc, var(--page) 55%, var(--page-deep));background-size:calc(512px * var(--uiz)), cover;min-width:0;box-shadow:inset 1.2em 0 1.2em -.9em #5a371980, 2px 0 0 var(--page-deep), 4px 0 0 var(--page-edge), 6px 0 0 var(--page-deep), 8px 0 0 var(--page-edge);border-radius:4px 12px 12px 4px;flex-direction:column;flex:1;display:flex}.drawer-title{border-bottom:3px double #8a64248c;border-image:var(--ui-divider,none) 0 0 100% 0 / 0 0 .9em 0 stretch;align-items:center;gap:.6em;min-height:2.4em;padding:.45em .9em .55em 1.1em;display:flex}.drawer-title>b{color:#5a3a22;white-space:nowrap;letter-spacing:.05em;font-size:1.1em}.modes{color:var(--ink-soft);align-items:center;gap:.4em;margin-left:auto;font-size:.8em;display:flex}.mode{font:inherit;border:2px solid var(--ink-soft);color:var(--ink);cursor:var(--cursor-pointer,pointer);background:0 0;border-radius:999px;padding:.15em .7em}.mode.active{background:var(--ink);color:var(--parchment)}.drawer-body{overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:#b58d5a transparent;flex:1;padding:.6em .8em 2em 1.1em;overflow-y:auto}.cards{flex-direction:column;gap:.7em;display:flex}.card{border:1.5px solid var(--page-edge);background:#fffaeed1;border-radius:10px;padding:.6em .8em;position:relative;box-shadow:0 2px #78552d1f,0 3px 8px #78552d14}.card:before,.card:after{content:"";background:var(--ui-corner,none) center / contain no-repeat;pointer-events:none;opacity:.85;width:1.4em;height:1.4em;position:absolute}.card:before{top:3px;left:3px}.card:after{bottom:3px;right:3px;transform:rotate(180deg)}.card.locked{background:#e8dabcd9}.glyph{vertical-align:middle;line-height:1;display:inline-block}.card.flash{animation:1.2s flash}@keyframes flash{0%,60%{box-shadow:0 0 0 4px var(--gold)}to{box-shadow:0 0 #0000}}.card-title{align-items:center;gap:.35em;margin-bottom:.3em;font-size:1.05em;font-weight:700;display:flex}.refine-stars{color:#e8a93a;letter-spacing:-.05em;font-size:.85em}.lv{background:var(--ink);color:var(--parchment);border-radius:999px;margin-left:auto;padding:.1em .6em;font-size:.8em}.stats{color:var(--ink-soft);flex-wrap:wrap;gap:.3em 1em;margin-bottom:.4em;font-size:.78em;display:flex}.stats b{color:var(--ink)}.inputs{gap:.6em;display:inline-flex}.hint{color:var(--ink-soft);margin:.2em 0 .4em;font-size:.75em;line-height:1.5}.buy-row{border-top:1px dashed var(--parchment-dark);align-items:center;gap:.6em;padding:.45em 0;display:flex}.buy-text{flex:1;min-width:0}.buy-title{align-items:center;gap:.3em;font-size:.9em;font-weight:700;display:flex}.buy-status{color:var(--teal);font-size:.8em}.buy-desc{color:var(--ink-soft);font-size:.72em}.buy-btn{font:inherit;background:linear-gradient(#f7df94, var(--gold));min-width:6.5em;color:var(--leather);cursor:var(--cursor-pointer,pointer);white-space:nowrap;border:2px solid #8a6424;border-radius:10px;justify-content:center;align-items:center;gap:.3em;padding:.35em .7em;font-size:.85em;font-weight:700;display:inline-flex}.buy-btn:disabled{filter:grayscale(.8);opacity:.55;cursor:var(--cursor-disabled,default)}.buy-btn:not(:disabled):active{transform:scale(.96)}.buy-count{opacity:.8;font-size:.8em}.plant-levels{flex-wrap:wrap;gap:.3em;margin:.1em 0 .35em;display:flex}.plant-level{border:2px solid var(--parchment-dark);color:var(--ink);background:#f6ecd6;border-radius:999px;align-items:center;gap:.25em;padding:.1em .55em;font-size:.75em;display:inline-flex}button.plant-level{font:inherit;cursor:var(--cursor-pointer,pointer);font-size:.75em}.plant-level.current{border-color:var(--teal);cursor:var(--cursor-default,default);background:#e3f1ee}.plant-level.never{color:var(--ink-soft)}.plant-level.swap:not(:disabled):hover{border-color:var(--gold);background:#fff3d6}.plant-level.swap:not(:disabled):active{transform:scale(.96)}.plant-level.swap:disabled{opacity:.5;cursor:var(--cursor-disabled,default)}.plant-level small{color:var(--ink-soft)}.plant-level em{color:var(--teal);font-style:normal;font-weight:700}.plant-swap{color:#8a6424;border-left:1px solid var(--parchment-dark);align-items:center;gap:.15em;padding-left:.2em;font-weight:700;display:inline-flex}.plant-levels-hint{margin-top:-.2em}.row{gap:.5em;margin:.4em 0;display:flex}.toggle{cursor:var(--cursor-pointer,pointer);align-items:center;gap:.4em;margin-top:.5em;font-size:.85em;font-weight:700;display:flex}.toggle input{width:1.1em;height:1.1em;accent-color:var(--teal)}.crate-row{border-top:1px dashed var(--parchment-dark);margin-top:.3em;padding-top:.4em}.crate-name{align-items:center;gap:.35em;font-size:.9em;font-weight:700;display:flex}.stepper{align-items:center}.stepper .btn{min-width:3.2em;padding:.3em .5em}.stepper-value{text-align:center;min-width:3em;font-size:1.1em;font-weight:700}.mat-row{border-top:1px dashed var(--parchment-dark);padding:.3em 0 .1em}.mat-row .toggle{margin-top:.2em}.crate-head{align-items:center;gap:.35em;margin-top:.1em;font-size:.9em;display:flex}.crate-price{color:var(--teal);font-size:.8em;font-weight:700}.crate-head .switch{margin-left:auto}.crate-row.off .stepper-value,.crate-row.off .stats b{color:var(--ink-soft)}.stepper-label{color:var(--ink-soft);font-size:.8em;font-weight:700}.switch{font:inherit;cursor:var(--cursor-pointer,pointer);color:var(--ink-soft);background:0 0;border:none;align-items:center;gap:.4em;padding:.15em .2em;font-size:.85em;font-weight:700;display:inline-flex}.switch-track{background:#cdbd9c;border-radius:999px;width:2.6em;height:1.4em;transition:background .2s;position:relative;box-shadow:inset 0 1px 3px #00000040}.switch-knob{background:#fffaf0;border-radius:50%;width:1.1em;height:1.1em;transition:transform .2s;position:absolute;top:.15em;left:.15em;box-shadow:0 1px 3px #00000059}.switch.on{color:var(--teal)}.switch.on .switch-track{background:var(--teal)}.switch.on .switch-knob{transform:translate(1.2em)}.switch-label{text-align:left;min-width:3em}.btn{font:inherit;border:2px solid var(--ink-soft);color:var(--ink);cursor:var(--cursor-pointer,pointer);background:#fffaf0;border-radius:10px;padding:.4em 1em;font-size:.85em;font-weight:700}.btn:disabled{opacity:.5;cursor:var(--cursor-disabled,default)}.btn.primary{background:linear-gradient(#f7df94, var(--gold));border-color:#8a6424}.btn.danger{color:var(--danger);border-color:var(--danger)}.save-text{-webkit-user-select:text;user-select:text;width:100%;height:4.5em;margin-top:.4em;font-family:monospace;font-size:.65em}.title-screen{isolation:isolate;background:radial-gradient(at 50% 40%,#120c0866,#120c08b8);flex-direction:column;justify-content:space-between;align-items:center;padding:6% 16px 8%;animation:.6s title-in;display:flex;position:absolute;inset:0}@keyframes title-in{0%{opacity:0}}.title-backdrop{z-index:-1;background:50%/100% 100% no-repeat;transition:opacity .8s;position:absolute;inset:0}.title-backdrop:after{content:"";background:radial-gradient(at 50% 40%,#120c0866,#120c08b8);position:absolute;inset:0}.title-backdrop.hidden{opacity:0;pointer-events:none}.title-loading{width:calc(280px * var(--uiz) + 2.8em);font-size:calc(24px * var(--uiz));text-align:center}.title-loading-bar{background:#120c0899;border:1px solid #ffe4aa59;border-radius:999px;height:.5em;overflow:hidden;box-shadow:0 4px 12px #00000073}.title-loading-fill{border-radius:inherit;background:linear-gradient(90deg,#c9853a,#ffd98a);height:100%;transition:width .25s;box-shadow:0 0 10px #ffd278b3}.title-loading-text{color:#fff4d6;text-shadow:0 2px 6px #000c;font-variant-numeric:tabular-nums;margin-top:.45em;font-size:.8em}.title-start{animation:.5s title-in}.title-logo{width:min(calc(900px * var(--uiz)), 90%);place-items:center;display:grid}.title-logo>*{grid-area:1/1}.title-emblem,.title-logo-full{filter:drop-shadow(0 8px 18px #00000080);width:100%;height:auto}.title-name{font-size:calc(64px * var(--uiz));text-align:center;color:#fff4d6;letter-spacing:.04em;text-shadow:0 0 2px #5a3a1a,0 3px #8a5a24,0 0 12px #ffd278cc,0 6px 18px #0009;margin:0;padding:0 .4em;line-height:1.2}.title-buttons{flex-direction:column;align-items:center;gap:.8em;display:flex}.title-btn{min-width:calc(280px * var(--uiz));font-size:calc(24px * var(--uiz));padding:.45em 1.4em;box-shadow:0 6px 16px #00000073}.modal-back{background:#120c0899;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{width:min(calc(760px * var(--uiz)), 92%);background:var(--parchment);border:4px solid var(--gold);text-align:center;border-radius:20px;padding:1em 1.4em 1.2em;box-shadow:0 12px 40px #00000080}.modal h2{color:var(--teal);margin:.2em 0 .4em}.modal .big{font-size:1.15em}.report-list{flex-wrap:wrap;justify-content:center;gap:.3em 1.2em;margin:.6em 0;font-size:.85em;display:flex}.toast{left:50%;bottom:calc(40px * var(--uiz));color:#f6e3b4;border:2px solid var(--gold);background:#2b1d14eb;border-radius:999px;padding:.5em 1.2em;animation:.2s toast-in;position:absolute;transform:translate(-50%);pointer-events:none!important}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.res-btn{font:inherit;color:inherit;cursor:var(--cursor-pointer,pointer);background:0 0;border:none;border-radius:8px;padding:.2em .4em}.res-btn:hover{background:#ff8fb826}.res-group.res-btn{padding-left:calc(16px * var(--uiz));border-left:2px solid #d9a44159;border-radius:0 8px 8px 0}.flow-row{border-top:1px dashed var(--parchment-dark);padding:.45em 0}.flow-row:first-of-type{border-top:none}.flow-head{align-items:center;gap:.35em;font-size:.92em;display:flex}.flow-stock{color:var(--ink-soft);margin-left:auto;font-size:.8em}.flow-grid{color:var(--ink-soft);grid-template-columns:repeat(4,1fr);gap:.3em;margin-top:.3em;font-size:.75em;display:grid}.flow-grid span{background:#f6ecd6;border-radius:8px;flex-direction:column;padding:.2em .45em;display:flex}.flow-grid b{font-size:1.25em}.flow-grid .plus{color:#3d8a4a}.flow-grid .minus{color:#b0563b}.market.hot b{color:#d0452e}.market.cold b{color:#3f7fbf}.income-total{color:var(--ink);font-size:1.35em}.income-bar{background:#f0e4c8;border-radius:999px;height:.7em;margin:.35em 0;display:flex;overflow:hidden}.income-bar .seg{height:100%}.seg-0{background:#b87d0a}.seg-1{background:#2a78d6}.seg-2{background:#c94f86}.income-list{flex-direction:column;gap:.2em;margin-bottom:.4em;font-size:.82em;display:flex}.income-list span{align-items:center;gap:.35em;display:flex}.income-list b{margin-left:auto}.income-list em{color:var(--ink-soft);text-align:right;min-width:3em;font-style:normal}.income-list .dot{border-radius:50%;width:.7em;height:.7em;display:inline-block}.flow-demand{color:var(--ink-soft);margin-top:.25em;font-size:.72em}.flow-hint{border-radius:8px;margin-top:.25em;padding:.2em .5em;font-size:.75em}.flow-hint.warn{color:#9a3a22;background:#fbe1d6}.flow-hint.ok{color:#2f6b38;background:#dff0dc}.flow-hint.info{color:var(--ink-soft);background:#e8e2d4}.fever-btn{isolation:isolate;font:inherit;border:2px solid var(--gold);color:#ffd98a;cursor:var(--cursor-pointer,pointer);white-space:nowrap;background:linear-gradient(#4a3020,#2b1d14);border-radius:12px;padding:.3em .9em;font-weight:700;position:relative;overflow:hidden}.fever-label{z-index:1;align-items:center;gap:.3em;display:inline-flex;position:relative}.fever-btn:disabled{color:#a8957a;cursor:var(--cursor-disabled,default);background:#33251a;border-color:#7a6448}.fever-btn:disabled .icon{filter:grayscale();opacity:.6}.fever-btn.ready:active{transform:scale(.96)}.fever-btn.ready{animation:2.4s ease-in-out infinite fever-breathe}.fever-btn.ready:after{content:"";background:linear-gradient(100deg,#0000 35%,#ffecb473 50%,#0000 65%);animation:3.5s ease-in-out infinite fever-sheen;position:absolute;inset:0;transform:translate(-120%)}@keyframes fever-breathe{0%,to{box-shadow:0 0 #ffc85a00}50%{box-shadow:0 0 12px 1px #ffc85a8c}}@keyframes fever-sheen{0%,55%{transform:translate(-120%)}85%,to{transform:translate(120%)}}.fever-btn.active{color:#2b1d14;cursor:default;background:#f1e2bc;border-color:#ffd98a;box-shadow:0 0 14px 2px #ffc85a99}.fever-fill{width:calc(var(--left,1) * 100%);background:linear-gradient(#ffe49a, var(--gold));transition:width .25s linear;position:absolute;inset:0 auto 0 0}.meter{align-items:center;gap:.5em;margin:.3em 0;font-size:.8em;display:flex}.meter-label{width:2.6em;color:var(--ink-soft);font-weight:700}.meter-track{background:#e8d8b4;border-radius:999px;flex:1;height:.8em;overflow:hidden}.meter-fill{border-radius:999px;height:100%;transition:width .3s}.meter-value{text-align:right;width:2.2em;font-weight:700}.chip-label{color:var(--ink-soft);margin-top:.5em;font-size:.75em;font-weight:700}.chips{flex-wrap:wrap;gap:.35em;margin:.25em 0;display:flex}.audio-row{grid-template-columns:3.2em 1fr 2.8em auto;align-items:center;gap:.5em;margin-top:.4em;display:grid}.audio-row input[type=range]{width:100%;accent-color:var(--teal)}.audio-row input[type=range]:disabled{opacity:.4}.sfx-toggles{margin:.3em 0 .2em .4em;font-size:.8em}.sfx-toggles summary{cursor:var(--cursor-pointer,pointer);color:var(--teal);font-weight:700}.sfx-grid{grid-template-columns:repeat(auto-fill,minmax(10.5em,1fr));gap:.25em .9em;margin-top:.35em;display:grid}.sfx-toggle{cursor:var(--cursor-pointer,pointer);align-items:center;gap:.35em;display:flex}.sfx-toggle.off span{color:var(--ink-soft);text-decoration:line-through}.sfx-toggle input{accent-color:var(--teal);margin:0}.sfx-preview{margin-left:auto;padding:0 .5em;font-size:.85em;line-height:1.4}.audio-master{border-bottom:1px dashed var(--parchment-dark);padding-bottom:.4em}.audio-master .perf-label{color:var(--ink)}.audio-pct{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;font-size:.8em}.perf-row{margin-top:.45em}.perf-label{color:var(--ink-soft);font-size:.8em;font-weight:700}.chip{font:inherit;border:2px solid var(--teal);color:var(--teal);cursor:var(--cursor-pointer,pointer);background:#fffaf0;border-radius:999px;padding:.25em .8em;font-size:.8em}.chip.active{background:var(--teal);color:#fff}.hint.fixed-lines.l2{min-height:3em}.hint.fixed-lines.l3{min-height:4.5em}.talk-btn{margin-left:auto;font-size:.8em}.lumia-modal{width:min(calc(1120px * var(--uiz)), 96%);height:min(calc(790px * var(--uiz)), 92%);text-align:left;gap:1em;display:flex;position:relative}.lumia-modal .lumia-side{flex:1 1 0;min-width:0;padding-right:.3em;overflow-y:auto}.modal-close{color:var(--ink);font-size:1.2em;position:absolute;top:.3em;right:.4em}.portrait{aspect-ratio:2/3;background:radial-gradient(circle at 50% 40%,#fff3d6,#e8d0a8);border-radius:16px;flex:none;justify-content:center;align-items:flex-end;max-width:48%;height:100%;display:flex;position:relative;overflow:hidden}.portrait-figure{max-width:100%;max-height:100%;display:flex;position:relative}.portrait img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%;display:block}.portrait.chibi .portrait-figure{max-height:80%;margin-bottom:1em}.touch-zone{width:80%;cursor:var(--cursor-pointer,pointer);background:0 0;border:none;position:absolute;left:10%}.touch-zone.head{height:45%;cursor:var(--cursor-grab,grab);top:0}.touch-zone.cheek{height:55%;top:45%}.touch-zone:hover{background:#ff8fb814}.pop{color:#e0487a;text-shadow:0 0 4px #fff,0 0 8px #fff;pointer-events:none;white-space:nowrap;font-weight:700;animation:1.1s ease-out forwards pop;position:absolute;transform:translate(-50%,-50%)}@keyframes pop{to{opacity:0;transform:translate(-50%,-180%)}}.react-headpat img{animation:.5s headpat}.react-poke img{animation:.4s poke}.react-panic img{animation:.5s linear panic}.react-shy img{animation:.6s headpat}@keyframes headpat{40%{transform:scaleY(.94)translateY(3%)}}@keyframes poke{30%{transform:rotate(-4deg)scale(1.03)}70%{transform:rotate(3deg)}}@keyframes panic{20%,60%{transform:translate(-4%)}40%,80%{transform:translate(4%)}}.lumia-side{flex:1;min-width:0}.lumia-side h2{color:var(--teal);margin:.1em 0 .3em}.lumia-side .speech{overscroll-behavior:contain;height:calc(5.7em + 4px);min-height:0;line-height:1.5;overflow-y:auto}.speech{border:2px solid var(--parchment-dark);white-space:pre-line;background:#fffaf0;border-radius:14px;min-height:3.2em;margin-bottom:.4em;padding:.6em .8em}.tier{margin-top:.6em}.tier-title{color:var(--teal);border-bottom:2px solid var(--parchment-dark);padding-bottom:.2em;font-size:.85em;font-weight:700}.tier-hint{color:var(--ink-soft);margin-left:.6em;font-size:.85em;font-weight:400}.buy-btn.heart{background:linear-gradient(#ffd0e0,#ff8fb8);border-color:#c0487a}.achievements{grid-template-columns:1fr 1fr;gap:.2em 1em;font-size:.78em;display:grid}.ach{color:var(--ink-soft);justify-content:space-between;display:flex}.ach.done{color:var(--ink);font-weight:700}.ach-reward{color:#c0487a}.heart-meter{gap:.3em;position:relative}.heart{width:1.35em;height:1.3em;display:inline-flex}.heart svg{width:100%;height:100%;overflow:visible}.heart-empty{fill:#ff8fb82e}.heart-fill{fill:#ff6fa3;transform-box:fill-box;transform-origin:50% 100%;transition:transform .5s}.heart-line{fill:none;stroke:#ffd0e0;stroke-width:2px}.heart.burst{animation:.7s heart-burst}@keyframes heart-burst{30%{filter:drop-shadow(0 0 6px #ff8fb8);transform:scale(1.45)}}.heart-count{color:#ffd0e0;min-width:1.2em}.heart-pop{color:#ff9ec0;text-shadow:0 1px 2px #2b1d14;pointer-events:none;white-space:nowrap;font-size:.75em;animation:1.2s ease-out forwards heart-pop;position:absolute;top:60%;left:1.6em}@keyframes heart-pop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1.8em)}}.wish-card{top:calc(76px * var(--uiz) + 12px);right:calc(16px * var(--uiz));width:calc(380px * var(--uiz));background:#fffaf0f2;border:3px solid #ff8fb8;border-radius:14px;padding:.45em .7em .5em;font-size:.8em;transition:right .25s;position:absolute;box-shadow:0 6px 18px #00000059;pointer-events:none!important}.wish-card.shift{right:calc(min(calc(660px * var(--uiz)), 100%) + 16px * var(--uiz))}.wish-card.rarity-1{border-color:#9a7cff}.wish-card.rarity-2{border-color:#ffc93c;animation:1.4s ease-in-out infinite alternate wish-shine}@keyframes wish-shine{to{box-shadow:0 0 18px 4px #ffc93cb3}}.wish-head{color:#c0487a;align-items:center;font-weight:700;display:flex}.rarity-1 .wish-head{color:#6a4fd0}.rarity-2 .wish-head{color:#b07a00}.wish-time{color:var(--ink-soft);margin-left:auto;font-size:.9em}.wish-time.urgent{color:var(--danger)}.wish-text{color:var(--ink);margin:.2em 0 .35em;font-weight:700}.wish-bar{background:#f0e0d0;border-radius:999px;height:.65em;overflow:hidden}.wish-fill{background:linear-gradient(90deg,#ffb3cd,#ff6fa3);border-radius:999px;height:100%;transition:width .3s}.rarity-1 .wish-fill{background:linear-gradient(90deg,#c8b8ff,#8a6cf0)}.rarity-2 .wish-fill{background:linear-gradient(90deg,#ffe08a,#ffb300)}.wish-foot{color:var(--ink-soft);justify-content:space-between;margin-top:.25em;font-size:.9em;display:flex}.wish-reward{color:#c0487a;font-weight:700}.tutorial-card{top:calc(76px * var(--uiz) + 12px);width:calc(520px * var(--uiz));border:3px solid var(--gold);pointer-events:auto;background:#fffaf0f7;border-radius:14px;max-width:calc(100% - 24px);padding:.45em .8em .6em;font-size:.85em;animation:.3s event-in;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000059}.tutorial-card.shift{left:calc((100% - min(calc(660px * var(--uiz)), 100%)) / 2)}.tutorial-head{color:var(--teal);align-items:center;gap:.5em;display:flex}.tutorial-n{color:#fff;background:var(--teal);border-radius:999px;padding:0 .6em;font-size:.75em;font-weight:700}.tutorial-skip{font:inherit;color:var(--ink-soft);cursor:var(--cursor-pointer,pointer);background:0 0;border:none;margin-left:auto;font-size:.75em;text-decoration:underline}.tutorial-card p{text-align:left;margin:.3em 0 .1em;line-height:1.55}.tutorial-card .btn{margin-top:.4em}.tutorial-modal p{text-align:left;line-height:1.7}.event-banner{top:calc(76px * var(--uiz) + 12px);width:calc(560px * var(--uiz));background:#fffaf0f5;border:3px solid #6a8fd0;border-radius:14px;max-width:calc(100% - 24px);padding:.45em .7em .5em;font-size:.8em;animation:.3s event-in;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000059;pointer-events:none!important}.event-banner.shift{left:calc((100% - min(calc(660px * var(--uiz)), 100%)) / 2)}.event-banner.rarity-1{border-color:#9a7cff}.event-banner.rarity-2{border-color:#ffc93c;animation:.3s event-in,1.4s ease-in-out infinite alternate wish-shine}@keyframes event-in{0%{opacity:0;transform:translate(-50%,-12px)}}.event-head{color:#3a5a9a;align-items:center;gap:.35em;font-weight:700;display:flex}.event-rarity{color:#3a5a9a;background:#e3ebf8;border-radius:999px;padding:0 .6em;font-size:.72em}.rarity-1 .event-rarity{color:#6a4fd0;background:#ece6ff}.rarity-2 .event-rarity{color:#b07a00;background:#fff1c8}.event-time{color:var(--ink-soft);margin-left:auto;font-size:.9em}.event-time.urgent{color:var(--danger)}.event-prompt{color:var(--ink);margin:.2em 0 .25em;font-weight:700}.event-progress{color:var(--teal);font-size:.9em;font-weight:700}.event-bar{background:#e6e0d6;border-radius:999px;height:.5em;margin-top:.3em;overflow:hidden}.event-fill{background:linear-gradient(90deg,#9ec0f0,#5a82d0);height:100%;transition:width .25s linear}.event-choices{grid-template-columns:repeat(3,1fr);gap:.4em;margin-top:.35em;display:grid}.event-choice{pointer-events:auto;font:inherit;border:2px solid var(--gold);color:var(--ink);cursor:var(--cursor-pointer,pointer);background:#fff7e2;border-radius:10px;flex-direction:column;align-items:center;gap:.15em;padding:.4em .3em;display:flex}.event-choice:hover{background:#ffeec0;transform:translateY(-2px)}.event-choice b{font-size:.9em}.event-choice small{color:var(--ink-soft);font-size:.72em;line-height:1.35}.event-choice.card-back{color:#fff1c8;background:linear-gradient(160deg,#6a4ab0,#3a2a6a);border-color:#c9a0ff;justify-content:center;min-height:5.5em}.event-choice.card-back small{color:#d8c8ff}.card-star{font-size:1.8em}.buff-bar{top:calc(76px * var(--uiz) + 12px);left:calc(16px * var(--uiz));flex-direction:column;gap:.25em;font-size:.66em;display:flex;position:absolute;pointer-events:none!important}.buff{color:#f6e3b4;border:2px solid var(--gold);background:#2b1d14d9;border-radius:999px;align-items:center;gap:.35em;padding:.15em .7em .15em .3em;display:flex}.buff b{color:#ffe066;margin-left:.2em}.modal.letter{width:min(calc(760px * var(--uiz)), 96%);background:#fffaf0}.letter-body{text-align:left;background:repeating-linear-gradient(#0000 0 1.7em,#a0784624 1.7em calc(1.7em + 1px));max-height:60vh;margin-bottom:.6em;padding:.4em .8em;font-size:.95em;line-height:1.8;overflow-y:auto}.letter-body p{text-indent:2em;margin:.5em 0}.letter-body .letter-to,.letter-closing p{text-indent:0}.letter-closing{text-align:right;margin-top:1em}.letter-body p>span{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(#0000 62%,#ffcd7873 62%) 0 0/0 100% no-repeat;transition:background-size .5s}.letter-body p.reading>span{background-size:100% 100%}.letter-actions{justify-content:center;gap:.8em;display:flex}.letter-note{color:#8a6a4a;margin-bottom:.4em;font-size:.85em;font-style:italic}.letter-3 p{letter-spacing:.02em;transform:rotate(-.25deg)}.letter-3 p:nth-child(2n){transform:rotate(.3deg)}.milestones{flex-direction:column;gap:.2em;font-size:.78em;display:flex}.milestone{color:var(--ink-soft)}.milestone.done{color:var(--teal);font-weight:700}.event-rarity-chip{letter-spacing:0;color:#3a5a9a;background:#e3ebf8;border-radius:999px;padding:0 .6em}.event-rarity-chip.r1{color:#6a4fd0;background:#ece6ff}.event-rarity-chip.r2{color:#b07a00;background:#fff1c8}.event-entry{font:inherit;color:inherit;cursor:var(--cursor-pointer,pointer)}.event-entry:hover{border-color:var(--gold);transform:translateY(-2px)}.event-letters{flex-wrap:wrap;justify-content:center;gap:.3em;display:flex}.event-detail{width:min(calc(860px * var(--uiz)), 96%);height:min(calc(900px * var(--uiz)), 94%);text-align:left;flex-direction:column;display:flex;position:relative}.event-detail .event-cg{flex:none;max-height:45%}.event-detail .event-detail-body{flex:1 1 0;min-height:0;padding-right:.4em;overflow-y:auto}.event-detail .event-detail-nav{flex:none}.event-detail.rarity-1{border-color:#9a7cff}.event-detail.rarity-2{border-color:#ffc93c}.event-detail-head{align-items:center;gap:.5em;padding-right:2em;display:flex}.event-detail-head h2{margin:.1em 0}.event-detail-head .gift-no{align-self:center}.event-new-page{color:#fff;white-space:nowrap;background:#ff8fb8;border-radius:999px;padding:.05em .7em;font-weight:700;animation:.5s ease-out new-page-pop}@keyframes new-page-pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}.event-cg{max-height:calc(400px * var(--uiz));aspect-ratio:16/9;justify-content:center;align-items:center;margin:.4em 0;display:flex}.event-cg.locked{background:linear-gradient(135deg,#3b2c22,#2a2030)}.event-cg-ph{color:#f6e3b4;flex-direction:column;align-items:center;gap:.4em;width:30%;display:flex}.event-cg-ph .gift-art,.event-cg-ph .gift-art.ph{aspect-ratio:1;border-radius:24px;width:100%;max-width:none;height:auto;max-height:none;font-size:2.4em}.event-cg-ph small{opacity:.7;font-size:.6em}.event-detail-body{font-size:.85em}.event-story{margin:.3em 0;line-height:1.7}.event-lumia{color:#c0487a;margin:.2em 0 .6em;font-weight:700}.event-facts{grid-template-columns:auto 1fr;gap:.3em .8em;margin:0;font-size:.9em;display:grid}.event-facts dt{color:var(--teal);white-space:nowrap;font-weight:700}.event-facts dd{margin:0}.event-facts ul{margin:0;padding-left:1.2em}.event-detail-nav{justify-content:space-between;margin-top:.6em;display:flex}.play-time{border-bottom:1px dashed var(--parchment-dark);margin-bottom:.4em;padding-bottom:.2em}.play-total{color:var(--ink-soft);font-size:.9em}.play-total b{color:var(--teal);margin-left:.3em;font-size:1.25em}.bond-grid{grid-template-columns:1fr 1fr;gap:.4em;display:grid}.bond-grid span{background:#f6ecd6;border-radius:10px;flex-direction:column;padding:.3em .6em;display:flex}.bond-grid em{color:var(--ink-soft);font-size:.75em;font-style:normal}.bond-grid b{color:#c0487a;font-size:1.2em}.bond-grid small{color:var(--ink-soft);font-size:.65em}#lumia-bond .btn{width:100%;margin-top:.2em}.back-btn{align-self:flex-start}.decor-slots{grid-template-columns:repeat(4,1fr);gap:.45em;margin:.3em 0;display:grid}.decor-slot{aspect-ratio:1/1.1;background:radial-gradient(circle at 50% 40%,#fff7e6,#efe0bf);border:3px dashed #c9b48a;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.decor-slot.filled{border-style:solid;border-color:var(--gold)}.decor-slot.locked{background:#e6dac0;border-color:#d2c3a3}.decor-slot.hover{border-color:#ff6fa3;transform:scale(1.05);box-shadow:0 0 0 3px #ff6fa359}.decor-slot.target:not(.locked){cursor:var(--cursor-pointer,pointer);border-color:#ff8fb8;animation:1s ease-in-out infinite alternate slot-pulse}@keyframes slot-pulse{to{box-shadow:0 0 0 4px #ff8fb859}}.slot-art{width:78%;height:70%;cursor:var(--cursor-grab,grab);touch-action:none;justify-content:center;align-items:center;display:flex}.slot-art .gift-art{max-width:100%;max-height:100%}.slot-empty{color:#c9b48a;font-size:1.8em;font-weight:700}.slot-lock{opacity:.7;flex-direction:column;align-items:center;font-size:1.2em;display:flex}.slot-lock small{text-align:center;color:var(--ink-soft);margin-top:.2em;font-size:.45em;line-height:1.3}.slot-name{color:var(--ink-soft);font-size:.62em;font-weight:700;position:absolute;bottom:.2em}.slot-remove{font:inherit;border:2px solid var(--ink-soft);width:1.7em;height:1.7em;color:var(--ink-soft);cursor:var(--cursor-pointer,pointer);background:#fffaf0;border-radius:50%;padding:0;font-size:.6em;position:absolute;top:.15em;right:.15em}.gift-book{grid-template-columns:repeat(2,1fr);gap:.5em;display:grid}.gift-entry{border:2px solid var(--parchment-dark);text-align:center;background:#fbf3e2;border-radius:14px;flex-direction:column;align-items:center;gap:.2em;padding:.4em .5em .55em;display:flex}.gift-entry.owned{background:#fffaf0;border-color:#e3c98f}.gift-entry.picked{border-color:#ff6fa3;box-shadow:0 0 0 3px #ff6fa359}.gift-no{color:var(--ink-soft);letter-spacing:.05em;justify-content:space-between;align-self:stretch;font-size:.62em;font-weight:700;display:flex}.gift-shown{color:#fff;background:var(--teal);letter-spacing:0;border-radius:999px;padding:0 .6em}.gift-frame{aspect-ratio:1/.85;background:radial-gradient(circle at 50% 45%,#fffdf6,#efe2c4);border-radius:10px;justify-content:center;align-items:center;width:100%;display:flex}.gift-entry.owned .gift-frame{cursor:var(--cursor-grab,grab);touch-action:none}.gift-entry.unknown .gift-frame{background:radial-gradient(circle at 50% 45%,#e9dcc0,#d6c5a3)}.gift-art{object-fit:contain;pointer-events:none;max-width:82%;max-height:88%}.gift-art.silhouette{filter:brightness(0)opacity(.45)}.gift-art.ph{color:#fff;border:3px solid #2b1d1499;border-radius:50%;justify-content:center;align-items:center;width:4.2em;height:4.2em;font-size:.9em;font-weight:700;display:flex}.gift-art.ph.silhouette{filter:none;opacity:.6;color:#d6c5a3;font-size:1.6em}.gift-name{font-size:.9em;font-weight:700}.gift-entry.unknown .gift-name{color:var(--ink-soft);letter-spacing:.2em}.gift-fx{color:var(--teal);font-size:.7em;font-weight:700}.gift-intro{color:var(--ink-soft);text-align:left;font-size:.66em;line-height:1.45}.gift-buy{margin-top:.2em}.drag-ghost{width:calc(110px * var(--uiz));height:calc(110px * var(--uiz));filter:drop-shadow(0 8px 10px #00000073);z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-60%)rotate(-6deg);pointer-events:none!important}.drag-ghost img{object-fit:contain;max-width:100%;max-height:100%}.story-back{background:#120c08d9;container-type:size}.story{width:min(calc(1100px * var(--uiz)), 96%);position:relative}.story .cg{width:clamp(12em,177.778cqh - 32em,100%);margin-inline:auto}.cg{aspect-ratio:16/9;color:#f6e3b4;background:linear-gradient(135deg,#3b2718,#2f6f6a);border-radius:12px;justify-content:center;align-items:center;margin-bottom:.6em;display:flex;overflow:hidden}.cg img{object-fit:cover;width:100%;height:100%}.story-line{text-align:left;box-sizing:border-box;height:8.34em;animation:.2s story-in;overflow-y:auto}@keyframes story-in{0%{opacity:.3;transform:translateY(3px)}}.story-head{flex-wrap:wrap;align-items:baseline;gap:.15em .6em;margin:-.15em 0 .3em;display:flex}.story-name{color:#fff;background:var(--cover);border-radius:999px;flex-shrink:0;padding:.05em .7em;font-size:.9em;font-weight:700}.who-lumia .story-name{background:#c0567e}.story-act{color:#8a6a4a;font-size:.78em;font-style:italic}.story-text{font-size:1.05em;line-height:1.6}.who-narration{text-align:center;flex-direction:column;display:flex}.who-narration .story-text{color:#6a4e34;margin-block:auto;font-style:italic}.story-foot{justify-content:space-between;align-items:center;gap:.6em;margin-top:.6em;display:flex}.story-foot .btn{margin:0}.story-page{color:var(--ink-soft,#8a6a4a);font-size:.85em}.story.no-cg{width:min(calc(760px * var(--uiz)), 96%)}#rotate-hint{z-index:10;color:#f6e3b4;background:#1c130e;justify-content:center;align-items:center;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:22px;display:none;position:fixed;inset:0}@media (orientation:portrait) and (pointer:coarse){#rotate-hint{display:flex}}.clickable{cursor:var(--cursor-pointer,pointer);transition:background .15s}.flow-row.clickable:hover,.card.clickable:hover{background:#fdf3df}.flow-row.clickable{border-radius:8px;padding-left:.3em;padding-right:.3em}.flow-more{color:var(--teal);white-space:nowrap;font-size:.72em;font-weight:700}.card-title .flow-more{margin-left:.4em}.chart{margin-top:.2em}.chart-legend{color:var(--ink-soft);flex-wrap:wrap;gap:.2em 1em;margin-bottom:.2em;font-size:.72em;display:flex}.chart-legend span{align-items:center;gap:.35em;display:inline-flex}.chart-legend b{color:var(--ink)}.chart-key{border-radius:2px;width:1em;height:3px;display:inline-block}.chart-key.dashed{background:repeating-linear-gradient(90deg,#7a5c44 0 4px,#0000 4px 7px)}.chart-plot{position:relative}.chart-svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart-grid{stroke:#e8dcc2;stroke-width:1px}.chart-base{stroke:#cbb894;stroke-width:1.5px}.chart-ref{stroke:#7a5c44;stroke-width:1.5px;stroke-dasharray:5 4}.chart-cross{stroke:#7a5c44;stroke-width:1px}.chart-ytick{fill:#7a5c44;text-anchor:end;font-size:13px}.chart-xtick{fill:#9a8266;font-size:12px}.chart-tip{border:2px solid var(--parchment-dark);white-space:nowrap;pointer-events:none;background:#fffaf0f7;border-radius:10px;padding:.3em .55em;font-size:.7em;position:absolute;top:0;transform:translate(10px);box-shadow:0 4px 10px #00000026}.chart-tip.left{transform:translate(calc(-100% - 10px))}.chart-tip-time{color:var(--ink-soft);margin-bottom:.1em}.chart-tip-row{align-items:center;gap:.4em;display:flex}.chart-tip-row b{color:var(--ink)}.chart-tip-row span{color:var(--ink-soft)}html.game-cursors,html.game-cursors body{cursor:var(--cursor-default)}html.game-cursors textarea,html.game-cursors input[type=text],html.game-cursors input[type=password]{cursor:text}html.game-cursors button:disabled{cursor:var(--cursor-disabled)}html.pressing,html.pressing *{cursor:var(--cursor-press)!important}html.grabbing,html.grabbing *{cursor:var(--cursor-grabbing)!important}
