:root{color:#f8ead0;background:#06131a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #06131a;--deep: #08202b;--sea: #0a3040;--panel: rgba(5, 28, 39, .9);--panel-soft: rgba(8, 43, 57, .72);--gold: #d9a84a;--gold-bright: #ffd875;--gold-dark: #6f4814;--paper: #efe0bd;--paper-light: #fbefd3;--paper-line: rgba(83, 57, 24, .22);--red: #a6292d;--green: #1f743d;--text-muted: #cab99b;--radius: 8px;--shadow: 0 18px 48px rgba(0, 0, 0, .38)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(#031016d6,#031016e0),url(/skullkingscorer/assets/sea-chart-bg.jpg) center / cover fixed,radial-gradient(circle at 18% -5%,rgba(222,165,67,.16),transparent 22rem),radial-gradient(circle at 100% 20%,rgba(21,88,101,.34),transparent 28rem),linear-gradient(135deg,#031016,#082635 48%,#041219)}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),radial-gradient(circle at center,transparent 0,rgba(0,0,0,.32) 78%);background-size:34px 34px,34px 34px,100% 100%;mix-blend-mode:screen;opacity:.52}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}input{width:100%;border:1px solid rgba(217,168,74,.42);border-radius:var(--radius);padding:.62rem .72rem;color:#fff5d9;background:linear-gradient(180deg,#04121af0,#082431e6);box-shadow:inset 0 1px 8px #0000005c;outline:none}input:focus{border-color:var(--gold-bright);box-shadow:0 0 0 3px #d9a84a33,inset 0 1px 8px #0000005c}.app-shell{min-height:100vh;padding:.7rem}.welcome-shell{display:grid;place-items:center}.welcome-panel{width:min(1040px,100%)}.brand-lockup{display:flex;align-items:center;gap:.72rem;margin-bottom:.85rem}.brand-lockup.small{min-width:13.5rem;margin:0}.brand-mark{position:relative;display:grid;width:3.15rem;height:3.15rem;place-items:center;border:1px solid rgba(255,216,117,.72);border-radius:50%;color:var(--gold-bright);background:radial-gradient(circle,rgba(255,216,117,.18),transparent 56%),linear-gradient(145deg,#102f3d,#04121a);box-shadow:inset 0 0 18px #d9a84a24,0 0 0 4px #d9a84a14}.brand-mark:before,.brand-mark:after{position:absolute;width:2.6rem;height:1px;background:#d9a84ab3;content:""}.brand-mark:before{transform:rotate(35deg)}.brand-mark:after{transform:rotate(-35deg)}.brand-mark svg{position:relative;z-index:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.8))}.brand-lockup.small .brand-mark{width:2.55rem;height:2.55rem}.eyebrow,.topbar-code span,.game-status span,.current-bids span,.field-label,.ledger-round-header span,.ledger-player-row small{color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.eyebrow{margin:0 0 .14rem}h1,h2{margin:0;line-height:1.04}h1{color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,6vw,4.85rem);letter-spacing:.01em;text-shadow:0 2px 0 rgba(0,0,0,.5)}.brand-title{display:block;color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:1.45rem;line-height:1.04;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.5)}.brand-subtitle{margin:.06rem 0 0;color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-weight:800;letter-spacing:.42em;text-transform:uppercase}h2{color:#fff0cf;font-family:Georgia,Times New Roman,serif;font-size:1rem;letter-spacing:.04em}.session-setup{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:.75rem;align-items:stretch}.panel,.scorecard-panel,.topbar{position:relative;border:1px solid rgba(217,168,74,.5);border-radius:var(--radius);background:linear-gradient(180deg,#051f2beb,#03131bf2),url(/skullkingscorer/assets/sea-chart-bg.jpg) center / cover,linear-gradient(180deg,#051f2bf0,#03131bf0),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 22px);box-shadow:var(--shadow),inset 0 0 0 1px #ffffff08}.panel:before,.scorecard-panel:before,.topbar:before{position:absolute;inset:.38rem;border:1px solid rgba(217,168,74,.13);border-radius:calc(var(--radius) - 2px);pointer-events:none;content:""}.panel{padding:.78rem}.panel-title{display:flex;align-items:center;gap:.48rem;margin-bottom:.65rem;color:var(--gold-bright)}.panel-title svg{color:var(--gold-bright)}.player-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.44rem;margin-bottom:.55rem}.player-fields.compact{grid-template-columns:1fr;margin-top:.5rem}.player-name-row{display:grid;grid-template-columns:minmax(0,1fr) 2rem 2rem 2rem;gap:.28rem}.player-name-row button,.round-button,.counter button{display:grid;place-items:center;border:1px solid rgba(217,168,74,.42);border-radius:var(--radius);color:#fff3d6;background:linear-gradient(180deg,#123644f2,#04131cf2);box-shadow:inset 0 1px #ffffff12}.player-name-row button{min-height:2.35rem}.full{width:100%;justify-content:center}.primary-button,.secondary-button,.ghost-button{display:inline-flex;min-height:2.42rem;align-items:center;gap:.38rem;border-radius:var(--radius);padding:.54rem .78rem;font-weight:850;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.primary-button{border:1px solid rgba(255,226,143,.58);color:#fff2d4;background:linear-gradient(180deg,#865e1c61,#2d1a0a5c),linear-gradient(180deg,#bd8230,#674212);box-shadow:0 8px 20px #00000057,inset 0 1px #ffffff2e}.secondary-button{border:1px solid rgba(255,226,143,.44);color:#10202a;background:linear-gradient(180deg,#ffe39a,#d09a3c)}.ghost-button{border:1px solid rgba(217,168,74,.42);color:#fff4d8;background:#051822bd}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.ghost-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000052}.switch-row{display:flex;align-items:center;gap:.52rem;margin:.6rem 0;color:#f7e9c9;font-weight:760}.switch-row input{width:1.15rem;height:1.15rem;accent-color:var(--gold)}.code-input{margin-bottom:.75rem;color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:2.15rem;font-weight:900;letter-spacing:.06em;text-align:center}.muted{color:var(--text-muted);font-size:.9rem;line-height:1.45}.error-banner{max-width:1500px;margin:.5rem auto;border:1px solid rgba(255,145,127,.52);border-radius:var(--radius);padding:.82rem 1rem;color:#ffe8df;background:#66181ebd}.topbar{display:grid;grid-template-columns:auto minmax(7rem,.35fr) minmax(0,1fr);align-items:stretch;gap:0;max-width:1500px;margin:0 auto .7rem;overflow:hidden}.topbar>*{padding:.62rem .72rem;border-right:1px solid rgba(217,168,74,.22)}.topbar>:last-child{border-right:0}.topbar-code{display:grid;align-content:center}.topbar-code h1{color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:2rem;letter-spacing:.08em;line-height:1}.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.42rem}.host-pill{display:inline-flex;min-height:2.25rem;align-items:center;gap:.4rem;border:1px solid rgba(217,168,74,.34);border-radius:var(--radius);padding:.42rem .65rem;color:#d7c7a8;background:#04141db3;font-weight:820}.host-pill.active{border-color:#ffd875b8;color:var(--gold-bright)}.dashboard-grid{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:.7rem;max-width:1600px;margin:0 auto}.dashboard-grid.viewer{grid-template-columns:minmax(0,1fr)}.control-deck{display:grid;align-content:start;gap:.7rem}.field-label{display:block;margin-bottom:.34rem}.round-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem}.round-button{min-height:2.05rem;font-weight:900}.round-button.active{color:#150e05;background:linear-gradient(180deg,#ffe497,#c88b2f)}.round-meta{display:flex;align-items:center;justify-content:space-between;margin:.6rem 0;border:1px solid rgba(217,168,74,.22);border-radius:var(--radius);padding:.58rem .68rem;color:#d5c8ad;background:#030f16a8}.round-meta strong{color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.player-editor{display:grid;gap:.46rem;margin-bottom:.65rem}.player-editor summary{cursor:pointer}.panel-subtitle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--gold-bright)}.panel-subtitle span{color:var(--text-muted);font-size:.82rem;font-weight:800}.score-entry{max-height:calc(100vh - 5.8rem);overflow:auto}.entry-card{border:1px solid rgba(217,168,74,.22);border-radius:var(--radius);padding:.58rem;margin-bottom:.52rem;background:linear-gradient(180deg,#0a3040b8,#04151eb8)}.entry-header{display:flex;justify-content:space-between;gap:.65rem;margin-bottom:.44rem}.entry-header span,.counter strong{color:var(--gold-bright);font-weight:900}.round-entry-note{margin:0 0 .55rem;border:1px solid rgba(217,168,74,.18);border-radius:var(--radius);padding:.52rem .62rem;color:#dccfb3;background:#030f1694;font-size:.88rem;font-weight:780;line-height:1.35}.counter{display:flex;align-items:center;justify-content:space-between;gap:.48rem;margin:.3rem 0}.counter>span{color:#e7d8ba;font-size:.9rem;font-weight:780}.counter div{display:grid;grid-template-columns:2rem 2rem 2rem;align-items:center;border:1px solid rgba(217,168,74,.28);border-radius:var(--radius);overflow:hidden;background:#030f16bd}.counter button{min-height:1.86rem;border:0;border-radius:0;background:transparent}.counter strong{text-align:center}.counter.compact{display:block;margin:0}.counter.compact>span{display:block;margin-bottom:.28rem;font-size:.74rem}.counter.compact div{grid-template-columns:1.7rem 1.7rem 1.7rem}.bonus-grid{display:grid;grid-template-columns:1fr;gap:.3rem;margin-top:.5rem}.bonus-drawer{margin-top:.5rem;border:1px solid rgba(217,168,74,.2);border-radius:var(--radius);background:#030f1685}.bonus-drawer summary{display:flex;min-height:2.25rem;align-items:center;justify-content:space-between;gap:.55rem;padding:0 .65rem;color:#f7e7c4;cursor:pointer;font-weight:820}.bonus-drawer summary::marker{color:var(--gold)}.bonus-drawer summary strong{display:inline-grid;min-width:1.5rem;min-height:1.5rem;place-items:center;border-radius:50%;color:#140d05;background:var(--gold-bright);font-size:.82rem}.bonus-drawer .bonus-grid{margin:0;border-top:1px solid rgba(217,168,74,.16);padding:.45rem .55rem .55rem}.setup-note{margin:0}.scorecard-panel{container-name:scorecard;container-type:inline-size;min-width:0;padding:.74rem;overflow:hidden}.scorecard-panel:after{position:absolute;right:-2.2rem;bottom:-2.2rem;z-index:0;width:clamp(8rem,18vw,15rem);height:clamp(8rem,18vw,15rem);pointer-events:none;content:"";background:url(/skullkingscorer/assets/skull-king-crest.jpg) center / contain no-repeat;border-radius:50%;mix-blend-mode:screen;opacity:.14}.scorecard-panel>*{position:relative;z-index:1}.scorecard-heading{display:flex;align-items:start;justify-content:space-between;gap:.65rem;margin-bottom:.62rem;padding-bottom:.45rem;border-bottom:1px solid rgba(217,168,74,.2)}.scorecard-heading h2{color:var(--gold-bright);font-size:1.55rem;text-transform:uppercase}.score-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.34rem}.score-totals span{display:inline-flex;min-height:2rem;align-items:center;gap:.28rem;border:1px solid rgba(217,168,74,.28);border-radius:var(--radius);padding:.32rem .52rem;color:#f9efd2;background:#030f16ad;font-size:.84rem}.score-totals span.leader{border-color:#ffd875bd;color:#fff7df;background:#d9a84a29}.score-totals small{color:var(--gold-bright);font-size:.72rem;font-weight:900}.score-totals em{border-radius:999px;padding:.12rem .32rem;color:#163017;background:#eec96b;font-size:.72rem;font-style:normal;font-weight:900}.score-totals em.negative{color:#ffe8e8;background:var(--red)}.game-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.46rem;margin-bottom:.6rem}.game-status>div,.current-bids>div:first-child,.bid-strip{border:1px solid rgba(217,168,74,.18);border-radius:var(--radius);background:#030f168f}.game-status>div{padding:.52rem .64rem}.game-status strong,.current-bids strong{display:block;margin:.08rem 0;color:var(--gold-bright);font-size:.98rem}.game-status small{display:block;color:#d6c8ac;font-size:.78rem;font-weight:760}.current-bids{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:.46rem;margin-bottom:.6rem}.current-bids>div:first-child{display:grid;align-content:center;min-width:9.25rem;padding:.5rem .64rem}.bid-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.6rem,1fr));overflow:hidden}.bid-chip{display:grid;grid-template-columns:auto minmax(0,1fr);min-width:0;min-height:3rem;align-items:center;gap:.38rem;border-right:1px solid rgba(217,168,74,.14);padding:.42rem .48rem;color:#f7e7c4;text-transform:none}.bid-chip:last-child{border-right:0}.bid-player-name{min-width:0;color:#f7e7c4;font-size:.72rem;line-height:1.08;overflow-wrap:anywhere;text-transform:none}.bid-strip strong{display:inline-grid;flex:0 0 auto;min-width:1.65rem;min-height:1.65rem;place-items:center;border-radius:50%;color:#160f05;background:var(--gold-bright);font-size:.9rem}.scorecard-scroll{overflow:auto;border:1px solid rgba(92,61,23,.44);border-radius:var(--radius);background:linear-gradient(#f8ebcab8,#f8ebcac2),url(/skullkingscorer/assets/parchment-sheet.jpg) center / cover,radial-gradient(circle at 30% 18%,rgba(121,79,28,.15),transparent 16rem),repeating-linear-gradient(0deg,transparent 0 2.35rem,rgba(73,47,19,.11) 2.35rem calc(2.35rem + 1px));box-shadow:inset 0 0 28px #5d3d1838}.scorecard-table{width:100%;min-width:860px;border-collapse:collapse;color:#231a10;font-family:Georgia,Times New Roman,serif;font-size:.84rem}.scorecard-table th,.scorecard-table td{border:1px solid var(--paper-line);padding:.38rem .34rem;text-align:center}.scorecard-table th{position:sticky;top:0;z-index:1;color:#2b1f10;background:linear-gradient(180deg,#f9edca,#ddc894);text-transform:uppercase}.scorecard-table thead tr:first-child th{background:linear-gradient(180deg,#f6e7bf,#d5b878)}.round-index,.running-total{font-weight:900}.negative{color:var(--red);font-weight:900}.mobile-scorecard{display:none}.ledger-round{overflow:hidden;border:1px solid rgba(92,61,23,.42);border-radius:var(--radius);color:#21170c;background:linear-gradient(#f7eac8b8,#f7eac8c2),url(/skullkingscorer/assets/parchment-sheet.jpg) center / cover,radial-gradient(circle at 25% 15%,rgba(121,79,28,.14),transparent 9rem),repeating-linear-gradient(0deg,transparent 0 2.36rem,rgba(73,47,19,.12) 2.36rem calc(2.36rem + 1px));box-shadow:inset 0 0 24px #5d3d1833}.ledger-round-header{display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch;color:#f8e8c6;background:linear-gradient(180deg,#0a3446,#041923)}.ledger-round-header>*{display:grid;align-content:center;min-height:2.55rem;border-right:1px solid rgba(217,168,74,.18);padding:.36rem .5rem}.ledger-round-header>:last-child{border-right:0}.ledger-round-header strong{color:var(--gold-bright);font-family:Georgia,Times New Roman,serif;font-size:1.08rem}.ledger-round-header small{color:var(--gold-bright);font-weight:900;text-transform:uppercase}.ledger-player-list{display:grid}.ledger-player-row{display:grid;grid-template-columns:minmax(6rem,1.35fr) repeat(4,minmax(3rem,.55fr));min-height:3.1rem;border-top:1px solid rgba(73,47,19,.24)}.ledger-player-row>*{display:grid;align-content:center;border-right:1px solid rgba(73,47,19,.2);padding:.34rem .38rem;text-align:center}.ledger-player-row>:last-child{border-right:0}.ledger-player-name{justify-content:start;color:#2d1e0c;text-align:left}.ledger-player-row span{color:#26302e;font-weight:900}.ledger-player-row small{display:block;margin-bottom:.12rem;color:#6f4c1f;font-size:.64rem}@media(max-width:980px){.session-setup,.dashboard-grid{grid-template-columns:1fr}.score-entry{max-height:none}}@media(max-width:760px){.app-shell{padding:.48rem}.topbar{grid-template-columns:1fr auto}.topbar-actions{grid-column:1 / -1;justify-content:stretch;border-top:1px solid rgba(217,168,74,.18)}.topbar-actions>*{flex:1;justify-content:center}.brand-lockup.small{min-width:0}.brand-title{font-size:1.1rem}.brand-subtitle{font-size:.63rem;letter-spacing:.34em}.topbar-code h1{font-size:1.5rem}.scorecard-heading{display:grid}.score-totals{justify-content:stretch}.score-totals span{flex:1;justify-content:center}.player-fields{grid-template-columns:1fr}.round-picker{grid-template-columns:repeat(5,minmax(2.1rem,1fr))}.scorecard-panel{padding:.55rem}.scorecard-panel:after{top:8.25rem;right:-1.1rem;bottom:auto;width:8.5rem;height:8.5rem;opacity:.2}.scorecard-heading h2{font-size:1.3rem}.game-status,.current-bids{grid-template-columns:1fr}.ledger-player-row{grid-template-columns:minmax(5.5rem,1.2fr) repeat(4,minmax(2.65rem,1fr))}.ledger-player-row>*{padding-inline:.35rem}.counter{align-items:stretch}.counter div{grid-template-columns:2.15rem 2.05rem 2.15rem}.counter button{min-height:2.12rem}}@container scorecard (max-width: 859px){.scorecard-heading{display:grid}.score-totals{justify-content:stretch}.score-totals span{flex:1;justify-content:center}.scorecard-scroll{display:none}.mobile-scorecard{display:grid;gap:.7rem}}@media(max-width:420px){.ledger-player-row{grid-template-columns:minmax(0,1fr) repeat(4,2.55rem)}.ledger-player-name{overflow-wrap:anywhere}}
