@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600&family=Dancing+Script:wght@600;700&family=Lora:ital,wght@0,500;0,600;1,500&display=swap";:root{--ink:#f6eedf;--ink-soft:#f6eedfbd;--glass:#1216289e;--glass-strong:#121628cc;--line:#ffdca038;--amber:#ffc54d;--night:#1b2438;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--night);height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}.app{position:fixed;inset:0}.stage{touch-action:none;inset:0;position:absolute!important}.hud{pointer-events:none;position:absolute;inset:0}.hud button,.hud textarea,.joystick{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.title{top:calc(28px + var(--safe-t));left:calc(32px + var(--safe-l));text-shadow:0 2px 18px #0a0814b3;transition:opacity 1.6s,transform 1.6s;position:absolute}.title h1{letter-spacing:.01em;color:#ffe2a8;margin:0;font-family:Lora,Georgia,serif;font-size:clamp(30px,5vw,52px);font-weight:600}.title p{color:var(--ink-soft);margin:6px 0 0;font-family:Lora,Georgia,serif;font-size:clamp(15px,1.8vw,19px);font-style:italic}.title.is-gone{opacity:0;transform:translateY(-6px)}.top-actions{top:calc(16px + var(--safe-t));right:calc(16px + var(--safe-r));gap:8px;display:flex;position:absolute}.icon-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.icon-btn svg{width:22px;height:22px;fill:var(--ink);stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.icon-btn[aria-pressed=true]{border-color:#ffc54d99}.controls-hint,.gaze-hint,.toast{background:var(--glass);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.controls-hint{bottom:calc(28px + var(--safe-b));animation:1.2s 1.2s both fade-in}.gaze-hint{bottom:calc(28px + var(--safe-b));pointer-events:auto;align-items:center;gap:12px;display:flex}.link-btn{color:var(--amber);background:0 0;border:0;padding:4px 2px;font-weight:500}.toast{top:calc(84px + var(--safe-t));color:#ffe7b5;white-space:normal;text-align:center;font-family:Lora,Georgia,serif;font-size:16px;font-style:italic;animation:5.2s both toast}.prompt{left:50%;bottom:calc(40px + var(--safe-b));background:var(--glass-strong);-webkit-backdrop-filter:blur(8px);border:1px solid #ffc54d80;border-radius:999px;align-items:center;gap:10px;padding:10px 20px 10px 10px;font-size:16px;font-weight:500;animation:.35s both rise;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 0 30px #ffb44640}.prompt kbd{background:var(--amber);color:#3a2410;border-radius:8px;place-items:center;width:30px;height:30px;font-family:inherit;font-size:15px;font-weight:600;display:grid}.prompt.is-touch{left:auto;right:calc(20px + var(--safe-r));bottom:calc(44px + var(--safe-b));color:#3a2410;background:linear-gradient(#ffcf66,#eaa232);border:0;min-height:56px;padding:16px 22px;font-size:17px;animation:.35s both rise-plain;transform:none}.joystick{left:calc(24px + var(--safe-l));bottom:calc(32px + var(--safe-b));touch-action:none;place-items:center;width:132px;height:132px;display:grid;position:absolute}.joystick-ring{background:radial-gradient(circle,#12162826,#12162873);border:1.5px solid #ffe6b459;border-radius:50%;transition:border-color .2s;position:absolute;inset:12px}.joystick-ring[data-active=true]{border-color:#ffc54db3}.joystick-knob{pointer-events:none;background:radial-gradient(circle at 40% 35%,#fff1cf,#e9b24a);border-radius:50%;width:52px;height:52px;box-shadow:0 0 22px #ffbe5073}.compose-wrap{padding:16px;padding-right:calc(16px + var(--safe-r));pointer-events:none;justify-content:flex-end;align-items:flex-end;display:flex;position:absolute;inset:0}.compose{pointer-events:auto;width:min(380px,100%);max-height:100%;margin-bottom:var(--safe-b);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;flex-direction:column;animation:.35s both rise-plain;display:flex;position:relative;box-shadow:0 20px 60px #05050f80}.compose h2{color:#ffe7b5;margin:0;padding:20px 52px 4px 20px;font-family:Lora,Georgia,serif;font-size:20px;font-weight:600;line-height:1.3}.compose-close{background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:10px;right:10px}.compose-close svg{width:20px;height:20px;stroke:var(--ink-soft);stroke-width:1.8px;stroke-linecap:round}.compose-body{min-height:0;padding:8px 20px 4px;overflow-y:auto}.compose-pick{align-items:center;gap:14px;display:flex}.lotus-preview{flex:none;width:108px}.lotus-flame{transform-origin:60px 44px;animation:2.4s ease-in-out infinite flicker}.swatches{flex-direction:column;flex:1;gap:6px;display:flex}.swatch{text-align:left;background:#ffffff0a;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;min-height:40px;padding:6px 12px;display:flex}.swatch[aria-checked=true]{border-color:var(--sw);background:#ffffff17}.swatch-dot{background:var(--sw);width:18px;height:18px;box-shadow:0 0 12px var(--sw);border-radius:50%}.swatch-name{font-size:15px}.message{margin-top:12px;display:block}.message textarea{resize:none;width:100%;color:var(--ink);font:inherit;background:#080a1680;border:1px solid #ffe6b440;border-radius:12px;padding:12px 14px;font-size:16px;line-height:1.45}.message textarea::placeholder{color:#f6eedf6b;font-style:italic}.message-meta{color:#f6eedf8c;justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;display:flex}.compose-actions{gap:10px;padding:12px 20px 18px;display:flex}.btn{border:1px solid #0000;border-radius:14px;flex:1;min-height:48px;font-size:16px;font-weight:600}.btn-ghost{color:var(--ink-soft);background:#ffffff0f;border-color:#ffffff1f}.btn-primary{color:#3a2410;background:linear-gradient(#ffcf66,#eaa232);flex:1.6;box-shadow:0 6px 24px #ffaa3c59}.btn-primary:disabled{opacity:.6;cursor:default}@media (width<=640px){.title{left:calc(18px + var(--safe-l));top:calc(20px + var(--safe-t));right:172px}.compose-wrap{justify-content:center;padding:10px}.compose{border-radius:18px;width:100%}.compose h2{padding-top:16px;font-size:18px}.lotus-preview{width:84px}.swatches{flex-flow:wrap}.swatch{flex:auto;padding:6px 10px}.swatch-name{font-size:13px}.compose-actions{padding:10px 16px 14px}}@media (height<=520px){.compose-wrap{align-items:stretch}.lotus-preview{width:70px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes rise-plain{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-6px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.92,1.06)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.toast,.controls-hint{animation:none!important}}.signposts{position:absolute;inset:0;overflow:hidden}.signpost{border:1px solid var(--line);color:var(--ink);white-space:nowrap;-webkit-backdrop-filter:blur(6px);will-change:transform;background:#12162880;border-radius:999px;align-items:center;gap:6px;margin:0;padding:5px 11px 5px 8px;font-size:13px;line-height:1;transition:opacity .35s,background .2s;display:flex;position:absolute;top:0;left:0;translate:-50% -50%}.signpost:hover{background:var(--glass-strong)}.signpost[data-state=hidden]{opacity:0;pointer-events:none}.sign-arrow{width:14px;height:14px;rotate:var(--arrow,0deg);place-items:center;transition:rotate .2s;display:grid}.sign-arrow svg{width:12px;height:12px;fill:var(--amber)}.signpost[data-state=here]{translate:-50% -100%}.signpost[data-state=here] .sign-arrow{rotate:90deg}.sign-dist{color:var(--ink-soft);font-size:12px}@media (prefers-reduced-motion:reduce){.signpost,.sign-arrow{transition:none}}.boat-bar{left:calc(20px + var(--safe-l));bottom:calc(40px + var(--safe-b));align-items:center;animation:.6s both fade-in;display:flex;position:absolute}.boat-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:10px 18px 10px 14px;font-size:15px;display:flex}.boat-btn:hover{background:var(--glass-strong)}.boat-btn svg{width:18px;height:18px;stroke:var(--amber);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.boat-status{background:var(--glass);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:10px 16px;font-size:14px}.net-badge{top:calc(68px + var(--safe-t));right:calc(16px + var(--safe-r));background:var(--glass);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12.5px;display:flex;position:absolute}.net-dot{background:#8a8aa0;border-radius:50%;width:7px;height:7px}.net-badge.is-online .net-dot{background:#7fe0a0;box-shadow:0 0 6px #7fe0a0}.net-badge.is-connecting .net-dot{background:var(--amber)}.queue-chip{left:50%;top:calc(132px + var(--safe-t));background:var(--glass-strong);white-space:nowrap;pointer-events:auto;border:1px solid #ffc54d73;border-radius:999px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 10px 8px 16px;font-size:14px;animation:.4s both fade-in;display:flex;position:absolute;transform:translate(-50%)}.queue-chip small{color:var(--ink-soft);font-size:12.5px}.boat-bar{gap:10px}.ticket-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 20px 0;display:grid}.ticket-stats div{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;padding:10px 12px}.ticket-stats dt{color:var(--ink-soft);font-size:12px}.ticket-stats dd{margin:2px 0 0;font-size:15px}.ticket-stats strong{color:var(--amber);font-size:20px}.ticket-note{color:var(--ink-soft);margin:12px 20px 0;font-size:13.5px;line-height:1.5}.ticket-actions .btn{flex-direction:column;flex:1;justify-content:center;align-items:center;line-height:1.2;display:flex}.ticket-actions .btn small{opacity:.8;font-size:12px;font-weight:400}@media (width<=640px){.ticket-stats{margin:4px 16px 0}.ticket-stats strong{font-size:17px}.queue-chip{top:auto;bottom:calc(150px + var(--safe-b))}}.place-panel{width:min(420px,100%)}.place-body{min-height:0;padding:4px 20px 6px;overflow-y:auto}.place-kicker{letter-spacing:.02em;color:var(--amber);margin:18px 52px 0 20px;font-size:12.5px}.place-body .place-kicker{margin:14px 0 6px}.place-kicker+h2{padding-top:4px}.place-text{color:var(--ink);margin:8px 0;font-size:15px;line-height:1.6}.place-note{color:var(--ink-soft);margin:10px 0 4px;font-size:12.5px}.place-result{background:#ffffff0f;border-radius:12px;margin:12px 0 4px;padding:10px 14px;font-size:14.5px}.place-result.is-win{color:#ffe7b5;background:#ffc54d29}.item-icon{flex:none;width:40px;height:40px}.shop-list{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.shop-list li{background:#ffffff0d;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.shop-name{flex-direction:column;flex:1;min-width:0;font-size:15px;font-weight:500;display:flex}.shop-name small{color:var(--ink-soft);font-size:12.5px;font-weight:400}.shop-price{color:var(--ink-soft);white-space:nowrap;font-size:13px}.btn.shop-buy{min-height:40px;box-shadow:none;border-radius:12px;flex:none;padding:0 14px;font-size:14.5px}.btn-link{place-items:center;text-decoration:none;display:grid}.room-list{gap:6px;margin-top:6px;display:grid}.room-card{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff17;border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.room-card[aria-checked=true]{background:#ffc54d24;border-color:#ffc54db3}.room-card:focus-visible{outline-offset:2px;outline:2px solid #ffc54d}.room-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;display:flex}.room-price{color:#ffd98a;white-space:nowrap;font-weight:600}.room-price small,.room-meta,.room-perks{color:var(--ink-soft);font-size:12.5px;font-weight:400}.room-tag{color:#ffd98a;margin-left:8px;font-style:normal}.room-nights{align-items:center;gap:10px;margin-top:8px;font-size:14px;display:flex}.room-nights strong{text-align:center;min-width:1.2em}.step-btn{width:34px;height:34px;color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:10px;font-size:18px}.step-btn:disabled{opacity:.4;cursor:default}.room-total{color:#ffd98a;margin-left:auto}.hotel-panel .place-body{max-height:min(62vh,560px);overflow-y:auto}.hotel-panel .room-card{padding:8px 12px}.rest-overlay{z-index:40;color:var(--ink);text-align:center;background:radial-gradient(at 50% 40%,#181c3aeb,#060812fa);place-items:center;padding:16px;animation:1.2s both rest-in;display:grid;position:fixed;inset:0}.rest-overlay h2{margin:6px 0 4px;font-family:Lora,Georgia,serif;font-weight:500}.rest-overlay p{color:var(--ink-soft);margin:0 0 18px}.rest-moon{border-radius:50%;width:56px;height:56px;margin:0 auto;box-shadow:inset -14px -6px #ffe6a8}.rest-z{letter-spacing:6px;color:#ffe6a8;height:28px;font-size:20px;animation:2.4s ease-in-out infinite rest-z;display:block}.rest-bar{background:#ffffff1f;border-radius:4px;width:min(240px,70vw);height:4px;margin:0 auto 18px;overflow:hidden}.rest-bar span{transform-origin:0;height:100%;animation:rest-bar var(--rest-ms,8s) linear both;background:#ffc54d;display:block}@keyframes rest-in{0%{opacity:0}}@keyframes rest-z{0%,to{opacity:.3;transform:translateY(4px)}50%{opacity:1;transform:translateY(-4px)}}@keyframes rest-bar{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.rest-overlay,.rest-z{animation:none}}.baichoi-call{background:linear-gradient(#a8322a73,#a8322a33);border:1px solid #ffc54d59;border-radius:14px;flex-direction:column;gap:4px;min-height:92px;margin-top:6px;padding:14px 16px;display:flex}.baichoi-call strong{color:#ffe7a8;font-family:Lora,Georgia,serif;font-size:24px}.baichoi-call span{color:var(--ink);font-size:14.5px;font-style:italic;line-height:1.5}.baichoi-call.is-animated{animation:.4s both rise-plain}.baichoi-hand{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.baichoi-card{text-align:center;color:#7a1f18;background:#f4ead2;border:3px solid #f4ead2;border-radius:10px;place-items:center;min-height:92px;padding:8px;font-family:Lora,Georgia,serif;font-size:16px;font-weight:600;transition:transform .3s,box-shadow .3s;display:grid;box-shadow:inset 0 0 0 2px #a8322a}.baichoi-card.is-called{box-shadow:inset 0 0 0 2px #a8322a, 0 0 0 3px var(--amber), 0 8px 24px #ffc54d59;transform:translateY(-4px)rotate(-2deg)}.btn-primary.is-ready{animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px #ffc54d40,0 6px 24px #ffaa3c73}}.calli{flex-direction:column;align-items:center;gap:10px;margin:6px 0 0;display:flex}.calli-paper{background:radial-gradient(circle at 30% 20%,#d8443a,#b52a22);border-radius:4px;place-items:center;width:200px;min-height:150px;padding:18px 10px;display:grid;box-shadow:0 10px 30px #00000059,inset 0 0 0 6px #ffd77840}.calli-word{text-align:center;color:#141010;font-family:Dancing Script,Lora,cursive;font-size:54px;font-weight:700;line-height:1.1;animation:1.4s both brush}@keyframes brush{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.calli figcaption{color:var(--ink-soft);font-size:14px}.photo-flash{pointer-events:none;background:#fff;animation:.5s ease-out both flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.85}to{opacity:0}}.photo-bar{left:50%;bottom:calc(28px + var(--safe-b));background:var(--glass-strong);border:1px solid var(--line);pointer-events:auto;border-radius:999px;align-items:center;gap:16px;padding:10px 18px;display:flex;position:absolute;transform:translate(-50%)}.photo-poses{gap:6px;display:flex}.photo-poses .swatch{padding:6px 12px;font-size:13.5px}.shutter{background:0 0;border:3px solid #fff;border-radius:50%;place-items:center;width:58px;height:58px;padding:0;display:grid}.shutter span{background:#fff;border-radius:50%;width:44px;height:44px}.photo-result{object-fit:contain;border-radius:6px;width:100%;max-height:52vh;margin-top:6px;display:block}.journal-btn{position:relative}.icon-btn:disabled{opacity:.45}.badge{background:var(--amber);color:#3a2410;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:grid;position:absolute;top:-3px;right:-3px}.stamps{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.stamps li{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:6px 4px;display:flex}.stamp{width:38px;height:38px;color:var(--ink-soft);border:2px dashed #ffffff40;border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.stamps li.is-done .stamp{color:#ff8a7a;transform:rotate(var(--rot));background:#d8443a1f;border:2px solid #d8443a;font-size:18px;font-weight:700}.stamp-text{flex-direction:column;flex:1;min-width:0;font-size:14.5px;display:flex}.stamp-text small{color:var(--ink-soft);font-size:12.5px}.carry-chip{left:calc(20px + var(--safe-l));bottom:calc(40px + var(--safe-b));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 8px;animation:.35s both rise-plain;display:flex;position:absolute}.carry-chip .item-icon{width:30px;height:30px}.carry-dot{background:#d8352a;border-radius:4px;width:24px;height:24px;margin:3px}.carry-dot.is-scroll{border-radius:2px;width:16px;box-shadow:0 -3px #4a2e1f,0 3px #4a2e1f}.carry-name{font-size:14px}.carry-btn{color:#3a2410;background:linear-gradient(#ffcf66,#eaa232);border:0;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:4px 12px 4px 6px;font-size:14px;font-weight:600;display:flex}.carry-btn kbd{background:#3a24102e;border-radius:6px;place-items:center;width:22px;height:22px;font-family:inherit;font-size:12px;display:grid}@media (width<=640px){.carry-chip{left:calc(16px + var(--safe-l));bottom:calc(196px + var(--safe-b))}.photo-bar{gap:10px;padding:8px 12px}}.ticket-body{min-height:0;overflow-y:auto}.boat-kinds{margin:10px 20px 0}.boat-kinds .room-card{padding:8px 12px}@media (width<=640px){.boat-kinds{margin:8px 16px 0}}@media (width>=900px) and (pointer:fine),(width>=1100px){.journal-panel{width:min(780px,100%)}.compose-wrap:has(.journal-panel){padding-top:calc(var(--safe-t) + 104px);align-items:flex-start}.journal-panel .stamps{grid-template-columns:1fr 1fr;column-gap:22px}}.photo-turn{align-items:center;gap:10px;display:flex}.photo-turn .step-btn{border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid}.photo-turn .step-btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.journal-tabs{flex-wrap:wrap;gap:8px;margin:2px 0 12px;display:flex}.journal-tabs .swatch[aria-selected=true]{border-color:var(--amber);color:var(--ink);background:#ffc54d2e}.room-view{color:#9fd0ff;margin-top:3px;font-size:13px;display:block}.room-fade{opacity:0;pointer-events:none;z-index:30;background:#05070d;transition:opacity .4s;position:fixed;inset:0}.room-fade.is-on{opacity:1;pointer-events:auto}.room-chip{top:calc(16px + var(--safe-t));left:calc(16px + var(--safe-l));border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);max-width:min(46vw,420px);color:var(--ink-soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:8px 14px;font-size:13px;animation:.5s both fade-in;display:flex;position:absolute}.room-chip strong{color:var(--ink);font-size:15px;font-weight:600}.room-wifi .wifi-bars{vertical-align:-4px;width:18px;height:18px}.wifi-bars path{stroke:#7fe0a0;stroke-width:2.2px;fill:none;stroke-linecap:round}.wifi-bars circle{fill:#7fe0a0}.room-tools{top:calc(112px + var(--safe-t));right:calc(16px + var(--safe-r));flex-direction:column;align-items:flex-end;gap:6px;max-height:calc(100% - 200px);animation:.5s both fade-in;display:flex;position:absolute;overflow-y:auto}.room-group{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.room-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:14px;display:flex}.room-btn:hover{background:var(--glass-strong)}.room-btn[aria-pressed=true]{border-color:#ffc54db3;box-shadow:0 0 14px #ffb44640}.room-btn svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.room-btn.is-go{color:#ffe2a8;padding-left:14px}.room-btn.is-exit{color:#ffb4a0}.room-sep{background:var(--line);width:60%;height:1px;margin:4px 0}.room-channel{background:var(--glass-strong);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.room-channel span{text-align:center;min-width:150px}.room-ctx{left:50%;bottom:calc(36px + var(--safe-b));flex-wrap:wrap;justify-content:center;gap:8px;width:max-content;max-width:calc(100% - 32px);animation:.35s both rise;display:flex;position:absolute;transform:translate(-50%)}.room-ctx .boat-btn{color:var(--ink);font:inherit;cursor:pointer;padding:10px 18px;font-size:15px}.room-ctx .boat-btn[aria-pressed=true]{color:#ffe2a8;border-color:#ffc54dbf}.room-ctx .boat-btn:disabled{opacity:.5;cursor:default}.room-ctx .boat-btn.is-quiet{color:var(--ink-soft)}.wifi-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;gap:10px;margin:4px 0 8px;padding:14px 16px;display:grid}.wifi-row{align-items:center;gap:10px;font-size:14px;display:flex}.wifi-row>span{width:84px;color:var(--ink-soft)}.wifi-row .wifi-bars{vertical-align:-4px;width:18px;height:18px}.wifi-pass{letter-spacing:.04em;font-family:ui-monospace,Menlo,monospace}.wifi-on{color:#a8f0c0}@media (width<=640px){.room-chip{max-width:calc(100% - 200px);font-size:12px}.room-tools{top:calc(118px + var(--safe-t));left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));scrollbar-width:none;flex-direction:row;align-items:center;gap:5px;max-height:none;padding-bottom:4px;overflow:auto hidden}.room-group{flex-direction:row;align-items:center}.room-sep{flex:none;width:1px;height:24px;margin:0 2px}.room-btn{min-height:34px;padding:5px 11px 5px 8px;font-size:13px}.room-channel span{min-width:110px}.room-ctx .boat-btn{padding:8px 13px;font-size:14px}}
