@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.fb-backdrop{z-index:60;background:#22301a73;place-items:center;display:grid;position:fixed;inset:0}.fb-book{aspect-ratio:1980/1080;filter:drop-shadow(.4em .5em #00000040);background:url(/assets/backgrounds/book.png) 50%/100% 100% no-repeat;width:min(88%,152svh);font-size:clamp(10px,3svh,22px);position:relative}.fb-close{z-index:1;cursor:pointer;font-family:var(--font-pixel);color:#f2e6d0;background:0 0;border:none;padding:.1em .3em;font-size:1.3em;line-height:1;position:absolute;top:9%;right:6%}.fb-close:hover{transform:scale(1.2)}.fb-close:focus-visible{outline-offset:2px;outline:2px solid #f2e6d0}.fb-page{color:#f2e6d0;width:38%;height:70%;font-family:var(--font-pixel);flex-direction:column;gap:.55em;display:flex;position:absolute;top:14%}.fb-page-left{left:8%}.fb-page-right{left:54%}.fb-title{font-family:var(--font-pixel);letter-spacing:.04em;margin:0;font-size:1.5em}.fb-heading{font-family:var(--font-pixel);letter-spacing:.04em;opacity:.8;margin:.2em 0 0;font-size:.95em}.fb-title:after,.fb-heading:after{content:"";background:#f2e6d04d;height:2px;margin-top:.25em;display:block}.fb-text{opacity:.9;margin:0;font-size:.85em;line-height:1.45}.fb-quiet{opacity:.6}.fb-scroll{--scroll-track:#f2e6d01f;--scroll-edge:#f2e6d04d;flex:1;min-height:0;overflow-y:auto}.fb-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fb-row{border-bottom:2px dotted #f2e6d040;justify-content:space-between;align-items:center;gap:.5em;padding:.35em .1em;display:flex}.fb-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.45em;min-width:0;font-size:.95em;display:flex;overflow:hidden}.fb-dot{background:0 0;border:2px solid #f2e6d099;border-radius:50%;flex:none;width:.5em;height:.5em}.fb-dot-on{background:#9fd66f;border-color:#9fd66f}.fb-actions{flex-wrap:wrap;gap:.35em;display:flex}.fb-btn{cursor:pointer;font-family:var(--font-pixel);color:#f2e6d0;white-space:nowrap;background:#f2e6d01f;border:.12em solid #f2e6d0;border-radius:.4em;padding:.25em .6em;font-size:.95em}.fb-btn:hover:not(:disabled){background:#f2e6d047}.fb-btn:focus-visible{outline-offset:2px;outline:2px solid #f2e6d0}.fb-btn-main{color:#4a3524;background:#f2e6d0}.fb-btn-main:hover:not(:disabled){background:#fff7e6}.fb-input{color:#f2e6d0;min-width:0;font-family:var(--font-pixel);background:0 0;border:none;border-bottom:2px solid #f2e6d073;border-radius:0;padding:.3em .1em;font-size:1.05em}.fb-input::placeholder{color:#f2e6d073}.fb-input:focus{border-bottom-color:#f2e6d0;outline:none}.fb-form{align-items:flex-end;gap:.5em;display:flex}.fb-form .fb-input{flex:1}.fb-select,.fb-note{color:#f2e6d0;width:100%;font-family:var(--font-pixel);background:#f2e6d014;border:.12em solid #f2e6d073;border-radius:.4em;padding:.3em .4em;font-size:1em}.fb-select:focus,.fb-note:focus{border-color:#f2e6d0;outline:none}.fb-select option{color:#4a3524;background:#f2e6d0}.fb-note{resize:none}.fb-label{opacity:.8;margin:.3em 0 .15em;font-size:.8em}.fb-chat-log{--scroll-track:#f2e6d01f;--scroll-edge:#f2e6d04d;overflow-wrap:anywhere;flex:1;min-height:0;margin:0;padding:0 .15em .2em 0;font-size:.85em;line-height:1.5;list-style:none;overflow-y:auto}.fb-chat-line+.fb-chat-line{margin-top:.3em}.fb-chat-line b{color:#e8b64c}.fb-chat-mine b{color:#f0a8c0}.fb-portrait{text-align:center;flex-direction:column;align-items:center;gap:.6em;margin-top:1.2em;display:flex}.fb-portrait-name{font-family:var(--font-pixel);letter-spacing:.04em;overflow-wrap:anywhere;margin:0;font-size:1.6em}.fb-portrait-state{opacity:.85;align-items:center;gap:.45em;font-size:.85em;display:flex}.fb-page-bottom{gap:.5em;margin-top:auto;display:flex}.fb-pick{background:#0000001f;border:2px solid #f2e6d04d;border-radius:.5em;max-height:11em;margin-bottom:.6em;padding:.3em .4em;overflow-y:auto}.fb-pick-line{cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:.45em;padding:.2em .1em;line-height:1.4;display:flex}.fb-pick-line+.fb-pick-line{border-top:1px dashed #f2e6d02e}.fb-pick-line input{flex:none;margin-top:.25em}.fb-error{color:#ffb4a8}.start-page{background:var(--page-green);flex-direction:column;height:100%;min-height:520px;display:flex;overflow-x:hidden}.start-nav{background:var(--nav-band);scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:clamp(10px,2vw,28px);padding:8px 16px 10px;display:flex;overflow-x:auto}.start-nav::-webkit-scrollbar{display:none}.start-nav-groups{flex:1;justify-content:center;align-items:stretch;gap:clamp(14px,3vw,44px);display:flex}.start-nav-items{align-items:center;gap:clamp(4px,1vw,14px);display:flex}.start-nav-items-start{margin-left:clamp(18px,4vw,60px)}.start-nav-items-end{margin-left:auto}.start-nav-group-panel{background:var(--nav-panel);border:2px solid var(--nav-panel-edge);border-radius:14px;align-items:center;gap:clamp(4px,1vw,14px);padding:6px 10px;display:flex}.start-logo{width:auto;height:clamp(48px,8vw,96px);image-rendering:pixelated}.start-logo-link{text-decoration:none;display:inline}.start-logo-link:hover .start-logo,.start-logo-link:focus-visible .start-logo{transform:scale(1.05)}.start-logo-link:focus-visible{outline:none}.start-logo-link:focus-visible .start-logo{outline:.15em solid var(--pick-selected);outline-offset:.2em;border-radius:.3em}@media (prefers-reduced-motion:reduce){.start-logo-link:hover .start-logo,.start-logo-link:focus-visible .start-logo{transform:none}}.start-nav-btn{cursor:pointer;width:clamp(44px,5.8vw,86px);font-family:var(--font-pixel);color:var(--frame-green);background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:2px 0;font-size:clamp(12px,1.75vw,22px);text-decoration:none;display:flex}.start-nav-btn:disabled{cursor:default}.start-nav-btn-shelved{position:relative}.start-nav-btn-shelved .start-nav-icon,.start-nav-btn-shelved .start-nav-icon-fallback{opacity:.45}.start-nav-btn-shelved{color:color-mix(in srgb, var(--frame-green) 55%, transparent)}.start-nav-ribbon{pointer-events:none;z-index:1;place-items:center;display:grid;position:absolute;inset:0}.start-nav-ribbon-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.start-nav-ribbon:after{content:"Coming Soon";color:#d32f2f;font-family:var(--font-pixel);letter-spacing:.03em;white-space:nowrap;background:#fdf3ddeb;border:2px solid #d32f2f;border-radius:3px;padding:.15em .35em;font-size:clamp(7px,.95vw,12px);line-height:1.1;transform:rotate(-16deg);box-shadow:1px 1px #0003}.start-nav-btn:focus-visible{outline:2px solid var(--frame-green);outline-offset:2px;border-radius:10px}.start-nav-icon{width:clamp(26px,4vw,52px);height:auto;image-rendering:pixelated;transition:transform .12s}.start-nav-icon-fallback{place-items:center;width:auto;height:clamp(26px,4vw,52px);font-size:clamp(18px,3vw,36px);line-height:1;transition:transform .12s;display:grid}.start-nav-btn:hover .start-nav-icon,.start-nav-btn:hover .start-nav-icon-fallback,.start-nav-btn:focus-visible .start-nav-icon,.start-nav-btn:focus-visible .start-nav-icon-fallback{transform:scale(1.18)}.start-nav-wallet{background:var(--nav-panel);border:2px solid var(--nav-panel-edge);border-radius:14px;flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;min-width:clamp(76px,8vw,120px);padding:6px 16px;display:flex}.start-nav-wallet-row{font-family:var(--font-pixel);color:var(--frame-green);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:clamp(13px,1.5vw,20px);display:flex}.start-nav-wallet-row img{width:clamp(14px,1.6vw,22px);height:auto;image-rendering:pixelated}.start-stage{flex:1;place-items:center;min-height:0;padding:8px 16px 14px;display:grid;container-type:size}.start-frame{aspect-ratio:1980/1080;width:min(100%,183.333cqh);display:flex;container-type:size}.start-paper{background:0 0;flex:1;min-height:0;position:relative}.start-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:1.5cqh;width:95.1%;height:93.1%;padding:3cqh 4cqw;display:flex;position:absolute;top:3.4%;left:2.3%;overflow:hidden;container-type:size}.start-stage-bg{object-fit:fill;pointer-events:none;width:95.1%;height:93.1%;position:absolute;top:3.4%;left:2.3%}.start-stage-border{object-fit:fill;pointer-events:none;width:102.9%;height:103.1%;position:absolute;top:-1.5%;left:-1.3%}.start-stage-full{align-items:stretch;padding:0;display:flex;container-type:normal}.start-frame-full{aspect-ratio:auto;flex:1;width:100%}.start-frame-full .start-stage-border{display:none}.start-frame-full .start-stage-bg,.start-frame-full .start-content{width:100%;height:100%;top:0;left:0}.start-stage-bare{align-items:stretch;padding:0;display:flex}.start-content.start-content-bare{flex:1;gap:0;width:100%;min-width:0;height:100%;padding:0;position:static}.start-btn{cursor:pointer;width:clamp(150px,26cqw,280px);font-family:var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:#fff;text-shadow:2px 2px #0000004d;border:3px solid;border-radius:2px;justify-content:center;align-items:center;gap:14px;padding:clamp(8px,1.5cqw,16px) clamp(14px,2.6cqw,28px);font-size:clamp(15px,2.7cqw,30px);text-decoration:none;transition:transform .1s,filter .1s;display:inline-flex}.start-btn-label{text-align:center;width:min-content;line-height:1.05;display:block}.start-btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.start-btn:active{transform:translateY(1px)}.start-btn:focus-visible{outline:3px solid var(--frame-green);outline-offset:3px}.start-btn:disabled{opacity:.6;cursor:default;filter:none;transform:none}.start-btn-green{background:var(--btn-green);border-color:var(--btn-green-edge);box-shadow:inset 0 -6px #00000026}.start-btn-berry{background:var(--btn-berry);border-color:var(--btn-berry-edge);box-shadow:inset 0 -6px #00000026}.start-footer{background:var(--nav-band);font-family:var(--font-pixel);color:var(--footer-ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;padding:9px 16px;font-size:22px;display:flex}.start-footer a{color:var(--footer-ink);text-underline-offset:3px;text-decoration:underline}.start-footer a:hover,.start-footer a:focus-visible{color:var(--frame-green)}.start-version{color:#4a5540bf;font-size:16px}@media (prefers-reduced-motion:reduce){.start-nav-icon,.start-nav-icon-fallback{transition:none}}@media (width<=640px){.start-page{height:auto;min-height:100%}.start-nav-groups{flex:none;justify-content:flex-start}.start-stage{container-type:inline-size}.start-frame{aspect-ratio:auto;border-radius:26px;width:100%;padding:10px;container-type:inline-size}.start-stage-border{display:none}.start-paper{border-radius:18px;min-height:60vh;display:flex;overflow:hidden}.start-stage-bg{width:100%;height:100%;top:0;left:0}.start-content.start-content-bare{height:auto;container-type:inline-size}.start-content{flex:1;gap:14px;width:100%;height:auto;padding:26px 20px 30px;position:static;container-type:normal}}.start-nav-btn{position:relative}.start-nav-badge{color:#fff;min-width:1.5em;font-family:var(--font-pixel);text-align:center;background:#d81b60;border:2px solid #fff;border-radius:1em;padding:.1em .25em;font-size:.7em;line-height:1.3;position:absolute;top:-.35em;right:-.35em}.start-toasts{z-index:70;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:clamp(120px,18vh,160px);left:50%;transform:translate(-50%)}.start-toast{border:3px solid var(--card-edge);background:var(--card-paper);color:var(--card-ink);font-family:var(--font-pixel);cursor:pointer;border-radius:12px;padding:.45em 1em;font-size:clamp(13px,2.2cqh,18px);animation:.35s ease-out start-toast-in;box-shadow:0 6px 14px #00000040}.start-toast:hover{filter:brightness(1.04)}@keyframes start-toast-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}.start-confirm-banner{text-align:center;font-family:var(--font-ui);color:#4a2f12;background:#ffd98a;border-bottom:2px solid #c99a3d;flex:none;padding:.35em 1em;font-size:clamp(11px,1.6vw,15px);text-decoration:none;display:block}.start-confirm-banner:hover{background:#ffe4a8}@keyframes wordmark-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.start-wordmark{font-family:var(--font-ui);letter-spacing:.04em;color:var(--wordmark-brown);text-shadow:3px 3px #0000001f;align-items:center;gap:18px;margin:0;font-size:clamp(32px,8cqw,96px);font-weight:400;animation:3.5s ease-in-out infinite wordmark-float;display:flex}.start-wordmark-sm{gap:.3em;margin-bottom:.1em;font-size:clamp(22px,5.5cqw,68px)}.start-sprout{align-items:center;display:inline-flex}.start-sprout img{width:.7em;height:auto;image-rendering:pixelated}.start-subtitle{font-family:var(--font-ui);letter-spacing:.14em;color:var(--subtitle-color);margin:0 0 22px;font-size:clamp(16px,3cqw,34px)}.start-menu{flex-direction:column;align-items:center;gap:18px;display:flex}@media (prefers-reduced-motion:reduce){.start-wordmark{animation:none}}.auth-card{background:var(--card-paper);border:.35em solid var(--card-edge);flex-direction:column;align-items:center;gap:.8em;width:27em;max-width:100%;max-height:100%;padding:1.9em 1.4em 1.3em;font-size:clamp(8px,1.95cqh,19px);display:flex;position:relative;overflow-y:auto;box-shadow:0 .5em 1.2em #0000004d}.auth-card:before,.auth-card:after{content:"";background:var(--card-screw);border-radius:50%;width:.65em;height:.65em;position:absolute;top:.7em;box-shadow:inset 0 0 0 .12em #ffffff59}.auth-card:before{left:.7em}.auth-card:after{right:.7em}.auth-title{max-width:6em;font-family:var(--font-ui);text-align:center;color:var(--card-ink);text-shadow:.06em .06em #00000026;margin:0;font-size:2.35em;font-weight:400;line-height:1.05}.pick-row{gap:.9em;display:flex}.pick-tile{cursor:pointer;border:.18em dashed var(--field-edge);background:#ffffff8c;place-items:center;width:4.2em;height:4.2em;padding:0;display:grid}.pick-tile-on{border:.3em solid var(--pick-selected);background:#fff}.pick-tile:focus-visible{outline:.2em solid var(--card-ink);outline-offset:.15em}.pick-sprite{width:80%;height:auto;image-rendering:pixelated}.pick-fallback{font-size:2.4em;line-height:1}.auth-fields{border:.14em solid var(--field-edge);flex-direction:column;width:100%;display:flex}.auth-input{background:var(--field-bg);border:none;border-bottom:.14em solid var(--field-edge);width:100%;font-family:var(--font-ui);color:var(--field-ink);padding:.42em .65em;font-size:1.35em}.auth-fields .auth-input:last-child{border-bottom:none}.auth-input::placeholder{color:#9a9a9a}.auth-input:focus{box-shadow:inset 0 0 0 .12em var(--pick-selected);background:#fffdf5;outline:none}.auth-error{min-height:1.2em;font-family:var(--font-ui);text-align:center;color:var(--danger);margin:0;font-size:1em;line-height:1.15}.auth-submit{width:100%;padding:.38em .6em;font-size:1.7em}.auth-submit .start-btn-label{width:auto}.auth-hint{text-align:center;margin:0 0 1em;line-height:1.5}.auth-alt{font-family:var(--font-ui);text-align:center;color:var(--card-ink);font-size:1.2em;line-height:1.15;text-decoration:underline}.auth-alt:hover{color:var(--pick-selected)}.auth-alt-row{flex-wrap:wrap;justify-content:center;gap:.4em 1.1em;display:flex}.auth-link{cursor:pointer;font-family:var(--font-ui);color:var(--card-ink);background:0 0;border:none;padding:0;font-size:1.1em;text-decoration:underline}.auth-link:hover:not(:disabled){color:var(--pick-selected)}.auth-link:disabled{cursor:default;opacity:.5}@media (width<=640px){.auth-card{width:min(100%,27em);max-height:none;font-size:clamp(10px,3.1vw,15px);overflow-y:visible}}.news{border:4px solid var(--card-edge);background:var(--card-paper);width:min(92%,760px);max-height:100%;color:var(--card-ink);font-family:var(--font-pixel);border-radius:14px;margin:0 auto;padding:1.2em 1.4em 1.6em;font-size:clamp(15px,2.8cqh,24px);overflow-y:auto}.news-head{border-bottom:3px solid var(--card-edge);justify-content:space-between;align-items:baseline;gap:1em;margin-bottom:.6em;padding-bottom:.4em;display:flex}.news-title{font-family:var(--font-pixel);color:var(--wordmark-brown);margin:0;font-size:1.7em}.news-edit-link,.news-back-link{color:var(--pink-deep,#9a3c66);font-size:.85em;text-decoration:underline}.news-empty{opacity:.75;margin:1em 0}.news-post+.news-post{border-top:2px dashed #00000026;margin-top:1.4em;padding-top:1.2em}.news-post-title{font-family:var(--font-pixel);color:var(--wordmark-brown);margin:0 0 .15em;font-size:1.15em}.news-post-meta{opacity:.7;margin:0 0 .6em;font-size:.8em}.news-post-body{overflow-wrap:anywhere;margin:0 0 .6em;line-height:1.55}.news-admin-list{margin:0;padding:0;list-style:none}.news-admin-row{border-bottom:2px dashed #00000026;justify-content:space-between;align-items:center;gap:.6em;padding:.5em .2em;display:flex}.news-admin-row-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5em;min-width:0;display:flex;overflow:hidden}.news-tag{border:2px solid var(--card-edge);font-family:var(--font-pixel);white-space:nowrap;border-radius:.4em;padding:.1em .45em;font-size:.7em}.news-tag-draft{background:#f6e2b8}.news-tag-live{background:#cde8bd}.news-actions{flex-wrap:wrap;gap:.4em;display:flex}.news-btn{border:2px solid var(--card-edge);background:var(--field-bg,#fff);color:var(--card-ink);font-family:var(--font-pixel);cursor:pointer;border-radius:.45em;padding:.3em .7em;font-size:1em}.news-btn:hover:not(:disabled){filter:brightness(1.05)}.news-btn:disabled{opacity:.45;cursor:default}.news-btn-main{background:var(--pink-deep,#9a3c66);border-color:var(--pink-deep,#9a3c66);color:#fff}.news-btn-danger{color:#b3261e}.news-form{flex-direction:column;gap:.5em;margin-top:.8em;display:flex}.news-input,.news-textarea{box-sizing:border-box;border:2px solid var(--card-edge);background:var(--field-bg,#fff);width:100%;color:var(--card-ink);font-family:var(--font-pixel);border-radius:.45em;padding:.45em .6em;font-size:1.15em}.news-textarea{resize:vertical;min-height:9em;line-height:1.5}.news-check{align-items:center;gap:.5em;font-size:.9em;display:flex}.news-hint,.news-error{margin:0;font-size:.8em}.news-hint{opacity:.7}.news-error{color:#b3261e}.account-section+.account-section{border-top:2px dashed #00000026;margin-top:1.3em;padding-top:1.1em}.account-danger{background:#b3261e0f;border:3px solid #b3261e;border-radius:10px;padding:.9em 1em 1em}.account-facts{grid-template-columns:repeat(auto-fit,minmax(14em,1fr));gap:.7em 1.2em;margin:0;display:grid}.account-facts dt{opacity:.65;font-size:.75em}.account-facts dd{overflow-wrap:anywhere;align-items:center;gap:.5em;margin:.1em 0 0;display:flex}.account-form{max-width:26em;margin-top:.5em}.account-text{margin:0 0 .5em;line-height:1.5}.account-done{color:#2e7d32;margin:0;font-size:.85em}.account-qr{border:3px solid var(--card-edge);background:#fdf3dd;border-radius:10px;margin:.2em 0 .6em;padding:.4em;line-height:0;display:inline-flex}.account-manual{margin-bottom:.6em;font-size:.9em}.account-manual summary{cursor:pointer;opacity:.75}.account-manual summary:hover{opacity:1}.account-secret{border:2px dashed var(--card-edge);background:var(--field-bg,#fff);font-family:var(--font-pixel);letter-spacing:.08em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:8px;margin:.3em 0;padding:.5em .7em;font-size:1.05em}.account-code{max-width:8em;font-family:var(--font-pixel);letter-spacing:.25em;text-align:center}.account-confirm{background:#b3261e1f;border:3px solid #b3261e;border-radius:8px;padding:.7em .8em .8em}.account-confirm-q{color:#b3261e;overflow-wrap:anywhere;margin:0 0 .3em;font-weight:700}.account-confirm-note{margin:0 0 .6em;font-size:.85em;line-height:1.45}.player-sprite{aspect-ratio:1;width:100%;display:block;position:relative}.player-sprite-layer{image-rendering:pixelated;background-repeat:no-repeat;background-size:800% 600%;position:absolute;inset:0}.player-sprite-wave-hand{clip-path:inset(43.75% 34.375% 46.875% 59.375%)}.pe-card{width:min(92%,34em);padding:1.4em 1.6em 1.6em}.pe-title{margin-bottom:.8em;font-size:1.9em}.pe-body{align-items:stretch;gap:1.2em;display:flex}.pe-preview{border:.18em solid var(--brown-border);background:var(--pink-plank-light);border-radius:.5em;flex:0 0 38%;place-items:center;padding:.8em;display:grid}.pe-preview .player-sprite{width:85%}.pe-controls{flex-direction:column;flex:1;gap:.7em;display:flex}.pe-row{flex-direction:column;gap:.25em;display:flex}.pe-label{font-family:var(--font-pixel);color:var(--brown);font-size:1.1em}.pe-picker{border:.14em solid var(--brown-border);background:var(--pink-plank-dark);border-radius:.35em;align-items:center;display:flex}.pe-arrow{background:var(--peach-panel);cursor:pointer;color:var(--brown);border:none;padding:.3em .6em;font-size:.9em}.pe-arrow:hover:not(:disabled){filter:brightness(1.08)}.pe-arrow:disabled{opacity:.4;cursor:default}.pe-arrow:focus-visible{outline:2px solid var(--pink-deep);outline-offset:2px}.pe-count{text-align:center;font-family:var(--font-pixel);color:var(--brown);flex:1;font-size:1.1em}.pe-save{border:.2em solid var(--pink-deep);background:var(--pink);cursor:pointer;font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:1px 1px #00000040;border-radius:.4em;margin-top:auto;padding:.6em 1em;font-size:1.3em}.pe-save:hover{filter:brightness(1.06);transform:translateY(-1px)}.pe-save:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}@media (width<=640px){.pe-card{font-size:13px}.pe-body{flex-direction:column}.pe-preview{flex:none}.pe-preview .player-sprite{width:45%}}.dlg-backdrop{z-index:30;background:#22301a8c;place-items:center;display:grid;position:absolute;inset:0}.dlg-card{background:var(--pink-panel);border:.35em solid var(--brown);border-radius:.8em;font-size:clamp(11px,2.6cqh,20px);position:relative;box-shadow:.4em .5em #00000040}.dlg-title{text-align:center;font-family:var(--font-pixel);color:var(--brown);margin:0;line-height:1.1}.dlg-close{background:var(--pink);color:#fff;cursor:pointer;font-family:var(--font-pixel);border:none;border-radius:.3em;padding:.15em .4em;font-size:1.15em;line-height:1;position:absolute;top:.5em;right:.6em}.dlg-close:hover{transform:scale(1.1)}.dlg-close:focus-visible{outline:2px solid var(--pink-deep);outline-offset:2px}.rotate-gate{display:none}@media (orientation:portrait) and (width<=700px){.rotate-gate{z-index:40;background:#f8dede;place-items:center;padding:24px;display:grid;position:fixed;inset:0}}.rotate-gate-card{border:4px solid var(--card-edge);background:var(--card-paper);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:16px;max-width:340px;padding:28px 26px;display:flex}.rotate-gate-phone{border:4px solid var(--card-ink);border-radius:8px;width:34px;height:58px;animation:2.6s ease-in-out infinite rotate-gate-turn}@keyframes rotate-gate-turn{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.rotate-gate-title{font-family:var(--font-ui);color:var(--wordmark-brown);margin:0;font-size:24px}.rotate-gate-text{font-family:var(--font-pixel);color:var(--card-ink);margin:0;font-size:15px}.mute-btn{--mute-size:max(26px, 2.6cqw);z-index:980;width:var(--mute-size);height:var(--mute-size);cursor:pointer;background:#fff0f5eb;border:max(2px,.2cqw) solid #5d4037;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.mute-btn:hover{filter:brightness(1.05)}.mute-btn-icon{aspect-ratio:1;width:82%;image-rendering:pixelated;background:url(/assets/ui/music.png) 0 0/200% 100% no-repeat;display:block}.mute-btn-icon-off{background-position:100% 0}.garden{width:100%;height:100%;display:flex;position:relative}.garden-yard{-webkit-user-select:none;user-select:none;background:#22301a;flex:1;justify-content:center;align-items:center;min-width:0;height:100%;display:flex;position:relative;overflow:hidden;container-type:size}.garden-board{aspect-ratio:550/290;isolation:isolate;cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;width:max(100cqw,189.655cqh);position:relative;overflow:hidden;container-type:inline-size}.garden-layer{width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.garden-layer-front{z-index:900}.garden-layer-tree{z-index:650}.garden-beehive{z-index:651;cursor:pointer;background:0 0;border:none;width:3.5%;padding:0;position:absolute;top:27%;left:68%}.garden-beehive img{width:100%;height:auto;image-rendering:pixelated;display:block}.garden-beehive:focus-visible{outline-offset:2px;outline:2px solid #5d4037}.garden-bee{z-index:970;width:2.5%;height:auto;image-rendering:pixelated;pointer-events:none;position:absolute}.garden-hitbox{z-index:950;cursor:pointer;background:0 0;border:none;padding:0;position:absolute}.garden-hitbox-castle{z-index:960}.garden-player{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-100%)}.garden-player-gliding{transition:left .55s ease-in-out,top .55s ease-in-out}.garden-player-climbing{transition:left 1.5s linear,top 1.5s linear}.garden-bubble{color:#880e4f;font-family:var(--font-pixel);white-space:nowrap;background:#fff0f5;border:max(2px,.2cqw) solid #ff80ab;border-radius:.8cqw;margin-bottom:.4cqw;padding:.25cqw .8cqw;font-size:max(10px,1.2cqw);position:relative}.garden-bubble-tail{border-top:max(4px,.4cqw) solid #ff80ab;border-left:max(4px,.4cqw) solid #0000;border-right:max(4px,.4cqw) solid #0000;position:absolute;top:100%;left:50%;transform:translate(-50%)}.garden-player-name{color:#fff;font-family:var(--font-pixel);white-space:nowrap;background:#ff80ab;border:max(2px,.2cqw) solid #5d4037;border-radius:.6cqw;margin-bottom:.3cqw;padding:.1cqw .7cqw;font-size:max(9px,1.1cqw);line-height:1.3}.garden-player-doll{transform-origin:bottom;width:6cqw;transition:clip-path .6s linear,transform .5s ease-in-out;display:block}.garden-chat{z-index:980;-webkit-user-select:text;user-select:text;background:#fff0f5f0;border:max(2px,.2cqw) solid #5d4037;border-radius:.8cqw;flex-direction:column;width:clamp(190px,24cqw,330px);max-height:46%;display:flex;position:absolute;top:2%;right:1.2%;overflow:hidden;box-shadow:0 .3cqw .8cqw #0000002e}.garden-chat-head{color:#fff;font-family:var(--font-pixel);background:#ff80ab;justify-content:space-between;align-items:center;gap:.5em;padding:.3em .5em;font-size:max(10px,1.1cqw);display:flex}.garden-chat-fold{color:#fff;width:1.6em;height:1.6em;font-family:var(--font-pixel);cursor:pointer;background:0 0;border:2px solid #fff;border-radius:.3em;padding:0;font-size:1em;line-height:1}.garden-chat-fold:hover{background:#ffffff40}.garden-chat-tabs{background:#ffdfe8;border-bottom:max(2px,.2cqw) solid #5d4037;flex-wrap:wrap;gap:.15em;padding:.25em .3em;display:flex}.garden-chat-tab-wrap{align-items:stretch;display:inline-flex}.garden-chat-tab{color:#5d4037;max-width:8em;font-family:var(--font-pixel);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#ffffffb3;border:max(2px,.15cqw) solid #5d4037;border-radius:.35em;align-items:center;gap:.25em;padding:.15em .5em;font-size:max(9px,.95cqw);display:inline-flex;overflow:hidden}.garden-chat-tab-on{color:#fff;background:#ff80ab;border-color:#ff80ab}.garden-chat-unread{background:#d81b60;border-radius:50%;width:.5em;height:.5em}.garden-chat-tab-on .garden-chat-unread{background:#fff}.garden-chat-tab-close{color:#5d4037;font-family:var(--font-pixel);cursor:pointer;background:0 0;border:none;padding:0 .25em;font-size:max(9px,.9cqw)}.garden-chat-tab-close:hover{color:#d81b60}.garden-chat-open-unread{border-color:#d81b60;box-shadow:0 0 0 max(2px,.2cqw) #d81b6059}.garden-chat-open-count{color:#fff;min-width:1.5em;font-family:var(--font-pixel);text-align:center;background:#d81b60;border:2px solid #fff;border-radius:1em;padding:.1em .2em;font-size:.65em;line-height:1.3;position:absolute;top:-.45em;right:-.45em}.garden-chat-log{min-height:3em;font-family:var(--font-pixel);color:#5d4037;overflow-wrap:anywhere;flex:1;margin:0;padding:.4em .5em;font-size:max(10px,1.05cqw);line-height:1.45;list-style:none;overflow-y:auto}.garden-chat-line+.garden-chat-line{margin-top:.25em}.garden-chat-line b{color:#a8527a}.garden-chat-mine b{color:#ff80ab}.garden-chat-empty{opacity:.6}.garden-chat-notice{color:#a8527a;font-family:var(--font-pixel);background:#ffdfe8;border-top:max(2px,.2cqw) solid #5d4037;margin:0;padding:.25em .5em;font-size:max(9px,.95cqw)}.garden-chat-input{box-sizing:border-box;color:#5d4037;width:100%;font-family:var(--font-pixel);background:#ffdfe8;border:none;border-top:max(2px,.2cqw) solid #5d4037;outline:none;padding:.4em .6em;font-size:max(10px,1.05cqw)}.garden-chat-input:focus{background:#fff0f5}.garden-emotes{background:#ffe8ef;border-top:max(2px,.2cqw) solid #5d4037;gap:.25em;padding:.35em .4em;display:flex}.garden-emote{cursor:pointer;background:#fff;border:max(2px,.2cqw) solid #ff80ab;border-radius:.4em;flex:1;justify-content:center;min-width:0;padding:.15em 0;font-size:max(13px,1.3cqw);line-height:1.4;transition:transform .1s,background .1s;display:flex}.garden-emote-icon{aspect-ratio:1;background:url(/assets/ui/chat-emotes.png) 0 0/600% 100% no-repeat;background-position:calc(var(--cell) * 20%) 0;width:100%;max-width:1.4em;image-rendering:pixelated;display:block}.garden-emote:hover{background:#ffe3ec;transform:scale(1.08)}.garden-emote:active{transform:scale(.95)}.garden-emote:focus-visible{outline-offset:1px;outline:2px solid #5d4037}.garden-chat-open img{width:72%;image-rendering:pixelated;margin:0 auto;display:block}.garden-chat-open{z-index:980;cursor:pointer;background:#fff0f5eb;border:max(2px,.2cqw) solid #5d4037;border-radius:50%;width:max(26px,2.6cqw);height:max(26px,2.6cqw);padding:0;font-size:max(12px,1.2cqw);line-height:1;position:absolute;top:2%;right:1.2%}.garden-chat-open:hover{background:#fff0f5}.garden-mute{bottom:2.5%;right:1.2%}.garden-companions{bottom:2.5%;right:calc(1.2% + max(26px,2.6cqw) + .6cqw)}.garden-player-pick{pointer-events:auto;cursor:pointer}.pc-card{color:#5d4037;width:max(150px,15cqw);font-family:var(--font-pixel);pointer-events:auto;cursor:default;background:#fff0f5f7;border:max(2px,.2cqw) solid #5d4037;border-radius:.6em;padding:.4em .5em .5em;font-size:max(11px,1.1cqw);line-height:1.35;position:absolute;bottom:calc(100% + .6em);left:50%;transform:translate(-50%);box-shadow:0 2px #00000040}.pc-head{border-bottom:2px solid #5d40374d;justify-content:space-between;align-items:baseline;gap:.4em;margin-bottom:.35em;padding-bottom:.2em;display:flex}.pc-name{overflow-wrap:anywhere;font-weight:700}.pc-x{color:#a8527a;font-family:var(--font-pixel);cursor:pointer;background:0 0;border:none;flex:none;padding:0 .2em;font-size:1em}.pc-actions{flex-direction:column;gap:.25em;display:flex}.pc-actions-row{flex-direction:row}.pc-btn{color:#880e4f;font-family:var(--font-pixel);cursor:pointer;background:#fff;border:2px solid #ff80ab;border-radius:.4em;flex:1;padding:.2em .4em;font-size:1em}.pc-btn:hover:not(:disabled){background:#ffe3ec}.pc-btn:disabled{opacity:.5;cursor:default}.pc-btn-warn{color:#b3261e;border-color:#b3261e}.pc-text{overflow-wrap:anywhere;margin:0 0 .35em}.pc-error{color:#b3261e}.pc-report{flex-direction:column;gap:.3em;display:flex}.pc-select{color:#5d4037;width:100%;font-family:var(--font-pixel);background:#fff;border:2px solid #ff80ab;border-radius:.4em;padding:.15em .3em;font-size:1em}.pc-lines{background:#fff;border:2px solid #5d403740;border-radius:.4em;max-height:8em;padding:.2em .3em;overflow-y:auto}.pc-line{cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:.35em;padding:.15em 0;display:flex}.pc-line+.pc-line{border-top:1px dashed #5d403733}.pc-line input{flex:none;margin-top:.2em}.pc-notice{z-index:995;color:#5d4037;max-width:60%;font-family:var(--font-pixel);text-align:center;cursor:pointer;background:#fff0f5f5;border:max(2px,.2cqw) solid #5d4037;border-radius:.6em;margin:0;padding:.35em .8em;font-size:max(11px,1.15cqw);position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.pc-card-below{top:calc(100% + .6em);bottom:auto}.pc-card-start{left:0;transform:none}.pc-card-end{left:auto;right:0;transform:none}.secret-spot{z-index:965;cursor:pointer;background:0 0;border:none;padding:0;position:absolute}.secret-spot-found{background:radial-gradient(circle,#ffffff38 0%,#0000 70%);border-radius:30%;animation:3.2s ease-in-out infinite secret-shimmer}@keyframes secret-shimmer{0%,to{opacity:.35}50%{opacity:.9}}.secret-veil{z-index:1400;background:#1c14229e;place-items:center;padding:4vh 4vw;display:grid;position:fixed;inset:0}.secret-box{color:#4a3560;max-width:min(94vw,34em);max-height:88vh;font-family:var(--font-pixel);background:linear-gradient(#f6efff 0%,#efe4fb 100%);border:3px solid #8e6bb0;border-radius:14px;padding:1.2em 1.4em 1.3em;font-size:clamp(15px,2.6vh,22px);line-height:1.5;overflow-y:auto;box-shadow:0 6px #0000004d}.secret-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#8e6bb0;margin:0 0 .2em;font-size:.8em}.secret-title{color:#5c3a80;border-bottom:2px dashed #8e6bb073;margin:0 0 .7em;padding-bottom:.3em;font-size:1.35em}.secret-line{margin:0 0 .7em}.secret-number{text-align:center;background:#ffffffb3;border:2px solid #8e6bb0;border-radius:8px;margin:1em 0 .4em;padding:.45em .7em}.secret-number strong{color:#5c3a80;font-size:1.5em}.secret-progress{opacity:.8;text-align:center;margin:0 0 .9em;font-size:.85em}.secret-btn{color:#5c3a80;font-family:var(--font-pixel);cursor:pointer;background:#fff;border:2px solid #8e6bb0;border-radius:8px;margin:0 auto;padding:.3em 1.2em;font-size:1em;display:block}.secret-btn:hover{background:#f6efff}@media (prefers-reduced-motion:reduce){.secret-spot-found{animation:none}}.secret-lock{flex-direction:column;align-items:center;gap:.5em;margin-bottom:.9em;display:flex}.secret-input{color:#5c3a80;width:6em;font-family:var(--font-pixel);letter-spacing:.3em;text-align:center;background:#fff;border:2px solid #8e6bb0;border-radius:8px;padding:.2em .4em;font-size:1.6em}.secret-error{color:#b3261e;margin:0;font-size:.85em}.secret-letter{background:#ffffffbf;border:3px double #8e6bb0;border-radius:10px;margin:1em 0;padding:.9em 1em}.secret-letter .secret-line:last-child{margin-bottom:0}.secret-intro{text-align:center}.secret-title-plain{border-bottom:none;padding-bottom:0}.secret-choice{justify-content:center;gap:.8em;margin:1.1em 0 .7em;display:flex}.secret-btn-yes{color:#fff;background:#5c3a80;border-color:#5c3a80}.secret-btn-yes:hover{background:#6f4899}.companion{width:3.4cqw;height:auto;image-rendering:pixelated;pointer-events:none;transform-origin:bottom;transition:transform .5s ease-in-out,clip-path .6s linear;position:absolute}@media (prefers-reduced-motion:reduce){.companion{transition:none}}.companion-diving{transform-origin:50%;transition:none}@keyframes companion-dive{0%{left:var(--from-x);top:var(--from-y);transform:translate(-50%,-100%)rotate(0)}45%{transform:translate(-50%, calc(-100% - var(--arc))) rotate(calc(var(--spin) * .45))}to{left:var(--to-x);top:var(--to-y);transform:translate(-50%, -100%) rotate(var(--spin))}}.companion-toggle{--toggle-size:max(26px, 2.6cqw);z-index:980;width:var(--toggle-size);height:var(--toggle-size);cursor:pointer;background:#fff0f5eb;border:max(2px,.2cqw) solid #5d4037;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.companion-toggle:hover{filter:brightness(1.05)}.companion-toggle-icon{width:78%;height:auto;image-rendering:pixelated;display:block}.companion-toggle-icon-off{filter:grayscale();opacity:.45}.castle-drinks{z-index:1000;border:max(3px, .3cqw) solid var(--pink-deep,#ff80ab);background:var(--pink-panel,#fff0f5);border-radius:.9cqw;flex-direction:column;gap:.5cqw;padding:1cqw 1.2cqw;display:flex;position:absolute;top:40%;left:67%;transform:translate(-50%);box-shadow:.3cqw .4cqw #0000002e}.castle-drinks-title{white-space:nowrap;margin:0 1.4cqw .2cqw 0;font-size:max(11px,1.3cqw)}.castle-drink{border:max(2px, .2cqw) solid var(--pink-deep,#ff80ab);color:var(--brown,#880e4f);font-family:var(--font-pixel);text-align:left;cursor:pointer;background:#fff;border-radius:.5cqw;padding:.35cqw .8cqw;font-size:max(10px,1.1cqw);transition:transform .1s,background .1s}.castle-drink:hover{background:#ffe3ec;transform:scale(1.04)}.castle-drink:focus-visible{outline:2px solid var(--brown,#880e4f);outline-offset:2px}.legal .news-post-title{border-bottom:2px dashed #00000026;margin-top:1.2em;padding-bottom:.15em}.legal-address{margin:0;font-style:normal;line-height:1.6}.legal-address a{color:var(--pink-deep,#9a3c66);text-decoration:underline}.legal-doc h1{border-bottom:3px solid var(--card-edge);color:var(--wordmark-brown);margin:0 0 .6em;padding-bottom:.4em;font-size:1.7em}.legal-doc h2{color:var(--wordmark-brown);border-bottom:2px dashed #00000026;margin:1.6em 0 .5em;padding-bottom:.15em;font-size:1.3em}.legal-doc h3{color:var(--wordmark-brown);margin:1.2em 0 .3em;font-size:1.1em}.legal-doc h4{color:var(--card-ink);margin:.9em 0 .2em;font-size:1em}.legal-doc p{margin:0 0 .7em;line-height:1.6}.legal-doc ul{margin:0 0 .8em;padding-left:1.2em;line-height:1.6}.legal-doc li{margin-bottom:.25em}.legal-doc a{color:var(--pink-deep,#9a3c66);overflow-wrap:anywhere;text-decoration:underline}.legal-doc .legal-lead{border:3px solid var(--pink);background:var(--pink-panel);color:var(--pink-deep);border-radius:10px;margin-bottom:1em;padding:.6em .8em}.legal-doc .legal-updated{opacity:.75;border-top:2px dashed #00000026;margin-top:1.6em;padding-top:.6em;font-size:.85em}.battle-card{width:min(94%,52em);padding:1em 1.4em 1.2em;font-size:clamp(11px,2.4cqh,19px)}.battle-title{margin-bottom:.5em;font-size:1.7em}.battle-arena{background:var(--pink-plank-light);border:.14em solid var(--brown-border);border-radius:.6em;justify-content:space-between;align-items:stretch;gap:.8em;padding:.8em;display:flex}.battle-side{align-items:flex-end;gap:.9em;display:flex}.battle-gardener{align-self:flex-end;width:6.5em}.battle-vs{font-family:var(--font-pixel);color:var(--pink-deep);align-self:center;font-size:1.6em}.battle-fighter{font-size:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2em;padding:.3em;display:flex}.battle-enemy{cursor:pointer;border-radius:.5em}.battle-enemy:disabled{cursor:default}.battle-targeted{outline:.18em solid var(--pink-deep);outline-offset:.1em;background:#ffffff73}.battle-active .battle-name{color:var(--pink-deep)}.battle-dead{filter:grayscale();opacity:.45}.battle-sprite{width:5em;position:relative}.battle-sprite img,.battle-sprite .head-sprite{width:100%;height:auto;image-rendering:pixelated;display:block}.battle-sprite .head-sprite-fallback{place-items:center;height:5em;font-size:3em;display:grid}.battle-name{font-family:var(--font-pixel);color:var(--brown);white-space:nowrap;font-size:.95em}.battle-bar{background:#00000026;border-radius:.25em;width:5em;height:.5em;overflow:hidden}.battle-bar i{background:var(--grass);border-radius:.25em;height:100%;transition:width .25s;display:block}.battle-bar-enemy i{background:var(--pink)}.battle-hp{font-family:var(--font-pixel);color:var(--brown);font-variant-numeric:tabular-nums;font-size:.88em}.battle-weak{font-family:var(--font-pixel);color:var(--danger);font-size:.82em}@keyframes fx-lunge-right{0%,to{transform:translate(0)}35%{transform:translate(18%)}}@keyframes fx-lunge-left{0%,to{transform:translate(0)}35%{transform:translate(-18%)}}@keyframes fx-hit{0%,to{filter:none;transform:translate(0)}20%,60%{filter:sepia()saturate(4)hue-rotate(-40deg);transform:translate(-8%)}40%,80%{filter:sepia()saturate(4)hue-rotate(-40deg);transform:translate(8%)}}@keyframes fx-glow{0%,to{filter:none}50%{filter:drop-shadow(0 0 .6em #78dc64e6)brightness(1.15)}}.fx-lunge-right{animation:.5s ease-out fx-lunge-right}.fx-lunge-left{animation:.5s ease-out fx-lunge-left}.fx-hit{animation:.5s ease-in-out fx-hit}.fx-hit-soft{animation:.35s ease-in-out fx-hit}.fx-glow{animation:.7s ease-in-out fx-glow}@keyframes battle-number{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-1.8em)}}.battle-number{font-family:var(--font-pixel);color:var(--danger);text-shadow:1px 1px #fff;pointer-events:none;font-size:1.2em;animation:1.2s ease-out forwards battle-number;position:absolute;top:-.4em;left:50%}.battle-number-good{color:#3c7d2c}.battle-number-weak{color:var(--pink-deep);font-size:1.5em}.battle-bottom{justify-content:space-between;align-items:flex-start;gap:1em;margin-top:.7em;display:flex}.battle-log{font-family:var(--font-pixel);color:var(--brown);background:#ffffff8c;border-radius:.5em;flex:1;margin:0;padding:.5em .8em;font-size:1em;list-style:none}.battle-actions{flex-direction:column;align-items:flex-end;gap:.4em;display:flex}.battle-turn{font-family:var(--font-pixel);color:var(--brown);margin:0;font-size:1.05em}.battle-btn-row{gap:.4em;display:flex}.battle-btn{cursor:pointer;font-family:var(--font-pixel);letter-spacing:.04em;text-transform:uppercase;color:#fff;text-shadow:1px 1px #00000040;border-radius:.4em;padding:.4em .8em;font-size:.95em}.battle-btn-attack{background:var(--pink);border:.14em solid var(--pink-deep)}.battle-btn-support{background:var(--btn-green);border:.14em solid var(--btn-green-edge)}.battle-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.battle-btn:focus-visible{outline:2px solid var(--pink-deep);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fx-lunge-right,.fx-lunge-left,.fx-hit,.fx-hit-soft,.fx-glow{animation:none}}@media (width<=640px){.battle-card{font-size:11px}.battle-arena{flex-direction:column;align-items:center}.battle-side{flex-wrap:wrap;justify-content:center}.battle-bottom{flex-direction:column;align-items:stretch}.battle-actions{align-items:stretch}.battle-btn-row{justify-content:space-between}}.room-scene{--room-frame:#3a2b1d;--room-wall:#f8dede;--room-floor:#b3a08e;--room-door:#b08d5f;--room-door-edge:#6b4a2f;--room-sky-top:#f5a02e;--room-sky-bottom:#f8cfa5;--sky-angle:34deg;--room-cal-paper:#fff;--room-cal-band:#c0392b;--room-cal-ink:#3a2b1d;-webkit-user-select:none;user-select:none;aspect-ratio:21/9;background:var(--room-wall);width:min(100cqw,233.333cqh);font-size:min(.729cqw,1.7cqh);position:relative;overflow:hidden}.room-scene[data-phase=morning]{--room-sky-top:#8ec8e8;--room-sky-bottom:#f7e8ba;--sky-angle:-46deg}.room-scene[data-phase=night]{--room-sky-top:#1c2a49;--room-sky-bottom:#4a3b5e;--sky-angle:-10deg}.room-floor{background:var(--room-floor);height:24%;position:absolute;inset:auto 0 0}.room-window{aspect-ratio:4/3;border:.5em solid var(--room-frame);background:linear-gradient(var(--room-sky-top), var(--room-sky-bottom));width:35%;position:absolute;top:5%;left:4%;overflow:hidden}.room-mullion{background:var(--room-frame);position:absolute}.room-mullion-h{height:.5em;top:50%;left:0;right:0;transform:translateY(-50%)}.room-mullion-v{width:.5em;top:0;bottom:0;left:50%;transform:translate(-50%)}.room-sky{pointer-events:none;position:absolute;inset:0;overflow:hidden;container-type:size}.room-orbit{transform-origin:bottom;width:0;height:78%;transform:rotate(var(--sky-angle));transition:transform 1.4s ease-in-out;position:absolute;bottom:0;left:50%}.room-orbit-drift{transform-origin:bottom;animation:45s ease-in-out infinite alternate sky-drift;position:absolute;inset:0}@keyframes sky-drift{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.room-sky-body{width:14cqw;height:auto;transform:translate(-50%, -50%) rotate(calc(-1 * var(--sky-angle)));image-rendering:pixelated;filter:drop-shadow(0 0 .5em #fff0c8a6);transition:transform 1.4s ease-in-out,opacity .8s;position:absolute;top:0;left:50%}.room-scene[data-phase=night] .room-sky-body{filter:drop-shadow(0 0 .6em #e1ebffb3)}.room-window:not([data-weather=sunny]) .room-sky-body{opacity:0}@keyframes enemy-rise{0%{transform:translateY(105%)}to{transform:translateY(12%)}}@keyframes enemy-lurk{0%,to{transform:translateY(12%)}50%{transform:translateY(2%)}}.window-enemy{cursor:pointer;background:0 0;border:none;width:40%;padding:0;animation:.7s ease-out enemy-rise,2.4s ease-in-out .7s infinite enemy-lurk;position:absolute;bottom:0;right:6%}.window-enemy img{width:100%;height:auto;image-rendering:pixelated;display:block}.window-enemy:hover,.window-enemy:focus-visible{filter:brightness(1.12)}.window-enemy:focus-visible{outline:2px solid var(--room-frame);outline-offset:2px}.room-weather{pointer-events:none;position:absolute;inset:0;overflow:hidden}.weather-tint,.weather-clouds,.weather-flash{opacity:0;position:absolute;inset:0}.weather-fall{opacity:0;position:absolute;inset:-30% -25%}.room-window[data-weather=rainy] .weather-tint{opacity:.2;background:#4a5a72}.room-window[data-weather=overcast] .weather-tint{opacity:.4;background:#7e8592}.room-window[data-weather=snowy] .weather-tint{opacity:.34;background:#c2d3e4}.room-window[data-weather=thunderstorm] .weather-tint{opacity:.5;background:#26304a}.weather-clouds{background-image:radial-gradient(26% 40% at 18% 26%,#ffffff8c,#0000 70%),radial-gradient(32% 46% at 52% 16%,#ffffff73,#0000 72%),radial-gradient(24% 38% at 84% 30%,#ffffff61,#0000 70%);animation:38s ease-in-out infinite alternate cloud-drift}@keyframes cloud-drift{0%{transform:translate(-6%)}to{transform:translate(6%)}}.room-window[data-weather=overcast] .weather-clouds{opacity:.75}.room-window[data-weather=rainy] .weather-clouds{opacity:.4}.room-window[data-weather=snowy] .weather-clouds{opacity:.55}.room-window[data-weather=thunderstorm] .weather-clouds{opacity:.3}.room-window[data-weather=rainy] .weather-fall-a,.room-window[data-weather=thunderstorm] .weather-fall-a{opacity:.9;background-image:radial-gradient(1.4px 11px at 8% 18%,#e4f2fff2 45%,#0000 92%),radial-gradient(1.2px 9px at 27% 64%,#d6eaffd9 45%,#0000 92%),radial-gradient(1.5px 12px at 45% 32%,#e4f2fff2 45%,#0000 92%),radial-gradient(1.2px 9px at 62% 84%,#d6eaffcc 45%,#0000 92%),radial-gradient(1.3px 10px at 79% 8%,#deeeffe6 45%,#0000 92%),radial-gradient(1.2px 9px at 93% 52%,#d6eaffd9 45%,#0000 92%);background-size:44px 40px;animation:.4s linear infinite rain-a}.room-window[data-weather=rainy] .weather-fall-b,.room-window[data-weather=thunderstorm] .weather-fall-b{opacity:.35;background-image:radial-gradient(1px 7px at 16% 36%,#e8f5ffcc 45%,#0000 92%),radial-gradient(.9px 6px at 42% 10%,#e8f5ffa6 45%,#0000 92%),radial-gradient(1px 7px at 65% 60%,#e8f5ffb3 45%,#0000 92%),radial-gradient(.9px 6px at 88% 26%,#e8f5ffa6 45%,#0000 92%);background-size:34px 31px;animation:.65s linear infinite rain-b}.room-window[data-weather=thunderstorm] .weather-fall-a{opacity:1;animation-duration:.32s}@keyframes rain-a{to{translate:0 40px}}@keyframes rain-b{to{translate:0 31px}}.room-window[data-weather=snowy] .weather-fall-a{opacity:.95;background-image:radial-gradient(2.2px at 17% 21%,#fffffff2 99%,#0000 100%),radial-gradient(1.5px at 61% 43%,#ffffffd9 99%,#0000 100%),radial-gradient(2px at 36% 72%,#ffffffe6 99%,#0000 100%),radial-gradient(1.2px at 85% 87%,#ffffffbf 99%,#0000 100%);background-size:62px 62px;animation:7.5s linear infinite snow-a,4.5s ease-in-out infinite alternate snow-sway-a}.room-window[data-weather=snowy] .weather-fall-b{opacity:.6;background-image:radial-gradient(1.3px at 29% 13%,#ffffffd9 99%,#0000 100%),radial-gradient(1px at 68% 58%,#ffffffb3 99%,#0000 100%),radial-gradient(1.5px at 47% 88%,#ffffffbf 99%,#0000 100%);background-size:43px 43px;animation:12s linear infinite snow-b,6.5s ease-in-out infinite alternate snow-sway-b}@keyframes snow-a{to{translate:0 62px}}@keyframes snow-b{to{translate:0 43px}}@keyframes snow-sway-a{0%{transform:translate(-7px)}to{transform:translate(7px)}}@keyframes snow-sway-b{0%{transform:translate(5px)}to{transform:translate(-5px)}}.room-window[data-weather=thunderstorm] .weather-flash{background:#eaf2ff;animation:7.5s linear infinite storm-flash}@keyframes storm-flash{0%,90%,to{opacity:0}91%{opacity:.8}92.5%{opacity:.1}94%{opacity:.55}96%{opacity:0}}.room-doorway{aspect-ratio:1/2.4;justify-content:center;width:18%;max-height:61%;display:flex;position:absolute;bottom:24%;right:5%}.room-door{background:repeating-linear-gradient(90deg, transparent 0 32%, #0000001a 32% 34%), var(--room-door);border:.3em solid var(--room-door-edge);border-radius:3px;width:92%;height:100%;position:relative;box-shadow:.3em .35em #00000029}.room-doorway-open{cursor:pointer;background:0 0;border:none;padding:0}.room-doorway-open:focus-visible{outline:2px solid var(--room-frame);outline-offset:4px}@keyframes door-knob-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-22deg)}75%{transform:rotate(22deg)}}.room-door-handle{background:color-mix(in srgb, var(--room-door-edge) 65%, #000 35%);border:.35em solid var(--room-door-edge);transform-origin:50%;width:1.5em;height:1.5em;position:absolute;top:46%;right:11%}.room-door:hover .room-door-handle{animation:.5s ease-in-out infinite door-knob-wiggle}.room-bed{cursor:default;pointer-events:none;background:0 0;border:none;width:20%;padding:0;position:absolute;bottom:4%;left:3%}.room-bed img{width:100%;height:auto;image-rendering:pixelated;display:block}.room-bed-ready{pointer-events:auto;cursor:pointer;animation:2.2s ease-in-out infinite bed-glow}.room-bed-ready:hover,.room-bed-ready:focus-visible{transform:scale(1.05)}.room-bed-ready:focus-visible{outline:2px solid var(--room-frame);outline-offset:3px}@keyframes bed-glow{0%,to{filter:drop-shadow(0 0 .2em #ffecaa00)}50%{filter:drop-shadow(0 0 .8em #ffecaae6)}}.room-player{cursor:pointer;background:0 0;border:none;width:20em;padding:0;font-size:143%;transition:none;position:absolute;bottom:0;transform:translate(-50%)}.room-player:hover,.room-player:focus-visible{transform:translate(-50%)scale(1.05)}.room-floor-walkable{cursor:pointer}.room-player:focus-visible{outline:2px solid var(--room-frame);outline-offset:4px}@keyframes player-breathe{0%,to{transform:translate(-50%)scaleY(1)}50%{transform:translate(-50%)scaleY(.97)}}.room-player-sleeping{transform-origin:bottom;animation:2.6s ease-in-out infinite player-breathe;bottom:5%}@keyframes zzz-rise{0%{opacity:0;transform:translateY(0)}25%{opacity:1}to{opacity:0;transform:translateY(-2.2em)}}.room-zzz{font-family:var(--font-pixel);color:var(--brown);pointer-events:none;position:absolute;bottom:92%;left:62%}.room-zzz i{font-style:normal;animation:2.6s linear infinite zzz-rise;position:absolute}.room-zzz i:first-child{font-size:1.6em}.room-zzz i:last-child{font-size:2.2em;animation-delay:1.3s;left:.7em}.room-energy{gap:.3em;display:flex;position:absolute;bottom:96%;left:50%;transform:translate(-50%)}.room-energy-pip{width:2em;height:auto;image-rendering:pixelated;filter:drop-shadow(.1em .15em #0000002e)}.room-energy-spent{filter:grayscale()brightness(.55);opacity:.65}.room-supplies{aspect-ratio:1;width:15%;font-size:1em;position:absolute;top:34%;left:43.3%}.room-supplies-shelf{width:100%;height:auto;image-rendering:pixelated;position:absolute;inset:0}.room-supplies-item{width:30%;position:absolute;bottom:43%}.room-supplies-water{left:14%}.room-supplies-nutrients{left:56%}.room-supplies-item img{width:100%;height:auto;image-rendering:pixelated;display:block}.room-supplies-tag{text-align:center;width:30%;font-family:var(--font-pixel);color:var(--brown);font-variant-numeric:tabular-nums;background:#fff;border-radius:.25em;padding:.15em 0;font-size:1.5em;line-height:1.1;position:absolute;top:9%;box-shadow:.15em .2em #00000026}.room-supplies-tag-water{left:14%}.room-supplies-tag-nutrients{left:56%}.room-clock{aspect-ratio:1;cursor:default;background:0 0;border:none;width:12.5%;padding:0;position:absolute;top:10%;left:63.5%}.room-clock-face{aspect-ratio:1;width:100%;display:block;position:relative}.room-clock-face img{width:100%;height:auto;image-rendering:pixelated;position:absolute;inset:0}.room-clock-hand{transform-origin:50%;transition:transform 4.5s ease-in-out}.room-clock-ready{cursor:pointer;animation:2.2s ease-in-out infinite bed-glow}.room-clock-ready:hover,.room-clock-ready:focus-visible{transform:scale(1.08)}.room-clock-ready:focus-visible{outline:2px solid var(--room-frame);outline-offset:3px}.room-calendar{pointer-events:none;position:absolute;inset:0}.room-calendar>*{pointer-events:auto}.wall-calendar{aspect-ratio:1;cursor:pointer;width:7.5%;font-size:inherit;background:0 0;border:none;padding:0;transition:transform .12s;position:absolute;top:14%;left:44.5%;transform:rotate(-2deg)}.wall-calendar:hover,.wall-calendar:focus-visible{transform:rotate(0)scale(1.06)}.wall-calendar:focus-visible{outline:2px solid var(--room-frame);outline-offset:2px}.wall-calendar-face{flex-direction:column;transition:opacity .15s;display:flex;position:absolute;inset:0}.wall-calendar-paper{background:var(--room-cal-paper);border-radius:.3em;justify-content:flex-start;align-items:stretch;overflow:hidden;box-shadow:.25em .35em #0000002e}.wall-calendar-paper:after{content:"";border-top:0 solid #0000;border-bottom:.9em solid #0000001f;border-left:.9em solid #0000;border-right:0 solid #0000;position:absolute;bottom:0;right:0}.wall-calendar-weather{border:.28em solid var(--pink);opacity:0;background:#fff;border-radius:.8em;justify-content:space-evenly;align-items:center;padding:.3em;overflow:hidden;box-shadow:.25em .35em #0000002e}@media (hover:hover){.wall-calendar:hover .wall-calendar-weather{opacity:1}.wall-calendar:hover .wall-calendar-paper{opacity:0}}.wall-calendar:focus-visible .wall-calendar-weather{opacity:1}.wall-calendar:focus-visible .wall-calendar-paper{opacity:0}.wall-calendar-rings{z-index:1;justify-content:space-evenly;transition:opacity .15s;display:flex;position:absolute;top:-.45em;left:0;right:0}.wall-calendar-rings i{background:var(--room-frame);border-radius:.2em;width:.4em;height:.9em}@media (hover:hover){.wall-calendar:hover .wall-calendar-rings{opacity:0}}.wall-calendar:focus-visible .wall-calendar-rings{opacity:0}.wall-calendar-band{background:linear-gradient(color-mix(in srgb, var(--room-cal-band) 82%, #fff 18%), var(--room-cal-band));color:#fff;height:27%;font-family:var(--font-pixel);letter-spacing:.14em;text-transform:uppercase;text-align:center;border-radius:.3em .3em 0 0;justify-content:center;align-items:center;font-size:1em;display:flex}.wall-calendar-day{font-family:var(--font-pixel);color:var(--room-cal-ink);flex:1;place-items:center;font-size:3em;line-height:1;display:grid}.wall-calendar-num{font-family:var(--font-pixel);color:var(--brown);white-space:nowrap;font-size:1.25em;line-height:1}.wall-calendar-emoji{font-size:1.7em;line-height:1}.wall-calendar-weather .wall-calendar-caption{color:var(--brown);font-family:var(--font-pixel)}.wall-calendar-caption{font-family:var(--font-pixel);color:var(--room-cal-ink);text-align:center;white-space:nowrap;font-size:.85em}.wall-calendar-paper .wall-calendar-caption{font-family:var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;opacity:.75;padding-bottom:.4em;font-size:.72em}.wall-calendar-progress{display:none}.wall-calendar-paper .wall-calendar-caption:before{content:"";background:#00000024;width:58%;height:2px;margin:0 auto .35em;display:block}.cal-pop{z-index:20;flex-direction:column;gap:.55em;width:36%;padding:.7em;display:flex;position:absolute;top:37%;left:40%}.cal-pop-title{font-size:1.15em}.cal-pop-days{justify-content:center;align-items:center;gap:.45em;margin:0;padding:0;list-style:none;display:flex}.cal-pop-day{font-family:var(--font-pixel);color:var(--brown);flex-direction:column;align-items:center;gap:.15em;display:flex}.cal-pop-past{opacity:.45}.cal-pop-next{background:var(--pink-plank-light);border:.1em solid var(--brown-border);border-radius:.6em;padding:.4em .55em}.cal-pop-today{border:.16em solid var(--pink);background:#fff;border-radius:.8em;padding:.45em .8em}.cal-pop-num{white-space:nowrap;font-size:.95em}.cal-pop-today .cal-pop-num{font-size:1.4em}.cal-pop-emoji{font-size:1.3em;line-height:1.2}.cal-pop-today .cal-pop-emoji{font-size:1.9em}.cal-pop-label{font-size:.9em}.cal-pop-track{flex-direction:column;align-items:center;gap:.35em;display:flex}.cal-pop-dots{flex-wrap:wrap;justify-content:center;gap:.28em;display:flex}.cal-pop-dot{background:#b9b29a;border-radius:50%;width:.5em;height:.5em}.cal-pop-dot.is-today{background:var(--pink-deep);transform:scale(1.5)}.cal-pop-dot.dot-sunny{background:#e0a32e}.cal-pop-dot.dot-rainy{background:#5b9bd5}.cal-pop-dot.dot-overcast{background:#8f977f}.cal-pop-dot.dot-snowy{background:#9ed4e8}.cal-pop-dot.dot-thunderstorm{background:#8464a8}.cal-pop-dot.dot-danger{background:var(--danger)}.cal-pop-count{font-family:var(--font-pixel);color:var(--brown);white-space:nowrap;font-size:1.1em}.book-backdrop{z-index:20;background:#22301a73;place-items:center;display:grid;position:absolute;inset:0}.plant-book{aspect-ratio:1980/1080;filter:drop-shadow(.4em .5em #00000040);background:url(/assets/backgrounds/book.png) 50%/100% 100% no-repeat;width:min(88%,154cqh);font-size:clamp(9px,3.2cqh,22px);position:relative}.book-close{z-index:1;cursor:pointer;font-family:var(--font-pixel);color:#f2e6d0;background:0 0;border:none;padding:.1em .3em;font-size:1.3em;line-height:1;position:absolute;top:9%;right:6%}.book-close:hover{transform:scale(1.2)}.book-close:focus-visible{outline-offset:2px;outline:2px solid #f2e6d0}.book-flip{z-index:1;cursor:pointer;font-family:var(--font-pixel);color:#f2e6d0;background:0 0;border:none;padding:0 .3em;font-size:2.3em;line-height:1;position:absolute;top:45%}.book-flip:disabled{opacity:.3;cursor:default}.book-flip-prev{left:2.5%}.book-flip-next{right:2.5%}.book-page{color:#f2e6d0;width:38%;height:70%;font-family:var(--font-pixel);flex-direction:column;display:flex;position:absolute;top:14%}.book-page-left{justify-content:center;align-items:center;gap:1em;left:8%}.book-page-right{gap:.55em;left:54%}.book-dead{filter:grayscale(.9);opacity:.8}.book-page-left .head-sprite{width:auto;height:46%;image-rendering:pixelated}.book-page-left .head-sprite-fallback{place-items:center;height:46%;font-size:4em;line-height:1;display:grid}.book-bars{flex-direction:column;gap:.45em;width:88%;display:flex}.book-actions{gap:.6em;display:flex}.book-btn{cursor:pointer;font-family:var(--font-pixel);color:#f2e6d0;white-space:nowrap;background:#f2e6d01f;border:.12em solid #f2e6d0;border-radius:.4em;padding:.3em .6em;font-size:1em}.book-btn:hover:not(:disabled){background:#f2e6d047}.book-btn:disabled{opacity:.35;cursor:default}.book-btn:focus-visible{outline-offset:2px;outline:2px solid #f2e6d0}.book-name{font-family:var(--font-pixel);letter-spacing:.04em;margin:0 0 .3em;font-size:1.5em}.book-bar-row{grid-template-columns:4.2em 1fr 3em;align-items:center;gap:.5em;font-size:.85em;display:grid}.book-bar{background:#f2e6d033;border-radius:.3em;height:.55em;overflow:hidden}.book-bar-fill{border-radius:.3em;height:100%;transition:width .2s;display:block}.book-bar-hp .book-bar-fill{background:var(--danger)}.book-bar-water .book-bar-fill{background:var(--water)}.book-bar-nut .book-bar-fill{background:var(--grass)}.book-bar-value{text-align:right;font-variant-numeric:tabular-nums}.book-line{margin:0;font-size:.8em}.book-note{opacity:.85;margin:auto 0 0;font-size:.8em;font-style:italic}@media (width<=640px){.cal-pop{width:80%;top:27%;left:10%}.cal-pop-day[data-offset="-2"],.cal-pop-day[data-offset="2"]{display:none}.cal-pop-track{flex-direction:column;gap:.4em}}.room-stage{pointer-events:none;flex-direction:row-reverse;justify-content:flex-start;align-items:flex-end;display:flex;position:absolute;bottom:1%;left:24%;right:38%}.room-stage>*{pointer-events:auto}.room-plant{cursor:pointer;pointer-events:none;background:0 0;border:none;align-items:flex-end;padding:0;font-size:143%;transition:transform .12s;display:flex;position:relative}.room-plant-hit{pointer-events:auto;position:absolute;inset:0 16%}.room-plant:hover,.room-plant:focus-visible{transform:scale(1.05)}.room-plant:focus-visible{outline:2px solid var(--room-frame);outline-offset:4px}.room-plant+.room-plant{margin-right:-9em}.room-plant+.room-plant .head-sprite{height:16em}.room-plant+.room-plant .head-sprite-fallback{height:16em;font-size:8em}.room-plant .head-sprite{width:auto;height:20em;image-rendering:pixelated}.room-plant .head-sprite-fallback{place-items:center;width:auto;height:20em;font-size:10em;line-height:1;display:grid}.room-plant-dead{filter:grayscale(.9);opacity:.75}@media (width>=1000px){.room-player,.room-plant{font-size:121%}}@media (width<=640px){.wall-calendar-weather{justify-content:center;gap:.1em}.wall-calendar-num{font-size:1em}.wall-calendar-emoji{font-size:1.3em}.plant-book{width:96%;font-size:10px}.room-plant .head-sprite,.room-plant .head-sprite-fallback{width:27cqw;max-width:130px;height:auto}.room-plant+.room-plant{margin-right:-7cqw}.room-plant+.room-plant .head-sprite,.room-plant+.room-plant .head-sprite-fallback{width:21cqw;max-width:100px}.room-window{width:40%}.wall-calendar{width:19%;top:13%;left:48%}.wall-calendar-band{height:22%;padding:0;font-size:0}.wall-calendar-caption{display:none}.wall-calendar-progress{background:#00000024;border-radius:.3em;height:.55em;margin:0 12% 14%;display:block;overflow:hidden}.wall-calendar-progress i{background:var(--room-cal-band);border-radius:.3em;height:100%;display:block}.wall-calendar-rings{top:-.55em}.wall-calendar-rings i{width:.55em;height:1.1em}.wall-calendar-day{font-size:2.7em}.room-doorway{width:24%}.room-bed{width:34%;bottom:5%}.room-stage{bottom:6%}.room-player{width:28cqw;bottom:10%}.room-energy-pip{width:4.5cqw}.room-supplies{width:26%;top:31%;left:46%}.room-supplies-tag{font-size:1.3em}.room-clock{width:20%;top:34%;left:8%}}@media (prefers-reduced-motion:reduce){.wall-calendar,.wall-calendar-face{transition:none}.room-door:hover .room-door-handle{animation:none}.window-enemy{animation:none;transform:translateY(12%)}.room-orbit-drift{animation:none}.room-orbit,.room-sky-body{transition:none}.weather-clouds,.weather-fall,.weather-flash{animation:none}.room-bed-ready,.room-clock-ready{filter:drop-shadow(0 0 .5em #ffecaacc);animation:none}.room-player-sleeping,.room-zzz i{animation:none}}.fairy{--fairy-flight:1.2s;z-index:30;aspect-ratio:1;pointer-events:none;width:12em;transition:left var(--fairy-flight) ease-in-out, top var(--fairy-flight) ease-in-out;font-size:143%;position:absolute}.fairy-sprite{background:url(/assets/tutorial/fairy.png) 0 0/600% 100% no-repeat;background-position:calc(var(--cell) * 20%) 0;image-rendering:pixelated;animation:2.4s ease-in-out infinite fairy-bob;position:absolute;inset:0}.fairy-flying .fairy-sprite{animation:none}@keyframes fairy-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.6em)}}.fairy-bubble{border:3px solid var(--pink);background:var(--pink-panel);width:max-content;max-width:30em;color:var(--pink-deep);cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:auto;border-radius:1em;padding:.9em 1.1em .7em;position:absolute;bottom:calc(100% + 1.1em);left:50%;transform:translate(-50%);box-shadow:0 3px #0000002e}.fairy-bubble-tail{border:.7em solid #0000;border-top-color:var(--pink);border-bottom:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.fairy-bubble-below{top:calc(100% + 1.1em);bottom:auto}.fairy-bubble-below .fairy-bubble-tail{border-top:none;border-bottom:.7em solid var(--pink);border-left:.7em solid #0000;border-right:.7em solid #0000;top:auto;bottom:100%}.fairy-bubble-text{overflow-wrap:anywhere;min-width:12em;min-height:2.6em;margin:0;font-size:1.35em;line-height:1.4}.fairy-bubble-more{margin-left:.35em;animation:1s steps(2,end) infinite fairy-more}@keyframes fairy-more{to{opacity:0}}.fairy-bubble-skip{border:2px solid var(--pink);background:var(--field-bg);color:var(--pink-muted);font-family:var(--font-pixel);cursor:pointer;border-radius:.5em;margin:.5em 0 0 auto;padding:.15em .5em;font-size:.95em;display:block}.fairy-bubble-skip:hover{filter:brightness(1.05)}@media (prefers-reduced-motion:reduce){.fairy{transition:none}.fairy-sprite,.fairy-bubble-more{animation:none}}.tutorial-btn{--tutorial-size:max(26px, 2.6cqw);z-index:980;width:var(--tutorial-size);height:var(--tutorial-size);cursor:pointer;background:#fff0f5eb;border:max(2px,.2cqw) solid #5d4037;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.tutorial-btn:hover:not(:disabled){filter:brightness(1.05)}.tutorial-btn:disabled{cursor:default;opacity:.5}.tutorial-btn-icon{aspect-ratio:1;width:82%;image-rendering:pixelated;background:url(/assets/tutorial/fairy.png) 60% 0/600% 100% no-repeat;display:block}.room-hint{font-family:var(--font-ui);text-align:center;color:var(--subtitle-color);margin:0;font-size:clamp(14px,2.6cqh,30px)}.game{flex-direction:column;gap:1.6cqh;width:100%;height:100%;display:flex;position:relative}.room-mute{--mute-size:clamp(26px, 2.6vw, 44px);z-index:40;bottom:1.4%;right:1.2%}.room-tutorial{--tutorial-size:clamp(26px, 2.6vw, 44px);z-index:40;bottom:1.4%;right:calc(1.2% + clamp(26px,2.6vw,44px) + .6vw)}.game-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.game-date,.game-res{border:2px solid var(--card-edge);font-family:var(--font-pixel);color:var(--card-ink);text-transform:capitalize;background:#fdf3dde0;border-radius:10px;margin:0;padding:.4em .9em;font-size:clamp(13px,2.6cqh,24px)}.game-res{text-transform:none;gap:1em;display:flex}.cal-strip{scrollbar-width:none;border:2px solid var(--card-edge);background:#fdf3ddb3;border-radius:10px;gap:.4em;margin:0;padding:.3em .4em;list-style:none;display:flex;overflow-x:auto}.cal-strip::-webkit-scrollbar{display:none}.cal-day{min-width:2.7em;font-family:var(--font-pixel);color:var(--card-ink);border-radius:8px;flex-direction:column;flex:none;align-items:center;padding:.15em .25em;font-size:clamp(11px,1.8cqh,16px);line-height:1.2;display:flex}.cal-past{opacity:.45}.cal-today{background:var(--field-bg);outline:2px solid var(--card-edge)}.game-center{flex:1;align-items:center;gap:1.5cqw;min-height:0;display:flex}.game-room{background:linear-gradient(0deg,#b3a08e 0 24%,#f8dede 24%);flex:1;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative;container-type:size}.game-heads{scrollbar-width:none;flex-direction:column;flex:none;justify-content:center;gap:1cqh;max-height:100%;display:flex;overflow-y:auto}.cal-day::-webkit-scrollbar{display:none}.head-card{border:3px solid var(--card-edge);background:#fdf3ddeb;border-radius:12px;grid-template-columns:auto 1fr auto;grid-template-areas:"sprite name actions""sprite bars actions""sprite badges actions";align-items:center;column-gap:.8cqw;width:clamp(220px,19cqw,280px);padding:.9cqh .8cqw;display:grid;box-shadow:0 6px 14px #0000002e}.head-dead{filter:grayscale(.9);opacity:.75}.head-sprite{width:clamp(32px,6cqh,60px);height:auto;image-rendering:pixelated;grid-area:sprite}.head-sprite-fallback{grid-area:sprite;place-items:center;height:clamp(32px,6cqh,60px);font-size:clamp(26px,4.5cqh,48px);line-height:1;display:grid}.head-name{font-family:var(--font-pixel);color:var(--card-ink);grid-area:name;margin:0;font-size:clamp(13px,2.2cqh,19px)}.head-bars{flex-direction:column;grid-area:bars;gap:4px;width:100%;display:flex}.head-bar{background:#0000001f;border-radius:4px;height:8px;overflow:hidden}.head-bar-fill{border-radius:4px;height:100%;transition:width .2s;display:block}.head-bar-hp .head-bar-fill{background:var(--danger)}.head-bar-water .head-bar-fill{background:var(--water)}.head-bar-nut .head-bar-fill{background:var(--grass)}.head-badges{grid-area:badges;min-height:1em;margin:0;font-size:clamp(11px,2cqh,17px)}.head-actions{flex-direction:column;grid-area:actions;gap:.35em;display:flex}.head-btn{border:2px solid var(--card-edge);background:var(--field-bg);cursor:pointer;border-radius:8px;padding:.25em .55em;font-size:clamp(13px,2.4cqh,22px);transition:transform .1s}.head-btn:hover:not(:disabled){transform:scale(1.12)}.head-btn:disabled{opacity:.35;cursor:default}.head-btn:focus-visible{outline:2px solid var(--frame-green);outline-offset:2px}.game-bottom{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.game-log{max-width:34em;font-family:var(--font-pixel);color:#f2eedd;background:#22301ab3;border-radius:10px;flex:1;margin:0;padding:.45em .9em;font-size:clamp(12px,2.2cqh,19px);list-style:none}.game-log li+li{margin-top:.15em}.game-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.game-locked{font-family:var(--font-pixel);color:var(--subtitle-color);text-shadow:1px 1px #0006;margin:0;font-size:clamp(12px,2.2cqh,18px)}.game-expeditions{gap:6px;display:flex}.game-exp-btn{border:2px solid var(--card-edge);font-family:var(--font-pixel);color:var(--card-ink);cursor:pointer;background:#fdf3dde0;border-radius:8px;padding:.3em .6em;font-size:clamp(12px,2.2cqh,18px)}.game-exp-btn:hover:not(:disabled){background:var(--field-bg)}.game-exp-btn:disabled{opacity:.4;cursor:default}.game-exp-btn:focus-visible{outline:2px solid var(--frame-green);outline-offset:2px}.game-phase-btn{width:auto;min-width:clamp(170px,22cqw,300px)}.game-phase-btn .start-btn-label{width:auto}.run-overlay{z-index:2;background:#22301a8c;border-radius:8px;place-items:center;display:grid;position:absolute;inset:0}.run-overlay-card{background:var(--card-paper);border:4px solid var(--card-edge);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:1.2cqh;padding:3cqh 4cqw;display:flex}.run-overlay-title{font-family:var(--font-ui);color:var(--wordmark-brown);margin:0;font-size:clamp(24px,5cqh,54px)}.run-overlay-text,.run-overlay-stats{font-family:var(--font-pixel);color:var(--card-ink);margin:0;font-size:clamp(14px,2.6cqh,24px)}.run-overlay-btn,.run-overlay-btn .start-btn-label{width:auto}@media (width<=640px){.game{gap:12px}.room-hint{font-size:clamp(14px,4.5vw,20px)}.game-date,.game-res{font-size:14px}.cal-day{font-size:12px}.game-center{flex-direction:column;align-items:stretch;gap:12px}.game-room{flex:none;height:auto}.room-scene{width:100%;font-size:clamp(7px,2.6vw,14px)}.game-heads{max-height:none;overflow-y:visible}.head-card{column-gap:10px;width:100%}.head-sprite,.head-sprite-fallback{width:auto;height:56px}.head-sprite-fallback{font-size:44px}.head-name,.head-btn{font-size:14px}.game-bottom{flex-direction:column;align-items:stretch}.game-log{max-width:none;font-size:13px}.game-actions{align-items:stretch}.game-expeditions{justify-content:space-between}.game-exp-btn{font-size:13px}.game-phase-btn{min-width:0}.run-overlay-card{gap:10px;padding:22px 18px}.run-overlay-title{font-size:28px}.run-overlay-text,.run-overlay-stats{font-size:15px}}@font-face{font-family:Bangalore;src:url(/assets/fonts/Bangalore.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-ui:"Bangalore", "VT323", monospace;--font-pixel:"VT323", monospace;--page-green:#92b268;--frame-green:#22301a;--wordmark-brown:#5c3a21;--subtitle-color:#fff;--btn-green:#6cab44;--btn-green-edge:#4d7d31;--btn-berry:#9a3c66;--btn-berry-edge:#8c2353;--nav-band:#b3c48d;--nav-panel:#ccd9a8;--nav-panel-edge:#94aa70;--footer-ink:#4a5540;--card-paper:#fdf3dd;--card-edge:#8a6440;--card-screw:#6b4a2f;--card-ink:#6b4423;--field-bg:#fff;--field-edge:#b08d5f;--field-ink:#4a4a4a;--pick-selected:#f06292;--pink:#ff80ab;--pink-panel:#fff0f5;--pink-hover:#ffe3ec;--pink-deep:#880e4f;--pink-muted:#a8527a;--pink-plank-light:#fff0f5;--pink-plank-dark:#ffdae0;--pink-frame:#ffe4e1;--brown:#5d4037;--brown-border:#96756b;--peach-panel:#f1bea0;--chat-line:#fff1f4de;--chat-input:#ffdfe8;--chat-input-focus:#ffe8ef;--sky:#c2e0ec;--grass:#84a066;--water:#55a3b4;--sand:#efd6b0;--danger:#b03a3a;--pixel:3px;--scroll-thumb:#ffc9db;--scroll-thumb-hover:#ffb0c8;--scroll-track:#ffbbd233;--scroll-edge:var(--brown-border);--scroll-thumb-flat:#f7aac6;--scroll-track-flat:#96756b33}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track);border-left:2px solid var(--scroll-edge);box-shadow:inset 3px 0 5px #96756b26}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-edge);border-radius:6px;box-shadow:inset 2px 2px #ffffffb3,inset -2px -2px #96756b4d}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scroll-track)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin}:root{scrollbar-color:var(--scroll-thumb-flat) var(--scroll-track-flat)}}*{box-sizing:border-box;cursor:url(/assets/ui/cursor-fairy.png) 0 0,auto!important}a,button,summary,select,label[for],[role=button],[class*=hitbox]{cursor:url(/assets/ui/cursor-fairy-wand.png) 0 0,pointer!important}input:not([type=button],[type=submit],[type=checkbox],[type=radio]),textarea{cursor:text!important}:disabled,[aria-disabled=true]{cursor:url(/assets/ui/cursor-fairy.png) 0 0,default!important}.fairy-dust{z-index:99999;pointer-events:none;width:12px;height:12px;box-shadow:0 0 5px var(--pink);clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);background:#fff;animation:.8s linear forwards fairy-dust-fall;position:fixed}@keyframes fairy-dust-fall{0%{opacity:1;transform:translateY(0)scale(1)rotate(0)}to{opacity:0;transform:translateY(30px)scale(0)rotate(90deg)}}html,body,#root{height:100%}body{font-family:var(--font-pixel);color:var(--brown);background:var(--page-green);image-rendering:pixelated;margin:0;font-size:18px;line-height:1.4}.panel{background:var(--pink-panel);color:var(--pink-deep);border:4px solid var(--pink);border-radius:15px;padding:16px 20px;box-shadow:0 8px 16px #00000026}.btn{font-family:var(--font-ui);color:var(--pink-deep);border:2px solid var(--pink);cursor:pointer;background:#fff;border-radius:8px;padding:8px 18px;font-size:20px;text-decoration:none;transition:transform .1s,background .1s}.btn:hover{background:var(--pink-hover);transform:scale(1.05)}.btn:active{transform:scale(.95)}.btn:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.input{font-family:var(--font-ui);border:2px solid var(--pink);color:var(--brown);background:#fff;border-radius:8px;width:100%;padding:8px 12px;font-size:18px}.input:focus{background:var(--chat-input-focus);outline:none}
