:root{--wr-ink:#16231f;--wr-muted:#687a72;--wr-line:#d5e1db;--wr-bg:#edf4f0;--wr-green:#17604a;--wr-blue:#2f66f5;--wr-orange:#b86a12;--wr-red:#b33a3a;--wr-purple:#7652c8}
*{box-sizing:border-box}body.wr-page{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 5%,#e3f2eb,transparent 30%),var(--wr-bg);color:var(--wr-ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.wr-shell{width:min(1500px,96vw);margin:0 auto;padding:24px 0 42px}.wr-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.wr-brand{display:flex;align-items:center;gap:14px}.wr-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#17604a,#52a987);color:#fff;font-size:17px;font-weight:950;box-shadow:0 12px 25px rgba(23,96,74,.2)}.wr-brand h1{margin:0;font-size:clamp(25px,3vw,38px);letter-spacing:-.04em}.wr-brand p{margin:5px 0 0;color:var(--wr-muted);font-size:13px}.wr-nav{display:flex;gap:8px;flex-wrap:wrap}.wr-nav a,.wr-ghost,.wr-secondary,.wr-primary,.wr-tiny{border:0;border-radius:11px;padding:0 15px;height:40px;font:inherit;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.wr-nav a,.wr-secondary{background:#eef5f2;color:#315b4e}.wr-primary{background:var(--wr-green);color:#fff}.wr-tiny{height:30px;padding:0 9px;background:#eef5f2;color:#315b4e;font-size:11px}.wr-card{background:rgba(255,255,255,.96);border:1px solid var(--wr-line);border-radius:20px;box-shadow:0 16px 38px rgba(24,50,40,.07)}.wr-setup,.wr-lobby,.wr-result{padding:20px}.wr-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.wr-section-head h2{margin:5px 0 0;font-size:21px}.wr-section-head p{margin:5px 0 0;color:var(--wr-muted);font-size:12px}.wr-kicker{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--wr-green);opacity:.8}.wr-setup-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) auto minmax(170px,1fr) auto;gap:10px;align-items:end}.wr-setup-grid label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#53675f}.wr-setup-grid select,.wr-setup-grid input{height:42px;border:1px solid #c9d8d2;border-radius:11px;background:#fff;padding:0 12px;font:inherit}.wr-open-rooms{margin-top:18px;padding-top:14px;border-top:1px solid var(--wr-line)}.wr-subhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:12px;font-weight:900;color:#53675f}.wr-open-room-list{display:grid;gap:8px}.wr-open-room{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f7fbf9;border:1px solid var(--wr-line)}.wr-open-room strong{display:block;font-size:13px}.wr-open-room span{display:block;margin-top:3px;color:var(--wr-muted);font-size:11px}.wr-message{min-height:20px;color:var(--wr-muted);font-size:13px}.wr-status-pill{padding:6px 10px;border-radius:999px;background:#eef5f2;color:#315b4e;font-size:11px;font-weight:900}.wr-status-pill.online{background:#e7f7ef;color:#17604a}.wr-status-pill.offline{background:#fdeaea;color:#a53232}.wr-room-code{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:13px;background:#f2f8f5}.wr-room-code span{font-size:11px;color:var(--wr-muted)}.wr-room-code strong{font-size:22px;letter-spacing:.12em}.wr-room-code button{border:0;border-radius:8px;background:#fff;color:#315b4e;padding:7px 10px;font-weight:900;cursor:pointer}.wr-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.wr-player-card{padding:14px;border:1px solid var(--wr-line);border-radius:15px;background:#fbfdfc;position:relative}.wr-player-card.me{border-color:#81b5a2;background:#f0faf5}.wr-player-card h3{margin:0;font-size:16px}.wr-player-card p{margin:5px 0 12px;color:var(--wr-muted);font-size:11px}.wr-ready{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef5f2;color:#52675e;font-size:10px;font-weight:900}.wr-ready.yes{background:#dcf5e9;color:#17604a}.wr-lobby-actions,.wr-board-message{display:flex;gap:10px;margin-top:16px}.wr-game{display:grid;gap:14px}.wr-game-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 18px}.wr-timer span,.wr-rank span,.wr-my-stats span{color:var(--wr-muted);font-size:11px}.wr-timer strong{display:block;font-size:27px;margin-top:2px}.wr-my-stats{display:flex;justify-content:center;gap:22px;flex-wrap:wrap}.wr-my-stats strong,.wr-rank strong{display:block;margin-top:3px;font-size:17px}.wr-rank{text-align:right}.wr-live-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.wr-own-board-card,.wr-opponents-card{padding:18px}.wr-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wr-tile[data-theme="sky"]{--wr-card-accent:#2563eb;--wr-card-accent-2:#60a5fa;--wr-card-soft:#bfdbfe;--wr-card-soft-2:#eff6ff;--wr-card-glow:rgba(59,130,246,.22);--wr-card-shadow:rgba(37,99,235,.16)}
.wr-tile[data-theme="mint"]{--wr-card-accent:#059669;--wr-card-accent-2:#34d399;--wr-card-soft:#a7f3d0;--wr-card-soft-2:#ecfdf5;--wr-card-glow:rgba(16,185,129,.20);--wr-card-shadow:rgba(5,150,105,.15)}
.wr-tile[data-theme="lilac"]{--wr-card-accent:#6d28d9;--wr-card-accent-2:#a78bfa;--wr-card-soft:#ddd6fe;--wr-card-soft-2:#f5f3ff;--wr-card-glow:rgba(124,58,237,.19);--wr-card-shadow:rgba(109,40,217,.14)}
.wr-tile[data-theme="cream"]{--wr-card-accent:#b45309;--wr-card-accent-2:#f59e0b;--wr-card-soft:#fde68a;--wr-card-soft-2:#fffbeb;--wr-card-glow:rgba(245,158,11,.19);--wr-card-shadow:rgba(180,83,9,.14)}
.wr-tile[data-theme="coral"]{--wr-card-accent:#be185d;--wr-card-accent-2:#f472b6;--wr-card-soft:#fbcfe8;--wr-card-soft-2:#fff1f2;--wr-card-glow:rgba(236,72,153,.18);--wr-card-shadow:rgba(190,24,93,.13)}
.wr-tile[data-theme="apricot"]{--wr-card-accent:#c2410c;--wr-card-accent-2:#fb923c;--wr-card-soft:#fed7aa;--wr-card-soft-2:#fff7ed;--wr-card-glow:rgba(249,115,22,.18);--wr-card-shadow:rgba(194,65,12,.13)}
.wr-tile[data-theme="red"]{--wr-card-accent:#b91c1c;--wr-card-accent-2:#f87171;--wr-card-soft:#fecaca;--wr-card-soft-2:#fef2f2;--wr-card-glow:rgba(239,68,68,.17);--wr-card-shadow:rgba(185,28,28,.12)}
.wr-tile{position:relative;isolation:isolate;display:flex;min-height:90px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;border:1px solid var(--wr-card-accent-2,#cbd9d3);border-radius:15px;background:radial-gradient(120% 92% at 102% -8%,var(--wr-card-glow,rgba(80,150,120,.14)) 0%,transparent 48%),linear-gradient(148deg,var(--wr-card-soft-2,#ffffff) 0%,var(--wr-card-soft,#edf5f1) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 2px 8px rgba(0,0,0,.10),0 7px 18px var(--wr-card-shadow,rgba(35,83,66,.08));color:#22483c;font:inherit;font-weight:900;padding:9px 10px;cursor:pointer;text-align:left;overflow:hidden;touch-action:manipulation;transform:translateY(0);transition:transform .13s ease,border-color .13s ease,background .13s ease,box-shadow .13s ease,opacity .18s ease}
.wr-tile::after{content:"";position:absolute;z-index:1;right:13px;bottom:0;left:13px;height:3px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,var(--wr-card-accent,#6f91df),var(--wr-card-accent-2,#9db4ef));opacity:.9}
.wr-tile>*{position:relative;z-index:2}
.wr-tile:hover:not(:disabled){border-color:var(--wr-card-accent,#8db9a7);transform:translateY(-3px) scale(1.02);box-shadow:0 7px 16px rgba(0,0,0,.14),0 0 0 1px var(--wr-card-accent,#6366f1) inset}
.wr-tile.is-revealed{border-color:var(--wr-card-accent,#4f79d8);background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.44)),linear-gradient(148deg,var(--wr-card-soft-2,#fff),var(--wr-card-soft,#edf3ff));box-shadow:inset 0 0 0 1px rgba(255,255,255,.92),0 0 0 4px var(--wr-card-glow,rgba(99,102,241,.14)),0 6px 16px rgba(99,102,241,.24);transform:translateY(-2px) scale(1.015)}
.wr-tile.is-matched{border-color:var(--wr-card-accent,#8bc9ad);background:var(--wr-card-soft,#dcf5e9);color:var(--wr-card-accent,#17604a);box-shadow:0 0 0 7px var(--wr-card-glow,rgba(77,171,133,.12));opacity:0;pointer-events:none;transform:scale(.78) rotate(2deg);animation:wr-card-match .38s cubic-bezier(.2,.82,.24,1) both}
.wr-tile.is-wrong{border-color:#e5a0aa;background:#fff5f6;box-shadow:0 3px 0 rgba(203,111,126,.18),0 0 0 4px rgba(220,82,102,.09)}
.wr-tile span{display:block;font-size:clamp(12px,1.2vw,17px);line-height:1.35;word-break:break-word;color:var(--wr-card-accent,#264d40);text-shadow:0 1px 0 rgba(255,255,255,.76)}
.wr-tile[data-language="中文"] span{color:#78350f;font-weight:800}
.wr-tile small{display:block;margin-top:7px;color:var(--wr-card-accent,#74867e);font-size:9px;letter-spacing:.08em;font-weight:800}
@keyframes wr-card-match{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.78) rotate(2deg)}}
.wr-opponent-list{display:grid;gap:12px}.wr-opponent{padding:12px;border:1px solid var(--wr-line);border-radius:14px;background:#fbfdfc}.wr-opponent-head{display:flex;justify-content:space-between;gap:8px}.wr-opponent-head strong{font-size:14px}.wr-opponent-head span{font-size:11px;color:var(--wr-muted)}.wr-opponent-stats{display:flex;gap:10px;margin:8px 0;font-size:11px;color:var(--wr-muted)}.wr-mini-board{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.wr-mini-cell{aspect-ratio:1;border-radius:3px;background:#e3ece7}.wr-mini-cell.done{background:#62b48d}.wr-result-list{display:grid;gap:9px}.wr-result-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--wr-line);border-radius:13px;background:#fbfdfc}.wr-result-row.first{border-color:#e2c477;background:#fffaf0}.wr-result-row strong{font-size:14px}.wr-result-row span{color:var(--wr-muted);font-size:12px}.wr-empty{padding:14px;color:var(--wr-muted);font-size:12px;text-align:center}.wr-disconnected{opacity:.55}
@media(max-width:1050px){.wr-live-layout{grid-template-columns:1fr}.wr-player-grid{grid-template-columns:1fr 1fr}.wr-setup-grid{grid-template-columns:1fr 1fr}.wr-setup-grid button{width:100%}}
@media(max-width:680px){.wr-topbar{align-items:stretch;flex-direction:column}.wr-player-grid,.wr-setup-grid{grid-template-columns:1fr}.wr-game-head{grid-template-columns:1fr 1fr}.wr-my-stats{grid-column:1 / -1;justify-content:space-between}.wr-board{grid-template-columns:repeat(3,minmax(0,1fr))}.wr-tile{min-height:78px}}

.wr-tile.is-combo{animation:wr-combo-pop .48s ease}.wr-board.is-combo{animation:wr-board-flash .48s ease}@keyframes wr-combo-pop{0%{transform:scale(1)}45%{transform:scale(1.12)}100%{transform:scale(1)}}@keyframes wr-board-flash{0%,100%{filter:none}50%{filter:brightness(1.08) saturate(1.12)}}
