@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/88da59c891d37117-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_1fdbab{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_1fdbab{--font-sans:"Source Sans 3","Source Sans 3 Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-display)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--bg-deep:#1a3a2f;--bg-mid:#245544;--bg-light:#d8e6dc;--cream:#f3efe4;--tile:#e8c992;--tile-ink:#3a2412;--board:#5c3a1e;--board-slot:#6b4423;--wood-dark:#3e2412;--wood-mid:#8b5a2b;--wood-light:#c48a4a;--dl:#5a8f9e;--tl:#2f6a7a;--dw:#b06a52;--tw:#8f3d32;--accent:#c4a35a;--ink:#14231d;--muted:#4d6358;--danger:#9b2c2c;--header:#0f2e25eb;--wood-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{color:var(--ink);font-family:var(--font-sans),"Segoe UI",sans-serif;background:radial-gradient(ellipse at top,#2d6a56 0,transparent 55%),linear-gradient(165deg,var(--bg-deep),#0c221b 45%,#16352b);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}.site-header{background:var(--header);color:var(--cream);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display),Georgia,serif;letter-spacing:.02em;font-size:1.6rem}.nav-links{align-items:center;gap:1rem;font-size:.95rem;display:flex}.linkish{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.push-banner{background:var(--header);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin:0;padding:.75rem 1.5rem;display:flex}@supports (color:color-mix(in lab,red,red)){.push-banner{background:color-mix(in srgb,var(--header) 92%,#000)}}.push-banner{color:var(--cream);border-bottom:1px solid var(--cream)}@supports (color:color-mix(in lab,red,red)){.push-banner{border-bottom:1px solid color-mix(in srgb,var(--cream) 18%,transparent)}}.push-banner{font-size:.92rem}.push-banner p{flex:14rem;margin:0}.push-banner-quiet{opacity:.85;font-size:.85rem}.push-banner-actions{align-items:center;gap:.85rem;display:flex}.push-banner-error{color:#f5c6c6;flex-basis:100%}.push-banner .btn{padding:.4rem .9rem;font-size:.88rem}.hero{min-height:calc(100vh - 64px);color:var(--cream);background:linear-gradient(120deg,#0c221b8c,#0c221b40),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");place-items:center;padding:2rem 1.25rem 4rem;display:grid}.hero-inner{text-align:center;max-width:720px}.hero h1{font-family:var(--font-display),Georgia,serif;margin:0 0 .4rem;font-size:clamp(3rem,8vw,5.5rem);line-height:.95}.hero p{opacity:.9;max-width:34rem;margin:0 auto 1.75rem;font-size:1.15rem}.cta-row{flex-wrap:wrap;gap:.75rem;display:flex}.btn,.cta-row{justify-content:center}.btn{background:var(--accent);color:#1a1508;cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;padding:.75rem 1.25rem;font-weight:700;transition:transform .16s,box-shadow .16s;display:inline-flex}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000040}.btn.secondary{color:var(--cream);background:0 0;border-color:#f3efe473}.panel{background:var(--cream);max-width:960px;color:var(--ink);border-radius:8px;margin:2rem auto;padding:1.5rem;box-shadow:0 18px 50px #00000047}.panel h1,.thread h1{font-family:var(--font-display),Georgia,serif;margin-top:0}.eyebrow{text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.eyebrow,.invite{letter-spacing:.12em}.invite{font-family:var(--font-display),Georgia,serif;margin:.2rem 0 0;font-size:1.8rem}.board-hint{z-index:1;text-align:center;color:#ffecd2d9;margin:0 0 .65rem;font-size:.82rem;position:relative}.cell.drop-target{outline-offset:-2px;filter:brightness(1.12);outline:2px solid #f0d48a}.rack-tile.dragging,.wood-token.dragging{opacity:.45}.rack-tile{touch-action:none}.wood-token[draggable=true]{cursor:grab}.rack-tile[draggable=true]:active,.wood-token[draggable=true]:active{cursor:grabbing}.board-frame{background:linear-gradient(145deg,#ffe6b42e,transparent 40%),linear-gradient(180deg,var(--board-frame-from,#a56b35) 0,var(--board-frame-mid,#7a4a24) 42%,var(--board-frame-to,#5a3418) 100%);border-radius:14px;width:min(96vw,820px);margin:1rem auto;padding:18px;position:relative;box-shadow:0 18px 40px #00000059,inset 0 1px #ffdca059,inset 0 -2px 6px #28120673}.board-frame:before{content:"";border-radius:inherit;background-image:var(--wood-grain);opacity:.28;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.board{background:linear-gradient(180deg,var(--board-grid-from,#4a2c14) 0,var(--board-grid-to,#3a210f) 100%);aspect-ratio:1;border-radius:8px;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;width:100%;max-width:100%;margin:0 auto;padding:8px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #5a3418e6,inset 0 0 18px #00000059}.board:before{content:"";border-radius:inherit;background-image:var(--wood-grain);opacity:.22;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.cell{aspect-ratio:1;background:linear-gradient(160deg,var(--board-cell-from,#7a4e2a) 0,var(--board-cell-mid,#5e381c) 55%,var(--board-cell-to,#4a2b14) 100%);color:#ffecd2b8;cursor:pointer;z-index:1;border:none;border-radius:3px;place-items:center;padding:1px;font-size:clamp(.55rem,1.6vw,.85rem);display:grid;position:relative;box-shadow:inset 0 0 0 1px #1e0e0459}.cell.cell-void{box-shadow:none;cursor:default;pointer-events:none;visibility:hidden;background:0 0}.cell.premium-dl{color:#eef8fb;background:linear-gradient(160deg,#6fa4b0,#457988)}.cell.premium-tl{color:#f3fbff;background:linear-gradient(160deg,#3f7f92,#255968)}.cell.premium-dw{color:#fff4ee;background:linear-gradient(160deg,#c07a62,#8f4d3a)}.cell.premium-tw{color:#fff1ec;background:linear-gradient(160deg,#a3483b,#72281f)}.cell.has-tile{box-shadow:none;background:0 0;padding:1px}.cell.pending .wood-token{outline-offset:0;outline:2px solid #f0d48a;box-shadow:0 0 0 2px #5a341459,0 6px 10px #00000047}.cell.pending-valid .wood-token{filter:saturate(1.05);outline:2px solid #3d9a5f;box-shadow:0 0 0 2px #235a3759,0 6px 10px #00000047}.cell.word-highlight .wood-token{outline-offset:0;filter:saturate(1.08)brightness(1.04);outline:2px solid #3d9a5f;box-shadow:0 0 0 2px #235a3759,0 6px 10px #00000047}.cell.drag-source,.rack-tile.drag-source{opacity:.35}.tile-drag-ghost{z-index:1000;pointer-events:none;width:44px;height:44px;position:fixed;top:0;left:0}.tile-drag-ghost .wood-token{width:100%;height:100%}.game-layout.is-dragging-tile{touch-action:none;-webkit-user-select:none;user-select:none}.game-layout.is-dragging-tile .board,.game-layout.is-dragging-tile .rack-tray{touch-action:none}.premium-text{letter-spacing:.02em;text-shadow:0 1px #00000040;opacity:.92;font-size:.55em;font-weight:800}.wood-token{width:100%;height:100%;color:var(--tile-ink,#3a2412);touch-action:none;background:linear-gradient(145deg,#fff0c873,transparent 42%),linear-gradient(180deg,var(--tile-from,#f0d7a2) 0,var(--tile-mid,#e0bc78) 48%,var(--tile-to,#c9974e) 100%);box-shadow:0 2px 0 var(--tile-edge,#8a6230),0 3px 5px #00000047,inset 0 1px 0 #fffae6bf,inset 0 -2px 3px #78461447;border-radius:4px;place-items:center;font-weight:800;display:grid;position:relative;overflow:hidden}.wood-token:before{content:"";background-image:var(--wood-grain);opacity:.22;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.tile-letter{z-index:1;text-shadow:0 1px #fff5dc59;font-size:1.15em;line-height:1;position:relative}.tile-value{z-index:1;opacity:.85;font-size:.48em;font-weight:700;line-height:1;position:absolute;bottom:1px;right:2px}.rack-tray{background:linear-gradient(#9a6234,#6f4320);border-radius:10px;width:min(94vw,680px);margin:.75rem auto .25rem;padding:12px 14px 14px;position:relative;box-shadow:0 10px 24px #00000047,inset 0 1px #ffdca047,inset 0 -2px 5px #28120666}.rack-tray:before{content:"";border-radius:inherit;background-image:var(--wood-grain);opacity:.25;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.rack{z-index:1;background:#28140847;border-radius:6px;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0;padding:8px;display:flex;position:relative;box-shadow:inset 0 1px 4px #00000059}.rack-tile{cursor:pointer;background:0 0;border:none;border-radius:4px;width:46px;height:50px;padding:0;transition:transform .14s}.rack-tile .wood-token{font-size:1.25rem}.rack-tile.selected{transform:translateY(-8px)}.rack-tile.selected .wood-token{box-shadow:0 8px 0 var(--tile-edge,#8a6230),0 12px 16px #0000004d,inset 0 1px 0 #fffae6bf}.game-main{background:linear-gradient(#fff8ebeb,#f3e7d2f2)}.game-layout{grid-template-columns:1fr minmax(260px,320px);gap:1rem;max-width:1200px;margin:0 auto;padding:1rem;display:grid}.game-main,.game-sidebar,.thread{border-radius:8px;padding:1rem;box-shadow:0 12px 36px #00000038}.game-sidebar,.thread{background:var(--cream)}.game-meta{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.meta-block{min-width:7rem}.meta-value{letter-spacing:.04em;margin:.2rem 0 0;font-size:1.8rem;line-height:1}.meta-turn,.meta-value{font-family:var(--font-display),Georgia,serif}.meta-turn{color:var(--muted);margin:.45rem 0 0;font-size:.95rem}.scores{flex-wrap:wrap;flex:1;justify-content:center;gap:1.25rem;display:flex}.score-card{border-bottom:2px solid #0000;flex-direction:column;gap:.2rem;min-width:8rem;padding-bottom:.25rem;display:flex}.score-card.turn{border-bottom-color:var(--accent)}.score-name{font-size:1.15rem;font-weight:600;line-height:1.15}.score-name,.score-points{font-family:var(--font-display),Georgia,serif}.score-points{color:var(--muted);letter-spacing:.02em;font-size:1rem}.game-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.chat-form button,.game-actions button,.login-form button,.panel button{background:var(--bg-mid);color:var(--cream);cursor:pointer;border:none;border-radius:4px;padding:.55rem .9rem;font-weight:600}.chat-form button:disabled,.game-actions button:disabled{opacity:.45;cursor:not-allowed}.game-actions .danger{background:var(--danger)}.game-actions .ghost{color:var(--ink);background:0 0;border:1px solid #c7d2cb}.error{color:var(--danger);text-align:center}.chat-panel h2{font-family:var(--font-display),Georgia,serif;margin:0 0 .75rem;font-size:1.2rem}.chat-messages{flex-direction:column;gap:.5rem;max-height:360px;margin-bottom:.75rem;display:flex;overflow:auto}.chat-messages.tall{min-height:40vh;max-height:55vh}.chat-bubble{background:#e7efe9;border-radius:6px;max-width:min(92%,28rem);padding:.5rem .7rem;position:relative}.chat-bubble.mine{background:#dfd2a8;align-self:end}.chat-bubble p{margin:.15rem 0 0}.msg-reactions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;display:flex;position:relative}.msg-reactions.mine{justify-content:flex-end}.msg-reaction-chips{flex-wrap:wrap;gap:.25rem;display:flex}.msg-reaction-chip{cursor:pointer;background:#fff;border:1px solid #c7d2cb;border-radius:999px;align-items:center;gap:.2rem;padding:.1rem .45rem;font-size:.85rem;line-height:1.4;display:inline-flex}.msg-reaction-chip.mine{background:#e8f3ec;border-color:#2f6b4f}.msg-react-trigger{color:#5a6b62;cursor:pointer;opacity:.55;background:0 0;border:1px dashed #b7c4bc;border-radius:999px;padding:.05rem .4rem;font-size:.75rem;line-height:1.4}.chat-bubble:hover .msg-react-trigger,.msg-react-trigger:focus-visible,.msg-reactions.open .msg-react-trigger{opacity:1}.msg-reaction-picker{z-index:5;background:#fff;border:1px solid #c7d2cb;border-radius:12px;width:13.5rem;padding:.5rem;position:absolute;bottom:calc(100% + .35rem);left:0;box-shadow:0 8px 24px #14281e1f}.msg-reaction-picker.align-end{left:auto;right:0}.msg-reaction-library{grid-template-columns:repeat(6,2rem);justify-content:center;gap:.2rem;display:grid}.msg-reaction-emoji{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:2rem;height:2rem;font-size:1.25rem;line-height:1;display:grid}.msg-reaction-emoji:hover{background:#eef4f0}.chat-form{gap:.4rem;display:flex}.chat-form input,.login-form input,.panel input,.panel textarea{font:inherit;background:#fff;border:1px solid #c7d2cb;border-radius:4px;flex:1;padding:.55rem .7rem}.inbox-list{margin:0;padding:0;list-style:none}.inbox-list li a{border-bottom:1px solid #d7e0da;padding:.85rem 0;display:block}.messages-page h2{font-family:var(--font-display),Georgia,serif;margin:1.75rem 0 .75rem;font-size:1.35rem}.inbox-people{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.inbox-person{flex-wrap:wrap;justify-content:space-between}.inbox-person,.inbox-person-main{align-items:center;gap:.85rem;display:flex}.inbox-person-main{flex:1;min-width:0}.inbox-avatar{object-fit:cover;background:#c7d2cb;border:1px solid #d9c7a8;border-radius:50%;flex-shrink:0;width:52px;height:52px}.inbox-avatar.placeholder{background:linear-gradient(160deg,#e8dcc4,#c7b89a)}.inbox-person-copy{min-width:0}.inbox-person-title{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.inbox-name{font-family:var(--font-display),Georgia,serif;color:var(--ink);font-size:1.1rem;font-weight:700}.inbox-meta{margin:.25rem 0 0;font-size:.92rem}.inbox-result{font-family:var(--font-display),Georgia,serif;font-size:.85rem;font-weight:700}.inbox-result.win{color:#2f6b45}.inbox-result.loss{color:#8a3a2e}.inbox-result.draw,.inbox-result.waiting{color:#6b5a3e}.inbox-result.active{color:#3d5f7a}.inbox-person-actions{flex-wrap:wrap;gap:.45rem;display:flex}.inbox-action,.panel a.inbox-action,.panel button.inbox-action,a.inbox-action{background:var(--bg-mid);color:var(--cream);cursor:pointer;font-weight:600;font:inherit;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem .85rem;text-decoration:none;display:inline-flex}.inbox-action.secondary,.panel a.inbox-action.secondary,a.inbox-action.secondary{color:var(--ink);background:0 0;border:1px solid #d9c7a8}.inbox-action:disabled{opacity:.55;cursor:not-allowed}.login-form,.login-providers{gap:.75rem;max-width:360px;display:grid}.login-providers form{margin:0}.login-providers button{width:100%}.profile-head{align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.profile-head h1{font-family:var(--font-display),Georgia,serif;margin:0 0 .35rem}.profile-head p{margin:0}.profile-page h2{font-family:var(--font-display),Georgia,serif;margin:1.75rem 0 .75rem;font-size:1.35rem}.profile-points{flex-wrap:wrap;align-items:baseline;gap:.45rem;margin:.55rem 0 0;display:flex}.profile-points strong{font-family:var(--font-display),Georgia,serif;font-size:1.4rem}.profile-page .muted,.shop-blurb{color:var(--muted)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.stat-card{background:linear-gradient(#fffaf0,#f3e7d2);border:1px solid #d9c7a8;border-radius:8px;padding:.75rem .85rem}.stat-value{font-family:var(--font-display),Georgia,serif;word-break:break-word;margin-top:.2rem;font-size:1.25rem;display:block}.recent-games{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.recent-games a{background:#ffffff73;border:1px solid #d9c7a8;border-radius:6px;justify-content:space-between;gap:1rem;padding:.65rem .8rem;display:flex}.recent-games .won{color:#2f6b45}.recent-games .lost,.recent-games .won{font-weight:700;font-family:var(--font-display),Georgia,serif}.recent-games .lost{color:#8a3a2e}.recent-games .drawn{color:#6b5a3e;font-weight:700;font-family:var(--font-display),Georgia,serif}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.shop-card{background:#fffaf0;border:1px solid #d9c7a8;border-radius:8px;padding:.9rem}.shop-card.equipped{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.shop-card strong{font-family:var(--font-display),Georgia,serif;margin-bottom:.25rem;display:block}.shop-card p{color:var(--muted);margin:0 0 .75rem;font-size:.92rem}.shop-card-actions button{width:100%}.equipped-label{font-family:var(--font-display),Georgia,serif;color:#7a4a12;font-weight:700;display:inline-block}.profile-edit-card{max-width:420px}.profile-edit-form{gap:.85rem;display:grid}.profile-edit-form label{gap:.35rem;display:grid}.profile-edit-form .eyebrow{color:var(--muted)}.profile-edit-form input,.profile-edit-form textarea{width:100%;font:inherit;color:var(--ink);resize:vertical;background:#fffaf8;border:1px solid #d9c7a8;border-radius:6px;padding:.6rem .75rem}.profile-edit-form input:focus,.profile-edit-form textarea:focus{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.profile-edit-form input:focus,.profile-edit-form textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent)}}.profile-edit-form input:focus,.profile-edit-form textarea:focus{outline-offset:1px;border-color:var(--accent)}.shop-confirm-backdrop{z-index:80;background:#1c120a73;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.shop-confirm{width:min(100%,360px);box-shadow:0 18px 40px #00000047}.shop-confirm p{color:var(--ink);margin:0 0 .65rem;font-size:.95rem;line-height:1.45}.shop-confirm p strong{font-family:inherit;font-size:inherit;margin:0;display:inline}.shop-shortfall{font-weight:600;color:#8a3a2e!important}.shop-confirm-actions{gap:.5rem;margin-top:.85rem;display:flex}.shop-confirm-actions button{flex:1}.panel .shop-confirm-actions .ghost,.shop-confirm-actions .ghost{color:var(--ink);background:0 0;border:1px solid #d9c7a8}.profile-toast{color:#2f6b45;margin-top:1rem;font-weight:600}.avatar{object-fit:cover;background:#c7d2cb;border-radius:50%;width:72px;height:72px}.stats{gap:1.5rem;margin:1rem 0;display:flex}.legal h2{font-family:var(--font-display),Georgia,serif;margin-top:1.75rem;font-size:1.25rem}.legal ul{padding-left:1.25rem}.legal .muted{color:var(--muted)}.site-footer{color:#f3efe4bf;justify-content:center;gap:1rem;padding:1rem;font-size:.9rem;display:flex}.site-footer a:hover{color:var(--cream)}.play-page h2{font-family:var(--font-display),Georgia,serif;margin:1.75rem 0 .75rem;font-size:1.25rem}.play-actions{gap:1rem;max-width:420px;margin-top:1.25rem;display:grid}.active-games-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.active-game-row{align-items:stretch;gap:.5rem;display:flex}.active-game-row .active-game-card{flex:1;min-width:0}.active-game-cancel{color:#8a3a2e;cursor:pointer;background:0 0;border:1px solid #d9a8a0;border-radius:8px;flex-shrink:0;align-self:stretch;padding:.55rem .85rem;font-weight:600}.active-game-cancel:disabled{opacity:.45;cursor:not-allowed}.active-game-card{background:linear-gradient(#fffaf0,#f3e7d2);border:1px solid #d9c7a8;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;transition:transform .14s,box-shadow .14s;display:flex;box-shadow:0 2px #5a3c1414}.active-game-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2818081f}.active-game-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.active-game-vs{font-size:1.15rem;font-weight:600}.active-game-code,.active-game-vs{font-family:var(--font-display),Georgia,serif}.active-game-code{letter-spacing:.12em;color:var(--muted);font-size:.9rem}.active-game-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.active-game-score,.active-game-turn{font-family:var(--font-display),Georgia,serif;color:var(--muted)}.active-game-turn{font-size:.92rem}.active-game-turn.yours{color:#7a4a12;font-weight:700}.game-over-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c1c14b8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.game-over-card{width:min(100%,420px);color:var(--ink);text-align:center;background:linear-gradient(#fffaf0,#f0e2c8);border-radius:12px;padding:1.5rem 1.35rem 1.35rem;box-shadow:0 24px 60px #00000059}.game-over-title{font-family:var(--font-display),Georgia,serif;margin:.35rem 0 .5rem;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.1}.game-over-sub{color:var(--muted);margin:0 0 1.25rem}.game-over-scores{text-align:left;gap:.55rem;margin:0 0 1.35rem;padding:0;list-style:none;display:grid}.game-over-scores li{background:#ffffff8c;border:1px solid #d9c7a8;border-radius:8px;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;display:flex}.game-over-scores li.winner{border-color:var(--accent);background:#c4a35a47}.game-over-name{font-weight:600}.game-over-name,.game-over-pts{font-family:var(--font-display),Georgia,serif}.game-over-pts{color:var(--muted);white-space:nowrap}.game-over-actions{gap:.55rem;display:grid}.game-over-btn,.game-over-btn-secondary{width:100%;text-decoration:none}.btn.secondary.game-over-btn-secondary{color:var(--ink);box-shadow:none;background:0 0;border:1px solid #c7b48f}.btn.secondary.game-over-btn-secondary:hover{box-shadow:none;background:#ffffff73;transform:none}@media (max-width:900px){.game-layout{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}