:root{--ink:#eef6fb;--dim:#a9c4d6;--panel:#062238d1;--line:#a0d2f038;--sign:#ffcf3a}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:#0b3a5c;margin:0;font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif;overflow:hidden}button,input{font:inherit;color:inherit}button{border:1px solid var(--line);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:6px;padding:10px 14px}button:hover:not(:disabled){border-color:var(--ink)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--sign);border-color:var(--sign);color:#1b1003;font-weight:600}button.wide{width:100%}input:not([type=checkbox]){border:1px solid var(--line);background:#ffffff0d;border-radius:6px;outline:none;width:100%;padding:10px 12px}input:focus{border-color:var(--sign)}.stage{-webkit-user-select:none;user-select:none;position:fixed;inset:0}.view{width:100%;height:100%;display:block}.vignette{pointer-events:none;background:radial-gradient(#0000 45%,#0000009e 100%);position:absolute;inset:0}.lobby{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;width:min(360px,100vw - 32px);max-height:calc(100dvh - 24px);padding:24px;position:absolute;bottom:max(16px,7vh);left:max(16px,5vw);overflow-y:auto}.lobby h1{letter-spacing:-.01em;margin:0;font-size:34px}.lobby h1 span{color:var(--sign)}.lede{color:var(--dim);margin:6px 0 20px}.field{margin-bottom:12px;display:block}.field span{color:var(--dim);margin-bottom:6px;font-size:13px;display:block}.playing-as{color:var(--dim);margin:0 0 12px}.playing-as strong{color:var(--ink)}.back-to-chat{margin-top:8px}.splash{z-index:100;background:#000;place-items:center;display:grid;position:fixed;inset:0}.splash img{object-fit:contain;opacity:0;pointer-events:none;width:min(52vw,340px);max-height:46dvh}.splash.playing{animation:.7s ease-in 3.1s forwards splash-reveal}.splash.playing img{animation:3.1s ease-in-out forwards splash-logo}@keyframes splash-logo{0%{opacity:0;transform:scale(.97)}30%,72%{opacity:1}to{opacity:0;transform:scale(1.02)}}@keyframes splash-reveal{to{opacity:0}}.fish-picker{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;display:grid}.fish-picker button{opacity:.8;border:2px solid #0000;padding:10px 8px}.fish-picker button.picked{border-color:var(--sign);opacity:1}.picker{margin-bottom:12px}.picker-label{color:var(--dim);justify-content:space-between;margin:0 0 6px;font-size:13px;display:flex}.picker-label b{color:var(--sign);font-weight:600}.picker-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.picker-row button{opacity:.82;background:0 0;border:2px solid #0000;border-radius:6px;padding:0;display:block;overflow:hidden}.picker-row button.picked{border-color:var(--sign);opacity:1}.picker-row img{pointer-events:none;width:100%;height:auto;display:block}.divider{color:var(--dim);align-items:center;gap:10px;margin:16px 0 12px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.actions{gap:10px;display:grid}.join{grid-template-columns:1fr auto;gap:8px;display:grid}.join input{letter-spacing:.16em;text-transform:uppercase}.status{min-height:18px;color:var(--dim);margin:14px 0 0;font-size:13px}.hud-left{z-index:2;top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));pointer-events:none;justify-items:start;gap:8px;width:min(280px,45vw - 16px);min-width:200px;display:grid;position:absolute}.roster{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%;padding:12px 14px}.roster.solo{width:auto;padding:8px 14px}.room{color:var(--dim);align-items:center;gap:8px;font-size:13px;display:flex}.room strong{color:var(--ink);letter-spacing:.14em;flex:1;font-size:18px}.room button{pointer-events:auto;padding:4px 8px;font-size:12px}.count{color:var(--dim);margin:8px 0 0;font-size:13px}.roster ul{margin:8px 0 0;padding:0;font-size:14px;list-style:none}.roster li{align-items:center;gap:8px;padding:3px 0;display:flex}.roster li i{border-radius:50%;width:9px;height:9px}.chat-log{overflow-wrap:anywhere;text-shadow:0 1px 3px #000000f2;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;width:100%;max-height:36dvh;margin:0;padding:0;font-size:14px;line-height:1.3;list-style:none;display:flex;overflow:hidden}.chat-log li{background:#040a1294;border-radius:4px;flex:none;max-width:100%;padding:1px 6px;animation:.8s 10s forwards fade-away}.chat-log.open li{animation:none}.chat-log b{color:var(--sign)}.chat-log .mine b{color:#9ec6e8}.chat-log .notice{color:var(--dim);font-style:italic}.chat-entry{z-index:4;top:max(8px, env(safe-area-inset-top));background:var(--panel);border:1px solid var(--line);opacity:0;pointer-events:none;border-radius:10px;grid-template-columns:1fr auto auto;gap:8px;width:min(460px,100vw - 24px);padding:8px;display:grid;position:absolute;left:50%;transform:translate(-50%,-160%)}.chat-entry.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.chat-entry input{font-size:16px}.chat-close{min-width:44px;padding:0 8px;font-size:20px;line-height:1}.crosshair{pointer-events:none;background:#e6f0f5b3;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.prompt{background:var(--panel);pointer-events:none;border-radius:6px;margin:0;padding:6px 12px;font-size:14px;position:absolute;top:calc(50% + 26px);left:50%;transform:translate(-50%)}.hint{background:var(--panel);color:var(--dim);pointer-events:none;border-radius:6px;margin:0;padding:6px 12px;font-size:13px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.credit{right:max(12px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));color:var(--dim);margin:0;font-size:11px;position:absolute}.update-now{z-index:5;top:max(60px, calc(env(safe-area-inset-top) + 52px));right:max(12px, env(safe-area-inset-right));background:var(--sign);border-color:var(--sign);color:#1b1003;padding:8px 12px;font-size:13px;font-weight:600;position:absolute}.shift-bar{z-index:2;top:max(12px, env(safe-area-inset-top));background:var(--panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:20px;align-items:center;gap:12px;width:max-content;padding:7px 14px;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.shift-bar strong{color:var(--sign)}.carrying{z-index:2;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 48px);background:var(--panel);color:#8fd3ff;pointer-events:none;border-radius:12px;margin:0;padding:4px 10px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.shift-results{z-index:3;background:var(--panel);border:1px solid var(--line);text-align:center;pointer-events:none;border-radius:10px;width:min(300px,100vw - 32px);padding:18px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shift-results h2{margin:0 0 8px;font-size:20px}.shift-results p{color:var(--dim);margin:4px 0}.shift-results .shift-score{color:var(--sign);font-size:18px;font-weight:700}.low-graphics{z-index:2;background:var(--panel);text-align:center;pointer-events:none;border-radius:6px;width:max-content;max-width:min(460px,100vw - 48px);margin:0;padding:8px 12px;font-size:13px;animation:1s 12s forwards fade-away;position:absolute;top:64px;left:50%;transform:translate(-50%)}@keyframes fade-away{to{opacity:0}}.touch-zone{z-index:1;touch-action:none;position:absolute;top:0;bottom:0}.touch-stick{width:45%;left:0}.touch-look{width:55%;right:0}.stick-base{left:max(32px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));pointer-events:none;background:#c8dceb14;border:2px solid #c8dceb47;border-radius:50%;width:124px;height:124px;position:absolute}.stick-base.held{background:#c8dceb24}.stick-knob{background:#e1ebf280;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%}.touch-buttons{z-index:2;right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));pointer-events:none;justify-items:end;gap:12px;display:grid;position:absolute}.touch-buttons button{pointer-events:auto;touch-action:none}.touch-row{gap:12px;display:flex}.touch-round{background:var(--panel);border-radius:50%;width:64px;height:64px;padding:0;font-size:12px;font-weight:600}.touch-round.off{color:var(--dim);border-style:dashed}.behind-phone{visibility:hidden}.phone-button{position:relative}.phone-badge{color:#fff;background:#e0453a;border-radius:11px;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;line-height:22px;position:absolute;top:-2px;right:-2px}.touch-action{background:var(--sign);border-color:var(--sign);color:#1b1003;border-radius:26px;min-height:52px;padding:0 20px;font-size:15px;font-weight:700}.touch-pause{z-index:2;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));background:var(--panel);touch-action:none;min-width:56px;min-height:44px;padding:0 12px;font-size:13px;position:absolute}.rotate-hint{z-index:2;background:var(--panel);text-align:center;pointer-events:none;border-radius:6px;width:max-content;max-width:calc(100vw - 48px);margin:0;padding:8px 12px;font-size:13px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (orientation:portrait){.rotate-hint{display:block;top:22%}}.pause{z-index:3;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;gap:12px;width:min(320px,100vw - 32px);max-height:calc(100dvh - 16px);padding:22px;display:grid;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.pause h2{margin:0;font-size:20px}.pause dl{grid-template-columns:64px 1fr;gap:6px 12px;margin:4px 0;font-size:14px;display:grid}.pause dt{color:var(--sign);font-weight:600}.pause dd{color:var(--dim);margin:0}@media (max-height:520px){.lobby{grid-template-columns:1.35fr 1fr;gap:22px;width:min(680px,100vw - 24px);padding:14px 18px;display:grid;top:50%;bottom:auto;left:50%;transform:translateY(-50%)translate(-50%)}.lobby h1{font-size:26px}.lede{margin:2px 0 10px;font-size:13px}.field{margin-bottom:8px}.field span{margin-bottom:3px}.field input{padding:6px 10px}.picker{margin-bottom:8px}.picker-label{margin-bottom:3px}.divider{margin:4px 0 10px}.chat-log{font-size:13px}.status{margin-top:8px}.pause{gap:8px;padding:14px 18px}.pause dl{margin:0}}.shift-bar .service{color:var(--dim)}.toast{z-index:6;top:calc(max(12px, env(safe-area-inset-top)) + 40px);background:var(--panel);border:1px solid var(--line);max-width:calc(100vw - 32px);color:var(--sign);text-align:center;pointer-events:none;border-radius:14px;margin:0;padding:6px 14px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.panel-backdrop{z-index:5;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));touch-action:manipulation;background:#020e1873;place-items:center;display:grid;position:absolute;inset:0}.panel-close{border-radius:50%;flex:none;width:36px;height:36px;padding:0;font-size:16px;line-height:1}.swatch{vertical-align:middle;border-radius:3px;flex:none;width:16px;height:9px;margin-right:6px;display:inline-block}.layer-B{background:#d9a35a}.layer-P{background:#6b3a1f}.layer-X{background:#1e1410}.layer-C{background:#ffc928}.layer-L{background:#5fb33a}.layer-T{background:#e0412b}.layer-O{background:#f3e6f5;box-shadow:inset 0 0 0 2px #b78bc4}.layer-K{background:#4c7a2a}.burger{min-height:calc(132px * var(--s));flex-direction:column-reverse;justify-content:flex-start;align-items:center;display:flex}.burger .plate{width:calc(124px * var(--s));height:calc(10px * var(--s));margin-top:calc(-2px * var(--s));background:#f4f4ee;border-radius:50%;box-shadow:0 2px #00000040}.burger .layer{margin-bottom:calc(-1px * var(--s));flex:none;display:block;box-shadow:inset 0 -2px #0000002e}.burger .layer-B{width:calc(88px * var(--s));height:calc(10px * var(--s));border-radius:calc(5px * var(--s))}.burger .layer-B.bottom{height:calc(14px * var(--s));border-radius:calc(4px * var(--s)) calc(4px * var(--s)) calc(12px * var(--s)) calc(12px * var(--s))}.burger .layer-B.top{height:calc(28px * var(--s));border-radius:50% 50% calc(6px * var(--s)) calc(6px * var(--s)) / 95% 95% calc(6px * var(--s)) calc(6px * var(--s));background:radial-gradient(circle at 30% 35%,#fff4d6 0 1.5px,#0000 2px),radial-gradient(circle at 55% 25%,#fff4d6 0 1.5px,#0000 2px),radial-gradient(circle at 72% 45%,#fff4d6 0 1.5px,#0000 2px),#d9a35a}.burger .layer-P,.burger .layer-X{width:calc(84px * var(--s));height:calc(14px * var(--s));border-radius:calc(7px * var(--s))}.burger .layer-C{width:calc(94px * var(--s));height:calc(5px * var(--s));border-radius:2px}.burger .layer-L{width:calc(98px * var(--s));height:calc(7px * var(--s));border-radius:calc(8px * var(--s))}.burger .layer-T{width:calc(74px * var(--s));height:calc(7px * var(--s));border-radius:calc(4px * var(--s))}.burger .layer-O{width:calc(78px * var(--s));height:calc(6px * var(--s));border-radius:calc(4px * var(--s))}.burger .layer-K{width:calc(66px * var(--s));height:calc(5px * var(--s));border-radius:calc(3px * var(--s))}.tablet{color:#1b2430;background:#f6f2e7;border:10px solid #1b1f25;border-radius:24px;flex-direction:column;width:min(640px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000073}.tablet header{color:#fff6e8;background:#c8312f;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:14px;display:flex}.tablet .panel-close{color:#fff6e8;border-color:#ffffff80;width:30px;height:30px}.tablet-body{grid-template-columns:1.55fr 1fr;gap:14px;padding:12px 14px 14px;display:grid;overflow-y:auto}.speech{background:#fff;border-radius:14px;margin:0 0 8px;padding:10px 12px;font-size:15px;font-weight:600;position:relative;box-shadow:0 1px #0000001f}.patience{background:#ddd6c4;border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.patience i{height:100%;transition:width .2s linear;display:block}.choice{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.choice span{color:#5b6672;margin-right:4px;font-size:13px}.tablet .choice button{color:#1b2430;background:#fff;border-color:#cfc6b1;align-items:center;min-height:38px;padding:6px 12px;font-size:14px;display:inline-flex}.tablet .choice button.on{color:#fff;background:#0b3a5c;border-color:#0b3a5c}.tablet-send{flex-direction:column;justify-content:flex-end;align-items:stretch;gap:10px;display:flex}.tablet-send .burger{align-self:center}.tablet-send .primary{min-height:44px}.kitchen{border:1px solid var(--line);background:#142a3a;border-radius:14px;flex-direction:column;width:min(920px,100%);height:min(440px,100%);display:flex;overflow:hidden;box-shadow:0 12px 40px #00000073}.kitchen header{background:#00000040;align-items:center;gap:8px;padding:6px 8px;display:flex}.tickets{scrollbar-width:none;flex:1;gap:6px;display:flex;overflow-x:auto}.tickets button{color:#1b1003;background:#fff6d8;border-color:#0000;flex:none;min-height:36px;padding:6px 12px 9px;font-size:13px;font-weight:700;position:relative;overflow:hidden}.tickets button.on{background:var(--sign);box-shadow:inset 0 0 0 2px #fff}.tickets button i{height:4px;transition:width .2s linear;position:absolute;bottom:0;left:0}.tickets .none{color:var(--dim);margin:0 6px;font-size:13px}.kitchen-body{flex:1;grid-template-columns:.85fr 1fr 1.35fr;gap:10px;min-height:0;padding:10px;display:grid}.recipe{color:#1b1003;background:#fff6d8;border-radius:8px;min-height:0;padding:8px 10px;overflow-y:auto}.recipe h3{margin:0 0 6px;font-size:14px}.recipe ol{margin:0;padding:0;list-style:none}.recipe li{border-radius:4px;align-items:center;padding:2px 4px;font-size:13px;display:flex}.recipe li.next{background:#c8312f24;font-weight:700}.recipe li.ok:after{content:"✓";color:#2f8a2f;margin-left:auto;font-weight:800}.recipe li.bad{color:#c8312f}.recipe li.bad:after{content:"✗";margin-left:auto;font-weight:800}.board{background:linear-gradient(#5b4632,#45341f);border-radius:8px;flex-direction:column;justify-content:flex-end;gap:10px;min-height:0;padding:8px;display:flex}.board .burger{flex:1}.board-actions{grid-template-columns:1fr 1.3fr;gap:6px;display:grid}.board-actions button{background:#0000004d;min-height:40px;padding:6px 8px;font-size:13px}.board-actions button.primary{background:var(--sign)}.station{flex-direction:column;gap:8px;min-height:0;display:flex}.pantry{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pantry button{background:#ffffff0f;align-items:center;min-height:42px;padding:6px 8px;font-size:13px;display:flex}.grill{background:linear-gradient(#2b2f35,#17191d);border-radius:8px;flex:1;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;display:grid}.grill .spot{background:repeating-linear-gradient(90deg,#3a3f46 0 6px,#2a2e33 6px 10px);min-height:52px;padding:6px;font-size:13px;font-weight:700;position:relative;overflow:hidden}.grill .spot span{position:relative}.grill .spot i{background:#ff9a3c;height:5px;transition:width .2s linear;position:absolute;bottom:0;left:0}.grill .spot.cooking{color:#2a0d0d;background:#c97a7a}.grill .spot.cooked{color:#fff1d6;background:#6b3a1f}.grill .spot.cooked i{background:#ff5a3c}.grill .spot.burnt{color:#ff8a7a;background:#1e1410}.grill .spot:disabled{opacity:1}@media (max-height:520px){.tablet{border-width:8px}.tablet-body{gap:10px;padding:8px 10px 10px}.speech{padding:8px 10px;font-size:14px}.tablet .choice button{min-height:34px;padding:4px 10px;font-size:13px}.kitchen-body{gap:8px;padding:8px}.recipe li{padding:1px 4px;font-size:12px}.pantry button{min-height:38px}.grill .spot{min-height:44px}}
