:root{font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;color:#2d2925;background:#eee4d4;font-synthesis:none;text-rendering:optimizeLegibility;--page: #eee4d4;--page-deep: #e4d5c0;--surface: #f8f1e6;--surface-raised: #fffaf1;--surface-muted: #e8ddcc;--ink: #2d2925;--ink-soft: #746a5e;--line: rgba(77, 58, 39, .18);--line-strong: rgba(77, 58, 39, .34);--walnut: #6f4b32;--walnut-light: #a67850;--walnut-dark: #3d291e;--metal: #786f63;--burgundy: #7d293b;--burgundy-light: #a64759;--navy: #203f5a;--navy-light: #3d6682;--green: #285343;--green-light: #477665;--bronze: #906b3e;--danger: #9f3c3c;--shadow-soft: 0 18px 55px rgba(73, 48, 28, .1);--shadow-card: 0 12px 30px rgba(54, 34, 20, .12);--duration: .18s;--app-page: #f2eadf;--app-page-deep: #dfd0bd;--app-ink: #2f2a24;--app-ink-soft: rgba(47, 42, 36, .66);--app-line: rgba(79, 61, 42, .16);--app-line-strong: rgba(79, 61, 42, .28);--app-panel: rgba(255, 250, 241, .66);--app-panel-strong: rgba(255, 250, 241, .86);--app-panel-muted: rgba(79, 61, 42, .06);--app-sidebar: rgba(248, 240, 229, .92);--app-sidebar-hover: rgba(111, 75, 50, .08);--app-inverted: #fff8ee;--app-shadow: 0 18px 48px rgba(73, 48, 28, .12)}:root[data-theme=dark]{color-scheme:dark;color:#ece5d9;background:#191a1b;--page: #191a1b;--page-deep: #111213;--surface: #242322;--surface-raised: #2d2b29;--surface-muted: #35312d;--ink: #ece5d9;--ink-soft: #aaa196;--line: rgba(225, 211, 191, .13);--line-strong: rgba(225, 211, 191, .28);--walnut: #694930;--walnut-light: #8f6342;--walnut-dark: #241710;--metal: #999084;--burgundy: #934054;--burgundy-light: #b95a6e;--navy: #315b7b;--navy-light: #4b7797;--green: #376b58;--green-light: #548773;--bronze: #a57c4d;--shadow-soft: 0 24px 70px rgba(0, 0, 0, .28);--shadow-card: 0 16px 40px rgba(0, 0, 0, .24);--app-page: #171716;--app-page-deep: #24221f;--app-ink: #eee8dd;--app-ink-soft: rgba(245, 236, 222, .68);--app-line: rgba(255, 245, 225, .09);--app-line-strong: rgba(255, 245, 225, .16);--app-panel: rgba(255, 255, 255, .045);--app-panel-strong: rgba(255, 255, 255, .072);--app-panel-muted: rgba(0, 0, 0, .18);--app-sidebar: rgba(26, 25, 23, .94);--app-sidebar-hover: rgba(255, 255, 255, .07);--app-inverted: #fff8ee;--app-shadow: 0 22px 58px rgba(0, 0, 0, .3)}:root[data-theme=light]{color-scheme:light}:root[data-palette=colorblind]{--burgundy: #b34f00;--burgundy-light: #d67527;--navy: #175b9c;--navy-light: #3f83c5;--green: #177c6b;--green-light: #45a596}:root[data-speed=fast]{--duration: .12s}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--page)}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 18% 4%,rgba(255,251,240,.78),transparent 28rem),linear-gradient(135deg,var(--page),var(--page-deep))}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--navy) 60%,white);outline-offset:3px}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin-top:0}.eyebrow{margin-bottom:.75rem;color:var(--burgundy);font-size:.68rem;font-weight:800;letter-spacing:.19em}.brand-mark{display:inline-flex;align-items:center;gap:.78rem}.brand-symbol{position:relative;display:grid;grid-template-columns:repeat(3,8px);align-items:center;gap:3px;width:38px;height:38px;padding:7px;border:1px solid var(--line-strong);border-radius:10px;background:color-mix(in srgb,var(--surface-raised) 88%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--surface) 70%,transparent)}.brand-symbol i{display:block;width:8px;height:22px;border-radius:3px;transform:rotate(45deg)}.brand-symbol i:nth-child(1){background:var(--burgundy)}.brand-symbol i:nth-child(2){height:15px;background:var(--navy)}.brand-symbol i:nth-child(3){height:9px;background:var(--green)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-family:Georgia,Times New Roman,serif;font-size:.95rem;letter-spacing:.08em}.brand-copy small{margin-top:.32rem;color:var(--ink-soft);font-size:.52rem;font-weight:800;letter-spacing:.28em}.site-header,.game-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;width:min(100% - 3rem,1380px);min-height:76px;margin:0 auto;border-bottom:1px solid var(--line)}.site-header nav,.header-actions{display:flex;align-items:center;gap:.75rem}.service-status{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-size:.65rem;font-weight:800;letter-spacing:.13em}.service-status i,.connection-dot{width:7px;height:7px;border-radius:50%;background:var(--green-light);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent)}.header-button,.icon-button,.brand-button{border:0;background:transparent;cursor:pointer}.header-button{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:0 .85rem;border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);font-size:.78rem;font-weight:700}.lobby-page{min-height:100vh;overflow:hidden}.lobby-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:center;gap:5rem;width:min(100% - 3rem,1260px);min-height:530px;margin:0 auto;padding:5rem 1rem 4.5rem}.hero-copy h1{max-width:780px;margin-bottom:1.6rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.75rem,5.8vw,5.4rem);font-weight:500;line-height:1.03;letter-spacing:-.055em}.hero-copy h1 span{display:block;color:var(--burgundy);font-style:italic}.hero-copy>p:last-child{max-width:650px;margin-bottom:0;color:var(--ink-soft);font-size:1rem;line-height:1.9;word-break:keep-all}.hero-board{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;aspect-ratio:1;padding:30px;border:10px solid var(--walnut-dark);border-radius:30px;background:repeating-linear-gradient(92deg,rgba(255,255,255,.03) 0 1px,transparent 1px 22px),linear-gradient(145deg,var(--walnut),var(--walnut-dark));box-shadow:var(--shadow-soft),inset 0 0 0 2px #ffffff14;transform:rotate(2deg)}.hero-board:before{content:"";position:absolute;top:-35px;right:-35px;bottom:-35px;left:-35px;z-index:-1;border:1px solid var(--line);border-radius:50%;transform:rotate(-8deg)}.hero-board i{display:block;border:1px solid rgba(255,244,225,.1);border-radius:11px;background:#23160e45;box-shadow:inset 0 2px 5px #00000038}.hero-board .tile-a,.hero-board .tile-b,.hero-board .tile-c{border-color:#ffffff2b;box-shadow:inset 0 2px 2px #ffffff26,0 5px 8px #00000038}.hero-board .tile-a{background:var(--burgundy)}.hero-board .tile-b{background:var(--navy)}.hero-board .tile-c{background:var(--green)}.mode-section{padding:5rem max(1.5rem,calc((100% - 1260px)/2));border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(92,60,34,.035) 1px,transparent 1px),linear-gradient(var(--surface),var(--surface));background-size:42px 42px,auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading h2,.match-config h2{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:-.035em}.section-heading>p{max-width:460px;margin-bottom:.35rem;color:var(--ink-soft);font-size:.86rem;line-height:1.65;text-align:right}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.mode-card{position:relative;display:flex;flex-direction:column;min-height:390px;padding:1.3rem;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-raised) 84%,transparent);box-shadow:0 5px 20px #3d28170d;transition:transform var(--duration) ease,border-color var(--duration) ease,box-shadow var(--duration) ease}.mode-card:after{content:"";position:absolute;inset:auto -45px -65px auto;width:170px;height:170px;border:1px solid var(--line);border-radius:50%}.mode-card.featured:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--burgundy) 55%,var(--line));box-shadow:var(--shadow-card)}.mode-card.locked{opacity:.72}.mode-card-top{display:flex;align-items:center;justify-content:space-between}.mode-card-top>span{font-family:Georgia,serif;color:var(--ink-soft);font-size:.8rem}.mode-card-top small{padding:.34rem .48rem;border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);font-size:.52rem;font-weight:800;letter-spacing:.12em}.mode-card.featured .mode-card-top small{border-color:color-mix(in srgb,var(--burgundy) 40%,transparent);color:var(--burgundy);background:color-mix(in srgb,var(--burgundy) 7%,transparent)}.mode-glyph{position:relative;display:grid;grid-template-columns:repeat(2,48px);gap:5px;width:max-content;margin:3.4rem auto 3rem;transform:rotate(45deg)}.mode-glyph i{width:48px;height:48px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-muted);box-shadow:inset 0 2px 2px #ffffff21}.mode-card.burgundy .mode-glyph i:nth-child(1),.mode-card.burgundy .mode-glyph i:nth-child(4){background:var(--burgundy)}.mode-card.navy .mode-glyph i:nth-child(2){background:var(--navy)}.mode-card.green .mode-glyph i:nth-child(3){background:var(--green)}.mode-card.bronze .mode-glyph i:nth-child(1),.mode-card.bronze .mode-glyph i:nth-child(2){background:var(--bronze)}.mode-card h3{margin-bottom:.65rem;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.mode-card>p{min-height:2.9rem;margin-bottom:1.4rem;color:var(--ink-soft);font-size:.78rem;line-height:1.65;word-break:keep-all}.mode-action,.mode-pending{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;margin-top:auto;padding:0 .9rem;border-radius:10px;font-size:.75rem;font-weight:800}.mode-action{border:0;color:#fff9ef;background:var(--burgundy);cursor:pointer}.mode-pending{border:1px solid var(--line);color:var(--ink-soft)}.match-config{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(600px,1.3fr);align-items:center;gap:4rem;width:min(100% - 3rem,1260px);margin:0 auto;padding:5.5rem 1rem}.match-config>div:first-child>p:last-child{margin:1rem 0 0;color:var(--ink-soft);font-size:.86rem}.online-page{min-height:100vh;background:radial-gradient(circle at 76% 8%,color-mix(in srgb,var(--bronze) 18%,transparent),transparent 26rem),linear-gradient(135deg,var(--page),var(--page-deep))}.online-shell{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(340px,.65fr);align-items:start;gap:4rem;width:min(100% - 3rem,1180px);margin:0 auto;padding:5rem 1rem}.online-copy h1{max-width:720px;margin-bottom:1.25rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:500;line-height:1.04;letter-spacing:-.05em}.online-copy p:last-child{max-width:620px;color:var(--ink-soft);font-size:.95rem;line-height:1.85;word-break:keep-all}.online-card{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--line-strong);border-radius:18px;background:color-mix(in srgb,var(--surface-raised) 88%,transparent);box-shadow:var(--shadow-soft)}.account-shell{grid-template-columns:minmax(300px,.8fr) minmax(360px,.7fr)}.account-form,.account-summary,.matchmaking-card{display:grid;gap:1rem}.account-form .primary-action,.account-summary .secondary-action,.matchmaking-card .primary-action,.matchmaking-card .secondary-action{width:100%}.account-summary h2,.account-summary h3,.matchmaking-card h2{margin-bottom:0;font-family:Georgia,serif;font-weight:500}.account-summary h2,.matchmaking-card h2{color:var(--burgundy);font-size:2rem}.account-summary h3{margin-top:.5rem;font-size:1.15rem}.account-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.account-title-row h2{margin:0}.rank-badge{display:inline-flex;align-items:center;gap:.65rem;width:fit-content;padding:.42rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--surface-raised) 76%,transparent)}.rank-badge.compact{padding:.3rem .5rem;gap:.45rem}.rank-palette{position:relative;display:block;width:78px;height:58px;flex:0 0 auto}.palette-tier-icon{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 9px rgba(0,0,0,.16))}.palette-wood-shadow{fill:#0000002e;transform:translateY(2px)}.palette-wood{fill:#d5a24a;stroke:color-mix(in srgb,var(--bronze) 64%,#f7d68a);stroke-width:2.5}.palette-highlight{fill:#fff3}.palette-hole{fill:color-mix(in srgb,var(--walnut-dark) 88%,black)}.palette-hole-highlight{fill:#ffffff3d}.palette-paint{stroke:#ffffff57;stroke-width:1.4;opacity:0}.palette-paint.filled{opacity:1}.rank-badge.rainbow{border-color:color-mix(in srgb,var(--green-light) 48%,var(--burgundy));box-shadow:0 0 0 3px color-mix(in srgb,var(--green-light) 14%,transparent)}.palette-tier-icon.rainbow .palette-wood{stroke:#ffffff6b;stroke-width:3.2}.palette-rainbow-sheen{fill:#fff3;mix-blend-mode:screen}.palette-rainbow-depth{fill:#00000029;mix-blend-mode:multiply}.palette-tier-icon.rainbow .palette-highlight{fill:#ffffff42}.rank-badge.rainbow .rank-copy strong{background:linear-gradient(90deg,#b84d69,#d88a2d,#e0c13c,#3f8a61,#3d7aa8,#6c3d9b);-webkit-background-clip:text;background-clip:text;color:transparent}.rank-copy{display:grid;gap:0;line-height:1}.rank-copy strong{color:var(--burgundy);font-size:.9rem;font-weight:950}.rank-copy small{color:var(--ink-soft);font-size:.48rem;font-weight:900;letter-spacing:.08em}.rank-badge.compact .rank-palette{width:66px;height:48px}.rank-badge.compact .rank-copy{min-width:52px}.rank-badge.compact .rank-copy strong{font-size:.78rem}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.profile-stats span{display:grid;gap:.28rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.profile-stats small{color:var(--ink-soft);font-size:.55rem;font-weight:900;letter-spacing:.12em}.profile-stats strong{font-size:1.28rem}.match-history,.leaderboard-card{display:grid;gap:.65rem}.tier-guide-card{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:radial-gradient(circle at 96% 8%,color-mix(in srgb,var(--green) 12%,transparent),transparent 10rem),var(--surface-raised)}.tier-guide-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.tier-guide-heading .eyebrow{margin:0}.tier-guide-heading strong{font-size:1rem}.tier-guide-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}.tier-guide-item{position:relative;display:grid;grid-template-rows:62px auto;justify-items:center;gap:.28rem;align-items:start;min-width:0;min-height:136px;padding:.68rem .65rem .65rem;overflow:hidden;border:1px solid var(--line);border-radius:14px;text-align:center;background:var(--surface)}.tier-guide-index{position:absolute;top:.58rem;left:.58rem;z-index:1;display:grid;width:1.7rem;height:1.7rem;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--burgundy);font-size:.72rem;font-weight:950}.tier-guide-icon-wrap{display:grid;width:100%;height:62px;padding-left:1.35rem;place-items:center;overflow:hidden}.tier-guide-icon-wrap .palette-tier-icon{width:86px;height:64px}.tier-guide-copy{display:grid;justify-items:center;gap:.16rem;width:100%;min-width:0}.tier-guide-copy strong{color:var(--burgundy);font-size:.88rem;font-weight:950;word-break:keep-all}.tier-requirement{color:var(--green);font-size:.58rem;font-weight:950;line-height:1.25;letter-spacing:.02em;word-break:keep-all}.tier-guide-copy small{color:var(--ink-soft);font-size:.58rem;font-weight:850;line-height:1.35;word-break:keep-all}.leaderboard-shell{display:grid;grid-template-columns:minmax(540px,1.12fr) minmax(390px,.88fr);align-items:start;gap:clamp(1rem,2vw,1.6rem);width:min(calc(100% - 3rem),1420px);min-height:100vh;margin:0 auto;padding:clamp(1.5rem,3vh,2.5rem) 0;align-content:start}.leaderboard-overview{display:grid;align-self:start;gap:1.1rem}.leaderboard-shell .online-copy h1{max-width:680px;margin:.45rem 0 .75rem;font-size:clamp(2.35rem,4vw,4.35rem);line-height:1.02}.leaderboard-shell .online-copy p:last-child{max-width:700px;margin:0;font-size:.86rem;line-height:1.65}.leaderboard-shell .tier-guide-card{gap:.65rem;padding:.8rem;border-radius:16px}.leaderboard-shell .tier-guide-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.leaderboard-shell .tier-guide-item{grid-template-rows:45px auto;gap:.12rem;min-height:106px;padding:.48rem .4rem .45rem;border-radius:11px}.leaderboard-shell .tier-guide-index{top:.42rem;left:.42rem;width:1.4rem;height:1.4rem;font-size:.6rem}.leaderboard-shell .tier-guide-icon-wrap{height:45px;padding-left:1rem}.leaderboard-shell .tier-guide-icon-wrap .palette-tier-icon{width:68px;height:48px}.leaderboard-shell .tier-guide-copy{gap:.08rem}.leaderboard-shell .tier-guide-copy strong{font-size:.74rem}.leaderboard-shell .tier-requirement,.leaderboard-shell .tier-guide-copy small{font-size:.49rem;line-height:1.25}.leaderboard-card{align-content:start;gap:.45rem;padding:.85rem}.leaderboard-list-heading{position:sticky;z-index:2;top:0;display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:-.2rem -.2rem .25rem;padding:.45rem .45rem .75rem;border-bottom:1px solid var(--app-line);background:color-mix(in srgb,var(--app-panel) 94%,transparent)}.leaderboard-list-heading .eyebrow,.leaderboard-list-heading h2{margin:0}.leaderboard-list-heading h2{margin-top:.15rem;font-size:1.25rem}.leaderboard-list-heading>strong{color:var(--green-light);font-size:1.2rem}.leaderboard-shell .leaderboard-row{grid-template-columns:2rem auto minmax(0,1fr) auto;gap:.15rem .45rem;padding:.52rem .6rem;border-radius:10px}.leaderboard-shell .leaderboard-rank{width:1.75rem;height:1.75rem;font-size:.72rem}.leaderboard-shell .rank-badge.compact{padding:.15rem .3rem}.leaderboard-shell .rank-badge.compact .rank-palette{width:52px;height:38px}.leaderboard-shell .leaderboard-row>strong{font-size:.92rem}.leaderboard-shell .leaderboard-row small{font-size:.55rem}.match-history p,.leaderboard-row{display:grid;gap:.25rem;margin:0;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.match-history small,.leaderboard-row small{color:var(--ink-soft);font-size:.64rem;font-weight:800}.leaderboard-row{grid-template-columns:2.4rem auto 1fr auto;align-items:center}.leaderboard-rank{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--burgundy);font-family:Georgia,serif}.leaderboard-row>strong{color:var(--green);font-size:1.05rem}.leaderboard-row small{grid-column:3 / -1}.matchmaking-card{min-height:260px;align-content:center}.match-entry-shell{display:grid;min-width:0;min-height:100vh;place-items:center;padding:2rem}.match-entry-card{display:grid;justify-items:center;gap:.75rem;width:min(100%,520px);padding:clamp(2rem,5vw,3.5rem);border:1px solid var(--app-line-strong);border-radius:24px;text-align:center;background:var(--app-panel);box-shadow:var(--app-shadow)}.match-entry-card h1{margin:0;color:var(--app-ink);font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.05em}.match-entry-card>p:last-of-type{margin:0;color:var(--app-ink-soft);font-weight:700}.match-entry-card .secondary-action{margin-top:.75rem}.match-entry-pulse{width:54px;height:54px;border:2px solid color-mix(in srgb,var(--green-light) 58%,var(--app-line));border-radius:50%;background:radial-gradient(circle,var(--green-light) 0 18%,transparent 20%);box-shadow:0 0 color-mix(in srgb,var(--green-light) 25%,transparent);animation:match-entry-pulse 1.4s ease-out infinite}.online-field{display:grid;gap:.45rem}.online-field span{color:var(--ink-soft);font-size:.66rem;font-weight:800;letter-spacing:.12em}.online-field input,.join-row input{min-height:48px;width:100%;border:1px solid var(--line);border-radius:11px;padding:0 .85rem;color:var(--ink);background:var(--surface)}.join-row{display:grid;grid-template-columns:1fr auto;gap:.65rem}.waiting-room{display:grid;gap:.9rem;margin-top:.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.waiting-room>span{color:var(--ink-soft);font-size:.58rem;font-weight:900;letter-spacing:.16em}.waiting-room>strong{font-family:Georgia,serif;color:var(--burgundy);font-size:2.15rem;letter-spacing:.16em}.waiting-players{display:grid;gap:.5rem}.waiting-players p{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0;padding:.7rem 0;border-bottom:1px solid var(--line)}.waiting-players p:last-child{border-bottom:0}.waiting-players small,.online-message,.online-toast{color:var(--ink-soft);font-size:.68rem;font-weight:800}.share-dialog{width:min(92vw,560px)}.share-link-field{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);color:var(--ink);font:inherit}.online-message{margin:0;line-height:1.55}.online-toast{width:min(100% - 3rem,680px);margin:.7rem auto 0;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--burgundy) 30%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--surface-raised) 90%,transparent)}.status-connected i{background:var(--green-light)}.status-connecting i,.status-disconnected i{background:var(--bronze)}.status-error i{background:var(--danger)}.config-controls{display:grid;gap:1.2rem;padding:1.4rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}fieldset{min-width:0;margin:0;padding:0;border:0}fieldset legend{margin-bottom:.55rem;color:var(--ink-soft);font-size:.66rem;font-weight:800;letter-spacing:.12em}.choice-row,.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-muted) 55%,transparent)}.choice-row button,.segmented-control button{min-height:40px;padding:.5rem;border:0;border-radius:8px;color:var(--ink-soft);background:transparent;font-size:.73rem;font-weight:700;cursor:pointer}.choice-row button.active,.segmented-control button.active{color:var(--ink);background:var(--surface-raised);box-shadow:0 2px 8px #37241417}.primary-action,.secondary-action,.danger-action{min-height:50px;padding:0 1.15rem;border-radius:12px;font-size:.82rem;font-weight:800;cursor:pointer}.primary-action{display:flex;align-items:center;justify-content:space-between;border:1px solid color-mix(in srgb,var(--burgundy) 70%,black);color:#fff8ee;background:linear-gradient(135deg,var(--burgundy-light),var(--burgundy));box-shadow:0 8px 20px color-mix(in srgb,var(--burgundy) 25%,transparent)}.secondary-action{border:1px solid var(--line-strong);background:transparent}.danger-action{border:1px solid color-mix(in srgb,var(--danger) 65%,black);color:#fff;background:var(--danger)}.lobby-footer,.game-footnote{display:flex;justify-content:space-between;gap:2rem;width:min(100% - 3rem,1380px);margin:0 auto;padding:1.35rem 0 1.8rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.58rem;font-weight:800;letter-spacing:.13em}.game-page{min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--surface-raised) 70%,transparent),transparent 42rem),linear-gradient(135deg,var(--page),var(--page-deep))}.brand-button{padding:0}.match-label{position:absolute;left:50%;display:flex;align-items:center;gap:.8rem;transform:translate(-50%)}.match-label span{color:var(--ink-soft);font-size:.64rem;font-weight:800;letter-spacing:.14em}.match-label strong{padding-left:.8rem;border-left:1px solid var(--line);font-size:.72rem;letter-spacing:.08em}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);background:color-mix(in srgb,var(--surface) 70%,transparent)}.icon-button.labeled{grid-template-columns:auto auto;gap:.35rem;width:auto;padding:0 .7rem}.icon-button.labeled span{font-size:1rem}.icon-button.labeled small{font-size:.67rem;font-weight:700}.turn-banner{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.65rem;width:min(100% - 3rem,680px);min-height:48px;margin:1rem auto 0;padding:.65rem 1rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-raised) 86%,transparent);box-shadow:0 7px 20px #3220120f;isolation:isolate;overflow:hidden}.turn-banner>*{position:relative;z-index:1}.turn-banner:after{content:"";position:absolute;z-index:0;top:-80%;left:-35%;width:34%;height:260%;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(18deg) translate(-180%)}.turn-indicator{width:8px;height:8px;border-radius:50%;background:var(--metal)}.turn-banner.mine .turn-indicator{background:var(--burgundy);box-shadow:0 0 0 5px color-mix(in srgb,var(--burgundy) 12%,transparent)}.turn-banner.turn-ready-effect{animation:turn-ready-flash 1.2s cubic-bezier(.2,.8,.2,1) both}.turn-banner.turn-ready-effect .turn-indicator{animation:turn-ready-dot 1.2s cubic-bezier(.2,.8,.2,1) both}.turn-banner.turn-ready-effect strong{animation:turn-ready-label 1.2s ease both}.turn-banner.turn-ready-effect:after{animation:turn-ready-sweep 1.2s ease both}.turn-banner strong{font-size:.82rem}.turn-banner small{justify-self:end;color:var(--ink-soft);font-size:.7rem}.game-layout{display:grid;grid-template-columns:minmax(180px,230px) minmax(400px,670px) minmax(180px,230px);grid-template-areas:"opponent board human" ". picker .";align-items:center;justify-content:center;gap:1.4rem clamp(1rem,3vw,3.5rem);width:min(100% - 2.5rem,1380px);margin:0 auto;padding:1.5rem 0 1rem}.opponent-slot{grid-area:opponent}.board-stage{grid-area:board}.human-slot{grid-area:human}.picker-slot{grid-area:picker}.player-slot{display:flex;flex-direction:column;gap:.7rem}.player-card{position:relative;display:flex;min-height:420px;flex-direction:column;align-items:center;padding:1rem;border:1px solid var(--line-strong);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%),var(--surface);box-shadow:var(--shadow-card),inset 0 0 0 3px color-mix(in srgb,var(--surface-muted) 50%,transparent);transition:border-color var(--duration) ease,transform var(--duration) ease,box-shadow var(--duration) ease}.player-card.active{border-color:color-mix(in srgb,var(--burgundy) 68%,var(--line));transform:translateY(-2px);box-shadow:0 12px 34px color-mix(in srgb,var(--burgundy) 16%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--burgundy) 6%,transparent)}.player-card-status{display:flex;align-items:center;align-self:stretch;gap:.55rem;padding-bottom:.85rem;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.54rem;font-weight:800;letter-spacing:.12em}.player-card.active .connection-dot{background:var(--burgundy-light)}.player-avatar{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:2rem 0 1.4rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--burgundy);background:radial-gradient(circle at 50% 38%,color-mix(in srgb,currentColor 14%,transparent),transparent 2.2rem),color-mix(in srgb,var(--surface-muted) 75%,transparent);box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--surface-raised) 55%,transparent),0 8px 24px #00000014}.player-avatar span{display:grid;width:58px;height:58px;place-items:center;border:1px solid color-mix(in srgb,currentColor 48%,transparent);border-radius:50%;color:currentColor;background:color-mix(in srgb,var(--surface-raised) 78%,transparent);font-size:1.22rem;font-weight:950;letter-spacing:-.04em}.player-avatar.avatar-prism{color:var(--navy-light)}.player-avatar.avatar-orbit{color:var(--burgundy-light)}.player-identity{display:flex;flex-direction:column;align-items:center;text-align:center}.player-identity strong{font-family:Georgia,serif;font-size:1.18rem;font-weight:500}.player-identity span{margin-top:.35rem;color:var(--ink-soft);font-size:.66rem}.player-meters{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:auto}.score-ring,.timer-ring{position:relative;display:grid;place-items:center;border-radius:50%}.score-ring{width:90px;height:90px;background:conic-gradient(var(--burgundy) var(--progress),var(--surface-muted) 0)}.score-ring:after,.timer-ring:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.score-ring span,.timer-ring strong,.timer-ring small{position:relative;z-index:1}.score-ring span{display:flex;align-items:baseline}.score-ring strong{font-size:1.8rem}.score-ring small{color:var(--ink-soft);font-size:.72rem}.timer-ring{width:64px;height:64px;background:conic-gradient(var(--metal) var(--timer-progress),var(--surface-muted) 0)}.timer-ring strong{margin-top:-.15rem;font-size:1.05rem}.timer-ring small{margin-top:-1.05rem;color:var(--ink-soft);font-size:.43rem;letter-spacing:.08em}.timer-ring.urgent{background:conic-gradient(var(--burgundy-light) var(--timer-progress),var(--surface-muted) 0)}.timer-ring.urgent strong{color:var(--burgundy-light);font-weight:900}.score-delta{position:absolute;right:-8px;bottom:88px;padding:.42rem .58rem;border:1px solid color-mix(in srgb,var(--burgundy) 45%,transparent);border-radius:8px;color:var(--burgundy);background:var(--surface-raised);font-size:.88rem;font-weight:900;animation:score-rise .7s ease both}.resign-button{min-height:42px;border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);background:transparent;font-size:.7rem;font-weight:700;cursor:pointer}.board-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;color:var(--ink-soft);font-size:.55rem;font-weight:800;letter-spacing:.1em}.board-caption span{display:inline-flex;align-items:center;gap:.45rem}.board-caption i{width:6px;height:6px;border-radius:50%;background:var(--green)}.game-board-frame{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%;aspect-ratio:1;padding:clamp(18px,3.8vw,34px);border:clamp(8px,1.5vw,13px) solid var(--walnut-dark);border-radius:clamp(22px,3.5vw,36px);background:repeating-linear-gradient(93deg,rgba(255,255,255,.035) 0 1px,transparent 1px 28px),repeating-linear-gradient(2deg,rgba(0,0,0,.04) 0 1px,transparent 1px 38px),linear-gradient(135deg,var(--walnut-light),var(--walnut));box-shadow:0 26px 60px #2d1b1038,inset 0 0 0 2px #ffffff14,inset 0 0 22px #170c0640}.game-board-frame.locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:inherit;cursor:wait}.game-board-frame.clearing{animation:board-clear-shake .42s ease both}.game-board{display:grid;grid-auto-rows:minmax(0,1fr);align-self:stretch;justify-self:stretch;gap:clamp(5px,1vw,9px);min-width:0;min-height:0;width:auto;height:auto}.board-cell{position:relative;display:grid;min-width:0;min-height:0;place-items:center;padding:0;overflow:visible;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:layout;border:1px solid rgba(255,241,218,.13);border-radius:clamp(8px,1.3vw,13px);background:#27160c45;box-shadow:inset 0 3px 7px #1c0d0647,0 1px #ffffff0a;cursor:default}.game-board-frame.interactive .board-cell.empty{cursor:pointer}.tile-face,.tile-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;min-width:0;min-height:0;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:inherit;color:#ffffffd1;font-size:clamp(.7rem,2vw,1.25rem);text-shadow:0 1px 2px rgba(0,0,0,.22);box-shadow:inset 0 3px 3px #ffffff1c,inset 0 -4px 7px #0000001c,0 5px 8px #1e0e073d}.board-cell.colorA .tile-face,.tile-preview.colorA{background:linear-gradient(145deg,var(--burgundy-light),var(--burgundy))}.board-cell.colorB .tile-face,.tile-preview.colorB{background:linear-gradient(145deg,var(--navy-light),var(--navy))}.board-cell.colorC .tile-face,.tile-preview.colorC{background:linear-gradient(145deg,var(--green-light),var(--green))}.tile-preview{opacity:0;transform:scale(.91);transition:opacity var(--duration) ease,transform var(--duration) ease}.game-board-frame.interactive .board-cell.empty:hover .tile-preview,.game-board-frame.interactive .board-cell.empty:focus-visible .tile-preview{opacity:.38;transform:scale(.96)}.board-cell.placed .tile-face{animation:tile-place .22s cubic-bezier(.2,.8,.2,1) both}.board-cell.opponent-last:before{position:absolute;z-index:3;top:6px;right:6px;width:9px;height:9px;border:2px solid rgba(45,23,12,.72);border-radius:50%;background:#fff4c8;box-shadow:0 0 0 2px #fff4c861,0 2px 7px #00000052;content:"";pointer-events:none}.board-cell.opponent-last:after{position:absolute;z-index:2;top:3px;right:3px;bottom:3px;left:3px;border:3px solid rgba(255,244,200,.94);border-radius:calc(clamp(8px,1.3vw,13px) - 2px);box-shadow:0 0 0 2px #704824c7,0 0 17px #ffe29780;content:"";pointer-events:none}.board-cell.scoring .tile-face{outline:3px solid rgba(255,245,213,.88);outline-offset:-5px;animation:scoring-pulse .62s ease both}.game-board-frame.clearing .board-cell.scoring .tile-face{outline-color:#fff5d594;animation:board-clear-tile .42s ease both}.board-cell.invalid{animation:invalid-border .32s ease}.board-corner{position:absolute;width:13px;height:13px;border:2px solid color-mix(in srgb,var(--bronze) 70%,white);border-radius:50%;background:#5b402a;box-shadow:inset 0 1px 2px #ffffff47,0 2px 4px #00000040}.corner-a{top:10px;left:10px}.corner-b{top:10px;right:10px}.corner-c{bottom:10px;left:10px}.corner-d{right:10px;bottom:10px}.picker-slot{width:min(100%,670px)}.color-picker{display:flex;align-items:center;gap:.85rem;padding:.65rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 8px 24px #2d1c0f14}.picker-label{display:flex;min-width:116px;flex-direction:column;padding-left:.45rem}.picker-label span{font-size:.56rem;font-weight:900;letter-spacing:.13em}.picker-label small{margin-top:.25rem;color:var(--ink-soft);font-size:.52rem}.color-options{display:grid;flex:1;grid-template-columns:repeat(3,1fr);gap:.45rem}.color-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;min-height:52px;padding:.35rem .5rem;border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);background:var(--surface-muted);cursor:pointer;opacity:.42;filter:saturate(.5);transition:opacity var(--duration) ease,filter var(--duration) ease,border-color var(--duration) ease,background var(--duration) ease,color var(--duration) ease,box-shadow var(--duration) ease}.color-option:disabled{opacity:.3}.color-option.active{opacity:1;filter:none;border-color:var(--line-strong);outline:3px solid var(--line-strong);outline-offset:1px;color:var(--ink);background:var(--surface-raised);box-shadow:0 4px 14px #2c1b0f33}.color-option.colorA.active{border-color:var(--burgundy);outline-color:color-mix(in srgb,var(--burgundy) 82%,white)}.color-option.colorB.active{border-color:var(--navy);outline-color:color-mix(in srgb,var(--navy) 82%,white)}.color-option.colorC.active{border-color:var(--green);outline-color:color-mix(in srgb,var(--green) 82%,white)}.color-swatch{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#ffffffd1;font-size:.65rem;box-shadow:inset 0 2px 2px #ffffff24,0 2px 5px #00000024}.colorA .color-swatch{background:var(--burgundy)}.colorB .color-swatch{background:var(--navy)}.colorC .color-swatch{background:var(--green)}.color-name{font-size:.68rem;font-weight:800;white-space:nowrap}kbd{display:grid;width:22px;height:22px;place-items:center;border:1px solid var(--line);border-radius:5px;color:var(--ink-soft);background:var(--surface);font-size:.55rem;box-shadow:0 2px 0 var(--line)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#18130f8a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade-in var(--duration) ease both}.settings-panel,.help-panel,.confirm-panel,.result-panel{width:min(100%,510px);max-height:calc(100vh - 2rem);padding:1.4rem;overflow-y:auto;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface-raised);box-shadow:0 28px 80px #100a0657,inset 0 0 0 3px color-mix(in srgb,var(--surface-muted) 50%,transparent);animation:panel-in .22s ease both}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.panel-heading h2,.confirm-panel h2,.result-panel h2{margin-bottom:0;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.setting-group{display:grid;gap:.85rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}.setting-group:last-child{border-bottom:0;padding-bottom:0}.setting-label{display:flex;flex-direction:column;gap:.2rem}.setting-label strong,.switch-row strong{font-size:.8rem}.setting-label span,.switch-row small{color:var(--ink-soft);font-size:.66rem;line-height:1.5}.settings-tutorial-action{width:100%}.setting-stack{gap:0}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;cursor:pointer}.switch-row>span{display:flex;flex-direction:column;gap:.2rem}.switch-row input{width:42px;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface-muted);cursor:pointer;transition:background var(--duration) ease}.switch-row input:before{content:"";display:block;width:18px;height:18px;margin:2px;border-radius:50%;background:var(--surface-raised);box-shadow:0 2px 5px #0000002e;transition:transform var(--duration) ease}.switch-row input:checked{background:var(--burgundy)}.switch-row input:checked:before{transform:translate(18px)}.segmented-control.two-up{grid-template-columns:repeat(2,1fr)}.rule-list{display:grid;gap:.65rem;margin:1.2rem 0;padding:0;list-style:none;counter-reset:rules}.rule-list li{display:grid;grid-template-columns:1fr;gap:.2rem;padding:.8rem .8rem .8rem 3rem;border:1px solid var(--line);border-radius:11px;counter-increment:rules;position:relative}.rule-list li:before{content:"0" counter(rules);position:absolute;top:.78rem;left:.8rem;color:var(--burgundy);font-family:Georgia,serif;font-size:.8rem}.rule-list strong{font-size:.76rem}.rule-list span{color:var(--ink-soft);font-size:.68rem;line-height:1.5}.score-table{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.score-table span{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:64px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.score-table i{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;color:#fff;background:var(--burgundy);font-style:normal;font-size:.72rem;font-weight:800}.score-table strong{font-size:.78rem}.help-note,.confirm-panel>p:not(.eyebrow),.result-panel>p:not(.eyebrow){margin:1rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.65}.confirm-panel{width:min(100%,430px)}.confirm-panel .result-actions{margin-top:1.4rem}.result-panel{width:min(100%,480px);text-align:center}.result-panel .eyebrow{text-align:center}.result-status-card{display:inline-flex;align-items:center;gap:.75rem;max-width:100%;margin:.85rem auto 1.2rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.result-status-card>span:last-child{display:grid;min-width:0;text-align:left}.result-status-card small{color:var(--ink-soft);font-size:.52rem;font-weight:900;letter-spacing:.16em}.result-status-card strong{overflow:hidden;max-width:220px;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.result-status-mark{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;font-size:.82rem;font-weight:950}.result-status-mark.win{background:var(--green)}.result-status-mark.draw{background:var(--bronze)}.result-status-mark.loss{background:var(--burgundy)}.final-score{display:flex;align-items:center;justify-content:center;gap:1.6rem;margin:1.5rem 0}.final-score span{display:flex;flex-direction:column;min-width:92px;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.final-score small,.result-meta small{color:var(--ink-soft);font-size:.55rem;font-weight:800;letter-spacing:.12em}.final-score strong{margin-top:.2rem;font-size:2rem}.final-score>i{color:var(--ink-soft);font-family:Georgia,serif;font-style:normal}.result-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.result-meta span{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--line)}.result-meta strong{font-size:.78rem}.result-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:1.5rem}.tutorial-backdrop{background:radial-gradient(circle at 36% 32%,color-mix(in srgb,var(--green) 18%,transparent),transparent 22rem),#18130f9e}.tutorial-panel{width:min(100%,820px);padding:1.25rem;border:1px solid var(--line-strong);border-radius:20px;color:var(--ink);background:var(--surface-raised);box-shadow:0 30px 88px #100a0661,inset 0 0 0 3px color-mix(in srgb,var(--surface-muted) 48%,transparent);animation:panel-in .22s ease both}.tutorial-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.tutorial-panel:focus-visible{outline:3px solid var(--green-light);outline-offset:3px}.tutorial-panel h2{margin-bottom:1rem;font-family:Georgia,serif;font-size:1.85rem;font-weight:500;line-height:1.2}.tutorial-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:.85rem;align-items:stretch}.tutorial-game-preview{display:grid;grid-template-rows:auto 1fr;gap:.75rem;min-height:300px;padding:.9rem;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 76% 16%,color-mix(in srgb,var(--green) 16%,transparent),transparent 9rem),linear-gradient(135deg,color-mix(in srgb,var(--surface) 72%,var(--walnut)),var(--surface))}.tutorial-preview-topbar,.tutorial-preview-status,.tutorial-preview-choice{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tutorial-preview-topbar{color:var(--ink-soft);font-size:.62rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.tutorial-preview-topbar strong{color:var(--ink)}.tutorial-preview-body{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:.75rem;align-items:stretch}.tutorial-preview-board{display:grid;grid-template-columns:repeat(5,1fr);gap:.38rem;aspect-ratio:1;width:100%;min-width:0;padding:.55rem;border:7px solid color-mix(in srgb,var(--walnut-dark) 70%,black);border-radius:18px;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(135deg,var(--walnut),var(--walnut-dark));background-size:28px 28px,28px 28px,auto;box-shadow:inset 0 0 0 1px #ffffff29,0 18px 28px #0000002e}.tutorial-preview-cell{position:relative;min-width:0;border-radius:10px;background:linear-gradient(135deg,#ffffff0a,#00000014),color-mix(in srgb,var(--walnut-dark) 74%,var(--walnut));box-shadow:inset 0 2px 5px #160a0438}.tutorial-preview-cell:after{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:inherit;opacity:0;transform:scale(.92);background:var(--preview-color, transparent);box-shadow:inset 0 1px #fff3,0 8px 16px #0000002e}.tutorial-preview-cell.red-tile{--preview-color: var(--burgundy)}.tutorial-preview-cell.blue-tile{--preview-color: var(--blue)}.tutorial-preview-cell.green-tile{--preview-color: var(--green)}.tutorial-preview-cell.red-tile:after,.tutorial-preview-cell.blue-tile:after,.tutorial-preview-cell.green-tile:after{opacity:1;transform:scale(1)}.tutorial-preview-cell.placing:after{animation:tutorial-place 1.7s ease-in-out infinite}.tutorial-preview-cell.scoring:after{animation:tutorial-score 1.45s ease-in-out infinite}.tutorial-preview-cell.clearing:after{animation:tutorial-clear 1.65s ease-in-out infinite}.tutorial-preview-side{display:grid;align-content:space-between;gap:.65rem;min-width:0}.tutorial-preview-status,.tutorial-preview-choice,.tutorial-preview-score{min-height:58px;padding:.65rem;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:color-mix(in srgb,var(--surface-raised) 72%,transparent);font-size:.72rem;font-weight:900}.tutorial-preview-status:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--green-light);box-shadow:0 0 0 4px color-mix(in srgb,var(--green-light) 15%,transparent)}.tutorial-game-preview.turn .tutorial-preview-status{border-color:color-mix(in srgb,var(--green-light) 46%,var(--line));animation:tutorial-turn 1.5s ease-in-out infinite}.tutorial-preview-choice i{width:30px;height:30px;border-radius:9px;background:var(--burgundy)}.tutorial-preview-score{display:grid;place-items:center;color:var(--ink-soft)}.tutorial-preview-score strong{color:var(--burgundy);font-size:1.65rem}.tutorial-game-preview.win .tutorial-preview-score strong{animation:tutorial-score-pop 1.65s ease-in-out infinite}.tutorial-card{display:grid;gap:.35rem;align-content:start;min-height:100%;padding:1rem;border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 88% 16%,color-mix(in srgb,var(--burgundy) 13%,transparent),transparent 8rem),var(--surface)}.tutorial-count{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--burgundy);background:var(--surface-muted);font-size:.75rem;font-weight:950}.tutorial-card strong{font-size:1.1rem}.tutorial-card p,.tutorial-note{color:var(--ink-soft);font-size:.74rem;line-height:1.65;word-break:keep-all}.tutorial-dots{display:flex;justify-content:center;gap:.38rem;margin:.9rem 0}.tutorial-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line-strong);cursor:pointer}.tutorial-dots button.active{width:26px;border-radius:999px;background:var(--burgundy)}.tutorial-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.tutorial-note{margin:.85rem 0 0}@keyframes tutorial-place{0%,to{opacity:.55;transform:translateY(-10px) scale(.82)}45%,78%{opacity:1;transform:translateY(0) scale(1)}}@keyframes tutorial-score{0%,to{filter:brightness(1);transform:scale(1)}48%{filter:brightness(1.4);transform:scale(1.05);box-shadow:inset 0 1px #ffffff47,0 0 18px #ffebb87a}}@keyframes tutorial-clear{0%,64%{opacity:1;transform:scale(1)}to{opacity:.18;transform:scale(.72)}}@keyframes tutorial-turn{0%,to{box-shadow:0 0 color-mix(in srgb,var(--green-light) 0%,transparent)}46%{box-shadow:0 0 0 6px color-mix(in srgb,var(--green-light) 16%,transparent)}}@keyframes tutorial-score-pop{0%,to{transform:scale(1)}45%{transform:scale(1.16)}}@keyframes tile-place{0%{opacity:.4;transform:translateY(-7px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scoring-pulse{0%,to{filter:brightness(1)}45%{filter:brightness(1.35);box-shadow:0 0 24px #ffebb8a6}}@keyframes invalid-border{0%,to{box-shadow:inset 0 3px 7px #1c0d0647}50%{box-shadow:inset 0 0 0 3px var(--danger)}}@keyframes board-clear-shake{0%,to{transform:translateZ(0)}18%{transform:translate3d(-4px,0,0) rotate(-.35deg)}36%{transform:translate3d(4px,0,0) rotate(.35deg)}54%{transform:translate3d(-3px,0,0) rotate(-.22deg)}72%{transform:translate3d(2px,0,0) rotate(.18deg)}}@keyframes board-clear-tile{0%{opacity:1;transform:scale(1)}45%{opacity:.92;transform:scale(.96)}to{opacity:0;transform:scale(.74)}}@keyframes score-rise{0%{opacity:0;transform:translateY(8px) scale(.92)}35%{opacity:1;transform:translateY(-3px) scale(1.08)}to{opacity:1;transform:translateY(-12px) scale(1)}}@keyframes turn-ready-flash{0%{border-color:color-mix(in srgb,var(--green-light) 88%,white);background:color-mix(in srgb,var(--green-light) 18%,var(--surface-raised));box-shadow:0 0 color-mix(in srgb,var(--green-light) 38%,transparent),0 8px 24px #00000014;transform:translateY(2px) scale(.985)}28%{border-color:color-mix(in srgb,var(--green-light) 82%,white);background:color-mix(in srgb,var(--green-light) 24%,var(--surface-raised));box-shadow:0 0 0 12px color-mix(in srgb,var(--green-light) 15%,transparent),0 18px 42px #0000002e;transform:translateY(-3px) scale(1.025)}62%{border-color:color-mix(in srgb,var(--green-light) 68%,var(--line));box-shadow:0 0 0 6px color-mix(in srgb,var(--green-light) 9%,transparent),0 12px 30px #0000001f;transform:translateY(-1px) scale(1.01)}to{border-color:var(--line);background:color-mix(in srgb,var(--surface-raised) 86%,transparent);box-shadow:none;transform:translateY(0) scale(1)}}@keyframes turn-ready-dot{0%,to{transform:scale(1)}28%{background:var(--green-light);box-shadow:0 0 0 12px color-mix(in srgb,var(--green-light) 22%,transparent);transform:scale(1.7)}}@keyframes turn-ready-label{0%,to{color:inherit;letter-spacing:normal}28%{color:var(--green-light);letter-spacing:.06em}}@keyframes turn-ready-sweep{0%{opacity:0;transform:rotate(18deg) translate(-180%)}18%{opacity:1}58%{opacity:.8;transform:rotate(18deg) translate(460%)}to{opacity:0;transform:rotate(18deg) translate(460%)}}@keyframes match-entry-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--green-light) 28%,transparent);transform:scale(.94)}55%{box-shadow:0 0 0 14px color-mix(in srgb,var(--green-light) 0%,transparent);transform:scale(1.04)}to{box-shadow:0 0 0 0 transparent;transform:scale(.94)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.12s!important;transition-duration:.1s!important}:root[data-motion=off] *,:root[data-motion=off] *:before,:root[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media (max-width: 1100px){.mode-grid{grid-template-columns:repeat(2,1fr)}.mode-card{min-height:340px}.match-config,.online-shell{grid-template-columns:1fr;gap:2rem}.game-layout{grid-template-columns:minmax(150px,190px) minmax(380px,600px) minmax(150px,190px);gap:1rem}.player-card{min-height:360px}.player-avatar{width:82px;height:82px;margin-top:1.4rem}}@media (max-width: 820px){.site-header,.game-header,.lobby-hero,.match-config,.online-shell,.lobby-footer,.game-footnote{width:min(100% - 2rem,680px)}.service-status{display:none}.lobby-hero{grid-template-columns:1fr;gap:2.5rem;padding-top:3.5rem}.hero-board{width:min(82vw,430px);justify-self:center}.mode-section{padding-inline:1rem}.section-heading{align-items:start;flex-direction:column}.section-heading>p{text-align:left}.game-layout{display:flex;width:min(100% - 1.25rem,620px);flex-direction:column;gap:.85rem;padding-top:1rem}.player-slot,.board-stage,.picker-slot{width:100%}.opponent-slot{order:1}.board-stage{order:2}.human-slot{order:3}.picker-slot{order:4;position:sticky;bottom:.5rem;z-index:20}.player-card{min-height:0;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;gap:.5rem .85rem;padding:.75rem}.player-card-status{grid-column:1 / -1;padding-bottom:.55rem}.player-avatar{grid-column:1;grid-row:2;width:62px;height:62px;margin:0}.player-identity{grid-column:2;grid-row:2;align-items:start;text-align:left}.player-meters{grid-column:3;grid-row:2;margin:0}.score-ring{width:65px;height:65px}.score-ring strong{font-size:1.25rem}.timer-ring{width:54px;height:54px}.score-delta{right:142px;bottom:18px}.resign-button{display:none}.turn-banner{width:min(100% - 1.25rem,620px)}.game-footnote{display:none}.game-board-frame{padding:clamp(14px,5vw,28px)}.tutorial-panel{width:min(100% - 1.25rem,560px);max-height:calc(100vh - 1.25rem);overflow-y:auto}.tutorial-stage,.tutorial-preview-body{grid-template-columns:1fr}.tutorial-game-preview{min-height:0}.tutorial-preview-side{grid-template-columns:repeat(3,1fr)}}@media (max-width: 560px){.brand-copy{display:none}.site-header,.game-header{min-height:64px}.header-button{min-height:38px}.match-label{gap:.4rem}.match-label span{display:none}.match-label strong{padding-left:0;border-left:0}.icon-button.labeled small{display:none}.icon-button.labeled{width:38px;padding:0;grid-template-columns:1fr}.hero-copy h1{font-size:clamp(2.45rem,13vw,4rem)}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:320px}.choice-row,.join-row{grid-template-columns:1fr}.turn-banner{grid-template-columns:auto 1fr}.turn-banner small,.board-caption small{display:none}.game-board-frame{border-width:8px;border-radius:22px}.color-picker{display:block;padding:.5rem}.picker-label{display:none}.color-option{grid-template-columns:1fr;min-height:52px;padding:.35rem}.color-swatch{justify-self:center;width:38px;height:38px}.color-name,.color-option kbd{display:none}.player-meters{gap:.35rem}.score-ring{width:58px;height:58px}.timer-ring{width:49px;height:49px}.lobby-footer{flex-direction:column;gap:.5rem}.settings-panel,.help-panel,.confirm-panel,.result-panel{padding:1rem;border-radius:16px}}.app-frame{display:grid;grid-template-columns:214px minmax(0,1fr);min-height:100vh;color:var(--app-ink);background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--bronze) 14%,transparent),transparent 30rem),radial-gradient(circle at 80% 42%,color-mix(in srgb,var(--green) 13%,transparent),transparent 25rem),linear-gradient(135deg,var(--app-page),var(--app-page-deep))}.app-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:1.1rem .65rem;border-right:1px solid var(--app-line);background:var(--app-sidebar);box-shadow:10px 0 30px color-mix(in srgb,var(--app-page-deep) 28%,transparent)}.sidebar-brand{display:flex;width:100%;min-height:58px;align-items:center;padding:0 .55rem;border:0;border-radius:12px;color:var(--app-ink);background:transparent;cursor:pointer}.app-sidebar .brand-symbol{border-color:var(--app-line-strong);background:var(--app-panel-strong)}.app-sidebar .brand-copy small,.app-sidebar .brand-copy strong{color:var(--app-ink)}.sidebar-nav{display:grid;gap:.35rem;margin-top:1.2rem}.sidebar-nav button,.sidebar-bottom button{display:flex;width:100%;min-height:46px;align-items:center;padding:0 .85rem;border:0;border-radius:10px;color:var(--app-ink-soft);background:transparent;font-size:1rem;font-weight:800;cursor:pointer}.sidebar-nav button:hover,.sidebar-bottom button:hover{color:var(--app-ink);background:var(--app-sidebar-hover)}.sidebar-bottom{display:grid;gap:.35rem;margin-top:auto}.home-stage{display:grid;grid-template-columns:minmax(410px,.95fr) minmax(360px,.75fr);align-items:center;gap:clamp(2rem,4.5vw,4.5rem);min-height:100vh;padding:clamp(1.25rem,3.5vh,3rem) clamp(1.5rem,5vw,5rem)}.home-board-card{justify-self:center;width:min(40vw,620px)}.home-stage .hero-board{width:100%;gap:clamp(6px,.9vw,10px);padding:clamp(16px,2.1vw,28px);overflow:visible;border:clamp(8px,1.2vw,12px) solid var(--walnut-dark);border-radius:clamp(22px,3vw,32px);background:repeating-linear-gradient(93deg,rgba(255,255,255,.035) 0 1px,transparent 1px 28px),repeating-linear-gradient(2deg,rgba(0,0,0,.04) 0 1px,transparent 1px 38px),linear-gradient(135deg,var(--walnut-light),var(--walnut));box-shadow:var(--app-shadow),inset 0 0 0 2px #ffffff14,inset 0 0 22px #170c0633;transform:none}.home-stage .hero-board:before{display:none}.home-stage .hero-board i{position:relative;display:grid;place-items:center;border:1px solid rgba(255,241,218,.13);border-radius:clamp(8px,1.2vw,13px);background:#27160c45;box-shadow:inset 0 3px 7px #1c0d0647,0 1px #ffffff0a}.home-stage .hero-board .tile-a,.home-stage .hero-board .tile-b,.home-stage .hero-board .tile-c{background:#27160c45}.home-stage .hero-board .tile-a:after,.home-stage .hero-board .tile-b:after,.home-stage .hero-board .tile-c:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 3px 2px #ffffff29,0 6px 16px #00000040}.home-stage .hero-board .tile-a:after{background:linear-gradient(145deg,var(--burgundy-light),var(--burgundy))}.home-stage .hero-board .tile-b:after{background:linear-gradient(145deg,var(--navy-light),var(--navy))}.home-stage .hero-board .tile-c:after{background:linear-gradient(145deg,var(--green-light),var(--green))}.home-copy{max-width:560px}.home-copy h1{margin-bottom:1.2rem;color:var(--app-ink);font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;font-size:clamp(3rem,4.8vw,5.3rem);font-weight:950;line-height:1.04;letter-spacing:-.07em;word-break:keep-all}.home-copy>p:not(.eyebrow){max-width:470px;color:var(--app-ink-soft);font-size:1.15rem;font-weight:700;line-height:1.65;word-break:keep-all}.home-actions{display:grid;grid-template-columns:1fr;gap:.75rem;width:min(100%,500px);margin:1.5rem 0 .85rem}.home-primary,.home-secondary,.home-tutorial{min-height:58px;border-radius:10px;font-size:1.24rem;font-weight:950;cursor:pointer}.home-primary{border:0;color:var(--app-inverted);background:linear-gradient(180deg,var(--green-light),var(--green));box-shadow:0 6px color-mix(in srgb,var(--green) 70%,black),0 16px 34px #0000003d}.home-secondary{border:1px solid var(--app-line-strong);color:var(--app-ink);background:var(--app-panel);box-shadow:0 5px color-mix(in srgb,var(--walnut-dark) 18%,transparent)}.home-tutorial{min-height:46px;border:1px dashed var(--app-line-strong);border-radius:10px;color:var(--app-ink-soft);background:color-mix(in srgb,var(--app-panel) 72%,transparent);font-size:1rem;font-weight:900;cursor:pointer}.quick-config{display:flex;width:min(100%,500px);align-items:center;gap:.35rem;margin-top:.6rem;padding:.35rem;border:1px solid var(--app-line);border-radius:10px;background:var(--app-panel-muted)}.quick-config span{min-width:54px;padding-left:.55rem;color:var(--app-ink-soft);font-size:.72rem;font-weight:900;letter-spacing:.08em}.quick-config button{position:relative;flex:1;min-height:34px;border:0;border-radius:7px;color:var(--app-ink-soft);background:transparent;font-size:.78rem;font-weight:850;cursor:pointer}.quick-config button.active{color:var(--app-ink);background:var(--app-panel-strong)}.quick-config button.locked{color:color-mix(in srgb,var(--app-ink-soft) 58%,transparent);cursor:not-allowed}.quick-config button.locked small{display:block;margin-top:.1rem;font-size:.48rem;font-weight:900;letter-spacing:.06em}.quick-config button.locked:hover:after{content:attr(data-tooltip);position:absolute;z-index:20;left:50%;bottom:calc(100% + 8px);width:max-content;max-width:180px;padding:.42rem .55rem;border:1px solid var(--app-line);border-radius:8px;color:var(--app-ink);background:var(--app-panel-strong);box-shadow:0 10px 24px #0000003d;font-size:.66rem;font-weight:850;transform:translate(-50%);pointer-events:none}.home-mode-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;width:min(100%,500px);margin-top:.8rem}.home-mode{display:grid;gap:.2rem;min-height:78px;padding:.75rem;border:1px solid var(--app-line);border-radius:12px;color:var(--app-ink);background:var(--app-panel);text-align:left;cursor:pointer}.home-mode:hover{transform:translateY(-2px);border-color:var(--app-line-strong);background:var(--app-panel-strong)}.home-mode small{color:var(--app-ink-soft);font-size:.55rem;font-weight:900;letter-spacing:.12em}.home-mode strong{font-size:1rem}.home-mode span{color:var(--app-ink-soft);font-size:.75rem;font-weight:800}.visitor-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;width:min(100%,500px);margin-top:.65rem}.visitor-strip span{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .7rem;border:1px solid var(--app-line);border-radius:11px;background:color-mix(in srgb,var(--app-panel) 72%,transparent)}.visitor-strip small{color:var(--app-ink-soft);font-size:.62rem;font-weight:900;letter-spacing:.08em}.visitor-strip strong{color:var(--green-light);font-size:.92rem;font-weight:950}.game-page.app-frame{height:100vh;min-height:0;overflow:hidden}.online-page.app-frame{min-height:100vh;background:radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--bronze) 13%,transparent),transparent 28rem),radial-gradient(circle at 32% 34%,color-mix(in srgb,var(--burgundy) 9%,transparent),transparent 24rem),linear-gradient(135deg,var(--app-page),var(--app-page-deep))}.app-content-shell{width:min(100% - 3rem,1180px);min-height:100vh;align-content:center;padding-block:clamp(2rem,6vh,5rem)}.app-content-shell .online-copy h1{color:var(--app-ink);font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;font-size:clamp(2.8rem,5.4vw,5.2rem);font-weight:950;line-height:1.08;letter-spacing:-.07em}.app-content-shell .online-copy p:last-child{color:var(--app-ink-soft);font-size:1rem;font-weight:650}.app-content-shell .online-card{border-color:var(--app-line-strong);color:var(--app-ink);background:var(--app-panel);box-shadow:var(--app-shadow)}.app-content-shell .tier-guide-card{border-color:var(--app-line-strong);color:var(--app-ink);background:radial-gradient(circle at 96% 8%,color-mix(in srgb,var(--green-light) 8%,transparent),transparent 10rem),var(--app-panel);box-shadow:var(--app-shadow)}.app-content-shell .online-field span,.app-content-shell fieldset legend,.app-content-shell .online-message,.app-content-shell .match-history small,.app-content-shell .leaderboard-row small{color:var(--app-ink-soft)}.app-content-shell .online-field input,.app-content-shell .join-row input{border-color:var(--app-line);color:var(--app-ink);background:var(--app-panel-strong)}.app-content-shell .segmented-control,.app-content-shell .choice-row{border-color:var(--app-line);background:var(--app-panel-muted)}.app-content-shell .segmented-control button,.app-content-shell .choice-row button{color:var(--app-ink-soft)}.app-content-shell .segmented-control button.active,.app-content-shell .choice-row button.active{color:var(--app-ink);background:var(--app-panel-strong);box-shadow:none}.app-content-shell .account-summary h2,.app-content-shell .account-summary h3,.app-content-shell .matchmaking-card h2{color:var(--app-ink)}.app-content-shell .profile-stats span,.app-content-shell .match-history p,.app-content-shell .tier-guide-item,.app-content-shell .leaderboard-row,.app-content-shell .waiting-room{border-color:var(--app-line);background:var(--app-panel-muted)}.app-content-shell .tier-guide-copy small{color:var(--app-ink-soft)}.app-content-shell .tier-requirement{color:var(--green-light)}.app-content-shell .leaderboard-row>strong{color:var(--green-light)}.game-shell{display:grid;grid-template-rows:54px minmax(0,1fr);min-width:0;height:100vh;padding:1rem 1.5rem 1.25rem}.game-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-width:0}.game-topbar .match-label{position:static;justify-self:center;transform:none}.game-topbar .match-label span,.game-topbar .match-label strong{color:var(--app-ink-soft)}.game-topbar .icon-button{border-color:var(--app-line);color:var(--app-ink-soft);background:var(--app-panel)}.game-page .game-layout{display:grid;grid-template-columns:minmax(420px,min(68vh,calc(100vw - 610px),720px)) minmax(292px,340px);grid-template-areas:"board panel";align-items:center;justify-content:center;gap:clamp(1rem,2vw,2rem);width:100%;height:100%;margin:0;padding:0}.game-page .board-stage{grid-area:board;width:min(68vh,calc(100vw - 610px),720px);min-width:420px}.game-page .board-caption{color:var(--app-ink-soft)}.game-page .game-board-frame{padding:clamp(12px,2.2vh,22px);border-width:clamp(8px,1.25vh,12px);border-radius:clamp(18px,3vh,28px);box-shadow:0 20px 54px #00000061,inset 0 0 0 2px #ffffff14}.game-control-panel{grid-area:panel;display:flex;max-height:calc(100vh - 92px);min-height:0;flex-direction:column;gap:.7rem}.game-control-panel .player-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;gap:.55rem .75rem;min-height:0;padding:.8rem;border-color:var(--app-line);border-radius:12px;color:var(--app-ink);background:var(--app-panel);box-shadow:none}.game-control-panel .player-card.active{border-color:color-mix(in srgb,var(--burgundy) 64%,rgba(255,255,255,.15));transform:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--burgundy) 22%,transparent)}.game-control-panel .player-card-status{grid-column:1 / -1;padding-bottom:.48rem;border-bottom-color:var(--app-line);color:var(--app-ink-soft)}.game-control-panel .player-avatar{grid-column:1;grid-row:2;width:52px;height:52px;margin:0;background:var(--app-panel-muted)}.game-control-panel .player-avatar span{width:32px;height:32px;font-size:.78rem}.game-control-panel .player-identity{grid-column:2;grid-row:2;align-items:start;text-align:left}.game-control-panel .player-identity strong{color:var(--app-ink);font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;font-size:.98rem;font-weight:900}.game-control-panel .player-identity span{color:var(--app-ink-soft)}.game-control-panel .player-meters{grid-column:3;grid-row:2;margin:0}.game-control-panel .score-ring{width:56px;height:56px}.game-control-panel .score-ring:after,.game-control-panel .timer-ring:after{top:5px;right:5px;bottom:5px;left:5px;background:var(--app-page)}.game-control-panel .score-ring strong{font-size:1.15rem}.game-control-panel .timer-ring{width:48px;height:48px}.game-control-panel .timer-ring strong{font-size:.86rem}.game-control-panel .turn-banner{grid-template-columns:auto 1fr;width:100%;min-height:0;margin:0;padding:.85rem;border-color:var(--app-line);color:var(--app-ink);background:var(--app-panel-muted);box-shadow:none}.game-control-panel .turn-banner small{grid-column:2;justify-self:start;color:var(--app-ink-soft)}.game-control-panel .color-picker{display:grid;gap:.55rem;padding:.75rem;border-color:var(--app-line);background:var(--app-panel);box-shadow:none}.game-control-panel .picker-label{display:flex;min-width:0;flex-direction:row;align-items:baseline;justify-content:space-between;padding:0;color:var(--app-ink-soft)}.game-control-panel .color-options{gap:.35rem}.game-control-panel .color-option{grid-template-columns:1fr auto;min-height:44px;border-color:var(--app-line);background:var(--app-panel-muted)}.game-control-panel .color-name{display:none}.game-control-panel .resign-button{min-height:46px;border-color:var(--app-line);color:var(--app-ink-soft);background:var(--app-panel)}.game-control-panel .score-delta{right:.6rem;bottom:.55rem}@media (max-width: 1200px){.app-frame{grid-template-columns:184px minmax(0,1fr)}.game-page .game-layout{grid-template-columns:minmax(360px,min(64vh,calc(100vw - 530px),620px)) minmax(270px,320px)}.game-page .board-stage{width:min(64vh,calc(100vw - 530px),620px);min-width:360px}}@media (max-width: 980px){.app-frame{display:block}.app-sidebar{position:relative;display:grid;grid-template-columns:auto 1fr auto;height:auto;min-height:64px;align-items:center;padding:.45rem .75rem;border-right:0;border-bottom:1px solid rgba(255,245,225,.08)}.sidebar-brand{width:auto}.sidebar-nav{display:flex;margin:0;overflow-x:auto}.sidebar-nav button,.sidebar-bottom button{white-space:nowrap}.sidebar-bottom{margin:0}.home-stage{grid-template-columns:1fr;min-height:auto;padding:2rem 1.2rem}.home-board-card{width:min(100%,560px)}.home-mode-strip{grid-template-columns:repeat(2,1fr)}.game-page.app-frame{height:auto;min-height:100vh;overflow:visible}.game-shell{height:auto;min-height:calc(100vh - 64px);padding:.75rem}.game-page .game-layout{display:flex;flex-direction:column;gap:.8rem}.game-page .board-stage{width:min(100%,620px);min-width:0}.game-control-panel{width:min(100%,620px);max-height:none}}@media (max-height: 760px) and (min-width: 981px){.home-stage{gap:clamp(1.2rem,3vw,3rem);padding-block:.9rem}.home-board-card{width:min(38vw,490px)}.home-copy h1{margin-bottom:.75rem;font-size:clamp(2.6rem,4.1vw,4.2rem)}.home-copy>p:not(.eyebrow){font-size:.96rem;line-height:1.45}.home-actions{gap:.5rem;margin:.9rem 0 .6rem}.home-primary,.home-secondary,.home-tutorial{min-height:48px;font-size:1.05rem}.quick-config{margin-top:.38rem}.quick-config button{min-height:30px}.home-mode-strip{gap:.4rem;margin-top:.55rem}.visitor-strip{gap:.35rem;margin-top:.45rem}.visitor-strip span{min-height:40px;padding:.45rem .55rem}.home-mode{min-height:62px;padding:.58rem .65rem}.home-mode small{display:none}}@media (max-width: 620px){.app-sidebar .brand-copy,.game-topbar .match-label span,.game-control-panel .picker-label{display:none}.home-copy h1{font-size:clamp(2.4rem,13vw,4rem)}.home-mode-strip,.visitor-strip{grid-template-columns:1fr}.quick-config{display:grid;grid-template-columns:1fr 1fr 1fr}.quick-config span{grid-column:1 / -1}.game-topbar{grid-template-columns:auto auto}.game-topbar .match-label{display:none}.game-control-panel .color-picker{position:sticky;bottom:.5rem;z-index:20}.tutorial-panel{padding:.9rem}.tutorial-preview-side,.tutorial-actions,.tier-guide-list{grid-template-columns:1fr}}.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.language-grid button,.replay-buttons button{border:1px solid var(--line);border-radius:.7rem;background:var(--surface-raised);color:var(--ink);padding:.7rem .8rem;cursor:pointer}.language-grid button.active{border-color:var(--burgundy);background:color-mix(in srgb,var(--burgundy) 12%,var(--surface-raised));color:var(--burgundy);font-weight:800}.room-share-actions,.replay-header-actions,.replay-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.queue-estimate{display:grid;gap:.35rem;margin:.75rem 0 1rem;padding:.9rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-muted)}.queue-estimate span,.queue-estimate small{color:var(--ink-soft)}.replay-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.replay-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.replay-header h1{margin:.25rem 0}.replay-layout{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(320px,1.6fr) minmax(180px,.7fr);align-items:start;gap:1rem}.replay-board-column{display:grid;gap:1rem}.replay-controls{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow-card)}.replay-step-label{display:flex;justify-content:space-between;gap:1rem}.replay-controls input[type=range]{width:100%;accent-color:var(--burgundy)}.replay-playback-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.replay-play-toggle,.replay-speed button{min-height:40px;border:1px solid var(--line);border-radius:.7rem;color:var(--ink);background:var(--surface-raised);font-weight:850;cursor:pointer}.replay-play-toggle{min-width:132px;padding:.6rem .9rem}.replay-speed{display:inline-grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.25rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-muted)}.replay-speed button{min-width:48px;padding:.45rem .6rem}.replay-speed button.active{border-color:var(--burgundy);color:var(--burgundy);background:color-mix(in srgb,var(--burgundy) 12%,var(--surface-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--burgundy) 32%,transparent)}.replay-buttons button:disabled{opacity:.42;cursor:default}@media (min-width: 981px){.game-page .replay-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1180px,calc(100% - 2rem));height:100vh;min-height:0;align-content:stretch;padding:clamp(.7rem,1.6vh,1.1rem) 0;overflow:hidden}.game-page .replay-header{align-items:center;margin-bottom:clamp(.55rem,1.2vh,.9rem)}.game-page .replay-header h1{font-size:clamp(1.55rem,2.2vw,2.25rem)}.game-page .replay-header>div:first-child>p:last-child{margin:0;font-size:.78rem}.game-page .replay-header-actions .primary-action,.game-page .replay-header-actions .secondary-action{min-height:44px;padding-inline:.9rem}.game-page .replay-layout{grid-template-columns:minmax(160px,210px) minmax(380px,560px) minmax(160px,210px);min-height:0;align-items:start;justify-content:center;gap:clamp(.65rem,1.2vw,1rem)}.game-page .replay-board-column{width:min(100%,calc(100vh - 390px),560px);min-width:380px;justify-self:center;gap:.6rem}.game-page .replay-controls{gap:.5rem;padding:.7rem;border-radius:.8rem}.game-page .replay-play-toggle,.game-page .replay-speed button{min-height:34px}.game-page .replay-play-toggle{min-width:118px;padding:.4rem .65rem}.game-page .replay-speed button{min-width:40px;padding:.3rem .45rem}.game-page .replay-buttons button{padding:.48rem .62rem}.game-page .replay-layout>.player-card{min-height:min(48vh,430px);height:min(48vh,430px);padding:.75rem}.game-page .replay-layout>.player-card .player-card-status{padding-bottom:.55rem}.game-page .replay-layout>.player-card .player-avatar{width:76px;height:76px;margin:1rem 0 .75rem}.game-page .replay-layout>.player-card .player-avatar span{width:44px;height:44px;font-size:.95rem}.game-page .replay-layout>.player-card .player-identity strong{font-size:1rem}.game-page .replay-layout>.player-card .score-ring{width:70px;height:70px}.game-page .replay-layout>.player-card .score-ring strong{font-size:1.35rem}}.floating-replay-link{position:fixed;right:1rem;bottom:1rem;z-index:110;border:0;border-radius:999px;background:var(--navy);color:#fff;padding:.85rem 1.1rem;box-shadow:var(--shadow-card);cursor:pointer}.match-history article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.match-history article span{display:grid;gap:.2rem}.match-history article a{color:var(--burgundy);font-weight:800}@media (max-width: 980px){.leaderboard-shell{grid-template-columns:1fr;width:min(calc(100% - 2rem),760px)}.replay-layout{grid-template-columns:1fr}.replay-layout>.player-card{max-width:none}}@media (max-width: 620px){.replay-header{align-items:stretch;flex-direction:column}.language-grid{grid-template-columns:1fr}.leaderboard-shell .tier-guide-list{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-playback-row{align-items:stretch;flex-direction:column}.replay-play-toggle,.replay-speed{width:100%}}
