:root{--paper:#0d1730;--panel:#18243e;--ink:#fff0d3;--muted:#d7cbb7;--line:#8995ad;--lime:#ffca68;--coral:#ff8f6b;--radius:24px;font-family:'Avenir Next','Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d7cbb7;outline-offset:4px}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(42px,5.5vw,74px);line-height:1.04;letter-spacing:-3.6px;font-weight:650}h1 em,h2 em,.strip-title em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-3px}h2{font-size:27px;letter-spacing:-1px;font-weight:650}h3{font-weight:650}p{line-height:1.6}.app-shell{max-width:1256px;margin:auto;padding:0 52px}.header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;background:transparent;padding:0;text-align:left}.brand>svg{width:39px;height:43px}.brand>span{font-size:28px;font-weight:750;letter-spacing:-1.5px;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:650;margin-top:8px}.header nav{display:flex;gap:27px;align-items:center}.local-badge{font-size:11px;font-weight:550;color:var(--muted);display:flex;gap:8px;align-items:center}.local-badge i{background:#d7cbb7;border-radius:50%;width:6px;height:6px}.text-button{background:transparent;font-size:12px;font-weight:600;min-height:44px;padding:8px 0;display:inline-flex;align-items:center;justify-content:center;gap:18px}.text-button:hover{color:#d7cbb7}.icon-button{border:1px solid var(--line);width:42px;height:42px;border-radius:50%;background:transparent;font-size:19px;display:inline-flex;align-items:center;justify-content:center}.primary,.secondary,.danger-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:58px;border-radius:12px;padding:17px 24px;font-weight:600;font-size:14px;transition:transform .2s,background .2s}.primary{background:var(--ink);color:#202d4b}.primary:hover:not(:disabled){background:#d7cbb7;transform:translateY(-2px)}.primary>span{font-size:24px;line-height:18px;font-weight:400}.secondary{background:transparent;border:1px solid var(--line);justify-content:center}.secondary:hover{background:#202d4b}.danger-button{background:#8f2f27;color:white;justify-content:center}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;line-height:1.5;display:flex;align-items:center;gap:10px}.tiny-line{display:inline-block;width:25px;height:1px;background:var(--ink)}.muted{color:var(--muted)}.small{font-size:12px}.lead{font-size:17px;line-height:1.7;color:#d7cbb7}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;min-height:564px;padding:54px 0 47px}.hero h1{margin:26px 0 24px}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:29px}.hero-actions .primary{min-width:185px}.hero-meta{display:flex;gap:28px;margin-top:36px;font-size:10px;color:var(--muted)}.hero-meta span{display:flex;gap:6px;align-items:baseline}.hero-meta b{font-size:12px;color:var(--ink);font-weight:600}.artwork{height:440px;position:relative;isolation:isolate}.orbit{border:1px solid #202d4b;position:absolute;left:50%;top:50%;width:350px;height:350px;transform:translate(-50%,-50%);border-radius:50%;z-index:-1}.orbit-two{width:420px;height:420px}.orbit-three{width:280px;height:280px}.floating-card{position:absolute;width:224px;height:305px;border-radius:16px;padding:22px;box-shadow:0 20px 35px #28321c17}.floating-card>span:first-child{font-size:8px;letter-spacing:1.6px;font-weight:700}.back-card{background:var(--coral);transform:rotate(-16deg);left:32px;top:69px;color:#d7cbb7}.back-card .mini-eyes{font-family:Georgia,serif;font-size:64px;margin-top:47px;font-weight:700}.back-card small{font-size:10px;position:absolute;bottom:25px}.front-card{background:var(--lime);transform:rotate(13deg);left:177px;top:95px;height:310px}.front-card svg{width:145px;display:block;margin:16px auto 7px}.front-card strong{display:block;font-size:22px;line-height:1.12;letter-spacing:-.7px}.card-id{position:absolute;right:20px;bottom:21px;font-size:9px}.art-spark{position:absolute;font-size:70px;right:20px;top:20px;color:#d7cbb7;transform:rotate(14deg)}.art-label{position:absolute;font-size:8px;letter-spacing:2px;bottom:0;left:25px;transform:rotate(-90deg);transform-origin:left}.art-dot{width:15px;height:15px;border-radius:50%;background:var(--coral);position:absolute;bottom:12px;right:17px}.mode-section{padding:27px 0 38px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading .eyebrow{margin-bottom:9px}.section-heading>.muted{font-size:11px;align-self:flex-end}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.mode-card{text-align:left;background:transparent;border:1px solid #202d4b;border-radius:18px;padding:23px 24px;position:relative;transition:transform .25s,background .25s}.mode-card:hover{transform:translateY(-5px);background:var(--panel)}.mode-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.mode-symbol{font-size:32px;line-height:1}.mode-number{font-size:10px;display:flex;gap:45px;align-items:center;color:#d7cbb7}.mode-number>span{font-size:20px}.mode-card h3{font-size:22px;letter-spacing:-.7px}.mode-card p{font-size:12px;color:var(--muted);margin-top:7px}.mode-tag{font-size:9px;display:inline-block;padding:5px 9px;border:1px solid #202d4b;border-radius:5px;margin-top:21px;color:#d7cbb7}.mode-classic{background:#202d4b}.mode-near{background:#2c263c}.mode-blank{background:#193344}.how-strip{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:29px 0;margin-bottom:20px;gap:22px}.strip-title{font-size:21px;line-height:1.1;font-weight:600;letter-spacing:-.5px}.strip-title em{letter-spacing:-.5px}.how-strip p{font-size:11px;display:flex;align-items:center;gap:13px;color:var(--muted)}.how-strip b{font-size:10px;border:1px solid #202d4b;width:28px;height:28px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;font-weight:500;color:var(--ink);flex-shrink:0}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 0 35px;color:var(--muted);font-size:10px}footer>span:first-child{letter-spacing:1px;font-size:11px;color:var(--ink);font-weight:700}footer b{font-weight:400;letter-spacing:0}footer button{font-size:10px;background:transparent;padding:10px 0;color:var(--muted)}.page-title{padding:43px 0 31px}.page-title h1{font-size:48px;margin:12px 0;letter-spacing:-2px}.page-title>p:last-child{font-size:14px}.setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:27px}.setup-content{display:flex;flex-direction:column;gap:20px}.panel{background:#18243e;border:1px solid var(--line);border-radius:20px;padding:25px}.panel h2{font-size:19px;display:flex;gap:12px;align-items:center;letter-spacing:-.5px}.step{font-size:9px;letter-spacing:1px;font-weight:500;color:var(--muted)}.stepper{display:flex;gap:12px;align-items:center;font-size:12px}.stepper .icon-button{width:32px;height:32px}.players-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.name-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;min-width:0;padding:0 12px;background:var(--panel)}.name-field>span{font-size:9px;color:#d7cbb7}.name-field input{min-width:0;width:100%;border:0;background:transparent;padding:13px 0;font-size:13px;color:var(--ink)}.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.mode-choice{text-align:left;background:transparent;border:1px solid var(--line);border-radius:11px;padding:14px 11px;position:relative}.mode-choice .mode-symbol{font-size:25px;display:block;margin-bottom:14px}.mode-choice b{display:block;font-size:12px}.mode-choice small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.choice-dot{position:absolute;right:11px;top:14px;border:1px solid #202d4b;width:12px;height:12px;border-radius:50%}.selected .choice-dot{background:var(--ink);box-shadow:inset 0 0 0 3px #ffca68}.mode-choice.selected{background:#ffca68;border-color:#d7cbb7}.mode-description{font-size:12px;color:var(--muted);margin:15px 0 21px;min-height:39px}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-label{font-size:11px;font-weight:600;display:block;line-height:1.6}.field-label select{display:block;margin-top:7px;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);padding:12px;font-size:12px;min-height:44px}.option-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.chip-button{font-size:10px;background:#202d4b;padding:8px 11px;border-radius:6px;min-height:38px}.chip-button[aria-pressed=true]{background:var(--lime)}.switch-label{display:flex;gap:9px;align-items:center;font-size:10px;position:relative;cursor:pointer;min-height:36px}.switch-label input{position:absolute;opacity:0;width:32px;height:22px;margin:0}.switch{width:31px;height:18px;border-radius:15px;background:#202d4b;display:inline-block;position:relative;flex-shrink:0}.switch:before{content:'';position:absolute;width:12px;height:12px;background:white;border-radius:50%;top:3px;left:3px;transition:transform .2s}.switch-label input:checked+.switch{background:#d7cbb7}.switch-label input:checked+.switch:before{transform:translateX(13px)}.switch-label input:focus-visible+.switch{outline:3px solid #d7cbb7;outline-offset:3px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:19px}.category{display:flex;text-align:left;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;background:transparent;padding:12px;min-width:0}.category.selected{background:#ffca68;border-color:#ffca68}.category-icon{font-size:21px;flex-shrink:0}.category b{font-size:11px;display:block;line-height:1.3}.category small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.category-check{margin-left:auto;font-size:13px}.custom-button{width:100%;background:transparent;border:1px dashed #ffca68;border-radius:10px;padding:15px;font-size:12px;margin-top:14px}.setup-summary{position:sticky;top:25px;border-radius:20px;background:#202d4b;padding:25px}.summary-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.summary-top svg{width:33px}.summary-top>span{font-size:8px;font-weight:600;letter-spacing:1.3px;line-height:1.6}.setup-summary h3{font-size:27px;letter-spacing:-1px}.setup-summary dl{font-size:11px;margin:23px 0}.setup-summary dl div{display:flex;justify-content:space-between;gap:15px;margin:16px 0}.setup-summary dt{color:#d7cbb7}.setup-summary dd{margin:0;font-weight:600}.privacy-note{font-size:11px;line-height:1.6;border-top:1px solid #ffca68;padding-top:17px;color:#d7cbb7}.setup-summary .primary{width:100%;margin-top:17px}.summary-note{display:block;font-size:9px;text-align:center;margin-top:14px;color:#d7cbb7}.error{color:#ffb6a3;font-size:12px;line-height:1.5;margin-top:12px}.error:empty{display:none}.play-page{max-width:850px;margin:auto}.game-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;border-bottom:1px solid var(--line);padding:15px 0}.game-top>span:first-child{font-weight:650}.game-top>span:nth-child(2){color:var(--muted)}.game-top i{font-style:normal;margin:0 8px}.game-card{max-width:530px;margin:0 auto;text-align:center;padding:43px 0 60px;min-height:650px;animation:arrive .35s ease both}.game-card>.eyebrow{justify-content:center;margin-bottom:18px}.game-card h1{font-size:45px;letter-spacing:-2px;line-height:1.08}.game-card h1 em{letter-spacing:-2px;overflow-wrap:anywhere}.game-card>.muted{font-size:13px;margin:18px auto}.game-card>.primary{min-width:300px;justify-content:center}.deal-progress{display:flex;gap:5px;max-width:230px;margin:0 auto 30px}.deal-progress span{height:3px;flex:1;background:#202d4b;border-radius:2px}.deal-progress .current{background:#d7cbb7}.deal-progress .done{background:#d7cbb7}.reveal-card{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;margin:25px auto 0;background:var(--ink);color:#202d4b;border-radius:20px;width:min(100%,330px);height:285px;padding:38px 26px;box-shadow:0 12px 25px #282c2112;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-touch-callout:none;transition:background .1s}.card-corner{position:absolute;left:22px;top:20px;font-size:8px;letter-spacing:1.7px;color:#ffca68}.mask-emblem svg{width:65px;color:var(--lime);margin-bottom:22px}.mask-emblem{--paper:#fff0d3}.reveal-card strong{font-size:19px;letter-spacing:-.4px}.reveal-card>span:not([class]){font-size:11px;color:#ffca68;margin-top:9px}.card-bottom{position:absolute;bottom:18px;font-size:8px;letter-spacing:1.5px;color:#ffca68}.reveal-card.open{background:#ffca68;color:var(--ink)}.reveal-card.spy{background:#ffb18b}.open .card-corner,.open .card-bottom{color:#d7cbb7}.secret-label{font-size:11px;font-weight:600;margin-bottom:14px}.reveal-card .secret-word{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.1;overflow-wrap:anywhere;max-width:100%}.secret-detail{font-size:11px;line-height:1.5;margin-top:16px;max-width:250px}.hold-help{font-size:10px;color:var(--muted);margin:13px 0 24px}.security-line{font-size:9px!important;letter-spacing:.1px;color:var(--muted);margin-top:17px}.pass-orbit{width:110px;height:110px;border:1px solid #202d4b;border-radius:50%;display:grid;place-items:center;margin:0 auto 29px;position:relative}.pass-orbit:before{content:'';position:absolute;inset:12px;border:1px solid #202d4b;border-radius:50%}.pass-orbit span{font-size:49px}.pass-orbit~.primary{margin-top:12px}.player-avatar{width:92px;height:92px;background:#202d4b;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:41px;margin:25px auto;position:relative}.player-avatar span{position:absolute;font-size:36px;bottom:-8px;right:-11px;color:#d7cbb7}.small-lead{font-size:14px!important;margin:22px 0}.small-lead b{font-weight:650;color:var(--ink)}.timer-box{margin:25px auto 24px;display:flex;flex-direction:column}.timer-box>span{font-size:60px;letter-spacing:-3px;font-weight:350;line-height:1;font-variant-numeric:tabular-nums}.timer-box small{font-size:10px;color:var(--muted);margin-top:9px}.timer-box.expired>span{color:#ffb6a3}.no-timer{font-size:11px;margin:30px 0;color:#d7cbb7}.turn-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:30px auto;max-width:440px}.turn-list span{padding:7px 10px;background:#202d4b;border-radius:5px;font-size:9px;color:#d7cbb7}.turn-list .active{background:var(--ink);color:#202d4b}.turn-list .passed{opacity:.55}.large-symbol{font-size:85px;font-family:Georgia,serif;margin:18px 0 22px;line-height:1;color:#d7cbb7}.rule-callout{font-size:11px;color:#d7cbb7;background:#202d4b;padding:20px;border-radius:12px;margin:26px auto;max-width:350px;line-height:1.7}.button-stack{display:flex;flex-direction:column;gap:10px;max-width:340px;margin:28px auto 0}.button-stack .primary{justify-content:center}.vote-list{max-width:380px;margin:25px auto;display:flex;flex-direction:column;gap:8px}.vote-person{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;background:#18243e;border:1px solid var(--line);border-radius:12px;text-align:left}.vote-person b{font-size:13px;font-weight:550;overflow-wrap:anywhere;min-width:0}.vote-person>span:last-child{margin-left:auto;font-size:17px;color:#d7cbb7}.vote-person.selected{background:#ffca68;border-color:#d7cbb7}.avatar-small{width:33px;height:33px;flex-shrink:0;border-radius:50%;background:#202d4b;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.vote-counts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:26px auto;max-width:400px}.vote-counts>span{padding:11px 15px;border:1px solid #202d4b;border-radius:8px;font-size:12px;display:flex;gap:18px}.vote-counts b{font-size:11px;color:#d7cbb7}.guess-input{margin:11px 0 15px;width:100%;background:var(--panel);border:1px solid #202d4b;border-radius:11px;padding:17px 20px;font-size:20px;color:var(--ink)}#guess-form{max-width:340px;margin:26px auto}#guess-form .primary{width:100%;justify-content:center}.result-star{font-size:100px;line-height:1;color:#d7cbb7;animation:spin-in .7s ease both;margin-bottom:24px}.result-screen{padding-top:30px}.result-screen h1{font-size:43px}.answer-card{display:flex;flex-direction:column;gap:10px;background:#ffdf9d;border-radius:15px;margin:30px auto 20px;max-width:370px;padding:25px}.answer-card>span{font-size:8px;letter-spacing:1.5px}.answer-card strong{font-family:Georgia,serif;font-size:34px;font-weight:400;overflow-wrap:anywhere}.answer-card small{color:#d7cbb7;font-size:11px}.result-roster{max-width:370px;margin:auto}.result-roster>div{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line);text-align:left}.result-roster>div>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.result-roster b{font-size:12px;font-weight:550}.result-roster small{font-size:9px;color:var(--muted)}.result-roster strong{margin-left:auto;font-size:14px;font-weight:600;color:#d7cbb7}.avatar-small.spy{background:#ffca68;color:#d7cbb7}.modal-backdrop{position:fixed;inset:0;background:#20251cb3;backdrop-filter:blur(6px);z-index:20;overflow-y:auto;padding:35px 20px;display:flex;align-items:flex-start;justify-content:center}.modal{background:var(--paper);border-radius:24px;width:min(100%,600px);padding:42px;position:relative;box-shadow:0 30px 80px #0003;animation:arrive .2s ease}.modal-close{position:absolute;right:18px;top:13px;font-size:27px;background:transparent;width:38px;height:38px;border-radius:50%}.modal h2{font-size:32px;letter-spacing:-1px;line-height:1.1;margin:12px 0 23px}.modal p{font-size:13px}.modal p.small{font-size:11px}.modal .field-label{margin-top:20px}.modal textarea{width:100%;resize:vertical;border:1px solid #ffca68;background:#18243e;border-radius:10px;padding:15px;font-size:13px;line-height:1.8;color:var(--ink);margin:9px 0}.rules-intro h2{font-size:40px}.rules-intro h2 em{letter-spacing:-1.5px}.rules-list{list-style:none;counter-reset:rules;padding:0;margin:0 0 26px}.rules-list li{counter-increment:rules;position:relative;padding:0 0 22px 35px}.rules-list li:before{content:'0' counter(rules);position:absolute;left:0;top:2px;font-size:10px;color:#d7cbb7}.rules-list b{font-size:14px}.rules-list p{font-size:12px;color:var(--muted);margin-top:6px}.rules-modes{border-top:1px solid var(--line);padding-top:20px}.rules-modes article{margin-bottom:20px}.rules-modes h3{font-size:16px;margin-bottom:7px}.rules-modes p{font-size:12px;color:var(--muted);margin:5px 0}.settings-switch{font-size:14px}.settings-list{display:flex;flex-direction:column;gap:10px;margin:25px 0}.settings-list~p{margin-top:16px}.score-list>div{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding:18px 0;font-size:14px}.score-list span{color:#d7cbb7;font-size:10px}.score-list strong{margin-left:auto;font-size:22px}.score-list b{font-weight:500}.skip-link{position:fixed;left:15px;top:-100px;background:var(--ink);color:white;padding:13px;z-index:50}.skip-link:focus{top:15px}.storage-warning{position:fixed;bottom:12px;left:12px;right:12px;max-width:500px;margin:auto;background:#ffca68;padding:14px;border-radius:8px;z-index:30;font-size:12px}main:focus,.modal:focus{outline:none}@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-in{from{transform:rotate(-60deg) scale(.7);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}
@media(min-width:1100px){.hero h1{font-size:65px}}@media(max-width:1050px){.app-shell{padding:0 32px}.hero{gap:0}.artwork{transform:scale(.85);transform-origin:center right;margin-left:-40px}.hero h1{font-size:53px}.hero-meta{gap:15px}.setup-layout{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.panel{padding:21px}.setup-summary{padding:22px}.mode-choice small{font-size:8px}.category{padding:10px;gap:8px}.category-icon{font-size:18px}.how-strip{gap:15px}.how-strip p{font-size:10px;gap:8px}.local-badge{display:none}}@media(max-width:760px){.app-shell{padding:0 23px}.header{height:87px}.header nav{gap:20px}.brand>svg{width:33px;height:38px}.brand>span{font-size:26px}.brand small{font-size:7px}.header .text-button{font-size:10px}.header .icon-button{width:36px;height:36px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:38px 0 26px;min-height:0}.hero h1{font-size:58px;letter-spacing:-3px;margin-top:23px}.hero-copy>.eyebrow{font-size:8px}.hero h1 em{letter-spacing:-3px}.hero .lead{font-size:14px}.hero-actions{gap:24px;margin-top:24px}.hero-actions .primary{min-width:172px;font-size:13px;min-height:54px}.hero-actions .text-button{font-size:11px}.hero-meta{gap:25px;margin-top:27px}.hero-meta span{font-size:9px}.hero-meta b{font-size:11px}.artwork{width:420px;max-width:100%;height:365px;transform:scale(.87);transform-origin:center center;margin:-7px auto -32px}.floating-card{width:210px;height:280px}.front-card{height:286px;left:167px;top:67px}.back-card{left:25px;top:40px}.front-card svg{width:127px;margin:14px auto}.front-card strong{font-size:20px}.orbit{width:300px;height:300px}.orbit-two{width:355px;height:355px}.orbit-three{width:250px;height:250px}.art-spark{top:7px;right:4px;font-size:54px}.art-label{bottom:-7px;left:18px}.art-dot{right:4px;bottom:-3px}.mode-section{padding-top:25px}.section-heading{gap:12px}.mode-section h2{font-size:25px;max-width:240px;line-height:1.15}.section-heading>.muted{display:none}.mode-grid{gap:10px}.mode-card{padding:17px 14px;border-radius:14px}.mode-top{margin-bottom:25px}.mode-number{font-size:8px;gap:8px}.mode-number span{font-size:16px}.mode-symbol{font-size:27px}.mode-card h3{font-size:18px;line-height:1}.mode-card p{font-size:10px;line-height:1.4;min-height:29px}.mode-tag{font-size:7px;padding:5px;margin-top:15px}.how-strip{display:grid;grid-template-columns:1fr 1fr;padding:23px 0;gap:18px}.strip-title{font-size:23px;grid-row:span 3}.how-strip p{font-size:11px}.how-strip p b{width:24px;height:24px;font-size:8px}.how-strip p:not(:first-of-type){grid-column:2}footer{font-size:9px;padding-bottom:25px}footer>span:nth-child(2){display:none}footer>span:first-child{font-size:10px}.page-title{padding:30px 0}.page-title h1{font-size:39px}.page-title>p:last-child{font-size:12px}.setup-layout{display:flex;flex-direction:column;gap:20px}.setup-content{width:100%}.setup-summary{position:static;width:100%;margin-bottom:15px;padding:25px}.summary-top{margin-bottom:17px}.setup-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:18px 0}.setup-summary dl div{margin:8px 0}.setup-summary h3{font-size:26px}.setup-summary .primary{margin-top:15px}.privacy-note{font-size:11px}.panel{padding:21px}.panel .section-heading{margin-bottom:18px}.panel h2{font-size:17px}.panel .text-button{font-size:10px}.mode-choice{padding:13px 10px}.mode-choice small{font-size:8px}.mode-picker{gap:7px}.category{padding:11px;gap:10px}.category b{font-size:11px}.game-top{gap:8px;font-size:9px}.game-top .text-button{font-size:10px}.game-top i{margin:0 5px}.game-card{padding:33px 0 38px;min-height:590px}.game-card h1{font-size:39px;letter-spacing:-1.8px}.game-card h1 em{letter-spacing:-1.8px}.game-card>.eyebrow{font-size:8px}.reveal-card{height:273px;margin-top:22px}.game-card>.primary{min-width:0;width:min(100%,330px);font-size:12px}.game-card>.muted{font-size:12px}.deal-progress{margin-bottom:25px}.hold-help{font-size:9px}.security-line{font-size:9px!important}.player-avatar{margin-top:20px;margin-bottom:24px}.small-lead{font-size:13px!important}.game-card .primary{min-height:55px}.vote-person{min-height:56px}.modal-backdrop{padding:15px}.modal{padding:30px 25px;border-radius:19px}.modal h2{font-size:29px;margin-top:20px}.modal .rules-intro h2{font-size:36px}.modal .eyebrow{font-size:8px}.modal-close{right:12px;top:8px}.result-star{font-size:80px}.result-screen h1{font-size:38px}.answer-card strong{font-size:31px}}@media(max-width:380px){.app-shell{padding:0 17px}.header nav{gap:13px}.hero h1{font-size:51px}.hero-actions{gap:18px}.hero-actions .primary{min-width:155px}.hero-meta{gap:16px}.artwork{transform:scale(.78);margin-left:-8px;margin-top:-15px;margin-bottom:-43px}.front-card{left:150px}.mode-grid{grid-template-columns:1fr}.mode-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:17px;gap:7px 12px}.mode-top{grid-column:1;grid-row:span 2;margin:0}.mode-number{display:none}.mode-card h3{grid-column:2;font-size:20px}.mode-card p{grid-column:2;min-height:0;margin:0}.mode-tag{grid-column:3;grid-row:1/span 2;margin:0}.panel{padding:17px}.mode-choice b{font-size:11px}.mode-choice small{font-size:7px}.category{padding:9px;gap:7px}.category-icon{font-size:17px}.category b{font-size:10px}.category-grid{gap:7px}.game-card h1{font-size:35px}.summary-top{margin-bottom:14px}.setup-summary{padding:21px}.setup-summary dl{gap:0 16px}.hero-actions .text-button{font-size:10px;gap:10px}.how-strip p{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.chaos-option{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.chaos-option p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:6px}.chaos-option .switch-label{font-size:11px}.new-tag{font-size:7px;border:1px solid #ffca68;padding:3px 5px;border-radius:3px;letter-spacing:.5px}.chaos-banner{font-size:9px;padding:12px 10px;text-align:center;background:#202d4b;color:#d7cbb7;border-radius:0 0 10px 10px}.chaos-rules{margin:20px 0}.chaos-rules h3{font-size:16px;margin-bottom:7px}.chaos-rules p{font-size:12px;color:var(--muted)}
.arrow-icon{width:20px;height:20px;flex-shrink:0;display:inline-block;vertical-align:middle}.text-button .arrow-icon{width:14px;height:14px}.mode-number .arrow-icon{width:18px;height:18px}.button-stack .primary .arrow-icon{width:17px;height:17px}
/* Language is a separate device preference; active rounds keep their original locale. */
.header{position:relative;gap:20px}.language-picker{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.language-picker select{min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:6px 9px;color:var(--ink);font-size:12px}.language-lock{position:absolute;left:0;right:0;bottom:5px;text-align:center;font-size:9px;color:var(--muted)}.modal>.language-picker{margin:16px 0}.language-picker select:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:800px){.header{height:auto;min-height:108px;flex-wrap:wrap;gap:10px;padding:18px 0 24px}.header .language-picker{margin-left:auto}.header nav{width:100%;justify-content:flex-end;gap:18px}.language-lock{position:static;flex-basis:100%;order:3}.header nav .local-badge{margin-right:auto}.language-picker>span{display:none}}
@media(max-width:800px){.header nav{flex-wrap:wrap}.header .language-picker{margin-left:0}.header .language-picker select{max-width:145px}}@media(max-width:380px){.header nav{gap:10px}.header .language-picker select{max-width:130px;padding:6px}}

/* Approved Bluff Room artwork, kept intact rather than cropped. */
.brand-logo{width:72px;height:48px;object-fit:contain;border-radius:9px;flex-shrink:0}
.artwork.artwork-logo{display:flex;align-items:center;justify-content:center;min-height:0;height:auto;aspect-ratio:3/2;border-radius:28px;overflow:hidden;background:#0d1730;box-shadow:0 18px 55px #11152122}
.artwork-logo img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.brand-logo{width:51px;height:34px}.brand>span{font-size:23px}.artwork.artwork-logo{border-radius:19px}}
/* Reset the old floating-card positioning for the approved complete logo. */
.artwork.artwork-logo{width:100%;max-width:560px;transform:none;margin:0 auto}
@media(max-width:760px){.artwork.artwork-logo{max-width:430px;margin:12px auto 0}}

/* Explicit, same-tab migration entry. No destination contact before this action. */
.migration-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #ffca68;background:#202d4b;border-radius:12px;padding:15px 18px;margin:15px 0}.migration-banner p{font-size:12px;line-height:1.6;margin:0;max-width:680px}.migration-banner .secondary{flex-shrink:0;min-height:44px;font-size:12px}
@media(max-width:760px){.migration-banner{align-items:stretch;flex-direction:column;gap:12px}.migration-banner .secondary{width:100%;justify-content:center}}

/* Conflicting pre-import rounds remain private and cannot reuse imported scores. */
.round-conflict{max-width:640px;margin:45px auto;padding:32px;border:1px solid #202d4b;border-radius:20px;background:var(--panel)}.round-conflict h1{font-size:32px;line-height:1.15;letter-spacing:-1px;margin:16px 0}.round-conflict p{font-size:14px;line-height:1.7;margin:16px 0}.conflict-check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.6;margin:24px 0}.conflict-check input{width:20px;height:20px;flex-shrink:0;margin-top:2px}.round-conflict .danger-button{width:100%;min-height:48px;white-space:normal}@media(max-width:700px){.round-conflict{margin:20px 15px;padding:24px}.round-conflict h1{font-size:28px}}

/* Bluff Room 1.3: logo-led midnight, cream, gold and warm orange. */
:root{color-scheme:dark;--navy:#0d1730;--cream:#fff0d3;--gold:#ffca68;--orange:#ff8f6b;--focus:#ffca68}
body{background:radial-gradient(ellipse at 85% 0,#2d2941 0,transparent 45%),var(--paper);min-height:100dvh}
button,input,select,textarea{max-width:100%}button,a,input,select,textarea{scroll-margin:24px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 2px var(--navy)}
h1,h2,h3{overflow-wrap:anywhere}h1{font-weight:800;letter-spacing:-.045em}h1 em,h2 em{color:var(--gold)}
.header{border-bottom-color:var(--line)}.brand>span{color:var(--cream)}.brand small{color:var(--gold)}
.primary{background:var(--gold);color:var(--navy);font-weight:750;border:1px solid var(--gold);box-shadow:0 4px 0 #a96624}
.primary:hover:not(:disabled){background:#ffdc99;color:var(--navy);transform:translateY(-2px)}
.secondary,.icon-button{background:var(--panel);color:var(--cream);border-color:var(--line)}
.secondary:hover,.icon-button:hover{background:#293955}.text-button:hover{color:var(--gold)}
.danger-button{background:#8f2f27;color:#fff0d3;border:1px solid #ff8f6b}
button:disabled{opacity:.55;box-shadow:none}.icon-button,.stepper .icon-button,.header .icon-button,.modal-close{min-width:44px;min-height:44px}
.eyebrow,.step,.summary-top>span{color:var(--gold);font-size:11px}.local-badge i{background:var(--gold)}
.lead{color:var(--muted)}.panel,.modal,.round-conflict{box-shadow:0 16px 45px #0003}
.mode-card{border:1px solid var(--line);border-top:3px solid var(--gold)}.mode-near{border-top-color:var(--orange)}.mode-blank{border-top-color:var(--cream)}
.mode-card:hover{background:#293955}.mode-number,.mode-tag{color:var(--cream)}.mode-tag{border-color:var(--line)}
.mode-choice.selected,.category.selected,.vote-person.selected{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.mode-choice.selected small,.category.selected small,.vote-person.selected>span:last-child{color:#3c3440}
.selected .choice-dot{background:var(--navy);box-shadow:inset 0 0 0 3px var(--gold);border-color:var(--navy)}
.choice-dot{border-color:var(--muted)}.chip-button[aria-pressed=true]{color:var(--navy)}
.switch-label input:checked+.switch{background:var(--gold)}.switch:before{background:var(--navy)}.switch-label input:focus-visible+.switch{outline-color:var(--gold)}
.name-field input,.field-label select,.guess-input,.modal textarea{font-size:16px}
.setup-summary{border:1px solid var(--line)}.summary-top svg{color:var(--gold)}.privacy-note{border-color:var(--line)}
.reveal-card{background:#0b1022;color:var(--cream);border:2px solid var(--gold);box-shadow:0 10px 35px #0005}
.mask-emblem{--paper:#0b1022}.mask-emblem svg{color:var(--gold)}
.reveal-card.open{background:var(--gold);color:var(--navy)}.reveal-card.spy{background:#ffb18b;color:var(--navy)}
.open .card-corner,.open .card-bottom{color:#463849}.card-corner,.card-bottom,.reveal-card>span:not([class]){color:var(--muted)}
.deal-progress span{background:#8995ad}.deal-progress .current{background:var(--orange)}.deal-progress .done{background:var(--gold)}
.player-avatar,.avatar-small{background:#293955;color:var(--cream)}.avatar-small.spy{background:#ffb18b;color:var(--navy)}
.turn-list .active{background:var(--gold);color:var(--navy)}.turn-list .passed{opacity:1;border:1px dashed var(--line)}
.answer-card{color:var(--navy);border:1px solid var(--gold)}.answer-card small{color:#463849}
.result-star,.large-symbol,.result-roster strong,.score-list strong{color:var(--gold)}
.modal-backdrop{background:#050a18d9}.modal{border:1px solid var(--line)}
.storage-warning{color:var(--navy);border:1px solid var(--gold)}
.migration-banner,.round-conflict{border-color:var(--line)}.conflict-check input{accent-color:var(--gold)}
.artwork.artwork-logo{border:1px solid #c68b43;box-shadow:0 20px 65px #0005}
.small,.mode-card p,.mode-description,.privacy-note,.rules-list p,.rules-modes p,.category small,.summary-note,.hold-help,.security-line,.chaos-option p,.chaos-banner{font-size:13px!important}
.mode-choice small,.mode-tag,.step,.game-top,.card-corner,.card-bottom,.turn-list span,.result-roster small,.language-lock,.hero-meta span,.hero-meta b{font-size:12px}
.category b,.mode-choice b,.field-label,.switch-label,.chip-button,.text-button{font-size:14px}.chip-button,.switch-label{min-height:44px}
.mode-card h3{line-height:1.2}.modal-close{color:var(--cream)}.modal h2{padding-right:20px}
.game-card{min-height:0}.game-card>.muted{font-size:15px}.game-top{flex-wrap:wrap}.game-top>span{overflow-wrap:anywhere}
.score-list b,.result-roster b,.setup-summary dd{overflow-wrap:anywhere;min-width:0}.result-roster>div>span:nth-child(2){min-width:0}
@media(max-width:760px){
 .app-shell{padding:0 20px}.header nav{gap:12px}.header .text-button{font-size:13px}.brand>span{font-size:24px}
 .hero h1{font-size:clamp(38px,9vw,58px)}.hero .lead{font-size:16px}.hero-actions{flex-wrap:wrap;gap:16px}.hero-meta{flex-wrap:wrap;gap:12px 20px}
 .mode-grid{grid-template-columns:1fr}.mode-card{display:block;padding:22px}.mode-top{margin-bottom:16px}.mode-card h3{font-size:24px}.mode-card p{min-height:0}.mode-tag{margin-top:14px}
 .mode-picker{grid-template-columns:1fr}.mode-choice{display:flex;gap:15px;align-items:center;padding:16px 35px 16px 16px}.mode-choice .mode-symbol{margin:0}.choice-dot{top:21px}
 .panel{padding:20px}.panel .section-heading{flex-wrap:wrap}.panel .text-button{font-size:13px}.category{padding:12px}.category-grid{gap:10px}
 .game-card h1{font-size:clamp(30px,8vw,42px)}.game-card>.eyebrow{font-size:11px}.game-card>.muted{font-size:15px}.game-card .primary{font-size:15px}
 .modal{padding:30px 22px}.modal p,.modal p.small{font-size:14px}.language-picker select{min-height:44px;font-size:16px}.header .language-picker select{max-width:155px}
 .how-strip{grid-template-columns:1fr}.strip-title{grid-row:auto}.how-strip p:not(:first-of-type){grid-column:auto}.how-strip p{font-size:13px}
}
@media(max-width:420px){.players-grid,.category-grid,.options-grid{grid-template-columns:1fr}.setup-summary dl{display:block}.header nav{justify-content:flex-start}.hero-actions>*{width:100%}.hero-actions .text-button{font-size:14px}.reveal-card{padding:35px 20px}.panel h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.skip-link{background:var(--navy);color:var(--cream);border:2px solid var(--gold)}
/* Both switch states have a visible boundary and contrasting thumb. */
.switch{border:1px solid #8995ad;height:20px;width:33px}
.switch:before{background:var(--cream)}
.switch-label input:checked+.switch:before{background:var(--navy)}
