@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--bg:#131313;--panel:#1d1d1d;--line:#343434;--text:#f1f3e9;--muted:#92998c;--lime:#c6f574;--orange:#f2b17c;--purple:#c9b6ed;font-family:Manrope,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 90% 0%,#2d2d2d40,transparent 40%)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button{border:0;background:none}header,main,footer{max-width:1344px;margin:auto}header{height:106px;display:flex;align-items:center;gap:72px;border-bottom:1px solid var(--line);padding:0 12px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:20px;letter-spacing:-1px}.brand-light{font-weight:500}.brand-mark{width:38px;height:38px;background:var(--lime);color:#1d1d1d;border-radius:12px;font-size:28px;display:flex;align-items:center;justify-content:center;position:relative;margin-right:7px;font-weight:800}.brand-mark span{font-size:12px;margin-left:-9px;background:var(--lime);padding:1px}nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700;color:var(--muted);height:100%}nav a,nav button{height:100%;display:flex;align-items:center;position:relative;font-size:13px;font-weight:700}nav .selected{color:var(--text)}nav .selected:after{content:'';height:3px;background:var(--lime);position:absolute;bottom:-1px;left:0;right:0}nav button span{margin-left:12px;color:var(--lime);font-size:20px}.profile{margin-left:auto;display:flex;align-items:center;gap:12px;text-align:left;font-size:12px;font-weight:700}.avatar{display:flex;width:38px;height:38px;align-items:center;justify-content:center;background:#3c3c3c;border:1px solid #656565;color:#d3ecab;border-radius:50%;font-size:15px;font-weight:800}.profile small{display:block;font-size:10px;color:var(--muted);margin-top:4px;font-weight:500}.profile-edit{margin-left:20px;color:var(--muted)}main{padding:0 12px}.welcome{display:flex;justify-content:space-between;align-items:center;padding:59px 0 48px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;line-height:1.6;color:var(--muted)}.mini-star{color:var(--lime);font-size:15px;vertical-align:middle;margin-right:7px}.welcome h1{font-size:47px;line-height:1.16;letter-spacing:-2.2px;font-weight:750;margin:17px 0}.welcome h1 span{color:var(--lime)}.welcome p{font-size:13px;color:var(--muted);margin:0}.welcome-doodle{transform:rotate(-8deg);padding:0 70px 0 20px;position:relative;user-select:none}.welcome-doodle>span{display:block;font-size:18px;font-weight:800;letter-spacing:6px;margin-left:8px}.welcome-doodle b{font-size:68px;font-weight:800;line-height:1;letter-spacing:-5px;display:block;color:var(--lime)}.welcome-doodle b span{font-size:70px;margin-left:15px;display:inline-block;transform:rotate(20deg)}.welcome-doodle i{display:block;font-size:10px;color:var(--muted);font-weight:600;font-style:normal;margin-top:16px;margin-left:15px;letter-spacing:.6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{font-size:21px;font-weight:750;letter-spacing:-.7px;margin:0}.section-heading h2>span{font-size:10px;margin-left:8px;color:var(--muted);border:1px solid var(--line);padding:3px 7px;border-radius:6px;vertical-align:middle;letter-spacing:0}.filter{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:9px}.filter button{padding:7px 14px;font-size:11px;color:var(--muted);border-radius:6px;font-weight:650}.filter .selected{background:#373737;color:var(--text)}.filter button:hover{color:var(--text)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-card{display:block;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#212121;transition:transform .25s,border-color .25s;isolation:isolate;--accent:var(--lime)}.game-card:hover{transform:translateY(-6px);border-color:var(--accent)}.game-card.orange{background:#222222;--accent:var(--orange)}.game-card.purple{background:#212121;--accent:var(--purple)}.card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;font-weight:800;padding:23px 24px;color:var(--accent)}.card-top>span:last-child{opacity:.5}.game-art{height:230px;position:relative;display:flex;align-items:center;justify-content:center}.game-art:before{content:'';width:220px;height:220px;border:1px solid currentColor;border-radius:50%;position:absolute;opacity:.055;color:var(--accent);box-shadow:0 0 0 40px #ffffff06,0 0 0 80px #ffffff03}.art-caption{position:absolute;right:20px;bottom:14px;font-size:10px;color:var(--accent);opacity:.6;transform:rotate(-8deg);font-style:italic}.ttt-art{width:190px;height:190px;display:grid;grid-template-columns:repeat(3,1fr);transform:rotate(-11deg);position:relative;filter:drop-shadow(8px 16px 8px #0003)}.ttt-art span{height:63px;display:flex;align-items:center;justify-content:center;font-size:67px;font-weight:500;line-height:1;color:var(--lime);border-bottom:2px solid #bde27e40;border-right:2px solid #bde27e40}.ttt-art span:nth-child(3n){border-right:0}.ttt-art span:nth-child(n+7){border-bottom:0}.ttt-art span:nth-child(2),.ttt-art span:nth-child(4),.ttt-art span:nth-child(8){color:#e9efd9}.tiles-art{display:grid;grid-template-columns:repeat(3,69px);gap:9px;transform:rotate(-12deg);filter:drop-shadow(10px 20px 14px #0004)}.tiles-art b{height:69px;border-radius:11px;display:flex;justify-content:center;align-items:center;color:#5d3d26;background:#e9d4af;font-size:29px;border-top:2px solid #fff4;box-shadow:3px 5px 0 #0003}.tiles-art b:nth-child(2){background:#f1c18d;transform:translateY(-15px)}.tiles-art b:nth-child(3){background:#eda26a}.tiles-art b:nth-child(4){background:#ef935b}.tiles-art b:nth-child(5){background:#ecae68;transform:translateY(-15px)}.tiles-art b:nth-child(6){background:#f5d77d}.memory-art{position:relative;width:220px;height:190px}.memory-art i{position:absolute;width:106px;height:140px;border-radius:15px;background:#c7b3ed;top:20px;left:20px;transform:rotate(-18deg);color:#4d356d;display:flex;align-items:center;justify-content:center;font-size:70px;font-style:normal;border:2px solid #f0e5ff5a;box-shadow:7px 12px 0 #0f0f0f33}.memory-art i:nth-child(2){left:112px;top:27px;transform:rotate(14deg);background:#ab92d4}.memory-art i:nth-child(3){left:90px;top:0;transform:rotate(5deg);background:#393939;font-size:42px;color:#c7b3ed;background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,#ffffff05 6px,#ffffff05 7px)}.card-bottom{display:flex;align-items:center;justify-content:space-between;background:#1919196b;padding:24px;border-top:1px solid #ffffff08;gap:6px}.card-bottom h3{font-size:23px;font-weight:750;letter-spacing:-1px;margin:0 0 8px}.card-bottom p{font-size:11px;color:#a4aa9c;margin:0}.orange .card-bottom p{color:#b4a193}.purple .card-bottom p{color:#aaa0b8}.card-arrow{border:1px solid #ffffff26;width:37px;height:37px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:23px;flex-shrink:0;transition:background .2s,color .2s}.game-card:hover .card-arrow{background:var(--accent);color:var(--bg)}.room-banner{display:flex;align-items:center;gap:30px;padding:30px 36px;border:1px solid var(--line);border-radius:14px;margin:30px 0 46px;background:linear-gradient(105deg,#242424,#1c1c1c 60%,#282828);position:relative;overflow:hidden}.room-symbol{width:70px;height:70px;flex-shrink:0;border:1px solid #b8da7133;border-radius:20px;transform:rotate(-10deg);font-size:58px;font-weight:500;text-align:center;line-height:1.1;color:var(--lime);position:relative}.room-symbol span{position:absolute;font-size:30px;right:-13px;top:-10px;background:#242424}.room-banner h2{font-size:24px;letter-spacing:-.8px;margin:7px 0 8px}.room-banner p{font-size:12px;color:var(--muted);margin:0}.banner-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex-direction:column;min-width:210px}.btn{border-radius:8px;padding:14px 20px;font-size:12px;font-weight:800;display:inline-flex;gap:25px;align-items:center;justify-content:center;transition:filter .2s,transform .2s;min-height:45px}.btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.primary{background:var(--lime);color:#252525}.primary>span{font-size:20px;line-height:1}.text-button{font-size:11px;color:var(--muted);padding:6px 0}.text-button:hover{color:var(--text)}.subtle{background:#2e2e2e;color:var(--text);border:1px solid #3f3f3f}.muted{color:var(--muted);font-size:11px}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.future-card{border:1px solid var(--line);border-radius:12px;padding:22px 19px;display:flex;align-items:center;gap:16px;background:#1b1b1b}.future-icon{color:#8e9c7d;font-size:25px;font-weight:800;width:32px;text-align:center}.future-card h3{font-size:14px;margin:0 0 7px;font-weight:700}.future-card p{font-size:9px;color:var(--muted);margin:0}.soon{font-size:7px;font-weight:800;letter-spacing:.7px;white-space:nowrap;color:#8e9784;background:#2b2b2b;padding:5px 6px;border-radius:4px;margin-left:auto}footer{margin-top:60px;border-top:1px solid var(--line);padding:25px 12px 35px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.footer-brand{font-size:11px;font-weight:800;letter-spacing:-.2px;color:#b6beaa}.footer-brand span{font-size:9px;color:var(--muted);font-weight:500;margin-left:10px}.footer-note{display:flex;gap:7px;align-items:center}.footer-note i,.connection i{width:5px;height:5px;background:var(--lime);border-radius:50%}.active-room{display:flex;align-items:center;gap:10px;border:1px solid #77943e;background:#2f2f2f;border-radius:9px;padding:15px 20px;width:100%;text-align:left;font-size:12px;margin-bottom:26px}.active-room>span:last-child{margin-left:auto;color:var(--lime)}.live-dot{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 4px #c6f57410}.game-heading{display:flex;justify-content:space-between;align-items:center;margin:32px 0}.back{font-size:12px;color:var(--muted)}.back:hover{color:var(--lime)}.play-layout{display:grid;grid-template-columns:minmax(0,740px) 320px;justify-content:center;gap:30px;margin:25px auto 70px;--accent:var(--lime)}.play-layout.orange{--accent:var(--orange)}.play-layout.purple{--accent:var(--purple)}.play-main{border:1px solid var(--line);background:#1d1d1d;border-radius:20px;padding:30px 40px}.play-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.play-title h1{font-size:33px;letter-spacing:-1.5px;margin:5px 0 0}.small-game-icon{color:var(--accent);font-size:37px;letter-spacing:-3px;font-weight:700}.segmented{display:flex;border:1px solid var(--line);border-radius:9px;padding:4px;gap:4px}.segmented button{flex:1;padding:11px 8px;font-size:12px;color:var(--muted);border-radius:6px}.segmented .selected{background:#383838;color:var(--lime)}.match-status{font-size:12px;display:flex;align-items:center;justify-content:center;gap:11px;min-height:68px;text-align:center;line-height:1.7}.ttt-board{max-width:420px;aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 auto 26px}.cell{aspect-ratio:1;border-radius:12px;background:#292929;border:1px solid #3e3e3e;font-size:clamp(44px,6vw,80px);font-weight:500;line-height:1;transition:background .2s,transform .2s}.cell:hover:not(:disabled){background:#3a3a3a;transform:scale(.97)}.cell:disabled{opacity:1}.cell.win{background:#464646;border-color:var(--lime)}.x-color{color:var(--lime)}.o-color{color:#c0b1e5}.board-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:12px;min-height:43px}.board-foot b{font-size:22px;vertical-align:middle;margin:0 7px}.board-foot .muted{font-size:12px}.aside-card{border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:18px;background:#1d1d1d}.aside-card h3{font-size:20px;letter-spacing:-.6px;line-height:1.4;margin:13px 0}.aside-card p{color:var(--muted);font-size:12px;line-height:1.9}.aside-card label{margin-top:20px}.aside-note{color:#68745c;font-size:24px;letter-spacing:-.6px;font-weight:700;padding:10px 20px;position:relative;line-height:1.5}.aside-note span{float:right;font-size:50px;transform:rotate(-15deg);color:#595959}label{display:block;font-size:11px;font-weight:650;color:#bdc5b6;margin:16px 0 8px}select,input{width:100%;border:1px solid #484848;background:#2a2a2a;border-radius:8px;padding:13px;color:var(--text);font-size:12px;outline:none}input:focus,select:focus{border-color:var(--lime);box-shadow:0 0 0 3px #c6f57416}select:disabled{opacity:.6}.score-row{display:flex;gap:12px;margin:10px 0 24px;align-items:center}.score-row .btn{margin-left:auto}.score-box{padding:10px 16px;min-width:95px;background:#2b2b2b;border:1px solid #464646;border-radius:10px}.score-box>span,.memory-stats span{display:block;font-size:8px;font-weight:800;letter-spacing:1px;color:var(--muted);margin-bottom:4px}.score-box>b{font-size:23px;color:var(--orange)}.board2048-wrap{position:relative;max-width:480px;margin:0 auto 15px}.board2048{padding:11px;background:#363636;border:1px solid #595959;border-radius:13px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;touch-action:none;outline:none}.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#484848;font-size:clamp(22px,3vw,41px);font-weight:800;letter-spacing:-1.5px;transition:background .15s;box-shadow:inset 0 1px 0 #ffffff0a}.tile.v2{background:#e9e2cb;color:#525252}.tile.v4{background:#e8d7ae;color:#575757}.tile.v8{background:#f1b57f;color:#5e3921}.tile.v16{background:#ed9863;color:#fff5e5}.tile.v32{background:#ea7e5a;color:#fff5e5}.tile.v64{background:#df6345;color:#fff5e5}.tile.v128{background:#dfc36c;color:#584414;font-size:31px}.tile.v256{background:#e5bd4f;color:#584414;font-size:31px}.tile.v512{background:#efca41;color:#584414;font-size:31px}.tile.v1024,.tile.v2048{background:#c6f574;color:#3b3b3b;font-size:27px}.moved .tile:not(.empty){animation:tile-appear .14s ease-out}@keyframes tile-appear{from{transform:scale(.93)}to{transform:scale(1)}}.gain{color:var(--lime);font-weight:800}.game-overlay{position:absolute;inset:0;border-radius:12px;background:#191919ed;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;gap:15px;backdrop-filter:blur(6px)}.game-overlay>b{font-size:25px}.game-overlay p{font-size:12px;color:var(--muted);line-height:1.7}.big-number{font-size:67px;letter-spacing:-5px;color:var(--orange);font-weight:800;margin:20px 0}.big-number>span{font-size:45px;vertical-align:top;letter-spacing:-2px;margin-left:10px}.orange-note{background:linear-gradient(135deg,#2a2a2a,#1e1e1e)}.purple-note{background:linear-gradient(135deg,#262626,#1e1e1e)}.memory-aside-art{color:var(--purple);font-size:62px;white-space:nowrap;margin:20px 0}.memory-aside-art span{color:#7d5ea6;display:inline-block;transform:rotate(20deg);margin-left:15px}.memory-controls{display:flex;gap:18px;align-items:center;justify-content:space-between}.memory-controls select{width:auto;min-width:170px}.memory-stats{display:flex;justify-content:space-around;background:#242424;border:1px solid #3d3d3d;border-radius:10px;padding:15px;margin:22px 0;text-align:center}.memory-stats b{font-size:23px;color:var(--purple)}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.memory-board.hard{grid-template-columns:repeat(6,1fr)}.memory-card{aspect-ratio:.95;perspective:800px;padding:0;border-radius:10px;background:none}.memory-card:disabled{opacity:1}.card-inner{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.card-back,.card-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{border:1px solid #5d4c70;background:repeating-linear-gradient(45deg,transparent,transparent 7px,#ffffff03 7px,#ffffff03 8px),#2e2e2e;color:#af97d1;font-size:26px;font-weight:800}.card-back>span{position:absolute;right:12%;top:9%;font-size:12px;opacity:.5}.card-face{background:#2b2b2b;transform:rotateY(180deg);border:1px solid var(--symbol-color);color:var(--symbol-color);font-size:clamp(24px,4vw,50px)}.memory-card:hover:not(:disabled) .card-back{background-color:#3e3e3e}.memory-card.matched .card-face{background:#3a3a3a;border-color:#718257;opacity:.65}.memory-result{margin-top:20px;text-align:center;min-height:14px}.memory-result b{font-size:21px;color:var(--lime);display:block}.memory-result>span{font-size:12px;color:var(--muted);display:block;margin-top:10px}.room-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.pill{border:1px solid #5b5b5b;background:#343434;font-size:9px;letter-spacing:1px;padding:10px 13px;border-radius:7px}.pill b{color:var(--lime);margin-left:7px;font-size:12px}.connection{display:flex;gap:7px;align-items:center;font-size:9px;color:var(--orange)}.connection i{background:var(--orange)}.connection.online{color:var(--muted)}.connection.online i{background:var(--lime)}.lobby-art{min-height:320px;display:flex;align-items:center;justify-content:center;gap:30px;position:relative;padding-bottom:90px}.lobby-art>span{font-size:125px;color:var(--lime);font-weight:600;line-height:1}.lobby-art>span:nth-child(3){color:var(--purple)}.lobby-art>b{color:var(--muted);font-size:14px;font-weight:500}.lobby-art p{position:absolute;bottom:12px;font-size:14px;color:var(--muted);text-align:center;line-height:1.8}.players{margin:20px 0}.player{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.player>div{min-width:0;flex:1}.player b{font-size:12px;display:block;word-break:break-word}.player small{font-size:9px;display:block;color:var(--muted);margin-top:4px}.player em{font-style:normal;color:var(--muted);font-weight:500}.avatar-1{background:#323232;border-color:#6c5287;color:var(--purple)}.player-symbol{font-size:30px}.kick{font-size:22px;color:var(--muted);padding:4px}.kick:hover{color:#f7a19a}.empty-player{display:flex;align-items:center;gap:15px;font-size:11px;color:var(--muted);padding:16px 0}.empty-player span{width:36px;height:36px;border:1px dashed #5c5c5c;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px}.full{width:100%;padding:12px;font-size:10px}.leave{display:block;color:#b99a8a;margin:20px auto 0}.loading{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted)}.spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--lime);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{background:#242424;color:var(--text);border:1px solid #565656;border-radius:18px;width:440px;max-width:calc(100% - 30px);padding:36px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#0c0c0cc9;backdrop-filter:blur(7px)}dialog h2{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:14px 0}dialog p{font-size:12px;color:#a7b29b;line-height:1.8}dialog .btn{width:100%;margin-top:20px}.dialog-close{position:absolute;top:12px;right:15px;font-size:26px;color:var(--muted);padding:5px}.code-input{text-transform:uppercase;letter-spacing:5px;font-size:20px;font-weight:800}.form-error{color:#ffb1a1;min-height:10px;margin-bottom:0}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--lime);color:#303030;border-radius:10px;padding:16px 25px;font-size:12px;font-weight:700;z-index:20;max-width:calc(100% - 30px);box-shadow:0 10px 40px #0007;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1500px){header,main,footer{max-width:1370px}.game-art{height:260px}.welcome{padding:65px 0 50px}.welcome h1{font-size:52px}}
@media(max-width:1400px){header,main,footer{margin-left:5%;margin-right:5%}.game-card .card-bottom{padding:22px 18px}.card-bottom h3{font-size:21px}.future-card{gap:10px;padding:20px 14px}.future-card p{font-size:8px}.soon{font-size:6px}}
@media(max-width:1050px){header{gap:40px;height:88px}.welcome h1{font-size:40px}.welcome-doodle{padding-right:20px}.game-grid{gap:14px}.game-art{height:210px}.ttt-art{transform:rotate(-11deg) scale(.86)}.tiles-art{transform:rotate(-12deg) scale(.85)}.memory-art{transform:scale(.85)}.card-top{padding:19px 16px;font-size:8px}.card-bottom h3{font-size:18px}.card-bottom p{font-size:9px}.card-arrow{width:30px;height:30px;font-size:20px}.room-banner{padding:25px;gap:23px}.room-banner h2{font-size:22px}.room-banner p{max-width:270px;line-height:1.7}.future-grid{gap:14px}.future-card{position:relative;align-items:flex-start;padding-bottom:34px}.soon{position:absolute;bottom:10px;right:12px}.play-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.play-main{padding:26px}.aside-card{padding:22px}.play-title h1{font-size:28px}.score-box{min-width:75px;padding:10px}.score-row .btn{font-size:10px;padding:12px}.tile{font-size:33px}.big-number{font-size:55px}}
@media(max-width:760px){header,main,footer{margin-left:5%;margin-right:5%;padding-left:0;padding-right:0}header{height:78px;gap:20px}.brand{font-size:16px;gap:5px}.brand-mark{width:31px;height:31px;border-radius:9px;font-size:23px;margin-right:4px}.brand-mark span{font-size:10px}nav{margin-left:auto}nav a{display:none}nav button{font-size:10px}nav button span{margin-left:6px}.profile{margin-left:0}.profile>span:nth-child(2),.profile-edit{display:none}.avatar{width:31px;height:31px;font-size:12px}.welcome{padding:35px 0}.welcome .eyebrow{font-size:8px;letter-spacing:1.3px}.welcome h1{font-size:36px;letter-spacing:-1.7px;margin:13px 0}.welcome p{font-size:11px;max-width:280px;line-height:1.8}.welcome-doodle{display:none}.section-heading{gap:12px;align-items:flex-start;flex-direction:column;margin-bottom:20px}.section-heading h2{font-size:20px}.filter{width:100%;justify-content:space-between}.filter button{flex:1;font-size:10px;padding:8px}.game-grid{grid-template-columns:1fr;gap:18px}.game-card{min-height:255px;display:grid;grid-template-columns:1fr 46%;grid-template-rows:50px 1fr;border-radius:15px}.card-top{grid-column:1/-1;padding:20px;z-index:1;font-size:8px}.game-art{grid-column:2;grid-row:2;height:190px;margin-top:-28px}.game-art:before{height:150px;width:150px}.card-bottom{grid-row:2;grid-column:1;background:none!important;border:0;padding:30px 0 24px 20px!important;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:18px;z-index:1}.card-bottom h3{font-size:23px;letter-spacing:-1px;white-space:nowrap}.card-bottom p{font-size:10px;line-height:1.8;max-width:150px}.card-arrow{width:32px;height:32px}.ttt-art{transform:rotate(-11deg) scale(.75)}.tiles-art{transform:rotate(-12deg) scale(.70)}.memory-art{transform:scale(.73)}.art-caption{display:none}.room-banner{padding:25px 22px;display:grid;grid-template-columns:1fr;margin:25px 0 34px;gap:20px}.room-symbol{position:absolute;right:20px;top:25px;transform:rotate(-10deg) scale(.7);transform-origin:top right;opacity:.5}.room-banner .eyebrow{font-size:8px}.room-banner h2{font-size:22px;max-width:250px}.room-banner p{font-size:11px;max-width:250px}.banner-actions{margin:0;align-items:stretch;gap:9px;min-width:0}.banner-actions .btn{justify-content:space-between}.text-button{min-height:33px}.upcoming .section-heading{flex-direction:row;align-items:center}.upcoming h2{font-size:17px}.upcoming .muted{font-size:9px;max-width:100px;text-align:right}.future-grid{grid-template-columns:1fr;gap:10px}.future-card{align-items:center;padding:20px;gap:18px}.future-card h3{font-size:15px}.future-card p{font-size:10px;max-width:200px}.soon{position:static;font-size:6px}.future-icon{font-size:25px}footer{margin-top:38px;flex-wrap:wrap;gap:20px;padding:25px 0}.footer-brand{flex:1}footer>span:nth-child(2){display:none}.footer-note{font-size:8px}.active-room{flex-wrap:wrap;font-size:10px;padding:13px}.active-room>span:last-child{width:100%;margin-left:17px}.game-heading{margin:24px 0}.game-heading .eyebrow{font-size:8px;letter-spacing:1px}.play-layout{display:block;margin:0 0 30px}.play-main{padding:24px 18px;border-radius:15px}.play-title{margin-bottom:20px}.play-title h1{font-size:28px}.play-title .eyebrow{font-size:8px}.small-game-icon{font-size:30px}.play-layout aside{margin-top:20px;display:grid;grid-template-columns:1fr;gap:14px}.aside-card{margin:0;padding:23px}.aside-note{display:none}.segmented button{font-size:11px;padding:10px 5px}.match-status{font-size:11px;min-height:65px}.ttt-board{gap:8px}.cell{font-size:70px;border-radius:9px}.board-foot{font-size:10px;flex-wrap:wrap}.board-foot .btn{padding:12px;font-size:10px;min-height:40px}.score-row{gap:8px}.score-box{min-width:75px;padding:10px 12px}.score-box b{font-size:21px}.score-row .btn{padding:10px;font-size:9px;min-height:48px}.tile{font-size:33px}.tile.v128,.tile.v256,.tile.v512{font-size:26px}.tile.v1024,.tile.v2048{font-size:21px}.board2048{gap:8px;padding:9px}.memory-stats{margin:18px 0;padding:12px}.memory-stats b{font-size:20px}.memory-board{gap:8px}.memory-board.hard{grid-template-columns:repeat(4,1fr)}.memory-board.hard .memory-card{aspect-ratio:1.12}.memory-controls select{font-size:11px;min-width:160px}.memory-controls .text-button{font-size:10px}.card-face{font-size:36px}.memory-aside-art{display:none}.lobby-art{min-height:290px;gap:24px}.lobby-art>span{font-size:100px}.room-top .connection{font-size:8px}.pill{font-size:8px;padding:9px}.pill b{font-size:10px}.players .avatar{width:38px;height:38px}.full{font-size:12px}dialog{padding:30px 24px}dialog h2{font-size:26px}.aside-card .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:380px){header{gap:10px}.brand{font-size:14px}nav button{font-size:9px}.brand-mark{margin-right:0}.welcome h1{font-size:32px}.card-bottom h3{font-size:21px}.room-banner h2{font-size:20px}.score-box{min-width:65px;padding:9px}.score-row .btn{padding:8px;font-size:8px}}

/* Neutral platform surfaces; colour belongs to the games. */
:root{--bg:#0a0a0a;--panel:#181818;--line:#303030;--text:#f7f7f7;--muted:#a8a8a8;--lime:#f2f2f2;--cross:#3987ff;--nought:#ff465c}
body:before{background:radial-gradient(ellipse at 80% 0%,#2b2b2b33,transparent 45%)}
.play-main,.aside-card,.future-card{background:#151515}
.room-banner{background:linear-gradient(110deg,#212121,#141414);border-color:#343434}
.room-symbol span{background:#212121}.brand-mark,.brand-mark span{background:#f3f3f3;color:#121212}
.primary{background:#f2f2f2;color:#151515}.subtle{background:#2a2a2a;border-color:#404040}
input,select{background:#212121;border-color:#424242}.segmented .selected,.filter .selected{background:#353535;color:#fff}
.avatar,.avatar-1{background:#2e2e2e;border-color:#555555;color:#f5f5f5}
dialog{background:#1a1a1a;border-color:#474747}dialog p{color:#b9b9b9}
.active-room,.pill{background:#262626;border-color:#545454}.aside-note{color:#737373}
.game-card.lime{background:#1e1e1e;--accent:#64a0ff}.lime .card-bottom{background:#10101066}
.ttt-art span{color:var(--cross);border-color:#7d7d7d66}
.ttt-art span:nth-child(2),.ttt-art span:nth-child(4),.ttt-art span:nth-child(8){color:var(--nought)}
.x-color,.mark-x{color:var(--cross)}.o-color,.mark-o{color:var(--nought)}
.lobby-art>span{color:var(--cross)}.lobby-art>span:nth-child(3){color:var(--nought)}
.ttt-board{position:relative;gap:0;background:none;isolation:isolate;max-width:420px;margin:8px auto 30px}
.ttt-board:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent calc(33.333% - 1.5px),#606060 calc(33.333% - 1.5px),#606060 calc(33.333% + 1.5px),transparent calc(33.333% + 1.5px),transparent calc(66.666% - 1.5px),#606060 calc(66.666% - 1.5px),#606060 calc(66.666% + 1.5px),transparent calc(66.666% + 1.5px)),linear-gradient(0deg,transparent calc(33.333% - 1.5px),#606060 calc(33.333% - 1.5px),#606060 calc(33.333% + 1.5px),transparent calc(33.333% + 1.5px),transparent calc(66.666% - 1.5px),#606060 calc(66.666% - 1.5px),#606060 calc(66.666% + 1.5px),transparent calc(66.666% + 1.5px))}
.ttt-board .cell{border:0;border-radius:0;background:transparent;padding:12%;display:flex;align-items:center;justify-content:center;min-width:0;transition:background .2s}
.ttt-board .cell:hover:not(:disabled){background:#ffffff08;transform:none}
.ttt-board .cell.win{background:#ffffff08}
.game-mark{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 0 10px currentColor)}
.game-mark.mark-o{stroke-width:7}
.mark-enter{animation:mark-shape .48s cubic-bezier(.2,.8,.25,1) both}
.mark-enter .mark-stroke{stroke-dasharray:1;animation:mark-draw .34s ease-out both}
.mark-enter .second-stroke{animation-delay:.12s}
@keyframes mark-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes mark-shape{0%{transform:scale(.72) rotate(-12deg);opacity:.4}65%{transform:scale(1.06) rotate(2deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.mark-enter .mark-stroke{stroke-dashoffset:0}}

/* Personal accent: only emphasis changes; surfaces and body copy stay neutral. */
:root{--brand-accent:#ededed;--lime:var(--brand-accent)}
.brand-mark,.brand-mark span{background:var(--brand-accent)}
.primary{background:var(--brand-accent);color:#141414}
.appearance-button{margin-left:auto;flex-shrink:0;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;font-size:21px;color:var(--brand-accent);transition:background .2s}
.appearance-button:hover{background:#ffffff0d}.profile{margin-left:0}
.game-card.lime,.game-card.orange,.game-card.purple{--accent:var(--brand-accent);background:radial-gradient(ellipse at 60% 15%,color-mix(in srgb,var(--brand-accent) 13%,transparent),transparent 75%),#161616}
.game-card .card-bottom{background:#0c0c0c80}.game-card:hover{box-shadow:0 12px 45px color-mix(in srgb,var(--brand-accent) 9%,transparent)}
.card-top,.art-caption,.memory-aside-art,.small-game-icon{color:var(--brand-accent)}
.memory-art i{background:var(--brand-accent);color:#161616}.memory-art i:nth-child(2){background:color-mix(in srgb,var(--brand-accent) 65%,#262626)}.memory-art i:nth-child(3){background:#2a2a2a;color:var(--brand-accent)}
.accent-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0}
.accent-option{display:flex;align-items:center;gap:9px;border:1px solid #3a3a3a;background:#242424;padding:12px 10px;border-radius:10px;text-align:left;font-size:11px;min-height:47px}
.accent-option i{width:18px;height:18px;border-radius:50%;background:var(--swatch);box-shadow:0 0 12px color-mix(in srgb,var(--swatch) 20%,transparent);flex-shrink:0}
.accent-option b{margin-left:auto;visibility:hidden;color:var(--swatch)}.accent-option[aria-pressed=true]{border-color:var(--swatch);background:color-mix(in srgb,var(--swatch) 9%,#1a1a1a)}.accent-option[aria-pressed=true] b{visibility:visible}
.accent-preview{padding:22px;border-radius:12px;border:1px solid color-mix(in srgb,var(--brand-accent) 40%,#2a2a2a);background:linear-gradient(125deg,color-mix(in srgb,var(--brand-accent) 13%,#121212),#131313)}
.accent-preview>span{font-size:8px;letter-spacing:1.5px;color:var(--brand-accent);display:block;margin-bottom:10px}.accent-preview>b{font-size:19px;color:var(--brand-accent)}.accent-preview p{margin-bottom:0;font-size:11px}dialog .settings-note{font-size:10px;margin-bottom:0}
.memory-stats{background:#1e1e1e;border-color:#3b3b3b;border-radius:14px;padding:18px 10px}.memory-stats b{color:var(--brand-accent);font-variant-numeric:tabular-nums;font-size:27px}.memory-stats>div{flex:1}.memory-stats>div+div{border-left:1px solid #3a3a3a}
.memory-progress{margin:0 0 24px}.memory-progress progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;border:0;border-radius:5px;overflow:hidden;background:#2e2e2e;color:var(--brand-accent)}.memory-progress progress::-webkit-progress-bar{background:#2e2e2e}.memory-progress progress::-webkit-progress-value{background:var(--brand-accent);transition:width .35s}.memory-progress progress::-moz-progress-bar{background:var(--brand-accent)}.memory-progress>span{display:block;color:var(--muted);font-size:10px;letter-spacing:.4px;margin-top:12px;text-align:center}
.memory-board{gap:13px}.memory-card{aspect-ratio:.88;border-radius:13px}.card-inner{transition:transform .48s cubic-bezier(.2,.75,.25,1)}
.card-back,.card-face{border-radius:13px;overflow:hidden}.card-back{background:radial-gradient(ellipse at 20% 0%,color-mix(in srgb,var(--brand-accent) 17%,transparent),transparent 75%),#202020;border:1px solid color-mix(in srgb,var(--brand-accent) 30%,#2e2e2e);box-shadow:inset 0 1px 0 #ffffff10,0 5px 12px #0003}
.card-back:before{content:'';position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--brand-accent) 15%,transparent);border-radius:8px}
.card-back:after{content:'';position:absolute;width:65%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--brand-accent) 22%,transparent);transform:rotate(45deg);border-radius:14px}
.card-back>.memory-seal{position:static;font-size:31px;opacity:1;line-height:1;color:var(--brand-accent);text-shadow:0 0 20px color-mix(in srgb,var(--brand-accent) 35%,transparent)}
.memory-card:hover:not(:disabled) .card-back{background-color:#323232;border-color:var(--brand-accent)}
.card-face{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--symbol-color) 12%,transparent),transparent 75%),#1c1c1c;border-color:color-mix(in srgb,var(--symbol-color) 60%,#303030);box-shadow:inset 0 0 25px #0002}
.memory-symbol{width:55%;height:55%;fill:none;stroke:var(--symbol-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--symbol-color) 25%,transparent))}
.pair-check{position:absolute;right:7px;bottom:7px;width:18px;height:18px;align-items:center;justify-content:center;display:flex;border-radius:50%;color:#141414;background:var(--brand-accent);font-size:11px;transform:rotateY(180deg);backface-visibility:hidden;opacity:0;transition:opacity .3s}
.memory-card.matched .pair-check{opacity:1}.memory-card.matched .card-face{opacity:1;background:#1a1a1a;border-color:color-mix(in srgb,var(--brand-accent) 45%,#2c2c2c)}.memory-card.matched .memory-symbol{opacity:.65}
.memory-result:not(:empty){padding:22px;border:1px solid color-mix(in srgb,var(--brand-accent) 40%,#2e2e2e);border-radius:13px;background:color-mix(in srgb,var(--brand-accent) 7%,#151515)}
.purple-note{background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--brand-accent) 12%,transparent),transparent 80%),#151515}
@media(max-width:760px){header{gap:12px}.appearance-button{width:30px;height:30px;font-size:18px}nav button{font-size:9px}nav button span{display:none}.memory-board{gap:9px}.memory-card{aspect-ratio:.95}.memory-stats b{font-size:23px}.card-back>.memory-seal{font-size:24px}.card-back:before{inset:5px}.memory-progress{margin-bottom:18px}}
@media(max-width:380px){header{gap:8px}.brand{font-size:12px}.brand-mark{width:26px;height:28px}.profile .avatar{width:27px;height:27px}nav button{font-size:8px}.accent-options{gap:7px}.accent-option{font-size:10px}}
/* Custom choice controls and scrollbars. */
*{scrollbar-width:thin;scrollbar-color:#5d5d5d #131313}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#131313}::-webkit-scrollbar-thumb{background:#5d5d5d;border:2px solid #131313;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#919191}
.pair-count{display:flex;isolation:isolate;background:#121212;border:1px solid #3c3c3c;border-radius:10px;padding:3px;gap:0}
.pair-count button{min-width:72px;padding:11px 15px;border-radius:7px;color:var(--muted);font-size:12px;font-weight:750;transition:background .2s,color .2s}
.pair-count button+button{position:relative}.pair-count button:hover{color:var(--text)}.pair-count button[aria-pressed=true]{background:var(--brand-accent);color:#141414;box-shadow:0 2px 8px #0004}
.custom-select{position:relative;width:100%}.select-trigger{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #424242;background:#212121;border-radius:8px;padding:13px;font-size:12px}.select-trigger:after{content:'⌄';color:var(--brand-accent);font-size:17px}.select-trigger[aria-expanded=true]{border-color:var(--brand-accent)}
.select-options{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:12;padding:5px;border:1px solid #4d4d4d;border-radius:10px;background:#1e1e1e;box-shadow:0 12px 30px #0009;max-height:240px;overflow:auto}
.select-options button{width:100%;text-align:left;font-size:12px;padding:12px 10px;border-radius:6px}.select-options button:hover,.select-options button:focus-visible{background:#ffffff0b}.select-options button[aria-selected=true]{color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 12%,transparent)}
@media(max-width:760px){.pair-count button{min-width:57px;padding:10px;font-size:11px}.memory-controls{gap:10px}}
.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.game-card.flight{--accent:var(--brand-accent);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--brand-accent) 16%,transparent),transparent 80%),#171717}
.flight-art{position:relative;width:210px;height:190px;display:flex;align-items:center;justify-content:center;transform:rotate(-7deg)}.flight-art>b{font-size:79px;color:var(--brand-accent);transform:rotate(-15deg);filter:drop-shadow(0 0 20px color-mix(in srgb,var(--brand-accent) 35%,transparent))}.flight-art>i{position:absolute;left:4px;top:-20px;height:100px;width:37px;background:#3a3a3a;border-bottom:5px solid var(--brand-accent);border-radius:0 0 5px 5px}.flight-art>i:nth-of-type(2){left:auto;right:0;top:118px;height:100px;border-bottom:0;border-top:5px solid var(--brand-accent)}.flight-art>span{position:absolute;right:45px;top:12px;color:var(--brand-accent);font-size:24px}
.flight-scores{display:flex;align-items:center;gap:24px;margin-bottom:22px}.flight-scores>div{min-width:75px}.flight-scores span{font-size:9px;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:5px}.flight-scores b{font-size:28px;color:var(--brand-accent);font-variant-numeric:tabular-nums}.flight-scores .btn{margin-left:auto;font-size:10px;padding:10px 14px}
.flight-stage{position:relative;max-width:420px;margin:auto;border:1px solid #404040;border-radius:16px;overflow:hidden;background:#101010}#flight-canvas{width:100%;height:auto;aspect-ratio:420/560;display:block;touch-action:none;cursor:pointer}#flight-canvas:focus-visible{outline:2px solid var(--brand-accent);outline-offset:-4px}.flight-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;background:#0d0d0da8;backdrop-filter:blur(3px)}.flight-overlay:empty{display:none}.flight-overlay>span{font-size:9px;letter-spacing:2px;color:var(--brand-accent);margin-bottom:14px}.flight-overlay>b{font-size:28px;letter-spacing:-1px}.flight-overlay>p{font-size:12px;color:#c1c1c1;line-height:1.8}.flight-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;flex-wrap:wrap}.flight-actions>span{color:var(--muted);font-size:11px;text-align:center}
@media(min-width:1051px){.game-card .card-bottom h3{font-size:20px}.game-card .card-bottom p{font-size:10px}.game-grid .game-art{height:220px}.game-grid .tiles-art{transform:rotate(-12deg) scale(.86)}.game-grid .ttt-art{transform:rotate(-11deg) scale(.87)}.game-grid .memory-art{transform:scale(.87)}}
@media(min-width:761px) and (max-width:1050px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.game-grid{grid-template-columns:1fr}.flight-art{transform:rotate(-7deg) scale(.72)}.flight-scores{gap:15px}.flight-scores>div{min-width:65px}.flight-scores b{font-size:23px}.flight-overlay>b{font-size:24px}}
@media(min-width:1051px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.game-card.snake,.game-card.mines{--accent:var(--brand-accent);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--brand-accent) 13%,transparent),transparent 80%),#161616}
.snake-art{position:relative;width:190px;height:160px;transform:rotate(-12deg)}.snake-art>span{position:absolute;inset:20px 25px 20px 15px;border:24px solid var(--brand-accent);border-right:0;border-radius:30px 0 0 30px}.snake-art>i{position:absolute;right:10px;top:20px;background:var(--brand-accent);height:24px;width:60px;border-radius:4px}.snake-art>i:before,.snake-art>i:after{content:'';position:absolute;right:8px;width:4px;height:4px;background:#161616;top:4px}.snake-art>i:after{top:16px}.snake-art>b{position:absolute;color:#ff647e;right:0;bottom:15px;font-size:25px}
.mines-art{display:grid;grid-template-columns:repeat(3,51px);gap:7px;transform:rotate(-10deg)}.mines-art b{width:51px;height:51px;border:1px solid #e1e1e1;border-radius:7px;background:#f7f7f7;display:flex;align-items:center;justify-content:center;font-size:26px;color:#3f6db9;box-shadow:2px 4px 0 #b7b7b7}.mines-art b:nth-child(3){background:#fff;color:#be284b}.mines-art b:nth-child(7){color:#be284b}
.solo-stats{display:flex;gap:25px;align-items:center;margin:20px 0}.solo-stats>div{min-width:75px}.solo-stats span{display:block;color:var(--muted);font-size:9px;letter-spacing:1px;margin-bottom:7px}.solo-stats b{font-size:27px;color:var(--brand-accent);font-variant-numeric:tabular-nums}.solo-stats .btn{margin-left:auto;padding:11px;font-size:11px}
.snake-stage{position:relative;max-width:460px;margin:auto;border:1px solid #424242;border-radius:14px;overflow:hidden}#snake-canvas{display:block;width:100%;aspect-ratio:1;touch-action:none}#snake-canvas:focus-visible{outline:2px solid var(--brand-accent);outline-offset:-3px}.snake-overlay{position:absolute;inset:0;pointer-events:none;background:#0e0e0ebb;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}.snake-overlay:empty{display:none}.snake-overlay span{font-size:10px;letter-spacing:2px;color:var(--brand-accent)}.snake-overlay b{font-size:29px;letter-spacing:-1px}
.snake-pad{display:grid;grid-template-columns:repeat(3,48px);gap:7px;justify-content:center;margin:20px auto 0}.snake-pad button{height:43px;border:1px solid #4a4a4a;border-radius:9px;background:#292929;color:var(--brand-accent);font-size:23px;touch-action:manipulation}.snake-pad button:active{background:#4e4e4e}.snake-pad button:first-child{grid-column:2}.snake-pad button:nth-child(2){grid-column:1;grid-row:2}.snake-pad button:nth-child(3){grid-column:2;grid-row:2}.snake-pad button:nth-child(4){grid-column:3;grid-row:2}
.mine-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.mine-scroll{overflow:auto;border:1px solid #3f3f3f;border-radius:10px;background:#131313;padding:9px}.mine-board{--mine-size:9;display:grid;grid-template-columns:repeat(var(--mine-size),minmax(28px,1fr));gap:5px;min-width:calc(var(--mine-size)*33px - 5px)}.mine-cell{aspect-ratio:1;min-height:28px;min-width:28px;padding:0;background:linear-gradient(155deg,#ffffff,#f0f0f0);border:1px solid #e1e1e1;border-radius:6px;box-shadow:inset 0 -3px 0 #c4c4c4,0 1px 2px #0004;transition:background .15s,box-shadow .15s;font-size:clamp(12px,2vw,20px);font-weight:800;line-height:1;touch-action:manipulation;color:var(--brand-accent)}.mine-cell:hover:not(:disabled){border-color:#fff;background:#fff;filter:none;box-shadow:inset 0 -3px 0 #b8b8b8,0 0 0 1px #ffffff40}.mine-cell:active:not(:disabled){box-shadow:inset 0 2px 3px #95959566}.mine-cell.opened{background:#272727;border-color:#3a3a3a;box-shadow:inset 0 1px 3px #0003}.mine-cell:disabled{opacity:1}.mine-cell.n1.opened{color:#7caaff}.mine-cell.n2.opened{color:#68dfba}.mine-cell.n3.opened{color:#ff8795}.mine-cell.n4.opened{color:#c4a4ff}.mine-cell.n5.opened,.mine-cell.n6.opened,.mine-cell.n7.opened,.mine-cell.n8.opened{color:#ffcf79}.mine-cell.flagged{color:#be284b}.mine-cell.revealed{color:#b51b3c;background:#f7e5e9;border-color:#ebbfcb;box-shadow:inset 0 -2px 0 #d5a8b4}.mine-cell.exploded{color:#fff;background:#b52949;border-color:#ff7996;box-shadow:inset 0 -3px 0 #7e1e35}.mine-message{margin:20px 0 12px;font-size:12px;line-height:1.8;color:var(--brand-accent)}#mine-mode[aria-pressed=true]{background:var(--brand-accent);color:#151515;border-color:var(--brand-accent)}
@media(max-width:760px){.solo-stats{gap:12px}.solo-stats>div{min-width:58px}.solo-stats b{font-size:23px}.solo-stats .btn{font-size:10px;padding:10px}.snake-art{transform:rotate(-12deg) scale(.75)}.mines-art{transform:rotate(-10deg) scale(.8)}.mine-scroll{padding:5px}.mine-controls .pair-count button{min-width:52px;padding:10px 8px}}
/* Large, saturated clues remain distinct on every field size. */
.mine-cell{font-size:clamp(20px,2.6vw,30px);font-weight:800;letter-spacing:-.5px}
.mine-cell.n1.opened{color:#4799ff}.mine-cell.n2.opened{color:#20ee9d}.mine-cell.n3.opened{color:#ff506f}.mine-cell.n4.opened{color:#bd79ff}.mine-cell.n5.opened{color:#ff9b37}.mine-cell.n6.opened{color:#20e5ef}.mine-cell.n7.opened{color:#ffe344}.mine-cell.n8.opened{color:#ff70df}
@media(max-width:760px){.mine-cell{font-size:21px}}
.game-card.wordle{--accent:var(--brand-accent);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--brand-accent) 13%,transparent),transparent 80%),#161616}
.wordle-art{display:flex;gap:7px;transform:rotate(-10deg);position:relative}.wordle-art b{width:43px;height:53px;display:flex;align-items:center;justify-content:center;background:#343434;border:1px solid #626262;border-radius:7px;font-size:25px;box-shadow:0 5px 0 #0004}.wordle-art b:first-child{background:#267653;border-color:#57b28a}.wordle-art b:nth-child(2){background:#94732b;border-color:#c8a149}.wordle-art b:nth-child(4){background:#267653;border-color:#57b28a}
.wordle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px;font-size:11px;color:var(--muted)}
.wordle-board{width:100%;max-width:330px;margin:0 auto;display:grid;gap:7px}.wordle-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;perspective:600px}
.wordle-tile{aspect-ratio:1;display:flex;justify-content:center;align-items:center;border:1px solid #424242;background:#151515;border-radius:8px;font-size:clamp(23px,3vw,31px);text-transform:uppercase;font-weight:800;transform-origin:center}.wordle-tile.filled{border-color:#838383;background:#292929}.wordle-tile.correct,.wordle-key.correct,.wordle-legend .correct{background:#267653;border-color:#52bc8b;color:#fff}.wordle-tile.present,.wordle-key.present,.wordle-legend .present{background:#94732b;border-color:#d8b157;color:#fff}.wordle-tile.absent,.wordle-key.absent,.wordle-legend .absent{background:#3b3b3b;border-color:#535353;color:#e5e5e5}
/* Each tile rotates around its own centre, without changing grid geometry. */
.wordle-row{perspective:none}
.wordle-tile.correct{--reveal-bg:#267653;--reveal-border:#52bc8b}
.wordle-tile.present{--reveal-bg:#94732b;--reveal-border:#d8b157}
.wordle-tile.absent{--reveal-bg:#3b3b3b;--reveal-border:#535353}
.revealing .wordle-tile{animation:wordle-flip .6s cubic-bezier(.45,0,.55,1) both;animation-delay:var(--tile-delay);backface-visibility:hidden;transform-origin:50% 50%}
@keyframes wordle-flip{0%{transform:perspective(600px) rotateX(0deg);background:#292929;border-color:#838383}49%{transform:perspective(600px) rotateX(90deg);background:#292929;border-color:#838383}50%{transform:perspective(600px) rotateX(90deg);background:var(--reveal-bg);border-color:var(--reveal-border)}100%{transform:perspective(600px) rotateX(0deg);background:var(--reveal-bg);border-color:var(--reveal-border)}}
.wordle-message{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--brand-accent);font-size:12px;line-height:1.7;margin:16px 0}
.wordle-keyboard{max-width:560px;margin:auto;display:grid;gap:7px}.wordle-key-row{display:flex;justify-content:center;gap:4px}.wordle-key{flex:1;min-width:0;max-width:43px;height:47px;padding:0;border:1px solid #525252;border-radius:6px;background:#303030;color:#f5f5f5;font-size:14px;font-weight:750;text-transform:uppercase;transition:background .2s}.wordle-key.key-wide{max-width:58px;flex:1.5;font-size:20px}.wordle-key:hover:not(:disabled){filter:brightness(1.22)}.wordle-key:disabled{opacity:1;cursor:default}.wordle-key:active:not(:disabled){transform:translateY(2px)}
.wordle-legend{display:grid;gap:14px;margin:22px 0}.wordle-legend>span{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:11px}.wordle-legend b{width:34px;height:37px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:19px;border:1px solid #ffffff25}
.wordle-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:21px;margin-top:20px}.wordle-stats b{display:block;font-size:26px;color:var(--brand-accent)}.wordle-stats span{font-size:8px;letter-spacing:1px;color:var(--muted)}
.wordle-shake{animation:wordle-shake .25s ease-in-out}@keyframes wordle-shake{25%,75%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
@media(max-width:760px){.wordle-art{transform:rotate(-10deg) scale(.72)}.wordle-key{height:44px;font-size:12px;border-radius:4px}.wordle-key-row{gap:3px}.wordle-keyboard{gap:6px}.wordle-tile{border-radius:5px;font-size:25px}.wordle-board,.wordle-row{gap:6px}.wordle-toolbar{font-size:10px}}

/* Keyboard contrast: untested keys stay visible; eliminated letters recede. */
.wordle-key{background:#3b3b3b;border-color:#606060;color:#f6f6f6}
.wordle-key.absent{background:#131313;border-color:#212121;color:#5a5a5a;box-shadow:inset 0 1px 3px #0006}
.wordle-key.absent:hover:not(:disabled){background:#1c1c1c;color:#7d7d7d;filter:none}
/* Wordle: focused game surface with secondary content behind three controls. */
.wordle-main{max-width:720px;margin:0 auto 60px;padding:22px 32px 32px;background:#141414;border:1px solid #343434;border-radius:16px}
.wordle-main>h1{font-size:27px;letter-spacing:-1px;margin:0 0 22px}.wordle-main>h1>span{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:8px}
.wordle-main .wordle-toolbar{margin-bottom:24px}.wordle-tools{margin-left:auto;display:flex;gap:8px}.wordle-tool{width:40px;height:40px;border:1px solid #434343;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#262626;color:#cbcbcb}.wordle-tool svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.wordle-tool:hover{background:#3a3a3a}.wordle-tool[aria-expanded=true]{color:var(--brand-accent);border-color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 12%,#191919)}
.wordle-main .wordle-tile{border-radius:0}.revealing .wordle-tile{animation-duration:var(--wordle-duration,.6s)}
.wordle-panel{min-height:420px}.wordle-panel-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:color-mix(in srgb,var(--brand-accent) 9%,#202020);border:1px solid #3f3f3f;border-radius:9px;margin-bottom:26px}.wordle-panel-heading h2{font-size:20px;margin:0;letter-spacing:-.5px}.wordle-panel-heading>button{font-size:26px;line-height:1;color:var(--muted);padding:0 5px}.wordle-panel h3{font-size:17px;margin:20px 0 12px}.wordle-panel p{font-size:12px;line-height:1.9;color:var(--muted)}
.wordle-main .wordle-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px}.wordle-stats>div{background:#232323;border:1px solid #3b3b3b;border-radius:10px;padding:18px 8px;text-align:center}.wordle-stats span{display:block;margin-top:6px}
.wordle-bar{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:12px;color:var(--muted)}.wordle-bar>div{height:28px;position:relative;flex:1;background:#252525;border-radius:4px;overflow:hidden}.wordle-bar i{position:absolute;inset:0 auto 0 0;background:var(--brand-accent);opacity:.3}.wordle-bar b{position:relative;padding:5px 10px;display:block;color:var(--text);text-align:right}
.wordle-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #373737}.wordle-setting h3{margin:0 0 7px}.wordle-setting p{margin:0}.wordle-setting:first-of-type{flex-wrap:wrap}.wordle-speed{flex-shrink:0;flex-wrap:wrap}.wordle-speed button{font-size:10px;min-width:0;padding:10px}.wordle-switch{width:46px;height:27px;border:1px solid #575757;border-radius:7px;background:#313131;flex-shrink:0;padding:3px}.wordle-switch>span{display:block;width:19px;height:19px;background:#acacac;border-radius:4px;transition:transform .2s,background .2s}.wordle-switch[aria-checked=true]{background:color-mix(in srgb,var(--brand-accent) 25%,#232323);border-color:var(--brand-accent)}.wordle-switch[aria-checked=true]>span{transform:translateX(18px);background:var(--brand-accent)}
.keyboard-swapped [data-letter=enter]{order:2}.keyboard-swapped [data-letter=backspace]{order:-1}
.wordle-high-contrast .wordle-tile.correct,.wordle-high-contrast .wordle-key.correct,.wordle-high-contrast .wordle-legend .correct{background:#185eaa;border-color:#7bb9ff;color:#fff;--reveal-bg:#185eaa;--reveal-border:#7bb9ff}.wordle-high-contrast .wordle-tile.present,.wordle-high-contrast .wordle-key.present,.wordle-high-contrast .wordle-legend .present{background:#a64e13;border-color:#ffb06e;color:#fff;--reveal-bg:#a64e13;--reveal-border:#ffb06e}
@media(max-width:760px){.wordle-main{padding:20px 14px;border-radius:12px}.wordle-main>h1{font-size:24px}.wordle-tools{gap:6px}.wordle-tool{width:35px;height:35px}.wordle-main .wordle-toolbar .text-button{font-size:10px}.wordle-main .wordle-stats{gap:7px}.wordle-stats>div{padding:14px 4px}.wordle-stats b{font-size:23px}.wordle-stats span{font-size:7px;letter-spacing:.4px}.wordle-setting{gap:13px;flex-wrap:wrap}.wordle-setting>div:first-child{flex:1;min-width:170px}.wordle-panel-heading{padding:12px}.wordle-panel h3{font-size:16px}.wordle-panel{min-height:360px}}

/* Neutral graphite foundation; game feedback and chosen accents retain colour. */
:root{--bg:#0b0b0b;--panel:#181818;--line:#333333;--text:#f5f5f5;--muted:#ababab}
body:before{background:radial-gradient(ellipse at 80% 0%,#ffffff03,transparent 45%)}
.wordle-left-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.wordle-create{padding:9px 12px;border:1px solid #555;border-radius:7px;background:#282828;font-size:11px;color:var(--brand-accent);font-weight:700}.wordle-create:hover{background:#363636;border-color:var(--brand-accent)}.wordle-challenge-label{text-align:center;font-size:9px;letter-spacing:1.5px;color:var(--brand-accent);margin:0 0 18px}#custom-word-input{text-transform:uppercase;font-size:24px;letter-spacing:7px}#custom-word-link{font-size:11px;word-break:break-all}
@media(max-width:760px){.wordle-toolbar{flex-wrap:wrap;row-gap:14px}.wordle-left-actions{gap:9px}.wordle-create{font-size:10px;padding:8px}.wordle-tools{gap:5px}.wordle-tool{width:32px;height:32px}.wordle-toolbar:has(.wordle-left-actions){align-items:center}}

.wordle-left-actions{gap:8px;flex-wrap:nowrap}.wordle-left-actions .wordle-tool{flex-shrink:0}
@media(max-width:760px){.wordle-left-actions{gap:5px}}
.wordle-message:empty{min-height:0;margin:0;height:0}.wordle-board{margin-bottom:24px}
.snake-stage{background:#101010;border-color:#414141;box-shadow:0 14px 40px #0003}
.snake-overlay{background:#101010b8;backdrop-filter:blur(4px)}
.snake-pad button{background:#252525;border-color:#484848}.snake-pad button:active{background:#444}
.snake-tempos{width:max-content;max-width:100%;margin-bottom:6px}.snake-tempos button{font-size:11px;padding:10px 16px;min-width:0}
@media(max-width:760px){.snake-tempos{width:100%}.snake-tempos button{flex:1;padding:10px;font-size:10px}}
.snake-stage{border:5px solid #30372e;border-radius:14px;background:#202420;box-shadow:0 14px 40px #0004,inset 0 0 0 1px #ffffff0a}.snake-overlay{background:#10140fc9}.snake-overlay>span{color:#a3e574}.play-layout.snake .small-game-icon{color:#8bdb60}
.snake-main{max-width:900px;margin:0 auto 55px;padding:24px 28px 28px;background:#131313;border:1px solid #333;border-radius:16px}.snake-main>h1{margin:0 0 22px;font-size:28px;letter-spacing:-1px}.snake-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}.snake-topbar .solo-stats{margin:0;gap:28px}.snake-topbar .solo-stats>div{min-width:65px}.snake-topbar .solo-stats b{font-size:25px}.snake-topbar .solo-stats span{font-size:8px;margin-bottom:4px}.snake-tools{margin:0;flex-shrink:0}.snake-tools .wordle-tool{font-size:24px;font-weight:600}.snake-tools [aria-expanded=true]{background:#333;border-color:var(--brand-accent);color:var(--brand-accent)}.snake-main .snake-stage{width:100%;max-width:560px}.snake-main .wordle-panel{max-width:680px;margin:auto}.snake-main .snake-tempos{margin:16px 0}.snake-main .wordle-panel p{max-width:580px}.snake-bindings{display:grid;gap:14px;margin:26px 0;font-size:12px;color:#bdbdbd;line-height:1.8}.snake-bindings b{display:inline-block;min-width:88px;color:var(--text);font-size:12px}.snake-main .snake-pad{margin-top:18px}
@media(max-width:760px){.snake-main{padding:20px 12px;border-radius:12px}.snake-main>h1{font-size:25px;margin-bottom:19px}.snake-topbar{gap:10px;margin-bottom:18px}.snake-topbar .solo-stats{gap:18px}.snake-topbar .solo-stats>div{min-width:46px}.snake-topbar .solo-stats b{font-size:23px}.snake-tools{gap:5px}.snake-tools .wordle-tool{width:34px;height:34px;font-size:22px}.snake-main .snake-stage{border-width:3px;border-radius:10px}.snake-main .snake-tempos{width:100%}.snake-main .snake-tempos button{font-size:10px;padding:11px 8px}.snake-main .wordle-panel-heading h2{font-size:19px}}
.snake-cover{width:240px;height:200px;transform:rotate(-8deg);filter:drop-shadow(0 12px 12px #0004)}.snake-cover svg{width:100%;height:100%}.game-card.snake .game-art:before{color:#8ed44b}.flight-stage{background:#171b16;border-color:#414a39}.flight-overlay{background:#131812b5}
@media(max-width:760px){.snake-cover{transform:rotate(-8deg) scale(.77);flex-shrink:0}}
.flight-cover{width:240px;height:200px;transform:rotate(-8deg);filter:drop-shadow(0 12px 12px #0004)}.flight-cover svg{width:100%;height:100%}
@media(max-width:760px){.flight-cover{transform:rotate(-8deg) scale(.77);flex-shrink:0}}
.common-game-main{max-width:780px;margin:0 auto 55px;padding:26px 30px 30px;background:#131313;border:1px solid #333;border-radius:16px}.common-game-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.common-game-heading h1{font-size:28px;letter-spacing:-1px;margin:0}.common-game-heading .wordle-tools{flex-shrink:0}.common-game-heading .wordle-tool{font-size:24px;font-weight:600}.common-game-main .wordle-panel>.aside-card{margin-top:24px}.common-game-main .memory-board{max-width:540px;margin:auto}.common-game-main .memory-board.hard{max-width:660px}.common-game-main .memory-result{max-width:540px;margin:20px auto 0}.common-game-main .memory-stats{margin-top:22px}.common-game-main .memory-aside-art{display:none}.common-game-main .ttt-board{max-width:460px}.common-game-main .game-control{width:40px;height:40px;min-height:40px;padding:7px;flex-shrink:0}.common-game-main .score-row .game-control{margin-left:auto}.common-game-main .board-foot .game-control{font-size:12px;padding:7px}.room-primary{margin-top:24px;border-top:1px solid #333;padding-top:22px}.room-primary .aside-card{margin:0}.room-primary .players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.room-primary .player{border:0}.room-primary .full{font-size:12px}.game-control{width:40px;height:40px;padding:7px;min-height:40px}
@media(max-width:760px){.common-game-main{padding:21px 14px;border-radius:12px}.common-game-heading{gap:12px;margin-bottom:22px}.common-game-heading h1{font-size:24px}.common-game-heading .wordle-tool{width:34px;height:34px;font-size:22px}.common-game-main .game-control{width:36px;height:36px;min-height:36px}.common-game-main .score-row .game-control{padding:6px}.room-primary .players{grid-template-columns:1fr;gap:8px}}
.game-card.contexta{--accent:var(--brand-accent);background:radial-gradient(ellipse at top,color-mix(in srgb,var(--brand-accent) 13%,transparent),transparent 80%),#141414}.context-art{width:240px;display:grid;gap:12px;transform:rotate(-8deg)}.context-art>span{position:relative;padding:13px 16px;display:flex;justify-content:space-between;gap:20px;background:#222;border:1px solid #494949;border-radius:9px;overflow:hidden;box-shadow:0 5px 0 #0002}.context-art b,.context-art em{position:relative;z-index:1;font-size:16px}.context-art em{font-style:normal;color:#ddd}.context-art i{position:absolute;inset:0 75% 0 0;background:#49603e}.context-art>span:nth-child(2) i{right:40%;background:#557442}.context-art>span:nth-child(3) i{right:0;background:#628b47}.context-art>span:nth-child(3){transform:translateX(12px)}
.context-top,.context-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.context-top>span{font-size:12px;color:var(--muted)}.context-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.context-stats>div{background:#202020;border:1px solid #373737;border-radius:10px;text-align:center;padding:15px 8px}.context-stats span{font-size:8px;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:8px}.context-stats b{font-size:24px;color:var(--brand-accent);font-variant-numeric:tabular-nums}#context-form{display:flex;gap:9px}#context-input{font-size:16px;flex:1;min-width:0;background:#222;border-color:#555}#context-form .wordle-tool{height:48px;width:48px;font-size:25px;flex-shrink:0}.context-message{font-size:12px;line-height:1.8;color:var(--brand-accent);min-height:43px;margin:16px 0}.context-results{display:grid;gap:8px;max-height:440px;overflow:auto;margin-bottom:23px;padding:2px}.context-result{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;overflow:hidden;background:#222;border:1px solid #3b3b3b;border-radius:8px;padding:14px 16px;font-size:14px;isolation:isolate}.context-result>i{position:absolute;inset:0 auto 0 0;background:#494949;z-index:-1}.context-result.hot>i{background:#315c40}.context-result.warm>i{background:#64582c}.context-result.won>i{background:#2e794a}.context-result.latest{outline:1px solid var(--brand-accent);outline-offset:0}.context-result small{font-size:9px;color:#d0d0d0;margin-left:7px}.context-result b{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.context-empty{padding:38px 20px;border:1px dashed #474747;border-radius:10px;text-align:center;display:grid;gap:12px}.context-empty b{font-size:17px;font-weight:600}.context-empty span{font-size:11px;color:var(--muted)}.context-bottom .btn{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.context-art{transform:rotate(-8deg) scale(.73);flex-shrink:0}.context-stats{gap:6px}.context-stats span{font-size:7px;letter-spacing:.4px}.context-stats b{font-size:21px}.context-result{padding:12px 10px}.context-result small{display:block;margin:5px 0 0}.context-results{max-height:380px}.context-top>span{font-size:11px}}
/* Contexta uses bright feedback colours against the neutral site surface. */
.context-result{color:#181818;border-color:transparent;font-weight:650;background:#ffb5a4}
.context-result>i{background:#ff8870}
.context-result.hot{background:#c8f29b}.context-result.hot>i{background:#8fdf59}
.context-result.warm{background:#ffe59a}.context-result.warm>i{background:#ffd04e}
.context-result.won{background:#acfa8b}.context-result.won>i{background:#73eb4a}
.context-result b{color:#181818;font-weight:800}.context-result small{color:#353535;font-weight:600}
.context-result.latest{outline:2px solid #fff;outline-offset:1px}.context-results{padding:4px}
.context-stats>div{border-color:#494949}.context-stats b{color:#c8f29b}
#context-submit{background:#b6ed7d;color:#182110;border-color:#b6ed7d}#context-submit:hover:not(:disabled){background:#ccff9b}
.context-art>span{color:#181818;border-color:transparent;background:#ffb5a4}.context-art em{color:#181818}.context-art i{background:#ff8870}
.context-art>span:nth-child(2){background:#ffe59a}.context-art>span:nth-child(2) i{background:#ffd04e}
.context-art>span:nth-child(3){background:#acfa8b}.context-art>span:nth-child(3) i{background:#73eb4a}
/* Only the progress fill is coloured; the unfilled track stays dark. */
.context-result,.context-result.hot,.context-result.warm,.context-result.won{background:#181818;border-color:#383838;color:#f3f3f3}
.context-result.latest{outline:1px solid #a5a5a5;outline-offset:1px}
.context-row-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;z-index:1}
.context-row-content>b{font-size:13px;font-weight:800;color:#eee;white-space:nowrap;font-variant-numeric:tabular-nums}.context-row-content small{color:#c8c8c8}
.context-row-ink{position:absolute;inset:0;width:auto;padding:inherit;clip-path:inset(0 calc(100% - var(--context-fill)) 0 0);pointer-events:none;z-index:2;color:#181818}
.context-row-ink>b{color:#181818}.context-row-ink small{color:#353535}
.context-art>span,.context-art>span:nth-child(2),.context-art>span:nth-child(3){background:#181818;border-color:#414141;color:#f3f3f3}.context-art em{color:#f3f3f3}.context-art i{background:#ba3355}.context-art>span:nth-child(2) i{background:#ac720f}.context-art>span:nth-child(3) i{background:#168e53}
/* Contexto reference palette: emerald, ochre, raspberry on charcoal tracks. */
.context-result,.context-result.hot,.context-result.warm,.context-result.won{background:#171719;border-color:#2c2c2f;color:#ededed}
.context-result>i{background:#b52950}.context-result.hot>i,.context-result.won>i{background:#008450}.context-result.warm>i{background:#b16b0a}
.context-result.latest{outline:1px solid #949494;outline-offset:0;border-color:#949494}
.context-row-content>b{color:#c5c5c5;font-weight:650}.context-row-content small{color:#dedede}
.context-row-ink{display:none}
.context-art>span,.context-art>span:nth-child(2),.context-art>span:nth-child(3){background:#171719;border-color:#2c2c2f;color:#ededed}.context-art em{color:#c5c5c5}.context-art i{background:#b52950}.context-art>span:nth-child(2) i{background:#b16b0a}.context-art>span:nth-child(3) i{background:#008450}
.context-latest{margin:0 4px 20px}.context-latest .context-result{padding-top:17px;padding-bottom:17px}
.context-result.filling>i{transform-origin:left center;animation:context-fill var(--context-duration,950ms) cubic-bezier(.2,.65,.25,1) both}
@keyframes context-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.context-animation{width:max-content;max-width:100%;flex-wrap:wrap;margin:22px 0}.context-animation button{font-size:12px;min-width:0}
@media(max-width:760px){.context-animation{width:100%}.context-animation button{flex:1;font-size:11px;padding:11px 8px}}
.duel-choice{display:flex;gap:12px;margin:20px 0;align-items:center}.duel-choice input{min-width:0;flex:1}.duel-choice .wordle-tool{flex-shrink:0}.duel-player{display:flex;justify-content:space-between;gap:15px;padding:15px;border:1px solid #444;border-radius:8px;margin:9px 0;background:#222;font-size:12px}.duel-player span{color:#bbb}#duel-history{display:grid;gap:7px;max-width:360px;margin:24px auto}#duel-error{font-size:12px;color:#ffb59d;line-height:1.8}.duel-choice .btn{font-size:11px;flex:1}.wordle-main #duel-title{font-size:24px}@media(max-width:760px){.duel-choice{gap:8px}.duel-choice .btn{padding:12px 8px;font-size:10px}}
.duel-wordle-input{display:none}#duel-history.wordle-board{max-width:330px;width:100%;margin:24px auto}#duel-keyboard{margin-top:22px}.wordle-main:has(#duel-title){max-width:720px}#duel-status{font-size:12px;line-height:1.8;color:var(--brand-accent)}#duel-surrender{display:block;margin:18px auto}.wordle-main:has(#duel-title) #duel-players{display:grid;grid-template-columns:1fr 1fr;gap:9px}.wordle-main:has(#duel-title) .duel-player{flex-direction:column;gap:5px}.wordle-main:has(#duel-title) #duel-history:not(.wordle-board){max-width:none;display:grid;gap:9px}.wordle-main:has(#duel-title) .wordle-tile{border-radius:0}
.wordle-tool .duel-swords-icon{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
@media(max-width:760px){.wordle-tool:has(.duel-swords-icon){width:36px;height:36px}.wordle-tool .duel-swords-icon{width:26px;height:26px}}

.duel-tools{display:flex;gap:8px;flex-shrink:0}.duel-contexta #duel-form .duel-choice{margin:16px 0;gap:9px}.duel-contexta #duel-word{font-size:16px;background:#222;border-color:#555}.duel-contexta #duel-send{width:48px;height:48px;font-size:25px}.wordle-main.duel-contexta{max-width:780px}.wordle-main.duel-contexta #duel-history{margin:24px 0 0;width:100%;gap:0}.duel-contexta #duel-title{font-size:20px}.duel-contexta .context-latest{margin-bottom:20px}@media(max-width:600px){#duel-main .context-top{align-items:flex-start;gap:8px}#duel-main #duel-title{font-size:17px}.duel-tools{gap:4px}.duel-tools .wordle-tool{width:36px;height:36px}}

.alias-main{max-width:850px}.alias-main h3{font-size:14px;margin:25px 0 12px}.alias-main .pair-count{margin-bottom:14px}.alias-names{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alias-names label{font-size:12px;color:var(--muted)}.alias-names input{margin-top:8px;width:100%}.alias-scores{display:flex;gap:10px;margin:25px 0}.alias-scores>div{flex:1;padding:15px;background:#222;border:1px solid #393939;border-radius:10px;min-width:0}.alias-scores .current{border-color:var(--brand-accent)}.alias-scores span{display:block;font-size:12px;overflow-wrap:anywhere}.alias-scores b{display:block;font-size:28px;margin-top:8px}.alias-scores small{font-size:12px;color:var(--muted)}.alias-card{padding:40px 25px;text-align:center;background:#1b1b1b;border:1px solid #383838;border-radius:16px;margin:20px 0}.alias-card h2{font-size:32px;line-height:1.3;overflow-wrap:anywhere}.alias-card p{color:var(--muted);line-height:1.7;font-size:14px}.alias-word{min-height:240px;display:flex;flex-direction:column;justify-content:center}.alias-word h2{font-size:clamp(32px,5vw,58px);color:var(--brand-accent);margin:24px 0}.alias-timer{display:flex;align-items:center;gap:10px}.alias-timer>b{font-size:38px;font-variant-numeric:tabular-nums}.alias-timer>span{color:var(--muted);font-size:12px}.alias-timer>button{margin-left:auto}.alias-clock{height:4px;background:#333;margin-top:12px;overflow:hidden}.alias-clock i{height:100%;display:block;background:var(--brand-accent);transition:width .1s linear}.alias-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alias-actions .primary{background:#72edb1;color:#15251b}.alias-keyhint{font-size:12px;text-align:center;color:var(--muted);margin:22px 0}.alias-review{display:grid;gap:8px;max-height:320px;overflow:auto;margin:20px 0}.alias-review button{display:flex;justify-content:space-between;padding:15px;background:#222;border:1px solid #444;border-radius:8px;gap:15px;text-align:left}.alias-review button[aria-pressed=true] b{color:#72edb1}.alias-review b{color:#ff9b89;font-size:12px}.alias-art{display:flex;flex-direction:column;gap:12px;transform:rotate(-7deg);background:#c1a0ff;color:#211833;padding:20px 32px;border-radius:18px;box-shadow:8px 8px 0 #ffffff15}.alias-art span{font-size:10px;letter-spacing:2px}.alias-art b{font-size:58px;line-height:1}.alias-art i{font-size:11px;font-style:normal}.game-card.alias{--card-accent:#c1a0ff}@media(max-width:600px){.alias-main{padding:20px}.alias-scores{flex-wrap:wrap}.alias-scores>div{flex-basis:40%}.alias-card{padding:28px 15px}.alias-names{grid-template-columns:1fr}.alias-actions .btn{padding:16px 8px;font-size:12px}}
/* Bunker uses the available desktop workspace, with optional host controls. */
body:has(.bunker-shell) main{max-width:1800px;width:calc(100% - 56px)}body:has(.bunker-shell) footer{display:none}.bunker-shell{margin:28px 0 40px}.bunker-top{display:flex;align-items:center;justify-content:space-between}.bunker-top h1{font-size:38px;margin:10px 0}.bunker-top h1 small{font-size:16px;color:var(--muted);letter-spacing:3px;margin-left:12px}#bunker-error{color:#ffab91;font-size:13px;min-height:20px}.bunker-launch{max-width:680px;margin:45px auto;padding:36px;background:#1c1c1c;border:1px solid #383838;border-radius:16px}.bunker-launch h2{font-size:34px}.bunker-shell p{line-height:1.65;font-size:13px}.bunker-shell input,.bunker-shell textarea{width:100%;margin:8px 0 18px}.bunker-shell label{font-size:13px}.bunker-launch .pair-count{margin:12px 0 20px}.bunker-actions{display:flex;gap:12px}.bunker-launch form{margin:30px 0}.bunker-practice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#29232f;padding:14px;border:1px solid #70568d;border-radius:8px;font-size:12px}.bunker-status{display:flex;align-items:center;gap:16px;padding:18px 0;font-size:13px;flex-wrap:wrap}.bunker-status>span:not(.live-dot){color:var(--muted)}#bunker-time{margin-left:auto;color:#ffd078;font-variant-numeric:tabular-nums}.bunker-tabs{display:flex;gap:22px;border-bottom:1px solid #3b3b3b;margin-bottom:24px}.bunker-shell .selected{color:var(--brand-accent);text-decoration:underline;text-underline-offset:8px}.bunker-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.bunker-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));align-items:start;gap:18px}.bunker-player{background:#1b1b1b;border:1px solid #3b3b3b;border-radius:12px;padding:18px}.bunker-player.current{border-color:#c2f66c;box-shadow:0 0 0 1px #c2f66c44}.bunker-player.eliminated{border-style:dashed}.bunker-player.eliminated .bunker-player-head{color:#aaa}.bunker-player-head{padding:0 0 14px}.bunker-player-head h3{font-size:18px;margin:0 0 8px;overflow-wrap:anywhere}.bunker-player-head>span{font-size:11px;color:var(--muted)}.bunker-card{border-left:3px solid var(--category,#aaa);background:#252525;padding:12px;margin:7px 0;border-radius:0 6px 6px 0}.bunker-card>span{display:block;font-size:10px;color:var(--category,#aaa);margin-bottom:7px}.bunker-card>b{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.bunker-card:not(.revealed)>b{font-weight:400;color:#c2c2c2}.category-profession{--category:#c2f66c}.category-biology{--category:#b9a4ff}.category-health{--category:#ff9b89}.category-hobby{--category:#ffd078}.category-baggage{--category:#72edc5}.category-fact{--category:#79aaff}.bunker-side section,.bunker-controls,.bunker-scenario,.bunker-log{border:1px solid #3b3b3b;background:#1b1b1b;padding:20px;border-radius:12px;margin-bottom:18px}.bunker-side h3{font-size:15px;margin:18px 0 12px}.bunker-side .btn{width:100%;font-size:12px;margin:5px 0;padding:12px;white-space:normal;text-align:left}.bunker-shell summary{cursor:pointer;font-size:13px;padding:8px 0}.bunker-player-tools .btn{font-size:11px;padding:9px;margin:5px 0;width:100%}.bunker-ballot{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #383838;font-size:12px;flex-wrap:wrap}.bunker-ballot>span{margin-left:auto}.bunker-ballot .text-button{width:100%;text-align:left}.bunker-log p{display:flex;gap:15px;border-bottom:1px solid #333;padding-bottom:12px}.bunker-log time{flex-shrink:0;color:var(--muted)}.bunker-scenario h2{font-size:30px}.bunker-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.bunker-resources>div{display:flex;flex-direction:column;gap:12px;padding:18px;background:#272727;border-radius:8px}.bunker-resources b{font-size:13px}.bunker-resources span{font-size:22px;color:var(--brand-accent)}.bunker-evaluation{border-top:1px solid #444;margin-top:20px}.bunker-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog:has(#bs-form){max-height:85vh;overflow:auto}#bs-form label{display:block;font-size:12px}#bs-form input,#bs-form textarea{width:100%;margin:7px 0 16px}#bs-form textarea{min-height:90px;background:#222;color:#eee;border:1px solid #555;padding:12px;border-radius:8px;font:inherit}.bunker-choice-list{display:grid;gap:8px;max-height:50vh;overflow:auto}.bunker-request{padding:10px;border:1px solid #6c596e;margin-bottom:10px}.bunker-art{background:#28302b;border:3px solid #a6c98a;border-radius:50% 50% 8px 8px;padding:25px 40px;transform:rotate(-7deg);box-shadow:8px 8px 0 #0003;color:#c2f66c;text-align:center}.bunker-art>b{font-size:64px;display:block}.bunker-art>span{font-size:11px;letter-spacing:3px}@media(min-width:1450px){.bunker-players{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.bunker-layout{grid-template-columns:1fr}.bunker-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.bunker-resources{grid-template-columns:repeat(2,1fr)}body:has(.bunker-shell) main{width:calc(100% - 30px)}.bunker-launch{padding:22px}.bunker-top h1{font-size:30px}.bunker-tabs{gap:12px;flex-wrap:wrap}}

/* Bunker: compact public table, separate private hand. */
body:has(.bunker-shell) #app>header{min-height:58px;padding-block:8px}
.bunker-shell{--bunker-amber:#ffc46b;margin-top:14px}.bunker-top h1{font-size:30px;margin:5px 0}.bunker-top .eyebrow{color:var(--bunker-amber)}#bunker-error:empty{display:none}
.bunker-command{position:sticky;top:0;z-index:5;background:#101010;border-bottom:1px solid #3c3327;margin-bottom:16px}.bunker-command .bunker-status{padding:10px 0}.bunker-command .bunker-tabs{margin:0;border:0}.bunker-command .bunker-tabs .selected{color:var(--bunker-amber)}.bunker-quick{display:flex;gap:7px;flex-wrap:wrap}.bunker-quick .btn,.bunker-dossier .btn{padding:8px 12px;min-height:34px;font-size:12px}.bunker-quick .primary,.bunker-dossier .primary{background:var(--bunker-amber);color:#16110b}
.bunker-desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,29%);gap:16px;align-items:start}.bunker-table,.bunker-dossier{min-width:0;background:#171717;border:1px solid #38332b;border-radius:12px;padding:14px}.bunker-section-head{margin-bottom:12px}.bunker-section-head .eyebrow{color:var(--bunker-amber);font-size:9px}.bunker-section-head h2{font-size:21px;margin:4px 0;overflow-wrap:anywhere}.bunker-section-head small{font-family:monospace;color:#b7a58d;font-size:13px}.bunker-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.bunker-seat{min-width:0;text-align:left;display:grid;gap:4px;align-content:start;padding:8px 10px;background:#212121;color:#eee;border:1px solid #414141;border-radius:8px}.bunker-seat:hover,.bunker-seat[aria-pressed=true]{background:#2d2924;border-color:#ab8b5a}.bunker-seat.speaking{border-color:var(--bunker-amber)}.bunker-seat.out{border-style:dashed;color:#aaa}.bunker-seat-meta{display:flex;align-items:center;justify-content:space-between;min-width:0;font-size:10px;color:#bcb3a7;gap:4px;white-space:nowrap}.bunker-seat-meta span,.bunker-seat strong,.bunker-job{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bunker-seat-meta b{color:#ffc46b;font-variant-numeric:tabular-nums}.bunker-seat.speaking .bunker-seat-meta{color:var(--bunker-amber)}.bunker-seat strong{font-size:14px}.bunker-job{font-size:11px;color:#ccc}.bunker-slots{display:flex;gap:4px;padding-top:2px;min-height:7px}.bunker-slots i{width:10px;height:4px;border-radius:3px;background:#505050}.bunker-slots .open{background:var(--category,#bcbcbc)}
.bunker-hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bunker-hand .bunker-card{margin:0;padding:9px;min-height:72px;border-left-width:2px}.bunker-hand .bunker-card>b{font-size:13px}.bunker-hand .bunker-card>span{font-size:9px}.bunker-hand-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.bunker-hand-actions .btn{white-space:normal;text-align:left}.bunker-dossier>.btn{margin-top:10px}.bunker-observers{margin-top:8px}.bunker-practice{display:block;margin-bottom:12px;padding:0 10px}.bunker-practice>div{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:8px}.bunker-modal .btn{margin:4px;white-space:normal}.bunker-modal .bunker-controls{max-height:60vh;overflow:auto}.bunker-modal .bunker-ballot{flex-wrap:nowrap}.bunker-modal .bunker-ballot .text-button{width:auto}
@media(max-width:1150px){.bunker-desk{grid-template-columns:minmax(0,1fr) minmax(290px,34%)}.bunker-seats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.bunker-desk{grid-template-columns:1fr}.bunker-command{position:static}.bunker-seats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.bunker-seats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Survival Protocol: table and private hand follow the original two-column screen. */
body:has(.protocol-header) #app>header{display:none}body:has(.protocol-header) main{width:min(1280px,calc(100% - 48px))}
.bunker-shell:has(.protocol-header){--bunker-amber:#f59e0b;--protocol-panel:#18181b;--protocol-border:#27272a;margin:20px 0 44px}.bunker-shell:has(.protocol-header)>.bunker-top{justify-content:flex-end;margin-bottom:10px}.bunker-shell:has(.protocol-header)>.bunker-top>div:first-child{display:none}
.protocol-command,.protocol-header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:16px;padding:16px 22px;background:var(--protocol-panel);border:1px solid var(--protocol-border);margin-bottom:16px}.protocol-command{background:#1b1a18;border:2px solid #513a1b;border-left:5px solid var(--bunker-amber);box-shadow:0 8px 24px #0005}.protocol-command strong,.protocol-command small,.protocol-catastrophe strong{display:block;text-transform:uppercase;font-weight:900;letter-spacing:1px;font-size:11px;color:var(--bunker-amber)}.protocol-command small{color:#a1a1aa;font-size:10px;margin-top:5px}.protocol-command .btn{text-transform:uppercase;font-size:10px;letter-spacing:.7px;min-height:36px}.protocol-command .primary{background:var(--bunker-amber)}.protocol-red{background:#bb3543;color:white;border:1px solid #f16d77}
.protocol-header{padding:20px 24px;background:linear-gradient(115deg,#18181b,#1d1916)}.protocol-header-info{display:flex;align-items:center;gap:14px}.protocol-header h2{margin:0;color:var(--bunker-amber);text-transform:uppercase;font-weight:900;letter-spacing:2px;font-size:23px}.protocol-header-info p{margin:6px 0;color:#aaa}.protocol-header-info b{color:#eee}.protocol-header-info small{font-size:11px;color:#aaa}.protocol-timer{display:grid;gap:5px;min-width:94px;padding:10px 13px;background:#151517;border:1px solid #48351e;border-radius:12px;text-align:left}.protocol-timer small{text-transform:uppercase;letter-spacing:1px}.protocol-timer #bunker-time{margin:0;font:800 21px ui-monospace,monospace;color:var(--bunker-amber)}.protocol-timer:disabled{opacity:1}.protocol-catastrophe{max-width:48%;border:1px solid #2b2b2e;background:#101012;padding:12px 16px;border-radius:12px;text-align:right}.protocol-catastrophe b{display:block;margin:4px 0;color:#eee}.protocol-catastrophe p{margin:0;color:#bbb}
.protocol-desk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:30px;align-items:start}.protocol-section-title{color:#a1a1aa;font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:1.6px;margin:10px 0 13px}.protocol-bunker-cards,.protocol-badges,.protocol-hand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.protocol-bunker-cards{margin-bottom:20px;gap:10px}.protocol-bunker-card{text-align:left;background:#18181b;border:2px solid #27272a;color:#a1a1aa;border-radius:12px;min-height:56px;padding:10px}.protocol-bunker-card.open{background:#10251e;border-color:#23513e;color:#63d6a6}button.protocol-bunker-card:hover{border-color:#a16c24}.protocol-bunker-card small,.protocol-bunker-card b{display:block}.protocol-bunker-card small{font-size:8px;text-transform:uppercase;font-weight:900;letter-spacing:.6px;margin-bottom:5px}.protocol-bunker-card b{font-size:12px;overflow-wrap:anywhere}
.protocol-players{position:relative;display:grid;gap:11px}.protocol-player{min-width:0;background:#151517;border:1px solid #303036;border-radius:16px;padding:13px 14px;box-shadow:0 5px 14px #0003}.protocol-player.current{border-color:#f59e0b;box-shadow:0 0 15px #f59e0b28}.protocol-player.current h3{color:var(--bunker-amber)}.protocol-player.has-votes:not(.current){border-color:#80414a}.protocol-player.out{opacity:.62}.protocol-player-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.protocol-player-head h3{font-size:16px;margin:0;overflow-wrap:anywhere}.protocol-player-head h3 small{font-size:8px;color:#ccc;background:#333338;border-radius:4px;padding:3px 5px;text-transform:uppercase;vertical-align:middle}.protocol-player-head>div:last-child{display:flex;gap:4px;flex-shrink:0}.protocol-votes{font-size:10px;color:#ff8891}.protocol-icon-button{padding:5px 8px;background:#27272a;border:1px solid #38383e;border-radius:7px;color:#ddd;font-size:10px;text-transform:uppercase}.protocol-icon-button:hover{border-color:var(--bunker-amber);color:var(--bunker-amber)}
.protocol-badge{min-width:0;padding:6px 8px;background:#1b1b1e;border:1px solid #29292e;border-radius:8px;display:grid;gap:3px}.protocol-badge span{font-weight:850;font-size:8px;text-transform:uppercase;color:#a1a1aa}.protocol-badge b{font-size:10px;color:#83838c;text-transform:uppercase;overflow-wrap:anywhere}.protocol-badge.shown b{color:#eee}.protocol-vote-map{position:absolute;left:-23px;top:0;width:24px;height:100%;overflow:visible;z-index:1;pointer-events:none}.protocol-vote-map path{stroke:#f59e0b;stroke-width:1.5;fill:none;opacity:.75}.protocol-vote-map circle{fill:#f59e0b}.protocol-vote-actions{display:flex;gap:12px}
.protocol-hand-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.protocol-hand{gap:13px}.protocol-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:9px;min-height:142px;text-align:left;background:#101012;color:#b1b1b9;border:2px dashed #303037;border-radius:23px;padding:14px 15px;overflow:hidden}.protocol-card.open{background:#18181b;border-style:solid;color:#eee;box-shadow:0 7px 16px #0004}.protocol-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:4px}.protocol-card-top i{display:grid;place-items:center;width:34px;height:34px;background:#27272a;border-radius:12px;font:700 19px system-ui;color:#a1a1aa}.protocol-card.open i,.protocol-special i{color:var(--bunker-amber);background:#352919}.protocol-card-top small{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:1px;border-radius:6px;padding:4px 6px;background:#27272a;color:#bbb}.protocol-card-title{margin-top:auto;text-transform:uppercase;letter-spacing:1.2px;font-weight:900;font-size:9px;color:#a1a1aa}.protocol-card strong{font-size:15px;text-transform:uppercase;line-height:1.23;overflow-wrap:anywhere}.protocol-card.available{cursor:pointer;transition:transform .15s,border-color .15s}.protocol-card.available:hover,.protocol-card.available:focus-visible{transform:translateY(-3px);border-color:#b57725}.protocol-card-hover{position:absolute;inset:0;display:grid;place-content:center;background:#15110ee8;color:var(--bunker-amber);text-transform:uppercase;font-size:11px;letter-spacing:1px;font-weight:900;opacity:0;transition:opacity .15s}.protocol-card:hover .protocol-card-hover,.protocol-card:focus-visible .protocol-card-hover{opacity:1}.protocol-special{grid-column:1/-1;min-height:98px;border-color:#533a20}.protocol-special-prompt{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--bunker-amber)}
.bunker-event-log{position:fixed;bottom:16px;right:16px;z-index:7;width:min(320px,calc(100% - 32px));border:1px solid #37373d;border-radius:12px;background:#18181bf7;box-shadow:0 6px 22px #0006}.bunker-event-log summary{padding:11px 14px;color:#bbb;font-size:11px;text-transform:uppercase;letter-spacing:1px}.bunker-event-log .bunker-log{margin:0;max-height:240px;overflow:auto;border:0;padding:6px 12px}.bunker-event-log .bunker-log p{font-size:11px}.protocol-results{margin-bottom:12px}
@media(max-width:900px){.protocol-desk{gap:17px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.protocol-hand,.protocol-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-header{flex-wrap:wrap}.protocol-catastrophe{max-width:none;text-align:left}.protocol-command{flex-wrap:wrap}}
@media(max-width:640px){body:has(.protocol-header) main{width:calc(100% - 28px)}.protocol-desk{grid-template-columns:1fr}.protocol-desk>section:last-child{order:-1}.protocol-header-info{flex-wrap:wrap}.protocol-badges{grid-template-columns:repeat(3,minmax(0,1fr))}.protocol-card{min-height:120px}.protocol-header{padding:14px}.protocol-vote-map{left:-12px;width:14px}}

.appearance-button{display:grid;place-items:center;padding:0}
.appearance-button svg{display:block;width:20px;height:20px}
.wordle-tool.standard-game-tool{display:grid;place-items:center;width:40px;height:40px;padding:0}
.wordle-tool.standard-game-tool svg{display:block;width:22px;height:22px}
@media(max-width:760px){.wordle-tool.standard-game-tool{width:36px;height:36px}}
.board-foot .score-mark{display:inline-block;position:relative;width:16px;height:16px;vertical-align:middle;margin:0 5px}
.score-mark.o-color{border:2px solid currentColor;border-radius:50%}
.score-mark.x-color::before,.score-mark.x-color::after{content:"";position:absolute;left:7px;top:0;width:2px;height:16px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.score-mark.x-color::after{transform:rotate(-45deg)}
.accent-custom{display:grid;grid-template-columns:1fr minmax(110px,35%);gap:14px}
.accent-custom label{display:grid;gap:8px;font-size:13px}
.accent-custom input{min-width:0;width:100%;height:44px;margin:0}
.accent-custom input[type=color]{padding:5px;cursor:pointer}
.accent-options{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
.accent-option{display:grid;place-items:center;min-height:0;width:36px;height:36px;padding:0;border-radius:50%}
.accent-option i{width:24px;height:24px}
.accent-preview{display:flex;justify-content:space-between;align-items:center;gap:12px}
.btn.primary{color:var(--brand-on-accent,#101010)}
.flight-overlay .flight-countdown{font-size:clamp(58px,16vw,100px);font-variant-numeric:tabular-nums;line-height:1}
.bunker-mark-art{width:min(180px,92%);height:auto;display:block;position:relative;z-index:1}

header:has(.discord-sign-in:not([hidden])) { column-gap: clamp(8px, 2vw, 32px); }
.discord-sign-in {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
  padding: 8px 11px;
  border: 1px solid #4d5192;
  border-radius: 8px;
  background: #272943;
  color: #f4f3ff;
  font-size: 12px;
  font-weight: 700;
}
.discord-sign-in[hidden] { display: none; }
.discord-sign-in:hover { background: #383c68; }
.discord-sign-in svg { width: 17px; height: 17px; flex: none; }
@media (max-width: 480px) {
  .discord-sign-in { padding: 7px; }
  .discord-sign-in span { display: none; }
}

.brand-mark.brand-image { background: transparent; border-radius: 0; object-fit: contain; flex-shrink: 0; }
.brand-mark.brand-image { width: 45.6px; height: 45.6px; }
@media (max-width: 760px) { .brand-mark.brand-image { width: 37.2px; height: 37.2px; } }
@media (max-width: 380px) { .brand-mark.brand-image { width: 33.6px; height: 33.6px; } }

body:has(.bunker-game-frame) {
  background: #09090b;
  overflow: hidden;
}
#app:has(.bunker-game-frame) {
  display: flex;
  flex-direction: column;
  height: 100dvh;
}
#app:has(.bunker-game-frame) > header {
  flex: none;
  width: min(90%, 1320px);
  height: 64px;
}
#app:has(.bunker-game-frame) > main {
  display: flex;
  flex: 1;
  min-height: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #27272a;
}
.bunker-game-frame {
  display: block;
  flex: 1;
  min-width: 0;
  border: 0;
  background: #09090b;
}
