:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1d2924;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1d2924;--muted:#6d7771;--forest:#29493b;--forest-2:#3d6653;--cream:#f4f1e9;--paper:#fffdf8;--line:#dedbd1;--terracotta:#d9784d;--danger:#a34438;--light-square:#eadfc9;--dark-square:#718c79;--shadow:0 22px 55px #25342d1c;background:#f4f1e9;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth;min-height:100%}body{background:radial-gradient(circle at 0 0, #39675214, transparent 27rem), var(--cream);-webkit-font-smoothing:antialiased;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #d9784d73}.page-width{width:min(1180px,100% - 48px);margin-inline:auto}.eyebrow{color:var(--terracotta);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;line-height:1.3;display:block}.brand{color:var(--forest);letter-spacing:-.025em;align-items:center;gap:11px;font-size:18px;font-weight:800;display:inline-flex}.brand em{color:var(--terracotta);font-style:normal}.brand-mark{background:var(--forest);color:#fff9ed;border-radius:13px;place-items:center;width:42px;height:42px;font-family:Georgia,Times New Roman,serif;font-size:27px;line-height:1;display:grid;box-shadow:0 7px 18px #29493b33}.button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 18px;font-size:14px;font-weight:750;line-height:1;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.56}.button svg,.icon-button svg,.connection-badge svg,.hero-points svg,.spectator-note svg{flex:none;width:19px;height:19px}.button-primary{background:var(--forest);color:#fff;box-shadow:0 8px 20px #29493b33}.button-primary:hover:not(:disabled){background:#213d31;box-shadow:0 11px 24px #29493b3d}.button-quiet{border-color:var(--line);color:#35443d;background:#fffdf8c2}.button-quiet:hover:not(:disabled){background:#fff;border-color:#c8cbc3}.button-danger,.button-danger-quiet:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}.button-danger-quiet{color:var(--danger);border-color:#a3443847}.button-small{border-radius:10px;min-height:38px;padding-inline:13px;font-size:13px}.button-large{border-radius:15px;min-height:56px;font-size:16px}.button-full{width:100%}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fffdf8d1;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.home-header{justify-content:space-between;align-items:center;min-height:88px;display:flex}.hero{grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);align-items:center;gap:72px;min-height:455px;padding-block:44px 68px;display:grid}.hero-copy h1{max-width:670px;color:var(--forest);letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,6vw,78px);font-weight:500;line-height:.98}.hero-copy>p{color:#5f6a65;max-width:590px;margin:26px 0 24px;font-size:19px;line-height:1.55}.hero-points{flex-wrap:wrap;gap:12px 22px;display:flex}.hero-points span{color:#485650;align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.hero-points svg{color:var(--terracotta)}.hero-art{place-items:center;min-height:360px;display:grid;position:relative}.hero-art:before{content:"";background:#375b4a14;border-radius:50%;width:360px;height:360px;position:absolute}.mini-board{border:9px solid #fffaf0;border-radius:27px;grid-template-columns:repeat(4,1fr);width:300px;height:300px;display:grid;position:relative;overflow:hidden;transform:rotate(-4deg);box-shadow:0 30px 65px #233a2f33}.mini-board>span:nth-child(odd){background:#e9ddc7}.mini-board>span:nth-child(2n),.mini-board>span:nth-child(8n+5),.mini-board>span:nth-child(8n+7){background:#78917e}.mini-board>span:nth-child(8n+6),.mini-board>span:nth-child(8n+8){background:#e9ddc7}.hero-piece{z-index:2;filter:drop-shadow(0 8px 5px #1c282233);font-family:Georgia,Times New Roman,serif;font-size:72px;position:absolute}.hero-king{color:#1d2924;top:68px;right:31px}.hero-knight{color:#fff8e9;-webkit-text-stroke:1px #27372f;bottom:12px;left:34px}.floating-note{z-index:3;min-height:42px;color:var(--forest);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8f0;border:1px solid #dedbd1bf;border-radius:13px;align-items:center;gap:8px;padding:0 15px;font-size:13px;font-weight:800;display:flex;position:absolute;box-shadow:0 12px 30px #26383021}.note-top{top:15px;right:0;transform:rotate(3deg)}.note-bottom{bottom:20px;left:0;transform:rotate(-2deg)}.note-bottom i{background:#52a46d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #52a46d21}.create-section{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start;gap:24px;padding-bottom:110px;display:grid}.create-card,.how-card{box-shadow:var(--shadow);background:#fffdf8e8;border:1px solid #d3d0c6d1;border-radius:25px}.create-card{padding:38px}.how-card{padding:34px}.card-heading,.section-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.card-heading{margin-bottom:30px}.card-heading h2,.section-heading h2,.how-card h2{color:var(--forest);letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:500}.step-badge{color:#5b6c63;white-space:nowrap;background:#edf1ec;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.field-label{color:#3a4841;margin-bottom:9px;font-size:13px;font-weight:800;display:block}.input-wrap{margin-bottom:26px;position:relative}.input-wrap svg{color:#849087;width:19px;height:19px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.input-wrap input{width:100%;height:52px;color:var(--ink);background:#fff;border:1px solid #d8d7cf;border-radius:13px;padding:0 16px 0 47px;font-size:16px;transition:border .15s,box-shadow .15s}.input-wrap input::placeholder{color:#a2aaa5}.input-wrap input:focus{border-color:#668674;box-shadow:0 0 0 4px #486f5b1a}.form-group{border:0;min-width:0;margin:0 0 26px;padding:0}.side-picker{background:#ecebe5;border-radius:15px;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;display:grid}.side-picker button{cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:13px;font-weight:750;display:flex}.side-picker button.selected{background:#fff;box-shadow:0 3px 10px #2d373217}.side-symbol{font-family:Georgia,Times New Roman,serif;font-size:23px;line-height:1}.side-symbol-black{color:#25342d}.side-symbol-random{color:var(--terracotta);font-family:inherit;font-size:18px}.time-picker{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.time-picker button{cursor:pointer;text-align:left;background:#fff;border:1px solid #ddddd5;border-radius:14px;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:91px;padding:12px;display:flex;position:relative}.time-picker button svg{color:#9ca49f;width:17px;height:17px;position:absolute;top:11px;right:11px}.time-picker button strong{font-size:13px}.time-picker button small{color:#8b938e;margin-top:3px;font-size:10px}.time-picker button.selected{border-color:var(--forest-2);box-shadow:inset 0 0 0 1px var(--forest-2);background:#f5f8f4}.time-picker button.selected svg{color:var(--terracotta)}.form-error{color:#8e3e34;background:#faeae6;border-radius:10px;margin:-8px 0 16px;padding:11px 13px;font-size:13px;line-height:1.45}.form-footnote{color:#8a918d;text-align:center;margin:12px 0 0;font-size:11px}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.spinner-dark{border-color:#29493b33;border-top-color:var(--forest)}@keyframes spin{to{transform:rotate(360deg)}}.steps-list{gap:23px;margin:30px 0 28px;padding:0;list-style:none;display:grid}.steps-list li{grid-template-columns:34px 1fr;align-items:start;gap:13px;display:grid;position:relative}.steps-list li:not(:last-child):after{content:"";background:#dddcd3;width:1px;position:absolute;top:35px;bottom:-22px;left:16px}.steps-list li>span{z-index:1;width:34px;height:34px;color:var(--forest);background:#edf2ed;border-radius:50%;place-items:center;font-size:12px;font-weight:850;display:grid}.steps-list strong{font-size:13px}.steps-list p{color:#7b847f;margin:4px 0 0;font-size:12px}.privacy-note{background:#edf2ed;border-radius:14px;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:14px;display:grid}.privacy-note>span{width:42px;height:42px;color:var(--forest);background:#fff;border-radius:12px;place-items:center;font-family:Georgia,serif;font-size:27px;display:grid}.privacy-note p{color:#647069;margin:0;font-size:11px;line-height:1.5}.privacy-note strong{color:#34453c}.recent-section{padding-bottom:90px}.section-heading{margin-bottom:22px}.recent-list{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.recent-game{border:1px solid var(--line);background:#fffdf8c2;border-radius:16px;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:12px;min-width:0;padding:13px;transition:border .15s,transform .15s,background .15s;display:grid}.recent-game:hover{background:#fff;border-color:#bdc8c1;transform:translateY(-2px)}.recent-piece{width:46px;height:46px;color:var(--forest);background:#e9eee9;border-radius:12px;place-items:center;font-family:Georgia,serif;font-size:28px;display:grid}.recent-game>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.recent-game strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recent-game small{color:#828a85;font-size:11px}.recent-game>svg{color:#9ba29e;width:18px}.home-footer{border-top:1px solid var(--line);padding-block:27px calc(27px + env(safe-area-inset-bottom));color:#8b928e;justify-content:space-between;align-items:center;font-size:11px;display:flex}.home-footer span{color:#56645d;font-weight:800}.home-footer p{margin:0}.game-page{min-height:100vh;padding-bottom:env(safe-area-inset-bottom);background:radial-gradient(circle at 100% 0,#d9784d12,#0000 28rem),#f4f1e9}.game-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f1e9db;border-bottom:1px solid #d6d4cbcc;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;width:min(1220px,100% - 40px);min-height:76px;margin:0 auto;display:grid;position:sticky;top:0}.brand-compact{font-size:15px}.brand-compact .brand-mark{display:none}.game-header-actions{align-items:center;gap:9px;display:flex}.connection-badge{color:#41614f;background:#e7eee8;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:10px;font-weight:800;display:inline-flex}.connection-badge svg{width:14px;height:14px}.connection-offline{color:#9b4e40;background:#f5e4de}.connection-connecting{color:#747b76;background:#edeae1}.game-layout{grid-template-columns:minmax(420px,690px) minmax(310px,360px);align-items:start;gap:clamp(24px,4vw,52px);width:min(1140px,100% - 40px);margin:28px auto 48px;display:grid}.board-column{min-width:0}.player-bar{grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:62px;padding:7px 2px;display:grid}.player-avatar{border:1px solid #d4d5ce;border-radius:12px;place-items:center;width:42px;height:42px;font-family:Georgia,Times New Roman,serif;font-size:28px;display:grid;box-shadow:0 3px 8px #252e2912}.avatar-white{color:#fffef9;-webkit-text-stroke:.7px #2b3b33;background:#fffdf5}.avatar-black{color:#f3eee3;background:#2c4237;border-color:#25372e}.player-meta{min-width:0}.player-name-line{align-items:center;gap:7px;min-width:0;display:flex}.player-name-line strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.you-badge{color:#607067;letter-spacing:.08em;text-transform:uppercase;background:#e3e9e3;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:900}.presence{color:#929994;align-items:center;gap:5px;margin-top:4px;font-size:10px;display:flex}.presence i{background:#b8bdb9;border-radius:50%;width:6px;height:6px}.presence-online{color:#5b7967}.presence-online i{background:#51a36b;box-shadow:0 0 0 3px #51a36b1f}.player-clock{color:#53615a;letter-spacing:-.06em;text-align:center;font-variant-numeric:tabular-nums;background:#fffdf8bf;border:1px solid #dad9d1;border-radius:11px;min-width:88px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;font-weight:750}.player-active .player-clock{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 6px 16px #29493b2e}.player-active .clock-low{border-color:var(--danger);background:var(--danger);animation:1s ease-in-out infinite clock-pulse}@keyframes clock-pulse{50%{box-shadow:0 0 0 5px #a344381f}}.player-empty{opacity:.68}.board-shell{-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#fffaf0;border:7px solid #fffaf0;border-radius:18px;width:100%;overflow:hidden;box-shadow:0 18px 45px #23352c2e}.chess-board{aspect-ratio:1;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid}.board-square{cursor:pointer;border:0;border-radius:0;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.square-light{background:var(--light-square);color:#59705f}.square-dark{background:var(--dark-square);color:#e6dcc7}.square-last-move:before,.square-selected:before,.square-check:before{z-index:0;content:"";position:absolute;inset:0}.square-last-move:before{background:#eec0536b}.square-selected:before{background:#ecb13a99;box-shadow:inset 0 0 0 3px #7650123d}.square-check:before{background:radial-gradient(circle,#be382ce6,#be382c40 58%,#0000 75%)}.chess-piece{z-index:2;cursor:grab;filter:drop-shadow(0 3px 2px #1f2a2438);font-family:"Noto Sans Symbols 2",Arial Unicode MS,Georgia,Times New Roman,serif;font-size:clamp(32px,5.8vw,62px);line-height:1;transition:transform .1s;display:block;position:relative}.board-square:active .chess-piece{transform:scale(1.06)}.piece-white{color:#fffdf5;-webkit-text-stroke:.7px #35443d}.piece-black{color:#213129;-webkit-text-stroke:.25px #0e1712}.legal-marker{z-index:3;aspect-ratio:1;pointer-events:none;background:#2346345c;border-radius:50%;width:22%;position:absolute}.square-legal-capture .legal-marker{background:0 0;border:clamp(3px,.45vw,5px) solid #2346346e;width:84%}.coordinate{z-index:4;pointer-events:none;font-size:clamp(7px,1.1vw,10px);font-weight:900;line-height:1;position:absolute}.coordinate-file{bottom:3px;right:4px}.coordinate-rank{top:4px;left:4px}.board-tools{color:#919792;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;min-height:52px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;display:flex}.board-tools .button{min-height:34px;box-shadow:none;color:#6c7771;letter-spacing:.02em;text-transform:none;background:0 0;border:0;padding-inline:6px;font-family:inherit;font-size:9px}.game-sidebar{background:#fffdf8eb;border:1px solid #d3d0c6d9;border-radius:21px;min-width:0;display:grid;position:sticky;top:104px;overflow:hidden;box-shadow:0 18px 46px #25342d1a}.game-status{border-bottom:1px solid var(--line);min-height:126px;padding:23px 24px 20px}.game-status strong{color:var(--forest);letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500;display:block}.game-status p{color:#7c8580;margin:7px 0 0;font-size:11px;line-height:1.5}.status-finished{background:linear-gradient(135deg,#f2f6f1,#fffdf880)}.invite-card{border-bottom:1px solid var(--line);grid-template-columns:43px 1fr;gap:11px;padding:20px 22px;display:grid}.invite-icon,.draw-icon{width:42px;height:42px;color:var(--forest);background:#e8eee8;border-radius:12px;place-items:center;display:grid}.invite-icon svg,.draw-icon svg{width:20px}.invite-card p,.draw-offer p{color:#868e89;margin:3px 0 0;font-size:10px;line-height:1.45}.invite-link{background:#fff;border:1px solid #dcddd5;border-radius:11px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) 35px;align-items:center;min-width:0;display:grid;overflow:hidden}.invite-link span{color:#607068;text-overflow:ellipsis;white-space:nowrap;padding-left:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;overflow:hidden}.invite-link button{cursor:pointer;background:#f8f7f2;border:0;border-left:1px solid #e2e2da;place-items:center;height:35px;display:grid}.invite-link svg{width:15px}.invite-card>.button{grid-column:1/-1;min-height:45px}.draw-offer{background:#fff6e8;border-bottom:1px solid #dfcdb8;grid-template-columns:43px 1fr;gap:11px;padding:18px 22px;display:grid}.draw-icon{color:#7f5b2f;background:#f3e1c3}.draw-buttons{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.draw-buttons .button{min-height:39px;padding:0 9px;font-size:11px}.activity-panel{min-height:188px}.activity-tabs{border-bottom:1px solid #eceae3;grid-template-columns:1fr 1fr;height:42px;display:grid}.activity-tabs button{color:#55635c;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-right:1px solid #eceae3;justify-content:center;align-items:center;gap:7px;font-size:10px;font-weight:850;display:flex}.activity-tabs button:last-child{border-right:0}.activity-tabs button.selected{color:var(--forest);box-shadow:inset 0 -2px var(--forest);background:#f3f6f1}.activity-tabs small{color:#838b86;background:#eeeee8;border-radius:999px;place-items:center;min-width:22px;height:20px;font-size:9px;display:grid}.moves-scroll{overscroll-behavior:contain;min-height:145px;max-height:220px;overflow-y:auto}.moves-empty{color:#a3a8a5;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:145px;display:flex}.moves-empty span{opacity:.55;font-family:Georgia,serif;font-size:30px}.moves-empty p{margin:0;font-size:10px}.moves-list{margin:0;padding:8px 0;list-style:none}.moves-list li{grid-template-columns:35px 1fr 1fr;align-items:center;min-height:31px;padding:0 23px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:grid}.moves-list li:nth-child(2n){background:#eeeee87a}.moves-list li>span{color:#9ca29e}.moves-list b{color:#46534c;font-weight:700}.chat-panel{grid-template-rows:minmax(145px,1fr) auto;min-height:250px;display:grid}.chat-scroll{overscroll-behavior:contain;background:#f8f7f2;min-height:145px;max-height:210px;padding:12px;overflow-y:auto}.chat-empty{color:#9aa19d;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:120px;display:flex}.chat-empty svg{width:25px;margin-bottom:8px}.chat-empty strong{color:#657069;font-size:11px}.chat-empty p{max-width:210px;margin:4px 0 0;font-size:9px;line-height:1.45}.chat-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chat-list li{color:#425048;background:#fff;border:1px solid #e0e1d9;border-radius:12px 12px 12px 4px;width:fit-content;max-width:84%;padding:7px 39px 7px 10px;position:relative}.chat-list li.chat-own{border-color:var(--forest);background:var(--forest);color:#fff;border-radius:12px 12px 4px;align-self:flex-end}.chat-list li.chat-voice{min-width:212px;padding:7px 9px 21px}.chat-list li>span{color:#87908a;margin-bottom:2px;font-size:8px;font-weight:800;display:block}.chat-list li.chat-own>span{color:#bcd0c3}.chat-list p{overflow-wrap:anywhere;margin:0;font-size:10px;line-height:1.4}.chat-list time{color:#a2a8a4;font-size:7px;position:absolute;bottom:6px;right:8px}.chat-list .chat-own time{color:#acc2b5}.voice-player{min-width:0;color:var(--forest);grid-template-columns:32px minmax(92px,1fr) 32px;align-items:center;gap:7px;display:grid}.chat-own .voice-player{color:#fff}.voice-play-button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;width:32px;height:32px;display:grid}.chat-own .voice-play-button{background:#ffffff2e}.voice-play-button svg{width:16px}.voice-play-button .spinner{width:14px;height:14px}.voice-track{height:27px;position:relative}.voice-wave{opacity:.42;pointer-events:none;justify-content:space-between;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.voice-wave i{background:currentColor;border-radius:99px;width:2px;max-height:22px}.voice-track input{appearance:none;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.voice-track input:disabled{cursor:default}.voice-track input::-webkit-slider-runnable-track{background:linear-gradient(to right, currentColor 0 var(--voice-progress), #29493b38 var(--voice-progress) 100%);border-radius:99px;height:2px}.chat-own .voice-track input::-webkit-slider-runnable-track{background:linear-gradient(to right, currentColor 0 var(--voice-progress), #ffffff4d var(--voice-progress) 100%)}.voice-track input::-webkit-slider-thumb{appearance:none;background:currentColor;border:0;border-radius:50%;width:8px;height:8px;margin-top:-3px}.voice-track input::-moz-range-track{background:#29493b38;border:0;border-radius:99px;height:2px}.voice-track input::-moz-range-progress{background:currentColor;border-radius:99px;height:2px}.voice-track input::-moz-range-thumb{background:currentColor;border:0;border-radius:50%;width:8px;height:8px}.voice-duration{font-variant-numeric:tabular-nums;text-align:right;font-size:8px}.voice-player-error .voice-duration{color:#b95746}.chat-own .voice-player-error .voice-duration{color:#ffd5ca}.chat-composer{background:#fff;border-top:1px solid #e5e4dc}.voice-error{color:#a34438;margin:0;padding:8px 12px 0;font-size:9px;line-height:1.35}.chat-form{background:#fff;border-top:0;grid-template-columns:minmax(0,1fr) 40px 40px;gap:7px;padding:10px 12px;display:grid}.chat-form>input{min-width:0;height:39px;color:var(--ink);font:inherit;background:#fafaf7;border:1px solid #dcded5;border-radius:10px;outline:none;padding:0 12px;font-size:11px}.chat-form>input:focus{border-color:#779487;box-shadow:0 0 0 3px #345b481a}.chat-form button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:10px;place-items:center;width:40px;height:39px;display:grid}.chat-form button:disabled{cursor:default;background:#c9ceca}.chat-form button svg{width:17px}.voice-recorder{min-width:0}.chat-form .chat-voice-button{color:var(--forest);background:#f3f5f0;border:1px solid #d9ddd5}.voice-recorder-active{grid-column:1/-1;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:7px;min-height:39px;display:grid}.voice-requesting,.voice-recording-status{color:#657069;justify-content:center;align-items:center;gap:7px;min-width:0;font-size:10px;font-weight:700;display:inline-flex}.voice-requesting .spinner{width:15px;height:15px}.voice-recording-status{color:#9c4538;font-variant-numeric:tabular-nums}.voice-recording-status>i{background:#c95847;border-radius:50%;width:8px;height:8px;animation:1.15s ease-in-out infinite voice-pulse;box-shadow:0 0 0 4px #c9584721}.voice-recording-status time{min-width:29px}.chat-form .voice-cancel-button{color:#7d8781;background:#f7f6f1;border:1px solid #e2e2db}.chat-form .voice-finish-button{background:var(--terracotta)}.chat-form .voice-send-button{background:var(--forest)}.chat-form .voice-cancel-button:disabled,.chat-form .voice-send-button:disabled{opacity:.6}.voice-preview .voice-player{width:100%}.voice-preview .voice-play-button{border-radius:999px;width:32px;height:32px}.voice-preview .voice-duration{font-size:8px}@keyframes voice-pulse{50%{opacity:.45;transform:scale(.82)}}.chat-spectator-note{color:#858d88;text-align:center;border-top:1px solid #e5e4dc;padding:13px;font-size:9px}.game-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding:13px;display:grid}.game-actions .button{min-width:0;min-height:40px;padding-inline:9px;font-size:11px}.spectator-note{color:#67716c;background:#eef0eb;border-radius:12px;grid-column:1/-1;align-items:center;gap:10px;padding:10px 12px;display:flex}.spectator-note span{flex-direction:column;gap:2px;font-size:9px;display:flex}.spectator-note strong{color:#46534c;font-size:11px}.loading-page,.centered-page,.join-page{place-items:center;min-height:100vh;padding:24px;display:grid}.join-page{background:radial-gradient(circle at 50% 15%, #3d665324, transparent 23rem), var(--cream);min-height:100svh;padding:24px}.join-card{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);background:#fffdf8f2;border-radius:25px;padding:33px}.join-card>.brand{margin-bottom:34px}.join-card h1{color:var(--forest);letter-spacing:-.04em;margin:0;font-family:Georgia,serif;font-size:34px;font-weight:500}.join-card>p{color:var(--muted);margin:10px 0 25px;font-size:13px;line-height:1.5}.join-card .input-wrap{margin-bottom:13px}.join-card>small{color:#9ba19d;letter-spacing:.06em;text-align:center;text-transform:uppercase;margin-top:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;display:block}.join-invite-art{grid-template-columns:54px 1fr 54px;align-items:center;gap:12px;margin-bottom:30px;display:grid}.join-invite-art span{background:var(--forest);color:#fff9ed;border-radius:16px;place-items:center;width:54px;height:54px;font-family:Georgia,serif;font-size:34px;display:grid}.join-invite-art span:last-child{color:#fff;-webkit-text-stroke:.7px var(--forest);background:#fff;border:1px solid #d5d5ce}.join-invite-art i{background:repeating-linear-gradient(90deg,#b8beb9 0 4px,#0000 4px 9px);height:1px}.loading-page{color:#78817c;align-content:center;gap:16px;font-size:12px}.loading-brand{align-items:center;gap:15px;display:flex}.error-card{border:1px solid var(--line);background:var(--paper);text-align:center;width:min(430px,100%);box-shadow:var(--shadow);border-radius:24px;padding:38px}.error-card .brand-mark{margin:0 auto 22px}.error-card h1{color:var(--forest);margin:0;font-family:Georgia,serif;font-size:30px;font-weight:500}.error-card p{color:var(--muted);margin:12px 0 22px;font-size:13px;line-height:1.55}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#131d188a;place-items:center;padding:20px;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.modal-card{background:var(--paper);text-align:center;border-radius:22px;width:min(390px,100%);padding:30px;animation:.19s ease-out modal-in;position:relative;box-shadow:0 35px 80px #0c161147}@keyframes modal-in{0%{transform:translateY(8px)scale(.98)}}.modal-card h2{color:var(--forest);letter-spacing:-.03em;margin:0;font-family:Georgia,serif;font-size:27px;font-weight:500}.modal-card>p{color:#737d77;margin:11px 0 22px;font-size:12px;line-height:1.55}.modal-symbol,.install-glyph{width:55px;height:55px;color:var(--forest);background:#e8eee8;border-radius:16px;place-items:center;margin:0 auto 18px;display:grid}.modal-symbol svg{width:25px}.danger-symbol{color:var(--danger);background:#f8e8e4}.modal-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-actions .button{padding-inline:10px;font-size:12px}.promotion-card{text-align:left}.promotion-card h2{font-size:25px}.promotion-options{grid-template-columns:repeat(4,1fr);gap:7px;margin:22px 0 15px;display:grid}.promotion-options button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:92px;display:flex}.promotion-options .chess-piece{font-size:46px}.promotion-options small{color:#828a85;font-size:9px}.install-help{text-align:center}.install-glyph{background:var(--forest);color:#fff;font-family:Georgia,serif;font-size:35px}.modal-close{width:34px;height:34px;position:absolute;top:13px;right:13px}.toast{z-index:120;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;background:#203d30;border-radius:13px;align-items:center;gap:9px;max-width:min(360px,100% - 32px);min-height:48px;padding:11px 16px;font-size:12px;font-weight:700;animation:.18s ease-out toast-in;display:flex;position:fixed;box-shadow:0 18px 45px #16271f47}.toast svg{width:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.sw-update-prompt{z-index:180;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;opacity:0;background:#203d30;border:1px solid #ffffff24;border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto 34px;align-items:center;gap:12px;width:min(470px,100% - 32px);padding:12px;transition:opacity .22s,transform .3s;display:grid;position:fixed;transform:translateY(calc(100% + 40px));box-shadow:0 22px 60px #16271f52}.sw-update-prompt.sw-update-entered{opacity:1;transform:translateY(0)}.sw-update-icon{color:#f0a17d;background:#ffffff1f;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.sw-update-icon svg,.sw-update-close svg{width:20px;height:20px}.sw-update-copy{gap:3px;min-width:0;display:grid}.sw-update-copy strong{font-size:14px;line-height:1.25}.sw-update-copy small{color:#ffffffb8;font-size:11px;line-height:1.35}.sw-update-action{min-height:40px;color:var(--forest);box-shadow:none;background:#fff;padding-inline:15px}.sw-update-action:hover:not(:disabled){box-shadow:none;background:#fff9ed}.sw-update-close{color:#ffffffb8;width:34px;height:34px}@media (width<=600px){.sw-update-prompt{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:17px;grid-template-columns:38px minmax(0,1fr) 32px;gap:10px;width:auto;left:12px}.sw-update-icon{width:38px;height:38px}.sw-update-action{grid-area:2/1/auto/-1;width:100%}.sw-update-close{grid-area:1/3}}@media (width<=980px){.hero{grid-template-columns:minmax(0,1fr) 360px;gap:32px}.mini-board{width:270px;height:270px}.create-section{grid-template-columns:1fr 310px}.time-picker{grid-template-columns:repeat(2,1fr)}.game-layout{grid-template-columns:1fr;gap:20px;width:min(760px,100% - 40px)}.game-sidebar{grid-template-columns:1fr 1fr;position:static}.game-status,.activity-panel,.invite-card,.draw-offer{min-width:0}.game-status{border-right:1px solid var(--line);grid-area:1/1}.invite-card,.draw-offer{grid-column:1/-1}.activity-panel{border-left:1px solid var(--line);grid-area:1/2}.game-actions{grid-column:1/-1}}@media (width<=760px){.page-width{width:min(100% - 30px,580px)}.home-header{min-height:74px}.brand{font-size:15px}.brand-mark{border-radius:11px;width:37px;height:37px;font-size:24px}.install-button{width:40px;padding:0;font-size:0}.hero{grid-template-columns:1fr;gap:35px;min-height:0;padding-block:48px 60px}.hero-copy h1{font-size:clamp(48px,15vw,66px)}.hero-copy>p{margin-block:21px 22px;font-size:16px}.hero-art{min-height:300px}.hero-art:before{width:290px;height:290px}.mini-board{border-width:7px;border-radius:22px;width:245px;height:245px}.hero-piece{font-size:61px}.hero-king{top:55px;right:23px}.hero-knight{left:26px}.note-top{right:3px}.note-bottom{left:3px}.create-section{grid-template-columns:1fr;padding-bottom:75px}.create-card,.how-card{border-radius:20px}.create-card{padding:25px 20px}.how-card{padding:26px 22px}.card-heading h2,.section-heading h2{font-size:27px}.time-picker{grid-template-columns:repeat(2,1fr)}.recent-list{grid-template-columns:1fr}.home-footer{flex-direction:column;align-items:flex-start;gap:7px}.game-header{width:100%;min-height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;grid-template-columns:40px 1fr auto;gap:9px}.game-header>.icon-button{width:38px;height:38px}.brand-compact{font-size:13px}.connection-badge{justify-content:center;width:34px;padding:0;font-size:0}.share-header{width:38px;padding:0}.share-header span{display:none}.game-layout{gap:10px;width:100%;margin:10px auto 28px}.board-column{padding-inline:8px}.player-bar{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;min-height:55px}.player-avatar{border-radius:10px;width:37px;height:37px;font-size:24px}.player-name-line strong{font-size:12px}.presence{margin-top:2px;font-size:9px}.player-clock{border-radius:9px;min-width:76px;padding:7px 8px;font-size:17px}.board-shell{border-width:4px;border-radius:10px;box-shadow:0 10px 28px #23352c29}.chess-piece{font-size:clamp(32px,10.8vw,53px)}.board-tools{min-height:42px}.game-sidebar{border-radius:17px;grid-template-columns:1fr;margin:0 8px}.game-status{border-right:0;grid-area:auto;min-height:112px;padding:20px}.game-status strong{font-size:23px}.activity-panel{border-left:0;border-top:1px solid var(--line);grid-area:auto}.moves-scroll{max-height:190px}.invite-card,.draw-offer,.game-actions{grid-column:auto}.toast{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:none;left:16px}.modal-backdrop{padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:end}.modal-card{border-radius:21px;width:100%}.join-page{padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:end}.join-card{border-radius:22px;padding:28px 23px}}@media (width<=390px){.side-picker button{flex-direction:column;gap:2px;font-size:10px}.game-header .brand em{display:none}.board-column{padding-inline:4px}.game-sidebar{margin-inline:4px}}@media (width<=760px){.modal-backdrop.setup-backdrop{overscroll-behavior:contain;padding:calc(10px + env(safe-area-inset-top)) 12px 12px;place-items:start center}.setup-backdrop .setup-modal{overscroll-behavior:contain;max-height:100%;margin:0 auto;overflow-y:auto}}.game-page .chess-piece,.player-avatar,.side-symbol{font-variant-emoji:text;font-family:Times New Roman,Georgia,serif}.piece-white,.avatar-white,.side-symbol-white{color:#fffdf4;-webkit-text-fill-color:#fffdf4}.piece-black,.avatar-black,.side-symbol-black{-webkit-text-fill-color:currentColor}.sound-toggle{width:36px;height:36px;color:var(--forest);background:#edf2ed;border-color:#d7ddd7}.sound-toggle svg{width:18px;height:18px}.sound-toggle.sound-off{color:var(--terracotta);background:#fff0e8;border-color:#e7c4b4}.push-prompt{background:linear-gradient(115deg,#fff3e7,#fffaf1);border:2px solid #d9794f;border-radius:18px;grid-template-columns:48px minmax(0,1fr) auto 38px;align-items:center;gap:14px;width:min(1140px,100% - 40px);min-height:84px;margin:14px auto -6px;padding:13px 14px 13px 16px;display:grid;position:relative;box-shadow:0 13px 32px #7e482b29}.push-prompt-icon{background:var(--terracotta);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.push-prompt-icon svg{width:23px}.push-prompt-copy strong{color:var(--forest);font-size:17px;display:block}.push-prompt-copy p{color:#69756f;margin:3px 0 0;font-size:13px;line-height:1.4}.push-prompt-action{white-space:nowrap;min-height:46px}.push-prompt-close{width:36px;height:36px;box-shadow:none;color:#7e8983;background:0 0;border:0}.push-prompt-denied,.push-prompt-error{background:linear-gradient(115deg,#ffede8,#fff8f2);border-color:#bd604e}@media (width<=760px){.sound-toggle{width:34px;height:34px}.push-prompt{grid-template-columns:44px minmax(0,1fr) 34px;gap:10px;width:calc(100% - 16px);margin:9px 8px 0;padding:12px}.push-prompt-icon{border-radius:12px;width:42px;height:42px}.push-prompt-copy strong{font-size:16px}.push-prompt-copy p{font-size:12px}.push-prompt-action{grid-column:1/-1;min-height:48px}.push-prompt-close{grid-area:1/3}.push-prompt+.game-layout{margin-top:12px}}.game-top-tabs{z-index:19;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f1e9eb;border-bottom:1px solid #d6d4cbcc;justify-content:center;display:flex;position:sticky;top:76px}.game-top-tabs .activity-tabs{background:#fffdf8e0;border-inline:1px solid #d6d4cbcc;width:min(440px,100%)}.game-top-tabs+.game-layout{margin-top:22px}@media (width<=760px){.game-top-tabs{top:calc(62px + env(safe-area-inset-top))}.game-top-tabs .activity-tabs{border-inline:0;width:100%}.game-top-tabs+.game-layout{margin-top:8px}.game-layout-chat .board-column{display:none}.game-layout-chat .game-sidebar{margin-top:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.button{font-size:15px}.button-small{font-size:14px}.eyebrow{font-size:12px}.field-label{font-size:15px}.install-gate{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 18%, #3d665329, transparent 22rem), var(--cream);place-items:center;display:grid}.install-gate-card{text-align:center;width:min(390px,100%)}.install-app-icon{border-radius:24px;width:104px;height:104px;box-shadow:0 18px 42px #23352c33}.install-gate-card h1{color:var(--forest);letter-spacing:-.045em;margin:27px 0 0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:500;line-height:1.05}.install-gate-card>p{color:#66716b;margin:15px auto 28px;font-size:17px;line-height:1.5}.install-gate-domain{color:#8a928d;margin-top:18px;font-size:13px;display:block}.install-sheet{text-align:left;width:min(430px,100%)}.install-sheet-icon{border-radius:15px;width:64px;height:64px;margin-bottom:20px;box-shadow:0 8px 22px #23352c26}.install-sheet>p{margin:8px 0 20px;font-size:15px}.install-steps{gap:12px;margin:0 0 24px;padding:0;list-style:none;display:grid}.install-steps li{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:52px 1fr;align-items:center;gap:13px;padding:13px;display:grid}.install-step-icon{width:50px;height:50px;color:var(--forest);background:#e9f0ea;border-radius:13px;place-items:center;display:grid}.install-step-icon svg{width:25px}.install-steps li>span:last-child{flex-direction:column;gap:4px;display:flex}.install-steps b{color:#2f4037;font-size:15px}.install-steps small{color:#737d77;font-size:13px;line-height:1.4}.install-launch-note{color:#7d8681;text-align:center;margin-top:14px;font-size:13px;display:block}.home-simple{flex-direction:column;min-height:100svh;display:flex}.compact-home-header,.home-simple .page-width{width:min(620px,100% - 36px)}.compact-home-header{min-height:calc(76px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.home-header-actions{align-items:center;gap:8px;display:flex}.profile-button{border:1px solid var(--line);min-width:0;max-width:190px;min-height:42px;color:var(--forest);cursor:pointer;background:#fffdf8c2;border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:750;display:flex}.profile-button svg{flex:none;width:18px}.profile-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.play-home{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding-block:60px 90px;display:flex}.play-home-piece{background:var(--forest);color:#fff9ed;border-radius:26px;place-items:center;width:92px;height:92px;font-family:Georgia,Times New Roman,serif;font-size:60px;line-height:1;display:grid;box-shadow:0 18px 42px #23352c38}.play-home h1{color:var(--forest);letter-spacing:-.05em;margin:30px 0 32px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,9vw,50px);font-weight:500;line-height:1.04}.home-play-actions{gap:12px;width:min(360px,100%);display:grid}.home-play-actions .button{min-height:60px;font-size:17px}.simple-recent{padding-bottom:max(38px, env(safe-area-inset-bottom))}.simple-recent .section-heading{margin-bottom:14px}.simple-recent .section-heading h2{font-size:25px}.simple-recent .recent-list{grid-template-columns:1fr}.recent-game strong{font-size:15px}.recent-game small{font-size:13px}.setup-modal{text-align:left;width:min(480px,100%);padding:32px}.setup-modal h2{margin:0 42px 28px 0;font-size:31px}.setup-form .input-wrap{margin-bottom:18px}.setup-form .form-group{margin-bottom:24px}.name-once-note{color:#737d77;margin:-7px 0 24px;font-size:13px;line-height:1.45}.side-picker button{min-height:54px;font-size:14px}.side-symbol-white{color:#fffdf4;-webkit-text-stroke:1px #263930}.side-symbol-random{background:var(--terracotta);color:#fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:14px;font-weight:900;display:grid}.clock-toggle{cursor:pointer;background:#fff;border:1px solid #d9dad2;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;min-height:70px;margin-bottom:20px;padding:12px 14px;display:flex;position:relative}.clock-toggle>span{align-items:center;gap:11px;min-width:0;display:flex}.clock-toggle>span>svg{width:24px;color:var(--forest)}.clock-toggle>span>span{flex-direction:column;gap:3px;display:flex}.clock-toggle b{font-size:15px}.clock-toggle small{color:#77817b;font-size:13px}.clock-toggle input{opacity:0;width:1px;height:1px;position:absolute}.clock-toggle>i{background:#c9cec9;border-radius:999px;flex:none;width:49px;height:29px;transition:background .15s;position:relative}.clock-toggle>i:after{content:"";background:#fff;border-radius:50%;width:23px;height:23px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #1b272138}.clock-toggle input:checked+i{background:var(--forest)}.clock-toggle input:checked+i:after{transform:translate(20px)}.clock-toggle:focus-within{outline-offset:2px;outline:3px solid #d9784d73}.compact-time-picker{grid-template-columns:repeat(3,1fr);margin:-7px 0 24px}.compact-time-picker button{justify-content:center;min-height:78px;padding:10px}.compact-time-picker button strong{font-size:14px}.compact-time-picker button small{font-size:12px}.setup-form .form-error{margin:0 0 16px;font-size:14px}.player-name-line strong{font-size:16px}.you-badge{font-size:10px}.presence{font-size:12px}.player-avatar{font-size:29px}.avatar-white{color:#fffdf4;-webkit-text-stroke:1px #263930}.chess-piece{font-family:"Noto Sans Symbols 2",Segoe UI Symbol,Arial Unicode MS,Georgia,serif;font-weight:400}.piece-white{color:#fffdf4;-webkit-text-stroke:1.15px #263930;filter:drop-shadow(0 3px 2px #19251f52)}.piece-black{color:#1d3027;-webkit-text-stroke:.2px #0d1712;filter:drop-shadow(0 3px 2px #19251f3d)}.join-invite-art span:last-child,.empty-white-piece{color:#fffdf4;-webkit-text-stroke:1px var(--forest)}.connection-badge{font-size:12px}.board-tools{text-transform:none;justify-content:flex-start;font-family:inherit;font-size:13px}.board-tools .button{font-family:inherit;font-size:13px}.game-sidebar{display:block}.game-workspace{min-height:0}.activity-tabs{height:56px}.activity-tabs button{letter-spacing:0;text-transform:none;gap:8px;font-size:14px}.activity-tabs small{min-width:23px;height:23px;font-size:12px}.activity-tabs .unread-badge{background:var(--terracotta);color:#fff}.party-panel{min-width:0}.game-status{min-height:136px;padding:24px}.game-status strong{font-size:28px}.game-status p{font-size:14px;line-height:1.5}.invite-card strong,.draw-offer strong{font-size:15px}.invite-card p,.draw-offer p{font-size:13px}.invite-link span{font-size:12px}.draw-buttons .button{font-size:13px}.party-moves{border-top:1px solid var(--line)}.party-section-heading{justify-content:space-between;align-items:center;min-height:48px;padding:0 23px;display:flex}.party-section-heading h3{color:#46534c;margin:0;font-size:14px}.party-section-heading span{color:#737d77;background:#ecece6;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:12px;display:grid}.moves-empty p{font-size:13px}.moves-list li{min-height:38px;font-size:14px}.chat-panel{grid-template-rows:minmax(250px,1fr) auto;min-height:420px}.chat-scroll{min-height:250px;max-height:360px;padding:14px}.chat-empty strong{font-size:14px}.chat-empty p{font-size:12px}.chat-list li>span{font-size:11px}.chat-list p{font-size:14px}.chat-list time{font-size:11px}.chat-list li.chat-voice{min-width:255px}.voice-duration,.voice-preview .voice-duration{font-size:11px}.voice-error{font-size:12px}.chat-form{grid-template-columns:minmax(0,1fr) 46px 46px}.chat-form-voice-active{grid-template-columns:minmax(0,1fr)}.chat-form>input{height:46px;font-size:15px}.chat-form button{width:46px;height:46px}.voice-recorder>button{width:46px}.voice-recorder-active{grid-template-columns:46px minmax(0,1fr) 46px;min-height:46px}.voice-requesting-state{grid-template-columns:minmax(0,1fr) 46px}.voice-requesting,.voice-recording-status{font-size:13px}.voice-preview .voice-play-button{width:34px;height:34px}.chat-spectator-note,.spectator-note span{font-size:12px}.spectator-note strong{font-size:14px}.game-actions .button{min-height:48px;font-size:14px}.modal-actions .button{font-size:14px}.promotion-options small{font-size:12px}.loading-page,.join-card>p,.error-card p,.modal-card>p,.toast{font-size:14px}.join-card>small{display:none}@media (width<=980px){.game-sidebar{grid-template-columns:1fr;display:block}.activity-panel{border:0;grid-area:auto}}@media (width<=760px){.compact-home-header,.home-simple .page-width{width:min(100% - 28px,620px)}.compact-home-header{min-height:calc(70px + env(safe-area-inset-top))}.compact-home-header .brand{font-size:17px}.compact-home-header .brand-mark{width:40px;height:40px}.home-header-actions .button-small{width:42px;padding:0;font-size:0}.profile-button{max-width:142px;padding-inline:10px}.play-home{justify-content:center;padding-block:44px 72px}.play-home-piece{width:84px;height:84px;font-size:55px}.play-home h1{margin:27px 0 30px;font-size:40px}.setup-modal{max-height:calc(100svh - 24px - env(safe-area-inset-bottom));padding:24px 20px 22px;overflow-y:auto}.setup-modal h2{margin-bottom:20px;font-size:29px}.setup-form .form-group,.name-once-note{margin-bottom:18px}.clock-toggle{min-height:64px;margin-bottom:15px}.compact-time-picker{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.compact-time-picker button{min-height:65px}.compact-time-picker button small{font-size:11px}.game-header .brand-compact{font-size:16px}.connection-badge{white-space:nowrap;justify-content:center;width:34px;padding:0;font-size:0}.player-name-line strong{font-size:15px}.presence{font-size:11px}.board-tools .button{font-size:13px}.game-status{min-height:124px;padding:21px}.game-status strong{font-size:26px}.game-status p{font-size:14px}.chat-panel{min-height:390px}.game-sidebar{display:block}.install-sheet{padding:28px 21px 22px}}@media (width<=390px){.profile-button span{max-width:74px}.side-picker button{font-size:12px}.clock-toggle{padding-inline:12px}.clock-toggle small{font-size:12px}.compact-time-picker button strong{font-size:13px}}@media (width<=760px){.game-layout-chat{margin-bottom:0}.game-layout-chat .game-sidebar{height:calc(100svh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:390px}.game-layout-chat .game-workspace,.game-layout-chat .chat-panel{height:100%;min-height:0}.game-layout-chat .chat-scroll{min-height:0;max-height:none}}.social-home{padding-bottom:max(34px, env(safe-area-inset-bottom))}.social-home-content{gap:18px;padding:18px 0 46px;display:grid}.home-loading,.home-inline-error{text-align:center;align-content:center;place-items:center;gap:12px;min-height:55svh;display:grid}.home-loading p,.home-inline-error p{color:var(--muted);margin:0}.home-inline-error h1{color:var(--forest);margin:0;font-family:Georgia,serif;font-size:30px;font-weight:500}.home-notification-card{background:#fff5e2;border:1px solid #d7ba8d;border-radius:17px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;display:grid;box-shadow:0 10px 26px #55401d14}.home-notification-card.notification-denied,.home-notification-card.notification-error{background:#fbe9e4;border-color:#a344386b}.home-notification-icon{color:#6c4c1e;background:#f1d49e;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.notification-denied .home-notification-icon,.notification-error .home-notification-icon{color:var(--danger);background:#f1c9c0}.home-notification-icon svg{width:23px}.home-notification-card strong{color:#473923;font-size:15px;display:block}.home-notification-card p{color:#78694e;margin:4px 0 0;font-size:12px;line-height:1.45}.home-notification-card small{color:var(--danger);margin-top:4px;font-size:11px;display:block}.social-play-card,.home-section{background:#fffdf8f0;border:1px solid #d3d0c6e0;border-radius:21px;box-shadow:0 13px 34px #25342d14}.social-play-card{background:radial-gradient(circle at 7% 20%,#d9784d1a,#0000 10rem),#fffdf8f5;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;display:grid}.social-play-piece{background:var(--forest);color:#fff9ed;border-radius:19px;place-items:center;width:70px;height:70px;font-family:Georgia,serif;font-size:45px;display:grid;box-shadow:0 11px 25px #29493b33}.social-play-card h1{color:var(--forest);letter-spacing:-.04em;margin:0;font-family:Georgia,serif;font-size:32px;font-weight:500}.social-play-card p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.social-play-card .eyebrow{margin-bottom:4px}.profile-empty-card{margin-top:42px}.home-section{padding:20px;overflow:hidden}.incoming-section{border-color:#cdd9d1;padding:0}.social-section-heading{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.incoming-section .social-section-heading{padding:13px 17px 8px}.social-section-heading h2{color:var(--forest);letter-spacing:-.03em;margin:0;font-family:Georgia,serif;font-size:24px;font-weight:500}.social-section-heading>span{background:var(--terracotta);color:#fff;border-radius:999px;place-items:center;min-width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.social-card-list{display:grid}.request-card{border-top:1px solid var(--line);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 17px;display:grid}.friend-avatar{width:44px;height:44px;color:var(--forest);background:#e7eee8;border-radius:13px;flex:none;place-items:center;font-size:17px;font-weight:850;display:grid}.request-card>div:nth-child(2),.friend-row>span:nth-child(2),.friend-picker button>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.request-card strong,.friend-row strong,.friend-picker strong{color:#304139;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.request-card small,.friend-row small,.friend-picker small{color:#7a847e;font-size:12px;line-height:1.35}.request-actions{gap:7px;display:flex}.own-code-card{background:#eff4ef;border:1px solid #ccd8d0;border-radius:16px;grid-template-columns:minmax(0,1fr) 42px auto;align-items:center;gap:9px;margin-top:12px;padding:13px;display:grid}.own-code-card>div{flex-direction:column;gap:3px;min-width:0;display:flex}.own-code-card span{color:#718078;font-size:11px}.own-code-card strong{color:var(--forest);letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.friend-list{border:1px solid var(--line);border-radius:15px;margin-top:13px;display:grid;overflow:hidden}.friend-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;grid-template-columns:44px minmax(0,1fr) 22px;align-items:center;gap:12px;width:100%;min-height:67px;padding:10px 13px;display:grid}.friend-row:last-child{border-bottom:0}.friend-row>svg{color:#8b958f;width:18px}.friends-empty{background:#faf9f5;border:1px dashed #cdd3ce;border-radius:15px;margin-top:13px;padding:18px}.friends-empty p{color:var(--muted);text-align:center;margin:0;font-size:13px;line-height:1.5}.outgoing-requests{color:#7b8580;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;font-size:11px;display:flex}.outgoing-requests b{color:#56655d;background:#eceee9;border-radius:999px;padding:6px 9px;font-size:11px}.social-home .simple-recent{padding-bottom:20px}.friend-picker{gap:7px;max-height:210px;display:grid;overflow-y:auto}.friend-picker button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:14px;grid-template-columns:44px minmax(0,1fr) 23px;align-items:center;gap:11px;width:100%;min-height:64px;padding:9px 12px;display:grid}.friend-picker button.selected{border-color:var(--forest-2);box-shadow:inset 0 0 0 1px var(--forest-2);background:#f1f6f1}.friend-picker button>svg{width:19px;color:var(--forest)}.dialog-lead{color:var(--muted);margin:-14px 0 20px;font-size:13px;line-height:1.5}.code-input-wrap input{letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:750}.form-success{color:#315e40;background:#e5f2e7;border-radius:11px;align-items:center;gap:8px;margin:0 0 16px;padding:12px;font-size:13px;display:flex}.form-success svg{width:18px}.share-own-code{border-top:1px solid var(--line);text-align:center;gap:8px;margin-top:20px;padding-top:18px;display:grid}.share-own-code span,.profile-code-note span{color:#7c8680;font-size:12px}.share-own-code strong,.profile-code-note strong{color:var(--forest);letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.profile-code-note{background:#edf2ed;border-radius:12px;justify-content:space-between;align-items:center;margin:-6px 0 20px;padding:11px 13px;display:flex}.waiting-friend-card{grid-template-columns:43px minmax(0,1fr)}.friend-invite-landing{place-items:start center;overflow-y:auto}.friend-invite-card{padding-block:20px}.friend-invite-card .install-app-icon{width:82px;height:82px}.friend-invite-card .eyebrow{margin:18px 0 5px}.friend-invite-card h1{margin-top:0;font-size:34px}.friend-invite-card>p{margin-bottom:18px;font-size:14px}.friend-landing-code{width:100%;color:var(--forest);cursor:pointer;background:#edf4ee;border:1px solid #bdcec2;border-radius:18px;gap:5px;padding:16px;display:grid}.friend-landing-code.copied{background:#e4f2e7;border-color:#75a182}.friend-landing-code span{color:#68776f;font-size:12px}.friend-landing-code strong{letter-spacing:.11em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:28px}.friend-landing-code small{color:#63746a;justify-content:center;align-items:center;gap:5px;font-size:11px;display:inline-flex}.friend-landing-code svg{width:14px}.friend-open-steps{text-align:left;gap:8px;margin:16px 0 18px;padding:0;list-style:none;display:grid}.friend-open-steps li{color:#53625a;grid-template-columns:28px 1fr;align-items:center;gap:9px;font-size:13px;display:grid}.friend-open-steps b{width:27px;height:27px;color:var(--forest);background:#e8ece7;border-radius:50%;place-items:center;font-size:11px;display:grid}.friend-install-help{margin-top:9px}@media (width<=620px){.social-home-content{padding-top:10px}.home-notification-card{grid-template-columns:42px minmax(0,1fr)}.home-notification-icon{width:42px;height:42px}.home-notification-card>.button{grid-column:1/-1}.social-play-card,.profile-empty-card{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:19px}.social-play-piece{border-radius:16px;width:58px;height:58px;font-size:38px}.social-play-card h1{font-size:28px}.social-play-card .button{grid-column:1/-1}.home-section{padding:16px}.incoming-section{padding:0}.request-card{grid-template-columns:44px minmax(0,1fr);padding:13px}.request-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.own-code-card{grid-template-columns:minmax(0,1fr) 42px}.own-code-card>.button{grid-column:1/-1}}@media (width<=390px){.social-play-card h1{font-size:25px}.social-section-heading h2{font-size:21px}.own-code-card strong,.share-own-code strong{font-size:18px}.friend-invite-card h1{font-size:30px}}
