@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");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}#ui-root [hidden]{display:none!important}:where(#ui-root) :where(button,input,label){pointer-events:auto;font:inherit;color:inherit}:where(#ui-root) :where(button){appearance:none;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:0}:where(#ui-root) :where(button:disabled){cursor:default}#ui-root :focus-visible{outline:3px solid var(--blue);outline-offset:2px}.ui-glyph{flex:none;width:22px;height:22px;display:block}.ui-sep{background:var(--line-strong);flex:none;align-self:stretch;width:1px;margin:6px 2px}.ui-pill{pointer-events:auto;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;display:flex}.ui-mark{letter-spacing:0;white-space:nowrap;align-items:center;gap:.28em;margin:0;font-weight:900;display:inline-flex}.ui-mark-house{background:var(--brick);color:#fff;border-radius:.38em;place-items:center;width:1.35em;height:1.35em;display:inline-grid;box-shadow:inset 0 -.08em #00000026}.ui-mark-house .ui-glyph{stroke-width:2.6px;width:.9em;height:.9em}.ui-mark-big{color:var(--panel-solid);text-shadow:0 .05em #d7825a,0 .09em #b9623f,0 .2em .45em #3c281459;font-size:clamp(2.6rem,4vw + 1.5rem,4.5rem);line-height:1}.ui-mark-big .ui-mark-house{box-shadow:0 .09em #a7432f,0 .2em .45em #3c28144d}.ui-btn{border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--line-strong);min-height:44px;box-shadow:0 2px 0 var(--line-strong);transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease), background-color var(--fast) var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:1rem;font-weight:800;display:inline-flex}.ui-btn:hover:not(:disabled){box-shadow:0 3px 0 var(--line-strong), var(--shadow-soft);transform:translateY(-1px)}.ui-btn:active:not(:disabled){box-shadow:0 1px 0 var(--line-strong);transform:translateY(1px)}.ui-btn-primary{background:var(--green);border-color:var(--green-dark);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.ui-btn-primary:hover:not(:disabled){box-shadow:0 4px 0 var(--green-dark), var(--shadow-soft);background:#66bd73}.ui-btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--green-dark)}.ui-btn-danger{background:var(--brick);border-color:var(--brick-dark);color:#fff;box-shadow:0 3px 0 var(--brick-dark)}.ui-btn-danger-soft{color:var(--brick-dark)}.ui-btn-big{border-radius:16px;min-height:54px;padding:0 28px;font-size:1.15rem}.ui-link{min-height:32px;color:var(--ink-soft);text-underline-offset:3px;border-radius:8px;padding:4px 10px;font-size:.9rem;font-weight:700;text-decoration:underline}.ui-link:hover{color:var(--ink)}.ui-icon-btn{width:40px;height:40px;color:var(--ink);transition:background-color var(--fast) var(--ease), transform var(--fast) var(--ease), opacity var(--fast) var(--ease);border-radius:999px;place-items:center;display:grid}.ui-icon-btn:hover:not(:disabled){background:#3c281412}.ui-icon-btn:active:not(:disabled){background:#3c28141f;transform:scale(.92)}.ui-icon-btn:disabled{opacity:.32}.ui-icon-btn[aria-pressed=true]{color:var(--brick-dark)}.ui-screen{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);text-align:center;pointer-events:auto;place-content:center;justify-items:center;gap:20px;display:grid;position:absolute;inset:0}.ui-loading{background:radial-gradient(at 50% 30%,#ffffff8c,#0000 60%),linear-gradient(#bfe3ff,#d9efd0 70%,#8cc063)}.ui-progress{background:var(--panel);border:1px solid var(--line-strong);width:min(280px,70vw);height:14px;box-shadow:var(--shadow-soft);border-radius:999px;padding:3px}.ui-progress-fill{background:linear-gradient(90deg, var(--green), #8fd07a);width:0;height:100%;transition:width .2s var(--ease);border-radius:999px}.ui-progress-label{min-height:1.4em;color:var(--ink-soft);margin:0;font-weight:700}.ui-title{pointer-events:none;padding-top:max(4vh, var(--safe-top));background:linear-gradient(#ffffff2e,#0000 30%),linear-gradient(#0000 70%,#283c1e2e);flex-direction:column;justify-content:space-between;align-items:center;display:flex}.ui-title-bottom{animation:ui-rise .6s .12s var(--ease) both;justify-items:center;gap:10px;display:grid}.ui-version{color:var(--ink-faint);text-align:center;margin:0;font-size:.78rem;font-weight:700}.ui-title-version{right:max(14px, var(--safe-right));bottom:max(12px, var(--safe-bottom));color:#ffffffd9;text-shadow:0 1px 2px #1e321473;animation:ui-fade-in .6s .24s var(--ease) backwards;position:absolute}.ui-title-card{animation:ui-rise .6s var(--ease) both;justify-items:center;gap:10px;display:grid}.ui-tagline{background:var(--panel);box-shadow:var(--shadow-soft);color:var(--ink-soft);border-radius:999px;margin:4px 0 10px;padding:6px 14px;font-size:1rem;font-weight:700}.ui-title-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.ui-title-links{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ui-title-credits{background:var(--panel);box-shadow:var(--shadow-soft);text-decoration:none}.ui-author{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;padding-top:10px;display:flex}.ui-author-label{white-space:nowrap;color:var(--ink-faint);margin-right:4px;font-size:.78rem;font-weight:700}.ui-author-links{gap:2px;display:flex}.ui-author-link{width:32px;height:32px;color:var(--ink-soft);transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease);border-radius:8px;place-items:center;display:grid}.ui-author-link .ui-glyph{width:18px;height:18px}.ui-author-link:hover{color:var(--ink);background:#3c281412}.ui-error{background:linear-gradient(#bfe3ff,#d9efd0)}.ui-error-detail{color:var(--ink-soft);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.ui-error-detail:empty{display:none}.ui-hud{transition:opacity var(--fast) var(--ease), filter var(--fast) var(--ease)}.ui-hud[inert]{filter:saturate(.7)}.ui-topbar{top:var(--safe-top);left:var(--safe-left);right:var(--safe-right);height:var(--topbar-h);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.ui-brand{height:var(--topbar-h);min-width:var(--topbar-h);max-width:min(40vw,440px);transition:background-color var(--fast) var(--ease);flex:0 auto;padding:0 16px 0 8px;font-size:1.05rem}.ui-brand:hover{background:var(--panel-solid)}.ui-brand .ui-mark{min-width:0;max-width:100%;font-size:1.1rem}.ui-town-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-actions{height:var(--topbar-h);flex:none;gap:2px;padding:0 4px}.ui-time-btn[data-mode=day]{color:#b0701a}.ui-time-btn[data-mode=night]{color:#45559c}.ui-rain-btn[data-mode=on]{color:#3f6fa8}.ui-rain-btn[data-mode=off]{color:#8a8f99}.ui-dock-wrap{left:var(--safe-left);right:var(--safe-right);bottom:var(--safe-bottom);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.ui-fps{top:calc(var(--safe-top) + var(--topbar-h) + 10px);left:var(--safe-left);color:#fffaf0;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;background:#3b3a36c7;border-radius:999px;min-width:4.2em;margin:0;padding:4px 10px;font-size:.8rem;font-weight:700;position:absolute}.ui-fps:not(.is-on){display:none}.ui-hint{top:calc(var(--safe-top) + var(--topbar-h) + 10px);left:var(--gutter);right:var(--gutter);width:fit-content;max-width:calc(100% - 2 * var(--gutter));color:#fffaf0;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity .22s var(--ease), transform .22s var(--ease);background:#3b3a36c7;border-radius:999px;margin:0 auto;padding:6px 14px;font-size:.9rem;font-weight:700;position:absolute;overflow:hidden;transform:translateY(-6px)}.ui-hint.is-visible{opacity:1;transform:none}.ui-hint:empty{visibility:hidden}.ui-dock{pointer-events:auto;background:var(--panel);border:1px solid var(--line);max-width:100%;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;gap:6px;padding:8px;display:grid}.ui-tray{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;gap:6px;min-width:0;padding:4px 2px 2px;scroll-padding:0 2px;display:flex;overflow:auto hidden}.ui-tray::-webkit-scrollbar{display:none}.ui-tray.is-entering{animation:ui-tray-in var(--tray-slide) var(--ease)}.ui-card{border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--line);width:84px;height:72px;box-shadow:0 2px 0 var(--line-strong);scroll-snap-align:start;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease), border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);flex:none;grid-template-rows:44px auto;align-content:center;justify-items:center;gap:2px;padding:4px 3px 5px;display:grid;position:relative}.ui-card img{object-fit:contain;pointer-events:none;width:44px;height:44px;transition:transform var(--fast) var(--ease)}.ui-card-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;font-weight:800;line-height:1.1;overflow:hidden}.ui-card kbd{min-width:16px;height:16px;color:var(--ink-faint);text-align:center;background:#3c281412;border-radius:5px;padding:0 3px;font:800 .66rem/16px inherit;position:absolute;top:4px;right:5px}.ui-card:hover{box-shadow:0 4px 0 var(--line-strong), var(--shadow-soft);transform:translateY(-2px)}.ui-card:hover img{transform:scale(1.06)}.ui-card:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(1px)}.ui-card[aria-pressed=true]{background:var(--green-tint);border-color:var(--green);box-shadow:0 0 0 2px var(--green), 0 4px 0 var(--green-dark);transform:translateY(-3px)}.ui-card[aria-pressed=true] kbd{background:var(--green);color:#fff}.ui-card-variants{pointer-events:none;gap:2px;display:flex;position:absolute;top:7px;left:7px}.ui-card-variants i{background:var(--ink-faint);opacity:.7;border-radius:50%;width:4px;height:4px}.ui-card[aria-pressed=true] .ui-card-variants i{background:var(--green-dark);opacity:1}.ui-variants{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;border-radius:16px;gap:6px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 10px);left:0}.ui-variants:after{content:"";top:100%;left:var(--caret-x,50%);background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;transform:rotate(45deg)}.ui-variants.is-entering{animation:ui-variants-in .16s var(--ease)}.ui-chip{border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--line);width:44px;height:44px;box-shadow:0 2px 0 var(--line-strong);transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease), border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);place-items:center;display:grid}.ui-chip img{object-fit:contain;pointer-events:none;width:36px;height:36px}.ui-chip:hover{box-shadow:0 4px 0 var(--line-strong), var(--shadow-soft);transform:translateY(-2px)}.ui-chip:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(1px)}.ui-chip[aria-pressed=true]{background:var(--green-tint);border-color:var(--green);color:var(--green-dark);box-shadow:0 0 0 2px var(--green), 0 3px 0 var(--green-dark);transform:translateY(-2px)}.ui-tabbar{justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.ui-tabs,.ui-modes{gap:4px;min-width:0;display:flex}.ui-tabs{flex:0 auto}.ui-tab,.ui-mode{border-radius:var(--radius-sm);white-space:nowrap;height:40px;color:var(--ink-soft);transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease), opacity var(--fast) var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.92rem;font-weight:800;display:inline-flex}.ui-tab .ui-glyph,.ui-mode .ui-glyph{width:20px;height:20px}.ui-tab:hover,.ui-mode:hover{color:var(--ink);background:#3c281412}.ui-tab:active,.ui-mode:active{transform:scale(.96)}.ui-tab{position:relative}.ui-tab[aria-pressed=true]{background:var(--green-tint);color:var(--green-dark)}.ui-tab[aria-pressed=true]:after{content:"";background:var(--green);border-radius:3px;height:3px;position:absolute;bottom:3px;left:14%;right:14%}.ui-tray-frame{min-width:0;position:relative}.ui-tray-frame:before,.ui-tray-frame:after{content:"";pointer-events:none;opacity:0;width:28px;transition:opacity var(--fast) var(--ease);z-index:1;position:absolute;top:0;bottom:0}.ui-tray-frame:before{background:linear-gradient(90deg, var(--panel-solid), #fff9ef00);left:-1px}.ui-tray-frame:after{background:linear-gradient(270deg, var(--panel-solid), #fff9ef00);right:-1px}.ui-tray-frame.has-more-left:before,.ui-tray-frame.has-more-right:after{opacity:1}.ui-tray-arrow{z-index:2;background:var(--panel-solid);border:1px solid var(--line-strong);width:30px;height:44px;box-shadow:0 2px 0 var(--line-strong), var(--shadow-soft);color:var(--ink);animation:ui-arrow-in var(--fast) var(--ease);transition:transform var(--fast) var(--ease), background-color var(--fast) var(--ease);border-radius:999px;place-items:center;margin-top:-20px;display:grid;position:absolute;top:50%}.ui-tray-prev{left:-4px}.ui-tray-next{right:-4px}.ui-tray-arrow:hover{background:var(--card);transform:scale(1.06)}.ui-tray-arrow:active{transform:scale(.96)}@keyframes ui-arrow-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.ui-tray-arrow{transition:none;animation:none}}.ui-mode.is-idle{opacity:.55}.ui-rot{transition:transform .12s var(--ease);display:inline-block}.ui-mode-danger[aria-pressed=true]{background:var(--brick);color:#fff;box-shadow:inset 0 -2px 0 var(--brick-dark)}.ui-mode-move[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:inset 0 -2px #2f78bf}.ui-tooltip{z-index:5;color:#fffaf0;max-width:min(280px,100vw - 16px);box-shadow:var(--shadow-soft);pointer-events:none;background:#3b3a36eb;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 6px;font-size:.88rem;font-weight:700;display:flex;position:fixed;top:0;left:0}.ui-tooltip-x{background:var(--brick);color:#fff;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;display:grid}.ui-tooltip-x .ui-glyph{stroke-width:3px;width:14px;height:14px}.ui-tooltip.is-shaking .ui-tooltip-x{animation:.26s ease-in-out ui-shake}.ui-modal{z-index:10;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);pointer-events:auto;animation:ui-fade .16s var(--ease);background:#2e261c4d;place-items:center;display:grid;position:absolute;inset:0}.ui-panel{background:var(--panel-solid);border:1px solid var(--line);width:min(360px,100%);max-height:100%;box-shadow:var(--shadow);text-align:left;animation:ui-pop .2s var(--ease);pointer-events:auto;-webkit-user-select:text;user-select:text;border-radius:20px;gap:10px;padding:20px;display:grid;overflow:auto}.ui-panel-wide{width:min(640px,100%)}.ui-panel h2{margin:0 0 4px;font-size:1.35rem;font-weight:900}.ui-panel h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 6px;font-size:.8rem;font-weight:900}.ui-panel p{color:var(--ink-soft);margin:0}.ui-credits{gap:14px;width:min(480px,100%)}.ui-credits>section{gap:4px;display:grid}.ui-credits h3{margin:0}.ui-credits p,.ui-credits-list{font-size:.9rem;line-height:1.4}.ui-credits-list{color:var(--ink-soft);gap:2px;margin:0;padding-left:1.1em;display:grid}.ui-panel a{color:var(--ink);text-underline-offset:2px;border-radius:4px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.ui-panel a:hover{color:var(--brick)}.ui-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ui-field{border-radius:var(--radius-sm);background:#3c28140a;align-items:center;gap:10px;min-height:44px;padding:0 12px;font-weight:800;display:flex}.ui-field label{align-items:center;gap:8px;display:inline-flex}.ui-field input[type=range]{min-width:0;height:44px;accent-color:var(--green);cursor:pointer;flex:1}.ui-check{cursor:pointer}.ui-check input{width:44px;height:26px;accent-color:var(--green);cursor:pointer;margin-left:auto}.ui-seg-field{justify-content:space-between;gap:8px;padding-right:4px}.ui-seg-label{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.ui-seg{background:#3c281412;border-radius:999px;flex:none;gap:2px;padding:3px;display:flex}.ui-seg-opt{min-width:52px;height:36px;color:var(--ink-soft);cursor:pointer;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:999px;place-items:center;padding:0 10px;font-size:.88rem;font-weight:800;display:grid;position:relative}.ui-seg-opt input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.ui-seg-opt:hover{color:var(--ink)}.ui-seg-opt:has(input:checked){background:var(--card);color:var(--green-dark);box-shadow:0 1px 0 var(--line-strong), 0 0 0 1px var(--line)}.ui-seg-opt:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:1px}.ui-field-sub{color:var(--ink-soft);margin-top:-6px;padding-left:42px;font-size:.92rem;font-weight:700}.ui-field input[type=range]:disabled{opacity:.45;cursor:default}.ui-menu-panel{flex-direction:column;width:min(380px,100%);display:flex}.ui-menu-panel>*{flex:none}.ui-menu-tabs{background:#3c281412;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-top:6px;padding:3px;display:grid}.ui-menu-tab{min-width:0;height:54px;color:var(--ink-soft);transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 4px;font-size:.82rem;font-weight:800;line-height:1.15;display:flex}.ui-menu-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ui-menu-tab:hover{color:var(--ink)}.ui-menu-tab[aria-selected=true]{background:var(--card);color:var(--green-dark);box-shadow:0 1px 0 var(--line-strong), 0 0 0 1px var(--line)}#ui-root .ui-menu-tab:focus-visible{outline-offset:1px}.ui-menu-pages{flex:0 auto;min-height:0;margin:0 -6px -6px;padding:2px 6px 6px;display:grid;overflow:hidden auto}.ui-menu-page{grid-area:1/1;align-content:start;gap:10px;min-width:0;display:grid}.ui-menu-page .ui-btn{white-space:nowrap}.ui-menu-page .ui-row .ui-btn{gap:6px;padding:0 10px}#ui-root .ui-menu-page[hidden]{visibility:hidden;display:grid!important}.ui-panel p.ui-graphics-desc{min-height:2.7em;margin-top:-2px;padding:0 4px;font-size:.88rem;line-height:1.35}.ui-graphics-live:has(>[hidden]){margin-top:-10px}.ui-graphics-reload{border-radius:var(--radius-sm);background:#fdf3d6;border:1px solid #d6a02859;align-items:center;gap:10px;padding:8px 8px 8px 12px;display:flex}.ui-panel .ui-graphics-reload p{min-width:0;color:var(--ink);flex:1;font-size:.88rem;font-weight:700;line-height:1.3}.ui-graphics-reload .ui-btn{flex:none;padding:0 14px}.ui-help-cols{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.ui-help-cols dl{grid-template-columns:auto 1fr;gap:5px 12px;margin:0;font-size:.9rem;display:grid}.ui-help-cols dt{white-space:nowrap;font-weight:900}.ui-help-cols dd{color:var(--ink-soft);margin:0}.ui-photo-panel{justify-items:center;gap:12px;width:min(600px,100%)}.ui-photo-panel h2{justify-self:start}.ui-print{width:min(100%, calc((100dvh - 290px) * var(--print-ar,1.45)));aspect-ratio:var(--print-ar,1.45);animation:ui-print-drop .46s var(--ease);background:linear-gradient(#fffbf3,#fbf1df);border-radius:3px;margin:10px 0 2px;position:relative;transform:rotate(-1.6deg);box-shadow:0 12px 26px #3c281438,0 2px 4px #3c281424}.ui-print img{border-radius:3px;width:100%;height:100%;animation:1.2s ease-out ui-develop;display:block}.ui-print[data-state=developing]:before,.ui-print[data-state=error]:before{content:"";background:linear-gradient(110deg,#d8cdbb 30%,#e9e0d0 50%,#d8cdbb 70%) 0 0/220% 100%;animation:1.4s linear infinite ui-shimmer;position:absolute;inset:3.5% 3.5% 16%}.ui-print[data-state=error]:before{animation:none}.ui-print-tape{z-index:1;clip-path:polygon(3% 0,97% 0,100% 50%,97% 100%,3% 100%,0 50%);background:#f4c44e9e;width:104px;height:28px;position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(3deg);box-shadow:0 1px 2px #3c281424}.ui-panel p.ui-photo-status{text-align:center;overflow-wrap:anywhere;min-height:1.35em;font-size:.9rem;font-weight:700}.ui-photo-actions{gap:8px;width:100%;display:flex}.ui-photo-actions .ui-btn{flex:1 1 0}.ui-name-form{gap:10px;display:grid}.ui-name-field{align-items:center;gap:6px;display:flex}.ui-name-field input{border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);-webkit-user-select:text;user-select:text;flex:1;min-width:0;height:50px;padding:0 14px;font-size:1.2rem;font-weight:800}.ui-name-field input:focus{border-color:var(--blue)}.ui-name-field .ui-icon-btn{flex:none;width:44px;height:44px}.ui-name-panel[data-mode=rename] .ui-size-field{display:none}.ui-panel p.ui-name-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;justify-self:end;margin-top:-6px;font-size:.8rem;font-weight:700}.ui-btn:disabled{opacity:.45;cursor:default}.ui-town-file-row{display:none}.ui-panel p.ui-file-status{text-align:center;overflow-wrap:anywhere;min-height:1.35em;font-size:.9rem;font-weight:700}.ui-panel p.ui-file-status[data-state=error]{color:var(--brick-dark)}.ui-panel p.ui-file-when{font-size:.9rem}.ui-flash{z-index:20;opacity:0;pointer-events:none;background:#fffdf6;position:absolute;inset:0}.ui-flash.is-on{animation:.38s ease-out ui-flash}@keyframes ui-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes ui-variants-in{0%{opacity:0;transform:translateY(8px)}}@keyframes ui-tray-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes ui-flash{0%{opacity:.85}to{opacity:0}}@keyframes ui-print-drop{0%{opacity:0;transform:translateY(-22px)rotate(-6deg)scale(1.03)}}@keyframes ui-develop{0%{opacity:.35;filter:brightness(1.45)saturate(0)sepia(.25)}}@keyframes ui-shimmer{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){#ui-root *,#ui-root :before,#ui-root :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}#ui-root .ui-flash{display:none}}@media (width<=760px),(pointer:coarse){#ui-root{--topbar-h:52px}.ui-tray-arrow{width:44px}.ui-icon-btn{width:44px;height:44px}.ui-seg-opt{min-width:48px;height:44px;padding:0 8px}.ui-dock-wrap{gap:6px;bottom:0;left:0;right:0}.ui-hint{font-size:.82rem}.ui-dock{width:100%;padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-bottom:0;border-radius:20px 20px 0 0}.ui-card{grid-template-rows:50px auto;width:80px;height:78px}.ui-card img{width:50px;height:50px}.ui-tab,.ui-mode{flex-direction:column;flex:auto;gap:1px;min-width:44px;height:48px;padding:0 2px;font-size:.72rem}.ui-sep{margin:6px 0}.ui-tab span,.ui-mode-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.ui-tabbar,.ui-tabs,.ui-modes{gap:2px}.ui-tabs{flex:5 auto}.ui-modes{flex:3 auto}.ui-card kbd{display:none}.ui-help-cols{grid-template-columns:1fr}.ui-tagline{border-radius:16px;font-size:.92rem}.ui-title{padding-top:max(7vh, var(--safe-top))}.ui-mark-big{font-size:clamp(2.4rem,12vw,3.6rem)}}@media (pointer:coarse){.ui-card kbd{display:none}.ui-help-cols>:last-child{order:-1}}@media (width<=440px){.ui-topbar{gap:6px}.ui-tab,.ui-mode{font-size:.66rem}.ui-town-file-btn,.ui-rain-btn{display:none}.ui-town-file-row{display:inline-flex}.ui-brand{max-width:none;padding:0 10px 0 6px}.ui-brand .ui-mark{gap:.24em;font-size:.95rem}}@media (width<=399px){.ui-brand .ui-mark-text{display:none}.ui-brand{width:var(--topbar-h);justify-content:center;padding:0}}@media (width<=380px){.ui-card{grid-template-rows:1fr;width:64px;height:64px}.ui-card-label{display:none}}@media (width<=389px){.ui-tabbar{flex-wrap:wrap;row-gap:4px}.ui-tabs,.ui-modes{flex:100%}.ui-sep{display:none}}@media (hover:hover) and (pointer:fine){.ui-mode-rotate{display:none}}@media (hover:hover) and (pointer:fine) and (width<=760px){.ui-modes{flex:2 auto}}:root{--panel:#fff9efeb;--panel-solid:#fff9ef;--card:#fffdf8;--line:#3c281414;--line-strong:#3c281429;--shadow:0 8px 22px #3c281429, 0 1px 3px #3c28141f;--shadow-soft:0 3px 8px #3c28141a;--ink:#3b3a36;--ink-soft:#6f685c;--ink-faint:#a39a8a;--green:#5db36a;--green-dark:#3e8d4c;--green-tint:#eaf6e8;--blue:#4a9be8;--brick:#e0674f;--brick-dark:#b84a35;--brick-tint:#fcebe6;--sun:#f4c44e;--radius:16px;--radius-sm:12px;--ease:cubic-bezier(.2, .8, .2, 1);--fast:.14s;--tray-slide:.18s;--gutter:12px;--topbar-h:48px;--safe-top:max(var(--gutter), env(safe-area-inset-top));--safe-right:max(var(--gutter), env(safe-area-inset-right));--safe-bottom:max(var(--gutter), env(safe-area-inset-bottom));--safe-left:max(var(--gutter), env(safe-area-inset-left));color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Nunito Variable,Nunito,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.35}*{box-sizing:border-box}html,body,#app{background:#bfe3ff;width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none}#game-canvas{touch-action:none;outline:none;width:100vw;height:100vh;display:block}#ui-root{pointer-events:none;position:absolute;inset:0}
