.badge{font:700 12.5px/1 var(--display);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;will-change:transform;border-radius:999px;align-items:center;gap:4px;padding:3px 9px 3px 4px;display:flex;position:absolute;top:0;left:0}.badge .gauge{width:26px;height:26px}.badge .gauge .track{fill:none;stroke:#1c1e221a;stroke-width:3.5px}.badge .gauge .held{fill:none;stroke:var(--c,#999);stroke-width:3.5px;stroke-linecap:round}.badge .gauge .next{fill:none;stroke:#1c1e2247;stroke-width:2px;stroke-linecap:round}.badge .res{width:15px;height:15px}.badge.full{box-shadow:inset 0 1px 0 var(--edge), 0 0 0 2px var(--c,#999), var(--shadow)}#tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}.tag{font:600 12.5px/1.2 var(--ui);white-space:nowrap;color:var(--ink);will-change:transform;border-radius:999px;padding:4px 10px 4px 8px;position:absolute;top:0;left:0}.tag:before,.edge .dot{content:"";background:var(--c,#999);vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.edge{font:600 12px var(--ui);white-space:nowrap;color:var(--ink);will-change:transform;border-radius:999px;align-items:center;gap:4px;padding:5px 11px 5px 7px;display:flex;position:absolute;top:0;left:0}.edge svg{width:15px;height:15px;stroke:var(--c,#555);stroke-width:2.4px;fill:none;stroke-linecap:round;stroke-linejoin:round}.sheet-wrap{padding:calc(64px + var(--safe-top)) max(10px, var(--safe-right)) calc(10px + var(--safe-bottom)) max(10px, var(--safe-left));justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet.panel{width:min(560px,100%);max-height:100%;animation:sheet-up .36s var(--ease);outline:none;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0}.sheet-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 14px 8px 20px;display:flex}.sheet-head h2{font:700 22px/1.2 var(--display);letter-spacing:-.015em;margin:0}.sheet-head .x{width:36px;height:36px;color:var(--ink);background:#7676801f;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.sheet-head .x svg{width:18px;height:18px}.sheet-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-user-select:text;user-select:text;align-content:start;gap:14px;padding:4px 20px 20px;display:grid;overflow:auto}.sheet-body h3{font:600 12.5px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:6px 2px 0}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@media (min-width:760px) and (orientation:landscape){.sheet-wrap{padding:calc(12px + var(--safe-top)) max(12px, var(--safe-right)) calc(12px + var(--safe-bottom)) 0;justify-content:flex-end;align-items:stretch}.sheet.panel{width:420px;max-height:none;animation:sheet-in .36s var(--ease)}.sheet-body{touch-action:auto}@keyframes sheet-in{0%{opacity:0;transform:translate(40px)}}}.cards{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin:0 -20px;padding:2px 20px 6px;display:flex;overflow-x:auto}.cards::-webkit-scrollbar{display:none}.mcard{scroll-snap-align:center;box-shadow:0 0 0 .5px var(--line);background:#ffffffb8;border-radius:22px;flex:0 0 min(300px,84%);gap:8px;padding:12px 14px 14px;display:grid}.mcard canvas.preview{aspect-ratio:4/3;background:radial-gradient(80% 70% at 50% 60%,#eef1f5 0%,#dfe4ea 70%,#d5dbe2 100%);border-radius:16px;width:100%;display:block}.mcard h3{font:700 18px/1.2 var(--display);letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:4px 0 0}.mcard p{font:400 14px/1.4 var(--ui);color:var(--ink-2);margin:0}.mcard p.status{min-height:2.6em;font:500 13px/1.3 var(--ui);color:var(--ink-3)}.mcard p.status.ready{color:var(--sea);font-weight:600}.mcard .btn{width:100%}@media (min-width:760px) and (orientation:landscape){.cards{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow:visible}.mcard{flex:none}}.needs{gap:8px;margin:0;padding:0;list-style:none;display:grid}.needs li{height:44px;box-shadow:0 0 0 .5px var(--line);font:500 15px var(--ui);background:#ffffffb3;border-radius:14px;align-items:center;gap:10px;padding:0 14px 0 12px;display:flex}.needs li b{font:600 15px var(--ui);font-variant-numeric:tabular-nums;margin-left:auto}.needs li.ok b{color:var(--sea)}.needs li.short b{color:var(--warn)}.pockets{right:max(14px, var(--safe-right));bottom:calc(18px + var(--safe-bottom));min-width:54px;color:var(--ink);border:0;border-radius:18px;gap:3px;padding:7px 9px;display:grid;position:absolute}.pockets .res{justify-content:space-between;align-items:center;gap:5px;display:flex}.pockets .res svg{flex:none;width:17px;height:17px}.pockets .res b{min-width:14px;font:600 13.5px/1 var(--display);font-variant-numeric:tabular-nums;text-align:right}.pockets .res.bump{animation:pocket-bump .65s var(--ease)}@keyframes pocket-bump{0%{transform:scale(1)}30%{transform:scale(1.35)}to{transform:scale(1)}}svg.ri{flex:none;width:18px;height:18px}.cost{flex-wrap:wrap;gap:6px;display:flex}.cost .chip{height:26px;font:600 13px var(--ui);font-variant-numeric:tabular-nums;color:var(--ink-2);background:#7676801a;border-radius:999px;align-items:center;gap:4px;padding:0 9px 0 6px;display:inline-flex}.cost .chip.ok{color:var(--sea);background:var(--sea-soft)}.cost .chip.short{color:var(--warn);background:#c4453e14}.cost .chip svg{width:15px;height:15px}.carry{gap:8px;display:flex}.carry span{height:40px;box-shadow:0 0 0 .5px var(--line);font:600 15px var(--ui);font-variant-numeric:tabular-nums;background:#ffffffb3;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.hud{pointer-events:none;padding-left:max(14px, var(--safe-left));padding-right:max(14px, var(--safe-right));position:fixed;left:0;right:0}.hud>*{pointer-events:auto}.hud.top{padding-top:calc(12px + var(--safe-top));justify-items:center;gap:10px;display:grid;top:0}.hud.top .row{pointer-events:none;justify-content:space-between;align-items:center;width:100%;display:flex}.hud.top .row>*{pointer-events:auto}.hud.top .right{align-items:center;gap:8px;display:flex}.round{width:54px;height:54px;color:var(--ink);border:0;border-radius:50%;place-items:center;display:grid;position:relative}.round svg{width:22px;height:22px}.round[aria-pressed=true]{background:var(--ink);color:var(--on-ink);box-shadow:var(--shadow)}.world-chip{height:50px;color:var(--ink);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 8px;display:flex;position:relative}.world-chip svg{width:34px;height:34px}.world-chip .code{font:600 15px/1 var(--display);letter-spacing:.06em;font-variant-numeric:tabular-nums}.world-chip .dot.warn{background:var(--warn);border-radius:50%;width:11px;height:11px;position:absolute;top:2px;right:2px;box-shadow:0 0 0 2px #fff}.round.progress svg.ring{width:50px;height:50px}.ring .track{fill:none;stroke:#1c1e221a;stroke-width:4px}.ring .fill{fill:none;stroke:var(--leaf);stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .7s var(--ease)}.ring.ready .fill{stroke:var(--sea)}.round.progress.ready{animation:ring-ready 2.4s var(--ease) infinite}@keyframes ring-ready{0%,to{box-shadow:inset 0 1px 0 var(--edge), 0 0 0 .5px var(--line), var(--shadow)}50%{box-shadow:inset 0 1px 0 var(--edge), 0 0 0 4px var(--sea-soft), var(--shadow)}}.ring text{font:600 12.5px var(--display);font-variant-numeric:tabular-nums;fill:var(--ink)}#online-chip{height:44px;font:600 13px var(--ui);color:var(--ink-2);border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:flex}#online-chip .faces{display:flex}#online-chip .face{border-radius:50%;width:20px;height:20px;margin-left:-6px;box-shadow:inset 0 -2px 3px #0000001a,0 0 0 2px #fff}#online-chip .face:first-child{margin-left:0}.tile-l{max-width:min(420px,100%);font:400 13.5px/1.3 var(--ui);color:var(--ink-2);text-align:left;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;display:flex}.tile-l b{color:var(--ink);font-weight:600}.tile-l .sw{width:14px;height:14px;box-shadow:inset 0 -2px 3px #0000001a, 0 0 0 .5px var(--line);border-radius:50%;flex:none}.tile-l .grp{color:var(--sea);font-weight:600}.hud.bottom{padding-bottom:calc(18px + var(--safe-bottom));justify-content:center;align-items:flex-end;display:flex;bottom:0}#view-btn{left:max(14px, var(--safe-left));bottom:calc(18px + var(--safe-bottom));position:absolute}.acts{align-items:flex-start;gap:4px;min-height:96px;display:flex}.hexb{width:86px;color:var(--ink);-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-content:start;justify-items:center;gap:3px;padding:0;display:grid;position:relative}.hexb .hx{filter:drop-shadow(0 7px 12px #1012162b)drop-shadow(0 1px 2px #1012161a);width:66px;height:72px;transition:transform .16s var(--ease), filter .2s;overflow:visible}.hexb:hover:not(:disabled) .hx{transform:translateY(-2px)}.hexb:active:not(:disabled) .hx{transform:scale(.93)}.hexb .lbl{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);max-width:86px;box-shadow:0 0 0 .5px var(--line);font:600 13px/1.15 var(--ui);text-align:center;background:#ffffffc2;border-radius:12px;justify-items:center;padding:3px 9px 4px;transition:background .2s,color .2s;display:grid}.hexb .lbl small{font:500 11px/1.2 var(--ui);color:var(--ink-2);white-space:nowrap}.hexb:disabled{cursor:default}.hexb:disabled .hx{filter:saturate(.3)opacity(.6)}.hexb:disabled .lbl{color:var(--ink-2)}.hexb.blocked:disabled .hx{filter:saturate(.7)opacity(.85)drop-shadow(0 4px 8px #10121624)}.hexb.armed .lbl{background:var(--warn);color:#fff}.hexb.armed .lbl small{color:#ffffffe0}@media (max-width:420px){.hexb{width:72px}.hexb .hx{width:58px;height:63px}.hexb .lbl{max-width:74px;padding:3px 7px 4px;font-size:12px}.acts{gap:2px;min-height:88px}.hud.top .right{gap:6px}}#sizes{padding:0 max(14px, var(--safe-right)) calc(16px + var(--safe-bottom)) max(14px, var(--safe-left));pointer-events:none;justify-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.sz-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.sz-head h2{font:700 22px/1.1 var(--display);letter-spacing:-.015em;margin:0}.sz-head span{font:500 13.5px var(--ui);color:var(--ink-2);font-variant-numeric:tabular-nums}.sz-what{min-height:2.8em;font:400 14.5px/1.4 var(--ui);color:var(--ink-2);margin:0}.sz-what b{color:var(--ink);font-weight:600}.sz-steps{grid-template-columns:repeat(var(--n,10), minmax(0, 1fr));gap:4px;display:grid}.sz-steps button{height:34px;font:600 13.5px var(--ui);color:var(--ink-2);font-variant-numeric:tabular-nums;background:#7676801a;border:0;border-radius:10px}.sz-steps button[aria-current=true]{background:var(--ink);color:#fff}.sz-steps button.here{box-shadow:inset 0 0 0 2px var(--sea)}.sz-btns{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.sz-btns .grp{gap:8px;display:flex}@media (max-width:420px){.sz-steps button{height:32px;font-size:12.5px}}#welcome{padding:0 max(14px, var(--safe-right)) calc(16px + var(--safe-bottom)) max(14px, var(--safe-left));pointer-events:none;justify-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.sheet.welcome{pointer-events:auto;text-align:center;justify-items:center;gap:10px;padding:24px 22px 20px}.sheet.welcome .mark{width:48px;height:48px}.sheet.welcome h2{font:700 26px/1.15 var(--display);letter-spacing:-.02em;margin:0}.sheet.welcome .lede{font-size:15px}.sheet.welcome .stack{gap:8px;width:100%;margin-top:4px;display:grid}.sheet.welcome .stack .btn,.sheet.welcome .form{width:100%}.sheet.welcome input.code{font:600 18px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-align:center}.sheet.welcome .note.warn{color:var(--warn)}.link{font:inherit;color:var(--sea);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f3;--bg-hi:#fff;--bg-lo:#e8eae6;--glass:#ffffff94;--glass-hi:#ffffffd1;--edge:#ffffffe6;--line:#1c1e2214;--line-2:#1c1e2224;--ink:#1c1d1f;--ink-2:#5d5f64;--ink-3:#8e9196;--on-ink:#fff;--sea:#3d6e68;--sea-2:#4f8a80;--sea-soft:#3d6e681f;--leaf:#8dbf74;--warn:#c4453e;--ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Rounded", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow:0 1px 2px #1012160d, 0 8px 28px #10121617;--shadow-2:0 2px 8px #1012160f, 0 22px 50px #10121624;--ease:cubic-bezier(.2, .8, .2, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:radial-gradient(130% 95% at 50% 40%, var(--bg-hi) 0%, var(--bg) 55%, var(--bg-lo) 100%);color:var(--ink);font:400 15px/1.4 var(--ui);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid var(--sea);outline-offset:2px}svg.i{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}#world{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.glass{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(180%);backdrop-filter:blur(22px)saturate(180%);box-shadow:inset 0 1px 0 var(--edge), inset 0 0 0 .5px #ffffff8c, 0 0 0 .5px var(--line), var(--shadow)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{height:44px;font:600 15px var(--ui);color:var(--ink);background:#7676801f;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.btn.primary{background:var(--ink);color:#fff}.btn.tint{background:var(--sea);color:#fff}.btn.small{height:34px;padding:0 15px;font-size:14px}.btn.quiet{color:var(--ink-2);background:0 0;padding:0 10px}.btn.warn{color:var(--warn)}.btn:disabled{opacity:.5;cursor:default}.btn svg{width:17px;height:17px}.overlay{padding:calc(16px + var(--safe-top)) max(16px, var(--safe-right)) calc(16px + var(--safe-bottom)) max(16px, var(--safe-left));background:#f0f1ee59;place-items:center;display:grid;position:fixed;inset:0}.card{-webkit-backdrop-filter:blur(28px)saturate(180%);backdrop-filter:blur(28px)saturate(180%);width:min(420px,100%);max-height:100%;box-shadow:inset 0 1px 0 #fff, 0 0 0 .5px var(--line), var(--shadow-2);touch-action:pan-y;-webkit-user-select:text;user-select:text;background:#ffffffb8;border-radius:30px;gap:14px;padding:22px;display:grid;overflow:auto}.brand{align-items:center;gap:12px;display:flex}.brand svg{flex:none;width:44px;height:44px}.brand h1{font:700 32px/1 var(--display);letter-spacing:-.025em;margin:0}.lede{color:var(--ink-2);font:400 16px/1.45 var(--ui);text-wrap:pretty;margin:0}.card h2{font:700 22px/1.2 var(--display);letter-spacing:-.015em;margin:0}.card h3{font:600 12.5px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:6px 2px 0}.list{box-shadow:0 0 0 .5px var(--line);background:#ffffffb3;border-radius:18px;gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.list li{align-items:center;gap:12px;min-height:56px;padding:8px 12px 8px 14px;display:flex;position:relative}.list li+li:before{content:"";background:var(--line-2);height:.5px;position:absolute;top:0;left:56px;right:0}.list .who{flex:1;min-width:0;display:grid}.list .who b{font:600 16px/1.2 var(--ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list .who small{font:400 13px var(--ui);color:var(--ink-2)}.list .face{width:30px;height:30px;box-shadow:inset 0 -2px 4px #00000014, 0 0 0 .5px var(--line);border-radius:50%;flex:none}.list .on{font:600 12.5px var(--ui);color:var(--sea)}.list.away li{min-height:0;padding:11px 14px}.form{gap:8px;display:flex}.form input{min-width:0;height:44px;color:var(--ink);font:400 16px var(--ui);background:#7676801f;border:0;border-radius:14px;flex:1;padding:0 14px}.form input::placeholder{color:var(--ink-3)}.note{font:400 13.5px/1.45 var(--ui);color:var(--ink-3);margin:0}.rules{gap:11px;margin:0;padding:0;list-style:none;display:grid}.rules li{font:400 14.5px/1.4 var(--ui);color:var(--ink-2);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:11px;display:grid}.rules li b{color:var(--ink);font-weight:600}.rules .ic{background:var(--sea-soft);width:32px;height:32px;color:var(--sea);border-radius:11px;place-items:center;display:grid}.rules .ic svg{width:18px;height:18px}.row-btns{flex-wrap:wrap;gap:8px;display:flex}.confirm{background:#c4453e14;border-radius:18px;gap:10px;padding:14px;display:grid}.confirm p{font:400 14.5px/1.4 var(--ui);margin:0}.loading{color:var(--ink-2);align-items:center;gap:10px;display:flex}.spin{border:2.5px solid #1c1e221f;border-top-color:var(--sea);border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sheet{pointer-events:auto;-webkit-backdrop-filter:blur(28px)saturate(180%);backdrop-filter:blur(28px)saturate(180%);width:min(460px,100%);box-shadow:inset 0 1px 0 #fff, 0 0 0 .5px var(--line), var(--shadow-2);background:#ffffffa8;border-radius:30px;gap:12px;padding:18px 18px 16px;display:grid}.world-code{font:700 30px/1.1 var(--display);letter-spacing:.12em;font-variant-numeric:tabular-nums;margin:0}#toasts{left:0;right:0;top:calc(136px + var(--safe-top));pointer-events:none;padding-inline:max(16px, var(--safe-left)) max(16px, var(--safe-right));justify-items:center;gap:8px;display:grid;position:fixed}.toast{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;max-width:min(420px,100%);font:500 14.5px/1.35 var(--ui);text-align:center;box-shadow:var(--shadow-2);animation:toast-in .35s var(--ease);background:#1c1d1fdb;border-radius:20px;padding:11px 18px}.toast.big{font:600 16px/1.3 var(--display);background:linear-gradient(#5c968cf5,#3d6e68fa)}.toast.out{opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-6px)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}}
