:root{--paper:#f7f1e7;--surface:#fffdf8;--ink:#30252b;--muted:#71656a;--tomato:#ad3b2e;--basil:#386348;--line:#ded3c4;--gold:#d99b43;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.exit-table{text-align:center}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;transition:background .15s,transform .15s}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #ad3b2e}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13}h1,h2{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{font-size:56px}h2{font-size:32px}h3{font-size:18px}p{color:var(--muted)}a{color:inherit}button{min-height:44px}input,select{border:1px solid var(--line);min-width:0;min-height:48px;color:var(--ink);background:#fffdfa;border-radius:10px;padding:11px 14px}input{width:100%}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:100px;margin:0 5%;display:flex}.brand{letter-spacing:-1.5px;align-items:center;gap:9px;font-family:Georgia,serif;font-size:27px;font-weight:700;text-decoration:none;display:flex}.brand-shuffle{color:var(--tomato)}.brand i{vertical-align:top;letter-spacing:0;font:10px Arial}.site-header nav{align-items:center;gap:17px;display:flex}.site-header select{background:0 0;border:0;padding:8px;font-size:13px}.header-rules{background:0 0;font-size:13px}.icon-button{background:0 0;border-radius:50%;width:44px;height:44px;font-size:24px}.icon-button:hover{background:#eee6da}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-size:11px;font-weight:650;display:block}.live-dot{background:var(--basil);border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.primary,.secondary{border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px 20px;font-weight:600;display:flex}.primary{background:var(--tomato);color:#fff}.primary:not(:disabled):hover{background:#923023}.secondary{background:#fffdfa;border:1px solid #d4c7b6;justify-content:center}.secondary:not(:disabled):hover{background:#f1e7d8}.primary span{font-size:23px;font-weight:400}.text-button{color:var(--muted);text-underline-offset:4px;background:0 0;padding:8px 10px;font-size:13px;text-decoration:underline}.field{gap:8px;margin-bottom:20px;display:grid}.field>span{font-size:13px;font-weight:600}.field small{color:var(--muted);font-size:12px}.field select{width:100%}.code-input{letter-spacing:4px;font-weight:650}.muted{color:var(--muted);font-size:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:25px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.panel-heading h2{margin:0}.status-pill{letter-spacing:0;color:var(--muted);background:#eee7db;border-radius:15px;padding:4px 9px;font-size:11px;display:inline-block}.announcement{max-width:1320px;margin:0 auto;padding:0 20px}.announcement:has(>*){padding-top:15px}.notice,.error-banner{color:#785016;background:#f3e6ce;border-radius:10px;margin:8px 0;padding:12px 18px;font-size:13px}.notice button{background:0 0;margin-left:10px;text-decoration:underline}.error-banner{color:#8d3023;background:#f6e0d9;justify-content:space-between;align-items:center;display:flex}.error-banner button{color:inherit;background:0 0;font-size:24px}.error{color:#8d3023;background:#f6e0d9;border-radius:9px;padding:12px;font-size:13px}.landing{grid-template-columns:1.35fr 1fr;align-items:start;gap:90px;max-width:1170px;margin:68px auto 10px;padding:0 30px;display:grid}.hero-copy h1{margin:23px 0;font-size:68px}.hero-copy h1 span{display:block}.hero-copy h1 span:last-child{color:var(--tomato);font-style:italic}.hero-copy>p{max-width:435px;font-size:16px;line-height:1.8}.hero-facts{color:var(--muted);gap:21px;margin-top:28px;font-size:12px;display:flex}.hero-art{width:400px;max-width:100%;height:330px;margin:20px 0 0 16px;position:relative}.hero-pizza{filter:drop-shadow(0 15px 20px #7c5a3b18);width:330px;height:330px;position:absolute;top:0;left:30px;transform:rotate(-12deg)}.art-ring{border:1px dashed #c6b89f;border-radius:50%;position:absolute;inset:10px 15px 0;transform:rotate(-15deg)}.hero-topping{width:80px;height:80px;position:absolute}.topping-0{top:52px;left:118px}.topping-1{top:73px;left:200px}.topping-2{top:140px;left:90px;transform:rotate(-32deg)}.topping-3{top:160px;left:190px}.topping-4{top:218px;left:134px}.topping-5{top:219px;left:232px}.art-note{background:#fffbef;border:1px solid #e1d4b7;padding:9px 18px;font-family:Georgia,serif;font-style:italic;position:absolute;bottom:7px;right:-25px;transform:rotate(-8deg);box-shadow:0 4px 12px #30252b10}.entry-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;margin-top:35px;padding:36px;box-shadow:0 16px 50px #543a2010}.entry-card h2{margin:14px 0 30px}.entry-card .primary{margin-top:24px}.separator{color:var(--muted);align-items:center;gap:14px;margin:28px 0;font-size:12px;display:flex}.separator:before,.separator:after{content:"";background:var(--line);flex:1;height:1px}.entry-note{text-align:center;margin:24px 0 0;font-size:11px}.lobby{grid-template-columns:1fr 1.12fr;gap:80px;max-width:1120px;margin:60px auto;padding:0 30px;display:grid}.lobby-intro h1{margin:20px 0}.lobby-intro>p{max-width:340px}.invite-card{background:#eee6d8;border-radius:16px;gap:12px;max-width:330px;margin-top:35px;padding:24px;display:grid}.invite-card>span{color:var(--muted);font-size:12px}.invite-card>strong{letter-spacing:7px;font-size:35px;font-weight:500}.invite-card input{background:0 0;border:0;min-height:30px;padding:6px;font-size:10px}.lobby-box{object-fit:contain;width:180px;height:180px;margin-left:150px;transform:rotate(-10deg)}.lobby-panel>.primary,.lobby-panel>.secondary{margin:12px 0}.seat-list{margin:8px 0 25px}.seat{border-bottom:1px solid #eee7dc;align-items:center;gap:12px;padding:16px 0;display:flex}.seat-name{flex:1;min-width:0}.seat-name strong{overflow-wrap:anywhere;font-size:14px;display:block}.seat-name small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.avatar{border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:20px;display:inline-flex}.color-0{color:#963e2b;background:#efd3c2}.color-1{color:#446145;background:#d8e3cb}.color-2{color:#76508b;background:#e7dbee}.color-3{color:#856820;background:#efe1b9}.color-4{color:#436573;background:#cfe0e6}.empty .avatar{color:#b6ab9c;background:#f3eee5}.empty strong{color:#b6ab9c;font-weight:400}.empty small{visibility:hidden}.ready-tag{color:#8f8271;text-align:right;max-width:95px;font-size:10px}.is-ready{color:var(--basil);font-weight:600}.game-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px;max-width:1400px;margin:30px auto;padding:0 30px;display:grid}.phase-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.phase-heading h1{margin:12px 0;font-size:34px}.phase-hint{max-width:630px;min-height:40px;margin:0 0 4px;font-size:13px}.dot{margin:0 7px}.round-dots{gap:6px;display:flex}.round-dots i{background:#e2d7c6;border-radius:50%;width:9px;height:9px}.round-dots i.filled{background:var(--tomato)}.table-canvas{aspect-ratio:1000/1340;border-radius:22px;width:100%;position:relative;overflow:hidden}.table-canvas canvas{display:block}.table-canvas[aria-busy=true] canvas{visibility:hidden}.table-loading{color:#71656a;place-items:center;font-family:Georgia,serif;font-size:24px;display:grid;position:absolute;inset:0}.game-sidebar{flex-direction:column;gap:16px;min-width:0;display:flex}.game-sidebar .panel{min-width:0;padding:21px}.game-sidebar h2{margin:11px 0 20px;font-size:26px}.draft-cards{grid-template-columns:1fr 1fr;gap:9px;display:grid}.draft-card{background:#fff;border:1px solid #dbcbb9;border-radius:11px;min-width:0;min-height:95px;padding:8px}.draft-card>span{justify-content:center;gap:0;display:flex}.draft-card small{color:var(--muted);margin-top:7px;font-size:10px;display:block}.draft-card:not(:disabled):hover{border-color:var(--tomato);background:#f9eee5}.ingredient{object-fit:contain;vertical-align:middle;display:inline-block}.topping-buttons{gap:8px;margin-bottom:20px;display:flex}.topping-buttons button{background:#f7f1e7;border:2px solid #0000;border-radius:12px;flex:1;padding:8px 3px;position:relative}.topping-buttons button.selected{border-color:var(--tomato);background:#fae9dd}.topping-buttons button>span{color:var(--muted);font-size:10px;position:absolute;top:3px;left:6px}.topping-buttons small{min-height:16px;font-size:10px;line-height:1.3;display:block}.target-buttons{grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0;display:grid}.target-buttons button{color:var(--ink);background:#f3eadc;border-radius:8px;min-height:50px;padding:4px;font-size:16px;font-weight:600}.target-buttons button small{color:var(--muted);font-size:10px;font-weight:400;display:block}.target-buttons button:not(:disabled):hover{background:#e6d5bf}.waste-button{width:100%;margin-bottom:6px}.editor-actions{align-items:center;gap:10px;margin:18px 0 12px;display:flex}.editor-actions .secondary{flex:1;min-height:44px;padding:8px}.editor-actions .text-button{flex:1}.confirm{font-size:13px}.recipe-ingredients{margin:8px 0}.recipe-ingredients .ingredient{margin-right:6px}.detail-panel p{font-size:12px}.detail-panel>.eyebrow{justify-content:space-between;align-items:center;display:flex}.detail-panel>.eyebrow+.status-pill{float:right}.detail-panel>strong{font-size:14px}.deadline{border-top:1px solid var(--line);justify-content:space-between;padding-top:12px;display:flex}.deadline strong{color:var(--ink)}.detail-toppings{gap:3px;min-height:30px;display:flex}.inspect-buttons{grid-template-columns:repeat(8,1fr);margin-top:12px;display:grid}.inspect-buttons button{background:0 0;border-radius:6px;min-width:0;min-height:44px;padding:0;font-size:12px}.inspect-buttons button.active{color:#9d3929;background:#f3dfce}.score-list{margin-bottom:0}.score-list>div{justify-content:space-between;gap:8px;margin:8px 0;font-size:12px;display:flex}.score-list dt{color:var(--muted)}.score-list dd{margin:0;font-weight:600}.score-list .total{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;font-size:19px}.score-list .total dt{color:var(--ink)}.players-strip{flex-wrap:wrap;gap:8px;margin:14px 0 0;display:flex}.player-chip{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:9px;min-width:0;padding:8px;display:flex}.player-chip.active{background:#fffaf2;border-color:#dacbb8}.player-chip strong{overflow-wrap:anywhere;max-width:125px;font-size:11px;display:block}.player-chip small{color:var(--muted);font-size:10px}.player-chip .avatar{width:32px;height:32px;font-size:17px}.viewing{color:var(--basil);background:#e7ecdc;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 15px;font-size:13px;display:flex}.viewing button{background:0 0;font-size:12px;text-decoration:underline}.bonus-picker{background:#fbf1d7;border:1px solid #e1c680;border-radius:12px;padding:14px}.bonus-picker h3{margin:10px 0}.bonus-picker p{font-size:12px}.bonus-buttons{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.bonus-buttons button{background:#fff;border:1px solid #dcc18a;border-radius:8px;min-height:48px}.bonus-buttons strong{color:#94631f}.saved-panel{text-align:center;background:#edf2e7}.saved-check{color:var(--basil);font-size:32px}.saved-panel p{font-size:13px}.end-game{text-align:center;font-size:12px}.end-game p{margin:10px}.danger{color:#fff;background:#a33226;border-radius:9px;padding:10px 16px}.results{text-align:center;max-width:840px;margin:65px auto;padding:0 25px}.results h1{margin:15px 0}.results>.primary{max-width:340px;margin:30px auto 12px}.results>.text-button{margin:auto;display:block}.winner-card{text-align:left;background:#ede6d7;border-radius:22px;justify-content:center;align-items:center;gap:25px;margin:35px 0 25px;padding:15px 30px;display:flex}.winner-card img{object-fit:contain;width:180px;height:180px}.winner-card h2{overflow-wrap:anywhere;margin:10px 0;font-size:36px}.winner-card strong{color:var(--tomato);font-family:Georgia,serif;font-size:38px}.winner-card strong small{font-size:17px;font-weight:400}.results-table{border-collapse:collapse;background:var(--surface);width:100%;font-size:13px}.results-table th,.results-table td{border-bottom:1px solid var(--line);text-align:center;padding:15px 10px}.results-table th:first-child{text-align:left}.results-table thead{color:var(--muted);font-size:11px}.results-table .winning{background:#eef1e5}.results>.muted{margin:17px 0}.result-details{text-align:left;margin:25px 0}.result-details details{border-bottom:1px solid var(--line);padding:12px}.result-details summary{cursor:pointer;min-height:44px;font-size:14px;line-height:44px}.result-details ol{padding:0;font-size:12px;list-style:none}.result-details li{justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.result-toppings{flex:1;justify-content:flex-end;display:flex}.result-details p{font-size:12px}.loading{text-align:center;padding:80px}footer{border-top:1px solid var(--line);color:#928675;justify-content:space-between;align-items:center;gap:15px;max-width:1320px;margin:45px auto 0;padding:25px 30px 30px;font-size:11px;display:flex}footer button{color:var(--muted);background:0 0;font-size:11px}dialog{background:var(--surface);border:1px solid var(--line);width:min(660px,100% - 30px);max-height:85dvh;color:var(--ink);border-radius:22px;padding:30px;overflow:auto;box-shadow:0 25px 100px #30252b30}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#30252b88}.modal-heading{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:10px 0;display:flex;position:sticky;top:-30px}.modal-heading h2{margin:0;font-size:32px}.rule{margin:25px 0}.rule h3{font-family:Georgia,serif;font-size:22px;font-weight:400}.rule p,.rules-lead{font-size:14px;line-height:1.8}.version-note{background:#f2eadb;border-radius:10px;padding:15px;font-size:12px}.toggle{align-items:center;gap:12px;min-height:55px;margin-bottom:15px;display:flex}.toggle input{width:20px;height:20px;min-height:20px;accent-color:var(--basil)}@media (width>=1550px){.game-layout{grid-template-columns:minmax(0,900px) 330px;max-width:1380px}}@media (width<=1000px){.landing{gap:40px}.hero-copy h1{font-size:54px}.hero-facts{flex-wrap:wrap;gap:12px}.lobby{gap:40px}.game-layout{grid-template-columns:minmax(0,1fr) 290px;gap:15px;padding:0 20px}.phase-heading h1{font-size:27px}.round-dots{display:none}.game-sidebar .panel{padding:17px}}@media (width<=760px){.site-header{height:78px;margin:0 20px}.brand{font-size:23px}.brand img{width:34px;height:34px}.site-header nav{gap:4px}.header-rules{display:none}.site-header select{padding:8px 3px;font-size:12px}.landing{grid-template-columns:1fr;gap:5px;margin-top:35px;padding:0 23px}.hero-copy h1{margin:20px 0;font-size:48px}.hero-copy>p{max-width:500px;font-size:14px}.hero-copy .eyebrow{font-size:10px}.hero-facts{gap:14px;font-size:11px}.hero-art{width:300px;height:230px;margin:10px auto 0}.hero-pizza{width:230px;height:230px;left:30px}.hero-topping{width:57px;height:57px}.topping-0{top:38px;left:92px}.topping-1{top:54px;left:151px}.topping-2{top:99px;left:70px}.topping-3{top:112px;left:148px}.topping-4{top:151px;left:108px}.topping-5{top:153px;left:180px}.art-ring{inset:7px 25px 0}.art-note{font-size:13px;bottom:8px;right:0}.entry-card{margin-top:15px;padding:26px}.entry-card h2{margin-bottom:25px;font-size:31px}.lobby{grid-template-columns:1fr;gap:25px;margin:30px auto;padding:0 23px}.lobby-intro h1{font-size:43px}.lobby-intro>p{max-width:none}.invite-card{grid-template-columns:1fr 1fr;align-items:center;max-width:none;margin-top:20px;padding:18px}.invite-card>span{grid-column:1/-1}.invite-card>strong{letter-spacing:4px;font-size:28px}.invite-card .secondary{min-height:44px;padding:10px;font-size:11px}.invite-card input{grid-column:1/-1}.lobby-box{display:none}.lobby-panel{padding:22px}.game-layout{flex-direction:column;gap:18px;margin:22px auto;padding:0 12px;display:flex}.phase-heading{padding:0 7px}.phase-heading h1{margin:10px 0;font-size:29px}.phase-heading .eyebrow{font-size:10px}.phase-hint{min-height:0;margin:0 0 12px;padding:0 7px;font-size:12px}.table-canvas{border-radius:15px}.game-sidebar{grid-template-columns:1fr;gap:14px;display:grid}.game-sidebar .panel{padding:22px}.game-sidebar .draft-panel,.game-sidebar .placement-panel{order:-1}.draft-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.draft-card{min-height:90px;padding:7px 3px}.draft-card .ingredient{flex:0 30px;width:min(30px,33%);height:auto}.players-strip{gap:3px;margin-top:10px}.player-chip{gap:6px;padding:5px}.player-chip strong{max-width:80px;font-size:10px}.player-chip small{font-size:9px}.player-chip .avatar{width:27px;height:27px;font-size:15px}.inspect-buttons{grid-template-columns:repeat(4,1fr);gap:4px}.inspect-buttons button{background:#f6f0e6}.confirm{z-index:2;position:sticky;bottom:12px;box-shadow:0 4px 18px #30252b25}.results{margin-top:35px;padding:0 15px}.results h1{font-size:45px}.results>p{font-size:13px}.winner-card{gap:10px;margin-top:25px;padding:15px}.winner-card img{width:100px;height:100px}.winner-card h2{font-size:27px}.winner-card .eyebrow{font-size:9px}.winner-card strong{font-size:30px}.results-table th,.results-table td{overflow-wrap:anywhere;padding:11px 5px;font-size:11px}.results-table thead th{font-size:10px}.results-table th:first-child{max-width:100px}.result-details li{flex-wrap:wrap}.result-details li>span:first-child{flex-basis:75%}.result-toppings{flex-basis:100%;order:3;justify-content:flex-start}.result-details li strong{margin-left:auto}footer{flex-wrap:wrap;margin-top:30px;padding:20px;font-size:10px}footer>span:last-child{display:none}dialog{padding:23px}.modal-heading{top:-23px}.modal-heading h2{font-size:28px}.announcement{padding:0 12px}.notice,.error-banner,.viewing{font-size:12px}.viewing button{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{transition:none!important;animation:none!important}
