body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--lamp-cream:#f6f0e5;--paper:#fffaf0;--paper-warm:#efe6d6;--ink-brown:#2f2118;--soft-cocoa:#715e4d;--coffee-line:#d8cbb9;--beer-gold:#e9b94f;--hot-sauce:#e4572e;--couch-green:#6f9b63;--rug-red:#ad3d33;--solo-cup-pink:#f3a7b5;--tv-glow-blue:#6ca6c9;--basement-brown:#2f2118;--lamp-glow:#fffaf0;--font-display:Georgia, "Times New Roman", serif;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:Menlo, Consolas, monospace;--radius-sm:5px;--radius-md:7px;--radius-lg:10px;--radius-xl:12px;--shadow-paper:4px 5px 0 var(--coffee-line);--shadow-table:0 16px 60px #2f211820}*{box-sizing:border-box}body{background:var(--lamp-cream);color:var(--ink-brown)}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--rug-red);outline-offset:4px}a{color:var(--rug-red);text-underline-offset:3px;font-weight:600;text-decoration-thickness:1px}button{touch-action:manipulation}.app-shell{background:var(--lamp-cream);color:var(--ink-brown);font-family:var(--font-sans);flex-direction:column;min-height:100dvh;display:flex}.site-header{border-bottom:1px solid var(--coffee-line);justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:18px max(32px,50vw - 580px);display:flex}.brand-mark{color:var(--ink-brown);font:900 44px/1 var(--font-display);letter-spacing:-3px;white-space:nowrap;background:0 0;border:0;min-height:48px;padding:0 5px 6px 0;text-decoration:none;display:inline-block}button.brand-mark{cursor:pointer}.brand-mark>span{color:var(--rug-red)}.header-kicker,.eyebrow,.roster-number,.card-type,.player-token-index{color:var(--soft-cocoa);font-family:var(--font-mono);text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.4}.header-actions,.roster-actions{flex-wrap:wrap;gap:8px;display:flex}.header-actions{justify-content:flex-end}.reset-link-button{border:1px solid var(--coffee-line);color:var(--ink-brown);cursor:pointer;background:0 0;border-radius:6px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.2}.reset-link-button:hover{background:var(--paper-warm)}.header-reset-button{min-height:36px;padding-block:8px}.site-footer{border-top:1px solid var(--coffee-line);color:var(--soft-cocoa);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:20px max(32px,50vw - 580px);font-size:12px;display:flex}.site-footer a{color:var(--soft-cocoa);align-items:center;min-height:44px;display:inline-flex}.home-hero,.page-frame{width:100%;max-width:1240px;margin:0 auto;padding:48px 40px}.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px;padding-bottom:56px;display:grid}.home-copy-panel{min-width:0}.home-copy-panel h1{font:700 clamp(44px, 4.6vw, 64px)/1.02 var(--font-display);letter-spacing:-1.7px;margin:18px 0 24px}.home-copy-panel h1 em,.mobile-landing-panel h1 em{color:var(--rug-red);font-style:italic}.hero-subhead{color:var(--soft-cocoa);max-width:430px;margin:0 0 28px;font-size:17px;line-height:1.6}.home-art{margin:0}.home-art img{width:100%;height:auto;display:block}.home-art figcaption{color:var(--soft-cocoa);text-align:center;margin-top:24px;font-size:13px}.home-modes{border:0;margin:0 0 22px;padding:0}.home-modes legend{margin-bottom:8px;font-size:13px;font-weight:700}.home-modes label{cursor:pointer;align-items:center;gap:12px;min-height:64px;display:flex}.home-modes input,.elephant-setting input{accent-color:var(--rug-red);flex:0 0 20px;width:20px;height:20px;margin:0}.home-modes strong{font-size:15px;font-weight:650;display:block}.home-modes small{color:var(--soft-cocoa);margin-top:4px;font-size:13px;display:block}.pill-button{border:2px solid var(--ink-brown);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:28px;min-height:52px;padding:12px 20px;font-size:16px;font-weight:700;line-height:1.3;display:inline-flex}.pill-button-primary,.pill-button-magenta,.pill-button-danger{background:var(--rug-red);box-shadow:3px 3px 0 var(--ink-brown);color:var(--paper)}.pill-button-primary:hover,.pill-button-magenta:hover,.pill-button-danger:hover{background:#96372e}.pill-button-secondary{background:var(--paper);border:1px solid var(--coffee-line);color:var(--ink-brown)}.pill-button-secondary:hover{border-color:var(--ink-brown)}.pill-button:active{box-shadow:none;transform:translate(1px,1px)}.home-start-button{justify-content:space-between;min-width:190px}.home-settings{border-top:1px solid var(--coffee-line);max-width:400px;margin-top:28px;padding-top:16px}.home-settings h2{margin:0 0 4px}.elephant-setting{cursor:pointer;align-items:center;gap:12px;min-height:56px;display:flex}.elephant-setting-title{font-size:13px;font-weight:500;line-height:1.4}.elephant-setting-art{flex:0 0 56px;height:56px;margin-left:auto;transition:transform .32s cubic-bezier(.4,0,.2,1);display:block;position:relative}.elephant-setting-art img{object-fit:contain;width:56px;height:56px;display:block}.elephant-crossed-eyes{opacity:0;width:100%;height:100%;transition:opacity .16s;position:absolute;inset:0}.elephant-setting input:checked~.elephant-setting-art{transform:rotate(-180deg)}.elephant-setting input:checked~.elephant-setting-art .elephant-crossed-eyes{opacity:1}.section-intro{max-width:740px;margin-bottom:36px}.section-intro h1{font:700 clamp(38px, 4vw, 54px)/1.05 var(--font-display);letter-spacing:-1px;margin:12px 0 18px}.section-intro p:not(.eyebrow){color:var(--soft-cocoa);margin:0;font-size:17px;line-height:1.6}.lobby-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:32px;display:grid}.setup-panel{background:var(--paper);border:1px solid var(--coffee-line);border-radius:10px;padding:28px}.panel-heading{border-bottom:1px solid var(--coffee-line);margin-bottom:24px;padding-bottom:18px}.panel-heading .eyebrow{margin:0 0 10px}.panel-heading h2{font:700 28px/1.1 var(--font-display);letter-spacing:-.4px;margin:0}.lobby-form label{color:var(--soft-cocoa);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.input-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.text-input{border:1px solid var(--coffee-line);color:var(--ink-brown);background:#fffdf8;border-radius:6px;width:100%;min-width:0;min-height:48px;padding:12px;font-size:16px}.text-input:focus-visible{border-color:var(--ink-brown)}.player-roster{gap:10px;margin-top:24px;display:grid}.roster-player{border-top:1px solid var(--coffee-line);flex-wrap:wrap;align-items:center;gap:10px;min-height:52px;padding:12px 0 0;display:flex}.roster-number{flex:0 0 20px}.roster-name{overflow-wrap:anywhere;flex:1;min-width:0}.roster-edit{flex:1;min-width:0}.roster-edit .roster-actions{margin-top:8px}.roster-actions .reset-link-button{padding:8px 10px;font-size:12px}.empty-state,.lobby-cant-start-message{color:var(--soft-cocoa);margin:0;font-size:14px;line-height:1.5}.option-copy{color:var(--soft-cocoa);margin:0 0 22px;font-size:16px;line-height:1.6}.segmented-control{background:var(--paper-warm);border:1px solid var(--coffee-line);border-radius:7px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segment-option{color:var(--soft-cocoa);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;min-height:44px;padding:8px;font-size:14px;font-weight:650}.segment-option.selected{background:var(--beer-gold);border-color:var(--ink-brown);color:var(--ink-brown)}.start-game-holder{margin-top:28px}.lobby-btn-start{width:100%}.game-frame{max-width:1240px;padding-top:36px}.game-dashboard{grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(200px,.72fr) minmax(0,1.6fr);align-items:start;column-gap:44px;display:grid}.turn-banner{grid-area:1/1;padding-top:16px}.turn-banner .eyebrow{margin:0 0 14px}.turn-banner h1{font:700 clamp(34px, 3.5vw, 48px)/1.05 var(--font-display);letter-spacing:-1px;overflow-wrap:anywhere;margin:0}.turn-banner>p:last-child{color:var(--soft-cocoa);margin:18px 0 24px;font-size:16px;line-height:1.6}.player-grid{flex-wrap:wrap;grid-area:2/1;gap:8px;margin-bottom:24px;display:flex}.player-grid-cell{max-width:100%}.player-token{border:1px solid var(--coffee-line);background:0 0;border-radius:5px;align-items:center;gap:7px;min-height:40px;padding:9px 12px;display:flex}.player-token-current{background:var(--beer-gold);border-color:var(--ink-brown)}.player-token-index{font-size:10px}.player-token-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.player-token-current .player-token-name{font-weight:700}.status-badge{background:var(--couch-green);border:1px solid var(--ink-brown);color:var(--ink-brown);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:inline-flex}.card-table{grid-area:1/2/4;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.card-choice{justify-items:stretch;gap:18px;min-width:0;display:grid}.card-choice-inner{width:100%}.card-table-revealed{grid-template-columns:1fr}.card-table-revealed .card-choice{width:100%;max-width:380px;margin:0 auto}.card-choice-hidden{display:none}.zingg-card{background:var(--paper);border:2px solid var(--ink-brown);box-shadow:var(--shadow-paper);color:var(--ink-brown);border-radius:10px;grid-template-rows:44px auto auto 1fr;width:100%;max-width:380px;min-height:510px;margin:0 auto;padding:18px 22px 24px;display:grid;position:relative;overflow:hidden}.card-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-type{color:var(--ink-brown)}.card-type:before{background:var(--tv-glow-blue);border:1px solid var(--ink-brown);content:"";border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.card-accent-mint .card-type:before{background:var(--couch-green)}.card-accent-coral .card-type:before{background:var(--hot-sauce)}.card-title{font:700 30px/1.08 var(--font-display);letter-spacing:-.6px;overflow-wrap:anywhere;min-height:64px;margin:14px 0 4px}.card-img-holder{justify-content:center;align-items:center;height:192px;margin:0 0 16px;display:flex}.card-img-top{object-fit:contain;width:100%;max-width:100%;height:100%;display:block}.card-text{border-top:1px solid var(--coffee-line);color:var(--ink-brown);margin:0;padding-top:16px;font-size:16px;line-height:1.55}.card-hint-trigger{border:1px solid var(--coffee-line);color:var(--ink-brown);cursor:pointer;background:0 0;border-radius:6px;min-height:44px;padding:8px 14px;font-size:12px;font-weight:600}.card-hint-trigger:hover{border-color:var(--ink-brown)}.card-hint-popover{background:var(--paper);border:2px solid var(--ink-brown);box-shadow:var(--shadow-paper), var(--shadow-table);color:var(--ink-brown);overscroll-behavior:contain;border-radius:10px;width:min(320px,100vw - 80px);max-height:calc(100dvh - 48px);margin:auto;padding:20px;position:fixed;inset:0;overflow-y:auto}.card-hint-popover::backdrop{background:#2f211848}.card-hint-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-hint-header h3{font:700 26px/1.1 var(--font-display);margin:0}.card-hint-close{background:var(--paper-warm);border:1px solid var(--coffee-line);color:var(--ink-brown);cursor:pointer;border-radius:6px;flex:0 0 44px;justify-content:center;align-items:center;height:44px;font-size:26px;display:flex}.card-hint-text{color:var(--soft-cocoa);font:16px/1.5 var(--font-sans);text-align:left;margin:0}.card-hint-text+.card-hint-text{border-top:1px solid var(--coffee-line);margin-top:14px;padding-top:14px}.zingg-card-back{background:var(--ink-brown);color:var(--paper);grid-template-rows:auto 1fr auto;min-height:400px}.card-back-topline,.card-back-bottom{color:#dacbb6;font:10px/1.4 var(--font-mono);text-align:center;text-transform:uppercase}.card-back-mark{border:1px solid #ffffff25;border-radius:50% 50% 46% 46%;align-content:center;justify-items:center;min-height:240px;margin:26px 0;display:grid;transform:rotate(-8deg)}.card-back-mark h2{color:var(--paper);font:900 clamp(42px, 5vw, 70px)/1 var(--font-display);letter-spacing:-4px;margin:0}.card-back-mark h2 span{color:var(--beer-gold)}.card-back-mark p{color:#dacbb6;font:italic 13px var(--font-display);margin:12px 0 0}.game-btn{width:100%;min-width:0;font-size:14px}.next-player-panel{grid-area:4/2;width:100%;max-width:380px;margin:24px auto 0}.next-player-btn{width:100%}.mobile-landing-frame,.mobile-game-frame{width:100%;max-width:480px;margin:0 auto;padding:28px 20px 32px}.mobile-landing-panel h1,.mobile-turn-copy h1,.mobile-landscape-guard h1{font:700 42px/1.04 var(--font-display);letter-spacing:-1.1px;margin:12px 0 18px}.mobile-landing-panel>p:not(.eyebrow),.mobile-turn-copy>p:not(.eyebrow),.mobile-landscape-guard p{color:var(--soft-cocoa);margin:18px 0 24px;font-size:16px;line-height:1.55}.mobile-landing-art{object-fit:contain;width:230px;max-width:100%;height:170px;margin:12px auto 24px;display:block}.mobile-start-button,.mobile-next-button{width:100%}.mobile-start-button+.mobile-start-button{margin-top:14px}.mobile-landing-panel .home-settings{max-width:none}.mobile-choice-screen{gap:28px;display:grid}.mobile-turn-copy .eyebrow{margin:0}.mobile-turn-copy p:last-child{margin-bottom:0}.mobile-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.mobile-choice-button{background:var(--ink-brown);border:2px solid var(--ink-brown);box-shadow:var(--shadow-paper);color:var(--paper);cursor:pointer;border-radius:10px;align-content:center;justify-items:center;min-height:clamp(240px,40dvh,370px);padding:18px 8px;display:grid}.mobile-choice-button:nth-child(2){color:var(--ink-brown);background:#eee3cc}.mobile-choice-button:active{box-shadow:none;transform:translate(1px,1px)}.mobile-choice-letter{font:700 84px/1 var(--font-display)}.mobile-choice-copy{margin-top:16px;font-size:12px}.mobile-card-screen{gap:18px;display:grid}.mobile-card-holder .zingg-card{max-width:100%;min-height:490px;padding:16px 20px 22px}.mobile-card-holder .card-title{min-height:auto;margin-bottom:6px;font-size:32px}.mobile-card-holder .card-img-holder{height:clamp(144px,23dvh,192px)}.mobile-next-bar{background:var(--lamp-cream);padding:12px 20px max(22px, env(safe-area-inset-bottom));z-index:1;margin:0 -20px -32px;position:sticky;bottom:0}.mobile-landscape-guard{text-align:center;align-content:center;min-height:calc(100dvh - 88px);padding:24px;display:none}.deck-exhausted{text-align:center;grid-column:1/-1;max-width:600px;margin:30px auto;padding:36px 24px}.deck-exhausted h1{font:700 42px/1.1 var(--font-display);letter-spacing:-1px;margin:16px 0}.deck-exhausted p:not(.eyebrow){color:var(--soft-cocoa);margin-bottom:28px;line-height:1.6}.modal-backdrop{z-index:20;background:#2f211878;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.reset-modal{background:var(--paper);border:2px solid var(--ink-brown);box-shadow:var(--shadow-paper), var(--shadow-table);border-radius:10px;width:100%;max-width:480px;max-height:calc(100dvh - 48px);padding:28px;overflow-y:auto}.reset-modal h2{font:700 36px/1.1 var(--font-display);letter-spacing:-.6px;margin:0 0 16px}.reset-modal p{color:var(--soft-cocoa);margin:0 0 22px;font-size:16px;line-height:1.55}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.form-error{color:#922b20;margin:8px 0 0;font-size:14px;line-height:1.5}.storage-notice{background:var(--paper-warm);border-bottom:1px solid var(--coffee-line);color:var(--ink-brown);margin:0;padding:12px 20px;font-size:14px;line-height:1.5}@media (width<=900px){.home-hero{gap:28px;padding:40px 28px}.home-copy-panel h1{font-size:44px}.game-dashboard{grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);column-gap:28px}.card-table{gap:16px}.card-table:not(.card-table-revealed) .zingg-card-back{min-height:320px;padding:14px}.card-back-mark{min-height:170px}.card-back-topline{font-size:8px}.card-back-mark p{font-size:11px}.game-btn{padding:12px 8px;font-size:13px}}@media (width<=700px){.site-header{gap:12px;min-height:76px;padding:14px 20px}.site-header:not(.site-header-home) .header-kicker{display:none}.site-header-home .header-kicker{text-align:right;max-width:118px}.brand-mark{min-height:44px;font-size:40px}.header-actions{gap:6px}.header-actions .reset-link-button{padding:8px 9px;font-size:12px}.header-reset-button{min-height:44px}.site-footer{padding:16px 20px;font-size:11px}.home-hero{grid-template-columns:1fr;gap:32px;padding:28px 24px 40px}.home-copy-panel h1{letter-spacing:-1.2px;font-size:clamp(36px,8vw,48px)}.home-art{max-width:280px;margin:0 auto}.home-art figcaption{margin-top:16px}.home-start-button{width:100%}.home-settings{max-width:none}.page-frame{padding:28px 20px}.section-intro{margin-bottom:28px}.lobby-grid{grid-template-columns:1fr;gap:20px}.setup-panel{padding:22px}.game-dashboard{flex-direction:column;gap:20px;display:flex}.turn-banner{order:0;padding:0}.turn-banner h1{font-size:36px}.turn-banner>p:last-child{margin:12px 0 0}.player-grid{order:1;margin:0}.card-table{order:2;width:100%}.card-table:not(.card-table-revealed) .zingg-card-back{min-height:280px}.next-player-panel{order:3;margin-top:0}.deck-exhausted{order:2}.mobile-game-frame{padding-top:20px}.mobile-landing-frame{padding-top:24px}}@media (width<=360px){.site-header{gap:8px;padding-inline:16px}.brand-mark{font-size:36px}.header-actions{flex-wrap:nowrap}.header-actions .reset-link-button{white-space:nowrap;padding:8px 7px;font-size:11px}.site-footer{flex-direction:column;align-items:start;gap:0}.setup-panel{padding:18px}.roster-actions{margin-left:30px}.roster-edit .roster-actions{margin-left:0}.mobile-landing-panel h1{font-size:36px}.mobile-card-holder .zingg-card{padding:14px 18px 20px}.mobile-card-holder .card-title{font-size:29px}.card-back-mark h2{font-size:40px}.card-back-mark p{font-size:10px}}@media (width<=767px) and (orientation:landscape){.mobile-landing-frame,.mobile-game-frame{display:none}.mobile-landscape-guard{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.magenta1{background-color:#ead1dc}.magenta2{background-color:#d5a6bd}.magenta3{background-color:#c27ba0}.magenta4{background-color:#a64d79}.magenta5{background-color:#741b47}.magenta6{background-color:#4c1130}.purple1{background-color:#d9d2e9}.purple2{background-color:#b4a7d6}.purple3{background-color:#8e7cc3}.purple4{background-color:#674ea7}.purple5{background-color:#351c75}.purple6{background-color:#20124d}.blue1{background-color:#cfe2f3}.blue2{background-color:#9fc5e8}.blue3{background-color:#6fa8dc}.blue4{background-color:#3d85c6}.blue5{background-color:#0b5394}.blue6{background-color:#073763}.green1{background-color:#d9ead3}.green2{background-color:#b6d7a8}.green3{background-color:#93c47d}.green4{background-color:#6aa84f}.green5{background-color:#38761d}.green6{background-color:#274e13}.orange1{background-color:#fce5cd}.orange2{background-color:#f9cb9c}.orange3{background-color:#f6b26b}.orange4{background-color:#e69138}.orange5{background-color:#b45f06}.orange6{background-color:#783f04}.red1{background-color:#f4cccc}.red2{background-color:#ea9999}.red3{background-color:#e06666}.red4{background-color:#c00}.red5{background-color:#900}.red6{background-color:#600}
