:root{font-family:Avenir Next,Avenir,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17312e;background:#f3f1ea;font-synthesis:none;text-rendering:optimizeLegibility;--pine-950: #102c29;--pine-900: #173b36;--pine-800: #205048;--pine-700: #29675b;--pine-100: #dce9e5;--paper: #f8f7f2;--canvas: #eeece4;--line: #d7d6ce;--ink: #17312e;--muted: #596864;--white: #ffffff;--coral: #d56f5b;--coral-soft: #efc2b7;--sky: #78b8c9;--sky-soft: #c6e1e6;--gold: #d6a94e;--gold-soft: #ead49d;--mint: #7bb699;--mint-soft: #c9e2d3;--shadow-sm: 0 1px 2px rgba(17, 43, 39, .06), 0 6px 18px rgba(17, 43, 39, .05);--shadow-md: 0 18px 55px rgba(17, 43, 39, .13)}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #eebf5b;outline-offset:2px}h1,h2,p{margin-top:0}h1,h2,strong,.brand{font-family:Avenir Next,Avenir,ui-sans-serif,system-ui,sans-serif}.capitalize{text-transform:capitalize}.eyebrow,.step-label,.kicker{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent}.text-button{display:inline-flex;align-items:center;gap:.42rem;padding:0;border:0;background:transparent;color:var(--pine-700);font-size:.82rem;font-weight:750;cursor:pointer;transition:color .15s ease,transform .15s ease}.text-button:hover{color:var(--pine-950);transform:translate(-2px)}.brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.75rem;font-size:.92rem;font-weight:800;letter-spacing:.17em;color:inherit}.brand-mark{display:inline-grid;grid-template-columns:repeat(2,1fr);width:34px;aspect-ratio:1;overflow:hidden;border-radius:8px;box-shadow:0 5px 12px #00000029}.brand-mark span{display:grid;place-items:center;font-size:.62rem;letter-spacing:0;color:var(--pine-950);background:#f1d9a2}.brand-mark span+span{color:#fff;background:#c56b5a}.brand--light{color:#fff}.brand-button{justify-self:start;padding:0;color:inherit;border:0;background:transparent;cursor:pointer}.brand-button .brand-mark{width:31px}.home-page{min-height:100vh;padding:1.25rem clamp(1rem,4vw,3rem) 1.5rem;background:radial-gradient(circle at 50% -10%,rgba(123,182,153,.2),transparent 32%),var(--paper)}.home-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1120px,100%);margin:0 auto}.home-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.google-sign-in{display:inline-flex;min-height:38px;align-items:center;gap:.42rem;padding:.48rem .72rem;border:1px solid #d4dad6;border-radius:9px;background:#ffffffdb;color:var(--pine-900);font-size:.68rem;font-weight:800}.google-sign-in:hover{border-color:#a8bdb5;background:#fff}.google-sign-in:disabled{cursor:wait;opacity:.68}.account-menu-container{position:relative}.account-chip-button{display:inline-flex;min-height:38px;align-items:center;gap:.45rem;padding:.45rem .65rem;border:1px solid #d4dad6;border-radius:9px;background:#ffffffe0;color:var(--pine-900);font-size:.68rem;font-weight:800;cursor:pointer;transition:all .16s ease}.account-chip-button:hover,.account-chip-button.is-open{border-color:#9cb5ab;background:#fff;box-shadow:var(--shadow-sm)}.account-chip-button span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chevron{color:var(--pine-700);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.account-chevron.is-rotated{transform:rotate(180deg)}.account-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:180px;padding:6px;border:1px solid #cfd7d3;border-radius:12px;background:#fff;box-shadow:0 10px 25px #0c211e1f,0 2px 6px #0c211e0a;animation:dialog-in .16s cubic-bezier(.2,.8,.2,1)}.account-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .65rem;border:0;border-radius:7px;background:transparent;color:var(--pine-900);font-size:.72rem;font-weight:750;text-align:left;cursor:pointer;transition:background .12s ease}.account-menu-item:hover:not(:disabled){background:#edf4f1}.account-menu-item:disabled{opacity:.55;cursor:not-allowed}.account-menu-badge{margin-left:auto;padding:.15rem .4rem;border-radius:999px;background:#eef2f0;color:var(--muted);font-size:.52rem;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.account-menu-item--danger{color:#a83d33}.account-menu-item--danger:hover{background:#fdf0ee;color:#8c2e25}.account-menu-item.is-active{background:#edf2ef;color:var(--pine-900);font-weight:800}.account-menu-check{margin-left:auto;color:var(--pine-700);font-size:.82rem}.home-auth-error{margin:.65rem auto 0;width:min(1120px,100%);padding:.5rem .7rem;border-radius:8px;background:#f9dddd;color:#8b2424;font-size:.68rem;font-weight:750}.home-transfer-notice{display:flex;width:min(1120px,100%);margin:.65rem auto 0;align-items:center;justify-content:space-between;gap:.75rem;padding:.58rem .72rem;border:1px solid #e6d59f;border-radius:8px;background:#fff8df;color:#725716;font-size:.68rem;font-weight:700}.home-transfer-notice button{flex:none;color:#624806;background:transparent;text-decoration:underline;font-weight:850}.locale-menu-container{position:relative}.home-hero-card{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);width:min(1120px,100%);margin:clamp(2rem,4.5vh,3.5rem) auto clamp(2rem,4vh,3rem);padding:clamp(2rem,4vw,3.25rem);border-radius:20px;color:#f8f6ed;background:radial-gradient(circle at 85% 20%,rgba(126,188,157,.22),transparent 45%),radial-gradient(circle at 15% 85%,rgba(214,169,78,.12),transparent 40%),linear-gradient(145deg,#0d2825,#153c36 55%,#1b4b42);box-shadow:0 20px 48px #0c211e3d,0 2px 6px #0c211e14;overflow:hidden}.home-hero-card:before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);background-size:30px 30px;transform:rotate(-6deg) scale(1.15)}.home-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.home-kicker{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.1rem;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#c0ded2;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-hero-content h1{margin-bottom:1rem;color:#fffdf7;font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.05;letter-spacing:-.045em;font-weight:800}.home-hero-desc{max-width:540px;margin-bottom:1.6rem;color:#c9dbd6;font-size:clamp(.95rem,1.25vw,1.12rem);line-height:1.6}.home-hero-note{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .8rem;border-radius:8px;background:#0000002e;color:#9ec2b8;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.note-bullet{width:6px;height:6px;border-radius:50%;background:#6dc4a4;box-shadow:0 0 8px #6dc4a4}.home-hero-visual{position:relative;z-index:1;display:flex;justify-content:center;align-items:center}.home-hero-visual .mini-board{display:grid;grid-template-columns:repeat(7,1fr);width:min(300px,100%);padding:10px;gap:4px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#081d1a6b;box-shadow:0 24px 60px #03141166;transform:rotate(-3deg);transition:transform .3s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-hero-visual .mini-board:hover{transform:rotate(0) scale(1.04)}.home-hero-visual .mini-board span{display:grid;place-items:center;aspect-ratio:1;border-radius:5px;background:#d5e6dd24;font-family:Avenir Next,sans-serif;font-size:.95rem;font-weight:800;color:#fff}.home-hero-visual .mini-board span:nth-child(7n+1),.home-hero-visual .mini-board span:nth-child(13){background:#75b8c852}.home-hero-visual .mini-board .has-letter{color:var(--pine-950);background:linear-gradient(145deg,#f5e2bf,#dcb974);box-shadow:0 4px 10px #0000004d;font-size:1.05rem}.home-modes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,230px));justify-content:center;gap:clamp(.75rem,1.4vw,1.1rem);width:min(840px,100%);margin:0 auto}.home-mode-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1 / 1;padding:clamp(.85rem,1.4vw,1.15rem);text-align:left;border:1px solid #d6deda;border-radius:16px;background:#ffffffeb;box-shadow:var(--shadow-sm),0 3px 10px #102c2908;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,box-shadow .18s ease;overflow:hidden}.home-mode-card:disabled{cursor:not-allowed;opacity:.72}.home-mode-card:not(:disabled):hover{transform:translateY(-3px);border-color:#69988a;box-shadow:var(--shadow-md),0 10px 24px #102c2917}.home-mode-card--primary{color:#fff;border-color:#1a4f45;background:linear-gradient(145deg,#103831,#174d43 60%,#1f5f53);box-shadow:0 12px 28px #102c2933}.home-mode-card--primary:not(:disabled):hover{border-color:#277063;background:linear-gradient(145deg,#13423a,#1c594e 60%,#246e60);box-shadow:0 16px 36px #102c2947}.mode-card-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%}.home-mode-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;color:var(--pine-800);border-radius:11px;background:var(--pine-100);transition:transform .18s ease}.home-mode-card:not(:disabled):hover .home-mode-icon{transform:scale(1.06)}.home-mode-card--primary .home-mode-icon{color:#f7e6c4;background:#ffffff24}.mode-card-art{display:inline-flex;align-items:center;gap:.22rem}.mini-tile{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:5px;font-family:Avenir Next,sans-serif;font-size:.72rem;font-weight:800;color:var(--pine-950);background:linear-gradient(145deg,#f7e6c4,#dcb974);box-shadow:0 2px 5px #0000002e,inset 0 1px #fff9;line-height:1}.mini-tile sub{position:absolute;right:1.5px;bottom:1px;font-size:.38rem;font-weight:900;line-height:1}.home-mode-card--primary .mini-tile{background:linear-gradient(145deg,#faebd1,#e2c07d);box-shadow:0 2px 6px #00000047}.mini-tile--accent{background:linear-gradient(145deg,#8dc8b3,#4ea388);color:#fff;font-size:.55rem}.mini-tile--gold{background:linear-gradient(145deg,#fae29c,#e5b84c);color:#4e3505;font-size:.65rem}.mini-tile--p1{background:#d4e8e1;color:var(--pine-900);font-size:.58rem}.mini-tile--p2{background:#f8ded7;color:#843228;font-size:.58rem}.mini-vs{font-size:.58rem;font-weight:900;color:var(--muted);text-transform:uppercase}.mode-card-badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:#e6ede9;color:var(--muted);font-size:.58rem;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.home-mode-arrow{flex:0 0 auto;color:var(--pine-600);transition:transform .18s ease}.home-mode-card--primary .home-mode-arrow{color:#e5ece9}.home-mode-card:not(:disabled):hover .home-mode-arrow{transform:translate(3px)}.mode-card-body{display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left}.mode-card-body strong{font-size:clamp(.9rem,1.1vw,1.02rem);font-weight:800;color:inherit;letter-spacing:-.015em}.mode-card-body small{color:var(--muted);font-size:clamp(.68rem,.8vw,.74rem);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-mode-card--primary .mode-card-body small{color:#d4e8e1}.home-footer{display:flex;justify-content:center;gap:.75rem;margin-top:clamp(2.5rem,6vh,4.5rem);color:#78847f;font-size:.68rem;letter-spacing:.04em;text-align:center}.home-footer button{padding:0 0 1px;color:var(--pine-700);border:0;border-bottom:1px solid currentColor;background:transparent;font-size:inherit;font-weight:800;letter-spacing:inherit}.games-page{min-height:100vh;padding:1.25rem clamp(1rem,4vw,3rem) 3rem;background:radial-gradient(circle at 88% -8%,rgba(120,184,201,.18),transparent 29%),var(--paper)}.games-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1040px,100%);margin:0 auto}.games-intro{width:min(1040px,100%);margin:clamp(3rem,7vh,5rem) auto 2rem}.games-intro>span,.games-section-heading span{color:#a84c3f;font-size:.64rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.games-intro h1{margin:.55rem 0 .7rem;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;letter-spacing:-.055em}.games-intro p{max-width:580px;color:var(--muted);line-height:1.55}.games-sections{display:grid;gap:2rem;width:min(1040px,100%);margin:0 auto}.games-sections>section{min-width:0}.games-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.games-section-heading h2{margin:.25rem 0 0;font-size:1.18rem;letter-spacing:-.02em}.games-section-heading>strong{display:grid;width:52px;height:32px;place-items:center;color:var(--pine-800);border:1px solid #bfd0ca;border-radius:999px;background:#eef5f1;font-size:.75rem}.game-library-list{display:grid;gap:.65rem}.game-library-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:116px;padding:1rem 1.05rem;border:1px solid #d9ddd7;border-radius:14px;background:#ffffffd1;box-shadow:var(--shadow-sm);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.game-library-card:hover{transform:translateY(-1px);border-color:#a8bdb5;box-shadow:0 10px 28px #112b2714}.game-library-icon{display:grid;width:46px;height:46px;place-items:center;color:var(--pine-800);border-radius:13px;background:var(--pine-100)}.game-library-copy{min-width:0}.game-library-title-row{display:flex;align-items:center;gap:.65rem}.game-library-title-row h3{margin:0;font-size:1rem}.game-library-status{display:inline-flex;padding:.22rem .48rem;color:#256555;border-radius:999px;background:#dff0e7;font-size:.58rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.game-library-status.is-complete{color:#845a14;background:#f4e8c7}.game-library-copy p{margin:.32rem 0;color:var(--muted);font-size:.7rem}.game-library-copy>strong{display:block;font-size:.77rem}.game-library-copy small{display:flex;align-items:center;gap:.28rem;margin-top:.32rem;color:#7a8581;font-size:.62rem}.game-library-card>button,.games-load-more,.games-state button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:42px;padding:.55rem .8rem;color:#fff;border:1px solid var(--pine-800);border-radius:9px;background:var(--pine-800);font-size:.68rem;font-weight:850}.games-empty,.games-state{display:grid;min-height:100px;place-items:center;margin:0;padding:1rem;color:var(--muted);border:1px dashed #cdd4cf;border-radius:13px;background:#ffffff6b;font-size:.78rem}.games-state{width:min(1040px,100%);margin:1rem auto;text-align:center}.games-state p{margin-bottom:.8rem}.games-load-more{margin:.8rem auto 0;color:var(--pine-800);background:transparent}.privacy-scrim{position:fixed;z-index:100;inset:0;display:grid;align-items:end;justify-items:center;padding:1rem;background:#091b1857;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.privacy-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;width:min(760px,100%);padding:1.1rem 1.2rem;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:#fffffff7;box-shadow:0 22px 70px #0b272242}.privacy-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--pine-800);border-radius:12px;background:var(--pine-100)}.privacy-card h2{margin:0 0 .25rem;font-size:1rem;letter-spacing:-.015em}.privacy-card p{margin:0 0 .25rem;color:var(--ink);font-size:.78rem;line-height:1.45}.privacy-card small{display:block;max-width:530px;color:var(--muted);font-size:.64rem;line-height:1.45}.privacy-actions{display:flex;gap:.45rem}.privacy-button{min-height:40px;padding:.55rem .8rem;border:1px solid #bdc9c4;border-radius:8px;background:#fff;font-size:.69rem;font-weight:800;white-space:nowrap}.privacy-button--primary{color:#fff;border-color:var(--pine-800);background:var(--pine-800)}.privacy-close{position:absolute;top:.35rem;right:.35rem;width:34px;height:34px}.auth-page{min-height:100vh;padding:1.25rem clamp(1rem,4vw,3rem) 3rem;background:radial-gradient(circle at 50% -10%,rgba(123,182,153,.22),transparent 36%),radial-gradient(circle at 85% 90%,rgba(214,169,78,.12),transparent 30%),var(--paper)}.auth-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1040px,100%);margin:0 auto}.auth-container{width:min(440px,100%);margin:clamp(1.5rem,4vh,3rem) auto 0}.auth-back-link{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.2rem;padding:.35rem .6rem;color:var(--pine-700);background:transparent;border:0;border-radius:6px;font-size:.76rem;font-weight:800;transition:transform .14s ease,color .14s ease}.auth-back-link:hover{transform:translate(-3px);color:var(--pine-900)}.auth-card{padding:clamp(1.5rem,3.5vw,2.25rem);border:1px solid #d6d8d2;border-radius:18px;background:#ffffffeb;box-shadow:var(--shadow-sm),0 20px 48px #102c2912}.auth-card-header{margin-bottom:1.5rem;text-align:center}.auth-eyebrow{display:inline-block;margin-bottom:.4rem;color:#a84c3f;font-size:.64rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.auth-title{margin-bottom:.5rem;color:var(--pine-950);font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.15}.auth-subtitle{color:var(--muted);font-size:.82rem;line-height:1.45}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;margin-bottom:1.35rem;padding:.3rem;border-radius:11px;background:#eae8df}.auth-tab{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800;transition:all .16s ease}.auth-tab-active{background:#fff;color:var(--pine-900);box-shadow:0 1px 3px #00000014}.auth-error-banner{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.65rem .85rem;border:1px solid #f2c7c2;border-radius:9px;background:#fdf2f0;color:#9e2a2b;font-size:.76rem;font-weight:700}.auth-social-buttons{display:grid;gap:.6rem;margin-bottom:1.25rem}.social-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:44px;padding:.55rem 1rem;border:1px solid #d4dad6;border-radius:10px;font-size:.8rem;font-weight:800;transition:background .14s ease,border-color .14s ease,transform .14s ease}.social-btn.google-btn{background:#fff;color:var(--pine-950)}.social-btn.google-btn:not(:disabled):hover{background:#f9f9f8;border-color:#a8bdb5;transform:translateY(-1px)}.social-btn.facebook-btn{background:#f4f5f7;color:#4b5563;border-color:#e2e4e8}.social-btn.disabled{opacity:.72;cursor:not-allowed}.badge-coming-soon{margin-left:auto;padding:.15rem .45rem;border-radius:999px;background:#e5e7eb;color:#6b7280;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auth-divider{display:flex;align-items:center;gap:.8rem;margin-bottom:1.25rem;color:#8c9793;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#d8dbd6}.auth-form{display:grid;gap:1rem}.form-group{display:grid;gap:.35rem}.form-label{color:var(--pine-900);font-size:.76rem;font-weight:800}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.85rem;color:#83918d;pointer-events:none}.form-input{width:100%;min-height:44px;padding:.55rem .85rem .55rem 2.45rem;border:1px solid #c9d1cc;border-radius:9px;background:#fff;color:var(--pine-950);font-size:.85rem;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:var(--pine-700);box-shadow:0 0 0 3px #29675b26}.form-input::placeholder{color:#a4b0ac}.auth-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;margin-top:.4rem;padding:.65rem 1.2rem;border:0;border-radius:10px;background:var(--pine-800);color:#fff;font-size:.85rem;font-weight:800;box-shadow:0 4px 14px #184a4140;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.auth-submit-btn:not(:disabled):hover{background:var(--pine-700);transform:translateY(-1px);box-shadow:0 6px 18px #184a4152}.auth-card-footer{margin-top:1.35rem;text-align:center}.auth-mode-switch{padding:.4rem .6rem;color:var(--pine-700);background:transparent;border:0;font-size:.78rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;transition:color .14s ease}.auth-mode-switch:hover{color:var(--pine-950)}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.setup-page{min-height:100vh;padding:1.25rem clamp(1rem,4vw,3rem) 3rem;background:radial-gradient(circle at 50% -10%,rgba(123,182,153,.22),transparent 36%),radial-gradient(circle at 85% 90%,rgba(214,169,78,.12),transparent 30%),var(--paper)}.setup-header{display:flex;align-items:center;justify-content:space-between;width:min(640px,100%);margin:0 auto}.setup-container{width:min(640px,100%);margin:clamp(1.2rem,3vh,2.5rem) auto 0}.setup-card{padding:clamp(1.5rem,4vw,2.5rem);border:1px solid #d6d8d2;border-radius:18px;background:#ffffffeb;box-shadow:var(--shadow-sm),0 20px 48px #102c2912}.setup-card h1{margin-bottom:.55rem;font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.04em;color:var(--pine-950)}.setup-subtitle{margin-bottom:2rem;color:var(--muted);font-size:.85rem;line-height:1.5}.choice-fieldset{margin:0 0 1.6rem;padding:0;border:0}.choice-fieldset legend{display:flex;align-items:center;gap:.55rem;width:100%;margin-bottom:.7rem;font-family:Avenir Next,sans-serif;font-size:.82rem;font-weight:800;color:var(--pine-900)}.segmented-control{display:grid;gap:.6rem}.segmented-control--two{grid-template-columns:repeat(2,1fr)}.segmented-control button,.timer-options button{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:.7rem .9rem;border:1px solid #c9d1cc;border-radius:10px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.segmented-control button:hover,.timer-options button:hover,.difficulty-option:hover{border-color:#9cb4ac;transform:translateY(-1px)}.segmented-control button.is-selected,.timer-options button.is-selected,.difficulty-option.is-selected{border-color:var(--pine-800);box-shadow:0 0 0 1px var(--pine-800),var(--shadow-sm);background:#f6faf8}.segmented-control button span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em}.difficulty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.difficulty-option{display:flex;align-items:flex-start;gap:.7rem;min-height:68px;padding:.8rem;text-align:left;border:1px solid #c9d1cc;border-radius:10px;background:#fff;transition:.16s ease}.difficulty-option>span:last-child{display:grid;gap:.2rem}.difficulty-option small{color:var(--muted);font-size:.72rem;line-height:1.35}.radio-dot{flex:0 0 auto;width:14px;height:14px;margin-top:3px;border:2px solid #aab5b1;border-radius:50%}.difficulty-option.is-selected .radio-dot{border:4px solid var(--pine-700)}.timer-options{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.timer-options button{flex-direction:column;justify-content:center;gap:.05rem;padding:.5rem;font-family:Avenir Next,sans-serif;font-weight:800}.timer-options small{color:var(--muted);font-family:inherit;font-size:.65rem;font-weight:600}.start-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:.5rem;padding:0 1.25rem;color:#fff;border:0;border-radius:11px;background:var(--pine-800);box-shadow:0 10px 24px #1d4e4533;font-family:Avenir Next,sans-serif;font-size:.9rem;font-weight:800;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.start-button:not(:disabled):hover{background:var(--pine-700);transform:translateY(-1px);box-shadow:0 14px 30px #1d4e4547}.setup-error{margin:.8rem 0 0;padding:.65rem .75rem;color:#8f3028;border:1px solid #e8b9b2;border-radius:8px;background:#fff0ed;font-size:.78rem}.authority-note{margin:.9rem auto 0;color:var(--muted);font-size:.73rem;text-align:center}.restore-screen{display:grid;place-items:center;min-height:100vh;color:var(--pine-800);background:var(--paper);font-weight:700}.game-page{min-height:100vh;padding:1.25rem clamp(1rem,3vw,3rem) 2rem;background:radial-gradient(circle at 50% -10%,rgba(123,182,153,.18),transparent 32%),var(--paper)}.game-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin:0 auto clamp(.6rem,1.5vh,1.2rem);color:var(--pine-900)}.game-header-brand-group{display:flex;align-items:center;gap:1rem}.game-header .game-home-button{font-size:.78rem;font-weight:750}.menu-button{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.48rem .72rem;color:var(--pine-900);border:1px solid #d4dad6;border-radius:9px;background:#ffffffdb;font-size:.78rem;font-weight:700;cursor:pointer;box-shadow:0 1px 2px #102c290d;transition:background .15s ease,border-color .15s ease,transform .15s ease}.menu-button:hover,.menu-button.is-active{border-color:#a8bdb5;background:#fff;color:var(--pine-950);transform:translateY(-1px)}.game-menu-anchor{position:relative}.game-accordion-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 1.5rem));padding:.55rem;border:1px solid rgba(18,52,46,.15);border-radius:12px;background:var(--paper);box-shadow:0 12px 32px #0c211e3d,0 2px 6px #0c211e14;color:var(--pine-900);z-index:100;animation:dialog-in .18s cubic-bezier(.2,.8,.2,1) both}.accordion-account-chip{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;margin-bottom:.45rem;border-radius:8px;background:#e7eeea;color:var(--pine-900);font-size:.8rem;font-weight:700}.accordion-account-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-menu-list{display:flex;flex-direction:column;gap:.25rem}.accordion-menu-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;border:0;border-radius:7px;background:transparent;color:var(--pine-900);font-family:inherit;font-size:.82rem;font-weight:700;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.accordion-menu-item:hover,.accordion-menu-item:focus-visible{background:#edf2ef}.accordion-menu-item--danger{color:#a33f36}.accordion-menu-item--danger:hover,.accordion-menu-item--danger:focus-visible{background:#fbefec;color:#8c2e26}.accordion-group-toggle{justify-content:space-between}.accordion-group-toggle span{flex:1;text-align:left}.accordion-chevron{transition:transform .2s ease;color:var(--muted)}.accordion-chevron.is-open{transform:rotate(180deg)}.accordion-group-panel{margin:.25rem 0 .35rem;padding:.65rem .75rem;border-radius:8px;background:#edf2ef;animation:dialog-in .15s ease both}.accordion-group-panel.rules-list{font-size:.74rem}.accordion-resign-panel p{margin:0 0 .55rem;font-size:.76rem;color:var(--muted);line-height:1.4}.accordion-resign-actions{display:flex;gap:.45rem}.accordion-btn{flex:1;padding:.45rem .6rem;border-radius:7px;border:1px solid #d2d8d4;background:#fff;font-size:.76rem;font-weight:700;cursor:pointer;transition:background .15s ease}.accordion-btn:hover{background:#f4f6f5}.accordion-btn--danger{color:#fff;background:#a33f36;border-color:#a33f36}.accordion-btn--danger:hover{background:#8c2e26;border-color:#8c2e26}.game-shell{width:min(1120px,100%);margin:0 auto;padding:0 0 2rem}.player-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-width:0;padding:.7rem .85rem;border:1px solid #dadbd4;border-radius:11px;background:#ffffffad;box-shadow:0 2px 10px #16332e08;transition:border .18s ease,background .18s ease,transform .18s ease}.player-card.is-active{border-color:#8db4a8;background:#fff;box-shadow:var(--shadow-sm)}.player-avatar{position:relative;display:grid;place-items:center;width:36px;height:36px;color:var(--pine-800);border-radius:50%;background:var(--pine-100)}.turn-pip{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border:2.5px solid #fff;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #22c55e59,0 2px 4px #0000002e;animation:pulse-turn 2s infinite ease-in-out}.player-identity{min-width:0;display:grid;gap:.12rem}.player-identity strong{overflow:hidden;font-size:.88rem;white-space:nowrap;text-overflow:ellipsis}.player-identity span{color:var(--muted);font-size:.7rem}.player-metrics{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:.75rem}.score-value{min-width:2ch;font-size:1.35rem;line-height:1;text-align:right;animation:score-in .32s ease both}.player-metrics time{min-width:3.4rem;padding:.35rem .45rem;color:var(--pine-900);border-radius:6px;background:#e8e9e4;font-family:Avenir Next,sans-serif;font-size:.73rem;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);justify-content:center;align-items:start;gap:clamp(1rem,2vw,1.75rem);width:100%;margin:0 auto}.play-column{width:100%;min-width:0}.players-card{display:flex;flex-direction:column;gap:.4rem;padding:.55rem}.scorebox-header{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.15rem .35rem .45rem;border-bottom:1px solid #e1e7e4;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.02em}.scorebox-meta-item{color:var(--pine-800)}.scorebox-dot{width:3px;height:3px;border-radius:50%;background:#889e96}.players-list{display:flex;flex-direction:column;gap:.35rem}.players-card .player-card{padding:.55rem .65rem;border-radius:9px;box-shadow:none}.players-card .player-avatar{width:34px;height:34px}.board-section{padding:clamp(.48rem,1vw,.72rem);border:1px solid #d7d8d1;border-radius:14px;background:#ffffffb8;box-shadow:var(--shadow-sm)}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.45rem}.board-toolbar .eyebrow{color:var(--pine-700)}.board-hint{margin:.1rem 0 0;color:var(--muted);font-size:.7rem}.board-zoom-button{gap:.35rem;padding:.42rem .55rem;color:var(--pine-800);border:1px solid #d1d8d4;border-radius:7px;background:#fff;font-size:.7rem;font-weight:700}.board-viewport{width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#91a39e transparent}.board-coordinate-layout{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:17px auto;width:100%;min-width:0}.column-labels{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));align-items:center}.row-labels{display:grid;grid-template-rows:repeat(15,minmax(0,1fr));align-items:center}.column-labels span,.row-labels span{color:#5e6b67;font-family:Avenir Next,sans-serif;font-size:clamp(.48rem,.7vw,.63rem);font-weight:700;text-align:center}.board{display:grid;grid-template-rows:repeat(15,minmax(0,1fr));width:100%;aspect-ratio:1;overflow:hidden;border:3px solid var(--pine-900);border-radius:7px;background:var(--pine-900);gap:1px;box-shadow:inset 0 0 0 1px var(--pine-900),0 10px 25px #12342e1f;touch-action:manipulation}.board-row{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));min-height:0;gap:1px}.board-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:visible;background:#dce1d8;-webkit-user-select:none;user-select:none;transition:filter .12s ease,transform .12s ease,box-shadow .12s ease}.board-cell>*{min-width:0;min-height:0}.board-cell:hover{filter:brightness(1.04)}.board-cell.is-over,.board-cell.is-target:hover{z-index:2;box-shadow:inset 0 0 0 3px #efbd59}.board-cell.is-highlighted,.board-cell.is-computer-move{z-index:3;box-shadow:inset 0 0 0 3px #2d9b75,0 0 0 2px #ffffffc7;filter:saturate(1.18) brightness(1.08)}.board-cell.is-highlighted .tile-face,.board-cell.is-computer-move .tile-face{animation:computer-move-reveal .72s cubic-bezier(.2,.85,.25,1) both;box-shadow:inset 1px 1px #ffffffc7,inset -1px -2px #7b5b2324,0 0 0 3px #2d9b75,0 5px 12px #1a5f4857}.board-cell.is-invalid{z-index:3;animation:invalid-cell .42s ease;box-shadow:inset 0 0 0 3px #c8493c}.board-cell.is-preview-anchor{z-index:6}.draft-preview-marker{position:absolute;z-index:7;top:-28%;right:-28%;display:grid;width:clamp(15px,68%,24px);aspect-ratio:1;place-items:center;color:#fff;border:2px solid rgba(255,255,255,.94);border-radius:50%;box-shadow:0 2px 6px #1427204d;font-family:Avenir Next,sans-serif;font-size:clamp(.56rem,1.1vw,.76rem);font-weight:900;line-height:1;pointer-events:none;animation:draft-preview-in .12s ease-out both}.draft-preview-marker.is-legal{background:#24825f}.draft-preview-marker.is-illegal{background:#c3453c;font-size:clamp(.72rem,1.35vw,.95rem)}.score-celebration{position:absolute;z-index:8;top:-28%;right:-28%;width:clamp(15px,68%,24px);aspect-ratio:1;pointer-events:none}.score-balloon{position:absolute;inset:0;animation:score-balloon-flight 1s cubic-bezier(.22,.61,.36,1) forwards;will-change:transform,opacity}.score-balloon-face{display:grid;width:100%;height:100%;place-items:center;color:#fff;border:2px solid rgba(255,255,255,.96);border-radius:50%;background:#24825f;box-shadow:0 2px 7px #14272057;font-family:Avenir Next,sans-serif;font-size:clamp(.56rem,1.1vw,.76rem);font-weight:900;line-height:1;animation:score-balloon-pulse 1s ease-out forwards;will-change:transform}.score-firework{position:absolute;top:50%;left:50%;width:0;height:0}.score-firework i{--star-x: 0px;--star-y: -34px;position:absolute;top:0;left:0;color:#efbd59;font-style:normal;font-size:clamp(.42rem,.9vw,.7rem);line-height:1;text-shadow:0 1px 2px rgba(72,45,10,.2);opacity:0;animation:score-star-firework .78s cubic-bezier(.18,.7,.24,1) 55ms forwards}.score-firework i:nth-child(2){--star-x: 25px;--star-y: -25px;animation-delay:85ms}.score-firework i:nth-child(3){--star-x: 36px;--star-y: 0px;animation-delay:35ms}.score-firework i:nth-child(4){--star-x: 25px;--star-y: 25px;animation-delay:105ms}.score-firework i:nth-child(5){--star-x: 0px;--star-y: 34px;animation-delay:65ms}.score-firework i:nth-child(6){--star-x: -25px;--star-y: 25px;animation-delay:95ms}.score-firework i:nth-child(7){--star-x: -36px;--star-y: 0px;animation-delay:45ms}.score-firework i:nth-child(8){--star-x: -25px;--star-y: -25px;animation-delay:115ms}.board-cell.preview-edge-right .draft-preview-marker,.board-cell.preview-edge-right .score-celebration{right:2px}.board-cell.preview-edge-top .draft-preview-marker,.board-cell.preview-edge-top .score-celebration{top:2px}.premium-normal{background:#d9dfd5}.premium-double-letter{background:var(--sky-soft);color:#306979}.premium-triple-letter{background:var(--sky);color:#153f4b}.premium-double-word,.premium-center{background:var(--coral-soft);color:#7d3d32}.premium-triple-word{background:var(--coral);color:#3e1712}.premium-mark{display:inline-flex;align-items:flex-end;font-family:Avenir Next,sans-serif;font-size:clamp(.52rem,1.15vw,.88rem);font-weight:800;letter-spacing:-.02em;line-height:1}.premium-mark sub{margin-left:.05em;font-size:.8em;font-weight:900;line-height:1;transform:translateY(.16em)}.board-cell.premium-center .premium-mark{font-size:clamp(.62rem,1.3vw,1rem)}.board-center-button{margin:.55rem 0 0 20px;color:var(--pine-700);font-size:.7rem}.tile-face{position:relative;display:grid;place-items:center;width:91%;aspect-ratio:1;color:#26342e;border:1px solid #c5a968;border-radius:12%;background:linear-gradient(145deg,#f6e5bd,#e7cb8e 62%,#d9ba74);box-shadow:inset 1px 1px #ffffffb8,inset -1px -2px #7b5b2329,0 2px 3px #1c2a233d;font-family:Avenir Next,sans-serif;font-weight:800;transition:transform .15s ease,box-shadow .15s ease}.tile-letter{font-size:clamp(.62rem,2vw,1.38rem);line-height:1}.tile-points{position:absolute;right:9%;bottom:4%;font-family:inherit;font-size:clamp(.32rem,.7vw,.55rem);font-weight:800}.tile-face.is-selected{transform:translateY(-5px);box-shadow:inset 1px 1px #ffffffbf,0 0 0 3px #eab753,0 7px 12px #1d322a3d}.tile-face.is-blank-assigned .tile-letter{font-style:italic}.tile-face.is-new{animation:tile-arrive .3s cubic-bezier(.2,.8,.2,1) both}.tile-button{display:grid;place-items:center;width:100%;aspect-ratio:1;padding:0;border:0;background:transparent;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.tile-button--board{position:absolute;inset:0;z-index:2}.tile-button.is-dragging{opacity:0}.drag-overlay{display:grid;width:100%;height:100%;place-items:center;transform:scale(var(--drag-tile-scale, 1))}.drag-overlay .tile-letter{transform:scale(var(--drag-content-scale, 1))}.drag-overlay .tile-points{transform:scale(var(--drag-content-scale, 1));transform-origin:right bottom}.rack-section{margin-top:.55rem;padding:.55rem clamp(.65rem,1.1vw,.85rem) .5rem;border:1px solid #d7d8d1;border-radius:12px;background:#ffffffc2;box-shadow:var(--shadow-sm)}.rack-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.rack-heading .eyebrow{color:var(--pine-700)}.rack-heading p{margin:.08rem 0 0;color:var(--muted);font-size:.68rem}.draft-badge{padding:.25rem .48rem;color:var(--pine-700);border-radius:999px;background:var(--pine-100);font-size:.62rem;font-weight:800}.exchange-status{display:flex;align-items:center;gap:.55rem}.exchange-cancel{min-height:36px;color:var(--pine-700);font-size:.65rem;font-weight:800}.rack{position:relative;display:grid;grid-template-columns:repeat(7,minmax(44px,64px));justify-content:center;gap:clamp(.12rem,.45vw,.28rem);width:min(100%,500px);min-height:54px;margin-inline:auto;padding:.32rem .55rem .52rem;border-bottom:7px solid #765338;border-radius:8px 8px 5px 5px;background:linear-gradient(#a47a54,#8d6746);box-shadow:inset 0 2px #ffffff29,0 5px 9px #2b211629}.rack:after{content:"";position:absolute;inset:auto 0 -8px;height:4px;border-radius:0 0 8px 8px;background:#503923}.rack.is-over{box-shadow:inset 0 0 0 3px #efbd59,0 5px 9px #2b211629}.rack-slot{min-width:0;aspect-ratio:1}.rack-slot.is-over{border-radius:6px;box-shadow:0 0 0 3px #efbd59}.rack-slot--empty{border:1px dashed rgba(255,255,255,.13);border-radius:6px;background:#40261314}.rack .tile-face{width:78%}.rack .tile-letter{font-size:clamp(1.08rem,3.65vw,2.1rem)}.rack .tile-points{right:7%;bottom:3%;font-size:clamp(.42rem,1vw,.67rem)}.keyboard-tip{margin:.4rem 0 0;color:var(--muted);font-size:.6rem;text-align:center}kbd{padding:.08rem .28rem;border:1px solid #cacdc7;border-bottom-width:2px;border-radius:4px;background:#fff;font-size:.58rem}.action-bar{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:.4rem;margin-top:.5rem}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.6rem .7rem;border:1px solid #ced3cf;border-radius:8px;background:#fffc;font-size:.72rem;font-weight:700;transition:transform .14s ease,border .14s ease,background .14s ease}.action-button:not(:disabled):hover{border-color:#9bb0a9;background:#fff;transform:translateY(-1px)}.action-button--primary{color:#fff;border-color:var(--pine-800);background:var(--pine-800)}.action-button--primary:not(:disabled):hover{border-color:var(--pine-700);background:var(--pine-700)}.action-button.is-active{color:var(--pine-900);border-color:var(--gold);background:#f5e7bf}.feedback-banner{display:flex;align-items:center;gap:.55rem;min-height:38px;margin-top:.45rem;padding:.5rem .7rem;border-radius:8px;font-size:.7rem;line-height:1.35}.feedback-banner svg{flex:0 0 auto}.feedback-banner code{margin-left:auto;color:inherit;opacity:.7;font-size:.58rem}.feedback-info{color:#486561;background:#dfe9e6}.feedback-success{color:#1f694c;background:#d9eee3}.feedback-error{color:#8c352d;background:#f5d9d3}@media(min-width:901px)and (max-height:950px){.game-shell{padding-top:.55rem}.play-column{width:min(100%,clamp(400px,calc(100dvh - 470px),620px))}.board-section{padding:.48rem}.rack-section{padding-block:.45rem .4rem}.rack-heading{margin-bottom:.4rem}.keyboard-tip{margin-top:.3rem}}.info-rail{display:grid;gap:.75rem;min-width:0}.info-card,.rules-card{overflow:hidden;border:1px solid #d7d8d1;border-radius:12px;background:#ffffffc2;box-shadow:var(--shadow-sm)}.info-card-header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:.7rem .85rem;border-bottom:1px solid #e1e1da}.info-card-header>div{display:flex;align-items:center;gap:.5rem}.info-card-header h2{margin:0;font-size:.8rem}.info-card-header>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 .35rem;color:var(--muted);border-radius:999px;background:#ecece7;font-size:.65rem;font-weight:800}.history-list{max-height:min(45vh,390px);overflow-y:auto}.empty-history{display:flex;align-items:center;gap:.75rem;padding:1.25rem .9rem;color:var(--muted)}.empty-history>span{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;color:var(--pine-700);border-radius:50%;background:var(--pine-100);font-family:Avenir Next,sans-serif;font-weight:800}.empty-history p{margin:0;font-size:.7rem;line-height:1.45}.history-entry{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:.6rem;width:100%;min-height:52px;padding:.55rem .8rem;text-align:left;border:0;border-bottom:1px solid #e8e7e1;background:transparent;transition:background .14s ease}.history-entry:hover,.history-entry.is-selected{background:#edf3f0}.history-turn{color:var(--muted);font-size:.62rem;font-weight:700}.history-main{display:flex;align-items:center;gap:.35rem;line-height:1}.history-score{display:grid;gap:.12rem}.history-main strong{display:inline-flex;align-items:center;min-height:16px;font-size:.77rem;letter-spacing:.03em;line-height:1}.history-main small,.history-score small{color:var(--muted);font-size:.62rem}.history-player{display:inline-flex;flex:0 0 16px;width:16px;height:16px;align-items:center;justify-content:center;color:var(--pine-700);line-height:0}.history-player svg{display:block}.history-score{text-align:right}.history-score strong{color:var(--pine-700);font-size:.75rem}.dictionary-card{display:grid;gap:.65rem;padding:.8rem;background:#f6faf8}.dictionary-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dictionary-title strong{color:var(--pine-800);font-size:.88rem;letter-spacing:.045em}.dictionary-title>span{display:flex;align-items:center;gap:.35rem}.dictionary-title small,.dictionary-card>p{color:var(--muted);font-size:.64rem}.dictionary-toggle{display:grid;width:1.7rem;height:1.7rem;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--pine-700);cursor:pointer}.dictionary-toggle:hover{background:#e4eee8}.dictionary-toggle:focus-visible{outline:2px solid var(--pine-500);outline-offset:2px}.dictionary-content{display:grid;gap:.65rem}.dictionary-content>p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.45}.dictionary-senses{display:grid;gap:.55rem;margin:0;padding-left:1.15rem}.dictionary-senses li{padding-left:.15rem;font-size:.68rem;line-height:1.45}.dictionary-senses li small{display:block;color:var(--pine-700);font-size:.56rem;font-weight:800;text-transform:uppercase}.dictionary-attribution{display:grid;gap:.2rem;padding-top:.55rem;border-top:1px solid #dce5df;color:var(--muted);font-size:.55rem;line-height:1.4}.dictionary-attribution a{width:fit-content;color:var(--pine-700);text-decoration:underline;text-underline-offset:2px}.bag-card summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;min-height:60px;padding:.7rem .85rem;list-style:none}.bag-card summary::-webkit-details-marker{display:none}.summary-title{display:flex;align-items:center;gap:.55rem}.summary-title>span{display:grid;gap:.1rem}.summary-title strong{font-size:.78rem}.summary-title small{color:var(--muted);font-size:.61rem}.unseen-total{display:grid;place-items:center;min-width:34px;height:29px;padding:0 .4rem;color:#fff;border-radius:7px;background:var(--pine-800);font-family:Avenir Next,sans-serif;font-size:.78rem;font-weight:800}.summary-chevron{transition:transform .18s ease}.bag-card[open] .summary-chevron{transform:rotate(180deg)}.distribution-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;padding:.75rem;border-top:1px solid #e2e2dc}.distribution-grid span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #ddd9cf;border-radius:5px;background:#f9f6ee}.distribution-grid strong{font-size:.7rem}.distribution-grid small{color:var(--muted);font-size:.52rem}.bag-note{margin:0;padding:0 .8rem .8rem;color:var(--muted);font-size:.6rem;line-height:1.4}.rules-card{display:flex;align-items:center;gap:.65rem;width:100%;padding:.8rem .9rem;text-align:left;border-color:#d7d8d1}.rules-card:hover{background:#fff}.rules-card>span{display:grid;gap:.1rem}.rules-card strong{font-size:.75rem}.rules-card small{color:var(--muted);font-size:.61rem}.dialog-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:#081b1894;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .16s ease both}.game-dialog{position:relative;width:min(430px,100%);padding:1.6rem;border:1px solid rgba(255,255,255,.5);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-md);animation:dialog-in .2s cubic-bezier(.2,.8,.2,1) both}.game-dialog .eyebrow{display:block;margin-bottom:.45rem;color:#a84c3f}.game-dialog h2{margin-bottom:.45rem;font-size:1.55rem;letter-spacing:-.035em}.game-dialog>p{margin-bottom:1.25rem;color:var(--muted);font-size:.82rem;line-height:1.5}.dialog-close{position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;border-radius:50%;background:#e8e9e4}.dialog-account-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.85rem;border-radius:8px;background:#e4ebe7;color:var(--pine-900);font-size:.82rem;font-weight:700}.dialog-actions{display:grid;gap:.55rem}.dialog-button{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:45px;padding:.6rem .9rem;border:1px solid #d2d4ce;border-radius:8px;background:#fff;font-weight:700}.dialog-button--danger{color:#a33f36;border-color:#e4bbb4;background:#fbefec}.rules-list{display:grid;gap:.65rem;padding:.8rem;border-radius:10px;background:#e9eeeb}.rules-list p{margin:0;color:#54615d;font-size:.75rem;line-height:1.45}.rules-list strong{display:inline-block;width:4.2rem;color:var(--pine-900)}.blank-letter-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem}.blank-letter{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid #c7cfca;border-radius:8px;background:#fff;font-weight:800}.blank-letter:hover,.blank-letter.is-selected{color:#fff;border-color:var(--pine-800);background:var(--pine-800)}.game-result{display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:.8rem;margin-bottom:.55rem;padding:.7rem .8rem;color:#fff;border-radius:12px;background:linear-gradient(135deg,var(--pine-900),var(--pine-700));box-shadow:var(--shadow-sm)}.game-result-heading{display:flex;align-items:center;gap:.6rem;min-width:0}.game-result-heading>span:last-child{display:grid;gap:.08rem}.game-result-heading small{color:#c6d8d2;font-size:.61rem}.game-result-heading strong{font-size:1rem}.result-icon{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;color:#3f2c08;border-radius:50%;background:#efc96e}.final-score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.final-score-grid>div{display:grid;grid-template-columns:1fr auto;column-gap:.4rem;padding:.38rem .48rem;border-radius:7px;background:#ffffff1a}.final-score-grid span{overflow:hidden;color:#d9e5e1;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.final-score-grid strong{grid-row:1 / span 2;grid-column:2;align-self:center;font-size:.95rem}.final-score-grid small{color:#c6d8d2;font-size:.52rem}.result-actions{display:grid;gap:.32rem}.result-button{display:inline-flex;align-items:center;justify-content:center;gap:.32rem;min-height:36px;padding:.35rem .6rem;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:7px;background:transparent;font-size:.64rem;font-weight:800}.result-button--primary{color:var(--pine-950);border-color:#efc96e;background:#efc96e}@keyframes tile-arrive{0%{opacity:0;transform:translateY(-8px) scale(.87)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes computer-move-reveal{0%{opacity:.45;transform:translateY(-7px) scale(.82)}55%{opacity:1;transform:translateY(0) scale(1.12)}to{transform:translateY(0) scale(1)}}@keyframes score-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes invalid-cell{0%,to{transform:translate(0)}30%{transform:translate(-2px)}65%{transform:translate(2px)}}@keyframes draft-preview-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes score-balloon-flight{0%{opacity:1;transform:translateZ(0) rotate(0)}76%{opacity:1}to{opacity:0;transform:translate3d(var(--celebration-x),var(--celebration-y),0) rotate(var(--celebration-rotation))}}@keyframes score-balloon-pulse{0%{transform:scale(1)}18%{transform:scale(1.2)}42%{transform:scale(1.06)}76%{transform:scale(.94)}to{transform:scale(.72)}}@keyframes score-star-firework{0%{opacity:0;transform:translate(-50%,-50%) scale(.12) rotate(0)}14%{opacity:1;transform:translate(-50%,-50%) scale(.42) rotate(20deg)}54%{opacity:1;transform:translate(calc(-50% + var(--star-x)),calc(-50% + var(--star-y))) scale(1.28) rotate(85deg)}78%{opacity:.72;transform:translate(calc(-50% + var(--star-x)),calc(-50% + var(--star-y))) scale(.72) rotate(125deg)}to{opacity:0;transform:translate(calc(-50% + var(--star-x)),calc(-50% + var(--star-y))) scale(.16) rotate(165deg)}}@keyframes pulse{50%{transform:scale(1.2);box-shadow:0 0 0 6px #d6a94e29}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes pulse-turn{0%,to{transform:scale(1)}50%{transform:scale(1.15);box-shadow:0 0 0 3.5px #22c55e66,0 2px 5px #00000038}}@media(max-width:1120px){.game-shell{max-width:980px}.play-layout{grid-template-columns:minmax(0,1fr) 260px;gap:1rem}.player-identity span{display:none}.action-button{padding-inline:.4rem}}@media(max-width:900px){.home-hero-card{grid-template-columns:1fr;gap:2rem;padding:2rem 1.5rem}.home-hero-content{align-items:center;text-align:center}.home-hero-desc{margin-left:auto;margin-right:auto}.home-hero-visual .mini-board{width:min(260px,80%);transform:rotate(0)}.home-modes-grid{grid-template-columns:repeat(2,minmax(0,230px));gap:.9rem}.game-shell{max-width:760px}.play-layout{grid-template-columns:1fr}.play-column{justify-self:center}.info-rail{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:start}.players-card{grid-column:1 / -1}.players-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.rules-card,.dictionary-card{grid-column:2}.history-card{grid-row:span 2}.history-list{max-height:270px}}@media(max-width:700px){.home-page{padding:.85rem .75rem 1.25rem}.home-header{align-items:flex-start}.home-header-actions{flex-wrap:wrap}.google-sign-in,.account-chip{min-height:42px}.home-hero-card{margin:1.25rem auto 1.5rem;padding:1.5rem 1rem;border-radius:16px}.home-hero-content h1{font-size:clamp(2rem,10vw,2.7rem)}.home-modes-grid{grid-template-columns:repeat(2,minmax(0,190px));gap:.6rem}.home-mode-card{padding:.75rem;border-radius:13px}.home-mode-icon{width:32px;height:32px;border-radius:9px}.mini-tile{width:20px;height:20px;font-size:.62rem;border-radius:4px}.mini-tile sub{font-size:.32rem;right:1px;bottom:.5px}.mode-card-badge{padding:.15rem .4rem;font-size:.52rem}.mode-card-body strong{font-size:.82rem}.mode-card-body small{font-size:.62rem;-webkit-line-clamp:2}.home-footer{margin-top:2.5rem}.games-page,.profile-page{padding:.85rem .75rem 2rem}.games-header .brand>span:last-child,.profile-header .brand>span:last-child{display:none}.games-intro,.profile-intro{margin:2.5rem auto 1.5rem}.games-intro h1{font-size:clamp(2.4rem,13vw,3.5rem)}.profile-intro h1{font-size:clamp(2.2rem,11vw,3.2rem)}.game-library-card{grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.9rem}.game-library-card>button{grid-column:1 / -1;width:100%}.game-library-title-row{align-items:flex-start;justify-content:space-between}.game-library-status{flex:none}.difficulty-grid{grid-template-columns:1fr}.difficulty-option{min-height:62px}.timer-options{gap:.3rem}.timer-options button{min-height:48px}.game-page{padding:.85rem .75rem 2rem}.game-header{height:auto;margin-bottom:.6rem}.game-header-brand-group .brand>span:last-child{display:none}.game-home-button span,.menu-button span{display:none}.game-home-button,.menu-button{min-width:38px;min-height:38px;padding:.45rem;justify-content:center}.game-shell{padding:0 0 5rem}.player-card{padding:.48rem .52rem;gap:.45rem}.player-avatar{width:30px;height:30px}.turn-pip{width:11px;height:11px}.player-metrics{gap:.35rem}.score-value{font-size:1.05rem}.player-metrics time{min-width:3.1rem;padding:.3rem;font-size:.65rem}.play-column{width:100%}.board-section{width:calc(100% + .9rem);margin-inline:-.45rem;padding:.3rem 0;border-radius:10px}.board-toolbar{margin-bottom:.25rem;padding-inline:.3rem}.board-hint{display:none}.board-coordinate-layout{display:block;width:max(100%,360px)}.board-coordinate-layout>:first-child,.column-labels,.row-labels{display:none}.board,.board-row{gap:0}.board{border-width:2px;border-radius:4px}.board-cell{outline:1px solid rgba(23,59,54,.72);outline-offset:-1px}.board-cell .tile-face{width:95%}.tile-letter{font-size:clamp(.48rem,3vw,.72rem)}.tile-points{font-size:.26rem}.premium-mark{font-size:clamp(.36rem,2.15vw,.56rem)}.board-viewport.is-zoomed .board-coordinate-layout{display:grid;grid-template-columns:15px minmax(0,1fr);grid-template-rows:14px auto;width:680px}.board-viewport.is-zoomed .board-coordinate-layout>:first-child{display:block}.board-viewport.is-zoomed .column-labels,.board-viewport.is-zoomed .row-labels{display:grid}.board-viewport.is-zoomed .tile-letter{font-size:1.25rem}.board-viewport.is-zoomed .tile-points{font-size:.48rem}.board-viewport.is-zoomed .premium-mark{font-size:.82rem}.rack-section{margin-top:.45rem;padding:.55rem .45rem .45rem}.rack-heading p,.keyboard-tip{display:none}.rack{gap:.14rem;min-height:47px;padding:.3rem .35rem .5rem;border-bottom-width:6px}.rack-slot,.rack .tile-button{min-width:44px;min-height:44px}.rack .tile-letter{font-size:clamp(1.08rem,6.4vw,1.55rem)}.rack .tile-points{font-size:.46rem}.action-bar{position:fixed;z-index:30;right:0;bottom:0;left:0;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:.4rem max(.35rem,env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));border-top:1px solid #cdd2ce;background:#f8f7f2f5;box-shadow:0 -8px 24px #122d281a;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.action-button{flex-direction:column;gap:.18rem;min-height:48px;padding:.3rem .15rem;border:0;border-radius:7px;background:transparent;font-size:.57rem}.action-button--primary{color:#fff;background:var(--pine-800)}.feedback-banner{margin-top:.4rem}.info-rail{grid-template-columns:1fr;margin-top:.55rem}.players-card{grid-column:auto;grid-template-columns:1fr}.rules-card,.dictionary-card{grid-column:auto}.history-card{grid-row:auto}.history-list{max-height:220px}.distribution-grid{grid-template-columns:repeat(9,1fr)}.board-zoom-button,.dialog-close{min-width:44px;min-height:44px}.game-result{grid-template-columns:1fr}.result-actions{grid-template-columns:repeat(2,1fr)}.result-button{min-height:44px}}@media(max-width:390px){.setup-brand-panel{min-height:270px}.segmented-control button{min-height:48px}.choice-fieldset{margin-bottom:1.35rem}.player-identity strong{font-size:.73rem}.player-avatar{display:none}.player-card{grid-template-columns:1fr auto}.board-zoom-button span{display:none}.distribution-grid{grid-template-columns:repeat(8,1fr)}.blank-letter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:700px){.privacy-card{grid-template-columns:auto 1fr;gap:.75rem;padding:1rem}.privacy-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;width:100%}.privacy-button{white-space:normal}.home-footer{flex-direction:column;align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.home-seo-section{width:min(960px,100%);margin:0 auto;padding:2.5rem clamp(1rem,4vw,2rem);border-top:1px solid #e4e8e5}.home-seo-heading{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:800;color:var(--pine-900);letter-spacing:-.01em;margin:0 0 1.5rem}.home-seo-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.seo-feature-card{padding:1.1rem 1.25rem;border:1px solid #e0e5e2;border-radius:12px;background:#ffffffb3}.seo-feature-card h3{margin:0 0 .45rem;font-size:.88rem;font-weight:800;color:var(--pine-900)}.seo-feature-card p{margin:0;font-size:.82rem;line-height:1.55;color:var(--muted)}.home-seo-rules{max-width:700px}.seo-rules-intro{margin:0 0 1rem;font-size:.85rem;line-height:1.6;color:var(--pine-800)}.seo-rules-list{display:flex;flex-direction:column;gap:.55rem;padding-left:1.2rem;margin:0}.seo-rules-list li{font-size:.82rem;line-height:1.55;color:var(--muted)}.seo-rules-list li strong{color:var(--pine-800);font-weight:700}.home-seo-faq{display:flex;flex-direction:column;gap:.5rem;max-width:700px}.seo-faq-item{border:1px solid #e0e5e2;border-radius:10px;background:#ffffffb3;overflow:hidden;transition:border-color .15s ease}.seo-faq-item[open]{border-color:#b4c9c2}.seo-faq-question{display:flex;align-items:center;justify-content:space-between;gap:.75rem;list-style:none;padding:.85rem 1.1rem;font-size:.84rem;font-weight:700;color:var(--pine-900);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.seo-faq-question::-webkit-details-marker{display:none}.seo-faq-question:after{content:"+";flex-shrink:0;font-size:1.1rem;font-weight:400;color:var(--muted);transition:transform .2s ease}details[open] .seo-faq-question:after{content:"−"}.seo-faq-question:hover{background:#f4f7f5}.seo-faq-answer{margin:0;padding:0 1.1rem .9rem;font-size:.81rem;line-height:1.6;color:var(--muted)}.profile-page{min-height:100vh;padding:1.25rem clamp(1rem,4vw,3rem) 3rem;background:radial-gradient(circle at 88% -8%,rgba(120,184,201,.18),transparent 29%),var(--paper)}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(860px,100%);margin:0 auto}.profile-intro{width:min(860px,100%);margin:clamp(1.5rem,4vh,2.5rem) auto 1.5rem}.profile-intro>span{color:#a84c3f;font-size:.64rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.profile-intro h1{margin:.35rem 0 0;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.05;letter-spacing:-.04em;color:var(--pine-900, #1b352b)}.profile-loading,.profile-error-card{width:min(860px,100%);margin:0 auto;padding:3rem 1.5rem;text-align:center;background:#fff;border:1px solid #e0e5e2;border-radius:12px;color:var(--muted, #61736b);font-size:.9rem}.profile-content-container{display:flex;flex-direction:column;gap:1.5rem;width:min(860px,100%);margin:0 auto}.profile-identity-card{display:flex;align-items:center;gap:1.25rem;padding:1.4rem 1.6rem;background:#fff;border:1px solid #e0e5e2;border-radius:14px;box-shadow:0 1px 3px #00000008}.profile-avatar-circle{width:60px;height:60px;border-radius:50%;background:var(--pine-900, #1b352b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:800;letter-spacing:.02em;flex-shrink:0;overflow:hidden}.profile-avatar-image{width:100%;height:100%;object-fit:cover}.profile-identity-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.profile-identity-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.profile-identity-header h2{margin:0;font-size:1.25rem;font-weight:800;color:var(--pine-900, #1b352b);line-height:1.2}.profile-name-row{display:flex;align-items:center;gap:.5rem}.profile-edit-name-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #d0dcd5;border-radius:6px;background:#f4f8f6;color:var(--pine-800, #2c4a3e);cursor:pointer;transition:all .15s ease}.profile-edit-name-btn:hover{background:#e4eee8;border-color:#a8beaf;color:var(--pine-900, #1b352b);transform:scale(1.05)}.profile-identity-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.profile-provider-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#eef4f1;color:#275242;font-size:.72rem;font-weight:700}.profile-action-pill-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:999px;border:1px solid #c9d8d1;background:#fff;color:var(--pine-800, #275242);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s ease}.profile-action-pill-btn:hover{background:#eef4f1;border-color:#9cb5a8;color:var(--pine-900, #1b352b)}.profile-email{margin:0;font-size:.84rem;color:var(--muted, #61736b)}.profile-member-since{margin:0;font-size:.76rem;color:#85968f}.profile-section{display:flex;flex-direction:column;gap:.85rem}.profile-section-header{display:flex;align-items:center;gap:.5rem}.profile-section-icon{color:#2e6651}.profile-section-header h3{margin:0;font-size:.96rem;font-weight:800;color:var(--pine-900, #1b352b);letter-spacing:-.01em}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.profile-stat-card{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem;background:#fff;border:1px solid #e0e5e2;border-radius:12px;box-shadow:0 1px 2px #00000005}.profile-stat-card .stat-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #61736b)}.profile-stat-card .stat-value{font-size:1.45rem;font-weight:900;color:var(--pine-900, #1b352b);line-height:1.15}.profile-stat-card .stat-subtext{font-size:.72rem;color:#7b8f86;margin-top:.15rem}.profile-top-words-list{display:flex;flex-direction:column;gap:.5rem}.profile-top-word-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1.1rem;background:#fff;border:1px solid #e0e5e2;border-radius:10px;box-shadow:0 1px 2px #00000005}.top-word-rank{font-size:.8rem;font-weight:800;color:#8c9e97;width:24px}.top-word-letters{font-size:.96rem;font-weight:800;color:var(--pine-900, #1b352b);letter-spacing:.06em;font-family:inherit}.top-word-lang-pill{display:inline-block;padding:.15rem .45rem;border-radius:4px;background:#eef3f0;color:#416154;font-size:.68rem;font-weight:700;letter-spacing:.03em}.top-word-score{margin-left:auto;font-size:.85rem;color:var(--pine-800, #2c4a3e)}.top-word-score strong{font-size:1.05rem;font-weight:800;color:#1e5a44}.profile-empty-state{padding:1.5rem;background:#fff;border:1px dashed #d5ded9;border-radius:10px;text-align:center;color:var(--muted, #61736b);font-size:.84rem}.profile-top-games-list{display:flex;flex-direction:column;gap:.5rem}.profile-top-game-row{display:flex;align-items:center;gap:1rem;width:100%;padding:.85rem 1.1rem;background:#fff;border:1px solid #e0e5e2;border-radius:10px;box-shadow:0 1px 2px #00000005;text-align:left;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,transform .15s ease}.profile-top-game-row:hover{background:#f8faf9;border-color:#b0c2b9;transform:translateY(-1px)}.top-game-rank{font-size:.85rem;font-weight:800;color:#8c9e97;width:24px;flex-shrink:0}.top-game-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.top-game-tags{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.top-game-outcome-pill{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.68rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.top-game-outcome-pill--win{background:#e6f4ea;color:#137333}.top-game-outcome-pill--loss{background:#fce8e6;color:#c5221f}.top-game-outcome-pill--tie{background:#f1f3f4;color:#5f6368}.top-game-lang-pill,.top-game-diff-pill{display:inline-block;padding:.15rem .4rem;border-radius:4px;background:#eef3f0;color:#416154;font-size:.66rem;font-weight:700;letter-spacing:.03em}.top-game-date{font-size:.74rem;color:#85968f}.top-game-score-box{margin-left:auto;display:flex;align-items:baseline;gap:.35rem;font-size:.95rem;color:var(--muted, #61736b);flex-shrink:0}.top-game-score-human strong{font-size:1.15rem;font-weight:800;color:var(--pine-900, #1b352b)}.top-game-score-divider{color:#b0c0b8;font-weight:600}.top-game-score-computer{font-weight:600;color:#72847c}.top-game-arrow{color:#9ab0a6;flex-shrink:0;transition:transform .15s ease,color .15s ease}.profile-top-game-row:hover .top-game-arrow{color:var(--pine-800, #2c4a3e);transform:translate(2px)}.profile-forms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.profile-card{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;background:#fff;border:1px solid #e0e5e2;border-radius:12px;box-shadow:0 1px 2px #00000005}.profile-form{display:flex;flex-direction:column;gap:.85rem}.profile-form-field{display:flex;flex-direction:column;gap:.35rem}.profile-form-field span{font-size:.78rem;font-weight:700;color:var(--pine-800, #2c4a3e)}.profile-form-field input{padding:.65rem .85rem;border:1px solid #cdd7d2;border-radius:8px;font-size:.88rem;color:var(--pine-900, #1b352b);background:#fbfdfc;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.profile-form-field input:focus{border-color:#2e6651;background:#fff;box-shadow:0 0 0 3px #2e66511f}.profile-submit-button{margin-top:.35rem;padding:.65rem 1rem;border:none;border-radius:8px;background:var(--pine-900, #1b352b);color:#fff;font-size:.84rem;font-weight:700;cursor:pointer;transition:background .15s ease,opacity .15s ease}.profile-submit-button:hover:not(:disabled){background:#274b3d}.profile-submit-button:disabled{opacity:.5;cursor:not-allowed}.profile-feedback-success{display:flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border-radius:8px;background:#eef7f2;color:#1e6648;font-size:.78rem;font-weight:600}.profile-feedback-error{padding:.55rem .75rem;border-radius:8px;background:#fdf2f2;color:#a32727;font-size:.78rem;font-weight:600}.profile-modal-overlay{position:fixed;inset:0;z-index:1000;background:#0e221c80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.profile-modal-card{width:min(440px,100%);background:#fff;border:1px solid #e0e5e2;border-radius:16px;padding:1.5rem;box-shadow:0 16px 40px #0c211e33;display:flex;flex-direction:column;gap:1.15rem}.profile-modal-header{display:flex;align-items:center;justify-content:space-between}.profile-modal-header h3{margin:0;font-size:1.1rem;font-weight:800;color:var(--pine-900, #1b352b)}.profile-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--muted, #61736b);cursor:pointer;transition:background .15s ease,color .15s ease}.profile-modal-close:hover{background:#f0f4f2;color:var(--pine-900, #1b352b)}.profile-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.35rem}.profile-cancel-button{padding:.65rem 1rem;border:1px solid #d4ddd8;border-radius:8px;background:#fff;font-size:.84rem;font-weight:700;color:var(--pine-800, #2c4a3e);cursor:pointer;transition:background .15s ease}.profile-cancel-button:hover:not(:disabled){background:#f4f7f5}.profile-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.profile-insight-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d4ddd8;border-radius:12px;padding:1.25rem 1.15rem;box-shadow:0 1px 4px #1b352b0a}.insight-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted, #61736b);margin-bottom:.6rem}.insight-longest-word-box{display:flex;flex-direction:column;gap:.25rem}.insight-word-text{font-family:Fraunces,serif;font-size:1.55rem;font-weight:800;letter-spacing:.08em;color:var(--pine-900, #1b352b)}.insight-word-meta{font-size:.8rem;font-weight:600;color:#2b7a58}.insight-main-val{font-size:1.55rem;font-weight:800;color:var(--pine-900, #1b352b);line-height:1.2}.insight-subtext{font-size:.78rem;color:var(--muted, #61736b);margin-top:.35rem}.insight-empty-val{font-size:1.55rem;color:#a8b8b0;font-weight:700}.profile-breakdowns-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.profile-breakdown-card{background:#fff;border:1px solid #d4ddd8;border-radius:12px;padding:1.25rem 1.15rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 1px 4px #1b352b0a}.profile-breakdown-title-row{display:flex;flex-direction:column;gap:.2rem}.profile-breakdown-title-row h4{margin:0;font-size:1rem;font-weight:800;color:var(--pine-900, #1b352b)}.profile-breakdown-desc{font-size:.78rem;color:var(--muted, #61736b)}.profile-breakdown-rows{display:flex;flex-direction:column;gap:.85rem}.profile-breakdown-item{display:flex;flex-direction:column;gap:.35rem}.breakdown-item-header{display:flex;align-items:center;justify-content:space-between}.breakdown-item-name{font-size:.84rem;font-weight:700;color:var(--pine-900, #1b352b)}.breakdown-item-metrics{display:flex;align-items:center;gap:.65rem}.breakdown-record{font-size:.75rem;color:var(--muted, #61736b);font-weight:600}.breakdown-winrate{font-size:.84rem;font-weight:800;color:var(--pine-900, #1b352b)}.breakdown-bar-track{width:100%;height:6px;background:#eef3f0;border-radius:4px;overflow:hidden}.breakdown-bar-fill{height:100%;background:linear-gradient(90deg,#3d8b67,#1f5f43);border-radius:4px;transition:width .4s cubic-bezier(.16,1,.3,1)}.breakdown-total-subtext{font-size:.72rem;color:#7b8e86}.profile-section-title-group{display:flex;flex-direction:column;gap:.15rem}.profile-section-subtitle{margin:0;font-size:.8rem;color:var(--muted, #61736b)}.profile-achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.profile-achievement-card{display:flex;align-items:flex-start;gap:.85rem;padding:1rem;border-radius:12px;border:1px solid #d4ddd8;background:#fff;transition:transform .15s ease,box-shadow .15s ease}.profile-achievement-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1b352b0f}.profile-achievement-card--unlocked{background:#fbfdfc;border-color:#92d4b6}.profile-achievement-card--locked{background:#fdfdfd;opacity:.78}.achievement-icon-box{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex-shrink:0}.profile-achievement-card--unlocked .achievement-icon-box{background:#ebf7f1;color:#1f6b4a}.profile-achievement-card--locked .achievement-icon-box{background:#f0f4f2;color:#8fa098}.achievement-lock-icon{position:absolute;bottom:-2px;right:-2px;padding:2px;border-radius:50%;background:#fff;color:#8fa098;box-shadow:0 1px 3px #0000001a}.achievement-content{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0}.achievement-title-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.achievement-title-row h4{margin:0;font-size:.88rem;font-weight:800;color:var(--pine-900, #1b352b)}.achievement-status-badge{font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;white-space:nowrap}.achievement-status-badge--unlocked{background:#e6f6ee;color:#196944}.achievement-status-badge--locked{background:#edf2ef;color:#667c72}.achievement-description{margin:0;font-size:.75rem;color:var(--muted, #61736b);line-height:1.35}.achievement-progress-track{width:100%;height:4px;background:#eef3f0;border-radius:4px;overflow:hidden;margin-top:.2rem}.achievement-progress-fill{height:100%;background:#2b7a58;border-radius:4px;transition:width .3s ease}@media(max-width:600px){.profile-identity-card{flex-direction:column;text-align:center;padding:1.25rem 1rem}.profile-identity-header{justify-content:center}.profile-header-spacer{display:none}.profile-breakdowns-container,.profile-achievements-grid{grid-template-columns:1fr}}
