@font-face{font-family:Fredoka;src:url(/fonts/fredoka-latin.woff)format("woff");font-weight:500 700;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff)format("woff");font-weight:400 600;font-display:swap}:root{--ink:#1f3a34;--cream:#fff6e3;--mint:#3ba99c;--tile:#e5673c;--beak:#ffb52e;--sun:#ffd36b;--paper:#fffdf8;--line:#1f3a341f;--muted:#1f3a34ad;--display:Fredoka, "Trebuchet MS", sans-serif;--body:Inter, "Segoe UI", sans-serif;--nav-h:56px;color:var(--ink);font-family:var(--body);background:var(--cream);font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body{touch-action:manipulation;background:var(--cream);height:100%;margin:0;overflow:hidden}body{min-height:100%}button,input,select,textarea{font:inherit;color:inherit;font-size:16px}h1,h2,.tagline,.word{font-family:var(--display)}h1{margin:0;font-size:2.1rem;font-weight:700;line-height:1.05}h2{margin:0 0 8px;font-size:1.2rem;font-weight:700}p{margin:0}a{color:inherit}.skip{z-index:5;background:var(--sun);border-radius:12px;padding:8px 12px;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}#root{height:100%;min-height:100%}.app,.gate{background:var(--cream);height:100%;min-height:100%}.app{padding-bottom:var(--nav-h);flex-direction:column;display:flex;position:relative;overflow:hidden}.app main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:0 18px 28px;overflow-y:auto}:is(.app main:has(>.town-page),.app main:has(>.house-page)){flex-direction:column;padding:0;display:flex;overflow:hidden}.town-page{flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.town-chrome{z-index:5;pointer-events:none;flex-direction:column;gap:8px;padding:12px 14px 10px;display:flex;position:absolute;top:0;left:0;right:0}.town-chrome:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#fff6e3 0% 34%,#fff6e3f0 46%,#fff6e3d1 57%,#fff6e3a6 67%,#fff6e373 77%,#fff6e342 86%,#fff6e31a 94%,#fff6e300 100%);position:absolute;inset:0 0 -34px}.town-chrome>*{pointer-events:auto}.town-toolbar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.town-toolbar h1{font-size:1.4rem}.town-toolbar-end{flex:none;align-items:center;gap:8px;display:inline-flex}.town-presence-chip{flex:none;gap:6px}.town-presence-icon{opacity:.9;flex:none;display:block}.presence-wrap{display:inline-flex;position:relative}.chip.presence-btn{appearance:none;cursor:pointer;font:inherit;border:0}.presence-pop{z-index:40;color:#f6efdf;background:#1b2925;border-radius:16px;width:min(340px,100vw - 32px);max-height:60vh;padding:14px 14px 16px;position:fixed;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 10px 28px #00000059}.presence-title{opacity:.7;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px 6px;font-size:.78rem}.presence-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.presence-list li{border-radius:10px;align-items:center;gap:6px;padding:2px 4px 2px 14px;display:flex}.presence-list li.me{background:#ffffff12}.presence-name{white-space:nowrap;flex:1;align-items:center;gap:12px;min-width:0;display:inline-flex}.presence-name .plaza-dot{flex:none}.presence-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.presence-name small{opacity:.65}.presence-act{appearance:none;cursor:pointer;width:32px;height:32px;color:inherit;background:#ffffff1a;border:0;border-radius:9px;flex:none;place-items:center;display:grid}.presence-act:hover:not(:disabled){background:#fff3}.presence-act:disabled{opacity:.3;cursor:default}.chip.town-tasks-chip{appearance:none;cursor:pointer;font:inherit;background:var(--ink);color:var(--cream);border:0;gap:6px}.chip.town-tasks-chip:hover{filter:brightness(1.08)}.chip.town-tasks-chip .house-tasks-badge{background:var(--tile);color:#fff}.title-with-mark{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.title-with-mark .mascot{flex:none;display:block}.title-with-mark h1{min-width:0}.town-actions{flex-wrap:wrap;gap:8px;display:flex}.town-stage{background:#9fd6ef;border:0;border-radius:0;flex:auto;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.town-stage>div{inset:0;width:100%!important;height:100%!important;position:absolute!important}.town-stage canvas{display:block;width:100%!important;height:100%!important}.town-stage-loading{color:var(--muted);place-items:center;font-weight:600;display:grid}.town-overlay-panel{z-index:6;max-height:36%;margin:0;position:absolute;bottom:12px;left:12px;right:12px;overflow:auto}.shop-overlay{z-index:1100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f5;border:1px solid #1f3a341a;border-radius:22px;flex-direction:column;gap:12px;width:min(400px,100% - 28px);max-height:min(68vh,520px);padding:18px 16px 14px;display:flex;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #1f3a3429}.shop-overlay-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.shop-overlay-head h2{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700}.shop-close,.shop-x{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;font-size:1.35rem;line-height:1;display:grid}.shop-close:hover,.shop-x:hover{color:var(--ink);background:#1f3a340f}.shop-compose-overlay{background:#1f3a340a;border-radius:16px;grid-template-columns:1fr 56px;align-items:stretch;gap:8px;padding:8px;display:grid}.shop-compose-overlay input{background:var(--paper);border:0;border-radius:12px;outline:none;min-height:44px;padding:0 12px;font-size:16px}.shop-qty-input{text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);padding-inline:4px!important}.shop-add{background:var(--ink);min-height:44px;color:var(--cream);white-space:nowrap;cursor:pointer;border:0;border-radius:12px;grid-column:1/-1;padding:0 16px;font-size:1rem;font-weight:600;line-height:1}.shop-add:disabled{opacity:.4;cursor:not-allowed}@media (width>=480px){.shop-compose-overlay{grid-template-columns:1fr 52px auto;align-items:center;gap:6px;padding:4px}.shop-compose-overlay input{background:0 0;min-height:40px}.shop-add{grid-column:auto;min-height:36px;padding:0 14px;font-size:.9rem}}.shop-overlay-body{flex-direction:column;flex:auto;gap:6px;min-height:0;display:flex;overflow:auto}.shop-empty{text-align:center;color:var(--muted);margin:8px 0 4px;font-size:.92rem}.shop-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.shop-row{border-bottom:1px solid #1f3a340f;justify-content:space-between;align-items:center;gap:4px;padding:8px 2px;display:flex}.shop-row:last-child{border-bottom:0}.shop-item{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.shop-item input{width:18px;height:18px;accent-color:var(--mint);flex:none}.shop-item-main{flex-direction:column;gap:1px;min-width:0;display:flex}.shop-item-line{align-items:baseline;gap:8px;min-width:0;display:flex}.shop-qty-badge{font-variant-numeric:tabular-nums;min-width:1.1em;color:var(--mint);flex:none;font-size:.85rem;font-weight:700}.shop-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:600;overflow:hidden}.shop-item-main small{color:var(--muted);font-size:.75rem;font-weight:500}.shop-row-done .shop-item-name{color:var(--muted);font-weight:500;text-decoration:line-through}.shop-row-done .shop-qty-badge{color:var(--muted)}.shop-done-block{border-top:1px dashed #1f3a341f;margin-top:10px;padding-top:8px}.shop-done-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;font-size:.78rem;font-weight:600;display:flex}.shop-text-btn{color:var(--muted);font:inherit;letter-spacing:0;text-transform:none;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:600}.shop-text-btn:hover{color:var(--ink)}.shop-text-btn:disabled{opacity:.45;cursor:not-allowed}.invite-links{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 14px;display:flex}.invite-links .invite-remove{color:var(--tile)}.invite-links .invite-remove:hover{color:var(--tile);filter:brightness(.9)}.resto-overlay{z-index:1100;max-height:min(78vh,620px)}.resto-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.resto-day{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;gap:2px;padding:6px 2px;font-size:.72rem;display:grid}.resto-day strong{color:var(--ink);font-size:.95rem;font-weight:700}.resto-day-on{color:var(--ink);background:#1f3a341a}.resto-meals{grid-template-columns:1fr 1fr;gap:6px;display:grid}.resto-meal{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:#1f3a340d;border:0;border-radius:12px;font-weight:600}.resto-meal-on{background:var(--ink);color:var(--cream)}.resto-body{gap:12px}.resto-card{background:#1f3a340d;border-radius:16px;gap:10px;padding:12px;display:grid}.resto-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.resto-row .resto-label{min-width:64px}.resto-chosen{background:#f0835724;border-radius:16px;gap:6px;padding:12px;display:grid}.resto-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600;display:block}.resto-attendance,.resto-recipe-mode,.resto-vote-row{flex-wrap:wrap;gap:6px;display:flex}.resto-att{min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:#1f3a340f;border:0;border-radius:999px;padding:0 12px;font-weight:600}.resto-att-on{background:var(--ink);color:var(--cream)}.resto-att-summary{color:var(--muted);margin:0;font-size:.85rem;line-height:1.35}.resto-section h3,.resto-propose h3{margin:0 0 8px;font-size:.95rem}.resto-proposals{gap:10px;margin:0;padding:0;list-style:none;display:grid}.resto-proposal{background:#1f3a340a;border-radius:14px;gap:8px;padding:10px 12px;display:grid}.resto-proposal-main{gap:2px;display:grid}.resto-proposal-main small{color:var(--muted);font-size:.8rem}.resto-propose{gap:8px;padding-top:4px;display:grid}.resto-propose input,.resto-propose select,.resto-propose textarea,.resto-new-recipe input,.resto-new-recipe textarea{box-sizing:border-box;width:100%;min-height:40px;font:inherit;resize:vertical;background:#1f3a340d;border:0;border-radius:12px;outline:none;padding:10px 12px;font-size:16px}.resto-new-recipe{gap:8px;display:grid}.town-hint{z-index:5;text-align:center;pointer-events:none;text-shadow:0 1px 2px #fff6e3e6;margin:0;position:absolute;bottom:10px;left:12px;right:12px}.joystick{left:18px;bottom:calc(var(--nav-h) + 18px);touch-action:none;z-index:1000;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;isolation:isolate;background:#1f3a3447;border:2px solid #1f3a3466;border-radius:999px;place-items:center;width:108px;height:108px;display:grid;position:fixed;transform:translateZ(0)}.joystick-knob{pointer-events:none;will-change:transform;background:#fff6e3eb;border:2px solid #1f3a3459;border-radius:999px;width:44px;height:44px;box-shadow:0 2px 8px #1f3a3433}@media (width>=768px){.town-chrome{padding:16px 22px 14px}.town-toolbar h1{font-size:1.75rem}.town-actions .btn{min-height:44px;padding-inline:16px}.town-hint{font-size:1rem;bottom:16px}.town-overlay-panel{width:min(420px,42vw);max-height:40%;left:24px;right:auto}.town-overlay-panel.shop-overlay{width:min(400px,42vw);max-height:min(70vh,540px);inset:50% auto auto 50%}.joystick{width:128px;height:128px;left:28px;bottom:calc(var(--nav-h) + 24px)}}@media (width>=1024px){.town-chrome{padding:18px 28px 16px}.town-toolbar h1{font-size:1.9rem}.joystick{width:140px;height:140px;left:36px}}@media (width>=768px) and (orientation:landscape){.town-chrome{max-width:56%}}.chat-page{min-height:100%}.chat-log{flex-direction:column;gap:10px;min-height:240px;max-height:45vh;display:flex;overflow:auto}.chat-panel-log{flex:auto;min-height:160px;max-height:min(42vh,320px);padding:4px 2px}.chat-mine,.chat-theirs{margin:0}.chat-mine{color:var(--ink)}.chat-compose{grid-template-columns:1fr auto;gap:8px;display:grid}.chat-compose input{border:1px solid var(--line);background:var(--paper);border-radius:14px;min-height:48px;padding:0 12px}.avatar-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8f5;border:1px solid #1f3a341f;border-radius:12px;flex-direction:column;gap:4px;min-width:7.25rem;padding:3px;display:flex;box-shadow:0 6px 16px #1f3a3424}.avatar-action-btn{appearance:none;min-height:28px;color:var(--ink);font:inherit;font-family:var(--display);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:.72rem;font-weight:700}.chat-incoming{z-index:1300;left:50%;bottom:calc(var(--nav-h) + 72px);background:#fffdf8f7;border:1px solid #1f3a341f;border-radius:18px;flex-direction:column;gap:8px;width:min(360px,100% - 28px);padding:12px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #1f3a3429}.chat-incoming p{margin:0;font-weight:600}.chat-incoming .actions{gap:8px;display:flex}.chat-incoming .actions .btn{flex:1}.avatar-action-btn:hover{background:#1f3a3414}.avatar-action-btn:first-child{background:var(--ink);color:var(--cream)}.avatar-action-btn:first-child:hover{background:#18302b}.gate{flex-direction:column;gap:16px;padding:36px 22px 48px;display:flex}.avatar-body-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.avatar-body-option{appearance:none;border:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;padding:18px 12px;font-size:1.05rem;font-weight:650;transition:border-color .15s,background .15s,transform .12s}.avatar-body-option:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px)}.avatar-body-option.is-picked{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 10%, var(--paper));outline:none}.avatar-body-option:disabled{opacity:.7;cursor:wait}.brand-lockup{flex-direction:row;justify-content:flex-start;align-items:center;gap:4px 16px;min-height:88px;display:flex}.brand-lockup .mascot{flex:none;margin-top:2px;margin-right:-6px}.brand-lockup .word{font-size:clamp(2.1rem,8.5vw,2.85rem);line-height:.85}.word{letter-spacing:-.03em;margin:0;font-size:2.7rem;font-weight:700;line-height:.9;display:flex}.word .a,.word .t{display:flex}.word .gap{width:.28em}.word b{font-weight:700;animation:.45s both rise;display:inline-block}.word .a b{color:var(--ink)}.word .t b{color:var(--tile)}.word .a b:first-child{transform:rotate(-6deg)translateY(2px)}.word .a b:nth-child(2){animation-delay:40ms;transform:translateY(-6px)}.word .a b:nth-child(3){animation-delay:80ms;transform:rotate(5deg)translateY(4px)}.word .a b:nth-child(4){animation-delay:.12s;transform:rotate(-4deg)translateY(-4px)}.word .t b:first-child{transform:rotate(5deg)translateY(-3px)}.word .t b:nth-child(2){animation-delay:50ms;transform:rotate(-5deg)translateY(4px)}.word .t b:nth-child(3){animation-delay:.1s;transform:translateY(-6px)}.word .t b:nth-child(4){animation-delay:.14s;transform:rotate(6deg)translateY(2px)}@keyframes rise{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.tagline{max-width:16ch;font-size:1.25rem;font-weight:500}.card{background:var(--paper);border:1px solid var(--line);border-radius:28px;flex-direction:column;gap:12px;padding:16px;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;font-size:.92rem;font-weight:600;display:flex}.field span{font-family:var(--body)}.field input,.field select,.code{background:#fff;border:1.5px solid #1f3a342e;border-radius:16px;min-height:48px;padding:0 14px;font-weight:500}.code{letter-spacing:.18em;text-transform:uppercase;font-family:var(--display);font-size:1.3rem}.hint{color:var(--muted);font-size:.92rem;font-weight:400}.field .hint{font-weight:400}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions .btn{flex:1}.btn{cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:16px;min-height:48px;padding:0 16px;font-weight:600}.btn.primary{background:var(--ink);color:var(--cream)}.btn.quiet{background:0 0;border-color:#1f3a3438}.btn.danger{color:var(--tile)}.btn:disabled{opacity:.45;cursor:not-allowed}:focus,:focus-visible{outline:none}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{box-shadow:none}.switcher{gap:8px;display:flex}.switcher button{cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;min-height:40px;padding:0 2px 6px;font-weight:600}.switcher button[aria-pressed=true]{border-color:var(--tile)}.note{background:#ffd36b8c;border-radius:16px;padding:12px 14px}.note.bad{background:#e5673c29}.note.good{background:#3ba99c33}.sun-stage{background:radial-gradient(circle at 78% 28%, #fff6e38c, transparent 42%), var(--sun);border-radius:0;height:188px;margin:0 -18px 16px;position:relative;overflow:hidden}.town-backdrop{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sun-hero{z-index:1;place-items:center;height:100%;display:grid;position:relative}.sun-hero .mascot{filter:drop-shadow(0 10px 18px #1f3a342e);animation:4.5s ease-in-out infinite float-mascot}@media (prefers-reduced-motion:reduce){.sun-hero .mascot{animation:none}}@keyframes float-mascot{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.home-head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.chip{background:#3ba99c38;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:.92rem;font-weight:600;display:inline-flex}.member{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.member strong{display:block}.member small{color:var(--muted)}.banner{background:var(--sun);margin:0;padding:10px 18px;font-weight:600}.push-prompt{z-index:1200;padding:18px 18px calc(18px + var(--nav-h) + env(safe-area-inset-bottom));isolation:isolate;pointer-events:auto;background:#1f3a3447;place-items:end center;display:grid;position:fixed;inset:0;transform:translateZ(0)}.push-prompt-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;width:min(100%,420px);padding:20px 18px 16px;box-shadow:0 16px 40px #1f3a342e}.push-prompt-card h2{margin:0 0 8px;font-size:1.35rem}.push-prompt-card p{color:var(--muted);margin:0 0 14px}.push-prompt-card .actions{flex-direction:column;gap:8px;display:flex}.push-prompt-card .actions .btn{width:100%}.nav{z-index:20;height:var(--nav-h);box-sizing:border-box;border-top:1px solid var(--line);background:#fff6e3f5;grid-template-columns:repeat(4,1fr);align-items:stretch;gap:2px;padding:0 4px;display:grid;position:absolute;bottom:0;left:0;right:0}.nav a,.nav button{height:100%;min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 0;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}@media (width<=768px){:root{--nav-safe-bottom:max(4px, calc(env(safe-area-inset-bottom,0px) - 14px));--nav-h:calc(52px + var(--nav-safe-bottom))}.nav{padding-bottom:var(--nav-safe-bottom)}.nav a,.nav button{padding:2px 0 0}}.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page] svg{stroke:var(--tile)}.nav button:disabled{opacity:.38;cursor:not-allowed}.nav svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.toggle{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--ink)}@media (width>=840px){body{background:var(--cream);background-image:none;padding:0;display:block}body:has(.town-page){background:#9fd6ef}body:has(.house-page){background:#cfe0ef}#root{width:100%;height:100%;min-height:100dvh;box-shadow:none;background:var(--cream);border-radius:0;overflow:hidden}.app,.gate{height:100dvh;min-height:100dvh;max-height:none}.app{height:100%}.gate{justify-content:center;width:min(440px,100%);margin-inline:auto}.app main{width:min(560px,100%);margin-inline:auto}:is(.app main:has(>.town-page),.app main:has(>.house-page)){width:100%;margin-inline:0}:is(body:has(.town-page) .app,body:has(.house-page) .app){padding-bottom:0}.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff6e3e0}}.house-page{background:#cfe0ef;flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.house-title-bar{z-index:30;top:calc(12px + env(safe-area-inset-top,0px));pointer-events:none;max-width:min(70vw,20rem);position:fixed;left:14px;right:auto}.house-title-bar>*{pointer-events:auto}.house-chrome{z-index:30;top:auto;left:0;right:0;bottom:calc(var(--nav-h) + 8px);pointer-events:none;background:0 0;flex-direction:column;gap:8px;padding:0 14px;display:flex;position:fixed}.house-chrome>*{pointer-events:auto}.house-toolbar{justify-content:center;align-items:center;gap:10px;display:flex}.house-toolbar-title{min-width:0;max-width:min(52vw,16rem)}.house-page{--house-top-chip-h:36px}.house-title-bar .title-with-mark{max-width:100%;height:var(--house-top-chip-h);box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8eb;border:1px solid #1f3a341a;border-radius:999px;gap:6px;padding:0 12px 0 6px;box-shadow:0 8px 22px #1f3a341a}.house-title-bar .title-with-mark .mascot{width:24px;height:24px}.house-toolbar-title h1,.house-title-bar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700;line-height:1.15;overflow:hidden}.house-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8eb;border:1px solid #1f3a341a;border-radius:999px;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:2px;padding:3px;display:inline-flex;box-shadow:0 8px 22px #1f3a341a}.house-chip-btn{appearance:none;min-height:34px;color:var(--ink);font:inherit;font-family:var(--display);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.88rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.house-chip-btn:hover{background:#1f3a340f}.house-chip-btn:active{background:#1f3a341a}.house-door-dock{z-index:30;top:calc(12px + env(safe-area-inset-top,0px));height:var(--house-top-chip-h);box-sizing:border-box;pointer-events:auto;background:#fffdf8f5;border:1px solid #1f3a341f;border-radius:999px;align-items:stretch;gap:0;padding:3px;display:inline-flex;position:fixed;bottom:auto;left:auto;right:14px;transform:none;box-shadow:0 6px 18px #1f3a341f}.house-door-dock-chip{z-index:30;top:calc(12px + env(safe-area-inset-top,0px));pointer-events:none;position:fixed;bottom:auto;left:auto;right:14px;transform:none}.house-door-btn{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;height:100%;min-height:0;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex}.house-door-btn[aria-pressed=true]{background:var(--ink);color:var(--cream)}.house-door-btn:disabled{opacity:.55;cursor:not-allowed}.house-door-chip{height:var(--house-top-chip-h);min-height:var(--house-top-chip-h);box-sizing:border-box;color:var(--muted);background:#fffdf8eb;border:1px solid #1f3a341f;border-radius:999px;align-items:center;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 6px 18px #1f3a341a}.house-stage{background:#1b2421;flex:auto;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.house-stage>div{inset:0;width:100%!important;height:100%!important;position:absolute!important}.house-stage canvas{display:block;width:100%!important;height:100%!important}.house-stage-loading{color:var(--muted);place-items:center;font-weight:600;display:grid}.town-overlay-panel.shop-overlay.house-sheet{top:auto;bottom:calc(var(--nav-h) + 64px);z-index:1100;border-radius:22px;width:min(420px,100% - 24px);max-height:min(58vh,520px);left:50%;right:auto;transform:translate(-50%)}.house-dnd-backdrop{z-index:1090;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;background:#141c226b;position:absolute;inset:0}.house-page.is-dnd-blocked .house-stage{pointer-events:none}.town-overlay-panel.shop-overlay.house-sheet.house-dnd-modal{z-index:1110;max-height:min(70vh,480px);top:50%;bottom:auto;transform:translate(-50%,-50%)}.house-move{gap:8px;margin-bottom:8px;display:grid}.house-tasks-btn{padding-inline-end:16px;position:relative}.house-wardrobe{gap:14px;display:grid}.house-wardrobe-preview{justify-items:center;gap:0;padding:12px 0 4px;display:grid}.house-wardrobe-preview-hair{border-radius:999px 999px 8px 8px;width:34px;height:14px}.house-wardrobe-preview-face{border-radius:50%;width:28px;height:28px;margin-top:-4px}.house-wardrobe-preview-shirt{border-radius:8px;width:36px;height:28px;margin-top:2px}.house-wardrobe-preview-pants{border-radius:6px;width:30px;height:22px;margin-top:2px}.house-wardrobe-row{gap:8px;display:grid}.house-wardrobe-row>span{color:var(--muted);font-size:.85rem;font-weight:700}.house-wardrobe-swatches{flex-wrap:wrap;gap:8px;display:flex}.house-wardrobe-swatch{cursor:pointer;border:2px solid #fffdf8e6;border-radius:50%;width:28px;height:28px;padding:0;box-shadow:0 0 0 1px #1f3a342e}.house-wardrobe-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}.house-tasks-badge{background:var(--tile);color:#fff;text-align:center;border-radius:999px;min-width:1.25rem;height:1.25rem;padding:0 5px;font-size:.72rem;font-weight:700;line-height:1.25rem;position:absolute;top:-6px;right:-4px}@media (width>=768px){.house-title-bar{max-width:min(48vw,24rem);top:18px;left:22px}.house-chrome{bottom:calc(var(--nav-h) + 14px);padding:0 22px}.house-toolbar-title{max-width:min(42vw,20rem)}.house-page{--house-top-chip-h:38px}.house-title-bar .title-with-mark{padding:0 14px 0 7px}.house-toolbar-title h1,.house-title-bar h1{font-size:1.15rem}.house-door-dock,.house-door-dock-chip{top:18px;right:22px}.town-overlay-panel.shop-overlay.house-sheet{bottom:calc(var(--nav-h) + 72px);width:min(420px,42vw);max-height:min(62vh,560px)}}@media (prefers-reduced-motion:reduce){.word b{animation:none}}.hall-sheet{--p-panel:#1b2925f0;--p-fg:#f1eadb;--p-muted:#a9b8b0;--p-line:#34473f;--p-accent:#f08357;--p-accent-fg:#1b120e;--p-mint:#5cc3b5;color:var(--p-fg);background:var(--p-panel);border:1px solid var(--p-line);-webkit-backdrop-filter:blur(8px);gap:14px;width:min(440px,100% - 24px);max-height:min(78vh,640px);overflow-y:auto;box-shadow:0 10px 30px #14201d59}.hall-sheet .shop-close{color:var(--p-muted);flex:none;align-self:flex-start;margin-left:auto}.town-overlay-panel.shop-overlay.hall-sheet{max-height:calc(100% - var(--nav-h) - 28px);top:14px;transform:translate(-50%)}.plaza-brand{align-items:center;gap:10px;display:flex}.plaza-brand>div{flex:1;min-width:0}.plaza-brand svg{background:#fff6e3;border-radius:12px;flex:none;padding:3px}.plaza-brand h1{font-family:var(--display);letter-spacing:-.3px;color:var(--p-fg);margin:0;font-size:22px;font-weight:700;line-height:1.05}.plaza-brand h1 span{color:var(--p-accent)}.plaza-online{color:var(--p-muted);align-items:center;gap:7px;margin:3px 0 0;font-size:12px;display:flex}.plaza-dot{background:var(--p-line);border-radius:50%;flex:none;width:8px;height:8px}.plaza-dot.on{background:var(--p-mint);box-shadow:0 0 0 3px #5cc3b540}.plaza-seg{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.plaza-seg button{font:inherit;border:1px solid var(--p-line);color:var(--p-fg);cursor:pointer;background:0 0;border-radius:10px;padding:8px 2px;font-size:13px;font-weight:500}.plaza-seg button[aria-pressed=true]{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-accent-fg)}.plaza-panel{overscroll-behavior:contain;flex:auto;min-height:0;padding-right:2px;overflow-y:auto}.hall-sheet .shop-empty{color:var(--p-muted);text-align:center;font-size:13px}.hall-sheet .note{color:var(--p-fg);background:#f0835729;margin:0;font-size:13px}.hall-sheet .btn{border:1px solid var(--p-accent);background:var(--p-accent);min-height:40px;color:var(--p-accent-fg);border-radius:10px;font-size:13px;font-weight:600}.hall-sheet .btn.quiet{border-color:var(--p-line);color:var(--p-fg);background:0 0;align-items:center;text-decoration:none;display:inline-flex}.hall-sheet .btn:disabled{opacity:.45}.plaza-section{flex-direction:column;gap:14px;display:flex}.plaza-form{flex-direction:column;gap:8px;display:flex}.plaza-form input,.plaza-form select,.plaza-form textarea{border:1px solid var(--p-line);min-height:40px;font:inherit;color:var(--p-fg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0d;border-radius:10px;padding:8px 12px;font-size:14px}.plaza-form ::placeholder{color:var(--p-muted)}.plaza-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plaza-form-row>input,.plaza-form-row>select{flex:100px;min-width:0}.plaza-colors{flex:auto;gap:8px;display:flex}.plaza-colors button{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.plaza-colors button.on{border-color:var(--p-fg)}.plaza-feed{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plaza-feed li{align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.plaza-feed li>span:nth-child(2){overflow-wrap:anywhere;flex:auto;min-width:0}.plaza-feed strong{color:var(--p-fg);font-weight:600}.plaza-feed small{color:var(--p-muted);font-variant-numeric:tabular-nums;margin-top:1px;font-size:12px;display:block}.plaza-feed s{color:var(--p-muted)}.plaza-feed-icon{flex:none;font-size:1.05rem;line-height:1.35}.plaza-notes{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.plaza-notes li{color:#1f3a34;border-radius:6px 6px 16px;flex-direction:column;gap:6px;min-height:92px;padding:11px 11px 9px;display:flex;position:relative;box-shadow:0 2px 6px #0000004d}.plaza-notes li:nth-child(odd){transform:rotate(-1deg)}.plaza-notes li:nth-child(2n){transform:rotate(1deg)}.plaza-notes p{overflow-wrap:anywhere;margin:0;font-size:13px}.plaza-notes small{color:#1f3a34b3;margin-top:auto;font-size:11px}.plaza-notes li>button{cursor:pointer;color:#1f3a3499;background:0 0;border:0;font-size:1.1rem;line-height:1;position:absolute;top:2px;right:4px}.plaza-person{border:1px solid var(--p-line);border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex}.plaza-person h2{font-family:var(--display);color:var(--p-fg);margin:0;font-size:17px;font-weight:500}.plaza-person .plaza-feed{width:100%}.library-upload{flex-direction:column;gap:8px;padding:0 2px 10px;display:flex}.library-upload input[type=text],.library-upload input:not([type]){min-height:44px;font:inherit;border:1.5px solid #1f3a342e;border-radius:14px;padding:8px 12px}.library-upload small{color:var(--muted);font-size:.78rem}.library-upload .picker-drop{flex-direction:row;justify-content:center;gap:8px;min-height:0;padding:10px 12px}.library-upload .picker-icon{width:24px;height:24px}.library-upload .picker-drop small{display:none}.library-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.library-list li{align-items:center;gap:4px;display:flex}.library-open{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:auto;align-items:center;gap:8px;padding:6px 4px;display:flex}.library-open:active{background:#0000000d}.library-icon{flex:none;font-size:1.1rem}.library-main{flex-direction:column;flex:auto;min-width:0;display:flex}.library-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.library-main small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.library-act{cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;width:34px;height:34px;font-size:1rem}.library-act:active{background:#0000000f}.picker{flex-direction:column;gap:8px;display:flex}.picker-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.picker-drop{text-align:center;min-height:120px;color:var(--ink);cursor:pointer;background:#fff6e399;border:2px dashed #1f3a3447;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;transition:background .15s,border-color .15s,transform .1s;display:flex}.picker-drop:hover,.picker-drop.over{border-color:var(--tile);background:#ffd36b59}.picker-drop:active{transform:scale(.99)}.picker-drop.disabled{opacity:.5;cursor:not-allowed}.picker-icon{fill:none;width:44px;height:44px;stroke:var(--tile);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.picker-drop small{color:var(--muted);font-size:.8rem}.picker-chosen{border:1.5px solid var(--line);background:#fff;border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.picker-preview{object-fit:cover;border-radius:10px;flex:none;width:64px;height:48px}.picker-emoji{flex:none;font-size:2rem}.picker-meta{flex-direction:column;flex:calc(100% - 84px);min-width:0;display:flex}.picker-meta strong{overflow-wrap:anywhere;font-size:.92rem}.picker-meta small{color:var(--muted);font-size:.78rem}.picker-chosen label.btn{cursor:pointer}.picker-chosen .btn{white-space:nowrap;flex:110px;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.town-overlay-panel.shop-overlay.gallery-panel{gap:10px;height:min(80dvh,680px);max-height:min(80dvh,680px);top:calc(50% - 28px)}.gallery-panel>*{flex:none}.gallery-panel .shop-overlay-body{flex:auto;gap:10px;min-height:120px}.gallery-usage{align-items:center;gap:10px;display:flex}.gallery-usage-bar{background:#1f3a341f;border-radius:999px;flex:auto;height:6px;overflow:hidden}.gallery-usage-bar span{background:var(--mint);border-radius:999px;height:100%;transition:width .3s;display:block}.gallery-usage-bar span.full{background:var(--tile)}.gallery-usage small{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.78rem}.gallery-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gallery-add{cursor:pointer;background:#ffd36b29;border:1.5px dashed #1f3a344d;border-radius:16px;align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.gallery-add:hover{border-color:var(--tile);background:#ffd36b52}.gallery-add.disabled{opacity:.5;cursor:not-allowed}.gallery-add>span{flex-direction:column;min-width:0;display:flex}.gallery-add small{color:var(--muted);font-size:.78rem}.gallery-add-icon{fill:none;width:30px;height:30px;stroke:var(--tile);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none}.gallery-file-input:focus-visible+.gallery-add,.gallery-file-input:focus-visible+.gallery-staged{outline:3px solid var(--tile);outline-offset:2px}.gallery-staged{border:1.5px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:8px;padding:12px;display:flex}.gallery-staged-info{flex-direction:column;display:flex}.gallery-staged-info small{color:var(--muted);font-size:.78rem}.gallery-staged input:not([type]){min-height:44px;font:inherit;border:1.5px solid #1f3a342e;border-radius:12px;padding:8px 12px}.gallery-staged-actions{gap:8px;display:flex}.gallery-btn{white-space:nowrap;cursor:pointer;background:0 0;border:1.5px solid #1f3a3438;border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;min-height:44px;padding:0 12px;font-weight:600;display:inline-flex}.gallery-btn.primary{border-color:var(--ink);background:var(--ink);color:var(--cream);flex:1.4 1 0}.gallery-btn:disabled,.gallery-btn.disabled{opacity:.45;cursor:not-allowed}.gallery-frame{border:1.5px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;margin:0;display:flex;overflow:hidden;box-shadow:0 6px 18px #1f3a341a}.gallery-frame-stage{touch-action:pan-y;background:linear-gradient(160deg,#f3ecda,#e7dfc8);justify-content:center;align-items:center;height:min(46vh,380px);min-height:220px;padding:10px;display:flex;position:relative}.gallery-frame-stage img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 3px 12px #1f3a3440}.gallery-frame-stage img.blur{filter:blur(6px)}.gallery-frame-stage p{color:var(--muted);margin:0}.gallery-nav{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fbf6eae6;border:0;border-radius:50%;font-size:1.6rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #1f3a3440}.gallery-nav.prev{left:8px}.gallery-nav.next{right:8px}.gallery-nav:disabled{opacity:0;pointer-events:none}.gallery-frame-info{align-items:center;gap:10px;padding:10px 14px;display:flex}.gallery-frame-text{flex-direction:column;flex:auto;min-width:0;display:flex}.gallery-frame-text strong{overflow-wrap:anywhere}.gallery-frame-text small{color:var(--muted);font-size:.78rem}.gallery-frame-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.8rem}.gallery-frame-delete{color:#b3412e;min-height:36px;font:inherit;cursor:pointer;background:0 0;border:1.5px solid #b3412e66;border-radius:10px;flex:none;padding:0 12px;font-weight:600}.gallery-strip{scrollbar-width:thin;gap:8px;margin:0;padding:2px 2px 6px;list-style:none;display:flex;overflow-x:auto}.gallery-strip li{flex:none}.gallery-strip button{cursor:pointer;opacity:.7;background:#1f3a3414;border:2px solid #0000;border-radius:12px;width:56px;height:56px;padding:3px;display:block}.gallery-strip button.on{border-color:var(--tile);opacity:1}.gallery-strip button.more{color:var(--ink);justify-content:center;align-items:center;font-size:1.4rem;display:flex}.gallery-strip img{object-fit:contain;border-radius:7px;width:100%;height:100%;display:block}.town-home-fab{right:18px;bottom:calc(var(--nav-h) + 18px);z-index:1000;background:var(--paper);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-weight:700;display:inline-flex;position:fixed;transform:translateZ(0);box-shadow:inset 0 0 0 1.5px #1f3a3440,0 6px 16px #1f3a3440}.town-home-fab.on{background:#ffe9a8;box-shadow:inset 0 0 0 1.5px #d9a441,0 6px 16px #1f3a3440}@media (width>=768px){.town-home-fab{right:28px;bottom:calc(var(--nav-h) + 24px)}}.home-state{background:#1f3a340f;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.home-state.on{background:#ffd36b4d}.home-state-icon{flex:none;font-size:1.8rem}.home-state-text{flex-direction:column;min-width:0;display:flex}.home-state-text small,.home-hint,.home-place small,.home-privacy{color:var(--muted);font-size:.8rem}.home-toggle{background:var(--ink);min-height:48px;color:var(--cream);cursor:pointer;border:0;border-radius:14px;font-size:1rem;font-weight:700}.home-toggle.leave{color:var(--ink);background:0 0;box-shadow:inset 0 0 0 1.5px #1f3a344d}.home-toggle:disabled,.home-btn:disabled{opacity:.5;cursor:not-allowed}.home-hint{text-align:center;margin-top:-4px}.home-place{border:1.5px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.home-place-actions{gap:8px;margin-top:6px;display:flex}.home-btn{cursor:pointer;background:0 0;border:1.5px solid #1f3a3438;border-radius:12px;flex:1 1 0;min-height:44px;padding:0 12px;font-weight:600}.home-privacy{margin:0;line-height:1.4}.note.home-suggestion{background:#ffd36b66;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.home-suggestion-actions{gap:8px;display:inline-flex}.home-suggestion-actions button{cursor:pointer;background:#fff;border:1.5px solid #1f3a344d;border-radius:10px;min-height:36px;padding:0 14px;font-weight:600}.home-suggestion-actions button:first-child{background:var(--ink);color:var(--cream);border-color:var(--ink)}.place-list{background:#1f3a340f;border-radius:16px;flex-direction:column;gap:8px;padding:12px;display:flex}.place-list h3{margin:0;font-size:1rem}.place-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.place-list li{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px}.place-list li.on{background:#ffe9a8;border-color:#d9a441}.place-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.place-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.place-row .home-btn{flex:none;padding:0 14px}.place-sub{flex-wrap:wrap;gap:4px 14px;margin-top:4px;display:flex}.place-link{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.8rem;text-decoration:underline}.place-link.danger{color:#b3412e}.place-add{gap:8px;display:flex}.place-add input{min-width:0;min-height:44px;font:inherit;background:#fff;border:1.5px solid #1f3a342e;border-radius:12px;flex:auto;padding:8px 12px}.town-overlay-panel.pets-sheet{gap:10px;overflow:hidden}.pets-body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:4px 4px 2px;display:flex;overflow-y:auto}.pet-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pet-item{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px 10px}.pet-line{align-items:center;gap:10px;min-height:40px;display:flex}.pet-dot{border-radius:999px;flex:none;width:18px;height:18px;box-shadow:inset 0 0 0 1.5px #0003}.pet-name{text-overflow:ellipsis;white-space:nowrap;flex-direction:column;flex:1;min-width:0;font-weight:700;display:flex;overflow:hidden}.pet-name small{color:var(--muted);font-size:.75rem;font-weight:400}.pet-icon{cursor:pointer;width:36px;height:36px;color:var(--ink);background:0 0;border:0;border-radius:10px;font-size:1.1rem}.pet-call{background:var(--ink);min-height:38px;color:var(--cream);cursor:pointer;border:0;border-radius:999px;padding:0 16px;font-weight:700}.pet-call:disabled{opacity:.5}.pet-edit-box{flex-direction:column;gap:10px;padding-top:10px;display:flex}.pet-edit{gap:8px;display:flex}.pet-edit input,.pet-adopt input{border:1.5px solid var(--line);min-height:42px;font:inherit;background:#fff;border-radius:12px;flex:1;min-width:0;padding:0 12px}.pet-swatches{gap:10px;display:flex}.pet-swatch{cursor:pointer;border:0;border-radius:999px;width:30px;height:30px;box-shadow:inset 0 0 0 1.5px #00000040}.pet-swatch.on{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--ink)}.pet-remove{color:#a33;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:.85rem}.pet-adopt{flex-direction:column;gap:10px;display:flex}.pet-adopt-actions{gap:8px;display:flex}.pet-adopt-actions>*{flex:1 1 0;min-height:42px}.pet-add{min-height:42px}.pet-carousel{touch-action:pan-y;flex-direction:column;gap:6px;display:flex;position:relative}.pet-carousel .pet-preview{height:210px}.pet-arrow{width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffffd9;border:0;border-radius:999px;place-items:center;padding:0 0 4px;font-size:1.7rem;line-height:1;display:grid;position:absolute;top:80px;box-shadow:0 1px 6px #0003}.pet-arrow.left{left:8px}.pet-arrow.right{right:8px}.pet-dots{justify-content:center;gap:6px;display:flex}.pet-dots span{background:var(--line);border-radius:999px;width:7px;height:7px}.pet-dots span.on{background:var(--ink)}.pet-preview{pointer-events:none;height:190px;box-shadow:inset 0 0 0 1.5px var(--line);background:radial-gradient(at 50% 80%,#f7f0df 0%,#e6dac0 100%);border-radius:14px;overflow:hidden}.pet-preview canvas{display:block}.town-pets-fab{bottom:calc(var(--nav-h) + 78px)}@media (width>=768px){.town-pets-fab{bottom:calc(var(--nav-h) + 84px)}}.task-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.task-icon{width:34px;height:34px;color:var(--p-fg,var(--ink));cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;font-size:1.05rem;line-height:1;display:inline-grid}.task-icon:hover{background:#7f7f7f2e}.task-icon:disabled{opacity:.4;cursor:not-allowed}.task-icon-del{font-size:.95rem}.pet-bars{gap:10px;padding:2px 0 0 28px;display:flex}.pet-bar{flex:1 1 0;align-items:center;gap:4px;min-width:0;font-size:.8rem;display:flex}.pet-bar-track{background:#1f3a3426;border-radius:999px;flex:1;height:6px;overflow:hidden}.pet-bar-fill{background:#5fae8a;border-radius:999px;height:100%;transition:width .4s;display:block}.pet-bar.low .pet-bar-fill{background:#d4503c}.pet-care-toggle{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin:4px 0 0 28px;padding:4px 0;font-size:.82rem;font-weight:600}.pet-care{flex-direction:column;gap:6px;padding:6px 0 0;display:flex}.pet-care-row{align-items:center;gap:10px;display:flex}.pet-care-row .home-btn{flex:0 0 116px;min-height:40px}.pet-care-row small{color:var(--muted);font-size:.78rem}.pet-badge{background:#d4503c;border-radius:999px;min-width:16px;height:16px;position:absolute;top:-4px;right:-2px;box-shadow:0 0 0 2px #fff}.town-pets-fab{position:fixed}.pet-item{flex-direction:column;display:flex}.pet-menu{min-width:9rem}.pet-menu .avatar-action-btn:disabled{opacity:.55;cursor:not-allowed}.pet-menu-wait{opacity:.8;font-size:.75em}.my-villages{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.my-villages li{background:#1f3a340a;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.my-villages li.is-here{background:#3ba99c24}.my-villages li{flex-wrap:wrap}.my-villages li>span:first-child{flex:140px}.my-villages small{color:var(--muted);font-size:12px;display:block}.my-villages-actions{flex-wrap:wrap;gap:8px;display:flex}.my-villages-actions .btn{align-items:center;text-decoration:none;display:inline-flex}.plaza-seg.scroll{scrollbar-width:none;display:flex;overflow-x:auto}.hall-sheet .plaza-seg{flex:none}.plaza-seg.scroll button{flex:none;padding:8px 14px}.rsvp{flex-direction:column;gap:4px;margin-top:6px;display:flex}.rsvp-btns{gap:6px;display:flex}.rsvp-btns button{font:inherit;border:1px solid var(--p-line);color:var(--p-fg);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.rsvp-btns button[aria-pressed=true]{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-accent-fg)}.poll-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.poll{border:1px solid var(--p-line);border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.poll small{color:var(--p-muted);font-size:12px}.poll-opt{font:inherit;text-align:left;border:1px solid var(--p-line);color:var(--p-fg);cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex;position:relative;overflow:hidden}.poll-opt[aria-pressed=true]{border-color:var(--p-accent);font-weight:600}.poll-opt:disabled{cursor:default}.poll-bar{background:var(--p-accent);opacity:.16;transition:width .25s;position:absolute;inset:0 auto 0 0}.poll-opt-text,.poll-count{position:relative}.poll-check{color:var(--p-fg);align-items:center;gap:8px;font-size:13px;display:flex}.poll-actions{justify-content:flex-end;display:flex}.debts{border:1px solid var(--p-line);border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.debts small{color:var(--p-muted);font-size:12px}.debt{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:1px solid var(--p-line);color:var(--p-fg);cursor:pointer;background:0 0;border-radius:999px;padding:5px 10px;font-size:12px}.chip[aria-pressed=true]{background:var(--p-accent);border-color:var(--p-accent);color:var(--p-accent-fg)}.expense-group h3,.plan-h{color:var(--p-muted);margin:10px 0 4px;font-size:13px;font-weight:600}.plan-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.plan{border:1px solid var(--p-line);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.plan.done strong{opacity:.7;text-decoration:line-through}.plan-main{align-items:center;gap:10px;display:flex}.plan-main>span{flex-direction:column;flex:1;min-width:0;display:flex}.plan-main small{color:var(--p-muted);font-size:12px}.plan-check{border:2px solid var(--p-line);width:26px;height:26px;color:var(--p-accent);cursor:pointer;background:0 0;border-radius:8px;flex:none;font-weight:700}.plan-photo{object-fit:cover;border-radius:10px;width:100%;max-height:180px}.plan-picker{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.plan-picker button{cursor:pointer;background:0 0;border:0;padding:0}.plan-picker img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;display:block}.vsw-trigger{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:4px;margin:-4px -6px;padding:4px 6px;display:inline-flex}.vsw-trigger h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.vsw-trigger svg{opacity:.7;flex:none}.vsw-trigger:active{background:#7f7f7f2e}.vsw-backdrop{z-index:2000;background:#0a100e73;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.vsw-sheet{width:min(480px,100%);max-height:80vh;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;color:#f1eadb;background:#1b2925;border:1px solid #34473f;border-top:0;border-radius:0 0 18px 18px;flex-direction:column;gap:10px;animation:.18s ease-out vsw-drop;display:flex;overflow-y:auto;box-shadow:0 12px 30px #0a100e73}.vsw-grip{background:#34473f;border-radius:4px;order:99;align-self:center;width:40px;height:4px}.vsw-sheet h2{color:#a9b8b0;margin:2px 0 0;font-size:15px;font-weight:600}.vsw-sheet ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vsw-sheet li button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #34473f;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.vsw-sheet li button.is-here{border-color:#f08357}.vsw-sheet li span{flex-direction:column;display:flex}.vsw-sheet li small{color:#a9b8b0;font-size:12px}.vsw-actions{flex-wrap:wrap;gap:8px;display:flex}.vsw-actions a{text-align:center;color:#f1eadb;border:1px solid #34473f;border-radius:12px;flex:auto;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none}@keyframes vsw-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}html.kb-open .app,html.kb-open .gate{height:var(--vvh,100dvh)!important;min-height:0!important;max-height:var(--vvh,100dvh)!important}html.kb-open #root{height:var(--vvh,100dvh);min-height:0}html.kb-open .nav{display:none}html.kb-open .app{padding-bottom:0}.chat-top{z-index:1300;top:calc(env(safe-area-inset-top,0px) + 64px);pointer-events:none;align-items:center;gap:6px;display:flex;position:fixed;left:12px;right:12px}.chat-top-title{color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--display);background:#fffdf8eb;border-radius:16px;flex-direction:column;max-width:60%;margin-right:auto;padding:6px 14px;display:flex}.chat-top-title small{color:var(--muted);font-family:inherit;font-size:.72rem}.chat-top-btn{pointer-events:auto;min-height:38px;color:var(--ink);font:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fffdf8eb;border:0;border-radius:999px;padding:0 14px;font-size:.85rem;font-weight:700}.chat-top-close{width:38px;padding:0;font-size:1.4rem;line-height:1}.chat-stage{z-index:1299;left:12px;right:12px;bottom:calc(var(--nav-h) + 74px);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.chat-bubble{border-radius:22px;max-width:min(86%,380px);padding:10px 16px;animation:.28s cubic-bezier(.3,1.4,.5,1) chat-pop;position:relative;box-shadow:0 8px 22px #1f3a3447}.chat-bubble p{overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.chat-bubble.theirs{color:#1f3a34;background:#fffdf8;border-bottom-left-radius:6px;align-self:flex-start}.chat-bubble.mine{color:#fff7e6;background:#1f3a34;border-bottom-right-radius:6px;align-self:flex-end}.chat-bubble-name{font-family:var(--display);margin-bottom:1px;font-size:.78rem;font-weight:600;display:block}@keyframes chat-pop{0%{opacity:0;transform:translateY(10px)scale(.92)}to{opacity:1;transform:none}}.chat-bar{z-index:1301;left:10px;right:10px;bottom:calc(var(--nav-h) + 10px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8f2;border-radius:999px;gap:6px;padding:5px;display:flex;position:fixed;box-shadow:0 8px 22px #1f3a3440}.chat-bar input{min-width:0;min-height:44px;font:inherit;color:#1f3a34;background:0 0;border:0;outline:none;flex:1;padding:0 14px;font-size:1rem}.chat-bar-send{background:var(--tile,#e0643a);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:0 18px;font-weight:800}.chat-bar-send:disabled{opacity:.45}@media (prefers-reduced-motion:reduce){.chat-bubble{animation:none}}.splash{z-index:50;color:#f3ead6;background:#10201c;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.splash .mascot circle:first-child{fill:#f3ead6}.splash .mascot circle:nth-of-type(2){fill:#10201c}.splash .mascot circle:nth-of-type(3){fill:#f3ead6}.splash.splash-soft{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#10141273;animation:.25s both splash-soft-in}@keyframes splash-soft-in{0%{opacity:0}to{opacity:1}}.splash p{font-family:var(--display);letter-spacing:.04em;opacity:.85;margin:0;font-size:1.05rem;font-weight:500}.chat-system{color:#fff7e6;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f3a34c7;border-radius:999px;align-self:center;max-width:90%;padding:6px 14px;font-size:.9rem;font-weight:700;animation:.28s chat-pop}.town-overlay-panel.shop-overlay.guide-overlay{z-index:1400;color:#fff6e3;-webkit-backdrop-filter:none;backdrop-filter:none;background:#1f3a34;border:0;border-radius:0;gap:0;width:100%;height:100dvh;max-height:none;padding:0;position:fixed;inset:0;transform:none}.guide-overlay .shop-overlay-head{top:calc(env(safe-area-inset-top,0px) + 8px);z-index:2;background:0 0;border:0;margin:0;padding:0;position:absolute;right:8px}.guide-overlay .shop-close{color:#fff6e3;background:#1f3a34c7;border-radius:999px;width:38px;height:38px}.guide-pages{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;height:100%;min-height:0;display:flex;overflow:auto hidden}.guide-pages::-webkit-scrollbar{display:none}.guide-page{scroll-snap-align:center;flex:0 0 100%;place-items:center;height:100%;min-height:0;display:grid}.guide-page img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;max-width:100%;height:100%}.guide-nav{width:fit-content;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:2;color:#fff6e3;background:#1f3a34c7;border-radius:999px;justify-content:center;align-items:center;gap:18px;margin:0 auto;padding:4px 12px;font-weight:600;display:flex;position:absolute}.guide-nav button{color:#fff6e3;background:#fff6e324;border:0;border-radius:999px;width:40px;height:36px;font-size:1.4rem;line-height:1}.guide-nav button:disabled{opacity:.35}.guide-overlay{animation:.55s cubic-bezier(.2,.9,.25,1) both guide-in}.guide-overlay .guide-pages{perspective:1200px}.guide-overlay .guide-page:first-child img{transform-origin:0;animation:.8s cubic-bezier(.2,.9,.25,1) .12s both guide-cover}.guide-overlay .shop-overlay-head,.guide-overlay .guide-nav{animation:.5s ease-out .45s both guide-rise}@keyframes guide-in{0%{opacity:0;clip-path:circle(0% at 50% 42%);transform:scale(.8)}to{opacity:1;clip-path:circle(150% at 50% 42%);transform:scale(1)}}@keyframes guide-cover{0%{opacity:0;transform:rotateY(-70deg)scale(.85)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes guide-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.guide-overlay,.guide-overlay .guide-page:first-child img,.guide-overlay .shop-overlay-head,.guide-overlay .guide-nav{animation:none}}.mood-picker{align-self:center;align-items:center;line-height:0;display:inline-flex;position:relative}.mood-chip{justify-content:center;min-width:40px;padding:6px 10px;font-size:1.15rem;line-height:1}.mood-pop{z-index:1200;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f7;border:1px solid #1f3a341a;border-radius:16px;flex-direction:column;gap:10px;width:min(320px,100vw - 24px);padding:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #1f3a3438}.mood-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mood-opt{aspect-ratio:1;border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;place-items:center;padding:4px;line-height:1;display:grid}.mood-img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.chip.mood-chip{box-sizing:border-box;cursor:pointer;background:0 0;border:0;justify-content:center;min-width:40px;height:40px;min-height:40px;padding:0}.chip.mood-chip .mood-img{width:40px;height:40px;transition:filter .2s,opacity .2s}.chip.mood-chip.empty .mood-img{filter:grayscale();opacity:.6}.mood-opt.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#fff6e3}.mood-text{min-height:44px;font:inherit;background:#fff;border:1.5px solid #1f3a342e;border-radius:12px;min-width:0;padding:8px 12px}.mood-actions{justify-content:flex-end;gap:8px;display:flex}.mood-pop{animation:.18s ease-out mood-pop-in}.mood-pop.closing{animation:.2s ease-in .32s forwards mood-pop-out}.mood-opt{transition:opacity .2s,transform .2s}.mood-pop.closing .mood-opt:not(.picked){opacity:.35;transform:scale(.92)}.mood-opt.picked{border-color:var(--ink);background:#fff6e3}.mood-opt.picked .mood-img{animation:.5s ease-out mood-pick}@keyframes mood-pop-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes mood-pop-out{to{opacity:0;transform:translate(-50%)translateY(-6px)scale(.96)}}@keyframes mood-pick{0%{transform:scale(1)}35%{transform:scale(1.4)rotate(-8deg)}65%{transform:scale(.92)rotate(5deg)}to{transform:scale(1.12)rotate(0)}}@media (prefers-reduced-motion:reduce){.mood-pop,.mood-pop.closing,.mood-opt.picked .mood-img{animation:none}}.gallery-comments{gap:8px;padding:2px 2px 0;display:grid}.gallery-comments ul{gap:6px;max-height:150px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.gallery-comments li{align-items:flex-start;gap:6px;display:flex}.gallery-comments li p{overflow-wrap:anywhere;white-space:pre-wrap;flex:auto;min-width:0;margin:0;font-size:.92rem;line-height:1.3}.gallery-comments li small{color:var(--muted);white-space:nowrap;margin-left:6px;font-size:.72rem}.gallery-comment-del{min-width:26px;min-height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;font-size:1.15rem;line-height:1}.gallery-comment-form{align-items:center;gap:8px;display:flex}.gallery-comment-form input{flex:auto;width:auto;min-width:0;min-height:42px}.gallery-send{background:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.gallery-send svg{fill:none;width:22px;height:22px;stroke:var(--cream);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.gallery-send:disabled{opacity:.35;cursor:default}.gallery-add{min-height:44px;padding:6px 14px}.gallery-add-icon{width:24px;height:24px}.gallery-frame-stage{height:min(38vh,320px);min-height:200px}.gallery-head{align-items:center;gap:10px}.gallery-head h2{flex:auto}.gallery-head .gallery-usage{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.78rem;display:block}.gallery-plus{cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.gallery-plus:hover{background:#1f3a341a}.gallery-plus.disabled{opacity:.4;cursor:not-allowed}.gallery-plus svg,.gallery-chip svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.gallery-file-input:focus-visible~.gallery-staged{outline:3px solid var(--tile);outline-offset:2px}.gallery-grid{grid-template-columns:repeat(3,1fr);align-content:start;gap:2px;display:grid}.gallery-tile{aspect-ratio:1;cursor:pointer;background:#1f3a341a;border:0;padding:0;position:relative;overflow:hidden}.gallery-tile img{object-fit:cover;width:100%;height:100%;display:block}.gallery-tile.more{font:inherit;color:var(--ink);font-weight:700}.gallery-frame{box-shadow:none;background:#0d1413;border:0;border-radius:16px}.gallery-frame-stage{background:#0d1413;height:min(52vh,440px);min-height:260px;padding:0}.gallery-frame-stage img{width:100%;height:100%;box-shadow:none;border-radius:0}.gallery-chip{color:#fff;cursor:pointer;background:#00000073;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:10px}.gallery-chip.back{left:10px}.gallery-chip.trash{right:10px}.gallery-chip.trash:hover{background:#b3412e}.gallery-confirm{color:#fff;background:#000000b8;border-radius:22px;align-items:center;gap:4px;padding:4px 4px 4px 14px;font-size:.85rem;font-weight:700;display:flex;position:absolute;top:10px;right:10px}.gallery-confirm button{color:#fff;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;padding:0 12px}.gallery-confirm button.yes{background:#b3412e}.gallery-by{color:#fff;pointer-events:none;background:linear-gradient(#0000,#0000009e);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:36px 14px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-by strong{text-shadow:0 1px 2px #0006;font-size:.92rem}.gallery-by span{opacity:.85;font-size:.74rem}.gallery-by .gallery-by-count{font-variant-numeric:tabular-nums;margin-left:auto}.gallery-by em{overflow-wrap:anywhere;flex-basis:100%;font-size:.82rem;font-style:normal}.gallery-tile-count{color:#fff;font-variant-numeric:tabular-nums;background:#0009;border-radius:11px;align-items:center;gap:3px;height:22px;padding:0 7px 0 5px;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;bottom:5px;right:5px}.gallery-tile-count svg{fill:currentColor;stroke:none;width:13px;height:13px}.gallery-grid{flex:none}.gallery-frame{flex-direction:column;flex:auto;min-height:0;display:flex}.gallery-frame-stage{flex:auto;height:auto;min-height:0}.gallery-comments{flex:none}.gallery-comments ul{max-height:84px}.gallery-viewer{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.gallery-comments-btn{z-index:2;color:#fff;min-width:38px;height:38px;font:inherit;cursor:pointer;background:#00000080;border:0;border-radius:19px;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-size:.85rem;font-weight:800;display:inline-flex;position:absolute;bottom:10px;right:10px}.gallery-comments-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:20px;height:20px}.gallery-by{padding-right:64px}.gallery-by .gallery-by-count{margin-left:0}.gallery-comments{z-index:3;background:#fffdf8fa;border-radius:18px 18px 16px 16px;flex-direction:column;gap:8px;height:68%;padding:10px 14px 12px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000004d}.gallery-comments header{justify-content:space-between;align-items:center;display:flex}.gallery-comments h3{margin:0;font-size:1rem}.gallery-comments-close{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1}.gallery-comments ul{flex:auto;min-height:0;max-height:none;overflow-y:auto}.gallery-comments-empty{color:var(--muted);flex:auto;margin:0;font-size:.9rem}.gallery-comment-form{flex:none}.gallery-frame-stage{overflow:hidden}.gallery-frame-stage img.gallery-bg{object-fit:cover;filter:blur(26px)brightness(.55);width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px}.gallery-frame-stage img:not(.gallery-bg){position:relative}.gallery-comments{background:#fffdf8}.gallery-comments ul{align-content:start}.town-overlay-panel.shop-overlay.gallery-panel.typing{top:calc(8px + env(safe-area-inset-top,0px));height:min(calc(100dvh - 412px), calc(var(--gal-vv,9999px) - 16px - env(safe-area-inset-top,0px)));min-height:220px;max-height:min(calc(100dvh - 412px), calc(var(--gal-vv,9999px) - 16px - env(safe-area-inset-top,0px)));transform:translate(-50%)}.gallery-panel.typing .gallery-comments{border-radius:16px;height:100%}.gallery-comment-form input{font-size:16px}.gallery-panel.typing .gallery-viewer{background:#fffdf8;border-radius:16px}.gallery-panel.typing .gallery-frame{visibility:hidden}.legal{box-sizing:border-box;-webkit-overflow-scrolling:touch;max-width:680px;height:100%;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-left,0px)) calc(48px + env(safe-area-inset-bottom,0px));color:var(--ink);margin:0 auto;line-height:1.55;overflow-y:auto}.legal h1{margin:12px 0 4px;font-size:1.6rem}.legal h2{margin:24px 0 6px;font-size:1.1rem}.legal p,.legal li{font-size:.95rem}.legal ul{gap:6px;padding-left:20px;display:grid}.legal a,.legal-links a{color:inherit;text-decoration:underline}.legal-links{text-align:center;color:var(--muted);margin:24px 0 0;font-size:.85rem}.check{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.35;display:flex}.check input{flex:none;width:22px;height:22px;margin:0}.note.birthday-prompt{background:#ffd36b66;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.birthday-open{text-align:left;min-width:200px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.birthday-later{min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1.5px solid #1f3a344d;border-radius:10px;padding:0 14px;font-weight:600}.settings-menu{gap:10px;margin:0;padding:0;list-style:none;display:grid}.settings-menu button{text-align:left;width:100%;min-height:64px;font:inherit;color:inherit;cursor:pointer;background:#fff;border:1.5px solid #1f3a342e;border-radius:16px;align-items:center;gap:14px;padding:10px 14px;display:flex}.settings-menu-icon{text-align:center;width:34px;font-size:1.5rem}.settings-menu-text{flex:1;gap:2px;display:grid}.settings-menu-text small{color:#1f3a34b3}.settings-menu-arrow{opacity:.5;font-size:1.6rem}.settings-head{gap:10px;margin:10px 0 12px;display:grid}.settings-back{justify-self:start;min-height:40px;padding:0 14px}.icon{vertical-align:-.2em;flex:none;display:inline-block}.birthday-fields{gap:8px;display:flex}.birthday-fields select{flex:1;min-height:44px}.uno-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.uno-others{flex-wrap:wrap;gap:8px;display:flex}.uno-other{background:#1f3a3414;border:2px solid #0000;border-radius:12px;gap:2px;padding:6px 12px;display:grid}.uno-other.turn{background:#ffd36b66;border-color:#f0a62b}.uno-other small{opacity:.75}.uno-center{justify-content:center;align-items:center;gap:14px;padding:10px 0;display:flex}.uno-color-dot{border:3px solid #fff;border-radius:50%;width:22px;height:22px;box-shadow:0 0 0 1px #0003}.uno-log{text-align:center;min-height:2.6em;margin:0}.uno-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.uno-hand{-webkit-overflow-scrolling:touch;gap:6px;padding:14px 4px 8px;display:flex;overflow-x:auto}.uno-card{color:#fff;width:54px;height:80px;font-family:var(--display);cursor:default;background-clip:padding-box;border:3px solid #fff;border-radius:10px;flex:none;place-items:center;padding:0;font-size:1.5rem;display:inline-grid;box-shadow:0 2px 6px #0000004d}button.uno-card{cursor:pointer}.uno-card.playable{transform:translateY(-10px);box-shadow:0 4px 10px #00000059}.uno-card:disabled{opacity:.6;cursor:default}.uno-face{text-shadow:0 1px 2px #00000059;justify-content:center;align-items:center;display:inline-flex}.c-r{background:#e5484d}.c-y{color:#3a2a00;background:#f5b72f}.c-g{background:#3aa655}.c-b{background:#3b82d6}.c-w{background:conic-gradient(#e5484d 0 25%, #f5b72f 0 50%, #3aa655 0 75%, #3b82d6 0)}.uno-card.back{background:#1f3a34;font-size:1.1rem}.uno-picker{background:#1f3a3414;border-radius:14px;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px;display:flex}.uno-color-btn{color:#fff;min-height:44px;font:inherit;cursor:pointer;border:3px solid #fff;border-radius:12px;padding:0 16px;font-weight:700;box-shadow:0 1px 4px #0000004d}.uno-color-btn.c-y{color:#3a2a00}.uno-ranking{gap:6px;margin:0;padding:0;list-style:none;display:grid}.uno-ranking li{background:#1f3a340f;border-radius:12px;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.uno-ranking li.me{background:#ffd36b66}.uno-rank-pos{font-family:var(--display);text-align:center;font-size:1.1rem}.uno-rank-wins{font-weight:700}.uno-ranking small{opacity:.7}.plaza-seg.two{grid-template-columns:repeat(2,1fr)}.uno-ranking li.pos-1{background:#ffd36b47}.uno-ranking li.pos-2{background:#cdd6de33}.uno-ranking li.pos-3{background:#d6966233}.uno-ranking li.pos-1 .uno-rank-pos{color:#ffd36b;font-size:1.35rem}.uno-ranking li.pos-2 .uno-rank-pos{color:#cdd6de}.uno-ranking li.pos-3 .uno-rank-pos{color:#d69662}.uno-ranking li.me{outline:1.5px solid var(--p-accent,#f08357)}.game-menu{gap:10px;margin:0;padding:0;list-style:none;display:grid}.game-card{border:1px solid var(--p-line);width:100%;color:var(--p-fg);font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border-radius:18px;gap:0;padding:0;display:grid;overflow:hidden}.game-card:active{transform:scale(.985)}.game-card-cover{aspect-ratio:1600/880;object-fit:cover;width:100%;height:auto;display:block}.game-card-text{gap:2px;min-width:0;padding:10px 14px 12px;display:grid}.game-card-text strong{font-family:var(--display);font-size:1.1rem}.game-card-text small{color:var(--p-muted);font-size:12.5px}.game-card-meta{color:var(--p-mint)!important}.game-card.soon{cursor:default;opacity:.7;background:0 0;border-style:dashed;padding:4px 0}.game-back{align-items:center;gap:10px;display:flex}.game-back strong{font-family:var(--display);font-size:1.05rem}.hall-sheet .hint{color:var(--p-muted)}.hall-sheet .uno-other{background:#ffffff0f}.hall-sheet .uno-other.turn{background:#f5b72f38}.hall-sheet .uno-ranking li{background:#ffffff0d}.hall-sheet .uno-ranking li.pos-1{background:#ffd36b33}.hall-sheet .uno-picker{background:#ffffff0f}.c-r{--ink-card:#d64541;background:#d64541}.c-y{--ink-card:#b78a00;color:#fff6e3;background:#f2c231}.c-g{--ink-card:#3f9d4d;background:#3f9d4d}.c-b{--ink-card:#3b78c9;background:#3b78c9}.c-w{background:conic-gradient(#d64541 0 25%, #3f9d4d 0 50%, #3b78c9 0 75%, #f2c231 0);--ink-card:#1f3a34}.uno-card{color:#fff6e3;border:3px solid #fff6e3;border-radius:13px;width:58px;height:86px;font-weight:700;position:relative;overflow:hidden;box-shadow:0 3px 8px #00000052}.uno-card:before{content:"";aspect-ratio:1;background:#fff6e3;border-radius:50%;width:62%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.uno-card .uno-face{z-index:1;color:var(--ink-card,#1f3a34);text-shadow:none;font-size:1.35rem;line-height:1;position:relative}.c-y .uno-face{text-shadow:none}.uno-corner{z-index:1;color:#fff6e3;font-size:.68rem;line-height:1;display:inline-flex;position:absolute}.uno-corner.tl{top:4px;left:4px}.uno-corner.br{bottom:4px;right:4px;transform:rotate(180deg)}.uno-card.back{background:conic-gradient(#d64541 0 25%, #3f9d4d 0 50%, #3b78c9 0 75%, #f2c231 0);--ink-card:#1f3a34}.uno-card.back .uno-face{font-size:1rem}.uno-color-btn{border-color:#fff6e3}.uno-color-btn.c-r,.uno-color-btn.c-g,.uno-color-btn.c-b,.uno-color-btn.c-y{color:#fff6e3;text-shadow:0 1px 2px #00000059}.uno-card.back{--ink-card:#fff6e3;background:#1f3a34;width:58px;height:86px;margin:0 6px 0 0;overflow:visible;box-shadow:3px 3px 0 -1px #2f5a4f,6px 6px 0 -2px #1f3a34,0 6px 12px #00000059}.uno-card.back:before{background:0 0;border:3px solid #fff6e3;width:58%}.uno-card.back .uno-face{color:#fff6e3;font-size:1.1rem}.uno-back-label{z-index:1;letter-spacing:.04em;text-transform:uppercase;color:#fff6e3;text-align:center;font-size:.6rem;font-weight:600;position:absolute;bottom:6px;left:0;right:0}.uno-card.back:not(:disabled){animation:1.6s ease-in-out infinite uno-draw-hint}@keyframes uno-draw-hint{50%{transform:translateY(-3px)}}.uno-chat{gap:8px;display:grid}.uno-chat-toggle{justify-self:start;align-items:center;gap:6px;display:inline-flex}.uno-chat-badge{background:var(--p-accent,#f08357);min-width:20px;height:20px;color:var(--p-accent-fg,#1b120e);border-radius:10px;place-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.uno-chat-list{overscroll-behavior:contain;background:#ffffff0d;border-radius:14px;flex-direction:column;gap:6px;max-height:190px;padding:8px;display:flex;overflow-y:auto}.uno-msg{overflow-wrap:anywhere;background:#ffffff1a;border-radius:12px 12px 12px 4px;align-self:flex-start;gap:1px;max-width:84%;margin:0;padding:6px 10px;font-size:13.5px;line-height:1.35;display:grid}.uno-msg strong{color:var(--p-mint,#5cc3b5);font-size:11.5px;font-weight:600}.uno-msg.mine{background:#f0835747;border-radius:12px 12px 4px;align-self:flex-end}.uno-bubbles{flex-direction:column;gap:6px;animation:.25s ease-out uno-bubble-in;display:flex}@keyframes uno-bubble-in{0%{opacity:0;transform:translateY(6px)}}.uno-chat-form{gap:8px;display:flex}.uno-chat-form input{min-width:0;font:inherit;border:1px solid var(--p-line,#34473f);color:var(--p-fg,#f1eadb);background:#ffffff0f;border-radius:12px;flex:1;padding:9px 12px;font-size:16px}.uno-chat-form input::placeholder{color:var(--p-muted,#a9b8b0)}.uno-chat-send{border-radius:12px;flex:none;place-items:center;width:44px;padding:0;display:inline-grid}.uno-picker .hint{text-align:center;flex-basis:100%}.uno-multi-cards{flex-wrap:wrap;flex-basis:100%;justify-content:center;gap:8px;padding:10px 0 4px;display:flex}.uno-multi-slot{display:inline-flex;position:relative}.uno-multi-n{z-index:2;background:var(--p-accent,#f08357);min-width:22px;height:22px;color:var(--p-accent-fg,#1b120e);border-radius:11px;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #00000059}.tooky-summary .plaza-feed li>span:last-child{font-size:14px;line-height:1.35}.tooky-summary .plaza-online{font-size:13px;display:block}.c4-start{flex-wrap:wrap;gap:8px;display:flex}.c4-table{gap:12px}.c4-players{grid-template-columns:1fr 1fr;gap:8px;display:grid}.c4-player{border:1px solid var(--p-line);background:#ffffff0a;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.c4-player>span:last-child{min-width:0;display:grid}.c4-player strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.c4-player small{color:var(--p-muted);font-size:11.5px}.c4-player.turn{border-color:var(--p-accent);background:#f0835724}.c4-player.won{background:#ffd36b2e;border-color:#ffd36b}.c4-chip{border-radius:50%;flex:none;width:22px;height:22px;box-shadow:inset 0 -3px #00000038}.c4-chip.p1,.c4-disc.p1{background:#e8553f}.c4-chip.p2,.c4-disc.p2{background:#f5b72f}.c4-status{text-align:center;font-family:var(--display);color:var(--p-fg);margin:0;font-size:1.15rem;font-weight:600}.c4-status.mine{color:var(--p-accent)}.c4-board{touch-action:manipulation;background:#24566f;border-radius:18px;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px;display:grid;box-shadow:inset 0 -4px #00000040}.c4-col{cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;grid-template-rows:repeat(6,1fr);gap:4px;padding:0;display:grid}.c4-col:disabled{cursor:default}.c4-col:not(:disabled):hover,.c4-col:not(:disabled):focus-visible{background:#ffffff1a;outline:none}.c4-cell{aspect-ratio:1;background:#142521;border-radius:50%;position:relative;box-shadow:inset 0 3px 5px #00000080}.c4-disc{border-radius:50%;position:absolute;inset:4%;box-shadow:inset 0 -4px #00000038,inset 0 3px #ffffff38}.c4-disc.ghost{opacity:.4;box-shadow:none}.c4-disc.drop{animation:.42s cubic-bezier(.5,0,.9,.6) c4-drop}@keyframes c4-drop{0%{transform:translateY(calc(var(--c4-fall,1) * -110%))}60%{transform:translateY(0)}78%{transform:translateY(-9%)}to{transform:translateY(0)}}.c4-disc.win{animation:.9s ease-in-out infinite alternate c4-win;box-shadow:0 0 0 3px #fff6e3,0 0 14px 4px #fff6e3b3,inset 0 -4px #00000038}@keyframes c4-win{0%{transform:scale(1)}to{transform:scale(1.08)}}.c4-board.idle .c4-col{cursor:default}.c4-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.c4-disc.drop,.c4-disc.win{animation:none}}.title-with-mark .tooky-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex:none;padding:0;display:flex}.title-with-mark .tooky-btn:active{transform:scale(.93)}.tooky-ideas{background:#f083571f;border-radius:16px;gap:8px;padding:10px 12px;display:grid}.tooky-ideas-head{align-items:center;gap:10px;display:flex}.tooky-ideas-head .mascot{background:#fff6e3;border-radius:10px;flex:none;padding:2px}.tooky-ideas-head h3{margin:0;font-size:1rem}.tooky-ideas-head .hint{margin:0;font-size:12px}.tooky-ideas-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tooky-ideas-list li{background:#ffffffb3;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.tooky-ideas-list li>span{gap:1px;min-width:0;display:grid}.tooky-ideas-list small{opacity:.75;font-size:12px}.tooky-ideas-list .btn{flex:none;padding:8px 12px;font-size:13px}.tooky-summary .tooky-says{color:var(--p-fg);background:#f0835729;border-radius:14px;margin:0;padding:10px 12px;font-size:14px;line-height:1.4}.tooky-recipe{background:#ffffff80;border-radius:12px;gap:6px;margin-top:10px;padding:10px;display:grid}.tooky-recipe h4{margin:0}.tooky-recipe ul,.tooky-recipe ol{gap:3px;margin:0;padding-left:20px;font-size:.9rem;display:grid}.uno-center{margin-top:44px;position:relative}.uno-bubble{z-index:2;color:#1f3a34;overflow-wrap:anywhere;pointer-events:none;background:#fff6e3;border-radius:16px 16px 16px 4px;gap:1px;max-width:92%;margin:0;padding:7px 13px;font-size:14px;line-height:1.3;animation:.22s ease-out uno-bubble-pop;display:grid;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000059}.uno-bubble.mine{background:var(--p-accent,#f08357);color:#1b120e;border-radius:16px 16px 4px}.uno-bubble strong{opacity:.65;font-size:11px}.uno-bubble-more{background:var(--p-mint,#5cc3b5);color:#12201c;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-8px;right:-6px}@keyframes uno-bubble-pop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.92)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.uno-bubble{animation:none}}.uno-react{flex-wrap:wrap;gap:6px;display:flex}.uno-react-btn{border:1px solid var(--p-line,#34473f);cursor:pointer;background:#ffffff0d;border-radius:12px;padding:6px 12px;font-size:20px;line-height:1}.uno-hand{flex-wrap:wrap;justify-content:center;gap:8px 6px;padding:14px 4px 8px;overflow:visible}html.kb-hall .town-overlay-panel.shop-overlay.hall-sheet{top:calc(var(--hall-top,0px) + 8px);max-height:calc(var(--hall-vv,100dvh) - 16px)}.uno-bubble-anchor{height:0;margin-top:40px;position:relative}.uno-multi-bar{background:#f5b72f24;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:8px 10px;display:flex}.uno-multi-bar .hint{text-align:center;flex-basis:100%;margin:0;font-size:13px}.uno-hand.choosing .uno-multi-slot.dim{opacity:.35}.uno-hand .uno-multi-slot{display:inline-flex;position:relative}.c4-status-anchor{margin-top:40px;position:relative}.c4-status-anchor .uno-bubble{bottom:calc(100% + 2px)}.ships-table{gap:10px;display:grid}.ships-board{box-sizing:border-box;background:#3b88b847;border-radius:16px;grid-template-columns:1.4em repeat(10,1fr);justify-self:center;gap:2px;width:100%;max-width:420px;padding:8px;display:grid}.ships-board.small{max-width:280px}.ships-row{display:contents}.ships-axis{color:var(--p-muted,#a9b8b0);place-items:center;font-size:11px;line-height:1;display:grid}.ships-cell{aspect-ratio:1;cursor:default;background:#3b88b8;border:0;border-radius:5px;padding:0;position:relative}.ships-board:not(.small) .ships-cell:not(:disabled){cursor:pointer}.ships-cell.ship{background:#cfd8d4}.ships-cell.miss:after{content:"";opacity:.85;background:#fff6e3;border-radius:50%;position:absolute;inset:32%}.ships-cell.hit{background:#e8574f}.ships-cell.hit:after,.ships-cell.sunk:after{content:"✕";color:#fff6e3;place-items:center;font-size:.9em;font-weight:700;display:grid;position:absolute;inset:0}.ships-cell.sunk{background:#8a2c2a}.ships-cell.last{box-shadow:0 0 0 2px #f5b72f}.ships-cell.picked{z-index:2;box-shadow:0 0 0 3px var(--p-accent,#f08357);background:#5aa3cf;animation:.5s ease-in-out infinite ships-aim}.ships-cell:disabled{opacity:1}.ships-title{text-align:center;margin:4px 0 0;font-weight:700}.ships-title small{color:var(--p-muted,#a9b8b0);font-weight:400}.ships-last{text-align:center;color:var(--p-muted,#a9b8b0);margin:0;font-size:13.5px}.ships-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ships-turn{z-index:7;text-align:center;background:var(--p-accent,#f08357);color:var(--p-accent-fg,#1b120e);border-radius:999px;margin:0;padding:6px 12px;font-size:.85rem;font-weight:800;position:sticky;top:0;box-shadow:0 4px 10px #00000059}@keyframes ships-turn-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.ships-turn{animation:none}}.ships-board-wrap{position:relative}.ships-flash,.turn-flash{pointer-events:none;z-index:3;color:#fff;text-shadow:0 2px #00000080,0 0 18px #0000008c;place-items:center;font:700 clamp(34px,11vw,56px)/1 Fredoka,system-ui,sans-serif;animation:1.6s ease-out forwards ships-flash;display:grid;position:absolute;inset:0}@keyframes ships-flash{0%{opacity:0;transform:scale(.7)}15%{opacity:1;transform:scale(1.08)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.ships-flash,.turn-flash{animation:1.8s linear forwards ships-flash-rm}@keyframes ships-flash-rm{0%,80%{opacity:1}to{opacity:0}}}@keyframes ships-aim{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}@keyframes ships-splash{0%{opacity:1;transform:scale(.2)}to{opacity:.85;transform:scale(1)}}@keyframes ships-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}@keyframes ships-boom{0%{opacity:0;transform:scale(.2)rotate(-30deg)}55%{opacity:1;transform:scale(1.5)rotate(8deg)}to{transform:scale(1)rotate(0)}}@keyframes ships-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-1px)}}.ships-board:not(.small) .ships-cell.miss:after{animation:.45s ease-out ships-splash}.ships-board:not(.small) .ships-cell.miss:before{content:"";pointer-events:none;border:2px solid #fff6e3;border-radius:50%;animation:.6s ease-out forwards ships-ring;position:absolute;inset:20%}.ships-board:not(.small) .ships-cell.hit,.ships-board:not(.small) .ships-cell.sunk{animation:.35s ease-in-out ships-shake}.ships-board:not(.small) .ships-cell.hit:after,.ships-board:not(.small) .ships-cell.sunk:after{animation:.5s ease-out ships-boom}@media (prefers-reduced-motion:reduce){.ships-cell,.ships-cell:before,.ships-cell:after{animation:none!important}}.uno-chat-dock{z-index:6;pointer-events:none;justify-content:flex-end;margin-top:8px;display:flex;position:sticky;bottom:8px}.uno-chat-dock>*{pointer-events:auto}.uno-fab{background:var(--p-accent,#f08357);width:50px;height:50px;color:var(--p-accent-fg,#1b120e);cursor:pointer;border:0;border-radius:25px;place-items:center;display:grid;box-shadow:0 6px 16px #00000073}.uno-chatbar{border:1px solid var(--p-line,#34473f);background:#1b2925;border-radius:18px;gap:8px;width:100%;padding:10px;display:grid;box-shadow:0 -6px 20px #00000073}.uno-chatbar .uno-react{justify-content:center}.ships-board:not(.small) .ships-cell.miss,.ships-board:not(.small) .ships-cell.hit,.ships-board:not(.small) .ships-cell.sunk{z-index:1}.imp-cats{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.imp-chip{font:inherit;border:1px solid var(--p-line,#34473f);color:var(--p-fg,#f1eadb);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:600}.imp-chip[aria-pressed=true]{background:var(--p-accent,#f08357);color:var(--p-accent-fg,#1b120e);border-color:var(--p-accent,#f08357)}.imp-chip:disabled{cursor:default;opacity:.75}.imp-chip[aria-pressed=true]:disabled{opacity:1}.imp-role{text-align:center;border:2px dashed var(--p-line,#34473f);border-radius:16px;gap:2px;padding:14px 12px;display:grid}.imp-role strong{font-family:var(--display);overflow-wrap:anywhere;font-size:1.9rem;line-height:1.1}.imp-role.bad strong{color:#e8574f}.imp-role small{color:var(--p-muted,#a9b8b0)}.imp-wrap{position:relative}.imp-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.imp-player{background:#ffffff0f;border-radius:12px;align-content:start;gap:3px;min-width:0;padding:8px 10px;display:grid}.imp-player strong{overflow-wrap:anywhere}.imp-player small{color:var(--p-muted,#a9b8b0);overflow-wrap:anywhere}.imp-board{background:#ffffff0f;border-radius:12px;gap:6px;padding:10px 12px;display:grid}.imp-board small{color:var(--p-muted,#a9b8b0);text-transform:uppercase;letter-spacing:.04em}.imp-board ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.imp-board li{align-items:center;gap:10px;display:flex}.imp-board li.left{opacity:.55}.imp-board li.first .imp-board-pos{color:#1b2925;background:#f5b72f}.imp-board-pos{background:#ffffff1f;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:grid}.imp-board-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.imp-player .imp-score{color:var(--p-amber,#f5b72f);font-weight:700}.imp-player.turn{background:#f5b72f38}.imp-player.out{box-shadow:inset 0 0 0 2px #e8574f}.imp-player.left{opacity:.55}.imp-clue{font-family:var(--display);overflow-wrap:anywhere;font-size:1.1rem;font-weight:700}.imp-vote{justify-self:start;margin-top:4px}.imp-form{gap:8px;display:flex}.imp-form input{min-width:0;font:inherit;border:1px solid var(--p-line,#34473f);color:var(--p-fg,#f1eadb);background:#ffffff0f;border-radius:12px;flex:1;padding:10px 12px;font-size:16px}.imp-result{text-align:center;background:#e8574f29;border-radius:16px;gap:4px;padding:14px 12px;display:grid}.imp-result.win{background:#5cc3b52e}.imp-result strong{font-family:var(--display);overflow-wrap:anywhere;font-size:1.9rem;line-height:1.1}.imp-result small{color:var(--p-muted,#a9b8b0)}@media (prefers-reduced-motion:no-preference){.imp-player.turn{animation:1.6s ease-in-out infinite ships-turn-pulse}}.lk-question{font-family:var(--display);text-align:center;overflow-wrap:anywhere;background:#f5b72f24;border-radius:16px;padding:16px 14px;font-size:1.5rem;font-weight:700;line-height:1.2}.lk-ballot{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.lk-pick{overflow-wrap:anywhere;min-height:44px;font-weight:700}.lk-podium{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lk-podium li{background:#ffffff0f;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"medal name count""medal bar bar";align-items:center;gap:2px 10px;padding:10px 12px;display:grid}.lk-podium li.first{background:#f5b72f33}.lk-medal{grid-area:medal;font-size:1.8rem;line-height:1}.lk-name{font-family:var(--display);overflow-wrap:anywhere;grid-area:name;font-size:1.15rem;font-weight:700}.lk-podium b{white-space:nowrap;grid-area:count;font-size:.9rem}.lk-bar{background:#ffffff1a;border-radius:999px;grid-area:bar;height:8px;overflow:hidden}.lk-bar i{background:var(--p-accent,#f08357);border-radius:999px;height:100%;display:block}.lk-votes{color:var(--p-muted,#a9b8b0);font-size:.9rem}.lk-votes summary{cursor:pointer;padding:4px 0}.lk-votes ul{gap:2px;margin:4px 0 0;padding-left:18px;display:grid}.lk-votes b{color:var(--p-fg,#f1eadb)}
