:root{--glass: #22322675;--glass-line: #ffffff35;--cream: #fff9e9;--paper: #f7f4e8;--ink: #344332;--accent: #efd7a5;--safe-top: env(safe-area-inset-top);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);--safe-bottom: env(safe-area-inset-bottom)}*{box-sizing:border-box}html,body{width:100%;height:100%;overscroll-behavior:none}html{position:fixed;inset:0;overflow:hidden;background:#1f2b24}body{margin:0;overflow:hidden;font:13px Noto Sans KR,sans-serif;color:var(--cream);background:#1f2b24;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#world{position:fixed;inset:0;height:100dvh}canvas{display:block;touch-action:none}header{position:fixed;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.room-pill,.tools,nav{pointer-events:auto;display:flex;align-items:center;background:var(--glass);border:1px solid var(--glass-line);border-radius:36px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 3px 20px #15231c20}.room-pill{padding:9px 10px 9px 22px;gap:15px;letter-spacing:.3px;min-width:0}.room-pill strong{font:700 24px Gowun Batang,serif;white-space:nowrap;flex-shrink:0}.room-pill>span{font-size:12px;white-space:nowrap}.room-pill{cursor:pointer}.place-menu{position:fixed;left:max(16px,var(--safe-left, 0px));top:calc(max(10px,var(--safe-top)) + 64px);z-index:8;pointer-events:auto;display:flex;flex-direction:column;gap:4px;min-width:200px;padding:6px;border-radius:18px;background:#1d2a22ee;border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 30px #0005}.place-menu[hidden]{display:none}.place-hint{position:fixed;left:max(16px,var(--safe-left, 0px));top:calc(max(10px,var(--safe-top)) + 70px);z-index:8;pointer-events:auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:14px;background:#f3d9a0;color:#2a1f12;font-size:15px;font-weight:800;text-align:left;box-shadow:0 8px 24px #0006;animation:place-hint-bob 1.2s ease-in-out infinite}.place-hint small{font-size:11px;font-weight:600;opacity:.75}.place-hint:before{content:"";position:absolute;top:-8px;left:var(--tail, 168px);border:8px solid transparent;border-top:0;border-bottom-color:#f3d9a0}.place-hint[hidden]{display:none}body:has(#place-hint:not([hidden])) .guide{visibility:hidden}body.touch-layout .place-menu,body.touch-layout .place-hint{left:max(12px,var(--safe-left));top:calc(max(10px,var(--safe-top)) + 58px)}@keyframes place-hint-bob{50%{transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.place-hint{animation:none}}.place-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 14px;border-radius:12px;text-align:left}.place-item strong{font-size:15px}.place-item small{font-size:11px;opacity:.7}.place-item:hover{background:#ffffff14}.place-item[aria-current=true]{background:#3a1d22d0;box-shadow:inset 0 0 0 2px #f3d9a0}.place-item[aria-disabled=true]{opacity:.5}.place-story{font-size:13px;border-top:1px solid #ffffff20;border-radius:0 0 12px 12px;padding-top:12px}.divider{height:19px;width:1px;background:#ffffff40}.room-pill button,.tools button{width:39px;height:39px;display:grid;place-items:center}.room-pill svg{width:16px}.tools{padding:6px;gap:3px}.tools svg{width:20px;stroke-width:1.5}.guide{position:fixed;top:88px;left:50%;transform:translate(-50%);font-size:11px;white-space:pre-line;text-align:center;text-shadow:0 1px 5px #0008;pointer-events:none;opacity:.9;transition:opacity 1s}.guide.faded{opacity:.35}#toast{position:fixed;left:50%;bottom:152px;transform:translate(-50%);padding:10px 19px;border-radius:25px;background:#203025ac;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}#toast.show{opacity:1}footer{position:fixed;bottom:17px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}nav{position:absolute;left:50%;bottom:0;transform:translate(-50%);padding:5px 13px;gap:9px}nav button{min-width:70px;padding:10px 11px;border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;transition:background .2s}nav button:hover,nav button.active{background:#ffffff24}nav svg{width:23px;height:23px;stroke-width:1.5}.demo{font-size:10px;line-height:1.9;text-shadow:0 1px 5px #0008}.demo span{display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:#c5d89c}.demo small{display:block;font-size:9px;opacity:.7;padding-left:12px}.demo.connected span,.demo.connected b{display:none}.demo.connected small{padding-left:0}#activity{font-size:10px;opacity:.7;padding-bottom:5px;text-shadow:0 1px 5px #0008}#date-open-title:focus{outline:none}.date-contact-label{display:block;margin-top:10px;font-weight:700;font-size:14px}.date-contact-label b{font-weight:400;opacity:.7}.date-dialog input{display:block;width:100%;height:44px;margin:8px 0;padding:0 12px;box-sizing:border-box;border-radius:10px;border:1px solid #d9d4c5;background:#fffdf6;color:#1d1a17;font:500 16px Noto Sans KR,sans-serif}.date-bar{position:fixed;left:50%;top:calc(max(10px,var(--safe-top)) + 62px);transform:translate(-50%);z-index:6;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:min(360px,calc(100% - 24px));box-sizing:border-box;padding:8px 10px;border-radius:14px;background:#3a1d22e6;border:1px solid #f3d9a0;color:#fbf6ec;font-size:13px}.date-bar[hidden],.date-bar [hidden]{display:none!important}#date-bar-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-weight:700}.date-actions{display:flex;gap:6px}.date-bar button,.date-bar a{flex:1 1 0;min-width:0;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 6px;border-radius:10px;background:#fff2;color:inherit;font-size:12px;text-decoration:none}.date-bar button svg{width:14px}.date-bar #date-like.active,.date-bar #date-walk.active{background:#d1394f}.date-bar a{flex:1.8 1 0;background:#f3d9a0;color:#3a1d22;font-weight:700}.resting{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;display:grid;gap:6px;padding:16px 22px;max-width:calc(100% - 48px);border-radius:16px;background:#1d2a22e0;border:1px solid #fff3;text-align:center;pointer-events:none}.resting[hidden]{display:none}.resting strong{font-size:16px}.resting span{font-size:12px;opacity:.85;line-height:1.5}#chat{position:fixed;left:50%;bottom:96px;transform:translate(-50%);width:min(420px,calc(100% - 32px));display:flex;gap:6px;padding:5px;border-radius:14px;background:#1d1a17b8;border:1px solid #fff3;z-index:4}#chat input{flex:1;min-width:0;height:36px;padding:0 12px;border-radius:10px;border:0;background:#fffdf6;color:#1d1a17;font:500 16px Noto Sans KR,sans-serif}#chat input:not(:focus){background:#fffdf6cc}#chat button{width:40px;height:36px;display:grid;place-items:center;border-radius:10px;background:#7d1f2b;color:#fff}#chat button svg{width:18px}#chat-log{position:fixed;left:16px;bottom:150px;width:min(320px,calc(100% - 32px));display:flex;flex-direction:column;gap:3px;pointer-events:none;z-index:3;transition:opacity .8s}#chat-log p{pointer-events:auto}#chat-log.idle{opacity:.35}#chat-log.expanded{pointer-events:auto;max-height:45vh;overflow-y:auto;overscroll-behavior:contain;touch-action:none;padding:8px;border-radius:12px;background:#1d1a17cc;display:block}#chat-log.expanded p{margin-bottom:3px;width:fit-content}#chat #chat-history{flex:none;width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:10px;border:0;background:#fff2;color:#fffdf6}#chat #chat-history[aria-pressed=true]{background:#f3d58a;color:#1d1a17}#chat #chat-history svg{width:18px;height:18px}#chat-log p{align-self:flex-start;margin:0;padding:3px 9px;border-radius:8px;background:#1d1a17a6;color:#fffdf6;font-size:12px;line-height:1.5;overflow-wrap:anywhere}#chat-log strong{color:#f3d58a;font-weight:700}body.entering #chat,body.entering #chat-log{visibility:hidden}.capture-mode #chat,.capture-mode #chat-log{display:none!important}#joystick{display:none;position:fixed;left:calc(max(18px,var(--safe-left)) + 56px);top:calc(100dvh - 190px - var(--safe-bottom));width:104px;height:104px;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed #f3eed170;background:#263d3130;pointer-events:none;z-index:3;opacity:.6;transition:opacity .2s,background .2s}#joystick span{position:absolute;left:31px;top:31px;width:42px;height:42px;border-radius:50%;background:#f3eed286;border:1px solid #fff8}#joystick:after{content:"이동";position:absolute;left:0;right:0;bottom:-18px;text-align:center;font-size:9px;opacity:.8}#joystick.engaged{opacity:1;border-style:solid;border-color:#fff4ce;background:#304e3699;transition:none}#joystick.engaged:after{display:none}dialog{width:calc(100% - 36px);max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;touch-action:pan-y;padding:32px;border:1px solid #ece9d6;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0005;-webkit-user-select:text;user-select:text}dialog::backdrop{background:#16251c77;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog h2{font:700 29px/1.5 Gowun Batang,serif}dialog small{font-size:9px;letter-spacing:2px;color:#8a957e}dialog p{font-size:12px;line-height:1.9}dialog .note{font-size:10px;color:#819074}dialog a{font-size:11px;color:#52704a}dialog hr{border:0;border-top:1px solid #dfe1d3;margin:22px 0}#close{position:absolute;right:20px;top:14px;font-size:25px}#asset-loading{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#243c32;color:#f1f2df;font-size:13px;letter-spacing:.03em}#asset-loading.ready{display:none}.confirm{max-width:340px;padding:26px 24px 20px;text-align:center}.confirm h2{margin:0 0 8px;font:700 24px/1.3 Gowun Batang,serif}.confirm p{margin:0 0 20px;font-size:13px;line-height:1.6;color:#5f6b59}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-actions button{height:48px;border-radius:14px;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}.confirm-cancel{background:#e9e6da;color:var(--ink)}.confirm-ok{background:#7d1f2b;color:#fbf6ec}.confirm-ok svg{width:18px}.truck-items{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.truck-item{display:flex;align-items:center;gap:8px;height:52px;padding:0 12px;border-radius:14px;background:#f1ebdb;color:var(--ink);font-size:14px;text-align:left}.truck-item span{font-size:22px}.truck-item:hover{background:#e6dcc3}.truck-close button{width:100%;height:44px;border-radius:14px;font-weight:700}.perks{max-width:380px;max-height:86vh;overflow-y:auto}.perks h3{margin:14px 0 8px;font-size:14px;text-align:left}.perks h3 small{font-weight:400;color:#7a8574;margin-left:4px;font-size:12px;letter-spacing:0}.perk-weather{margin:0 0 4px!important}.stamps{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.stamp{display:grid;place-items:center;height:34px;border-radius:10px;background:#f1ebdb;color:#a39a83;font-size:12px}.stamp.on{background:#fde3ea;font-size:18px}.patterns{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pattern{height:40px;border-radius:12px;font-size:13px;font-weight:700;color:var(--ink);background:repeating-linear-gradient(90deg,var(--a) 0 10px,color-mix(in srgb,var(--b) 35%,var(--a)) 10px 14px);border:2px solid transparent}.pattern.active{border-color:var(--ink)}.pattern:disabled{opacity:.45}.perk-quest{margin:14px 0 10px!important;padding:10px 12px;border-radius:12px;background:#f6f1e4;text-align:left}.perk-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.perk-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px;padding:10px 4px;border-radius:14px;background:#f1ebdb;color:var(--ink);font-size:14px;font-weight:700;line-height:1.25;word-break:keep-all;white-space:nowrap}.perk-actions button small{font-size:11px;font-weight:400;color:#7a8574;letter-spacing:0;white-space:nowrap}.perk-actions button.dim{opacity:.5}.game{max-width:380px}dialog.game{position:fixed;top:10px;left:0;right:0;margin:0 auto;z-index:5;padding:16px 18px;max-height:calc(100dvh - 300px);min-height:0}dialog.game h2{font-size:22px}dialog.game .game-rule{padding:6px 10px;font-size:11.5px!important}dialog.game .game-pick{min-height:46px}.game-rule{margin:0 0 10px!important;padding:10px 12px;border-radius:12px;background:#f6f1e4;font-size:12.5px!important;line-height:1.6!important;text-align:left}.game-timer{height:6px;margin:0 0 12px;border-radius:3px;background:#ece5d3;overflow:hidden}.game-timer i{display:block;height:100%;background:#d9622b;transition:width .2s linear}.game-picks{display:grid;gap:8px;margin:8px 0 10px}.game-pick{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:58px;padding:10px 14px;border-radius:14px;background:#f1ebdb;color:var(--ink);font-size:16px;font-weight:800;text-align:left;border:2px solid transparent}.game-pick[hidden]{display:none}.game-pick .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#d9622b38;transition:width .6s ease-out}.game-pick span,.game-pick b{position:relative}.game-pick b{font-size:13px;white-space:nowrap}.game-pick.active{border-color:#7d1f2b}.game-pick.win{background:#fff1c9}.game-pick:disabled{cursor:default}.game-tally{margin:0 0 12px!important;font-weight:700;color:var(--ink)!important}.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.game-actions button{height:46px;border-radius:14px;background:#f1ebdb;color:var(--ink);font-weight:800;font-size:14px}.game-maker{display:grid;gap:8px;margin-bottom:10px}.game-maker[hidden]{display:none}.game-maker input{height:44px;padding:0 12px;border-radius:12px;border:1px solid #d8cfb8;font-size:16px}.game-maker button{height:44px;border-radius:12px}.game-maker small{font-size:11px;color:#7a8574}.game-cta #game-open{background:#7d1f2b}.scoot-cta{bottom:calc(238px + env(safe-area-inset-bottom))}#scoot-cta{padding:5px;gap:6px}#scoot-cta button{height:38px;padding:0 14px;font-size:14px}.scoot-cta #scoot-on{background:#2bb3a3}.scoot-cta #scoot-call{background:linear-gradient(135deg,#17191d,#3a3220);color:#f6e3a8;border:1px solid #d9b25f}.perk-actions .perk-site{grid-column:1 / -1;min-height:64px;background:#7d1f2b;color:#fff;font-size:16px}.perk-actions .perk-site small{color:#fbe3e8}.scoot-cta #scoot-off{background:#ffffff26;color:#fbf6ec}.scoot-cta #torch-toggle{background:#3a3a2a;color:#f8e7a6;border:1px solid #c9a84f}.scoot-cta #torch-toggle[aria-pressed=true]{background:#f2d36b;color:#2a2414}.note-board{max-width:380px}.note-list{list-style:none;margin:0 0 14px;padding:0;max-height:46vh;overflow-y:auto;display:grid;gap:8px;text-align:left}.note-list li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;border-radius:12px;background:#fff7c9}.note-list li:nth-child(3n+2){background:#ffe0e8}.note-list li:nth-child(3n){background:#d8f0fb}.note-list li.empty{display:block;background:#f1ebdb;color:#7a8574}.note-list p{grid-column:1;margin:0!important;font-size:15px!important;color:var(--ink)!important;word-break:keep-all;overflow-wrap:anywhere}.note-list small{grid-column:1;font-size:11px;color:#7a8574}.note-list button{grid-column:2;grid-row:1 / span 2;align-self:center;padding:6px 10px;border-radius:10px;font-size:12px;background:#0000000f;color:#6b5a50}#note-text{width:100%;height:44px;margin-bottom:14px;padding:0 12px;border-radius:12px;border:1px solid #d8cfb8;font-size:16px}.hoop-cta{position:fixed;left:50%;bottom:calc(178px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:8px;padding:8px;border-radius:999px;background:#212c1fd1;color:#fbf6ec}.hoop-cta[hidden]{display:none}.hoop-cta span{padding:0 8px;font-size:13px;white-space:nowrap}.hoop-cta button{height:44px;padding:0 16px;border-radius:999px;font-size:15px;font-weight:800;background:#d9622b;color:#fff;white-space:nowrap}.hoop-cta #hoop-challenge{background:#fbf6ec;color:#7d1f2b}.hoop-gauge{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-right:28px;touch-action:none}.hoop-gauge[hidden]{display:none}.hoop-gauge p{order:-1;max-width:140px;padding:10px 14px;border-radius:14px;background:#212c1fd1;color:#fbf6ec;font-weight:700;text-align:center}.hoop-bar{position:relative;width:34px;height:46vh;border-radius:17px;background:linear-gradient(#e85a4f,#f5c24b 40%,#f1ebdb);border:3px solid #fbf6ec;box-shadow:0 6px 20px #0000004d}.hoop-sweet{position:absolute;left:0;right:0;bottom:61%;height:22%;background:#4caf6a;border-radius:6px}#hoop-marker{position:absolute;left:-10px;right:-10px;height:8px;margin-bottom:-4px;border-radius:4px;background:#1f2a1d;box-shadow:0 0 0 2px #fbf6ec}.hoop-flash{position:fixed;left:50%;top:28%;z-index:25;transform:translate(-50%,10px) scale(.9);opacity:0;pointer-events:none;font:900 34px/1.2 Noto Sans KR,sans-serif;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 18px rgba(0,0,0,.35);white-space:nowrap;transition:.18s}.hoop-flash.show{opacity:1;transform:translate(-50%) scale(1)}.hoop-flash.good{color:#ffd34d}.hoop-flash.bad{color:#f1ebdb}.hoop-quit{position:fixed;top:calc(84px + env(safe-area-inset-top));right:16px;height:44px;padding:0 16px;border-radius:999px;background:#212c1fdb;color:#fbf6ec;font-size:15px;font-weight:800}.hoop-cta #hoop-stop{background:#ffffff26;color:#fbf6ec}.hoop-big{font:900 44px/1.1 Noto Sans KR,sans-serif!important;color:#d9622b!important;margin:4px 0 6px!important}.entry{position:fixed;inset:0;z-index:50;pointer-events:none}.entry[hidden]{display:none}.entry:after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,#0f1a1400,#0f1a14d9)}.entry-title{position:absolute;top:max(22px,var(--safe-top));left:max(24px,var(--safe-left));text-shadow:0 2px 12px #0007}.entry-kicker{margin:0;font-size:11px;letter-spacing:3px;opacity:.85}.entry-title h1{margin:2px 0 4px;font:700 44px/1.1 Gowun Batang,serif}.entry-lead{margin:0;font-size:14px;opacity:.9}.entry-bar{position:absolute;z-index:1;pointer-events:auto;left:50%;bottom:calc(46px + var(--safe-bottom));transform:translate(-50%);width:min(calc(100% - 32px),760px);display:grid;grid-template-columns:auto auto 1fr auto;align-items:end;gap:16px}.entry-low{grid-column:1 / -1;justify-self:center;display:flex;align-items:center;gap:8px;font-size:12px;opacity:.85;cursor:pointer;text-shadow:0 1px 4px #0008}.entry-low input{position:absolute;opacity:0;pointer-events:none}.entry-low-switch{flex:none;position:relative;width:34px;height:20px;border-radius:10px;background:#ffffff40;transition:background .2s}.entry-low-switch:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fffdf6;transition:transform .2s}.entry-low input:checked+.entry-low-switch{background:#d1394f}.entry-low input:checked+.entry-low-switch:after{transform:translate(14px)}.entry-low:has(input:focus-visible){outline:2px solid #f3d9a0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.entry-jackets{display:flex;gap:3px;margin:0;padding:3px;min-inline-size:0;border:1px solid #ffffff30;border-radius:14px;background:#1b2a20b0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.jacket-option{display:flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:11px;font-size:14px;cursor:pointer;opacity:.75;white-space:nowrap;flex:none}.jacket-option input{position:absolute;opacity:0;pointer-events:none}.jacket-option:has(input:checked){background:#f3d9a0;color:#2a1a1c;font-weight:700;opacity:1}.jacket-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.swatch{width:14px;height:14px;border-radius:50%;border:2px solid #f1ede4}.swatch.burgundy{background:#7d1f2b}.swatch.navy{background:#1d2740}.entry-label{display:block;margin:0 0 6px;font-size:12px;font-weight:600;opacity:.9}.entry-field{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border:2px solid #ffffff55;border-radius:14px;background:#fbf6ecf0;color:var(--ink)}.entry-field:focus-within{border-color:#f3d9a0}.entry-field svg{width:20px;color:#8a957e;flex:none}.entry-field input{flex:1;min-width:0;border:0;outline:0;font:600 17px Noto Sans KR,sans-serif;color:var(--ink);background:none}.entry-error{position:absolute;margin:6px 2px 0;font-size:12px;color:#ffb4ae;text-shadow:0 1px 4px #000a}.entry-go{height:50px;padding:0 22px;display:flex;align-items:center;gap:8px;border-radius:14px;background:#7d1f2b;color:#fbf6ec;border:2px solid #f3d9a0;font-size:16px;font-weight:700;white-space:nowrap}.entry-go:hover{background:#8f2633}.entry-go svg{width:20px}.entry-note{position:absolute;z-index:1;left:0;right:0;bottom:calc(14px + var(--safe-bottom));margin:0;text-align:center;font-size:11px;opacity:.7}body.entering header,body.entering footer,body.entering #guide,body.entering #joystick,body.entering #toast{visibility:hidden}@media(max-width:640px){.entry-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;bottom:calc(34px + var(--safe-bottom))}.entry-name,.entry-go{grid-column:1 / -1}.jacket-option{height:38px;padding:0 6px;font-size:13px}.entry-bar>*{min-width:0}.entry-jackets .jacket-option{flex:1 1 0;min-width:0;justify-content:center}.entry-go{justify-content:center}.entry-title h1{font-size:36px}}body.touch-layout header{top:max(10px,var(--safe-top));left:max(12px,var(--safe-left));right:max(12px,var(--safe-right))}body.touch-layout .room-pill{padding:2px 3px 2px 13px;gap:8px}body.touch-layout .room-pill strong{font-size:22px}body.touch-layout .room-pill>span{font-size:10px}body.touch-layout .room-pill .divider{display:none}body.touch-layout .room-pill button,body.touch-layout .tools button{width:42px;height:44px;min-width:42px}body.touch-layout .tools{padding:2px;gap:0}body.touch-layout .guide{top:calc(max(10px,var(--safe-top)) + 63px);width:calc(100% - 28px);max-width:420px;font-size:10px;line-height:1.6}body.touch-layout footer{left:max(12px,var(--safe-left));right:max(12px,var(--safe-right));bottom:calc(12px + var(--safe-bottom));height:66px}body.touch-layout nav{width:min(100%,420px);gap:0;padding:3px 4px;justify-content:space-around}body.touch-layout nav button{min-width:0;flex:1 1 0;min-height:58px;padding:7px 2px;gap:5px;white-space:nowrap}body.touch-layout .demo{position:fixed;right:max(14px,var(--safe-right, 0px));top:calc(max(10px,var(--safe-top)) + 58px);bottom:auto;padding:3px 9px;border-radius:10px;background:#1d2a22b0;font-size:11px;line-height:1.6;text-align:right}body.touch-layout .demo small,body.touch-layout #activity{display:none}body.touch-layout #chat{bottom:calc(86px + var(--safe-bottom));width:calc(100% - 24px)}body.touch-layout #chat.typing{bottom:auto}body.touch-layout #chat-log{left:auto;right:12px;bottom:calc(140px + var(--safe-bottom));width:min(240px,62%);align-items:flex-end}body.touch-layout #chat-log p{align-self:flex-end;font-size:11px}body.touch-layout #scoot-cta{left:12px;transform:none;bottom:calc(146px + var(--safe-bottom))}body.touch-layout #toast{bottom:auto;top:calc(max(10px,var(--safe-top)) + 62px);max-width:calc(100% - 28px);font-size:11px;white-space:normal;text-align:center}@media(max-height:520px)and (min-aspect-ratio:3/2){body.touch-layout header{top:max(6px,var(--safe-top))}body.touch-layout .guide{top:66px;font-size:9px;max-width:300px}body.touch-layout footer{height:60px}body.touch-layout nav{left:auto;right:0;transform:none;width:290px}body.touch-layout #joystick{top:calc(100dvh - 110px - var(--safe-bottom))}body.touch-layout #chat{width:min(360px,46%);bottom:calc(72px + var(--safe-bottom))}body.touch-layout #chat-log{bottom:calc(120px + var(--safe-bottom))}}.capture-mode header,.capture-mode footer,.capture-mode #guide,.capture-mode #toast,.capture-mode #joystick{display:none!important}.debug-overlay{position:fixed;left:12px;top:116px;z-index:5;max-width:calc(100vw - 24px);padding:10px 14px;background:#fffd;color:#243a2b;font:11px/1.5 monospace;white-space:pre-wrap;border-radius:8px;pointer-events:none}#perf-hud{top:100px}#perf-run{position:fixed;left:12px;top:215px;z-index:5;padding:10px 15px;border-radius:8px;background:#eff1e6;color:#263a2a}.truck-seller:empty{display:none}.truck-seller{margin:8px 0 0!important;font-size:12px!important;color:#3a6b5f;font-weight:700}.truck-work{width:100%;margin-top:10px;padding:12px;border-radius:14px;background:#3a6b5f;color:#fff;font-weight:800;font-size:15px}.truck-work[hidden]{display:none}.truck-job{position:fixed;left:50%;bottom:17px;transform:translate(-50%);width:min(420px,calc(100% - 32px));z-index:5;padding:6px;border-radius:22px;background:#1d2a22e6;color:#fffdf6;box-shadow:0 4px 16px #0004}.truck-job[hidden]{display:none}body.on-job footer nav{display:none}.truck-job-bar{display:flex;align-items:center;gap:8px;padding:0 4px 0 10px;min-height:40px}.truck-job-bar strong{font-size:13px;white-space:nowrap}.truck-job-bar span{flex:1;min-width:0;font-size:12px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.truck-job ul{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px;max-height:24vh;overflow-y:auto}.truck-job ul:empty{display:none}.truck-job li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 6px 6px 12px;border-radius:16px;background:#fffdf6;color:var(--ink);font-size:13px;font-weight:700}.truck-job li button{min-height:34px;padding:0 14px;border-radius:12px;background:#d9622b;color:#fff;font-weight:800;font-size:13px}.truck-job #truck-quit{min-height:34px;padding:0 14px;border-radius:12px;background:#ffffff26;color:#fffdf6;font-weight:700;font-size:12px}.truck-hint{position:fixed;z-index:6;transform:translate(-50%,calc(-100% - 10px));display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 13px;border-radius:14px;background:#f3d9a0;color:#2a1f12;font-size:14px;font-weight:800;white-space:nowrap;box-shadow:0 8px 24px #0006}.truck-hint small{font-size:11px;font-weight:600;opacity:.75}.truck-hint:after{content:"";position:absolute;bottom:-8px;left:50%;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:#f3d9a0}.truck-hint[hidden]{display:none}.techno-rooms{max-width:380px;text-align:left}.techno-room-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;max-height:50vh;overflow-y:auto}.techno-room-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:#f1ebdb}.techno-room-list strong{display:block;font-size:14px}.techno-room-list span{display:block;font-size:12px;color:#5f6b59}.techno-room-list small{display:block;font-size:11px;letter-spacing:0;color:#819074}.techno-room-list a{flex:none;padding:8px 12px;border-radius:10px;background:#d9622b;color:#fff;font-size:12px;font-weight:800;text-decoration:none}.techno-room-empty{margin:0 0 8px!important}.techno-room-more{display:block;margin:0 0 12px;font-size:13px;font-weight:700;color:#3a6b5f}.npc-talk{position:fixed;left:50%;bottom:150px;transform:translate(-50%);z-index:6;padding:10px 18px;border-radius:22px;background:#ec6f9a;color:#fff;font-size:15px;font-weight:800;box-shadow:0 6px 18px #0005}.npc-talk[hidden],.npc-talk-bar[hidden]{display:none}#chat .npc-talk-bar{flex:none;display:flex;align-items:center;gap:2px;max-width:34%;height:36px;padding:0 2px 0 10px;border-radius:10px;background:#ec6f9a;color:#fff;font-size:13px;font-weight:800}#chat .npc-talk-bar[hidden]{display:none}#chat .npc-talk-bar span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#chat .npc-talk-bar button{width:28px;height:28px;border-radius:8px;background:#fff3}#chat .npc-talk-bar button svg{width:15px}#chat.private{border-color:#ec6f9a;background:#3a1f2bd0}body:has(#chat.private) #chat-log:not(.expanded){display:none}body:has(#npc-talk:not([hidden])) :is(#scoot-cta,#hoop-cta,#game-cta,#truck-hint),body:has(#chat.private) :is(#scoot-cta,#hoop-cta,#game-cta,#truck-hint){display:none}.npc-talk.soft{padding:6px 12px;font-size:12px;font-weight:700;background:#ec6f9acc;box-shadow:0 3px 10px #0003}
