@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2)format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--display:"Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:"DM Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--paper:#f2ece0;--paper-deep:#e9e0d0;--card:#fcfaf5;--card-2:#f7f2e8;--ink:#17151b;--ink-2:#3d3743;--muted:#6a6370;--line:#d9cdb9;--hair:#e6ddcc;--accent:#c93a24;--accent-deep:color-mix(in oklab, var(--accent) 74%, var(--ink));--accent-soft:color-mix(in oklab, var(--accent) 13%, var(--card));--accent-line:color-mix(in oklab, var(--accent) 34%, var(--paper));--green:#1f7a5c;--green-deep:color-mix(in oklab, var(--green) 80%, var(--ink));--green-soft:color-mix(in oklab, var(--green) 12%, var(--card));--gold:#a9760d;--gold-ink:color-mix(in oklab, var(--gold) 72%, var(--ink));--gold-soft:color-mix(in oklab, var(--gold) 16%, var(--card));--sort-0:#e3d7c0;--sort-1:#d8e0d1;--sort-2:#eed9cd;--sort-3:#d5dee7;--sort-4:#e7dbe6;--sort-5:#ebe2bf;--r-sort:4px;--r:7px;--r-lg:11px;--press-1:2px 2px 0 #17151b21;--press-2:3px 3px 0 var(--ink);--press-accent:3px 3px 0 var(--accent);font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E"),repeating-linear-gradient(90deg,#17151b04 0 1px,#0000 1px 3px);margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}button{transition:background .14s,color .14s,transform 90ms,box-shadow .14s,border-color .14s}button:not(:disabled):active{transform:translate(2px,2px)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-variation-settings:"SOFT" 24, "WONK" 1, "opsz" 48;letter-spacing:-.015em;font-weight:700}svg{flex-shrink:0}input,select{border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);min-width:0;padding:11px 13px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}input::placeholder{color:var(--muted)}::selection{background:var(--accent);color:var(--card)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--card);border-radius:var(--r);padding:12px 16px;font-size:12px;font-weight:700;position:absolute;top:-100px;left:20px}.skip-link:focus{top:12px}.tile{font-family:var(--display);font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 14;background:var(--card);color:var(--ink);border:1px solid var(--ink);border-radius:var(--r-sort);box-shadow:var(--press-1);place-items:center;font-weight:800;display:inline-grid;position:relative}.tile.struck:after,.struck-letter:after{content:"";border-radius:inherit;background:linear-gradient(to top right, transparent calc(50% - .9px), var(--accent) calc(50% - .9px), var(--accent) calc(50% + .9px), transparent calc(50% + .9px));position:absolute;inset:-1px}.struck-letter{width:1.5em;height:1.62em;font-family:var(--display);font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 14;color:var(--ink);background:var(--card);border:1px solid var(--ink);border-radius:var(--r-sort);box-shadow:var(--press-accent);vertical-align:-.28em;flex-shrink:0;place-items:center;font-weight:800;line-height:1;display:inline-grid;position:relative}.pressed{border:1px solid var(--ink);box-shadow:var(--press-2);background:var(--card)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--accent);flex-shrink:0;width:5px;height:5px}.landing-intro>.eyebrow:after,.legal-page>.eyebrow:after{content:"";background:var(--line);flex:1;height:1px;margin-left:4px}.brand{color:var(--ink);font-family:var(--display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 40;letter-spacing:-.035em;white-space:nowrap;align-items:center;gap:11px;padding:0;font-size:26px;font-weight:800;display:flex}.brand-mark{flex-shrink:0;width:38px;height:42px;transition:transform .18s;display:block;overflow:visible;transform:rotate(-5deg)}.brand:hover .brand-mark{transform:rotate(3deg)}.mark-body{fill:var(--ink)}.mark-letter{fill:var(--card);font-family:var(--display);font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 40;font-size:27px;font-weight:800}.mark-nick{fill:var(--accent)}.brand-dot{background:var(--accent);vertical-align:.04em;width:.19em;height:.19em;margin-left:.11em;display:inline-block}nav{align-items:center;gap:30px;display:flex}nav a{letter-spacing:.1em;text-transform:uppercase;min-height:44px;color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;gap:7px;font-size:12px;font-weight:700;text-decoration:none;display:flex}nav a:hover{color:var(--accent-deep);border-bottom-color:var(--accent)}.button{border-radius:var(--r);letter-spacing:.01em;border:1px solid var(--ink);justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 18px;font-size:13px;font-weight:700;line-height:1.4;display:inline-flex}.button.primary{background:var(--ink);color:var(--card);box-shadow:var(--press-accent)}.button.primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:3px 3px 0 var(--ink)}.button.primary:not(:disabled):active,.button.secondary:not(:disabled):active,.button.danger:not(:disabled):active,.button.danger-outline:not(:disabled):active{box-shadow:0 0 0 var(--ink)}.button.secondary{background:var(--card);color:var(--ink);box-shadow:var(--press-1)}.button.secondary:hover:not(:disabled){background:var(--card-2);box-shadow:var(--press-2)}.button.danger{color:var(--card);background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:var(--press-1)}.button.danger-outline{color:var(--accent-deep);background:var(--accent-soft);border-color:var(--accent-deep);box-shadow:var(--press-1)}.button.full{justify-content:space-between;width:100%}.button.full>span{align-items:center;gap:9px;display:flex}.text-button{color:var(--muted);letter-spacing:.06em;border-bottom:1px solid #0000;align-items:center;gap:6px;min-height:30px;padding:4px 0;font-size:12px;font-weight:700;display:inline-flex}.text-button:hover{color:var(--accent-deep);border-bottom-color:var(--accent)}.icon-button{width:40px;height:40px;color:var(--ink-2);border-radius:var(--r);border:1px solid #0000;place-items:center;display:grid}.icon-button:hover{background:var(--card);border-color:var(--ink);box-shadow:var(--press-1)}.compact{min-height:38px;padding:7px 13px;font-size:11px}mark{background:var(--accent);color:var(--card);border-radius:2px;padding:0 2px;font-weight:700}.site-shell{flex-direction:column;min-height:100dvh;display:flex}.site-shell>*{width:100%}.site-shell>.landing,.site-shell>.legal-page{flex:1}.site-shell>.landing{align-items:center;display:flex}.site-header{justify-content:space-between;align-items:center;max-width:1392px;margin:auto;padding:29px 56px;display:flex}.site-footer{max-width:1392px;color:var(--muted);border-top:1px solid var(--hair);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:23px 56px 27px;font-size:11px;display:flex}.site-footer>span,.site-footer>div{align-items:center;gap:8px;display:flex}.site-footer>div{gap:24px}.site-footer a{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #0000;padding-bottom:2px;font-size:10px;font-weight:700;text-decoration:none}.site-footer a:hover{color:var(--accent-deep);border-bottom-color:var(--accent)}.colophon{font-family:var(--display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 14;color:var(--ink-2);align-items:center;gap:10px;font-size:13px;font-style:italic;display:flex}.colophon .tile{width:20px;height:22px;box-shadow:1.5px 1.5px 0 var(--accent);font-size:12px}.landing{max-width:1040px;margin:0 auto;padding:0 40px}.landing-layout{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:center;gap:64px;width:100%;padding:28px 0;display:grid}.landing-intro>.eyebrow{white-space:nowrap;margin-bottom:20px}.landing-intro h1{font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 72;letter-spacing:-.035em;font-size:clamp(40px,4.5vw,58px);font-weight:800;line-height:1.04}.landing-intro h1 span{color:var(--accent-deep);display:inline-block;position:relative}.hero-rule{width:102%;height:.13em;color:var(--accent);pointer-events:none;position:absolute;bottom:-.1em;left:-1%;overflow:visible}.landing-intro p{max-width:36ch;color:var(--ink-2);margin-top:22px;font-size:16px;line-height:1.7}.hero-sorts{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-top:30px;font-size:12px;font-weight:700;display:flex}.hero-sorts .tile{width:36px;height:40px;box-shadow:var(--press-1);font-size:19px}.hero-sorts .tile:first-child{background:var(--sort-0);transform:rotate(-4deg)}.hero-sorts .tile:nth-child(2){background:var(--sort-3);transform:rotate(2deg)}.hero-sorts .tile:nth-child(3){background:var(--card);box-shadow:var(--press-accent);transform:rotate(-2deg)}.hero-sorts>span:last-child{margin-left:6px}.joining-room .landing-layout{grid-template-columns:minmax(0,1fr);gap:22px;max-width:400px;margin:0 auto}.joining-room h1{text-align:center;letter-spacing:-.03em;font-size:36px}.entry-card{background:var(--card);border:1px solid var(--ink);border-radius:var(--r-lg);max-width:430px;box-shadow:5px 5px 0 var(--ink);padding:24px;position:relative}.entry-card:before{content:"";background:var(--accent-line);width:1px;position:absolute;top:12px;bottom:12px;left:11px}.entry-card label{letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.entry-card label>span{letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:500}.nickname-wrap{border:1px solid var(--line);border-radius:var(--r);background:var(--card-2);align-items:center;height:52px;margin-bottom:14px;display:flex;overflow:hidden}.nickname-wrap:focus-within{border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.nickname-wrap input{background:0 0;border:0;outline:none;width:100%;height:100%;padding:0 12px;font-size:15px}.entry-card .button.primary{min-height:50px;font-size:14px}.entry-card .button.secondary{margin-top:10px}.entry-bottom{text-align:center;margin-top:15px}.invite-banner{border-radius:var(--r);background:var(--card-2);border:1px solid var(--line);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:9px;margin:-6px 0 18px;padding:10px 12px;font-size:10px;font-weight:700;display:flex}.invite-banner:before{content:"";background:var(--accent);flex-shrink:0;width:5px;height:5px}.invite-banner strong{font-family:var(--display);letter-spacing:.16em;text-transform:none;color:var(--ink);font-size:16px;font-weight:800}.code-entry{margin-bottom:13px}.code-entry input{width:100%;font-family:var(--display);letter-spacing:.34em;text-align:center;font-size:20px;font-weight:800}.field-error{color:var(--accent-deep);margin-bottom:10px;font-size:12px;font-weight:600;line-height:1.5}.invalid{border-color:var(--accent-deep)}.connection-note{color:var(--muted);text-align:center;margin-top:12px;font-size:12px}.connection-note button{color:var(--accent-deep);font-weight:700;text-decoration:underline}.toast{z-index:200;border:1px solid var(--ink);background:var(--card);box-shadow:4px 4px 0 var(--ink);border-radius:var(--r);align-items:center;gap:18px;width:max-content;max-width:min(560px,92vw);padding:14px 16px;font-size:13px;line-height:1.5;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast button{color:var(--muted);flex-shrink:0;place-items:center;padding:6px;display:grid}.legal-page{max-width:810px;margin:auto;padding:30px 30px 70px;line-height:1.8}.legal-page>.text-button{margin-bottom:26px}.legal-page>.eyebrow{margin:26px 0 14px}.legal-page h1{font-variation-settings:"SOFT" 18, "WONK" 1, "opsz" 72;letter-spacing:-.038em;border-bottom:4px double var(--line);margin-bottom:20px;padding-bottom:22px;font-size:54px;font-weight:800;line-height:1.05}.legal-lead{font-family:var(--display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 24;color:var(--ink-2)!important;margin-bottom:34px!important;font-size:19px!important;line-height:1.7!important}.legal-page h2{letter-spacing:-.02em;margin:30px 0 10px;font-size:23px}.legal-page p{color:var(--ink-2);margin:13px 0;font-size:15px;line-height:1.9}.legal-page a{color:var(--accent-deep);text-underline-offset:3px}.legal-page .button{margin-top:20px}.rules-list{counter-reset:step;margin:26px 0;padding:0;list-style:none}.rules-list li{counter-increment:step;margin-bottom:26px;padding-left:58px;position:relative}.rules-list li:before{content:counter(step);width:34px;height:38px;font-family:var(--display);color:var(--ink);background:var(--card);border:1px solid var(--ink);border-radius:var(--r-sort);box-shadow:var(--press-accent);place-items:center;font-size:18px;font-weight:800;display:grid;position:absolute;top:1px;left:0;transform:rotate(-3deg)}.rules-list li:nth-child(2n):before{transform:rotate(2deg)}.rules-list h2{color:var(--ink);margin:0 0 6px;font-size:20px}.rules-list p{margin:0}.rule-example{border:1px solid var(--ink);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--press-2);margin:30px 0;padding:20px}.example-facts{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:26px;margin-bottom:6px;padding-bottom:14px;font-size:11px;font-weight:700;display:flex}.example-facts span{align-items:center;gap:9px;display:inline-flex}.example-facts strong{font-family:var(--display);font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 24;letter-spacing:-.01em;text-transform:none;color:var(--ink);font-size:19px;font-weight:800}.rule-example p{flex-wrap:wrap;align-items:center;gap:11px;margin:10px 0;font-size:15px;display:flex}.rule-example small{letter-spacing:.1em;text-transform:uppercase;margin-left:auto;font-size:11px;font-weight:700}.example-failed svg,.example-failed small{color:var(--accent-deep)}.example-valid svg,.example-valid small{color:var(--green-deep)}.rules-details{border-top:1px solid var(--line);margin-top:22px;padding:20px 0}.rules-details summary,.admin-section>summary{cursor:pointer;font-family:var(--display);font-size:18px;font-weight:700}.help-page h1{margin:14px 0 22px;font-size:46px}.help-page .rules-list{margin:24px 0}.help-page .rules-list li{margin:0 0 22px}.help-page .rules-list h2{font-size:19px}.help-page .rules-list p{line-height:1.7}.room-page{max-width:1640px;margin:auto;padding:0 28px}.room-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:92px;display:grid}.room-header>:first-child{justify-self:start}.room-header>:last-child{justify-self:end}.room-header .brand{font-size:23px}.room-header-center{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.separator{color:var(--line);margin:0 2px}.room-code{font-family:var(--display);color:var(--ink);letter-spacing:.2em;text-transform:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sort);align-items:center;gap:4px;padding:3px 9px 3px 6px;font-size:14px;font-weight:800;display:flex}.room-code svg{color:var(--accent)}.room-actions{align-items:center;gap:12px;display:flex}.room-layout{grid-template-columns:220px minmax(300px,1fr) minmax(310px,370px);gap:18px;height:calc(100dvh - 139px);min-height:420px;max-height:1050px;display:grid}.players-panel,.chat-panel,.game-panel{background:var(--card);border:1px solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--press-1);min-width:0;overflow:hidden}.players-panel{background:var(--card-2);flex-direction:column;display:flex}.panel-heading{border-bottom:1px solid var(--ink);background:var(--paper-deep);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;height:58px;padding:0 18px;display:flex}.panel-heading h2{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.panel-heading h2 svg{color:var(--accent)}.panel-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.player-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:9px 7px;overflow-y:auto}.player-row{text-align:left;border-radius:var(--r);width:100%;min-height:68px;color:var(--ink);border:1px solid #0000;align-items:center;gap:9px;padding:13px 9px;display:flex;position:relative}.player-row:hover{background:var(--card);border-color:var(--line)}.player-row.self{background:var(--card);border-color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.rank-number{color:var(--muted);font-family:var(--display);font-variant-numeric:tabular-nums;min-width:16px;font-size:11px;font-weight:700;display:flex}.rank-number svg{color:var(--gold)}.avatar{border-radius:var(--r-sort);border:1px solid var(--ink);width:34px;height:37px;box-shadow:var(--press-1);font-family:var(--display);font-variation-settings:"SOFT" 0, "WONK" 0, "opsz" 14;background:var(--sort-0);color:var(--ink);flex-shrink:0;place-items:center;font-size:16px;font-weight:800;display:inline-grid}.avatar.small{width:28px;height:31px;font-size:13px}.avatar-0{background:var(--sort-0)}.avatar-1{background:var(--sort-1)}.avatar-2{background:var(--sort-2)}.avatar-3{background:var(--sort-3)}.avatar-4{background:var(--sort-4)}.avatar-5{background:var(--sort-5)}.player-info{flex:1;overflow:hidden}.player-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.player-info small{color:var(--muted);font-size:10px;font-weight:500}.player-info>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;display:block;overflow:hidden}.player-score{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.player-more{color:var(--muted);display:none}.away .avatar{filter:grayscale();opacity:.5}.game-panel{flex-direction:column;display:flex}.game-panel-top{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:8px;padding:18px 25px 14px;display:flex}.game-panel-top .eyebrow{font-size:10px}.turn-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.game-stage{text-align:center;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;justify-content:safe center;align-items:safe center;min-height:0;padding:12px 28px 22px;display:flex;overflow:auto}.game-stage h1{font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 60;letter-spacing:-.03em;max-width:400px;font-size:30px;font-weight:800;line-height:1.16}.game-stage>.eyebrow{justify-content:center;margin:14px 0 12px;font-size:10px}.secret-display>.secret-heading .eyebrow:before{width:4px;height:4px}.invite-copied{color:var(--green-deep);background:var(--green-soft)!important;border-color:var(--green-deep)!important}.invite-copied svg{color:var(--green-deep)}.invite-header{justify-content:center;min-width:142px}.start-button{width:100%;max-width:320px;min-height:48px;margin:8px auto 0;font-size:13px}.waiting-note{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:10px 0 14px;font-size:12px;line-height:1.6;display:flex}.starting-countdown{color:var(--ink);background:var(--card);border:1px solid var(--ink);box-shadow:var(--press-accent);border-radius:var(--r);font-family:var(--display);align-items:center;gap:10px;padding:14px 22px;font-size:15px;font-weight:800;display:flex}.room-footer{height:47px;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.room-footer>span{align-items:center;gap:7px;display:flex}.room-footer a{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:700;text-decoration:none;display:flex}.room-footer a:hover{color:var(--accent-deep)}.reconnecting{background:var(--gold-soft);border:1px solid var(--gold);color:var(--gold-ink);border-radius:var(--r);align-items:center;gap:9px;margin-bottom:10px;padding:10px 12px;font-size:12px;display:flex}.reconnecting button{color:inherit;margin-left:auto;font-weight:700;text-decoration:underline}.timer-pill{background:var(--card);border:1px solid var(--ink);border-radius:var(--r);box-shadow:var(--press-1);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:8px;padding:7px 12px;font-size:11px;font-weight:700;display:flex}.timer-pill strong{color:var(--ink);font-family:var(--display);letter-spacing:-.02em;text-transform:none;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.timer-pill.urgent{background:var(--accent-soft);border-color:var(--accent-deep);color:var(--accent-deep);box-shadow:2px 2px 0 var(--accent)}.timer-pill.urgent strong{color:var(--accent-deep)}.stage-title{margin:clamp(8px,2.2vh,26px) 0 clamp(8px,1.8vh,20px)}.stage-title h1{font-size:34px}.word-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.word-card{border:1px solid var(--ink);background:var(--card);border-radius:var(--r);box-shadow:var(--press-1);min-height:clamp(110px,18vh,170px);color:var(--ink);flex-direction:column;align-items:center;padding:16px 8px;display:flex}.word-card:hover:not(:disabled){background:var(--card-2);box-shadow:4px 4px 0 var(--accent);transform:translate(-1px,-1px)}.word-card>strong{font-family:var(--display);font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 36;word-break:normal;overflow-wrap:anywhere;letter-spacing:-.02em;flex:1;justify-content:center;align-items:center;font-size:21px;font-weight:800;line-height:1.25;display:flex}.candidate-rule{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-top:14px;font-size:9px;font-weight:700;display:flex}.candidate-rule b{font-size:16px}.active-heading{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:15px;display:flex}.active-heading>div:first-child{color:var(--muted);text-align:left;align-items:center;gap:9px;font-size:13px;display:flex}.active-heading strong{color:var(--ink)}.active-heading .your-turn{color:var(--accent-deep)}.secret-display{background:var(--card-2);border:1px solid var(--ink);border-radius:var(--r);width:100%;box-shadow:var(--press-1);padding:20px 14px;position:relative}.secret-display .eyebrow{color:var(--muted);font-size:10px}.secret-display h1{font-variation-settings:"SOFT" 20, "WONK" 1, "opsz" 72;color:var(--ink);overflow-wrap:anywhere;margin:10px auto 6px;font-size:36px;font-weight:800}.secret-display p{color:var(--muted);margin-top:8px;font-size:12px;font-weight:700;line-height:1.7}.word-mask{font-family:var(--display);letter-spacing:.22em;color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:18px;margin:10px 0 6px;font-size:28px;font-weight:700;display:flex}.word-mask>span{white-space:nowrap;overflow-wrap:anywhere;word-break:break-all;max-width:100%}.mask-count{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:10px;font-weight:700}.solved-display{background:var(--green-soft);border-color:var(--green-deep);box-shadow:2px 2px 0 var(--green-deep)}.solved-display h1,.solved-display p,.solved-display .eyebrow{color:var(--green-deep)}.solve-progress{letter-spacing:.12em;text-transform:uppercase;width:100%;color:var(--muted);justify-content:space-between;padding:14px 3px 0;font-size:10px;font-weight:700;display:flex}.solve-progress>span:first-child{align-items:center;gap:6px;display:flex}.away-note{color:var(--gold-ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--r);width:100%;margin-bottom:10px;padding:9px 11px;font-size:12px;line-height:1.6}.revealed-answer{color:var(--accent-deep);overflow-wrap:anywhere;font-size:46px!important}.turn-results{width:100%;max-width:320px;margin-bottom:16px}.turn-results>div{border-bottom:1px solid var(--hair);align-items:center;gap:12px;padding:11px 4px;font-size:13px;display:flex}.turn-results>div>span{text-align:left;overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;display:flex}.turn-results svg{color:var(--green-deep)}.turn-results small{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.turn-results strong{color:var(--green-deep);font-family:var(--display);font-size:15px;font-weight:800}.turn-results .giver-result svg,.turn-results .giver-result strong{color:var(--gold)}.podium-list{width:100%;max-width:330px}.podium-list>div{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:11px;margin-top:clamp(4px,.7vh,7px);padding:clamp(6px,1.2vh,11px) 11px;font-size:13px;display:flex}.podium-list>div:first-child{background:var(--card);border-color:var(--ink);box-shadow:var(--press-accent)}.podium-rank{font-family:var(--display);color:var(--muted);width:16px;font-size:15px;font-weight:800}.podium-list>div:first-child .podium-rank{color:var(--accent-deep)}.podium-list strong{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.podium-list b{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.podium-list small{color:var(--muted);font-size:10px;font-weight:500}.clue-rail{text-align:left;flex-direction:column;width:100%;min-height:0;display:flex}.clue-rail-head{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex-shrink:0;align-items:center;gap:9px;padding:0 2px 8px;font-size:10px;font-weight:700;display:flex}.clue-rail-head:after{content:"";background:var(--hair);flex:1;height:1px}.clue-grid{flex:1;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:0;margin:0;padding:0;list-style:none;display:grid}.clue-slot{border-radius:var(--r-sort);align-items:center;min-height:0;padding:6px 9px;display:grid;overflow:hidden}.clue-slot.empty{border:1px dashed var(--line);opacity:.5}.clue-slot.filled{border:1px solid var(--hair);background:var(--card);box-shadow:var(--press-1);animation:.2s ease-out clue-land}.clue-slot.filled.newest{border-color:var(--ink);box-shadow:var(--press-accent)}.clue-slot.filled.recycled{animation:.2s ease-out clue-land,1.1s ease-out clue-recycle}.clue-slot.pending{border:1px dashed var(--accent-line);background:var(--card)}.clue-slot p.typing{justify-content:center;align-items:center;gap:5px;display:flex}.clue-slot p.typing i{background:var(--accent);opacity:.25;width:5px;height:5px;animation:1.25s ease-in-out infinite clue-dots}.clue-slot p.typing i:nth-child(2){animation-delay:.16s}.clue-slot p.typing i:nth-child(3){animation-delay:.32s}@keyframes clue-dots{30%{opacity:1;transform:translateY(-2px)}60%{opacity:.25;transform:none}}.clue-slot p{font-family:var(--display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 18;color:var(--ink);overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.32;display:-webkit-box;overflow:hidden}.clue-slot em{color:var(--muted);font-style:italic}.clue-grid-empty{color:var(--muted);text-align:center;padding-top:8px;font-size:12px}@keyframes clue-land{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes clue-recycle{0%{background:var(--accent-soft);border-color:var(--accent)}to{background:var(--card);border-color:var(--hair)}}.chat-panel{flex-direction:column;display:flex;position:relative}.chat-feed{scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain;flex:1;min-height:0;padding:16px 18px 8px;overflow:auto}.chat-system{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:8px;margin:0 0 15px;padding:0 2px;font-size:11px;line-height:1.7;display:flex}.event-dot{background:var(--accent);flex-shrink:0;width:5px;height:5px}.correct-event{background:var(--green-soft);border:1px solid var(--green-deep);border-radius:var(--r-sort);color:var(--green-deep);padding:10px 12px;font-size:12px;font-weight:600}.chat-message{align-items:flex-start;gap:9px;margin-bottom:18px;animation:.17s ease-out message-in;display:flex}.message-body{flex:1;min-width:0}.message-meta{flex-wrap:wrap;align-items:center;gap:6px;min-height:20px;display:flex}.message-meta>strong{white-space:nowrap;text-overflow:ellipsis;max-width:130px;color:var(--ink);font-size:12px;font-weight:700;overflow:hidden}.chat-message.solvers-only .message-meta>strong,.chat-message.solvers-only .message-body p{color:var(--green-deep)}.message-body p{overflow-wrap:anywhere;white-space:pre-wrap;color:var(--ink-2);margin:2px 0 0;font-size:14px;line-height:1.7}.new-messages{border-radius:var(--r);background:var(--ink);color:var(--card);align-self:center;min-height:35px;margin-bottom:8px;padding:8px 14px;font-size:11px;font-weight:700}.vote-banner{background:var(--gold-soft);border:1px solid var(--gold);border-radius:var(--r);color:var(--gold-ink);flex-shrink:0;gap:9px;margin:10px 12px;padding:11px;font-size:12px;display:flex}.vote-banner strong,.vote-banner span,.vote-banner small{display:block}.vote-banner span{margin:5px 0;font-size:11px}.vote-banner button{color:var(--gold-ink);background:var(--card);border:1px solid var(--gold);border-radius:var(--r-sort);margin:4px 5px 0 0;padding:7px 10px;font-size:11px;font-weight:700}.composer-area{border-top:1px solid var(--hair);background:var(--card);flex-shrink:0;padding:13px 16px 12px}.chat-composer{border:1px solid var(--line);border-radius:var(--r);background:var(--card-2);align-items:center;gap:5px;min-height:48px;padding:5px;display:flex}.chat-composer:focus-within{border-color:var(--ink);box-shadow:var(--press-1)}.chat-composer input{background:0 0;border:0;width:100%;min-height:33px;padding:8px;font-size:14px;outline:none!important}.chat-composer input::placeholder{color:var(--muted)}.chat-composer>button{background:var(--ink);border-radius:var(--r-sort);min-width:38px;min-height:38px;color:var(--card);place-items:center;display:grid}.chat-composer>button:hover:not(:disabled){background:var(--accent-deep)}.chat-composer.has-forbidden{border-color:var(--accent-deep);background:var(--accent-soft)}.composer-hint{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:5px;margin-top:8px;font-size:10px;display:flex}.composer-hint .field-error{margin:0;font-size:10px}.clue-preview{color:var(--accent-deep);overflow-wrap:anywhere;max-height:48px;padding:0 4px 8px;font-size:12px;font-weight:600;overflow:auto}.clue-composer-area{border-top:1px solid var(--ink);background:var(--paper-deep);padding:11px 20px 13px}.clue-turn-banner{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:9px;margin-bottom:9px;font-size:11px;font-weight:700;display:flex}.composer-area.giving .chat-composer{border-color:var(--ink);background:var(--card);box-shadow:var(--press-1)}.modal{border:1px solid var(--ink);background:var(--card);border-radius:var(--r-lg);color:var(--ink);width:min(440px,100vw - 28px);box-shadow:7px 7px 0 var(--ink);max-height:85dvh;padding:0}.modal::backdrop{background:#17151b6b}.modal-inner{padding:24px}.modal-heading{border-bottom:3px double var(--line);justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;padding-bottom:14px;display:flex}.modal-heading h2{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:24px}.modal p{color:var(--ink-2);font-size:14px;line-height:1.75}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.invite-input{width:100%;margin-top:15px;font-size:13px}.player-menu-actions{flex-direction:column;gap:10px;display:flex}.player-menu-actions .button{justify-content:flex-start;font-size:13px}.player-menu-actions .button small{color:var(--muted);margin-left:auto;font-size:10px;font-weight:400}.report-form,.confirm-inline{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:12px}.report-form label{font-size:12px;font-weight:700;display:block}.report-form select{width:100%;margin:7px 0}.report-form p,.confirm-inline p{margin-bottom:12px;font-size:12px}.room-settings{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.room-settings legend{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-size:11px;font-weight:700}.room-settings label{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.room-settings select{min-width:76px;min-height:42px;padding:8px 12px}.room-settings .checkbox-label{justify-content:flex-start}.room-option-actions{gap:10px;margin-top:24px;display:grid}.room-option-actions .button{justify-content:flex-start}.room-option-actions a{text-decoration:none}.room-option-code{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;font-size:11px;font-weight:700}.room-option-code strong{font-family:var(--display);letter-spacing:.2em;color:var(--ink);margin-left:10px;font-size:18px}.active-grid{flex:1;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:0;display:grid}.active-grid .active-heading{grid-area:1/1;margin:0}.active-grid .secret-display{grid-area:2/1;min-height:0;padding:14px}.active-grid .clue-rail{grid-area:3/1;align-self:stretch}.active-grid .solve-progress{grid-area:4/1;padding:0}.secret-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.secret-heading .eyebrow{letter-spacing:.14em;font-size:10px}.turn-rule{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.turn-rule b,.clue-turn-banner strong,.candidate-rule b,.example-facts .struck-letter{font-size:16px}.stage-idle .start-button{margin-top:24px}.admin-page{max-width:1180px;margin:auto;padding:42px 25px 80px}.admin-page>header{border-bottom:4px double var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:20px;display:flex}.admin-page h1{letter-spacing:-.03em;margin-top:12px;font-size:30px}.admin-page h2{margin-bottom:18px;font-size:21px}.admin-page h2 small{font-family:var(--sans);color:var(--muted);margin-left:10px;font-size:11px;font-weight:500}.admin-login{background:var(--card);border:1px solid var(--ink);border-radius:var(--r-lg);max-width:420px;box-shadow:5px 5px 0 var(--ink);margin:60px auto;padding:30px}.admin-login p{color:var(--ink-2);margin-bottom:20px;font-size:14px;line-height:1.8}.admin-login label{letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.admin-login input{width:100%;margin-bottom:20px}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.admin-metrics>div{background:var(--card);border:1px solid var(--ink);border-radius:var(--r);box-shadow:var(--press-1);min-width:0;padding:18px}.admin-metrics span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.admin-metrics strong{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:10px;font-size:27px;font-weight:800;display:block}.admin-section{border-top:1px solid var(--line);margin-top:20px;padding-top:34px}.admin-section>p{color:var(--ink-2);font-size:14px}.report-card{background:var(--card);border:1px solid var(--ink);border-radius:var(--r);box-shadow:var(--press-1);margin-bottom:14px;padding:20px;font-size:13px}.report-top{border-bottom:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:12px;display:flex}.report-top h3{font-size:17px}.report-top span{color:var(--muted);font-size:11px}.report-card p{color:var(--ink-2);overflow-wrap:anywhere;margin:8px 0}.report-card details{margin:16px 0}.report-card summary{cursor:pointer;color:var(--accent-deep);padding:5px 0;font-weight:700}.report-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--card-2);border:1px solid var(--hair);border-radius:var(--r-sort);max-height:280px;padding:14px;font-size:11px;line-height:1.7;overflow:auto}.ban-form{grid-template-columns:2fr 1fr 1fr;gap:15px;display:grid}.ban-form label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.ban-form label:first-child{grid-column:1/-1}.ban-form button{align-self:end}.ban-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;padding:15px;display:flex}.ban-row>div{min-width:0}.ban-row strong{font-size:13px}.ban-row code,.ban-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:11px;display:block}.admin-notice{background:var(--card);border:1px solid var(--ink);box-shadow:var(--press-1);color:var(--ink);border-radius:var(--r);align-items:center;gap:10px;margin-bottom:20px;padding:14px;font-size:13px;font-weight:600;display:flex}.admin-notice:before{content:"";background:var(--accent);flex-shrink:0;width:5px;height:5px}.table-scroll{border:1px solid var(--line);border-radius:var(--r);overflow:auto}.table-scroll table{border-collapse:collapse;text-align:left;background:var(--card);width:100%;font-size:13px}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--hair);padding:12px}.table-scroll th{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--card-2);font-size:10px;font-weight:700}.table-scroll td{color:var(--ink-2);font-variant-numeric:tabular-nums}.fatal{background:var(--card);border:1px solid var(--ink);border-radius:var(--r-lg);max-width:520px;box-shadow:6px 6px 0 var(--ink);margin:18vh auto;padding:32px}.fatal h1{letter-spacing:-.03em;font-size:34px}.fatal p{color:var(--ink-2);margin:18px 0 24px;line-height:1.8}.fatal button{border-radius:var(--r);background:var(--ink);color:var(--card);box-shadow:var(--press-accent);padding:14px 20px;font-weight:700}@keyframes message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.shake-input{animation:.2s ease-in-out shake}.animated-dots{color:var(--accent)}@media (width>=1500px){.room-layout{grid-template-columns:245px minmax(350px,1fr) 410px;gap:23px}.room-header{height:105px}.room-layout{height:calc(100dvh - 155px)}.game-stage h1{max-width:460px;font-size:38px}.game-stage{padding:16px 45px 30px}.chat-message .message-body p{font-size:15px}.word-card>strong{font-size:24px}}@media (width<=1150px){.room-layout{grid-template-columns:180px minmax(280px,1fr) 300px;gap:12px}.room-page{padding:0 16px}.player-row{gap:6px;padding:13px 6px}.rank-number{display:none}.avatar{width:30px;height:33px;font-size:14px}.game-stage{padding:10px 16px 20px}.game-panel-top{padding:15px 18px 11px}.game-stage h1{font-size:26px}.room-header-center{font-size:10px}.word-cards{gap:7px}.word-card{padding:14px 6px}.chat-feed{padding-left:13px;padding-right:13px}.panel-heading{padding:0 14px}}@media (width<=1150px) and (width>=701px){.player-info strong{font-size:11px}.player-info>span{font-size:9px}.player-score,.chat-message .message-body p{font-size:13px}.panel-heading h2{letter-spacing:.12em;font-size:10px}.word-card>strong{font-size:17px}.candidate-rule{letter-spacing:.1em;font-size:8px}}@media (width<=960px){.site-header{padding:24px 32px}.landing{padding:0 32px}.entry-card{padding:20px}.site-footer{padding:22px 32px 24px}.room-layout{grid-template-rows:74px minmax(0,1fr);grid-template-columns:minmax(330px,1fr) minmax(310px,.9fr);min-height:630px}.players-panel{flex-direction:row;grid-area:1/1/auto/-1;display:flex;overflow:visible}.players-panel>.panel-heading{border:0;border-right:1px solid var(--ink);flex-direction:column;justify-content:center;gap:4px;width:92px;height:auto;padding:10px 12px}.players-panel>.panel-heading h2{gap:4px;font-size:9px}.players-panel>.panel-heading h2 svg{width:13px}.player-list{flex:1;min-width:0;padding:5px;display:flex;overflow:auto hidden}.player-row{gap:7px;width:146px;min-width:146px;min-height:0;max-height:62px;padding:8px}.player-info>span{font-size:9px}.player-score{align-self:flex-start;margin-top:6px}.game-panel{grid-area:2/1}.chat-panel{grid-area:2/2}.room-header{height:83px}.room-header .brand{font-size:20px}.room-header-center{gap:6px}.room-header .brand-mark{width:33px;height:37px}.room-layout{height:calc(100dvh - 125px)}.game-stage h1{font-size:30px}.stage-idle{justify-content:flex-start}.game-panel-top{padding:13px 16px 10px}.room-header .room-actions{gap:6px}}@media (width<=700px){.site-header{padding:20px 22px}.brand{font-size:22px}.brand-mark{width:34px;height:38px}.site-header nav a{font-size:11px}.landing{padding:0 24px}.landing-layout{grid-template-columns:minmax(0,1fr);gap:26px;max-width:430px;margin:auto;padding:18px 0}.landing-intro{text-align:center}.landing-intro>.eyebrow,.hero-sorts{display:none}.landing-intro h1{letter-spacing:-.03em;font-size:clamp(34px,8vw,48px)}.landing-intro p{margin:14px auto 0;font-size:15px;line-height:1.6}.entry-card{max-width:none;box-shadow:4px 4px 0 var(--ink);padding:22px}.site-footer{flex-direction:column;align-items:center;gap:16px;padding:20px 23px 22px}.site-footer .colophon{display:none}.site-footer>div{gap:18px}.room-page{flex-direction:column;height:100dvh;max-height:none;padding:0 10px;display:flex}.room-header{gap:8px;height:64px;min-height:64px}.room-header .brand{gap:8px;font-size:18px}.room-header .brand-mark{width:28px;height:31px}.room-header-center{display:none}.room-actions{gap:4px}.room-actions .compact{gap:5px;min-height:36px;padding:6px 10px;font-size:10px}.invite-header{min-width:0}.room-actions .icon-button{width:32px;height:36px}.room-layout{flex:1;grid-template-rows:auto 63px minmax(0,1fr);grid-template-columns:1fr;gap:8px;height:auto;min-height:0;max-height:none;padding-bottom:8px;display:grid}.game-panel{grid-area:1/1;min-height:190px;max-height:41dvh}.game-panel-top{padding:10px 15px 6px}.game-panel-top .eyebrow,.turn-label{letter-spacing:.1em;font-size:9px}.game-stage{justify-content:flex-start;min-height:140px;padding:8px 18px 15px}.game-stage h1{font-size:24px}.game-stage>.eyebrow{margin:6px 0 8px;font-size:9px}.stage-idle,.stage-starting{padding-top:10px}.stage-idle h1,.stage-starting h1{max-width:none;font-size:23px}.stage-idle>.eyebrow,.stage-starting>.eyebrow{display:none}.start-button{max-width:330px;min-height:42px;margin-top:7px;font-size:12px}.starting-countdown{padding:10px 18px;font-size:13px}.waiting-note{margin:8px 0 0;font-size:11px}.players-panel{grid-area:2/1;min-height:0;overflow:hidden}.players-panel>.panel-heading{gap:3px;width:68px;padding:6px}.players-panel>.panel-heading h2{letter-spacing:.1em;font-size:8px}.players-panel>.panel-heading h2 svg{display:none}.players-panel>.panel-heading>span{font-size:10px}.player-list{gap:3px;padding:4px}.player-row{width:149px;min-width:149px;max-height:53px;padding:7px}.player-info strong{font-size:11px}.player-info>span,.player-info small{font-size:9px}.player-row .avatar{width:26px;height:29px;font-size:13px}.player-score{align-self:auto;margin:0;font-size:12px}.chat-panel{grid-area:3/1;min-height:150px}.chat-panel>.panel-heading{height:39px;min-height:39px;padding:0 13px}.panel-heading h2{letter-spacing:.12em;font-size:10px}.clue-rail{grid-area:3/1/auto/-1}.clue-rail-head{padding-bottom:5px;font-size:9px}.clue-grid{grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.clue-slot{padding:3px 6px}.clue-slot p{-webkit-line-clamp:2;line-clamp:2;font-size:11px;line-height:1.25}.clue-grid-empty{font-size:11px}.chat-feed{padding:12px 14px 0}.chat-system{margin-bottom:12px;font-size:10px}.chat-message{margin-bottom:14px}.message-body p{font-size:14px;line-height:1.65}.message-meta>strong{font-size:11px}.composer-area{padding:9px 10px max(7px, env(safe-area-inset-bottom))}.chat-composer{min-height:44px;padding:3px}.chat-composer input{height:36px;padding:6px 9px;font-size:16px}.chat-composer input::placeholder{font-size:14px}.chat-composer>button{min-width:40px;min-height:38px}.composer-hint{margin:6px 3px 0;font-size:9px}.room-footer{display:none}.toast{bottom:max(15px, env(safe-area-inset-bottom));gap:10px;padding:12px 14px;font-size:13px}.timer-pill{gap:5px;padding:5px 9px;font-size:9px}.timer-pill strong{font-size:15px}.timer-pill svg{width:14px}.stage-title{margin:10px 0 12px}.stage-title h1{font-size:26px}.word-cards{gap:8px}.word-card{min-height:140px;padding:11px 7px}.word-card>strong{font-size:16px}.candidate-rule{letter-spacing:.08em;gap:6px;margin-top:9px;font-size:8px}.candidate-rule b{font-size:14px}.stage-choosing{max-height:37dvh}.stage-active{min-height:0;padding:6px 16px 13px}.active-grid{gap:7px}.active-heading{grid-area:1/1/auto/-1;margin-bottom:0}.active-heading>div:first-child{gap:6px;font-size:11px}.active-heading .avatar{width:24px;height:27px;font-size:11px}.secret-display,.active-grid .secret-display{align-self:center;min-height:80px;padding:10px 12px}.secret-heading .eyebrow,.secret-display .eyebrow{letter-spacing:.1em;font-size:9px}.turn-rule{font-size:9px}.secret-display h1,.stage-active .secret-display h1{margin:6px auto 4px;font-size:26px;line-height:1.1}.secret-display p{margin-top:5px;font-size:10px;line-height:1.6}.word-mask{letter-spacing:.14em;gap:8px;margin:7px 0;font-size:20px}.mask-count{letter-spacing:.12em;margin:0;font-size:9px}.solve-progress{grid-area:4/1/auto/-1;padding:3px 0 0;font-size:9px}.solve-progress svg{width:13px}.away-note{margin-bottom:0;padding:6px 8px;font-size:11px}.revealed-answer{font-size:32px!important}.turn-results{margin-bottom:5px}.turn-results>div{padding:8px 5px;font-size:12px}.turn-results small{font-size:10px}.turn-results strong{font-size:13px}.stage-match_result h1{font-size:23px}.podium-list>div{margin-top:5px;padding:7px 10px}.podium-list .avatar{width:22px;height:25px;font-size:11px}.podium-list strong{font-size:11px}.podium-list b{font-size:13px}.vote-banner{margin:6px;padding:8px;font-size:11px}.vote-banner span{margin:3px 0;font-size:10px}.reconnecting{gap:6px;margin-bottom:6px;padding:7px 9px;font-size:11px}.reconnecting svg{width:13px}.clue-turn-banner{margin-bottom:7px;font-size:10px}.clue-composer-area{padding:9px 14px 11px}.legal-page{padding:18px 24px 40px}.legal-page h1{padding-bottom:16px;font-size:38px}.help-page h1{font-size:34px}.legal-lead{font-size:17px!important}.legal-page h2,.help-page .rules-list h2{font-size:18px}.legal-page p{font-size:14px}.rules-list li{padding-left:48px}.rules-list li:before{width:30px;height:33px;font-size:16px}.rule-example{padding:15px}.admin-page{padding:26px 18px 60px}.admin-page>header{flex-direction:column;align-items:flex-start}.admin-page h1{font-size:25px}.admin-metrics{grid-template-columns:1fr 1fr;gap:8px}.admin-metrics>div{padding:13px}.admin-metrics strong{font-size:21px}.admin-section h2{font-size:19px}.admin-section h2 small{margin:6px 0 0;display:block}.ban-form{grid-template-columns:1fr}.report-card{padding:14px}.ban-row{flex-direction:column;align-items:flex-start}.modal-inner{padding:19px}.modal p{font-size:13px}.modal-heading h2{font-size:22px}}@media (width<=380px){.site-header{padding:17px}.brand{gap:8px;font-size:20px}.site-header nav a{font-size:10px}.landing{padding:0 19px}.entry-card{padding:17px}.site-footer>div{gap:12px}.room-header .brand{font-size:16px}.room-header .brand-mark{width:25px;height:28px}.room-actions .compact{gap:4px;padding:6px 8px;font-size:9px}.room-actions .compact svg{width:12px}.room-actions .icon-button{width:26px}.room-page{padding:0 7px}.room-header{height:57px;min-height:57px}.game-stage{padding-left:12px;padding-right:12px}.game-stage h1{font-size:21px}.stage-active{gap:6px 10px}.secret-display h1,.stage-active .secret-display h1{font-size:22px}.word-mask{letter-spacing:.1em;font-size:17px}.stage-choosing .word-cards{gap:5px}.word-card{min-height:134px;padding:10px 4px}.word-card>strong{font-size:14px}.candidate-rule{gap:5px;font-size:7px}.message-body p{font-size:13px}.room-layout{grid-template-rows:auto 59px minmax(0,1fr)}.modal-heading h2{font-size:20px}}@media (height<=600px) and (width<=700px){.room-header{height:46px;min-height:46px}.game-panel{min-height:100px;max-height:32dvh}.room-layout{grid-template-rows:auto 47px minmax(0,1fr);gap:5px}.game-panel-top{display:none}.game-stage{min-height:90px}.stage-active{padding:6px 12px}.secret-display,.active-grid .secret-display{min-height:59px;padding:8px}.secret-display h1,.stage-active .secret-display h1{margin:5px auto;font-size:21px}.secret-display p{display:none}.active-heading{font-size:8px}.solve-progress{display:none}.player-row{max-height:40px}.player-info>span{display:none}.chat-panel{min-height:130px}.chat-panel>.panel-heading,.composer-hint{display:none}.composer-area{padding:6px 8px}.room-header .brand-mark{width:23px;height:26px}.room-header .brand{font-size:15px}.room-actions .compact{min-height:30px}.room-actions .icon-button{height:30px}.word-card{min-height:100px}.stage-title{margin:0 0 6px}.clue-rail-head{display:none}.stage-title h1{font-size:20px}}@media (width>=961px) and (height<=900px){.site-header{padding:14px 56px}.site-footer{padding:12px 56px 14px}.game-stage{padding:8px 28px 14px}.game-stage>.eyebrow{margin:6px 0}.game-stage h1{font-size:26px}}@media (width>=961px) and (height<=800px){.stage-match_result>.eyebrow{display:none}}@media (width>=961px) and (height<=745px){.site-header{padding:10px 56px}.site-footer{padding:9px 56px 11px}.landing-intro>.eyebrow{display:none}.hero-sorts{margin-top:20px}}@media (width>=961px) and (height<=700px){.active-heading{margin-bottom:6px}.active-grid .secret-display{padding:12px}.solve-progress{padding:6px 3px 0}.game-stage h1{font-size:22px}.clue-composer-area{padding:8px 20px 9px}.clue-composer-area .clue-turn-banner{margin-bottom:6px}.clue-composer-area .composer-hint{display:none}}@media (width>=961px) and (height<=660px){.site-header{padding:7px 56px}.site-footer{padding:6px 56px 8px}.entry-card{padding:16px}.invite-banner{margin:-3px 0 11px;padding:7px 9px}.hero-sorts{display:none}.landing-layout{padding:18px 0}.game-stage{padding:4px 22px 8px}.word-card{min-height:112px;padding:8px 6px}.word-cards{gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.admin-masthead{align-items:center;gap:16px;display:flex}.admin-masthead .brand-mark{width:42px;height:46px;transform:rotate(-5deg)}.admin-masthead h1{margin-top:6px}.site-shell:before{content:"";pointer-events:none;z-index:1;--trim:linear-gradient(var(--line), var(--line));background:var(--trim) 0 0 / 20px 1px no-repeat, var(--trim) 0 0 / 1px 20px no-repeat, var(--trim) 100% 0 / 20px 1px no-repeat, var(--trim) 100% 0 / 1px 20px no-repeat, var(--trim) 0 100% / 20px 1px no-repeat, var(--trim) 0 100% / 1px 20px no-repeat, var(--trim) 100% 100% / 20px 1px no-repeat, var(--trim) 100% 100% / 1px 20px no-repeat;position:fixed;inset:18px}@media (width<=700px){.site-shell:before{display:none}}.room-sign{font-family:var(--display);color:var(--muted);font-size:13px;font-style:italic}@media (width<=1150px){.room-sign{display:none}}.room-code-sorts{flex-direction:column;align-items:center;gap:11px;margin-top:18px;display:flex}.room-code-sorts>span:last-child{gap:6px;display:flex}.room-code-sorts .tile{width:34px;height:38px;font-size:19px}.room-code-sorts .tile:nth-child(odd){transform:rotate(-2deg)}.room-code-sorts .tile:nth-child(2n){transform:rotate(1.5deg)}.button.primary:disabled{opacity:1;background:var(--card-2);color:var(--muted);border-color:var(--line);box-shadow:none;border-style:dashed}@media (width<=700px){.room-code-sorts{gap:8px;margin-top:12px}.room-code-sorts .tile{width:28px;height:32px;font-size:16px}}@media (height<=600px) and (width<=700px){.room-code-sorts{display:none}}@media (width>=961px) and (height<=660px){.room-code-sorts{margin-top:10px}.stage-idle .start-button{margin-top:14px}}
