:root{--ink:#1b2a4a;--ink-soft:#3b4a6b;--paper:#fff7e8;--paper-2:#ffeccc;--coral:#ff6b5b;--coral-d:#d94a3d;--sun:#ffd23f;--sun-d:#e0ae14;--mint:#3ed6a8;--mint-d:#1fae85;--sky:#4fc3f7;--sky-d:#2a9bd0;--grape:#9b7bff;--grape-d:#7656db;--sea:#1570b3;--r:18px;--display:"Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif;--body:"Nunito", system-ui, -apple-system, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);font-family:var(--body);overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#0f3d6e;margin:0;font-weight:700;overflow:hidden}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;-webkit-user-select:text;user-select:text}.app{background:#4fb3f6;max-width:520px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}@media (min-width:560px){.app{box-shadow:0 0 0 3px var(--ink), 0 30px 80px #00000080}body{background:radial-gradient(circle at 50% 30%,#1d5b98,#0b2447)}}.scene-host{position:absolute;top:0;bottom:0;left:0;right:0}.scene{width:100%;height:100%;display:block}.scene.hot{filter:saturate(1.25)sepia(.12)}.scene .star{animation:2.4s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.3}}.scene .label text{font-family:var(--body);fill:var(--ink);font-size:9px;font-weight:900}.scene .label .tag{fill:#fff7e8eb;stroke:var(--ink);stroke-width:1.6px}.scene .label.me .tag{fill:var(--sun)}.scene .sailor.offline,.scene .label.offline{opacity:.55}.scene .label,.scene .sailor.targetable{cursor:pointer}.scene .label.targetable .tag{fill:#ffd9d4;stroke:var(--coral-d)}.scene .label.selected .tag{fill:var(--coral)}.scene .label.selected text{fill:#fff}.scene .fin-name text{font-family:var(--body);fill:#fff;font-size:9px;font-weight:900}.scene .fin-name .tag{fill:#3b4f78;stroke:var(--ink);stroke-width:1.6px}.scene .pop-text{font-family:var(--display);stroke:var(--ink);stroke-width:4px;paint-order:stroke;stroke-linejoin:round}.layer{pointer-events:none;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.layer>*{pointer-events:auto}.spacer{pointer-events:none;flex:1}.card{background:var(--paper);border:3px solid var(--ink);border-radius:var(--r);box-shadow:0 5px 0 var(--ink)}.sheet{margin:0 10px calc(10px + var(--safe-b));background:var(--paper);border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);overscroll-behavior:contain;scrollbar-width:none;border-radius:24px;max-height:58dvh;padding:16px;animation:.4s cubic-bezier(.2,1.4,.4,1) both sheet-in;overflow-y:auto}.sheet::-webkit-scrollbar{display:none}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.btn{border:3px solid var(--ink);background:var(--sun);min-height:54px;box-shadow:0 5px 0 var(--ink);font-family:var(--display);letter-spacing:.5px;color:var(--ink);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:21px;transition:transform 80ms,box-shadow 80ms,filter .2s;display:inline-flex;position:relative}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled{filter:grayscale(.8)brightness(.95);opacity:.6;cursor:not-allowed}.btn.block{width:100%}.btn.coral{background:var(--coral);color:#fff;text-shadow:0 2px 0 var(--coral-d)}.btn.mint{background:var(--mint)}.btn.sky{background:var(--sky)}.btn.paper{background:#fff}.btn.small{min-height:40px;box-shadow:0 3px 0 var(--ink);border-radius:12px;padding:0 14px;font-size:16px}.btn.small:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.btn.ghost{box-shadow:none;text-underline-offset:3px;font-family:var(--body);background:0 0;border-color:#0000;padding:0 10px;font-size:15px;font-weight:800;text-decoration:underline;min-height:44px!important}.icon-btn{border:3px solid var(--ink);background:var(--paper);width:44px;height:44px;box-shadow:0 3px 0 var(--ink);border-radius:14px;place-items:center;padding:0;font-size:20px;display:grid}.icon-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}h1,h2,h3{font-family:var(--display);letter-spacing:.5px;margin:0;font-weight:400}.muted{color:var(--ink-soft);font-weight:700}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:12px;display:flex}.center{text-align:center}.logo{margin-top:calc(18px + var(--safe-t));text-align:center;pointer-events:none}.logo .title{font-family:var(--display);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);font-size:clamp(34px,10.5vw,56px);line-height:.88;display:inline-block;transform:rotate(-3deg)}.logo .title span{animation:2.2s ease-in-out infinite bob;display:inline-block}.logo .title .boat{color:var(--sun)}@keyframes bob{50%{transform:translateY(-6px)rotate(2deg)}}.logo .tag{background:var(--paper);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:999px;margin-top:14px;padding:6px 14px;font-size:14px;font-weight:900;display:inline-block;transform:rotate(1.5deg)}.field{flex-direction:column;gap:6px;display:flex}.field label{text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);font-size:13px;font-weight:900}.input{border:3px solid var(--ink);width:100%;height:54px;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:0 16px;font-size:20px;font-weight:900;box-shadow:inset 0 3px #1b2a4a14}.input:focus{border-color:var(--sky-d);box-shadow:0 0 0 3px #4fc3f766}.input.code{text-align:center;font-family:var(--display);letter-spacing:10px;text-transform:uppercase;font-size:30px}.picker{align-items:center;gap:12px;display:flex}.picker .preview{background:radial-gradient(circle at 50% 70%,#d9f3ff 0 45%,#0000 46%);flex:none;width:84px;height:100px}.swatches{flex:1;grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;border:3px solid var(--ink);border-radius:50%;padding:0;transition:transform .15s}.swatch.on{box-shadow:0 0 0 3px var(--paper), 0 0 0 6px var(--ink);transform:scale(1.15)}.swatch.taken{opacity:.25}.hats{scrollbar-width:none;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.hats::-webkit-scrollbar{display:none}.hat-chip{border:3px solid var(--ink);background:#fff;border-radius:14px;flex:none;place-items:center;width:56px;height:56px;padding:0;display:grid}.hat-chip.on{background:var(--sun);box-shadow:0 3px 0 var(--ink);transform:translateY(-2px)}.tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.codecard{margin:calc(12px + var(--safe-t)) auto 0;text-align:center;padding:10px 18px 12px;transform:rotate(-1.5deg)}.codecard .lbl{letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:900}.codecard .code{font-family:var(--display);letter-spacing:8px;margin-left:8px;font-size:54px;line-height:1}.codecard .actions{justify-content:center;gap:8px;margin-top:6px;display:flex}.qr{border:3px solid var(--ink);background:#fff;border-radius:12px;width:180px;height:180px;margin:8px auto 0;padding:8px}.qr svg{width:100%;height:100%;display:block}.players{flex-direction:column;gap:6px;display:flex}.player-row{border:2.5px solid var(--ink);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:6px 8px 6px 6px;animation:.35s cubic-bezier(.2,1.6,.4,1) both pop-in;display:flex}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}}.player-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:17px;font-weight:900;overflow:hidden}.pill{border:2px solid var(--ink);background:var(--paper-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:900;display:inline-flex}.pill.host{background:var(--sun)}.pill.bot{background:#e3e8ef}.pill.you{background:var(--mint)}.pill.off{background:#ffd9d4}.seg{border:3px solid var(--ink);background:#fff;border-radius:14px;display:flex;overflow:hidden}.seg button{border:0;border-right:2px solid var(--ink);background:0 0;flex:1;padding:10px 4px;font-size:14px;font-weight:900}.seg button:last-child{border-right:0}.seg button.on{background:var(--sun)}.seg button:disabled{cursor:default}.section-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-title h3{font-size:20px}.hud{padding:calc(8px + var(--safe-t)) 10px 0;align-items:stretch;gap:8px;display:flex}.hud .stat{background:var(--paper);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--display);border-radius:14px;align-items:center;gap:6px;min-height:44px;padding:5px 10px;font-size:20px;display:flex}.hud .day{background:var(--sun);flex-direction:column;justify-content:center;gap:0;padding:4px 10px;line-height:1}.hud .day small{font-family:var(--body);letter-spacing:1.5px;font-size:10px;font-weight:900}.hud .hull{flex:1;min-width:0}.meter{border:2.5px solid var(--ink);background:#e3e8ef;border-radius:999px;flex:1;height:16px;position:relative;overflow:hidden}.meter>i{background:var(--mint);border-right:2.5px solid var(--ink);transition:width .6s cubic-bezier(.3,1.4,.5,1),background .4s;position:absolute;top:0;bottom:0;left:0;right:auto}.meter.low>i{background:var(--sun)}.meter.crit>i{background:var(--coral);animation:.8s ease-in-out infinite pulse}@keyframes pulse{50%{filter:brightness(1.3)}}.bump{animation:.45s cubic-bezier(.2,1.8,.4,1) bump}@keyframes bump{40%{transform:scale(1.25)}}.timer{flex:none;width:48px;height:48px;position:relative}.timer svg{width:100%;height:100%;transform:rotate(-90deg)}.timer span{font-family:var(--display);place-items:center;font-size:18px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.timer.urgent span{color:var(--coral-d);animation:.5s infinite bump}.subhud{flex-wrap:wrap;gap:6px;padding:8px 10px 0;display:flex}.chip{border:2.5px solid var(--ink);background:#fff7e8eb;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:900;display:inline-flex}button.chip:active{transform:scale(.96)}.event-wrap{pointer-events:auto;perspective:900px;z-index:5;background:#0b143759;place-items:center;padding:20px;animation:.3s both fade-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fade-in{0%{opacity:0}}.event-card{text-align:center;background:var(--paper);border:4px solid var(--ink);width:min(320px,86vw);box-shadow:0 8px 0 var(--ink);border-radius:26px;padding:22px 20px 20px;animation:.8s cubic-bezier(.2,1.3,.4,1) both card-flip;position:relative}.event-card:before{content:"";pointer-events:none;border:2.5px dashed #1b2a4a40;border-radius:18px;position:absolute;top:8px;bottom:8px;left:8px;right:8px}@keyframes card-flip{0%{opacity:0;transform:rotateY(180deg)scale(.6)translateY(80px)}60%{opacity:1}}.event-card .kicker{letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:900}.event-card .icon{filter:drop-shadow(0 4px #1b2a4a40);margin:8px 0 4px;font-size:64px;line-height:1.1;animation:2s ease-in-out infinite bob}.event-card h2{font-size:32px;line-height:1}.event-card p{margin:10px 0 0;font-size:17px;line-height:1.35}.event-card.tier-2{background:#ffe9c7}.event-card.tier-3{background:#ffd9d4}.leak-note{border:2px solid var(--ink);background:#d9f3ff;border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:4px 10px;font-size:14px;font-weight:900;display:inline-flex}.tray-title{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.tray-title h2{font-size:24px}.actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action{text-align:left;border:3px solid var(--ink);min-height:86px;box-shadow:0 5px 0 var(--ink);border-radius:18px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:transform 80ms,box-shadow 80ms;display:flex;position:relative}.action:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.action .emoji{font-size:30px;line-height:1}.action b{font-family:var(--display);font-size:22px;font-weight:400;line-height:1.05}.action small{opacity:.85;font-size:12.5px;font-weight:800;line-height:1.2}.action.fish{background:#9fe0ff}.action.patch{background:#ffd79a}.action.brace{background:#b8f0d8}.action.shove{background:#ffb3a8}.action:disabled{color:#6b7a92;background:#e3e8ef;border-color:#9aa6b8;box-shadow:0 5px #9aa6b8}.action .why{background:#fff;border:2px solid;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:900;position:absolute;top:8px;right:8px}.locked{border:3px solid var(--ink);background:#fff;border-radius:18px;align-items:center;gap:12px;padding:12px;display:flex}.locked .big{font-size:40px}.locked h3{font-size:22px}.crew-status{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:12px;display:flex}.crew-status .who{opacity:.45;width:34px;height:40px;transition:opacity .3s;position:relative}.crew-status .who.done{opacity:1}.crew-status .who.done:after{content:"✓";background:var(--mint);border:2px solid var(--ink);border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;bottom:-1px;right:-3px}.targets{flex-wrap:wrap;gap:8px;display:flex}.target{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-size:15px;font-weight:900;display:flex}.target.on{background:var(--coral);color:#fff}.target .av{width:30px;height:34px}.item-bar{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.item{border:2.5px solid var(--ink);background:var(--paper-2);border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:900;display:inline-flex}button.item{background:var(--grape);color:#fff;box-shadow:0 3px 0 var(--ink)}.spied{border:2.5px dashed var(--grape-d);background:#efe9ff;border-radius:14px;margin-top:10px;padding:10px 12px;font-weight:800}.caption{text-align:center;background:var(--paper);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:18px;margin:10px 14px 0;padding:12px 16px;font-size:18px;font-weight:900;line-height:1.25;animation:.35s cubic-bezier(.2,1.6,.4,1) both caption-in}.caption.bad{background:#ffd9d4}.caption.good{background:#d4f7e8}@keyframes caption-in{0%{opacity:0;transform:translateY(-14px)scale(.9)}}.night-tray{text-align:center}.night-tray h2{font-size:22px}.overlay{z-index:10;pointer-events:auto;background:#0b14378c;place-items:center;padding:20px;animation:.3s both fade-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.splash-card{text-align:center;border:4px solid var(--ink);width:min(340px,90vw);box-shadow:0 8px 0 var(--ink);background:#9fe0ff;border-radius:28px;padding:24px 20px 20px;animation:.6s cubic-bezier(.2,1.6,.4,1) both splash-in}@keyframes splash-in{0%{opacity:0;transform:scale(.3)rotate(-12deg)}}.splash-card .big{font-family:var(--display);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);font-size:64px;line-height:1;transform:rotate(-4deg)}.splash-card .penalty{background:var(--sun);border:3px solid var(--ink);font-family:var(--display);box-shadow:0 4px 0 var(--ink);border-radius:18px;margin:16px 0;padding:14px;font-size:30px;line-height:1.05;transform:rotate(1.5deg)}.splash-card p{margin:8px 0 0;font-size:16px}.toast-stack{left:12px;right:12px;top:calc(64px + var(--safe-t));z-index:20;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.toast{border:3px solid var(--ink);background:var(--grape);color:#fff;box-shadow:0 4px 0 var(--ink);pointer-events:auto;border-radius:16px;padding:12px 14px;font-weight:900;animation:.35s cubic-bezier(.2,1.6,.4,1) both caption-in}.toast.error{background:var(--coral)}.conn{top:calc(8px + var(--safe-t));z-index:30;background:var(--coral);color:#fff;border:2.5px solid var(--ink);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.over-title{margin:calc(16px + var(--safe-t)) 14px 0;text-align:center;padding:14px;animation:.7s cubic-bezier(.2,1.5,.4,1) both splash-in}.over-title .kicker{letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:900}.over-title h1{margin-top:4px;font-size:38px;line-height:1}.over-title .penalty{background:var(--sun);border:3px solid var(--ink);font-family:var(--display);border-radius:999px;margin-top:10px;padding:6px 14px;font-size:20px;display:inline-block;transform:rotate(-1.5deg)}.timeline{flex-direction:column;gap:6px;display:flex}.timeline .ev{border:2.5px solid var(--ink);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:6px 10px 6px 6px;font-size:14px;font-weight:800;line-height:1.25;display:flex}.timeline .ev .d{text-align:center;width:38px;font-family:var(--display);background:var(--paper-2);border:2px solid var(--ink);border-radius:10px;flex:none;padding:6px 0;font-size:13px;line-height:1}.av{flex:none;display:block}.rules h3{margin:14px 0 6px;font-size:20px}.rules p,.rules li{font-size:15px;font-weight:700;line-height:1.4}.rules ul{flex-direction:column;gap:8px;margin:0;padding-left:0;list-style:none;display:flex}.rules li{gap:10px;display:flex}.rules li>span:first-child{font-size:22px;line-height:1.1}.rules-sheet{max-height:80dvh}@media (max-height:700px){.action{min-height:72px}.action .emoji{font-size:24px}.action b{font-size:19px}.codecard .code{font-size:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.crew-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.crew-chip{border:2.5px solid var(--ink);background:#fff;border-radius:999px;align-items:center;gap:5px;min-width:0;max-width:100%;min-height:40px;padding:2px 8px 2px 3px;font-size:14px;font-weight:900;animation:.35s cubic-bezier(.2,1.6,.4,1) both pop-in;display:inline-flex}.crew-chip .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.crew-chip.you{background:var(--sun)}.crew-chip.off{opacity:.5}.crew-chip .x{background:#ffd9d4;border:0;border-radius:50%;flex:none;width:30px;height:30px;margin-left:2px;padding:0;font-size:11px;font-weight:900}.crew-chip.add{background:var(--paper-2);color:var(--ink);border-style:dashed;justify-content:center;padding:8px 12px}.settings-line{border:2.5px dashed var(--ink-soft);text-align:left;background:0 0;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:800;display:flex}.settings-line b{text-underline-offset:3px;text-decoration:underline}.settings-box{background:var(--paper-2);border:2.5px solid var(--ink);border-radius:16px;padding:12px}.hud .menu-btn{flex:none;width:36px;height:auto;min-height:44px;font-size:18px}.target .t-name{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.work{color:var(--ink-soft);font-size:11px;font-weight:900}.target.on .work{color:#fff}.work.lazy{color:var(--coral-d)}.worklog{text-align:left;margin-top:10px}.worklog-grid{grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:6px;display:grid}.wl{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;display:grid}.wl .av{grid-row:span 2}.wl .n{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;overflow:hidden}.shark-view{color:#fff;border:2.5px solid var(--ink);background:#1d2b5e;border-radius:14px;flex-direction:column;gap:4px;margin-top:8px;padding:10px;font-size:15px;font-weight:800;display:flex}.party-note{width:-moz-fit-content;width:fit-content;font-family:var(--display);background:var(--sun);border:3px solid var(--ink);border-radius:14px;margin:12px auto 0;padding:8px 12px;font-size:22px;animation:.6s .8s both bump;transform:rotate(-2deg)}.sheet.urgent{animation:.5s ease-in-out infinite alternate urgent}@keyframes urgent{to{border-color:var(--coral-d);box-shadow:0 6px 0 var(--coral-d), 0 0 0 6px #ff6b5b59}}@media (max-width:380px){.crew-chip .name{font-size:13px}.sheet{padding:14px 12px}}@media (max-height:760px){.lobby-sheet{max-height:47dvh}.codecard{padding:6px 14px 8px}.codecard .code{font-size:38px}.codecard .actions .btn.small{min-height:34px;font-size:14px}}.sticky-cta{z-index:2;background:linear-gradient(transparent, var(--paper) 30%);margin:10px -16px 0;padding:8px 16px 12px;position:sticky;bottom:-16px}.awards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.award{border:2.5px solid var(--ink);background:#fff;border-radius:14px;align-items:center;gap:6px;min-width:0;padding:6px 8px;display:flex}.award .a-icon{font-size:20px}.award .a-text{flex-direction:column;min-width:0;line-height:1.1;display:flex}.award .a-text b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.award .a-text small{color:var(--ink-soft);font-size:11px;font-weight:800}.crew-chip .who-text{flex-direction:column;flex:1;min-width:0;line-height:1.1;display:flex}.crew-chip .who-text small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:800;overflow:hidden}.crew-chip{border-radius:16px;padding:4px 6px 4px 4px}.crew-chip .x{width:26px;height:26px;position:relative}.crew-chip .x:after{content:"";position:absolute;top:-9px;bottom:-9px;left:-9px;right:-9px}.night-log{text-align:left;flex-direction:column;gap:4px;margin:10px 0 0;padding:0;font-size:13.5px;font-weight:800;line-height:1.25;list-style:none;display:flex}.night-log li{background:var(--paper-2);border-radius:10px;padding:5px 8px;animation:.3s both pop-in}.night-log li.bad{background:#ffd9d4}.night-log li.good{background:#d4f7e8}.rules .stakes{background:var(--sun);border:2.5px solid var(--ink);border-radius:14px;padding:10px 12px}.subhud .chip{text-overflow:ellipsis;white-space:nowrap;max-width:48%;overflow:hidden}.subhud{flex-wrap:nowrap}.subhud .chip:first-child{flex:0 auto;min-width:0}.over-sheet{max-height:44dvh}.home-tag{text-align:center;font-family:var(--display);color:var(--ink-soft);margin:-4px 0 -2px;font-size:19px}.next-row{align-items:center;gap:10px;margin-top:12px;display:flex}.next-row .btn{flex:1}.next-wait{border:2.5px dashed var(--ink-soft);border-radius:14px;margin-top:12px;padding:10px;font-size:14px;font-weight:900}.role-chip.saboteur,.role-card.sab{color:#fff;background:#2b2d42}.role-card.sab .kicker,.role-card.sab .muted{color:#c9cfe0}.role-card.sab:before{border-color:#ffffff40}.subhud+.subhud{padding-top:6px}.action.drill,.action.spoil{color:#fff;background:#3b3f5c}.action.drill small,.action.spoil small{opacity:.9}.sabotage-link{min-height:36px;color:var(--ink-soft);text-underline-offset:3px;background:0 0;border:0;margin:10px auto 0;padding:6px 12px;font-size:13px;font-weight:800;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:block}.sab-reveal{margin-bottom:14px}.target.sab{color:#fff;background:#2b2d42}.modes{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.mode{text-align:left;border:2.5px solid var(--ink);opacity:.7;background:#fff;border-radius:14px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.mode b{font-family:var(--display);font-size:16px;font-weight:400;line-height:1.05}.mode small{color:var(--ink-soft);font-size:11.5px;font-weight:800;line-height:1.2}.mode.on{background:var(--sun);opacity:1;box-shadow:0 3px 0 var(--ink)}.mode:disabled{cursor:default;color:inherit}.tut-wrap{z-index:8;padding:calc(14px + var(--safe-t)) 14px calc(14px + var(--safe-b));pointer-events:auto;background:#0b143759;place-items:center;animation:.3s both fade-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tut-card{background:var(--paper);border:4px solid var(--ink);width:min(380px,100%);max-height:100%;box-shadow:0 8px 0 var(--ink);text-align:center;border-radius:26px;padding:14px 16px 16px;animation:.45s cubic-bezier(.2,1.5,.4,1) both splash-in;overflow-y:auto}.tut-top{justify-content:space-between;align-items:center;display:flex}.tut-kicker{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);text-align:left;font-size:11px;font-weight:900}.tut-skip{font-size:14px;min-height:36px!important}.tut-stage{border:2.5px solid var(--ink);background:linear-gradient(#8ed6ff,#d9f3ff 70%);border-radius:18px;width:100%;height:150px;margin:4px 0 2px;display:block;overflow:hidden}.tut-card h2{margin-top:8px;font-size:30px;line-height:1.05}.tut-body{margin-top:8px;font-size:16px;font-weight:700;line-height:1.4}.tut-dots{justify-content:center;gap:6px;margin:14px 0 12px;display:flex}.tut-dots i{border:2px solid var(--ink);background:#cfd6e2;border-radius:50%;width:9px;height:9px}.tut-dots i.on{background:var(--coral);border-radius:99px;width:22px}.tut-nav{gap:10px;display:flex}.tut-nav .btn.paper{width:60px;padding:0}.tut-actions{grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 12px;display:grid}.tut-action{flex-direction:row;align-items:center;gap:8px;min-height:0;padding:10px;animation:.4s cubic-bezier(.2,1.6,.4,1) both pop-in}.tut-action .emoji{font-size:24px}.tut-action b{font-size:20px}.tut-bob{animation:1.6s ease-in-out infinite tut-bob}@keyframes tut-bob{50%{transform:translateY(-4px)}}.tut-raft{transform-origin:0 0;animation:3s ease-in-out infinite tut-rock}@keyframes tut-rock{25%{transform:rotate(-2deg)translateY(1px)}75%{transform:rotate(2deg)translateY(-1px)}}.tut-sink{animation:3.2s ease-in-out infinite tut-sink}@keyframes tut-sink{0%,20%{transform:translateY(0)}80%,to{transform:translateY(18px)}}.tut-drain{transform-origin:0 0;animation:3.2s ease-in-out infinite tut-drain}.tut-drain.slow{animation-duration:4.4s}@keyframes tut-drain{0%,15%{transform:scaleX(1)}85%,to{transform:scaleX(.08)}}.tut-pop{animation:1.8s cubic-bezier(.2,1.6,.4,1) infinite tut-pop}@keyframes tut-pop{0%{opacity:0;transform:scale(.2)}25%,85%{opacity:1}to{opacity:0}}.tut-lunge{animation:2.4s ease-in-out infinite tut-lunge}@keyframes tut-lunge{0%,30%{transform:translate(0)}42%{transform:translate(-6px)}50%{transform:translate(36px)rotate(8deg)}70%,to{transform:translate(0)}}.tut-fly{animation:2.4s ease-in infinite tut-fly}@keyframes tut-fly{0%,40%{opacity:1;transform:translate(0)rotate(0)}70%{opacity:1;transform:translate(50px,-50px)rotate(200deg)}92%{opacity:0;transform:translate(90px,40px)rotate(400deg)}to{opacity:0}}.tut-fin{animation:2.4s ease-in-out infinite tut-fin}@keyframes tut-fin{0%,80%{opacity:0;transform:translate(58px,30px)}95%,to{opacity:1;transform:translate(58px,16px)}}.tut-nomast .mast{display:none}.sab-actions{text-align:left;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 4px;display:grid}.sab-actions .action{border-color:#fff;box-shadow:0 4px #000}.sab-actions .action.chosen{outline:3px solid var(--sun);outline-offset:2px}.tut-think{opacity:0;animation:3.2s ease-in-out infinite tut-think}@keyframes tut-think{0%{opacity:0;transform:translateY(6px)scale(.6)}6%,22%{opacity:1;transform:translateY(0)scale(1)}28%,to{opacity:0}}.tut-bam{opacity:0;animation:2.4s ease-out infinite tut-bam}@keyframes tut-bam{0%,40%{opacity:0;transform:scale(.2)}46%{opacity:1;transform:scale(1.4)rotate(15deg)}60%,to{opacity:0;transform:scale(1)}}.tut-hop{animation:.9s cubic-bezier(.3,1.6,.5,1) infinite tut-hop}@keyframes tut-hop{50%{transform:translateY(-9px)}}.tut-meter{border:2.5px solid var(--ink);background:#e3e8ef;border-radius:99px;height:14px;margin:10px 0 4px;overflow:hidden}.tut-meter i{background:var(--mint);border-right:2.5px solid var(--ink);height:100%;transition:width .5s cubic-bezier(.3,1.4,.5,1);display:block}.tut-nudge{background:var(--sun);border:2px solid var(--ink);border-radius:99px;margin-top:6px;padding:3px 10px;font-size:12px;font-weight:900;animation:.35s both pop-in;display:inline-block}.forecast{border:2px solid var(--ink);background:#e9f6ff;border-radius:12px;flex-wrap:wrap;gap:4px 12px;margin:-2px 0 10px;padding:8px 10px;font-size:13px;font-weight:800;display:flex}.forecast.tight{background:#ffe4df}.forecast .why-shove{color:var(--ink-soft);flex-basis:100%;font-size:12px}.work.cleared{color:var(--mint-d)}.icon-btn,.hat-chip,.chip,.swatch,.target,.crew-chip,.mode,.seg button,.action{transition:transform .15s cubic-bezier(.3,1.4,.5,1),box-shadow .15s,background-color .2s,color .2s,opacity .2s}.tut-dots i{transition:width .3s cubic-bezier(.3,1.4,.5,1),background-color .2s}.conn{animation:.3s both caption-in}.tut-card.fwd{animation:.4s cubic-bezier(.2,1.3,.4,1) both tut-in-fwd}.tut-card.back{animation:.4s cubic-bezier(.2,1.3,.4,1) both tut-in-back}@keyframes tut-in-fwd{0%{opacity:0;transform:translate(60px)rotate(2deg)}}@keyframes tut-in-back{0%{opacity:0;transform:translate(-60px)rotate(-2deg)}}.odds{border:2px solid var(--ink);color:var(--ink);background:#fff4d6;border-radius:12px;margin-top:8px;padding:8px 10px;font-size:13px;font-weight:800}.crew-status .who{position:relative}.crew-status .afterlife{font-size:14px;position:absolute;bottom:-2px;left:-4px}.sab-label{letter-spacing:1px;text-transform:uppercase;color:#c9cfe0;grid-column:1/-1;font-size:12px;font-weight:900}.sab-actions .action:disabled{opacity:.55}.action.sabotage-bite{color:#fff;background:#3b3f5c;flex-direction:row;align-items:center;gap:10px;width:100%;min-height:0;margin-bottom:10px}@media (max-height:700px){.sheet{background-image:linear-gradient(0deg,#1b2a4a1f,#0000 22px);background-attachment:local,scroll}}.event-card .worklog{border-top:2px dashed #1b2a4a33;margin-top:12px;padding-top:10px}.wd{opacity:0;animation-duration:10s;animation-timing-function:ease-out;animation-iteration-count:infinite}.wd-think{animation-name:wd-think}.wd-fish{animation-name:wd-fish}.wd-drill{animation-name:wd-drill}.wd-gull{animation-name:wd-gull}.wd-verdict{animation-name:wd-verdict}@keyframes wd-think{0%{opacity:0;transform:scale(.3)}4%,16%{opacity:1;transform:scale(1)}20%,to{opacity:0;transform:scale(.6)}}@keyframes wd-fish{0%,20%{opacity:0;transform:translate(0)}22%{opacity:1;transform:translate(40px,-60px)rotate(180deg)}28%{opacity:1;transform:translate(200px,-20px)rotate(360deg)}33%,to{opacity:0;transform:translate(200px,-20px)}}@keyframes wd-drill{0%,40%{opacity:0;transform:translateY(8px)scale(.6)}43%,56%{opacity:1;transform:translateY(0)scale(1)}60%,to{opacity:0}}@keyframes wd-gull{0%,60%{opacity:0;transform:translate(-80px,-60px)scale(.4)}64%,78%{opacity:1;transform:translate(0)scale(1)}82%,to{opacity:0}}@keyframes wd-verdict{0%,86%{opacity:0;transform:scale(.2)}90%,98%{opacity:1;transform:scale(1)}to{opacity:0}}.wd-shoved{animation:10s infinite wd-shoved}@keyframes wd-shoved{0%,80%{opacity:1;transform:translate(0)rotate(0)}88%{opacity:1;transform:translate(40px,-40px)rotate(160deg)}94%{opacity:0;transform:translate(70px,50px)rotate(300deg)}to{opacity:0;transform:translate(0)}}.tut-steps{text-align:left;flex-direction:column;gap:4px;margin:4px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.tut-steps li{border:2px solid #0000;border-radius:10px;padding:5px 10px;animation:10s infinite wd-step}@keyframes wd-step{0%{background:var(--sun);border-color:var(--ink)}18%{background:var(--sun);border-color:var(--ink)}20%,to{background:0 0;border-color:#0000}}.tip{border:2.5px solid var(--ink);background:var(--sun);width:100%;box-shadow:0 3px 0 var(--ink);text-align:left;border-radius:14px;align-items:flex-start;gap:8px;margin:0 0 10px;padding:8px 10px;font-size:14px;font-weight:800;line-height:1.3;animation:.35s cubic-bezier(.2,1.6,.4,1) both pop-in;display:flex}.tip-bulb{font-size:18px}.tip span:nth-child(2){flex:1}.tip-x{opacity:.6;font-size:12px}
