:root{--u: 1px;--bg: #000000;--panel: #0b0b0c;--panel-2: #000000;--panel-top: #0b0b0c;--raised: #141416;--slot-bg: #0b0b0c;--well: #0b0b0c;--line: #2a2a2e;--line-strong: #46464c;--ink: #f4f4f5;--ink-dim: #a6a6ad;--ink-faint: #75757c;--gold: #ffd772;--gold-2: #ffd772;--field-bg: #0b0b0c;--field-border: #2a2a2e;--field-hover: #18181b;--divider: #1f1f22;--on-accent: #000000;--backdrop: rgba(0, 0, 0, .82);--backdrop-strong: #000000;--draw-bg: #000000;--panel-shadow: transparent;--btn-fg: #000000;--btn-bg: #ffd772;--btn-quiet-bg: #0b0b0c;--btn-disabled-bg: #0b0b0c;--pos: #7ee39a;--pos-bg: rgba(126, 227, 154, .13);--neg: #ff8a7d;--neg-bg: rgba(255, 138, 125, .13);--neutral-chip: #18181b;--info-fg: #8be8f7;--info-bg: rgba(34, 211, 238, .12);--immune-fg: #d8c4fb;--immune-bg: rgba(168, 85, 247, .16);--immune-strong: #c4a1fa;--var: #f472b6;--sommar: #facc15;--host: #fb923c;--vinter: #22d3ee;--p1: #60a5fa;--p2: #fbbf24;--p3: #4ade80;--p4: #c084fc;--font-ui: system-ui, -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--font-display: -apple-system, "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;--font-pixel: var(--font-ui);--tabbar-h: 64px;--radius: 14px;--radius-sm: 10px;--gap: 10px;--ease-out: cubic-bezier(.16, 1, .3, 1);--z-sticky: 10;--z-tabbar: 20;--z-modal-backdrop: 30;--z-modal: 31;--z-toast: 40}:root[data-theme=light]{--bg: #ffffff;--panel: #f4f4f5;--panel-2: #ffffff;--panel-top: #f4f4f5;--raised: #e9e9ec;--slot-bg: #f4f4f5;--well: #f4f4f5;--line: #d4d4d8;--line-strong: #a1a1aa;--ink: #09090b;--ink-dim: #52525b;--ink-faint: #71717a;--gold: #8a5a00;--gold-2: #8a5a00;--field-bg: #ffffff;--field-border: #d4d4d8;--field-hover: #f4f4f5;--divider: #e4e4e7;--on-accent: #ffffff;--backdrop: rgba(9, 9, 11, .45);--backdrop-strong: #ffffff;--draw-bg: #ffffff;--btn-fg: #ffffff;--btn-bg: #09090b;--btn-quiet-bg: #ffffff;--btn-disabled-bg: #f4f4f5;--pos: #15803d;--pos-bg: rgba(21, 128, 61, .1);--neg: #b91c1c;--neg-bg: rgba(185, 28, 28, .09);--neutral-chip: #f4f4f5;--info-fg: #0e7490;--info-bg: rgba(14, 116, 144, .1);--immune-fg: #6d28d9;--immune-bg: rgba(109, 40, 217, .1);--immune-strong: #6d28d9;--var: #be185d;--sommar: #a16207;--host: #c2410c;--vinter: #0e7490;--p1: #1d4ed8;--p2: #b45309;--p3: #15803d;--p4: #7e22ce}.tl-panel{position:relative;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.tl-plate{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color .15s var(--ease-out),background .15s var(--ease-out),color .15s var(--ease-out)}.tl-plate:hover{border-color:var(--line-strong)}.tl-plate.active{background:var(--raised);border-color:var(--ink)}.tl-slot{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.tl-slot.gold{border-color:var(--gold)}.tl-slot.danger{border-color:color-mix(in srgb,var(--neg) 60%,transparent)}.tl-slot.magic,.tl-slot.rare,.tl-slot.unique{border-color:color-mix(in srgb,var(--p4) 60%,transparent)}.tl-well{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.tl-rule{flex:1 1 auto;height:1px;align-self:center;background:var(--line)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}html{font-size:17px;background:var(--bg);color-scheme:dark}:root[data-theme=light]{color-scheme:light}:root.large-text{font-size:19.5px}@media(min-width:768px){html{font-size:18px}:root.large-text{font-size:21px}}body{font-family:var(--font-ui);color:var(--ink);font-size:1rem;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:var(--bg);overflow:hidden}#root{height:100dvh;display:flex;flex-direction:column}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;touch-action:manipulation}input,select{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3{margin:0;text-wrap:balance}::selection{background:color-mix(in srgb,var(--gold) 40%,transparent);color:var(--ink)}input{caret-color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shell{flex:1;min-height:0;width:100%;max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:var(--gap);overflow:hidden;padding:max(12px,env(safe-area-inset-top)) 12px calc(var(--tabbar-h) + 10px + env(safe-area-inset-bottom))}.shell.no-tabbar{padding-bottom:max(12px,env(safe-area-inset-bottom))}@media(min-width:768px){.shell{max-width:1100px;padding-left:24px;padding-right:24px;--gap: 14px}}.scroll-area{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent);padding-bottom:14px}.scroll-area::-webkit-scrollbar{width:6px}.scroll-area::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.screen-title{font-family:var(--font-display);font-size:1.75rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}.screen-sub{color:var(--ink-dim);margin:2px 0 0;font-size:.95rem}.head-row{display:flex;align-items:center;gap:12px;flex:none}.head-tools{display:flex;gap:8px;margin-left:auto;flex:none}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-tabbar);display:flex;justify-content:center;padding:0 12px env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--divider)}.tabbar-inner{display:flex;width:100%;max-width:520px}.tab-btn{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--tabbar-h);color:var(--ink-faint);font-size:.8rem;font-weight:600;transition:color .15s var(--ease-out)}.tab-btn svg{width:25px;height:25px}.tab-btn:before{content:"";position:absolute;top:-1px;left:30%;right:30%;height:2px;border-radius:0 0 2px 2px;background:var(--ink);transform:scaleX(0);transition:transform .2s var(--ease-out)}.tab-btn.active{color:var(--ink)}.tab-btn.active:before{transform:scaleX(1)}.tab-btn:hover{color:var(--ink-dim)}.tab-btn.active:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 18px;font-weight:700;font-size:1.02rem;color:var(--btn-fg);background:var(--btn-bg);border:1px solid transparent;border-radius:12px;transition:filter .12s var(--ease-out),transform .12s var(--ease-out);user-select:none}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.985)}.btn:disabled{color:var(--ink-faint);background:var(--btn-disabled-bg);border-color:var(--line);cursor:default;filter:none;transform:none}.btn.quiet{color:var(--ink);background:var(--btn-quiet-bg);border-color:var(--line);font-weight:600}.btn.quiet:hover{border-color:var(--line-strong);filter:none}.btn.big{width:100%;min-height:54px;font-size:1.08rem}.btn.danger{color:var(--neg)}.btn svg{width:21px;height:21px;flex:none}.icon-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;color:var(--ink-dim);background:var(--bg);border:1px solid var(--line);border-radius:12px;transition:color .12s var(--ease-out),border-color .12s var(--ease-out)}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}.icon-btn svg{width:21px;height:21px}.icon-btn.on{color:var(--pos);border-color:color-mix(in srgb,var(--pos) 55%,transparent)}.icon-btn.danger{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 45%,transparent)}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.9rem;font-weight:700;background:var(--neutral-chip);color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.chip.pos{background:var(--pos-bg);color:var(--pos)}.chip.neg{background:var(--neg-bg);color:var(--neg)}.chip.small{font-size:.84rem;padding:2px 9px}.subhead{font-size:1.05rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;margin:0;flex:none}.subhead svg{width:19px;height:19px;color:var(--ink-dim)}.subhead .subhead-aside{margin-left:auto;font-size:.9rem;font-weight:600;color:var(--ink-dim)}.muted{color:var(--ink-dim)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:559px){.screen-sub{display:none}.screen-title{font-size:1.6rem}}.head-row>div{min-width:0}.subhead{flex-wrap:wrap;row-gap:2px}.subhead>svg{flex:none}@media(max-width:559px){:root.large-text .screen-title{font-size:1.3rem}}dialog.idle{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:none;overflow:hidden;color:var(--ink);background:var(--bg)}dialog.idle::backdrop{background:var(--bg)}.idle-inner{display:flex;flex-direction:column;height:100%;max-width:900px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));gap:12px;animation:idle-in .24s var(--ease-out)}@keyframes idle-in{0%{opacity:0}to{opacity:1}}.idle-head{text-align:center;flex:none}.idle-title{font-family:var(--font-display);font-size:clamp(2rem,7vw,3rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}.idle-sub{margin:4px 0 0;font-size:1.05rem;color:var(--ink-dim)}.idle-players{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0}.idle-player{display:flex;align-items:center;gap:16px;flex:1 1 0;min-height:0;width:100%;padding:10px 18px;text-align:left;color:var(--ink);border-radius:20px;border:1.5px solid color-mix(in srgb,var(--pc) 55%,transparent);background:var(--bg);transition:background .15s var(--ease-out),transform .12s var(--ease-out)}.idle-player:hover{background:color-mix(in srgb,var(--pc) 10%,var(--bg))}.idle-player:active{transform:scale(.99)}.idle-player.current{border-color:var(--pc);background:color-mix(in srgb,var(--pc) 14%,var(--bg))}.idle-avatar{display:flex;align-items:center;justify-content:center;width:clamp(48px,9dvh,84px);height:clamp(48px,9dvh,84px);flex:none;border-radius:16px;background:var(--pc);color:#000}.idle-avatar svg{width:56%;height:56%}.idle-text{display:flex;flex-direction:column;min-width:0;gap:2px}.idle-name{font-family:var(--font-display);font-size:clamp(1.6rem,5.5vw,2.6rem);font-weight:800;line-height:1.08;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idle-meta{font-size:clamp(.95rem,3vw,1.2rem);color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idle-badge{margin-left:auto;flex:none;padding:4px 12px;border-radius:999px;font-size:.9rem;font-weight:700;color:#000;background:var(--pc)}.idle-hint{flex:none;margin:0;text-align:center;font-size:.92rem;color:var(--ink-faint)}@media(prefers-reduced-motion:reduce){.idle-inner{animation:none}}.setup-body,.setup-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--gap)}.setup-side{flex:none;display:flex;flex-direction:column;gap:var(--gap)}.setup-player-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;flex:none}.setup-player-tab{min-height:60px}.setup-tab-num{font-size:1.3rem;font-weight:800;line-height:1}.setup-tab-check{position:absolute;top:5px;right:5px;width:15px!important;height:15px!important;color:var(--pos);opacity:1!important}.setup-active{flex:none;padding:12px 14px;background:var(--panel);border:1px solid var(--pc);border-radius:var(--radius)}.setup-name-row{display:flex;align-items:center;gap:10px}.setup-name{font-size:1.4rem;font-weight:800;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-name-row .icon-btn{width:40px;height:40px}.setup-name-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;font-size:1.15rem;font-weight:700;color:var(--ink)}.setup-name-input:focus{outline:2px solid var(--gold);outline-offset:0}.setup-hint{margin:6px 0 0}.setup-chosen{display:flex;align-items:center;gap:12px;margin-top:8px}.setup-chosen>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.setup-chosen strong{font-size:1.05rem}.setup-chosen-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:11px;background:color-mix(in srgb,var(--pc) 16%,var(--bg));border:1px solid var(--pc)}.setup-chosen-icon svg{width:24px;height:24px}.char-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:8px}.char-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;row-gap:4px;padding:10px 12px;min-height:70px;color:var(--ink);text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;transition:border-color .15s var(--ease-out),background .15s var(--ease-out),opacity .15s var(--ease-out)}.char-card:hover{border-color:var(--line-strong)}.char-card.mine{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 12%,var(--bg))}.char-card.taken{opacity:.45}.char-icon{grid-row:1 / span 2;width:28px;height:28px}.char-name{font-weight:700;font-size:.98rem;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-card .chip{justify-self:start}.char-taken-dot{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%}.medal-box{padding:12px 14px}.medal-head{display:flex;align-items:center;gap:10px}.medal-head svg{width:21px;height:21px;flex:none}.medal-head strong{font-size:1.05rem}.medal-sub{margin:0;font-size:.88rem}.medal-shuffle{margin-left:auto;min-height:44px;padding:8px 14px}.medal-list{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.medal-list li{display:flex;align-items:center;gap:8px;min-width:0;font-size:.98rem}.medal-list li .chip{margin-left:auto;flex:none}.medal-list li .muted{margin-left:auto;font-size:.85rem}.medal-player-dot{width:10px;height:10px;border-radius:50%;flex:none}.medal-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-actions{display:flex;gap:10px;flex:none}.setup-actions .btn.big{flex:1;width:auto}.setup-actions .btn.danger{flex:none}.btn.start:not(:disabled){color:#000;background:var(--pos)}@media(min-width:768px){.char-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.setup-body{flex-direction:row;gap:24px}.setup-side{width:340px;justify-content:flex-start}.medal-list{grid-template-columns:1fr;gap:10px}.setup-actions{flex-direction:column}.setup-actions .btn.big,.setup-actions .btn.danger{width:100%}.char-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.char-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.medal-sub{display:none}}.char-card .chip{white-space:normal;max-width:100%}.medal-list li .muted{white-space:nowrap}.modal{border:none;background:transparent;padding:16px;max-width:min(500px,calc(100vw - 16px));max-height:100dvh;width:100%;color:var(--ink);outline:none}.modal::backdrop{background:var(--backdrop);backdrop-filter:blur(3px)}.modal-body{padding:20px;max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:none;background:var(--bg);border-color:var(--line-strong);border-radius:22px;animation:modal-in .26s var(--ease-out)}.modal.tone-gold .modal-body{border-color:color-mix(in srgb,var(--gold) 55%,transparent)}.modal.tone-danger .modal-body{border-color:color-mix(in srgb,var(--neg) 55%,transparent)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.die-face{display:inline-grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:13%;background:#f4f4f5;border-radius:22%}:root[data-theme=light] .die-face{background:#09090b}.die-face .pip{border-radius:50%;background:transparent;margin:16%}.die-face .pip.on{background:#000}:root[data-theme=light] .die-face .pip.on{background:#fff}.die-wrap{display:inline-block}.die-wrap.rolling{animation:die-shake .55s var(--ease-out)}@keyframes die-shake{0%{transform:rotate(0) translateY(0)}20%{transform:rotate(-14deg) translateY(-6px)}40%{transform:rotate(11deg) translateY(2px)}60%{transform:rotate(-8deg) translateY(-4px)}80%{transform:rotate(5deg) translateY(1px)}to{transform:rotate(0) translateY(0)}}@media(prefers-reduced-motion:reduce){.die-wrap.rolling{animation:none}}.card-preview{display:flex;align-items:center;gap:14px;width:100%;flex:none;padding:12px 14px;color:var(--ink);text-align:left}.card-preview.pos{border-color:color-mix(in srgb,var(--pos) 55%,transparent)}.card-preview-icon{width:28px;height:28px;flex:none}.card-preview.pos .card-preview-icon{color:var(--pos)}.card-preview.danger .card-preview-icon{color:var(--neg)}.card-preview-text{display:flex;flex-direction:column;gap:1px;min-width:0}.card-preview-text strong{font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-preview-text small{font-size:.9rem}.card-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:var(--backdrop-strong);cursor:pointer;animation:overlay-in .2s var(--ease-out)}.card-full{--tc: var(--line-strong);width:100%;max-width:460px;max-height:100%;overflow-y:auto;scrollbar-width:none;padding:24px 22px 18px;text-align:center;background:var(--bg);border:1.5px solid var(--tc);border-radius:24px;box-shadow:0 0 0 6px color-mix(in srgb,var(--tc) 9%,transparent);animation:card-in .34s var(--ease-out)}.card-full.tone-neg{--tc: var(--neg)}.card-full.tone-pos{--tc: var(--pos)}.card-full.tone-winter{--tc: var(--vinter)}.card-full.tone-immune{--tc: var(--immune-strong)}@keyframes card-in{0%{opacity:0;transform:translateY(24px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.card-badges{display:flex;justify-content:center;gap:8px}.card-badge{padding:4px 12px;border-radius:999px;font-size:.85rem;font-weight:700;border:1px solid currentColor}.card-badge.s-var{color:var(--var)}.card-badge.s-sommar{color:var(--sommar)}.card-badge.s-host{color:var(--host)}.card-badge.s-vinter{color:var(--vinter)}.card-badge.t-pos{color:var(--pos)}.card-badge.t-neg{color:var(--neg)}.card-big-icon{width:56px;height:56px;margin:20px auto 10px;color:var(--tc)}.card-title{font-family:var(--font-display);font-size:2.1rem;font-weight:800;line-height:1.08;letter-spacing:-.025em;overflow-wrap:break-word;text-wrap:balance}.card-desc{margin:10px auto 0;max-width:34ch;font-size:1.15rem;line-height:1.45;color:var(--ink);overflow-wrap:break-word;text-wrap:pretty}.card-notice{display:flex;gap:12px;align-items:flex-start;text-align:left;margin:16px 0 0;padding:12px 14px;border-radius:12px}.card-notice svg{width:22px;height:22px;flex:none;margin-top:2px}.card-notice p{margin:2px 0 0;font-size:1rem}.card-notice.immune{background:var(--immune-bg);color:var(--immune-fg)}.card-notice.winter{background:var(--info-bg);color:var(--info-fg)}.card-math{margin:18px 0 0;padding:4px 0 0;border-top:1px solid var(--divider)}.card-math-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;font-size:1.02rem}.card-math-row.mod{border-top:1px solid var(--divider)}.card-base{order:2;font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}.card-base.pos{color:var(--pos)}.card-base.neg{color:var(--neg)}.card-base.struck{text-decoration:line-through;opacity:.55}.card-mod{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums}.card-mod.pos{color:var(--pos)}.card-mod.neg{color:var(--neg)}.card-total-row{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:4px;padding-top:12px;border-top:1px solid var(--divider);font-size:1.05rem;font-weight:600;color:var(--ink-dim)}.card-total{font-family:var(--font-display);font-size:3.6rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}.card-total.pos{color:var(--pos)}.card-total.neg{color:var(--neg)}.card-total-unit{color:var(--ink-dim);font-size:1.1rem}.card-material-tip{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;font-size:.98rem;color:var(--gold)}.card-material-tip svg{width:18px;height:18px;flex:none}.card-hint{margin:14px 0 0;font-size:.9rem;color:var(--ink-faint)}.card-overlay.lt .card-full{padding:16px 18px 14px}.card-overlay.lt .card-big-icon{width:46px;height:46px;margin:10px auto 6px}.card-overlay.lt .card-title{font-size:1.9rem}.card-overlay.lt .card-desc{margin-top:8px;font-size:1.05rem;line-height:1.38}.card-overlay.lt .card-notice{margin-top:10px;padding:10px 12px}.card-overlay.lt .card-math{margin-top:10px}.card-overlay.lt .card-math-row{padding:5px 2px}.card-overlay.lt .card-total{font-size:3rem}.card-overlay.lt .card-hint{margin-top:8px}@media(max-height:700px){.card-big-icon{width:44px;height:44px;margin:12px auto 6px}.card-title{font-size:1.8rem}.card-math{margin-top:12px}.card-total{font-size:2.8rem}}@media(prefers-reduced-motion:reduce){.card-full,.card-overlay{animation:none}}.game-head{display:flex;align-items:center;gap:12px;flex:none}.season-badge{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex:none;border:1px solid currentColor}.season-badge svg{width:26px;height:26px}.season-badge.s-var{color:var(--var)}.season-badge.s-sommar{color:var(--sommar)}.season-badge.s-host{color:var(--host)}.season-badge.s-vinter{color:var(--vinter)}.game-head-info{display:flex;flex-direction:column;line-height:1.15;margin-right:auto;min-width:0}.game-head-info strong{font-size:1.35rem;font-weight:800;letter-spacing:-.01em}.game-head-info .muted{font-size:.95rem;font-variant-numeric:tabular-nums}.player-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;flex:none}.player-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;padding:8px 4px 7px;color:var(--ink-dim);font-size:.92rem;font-weight:600;background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s var(--ease-out),background .15s var(--ease-out),color .15s var(--ease-out)}.player-chip svg{width:24px;height:24px;opacity:.6;transition:opacity .15s var(--ease-out)}.player-chip:after{content:"";position:absolute;left:50%;bottom:0;width:28px;height:3px;margin-left:-14px;border-radius:3px 3px 0 0;background:var(--pc);opacity:.55}.player-chip:hover{border-color:var(--line-strong)}.player-chip.active{color:var(--ink);background:color-mix(in srgb,var(--pc) 14%,var(--bg));border-color:var(--pc)}.player-chip.active svg{opacity:1}.player-chip.active:after{width:100%;left:0;margin-left:0;border-radius:0;opacity:1}.player-chip-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-card{flex:none;padding:10px 12px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.active-card-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.active-char-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--pc) 16%,var(--bg));border:1px solid var(--pc)}.active-char-icon svg{width:26px;height:26px}.active-card-info{display:flex;flex-direction:column;line-height:1.25;margin-right:auto;min-width:0}.active-card-info strong{font-size:1.2rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-card-info .muted{font-size:.95rem}.active-card-chips{display:flex;gap:6px;flex-wrap:wrap}.game-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--gap)}.action-row{flex:1 1 auto;min-height:92px;display:grid;grid-template-columns:2fr 1fr;gap:var(--gap)}.draw-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:0;color:var(--ink);background:var(--bg);border:1.5px solid var(--sc, var(--line));border-radius:18px;transition:background .15s var(--ease-out),transform .12s var(--ease-out)}.draw-btn:hover{background:color-mix(in srgb,var(--sc) 8%,var(--bg))}.draw-btn:active{transform:scale(.985)}.draw-btn.s-var{--sc: var(--var)}.draw-btn.s-sommar{--sc: var(--sommar)}.draw-btn.s-host{--sc: var(--host)}.draw-btn.s-vinter{--sc: var(--vinter)}.draw-season-icon{width:clamp(30px,6dvh,48px);height:clamp(30px,6dvh,48px);color:var(--sc)}.draw-label{font-family:var(--font-display);font-size:clamp(1.5rem,4.4dvh,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}.draw-season{font-size:.92rem;font-weight:600;color:var(--sc)}.dice-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0;color:var(--ink-dim);cursor:pointer;background:var(--bg);border-radius:18px;transition:border-color .15s var(--ease-out)}.dice-btn:hover{border-color:var(--line-strong)}.dice-btn-label{font-size:.92rem;font-weight:600;color:var(--ink-dim)}.result{flex:none;padding:8px 14px 12px}.result-head{display:flex;align-items:center;gap:8px}.result-head strong{font-size:1.05rem;font-weight:700;margin-right:auto}.result-head .icon-btn{width:40px;height:40px}.result-rows{display:flex;flex-direction:column}.result-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:1.02rem;border-bottom:1px solid var(--divider)}.result-val{font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums}.result-val.pos{color:var(--pos)}.result-val.neg{color:var(--neg)}.result-total-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:6px;font-size:1.05rem;font-weight:600}.result-total{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-size:3.4rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);animation:total-in .32s var(--ease-out)}.result-total small{font-size:1.05rem;font-weight:600;letter-spacing:0;color:var(--ink-dim)}.result-total.pos{color:var(--pos)}.result-total.neg{color:var(--neg)}@keyframes total-in{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.result-blocked{display:flex;gap:12px;align-items:flex-start;padding:8px 0 2px}.result-blocked svg{width:28px;height:28px;flex:none}.result-blocked strong{font-size:1.1rem}.result-blocked p{margin:4px 0 0;color:var(--ink-dim)}.notice{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:8px 12px;border-radius:10px;font-size:.95rem}.notice svg{width:19px;height:19px;flex:none}.notice.cyan{background:var(--info-bg);color:var(--info-fg)}.notice.warn{background:var(--neg-bg);color:var(--neg);font-weight:600}.btn.reroll{min-height:40px;padding:6px 12px;font-size:.92rem;color:var(--p4)}.btn.reroll svg{width:17px;height:17px}@media(min-width:900px){.game-main.has-result{flex-direction:row}.game-main.has-result .action-row{flex:1 1 0}.game-main.has-result .result{flex:0 0 min(400px,40%);align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:16px 20px}.result-total{font-size:4.4rem}}.next-year{flex:none;color:var(--gold)}.btn.quiet.next-year:hover{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}.year-list{margin:14px 0;padding-left:20px;color:var(--ink);display:flex;flex-direction:column;gap:8px}.year-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.settings-group{display:flex;flex-direction:column;gap:8px;margin-top:4px}.settings-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 14px;text-align:left;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;transition:border-color .12s var(--ease-out)}.settings-row:hover{border-color:var(--line-strong)}.settings-row>svg{width:23px;height:23px;flex:none;color:var(--ink-dim)}.settings-row-text{display:flex;flex-direction:column;min-width:0}.settings-row-text strong{font-size:1.02rem}.settings-row-text small{font-size:.88rem;color:var(--ink-dim)}.settings-row-value{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex:none;font-weight:700;color:var(--ink)}.settings-check{width:18px;height:18px;color:var(--pos)}.picker-title{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:12px}.picker-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.picker-row{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px;min-height:132px;color:var(--ink);text-align:left;background:var(--bg);border:1.5px solid color-mix(in srgb,var(--sc) 45%,transparent);border-radius:16px;transition:background .12s var(--ease-out),border-color .12s var(--ease-out)}.picker-row:hover{border-color:var(--sc);background:color-mix(in srgb,var(--sc) 8%,var(--bg))}.picker-row.current{border-color:var(--sc)}.picker-row:has(.s-var){--sc: var(--var)}.picker-row:has(.s-sommar){--sc: var(--sommar)}.picker-row:has(.s-host){--sc: var(--host)}.picker-row:has(.s-vinter){--sc: var(--vinter)}.picker-icon{width:34px;height:34px;flex:none;color:var(--sc)}.picker-name{display:flex;flex-direction:column;font-size:1.4rem;font-weight:800;letter-spacing:-.01em;line-height:1.15}.picker-name small{font-size:.85rem;font-weight:600;letter-spacing:0;color:var(--sc)}.picker-count{position:absolute;top:14px;right:14px;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-faint)}.picker-count:after{content:" kort"}.picker-hint{text-align:center;margin:12px 0 0;font-size:.92rem}:root.large-text .picker-row{min-height:140px}:root.large-text .picker-icon{width:40px;height:40px}@media(max-height:700px){.player-chip{min-height:54px;padding:5px 4px}.player-chip svg{width:20px;height:20px}.season-badge{width:42px;height:42px}.active-char-icon{width:40px;height:40px}.result-row{padding:5px 0}.result-total{font-size:2.6rem}}@media(max-height:760px){.game:has(.game-main.has-result) .active-card{display:none}}.players-grid{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--gap)}.players-col{display:flex;flex-direction:column;gap:var(--gap);min-height:0}.buildings-col{flex:1 1 auto}@media(min-width:900px){.players-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:stretch}}.active-card .active-card-info .chip{margin-top:4px;align-self:flex-start}.goal-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:70px;min-height:56px;padding:6px 10px;border-radius:12px;font-size:.88rem;font-weight:700;color:var(--ink-dim);background:var(--bg);border:1px solid var(--line);transition:color .15s var(--ease-out),background .15s var(--ease-out),border-color .15s var(--ease-out)}.goal-btn svg{width:21px;height:21px}.goal-btn:hover{border-color:var(--line-strong)}.goal-btn.reached{color:#000;background:var(--pos);border-color:var(--pos)}.medal-card{display:flex;align-items:center;gap:14px;padding:12px 14px;flex:none}.medal-card svg{width:30px;height:30px;flex:none}.medal-card p{margin:1px 0 0;font-size:.95rem}.medal-card strong{font-size:1.08rem}.medal-value{display:flex;align-items:center;justify-content:center;min-width:52px;height:52px;padding:0 6px;border-radius:14px;font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);border:1.5px solid var(--line-strong);flex:none}.medal-value.pos{color:var(--pos);border-color:var(--pos)}.medal-value.neg{color:var(--neg);border-color:var(--neg)}.cost-total{display:inline-flex;align-items:center;gap:5px}.cost-total svg{width:16px!important;height:16px!important;color:var(--gold)!important}.cost-total strong{color:var(--gold);font-variant-numeric:tabular-nums}.building-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;align-content:start;gap:8px}@media(min-width:600px)and (max-width:899px){.building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.building-card{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:64px;color:var(--ink);text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}.building-card:hover{border-color:var(--line-strong)}.building-card.on{border-color:var(--bc, var(--gold));background:color-mix(in srgb,var(--bc, var(--gold)) 10%,var(--bg))}.building-icon{width:26px;height:26px;flex:none;color:var(--bc, var(--gold));opacity:.55;transition:opacity .15s var(--ease-out)}.building-card.on .building-icon{opacity:1}.building-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.building-name{font-size:1.02rem}.building-desc{font-size:.88rem;line-height:1.35;color:var(--ink-dim)}.building-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.building-cost{font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold)}.building-cost:after{content:" sh";font-weight:600;font-size:.82em;color:var(--ink-faint)}.building-state{display:inline-flex;align-items:center;gap:3px;font-size:.82rem;font-weight:700;color:var(--ink-faint)}.building-state svg{width:14px;height:14px}.building-state.on{color:var(--pos)}.players-grid>.players-col:first-child{flex:none}.save-empty{padding:22px;display:flex;flex-direction:column;gap:16px;flex:none}.save-empty p{margin:0;max-width:55ch;font-size:1.05rem}.save-meta{display:flex;align-items:center;justify-content:space-between;flex:none}.save-meta strong{display:block;font-size:1.15rem}.save-time{display:inline-flex;align-items:center;gap:6px;color:var(--pos);font-size:.95rem}.save-time svg{width:16px;height:16px}.save-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;align-content:start;gap:10px}@media(min-width:768px){.save-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.save-player{padding:12px 14px;border-color:color-mix(in srgb,var(--pc) 45%,var(--line))}.save-player-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:1.08rem}.save-player-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.save-field{display:flex;flex-direction:column;gap:4px;min-width:0}.save-label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-dim);font-size:.9rem;white-space:nowrap}.save-label svg{width:17px;height:17px;flex:none}.save-field input{width:100%;min-height:50px;padding:8px 12px;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px}.save-field input::placeholder{color:var(--ink-faint);font-weight:500;font-size:1rem}.save-field input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:transparent}.save-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 14px;border-radius:10px;font-size:1rem;font-weight:700;color:var(--ink-dim);background:var(--bg);border:1px solid var(--line);transition:color .15s var(--ease-out),background .15s var(--ease-out),border-color .15s var(--ease-out)}.save-toggle svg{width:21px;height:21px}.save-toggle:hover{border-color:var(--line-strong)}.save-toggle.on{color:#000;background:var(--pos);border-color:var(--pos)}.save-toggle-check{margin-left:auto}.save-cost{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--divider);font-size:.95rem}.save-cost strong{color:var(--gold)}.save-cost-icons{display:inline-flex;gap:4px;margin-left:auto;color:var(--ink-dim)}.save-cost-icons svg{width:16px;height:16px}
