:root{--bg: #1b1e23;--bg-deep: #141619;--panel: #23272d;--panel-2: #2b3037;--panel-3: #343b44;--text: #edebe2;--muted: #98a1aa;--line: #383f47;--line-strong: #4b535d;--sq-light: #eeeed2;--sq-dark: #769656;--sq-light-edge: #d8d8bc;--sq-dark-edge: #5f7f40;--ember: #d97b2a;--ember-soft: #f0b070;--ember-ink: #3b1f06;--frost: #4f9fc4;--frost-soft: #a6d6e8;--frost-ink: #06222e;--accent: #7aa14e;--accent-soft: #b8d38e;--ok: #6fa84a;--danger: #c9563f;--warn: #d9a441;--void: #0f1113;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 14px 36px rgba(0, 0, 0, .5);--font: "Segoe UI", "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}::-webkit-scrollbar-track{background:transparent}.board{display:grid;grid-template-columns:1.6rem repeat(var(--cols, 7),minmax(0,1fr));gap:0;width:min(92vw,640px);max-width:100%;margin:0 auto;padding:7px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2)}.board-labels{display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--muted);-webkit-user-select:none;user-select:none}.board-labels--corner{background:transparent}.cell{--sq: var(--sq-light);position:relative;display:grid;place-items:center;aspect-ratio:1 / 1;padding:0;border:0;border-radius:0;background-color:var(--sq);font-size:0;transition:transform .12s ease,box-shadow .16s ease,background-color .16s ease}.cell--dark{--sq: var(--sq-dark);background-color:var(--sq)}.cell:hover{z-index:3}.cell--empty{background-color:transparent;box-shadow:none}.cell--selectable{cursor:pointer}.cell--selectable:hover{box-shadow:inset 0 0 0 3px #ffffff80}.cell--selected{z-index:4;box-shadow:inset 0 0 0 3px #f4f2e4,inset 0 0 0 6px #3a58228c}.cell--path{box-shadow:inset 0 0 0 2px #ffffff47}.cell--from{box-shadow:inset 0 0 0 4px #f6d65c9e}.cell--to{box-shadow:inset 0 0 0 4px #f6d65cd9}.cell--dest:hover,.cell--shove:hover,.cell--weave:hover{transform:translateY(-1px)}.cell--killed{animation:kill-flash .8s ease-out}@keyframes kill-flash{0%{background-color:#c9563fe6;box-shadow:inset 0 0 0 3px var(--danger)}to{background-color:var(--sq)}}.terrain{position:absolute;top:12%;right:12%;bottom:12%;left:12%;pointer-events:none;z-index:0}.terrain svg{width:100%;height:100%;display:block;overflow:visible}.cell-marker{position:absolute;width:30%;aspect-ratio:1;border-radius:50%;pointer-events:none;z-index:4}.cell-marker--dest{background:#181a1457;box-shadow:none}.cell-marker--shove{background:transparent;border:3px solid rgba(217,123,42,.95);box-shadow:0 0 6px #d97b2a80}.cell-marker--weave{width:42%;background:#ffffff47;border:3px solid rgba(111,168,74,.95);border-radius:5px;transform:rotate(45deg);box-shadow:0 0 6px #6fa84a80}.cell--plain{background-image:none}.terrain--plain,.terrain--void{display:none}.cell--gravity{color:#5c3d05;background-image:linear-gradient(#d9a4416b,#d9a4416b)}.terrain--gravity path{stroke:currentColor;fill:currentColor;stroke-width:1.5}.terrain--gravity[data-dir=N]{transform:rotate(0)}.terrain--gravity[data-dir=E]{transform:rotate(90deg)}.terrain--gravity[data-dir=S]{transform:rotate(180deg)}.terrain--gravity[data-dir=W]{transform:rotate(270deg)}.terrain--gravity,.terrain--gravity *{transform-box:fill-box}.cell--portal{color:#123a4d;background-image:linear-gradient(#4f9fc46b,#4f9fc46b)}.terrain--portal circle{stroke:currentColor;fill:none;stroke-width:1.8}.cell--mirror{color:#2f3a5c;background-image:linear-gradient(#7a84be61,#7a84be61)}.terrain--mirror path{stroke:currentColor;fill:none;stroke-width:1.8}.cell--decay{color:#5a1c12;background-image:linear-gradient(#c9563f66,#c9563f66);animation:decay-breathe 2.6s ease-in-out infinite}@keyframes decay-breathe{0%,to{box-shadow:inset 0 0 #c9563f00}50%{box-shadow:inset 0 0 12px 1px #c9563f52}}.terrain--decay path{stroke:currentColor;fill:none;stroke-width:1.8}.cell--growth{color:#1f4520;background-image:linear-gradient(#6fa84a6b,#6fa84a6b)}.terrain--growth circle{stroke:currentColor;fill:currentColor}.terrain--growth path{stroke:currentColor;fill:currentColor}.terrain--growth path:first-child{fill:none;stroke-width:2}.cell--void{background-color:var(--void);background-image:radial-gradient(circle at 50% 55%,#05060a 46%,#0b0e13 74%,#161b22);box-shadow:inset 0 2px 10px #000000e6}.cell--scar{background-color:#2a1414;background-image:radial-gradient(circle at 50% 55%,#120607 46%,#200a0a 74%,#2e1414);box-shadow:inset 0 0 14px #c9563f66}.cell--scar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,transparent 42%,rgba(255,110,80,.5) 44% 46%,transparent 48%,transparent 60%,rgba(255,110,80,.5) 62% 64%,transparent 66%),linear-gradient(45deg,transparent 42%,rgba(255,140,100,.3) 44% 46%,transparent 48%)}.piece{position:relative;z-index:2;display:grid;place-items:center;width:76%;aspect-ratio:1}.piece svg{width:66%;height:66%;display:block}.piece path{fill:currentColor}.piece--ember{border-radius:50%;color:var(--ember-ink);background:radial-gradient(circle at 34% 28%,#ffd9a6,var(--ember) 58%,#a3540f);border:2px solid #7a3f08;box-shadow:0 2px 6px #00000073,inset 0 1px 1px #ffe0b499}.piece--frost{border-radius:26%;color:var(--frost-ink);background:linear-gradient(150deg,#d8f2fb,var(--frost) 58%,#1e6f90);border:2px solid #12566f;box-shadow:0 2px 6px #00000073,inset 0 1px 1px #dcf4fc99}.cell--slide .piece{animation:piece-slide .2s ease-out}@keyframes piece-slide{0%{transform:translate(calc(var(--slide-x, 0) * -138.9%),calc(var(--slide-y, 0) * -138.9%))}to{transform:translate(0)}}.cell--slide{animation:dest-pop .2s ease-out}@keyframes dest-pop{0%{box-shadow:inset 0 0 0 3px #f6d65ccc}to{box-shadow:inset 0 0 0 4px #f6d65cd9}}.board--flash-pulse .cell{animation:board-flash-blue .8s ease}.board--flash-bloom .cell{animation:board-flash-green .8s ease}.board--flash-scar .cell{animation:board-flash-red .8s ease}@keyframes board-flash-blue{0%{box-shadow:inset 0 0 0 999px #7a86be52}to{box-shadow:inset 0 0 0 999px #7a86be00}}@keyframes board-flash-green{0%{box-shadow:inset 0 0 0 999px #6fa84a4d}to{box-shadow:inset 0 0 0 999px #6fa84a00}}@keyframes board-flash-red{0%{box-shadow:inset 0 0 0 999px #c9563f52}to{box-shadow:inset 0 0 0 999px #c9563f00}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:10px clamp(14px,3vw,28px);border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:10}.brand{margin:0;font-size:clamp(16px,2.6vw,22px);letter-spacing:.2em;font-weight:800;white-space:nowrap}.brand span{color:var(--accent)}.topbar-status{display:flex;gap:8px;flex-wrap:wrap;flex:1;margin-left:clamp(8px,2vw,20px)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);font-size:13px;white-space:nowrap}.chip-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.chip--ember{border-color:#f5a5248c;color:var(--ember-soft)}.chip--ember .chip-dot{background:var(--ember)}.chip--frost{border-color:#4cc9f08c;color:var(--frost-soft)}.chip--frost .chip-dot{background:var(--frost)}.chip--none{color:var(--muted)}.play-area{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(16px,3vw,28px);align-items:start;padding:clamp(16px,3vw,28px);width:100%;max-width:1220px;margin:0 auto}.board-panel{display:flex;justify-content:center}.side-panel{display:flex;flex-direction:column;gap:14px;min-width:0}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-1)}.panel-heading{margin:0 0 10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.sub-heading{margin:12px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.status-message{font-size:13px;margin:8px 0}.status-message--warn{color:var(--ember-soft)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--panel-2)}.status-message--ok{color:var(--ok)}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.status-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px}.status-card--turn{grid-column:1 / -1;font-size:15px;font-weight:600;text-align:center}.status-card--turn[data-player=ember]{color:var(--ember-soft);border-color:#f5a52466}.status-card--turn[data-player=frost]{color:var(--frost-soft);border-color:#4cc9f066}.charges{margin-top:10px}.charge-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.charge-name{width:64px}.charge-meter{letter-spacing:.18em}.charge-count{color:var(--muted);margin-left:auto}.status-row{font-size:13px;margin-top:8px}.turn-line{font-weight:700;margin:6px 0 10px;font-size:16px}.turn-line--ember{color:var(--ember-soft)}.turn-line--frost{color:var(--frost-soft)}.piece-card{display:flex;flex-direction:column;gap:4px;background:var(--panel-2);border-radius:10px;padding:8px 12px;font-size:14px}.piece-card-name--ember{color:var(--ember-soft);font-weight:600}.piece-card-name--frost{color:var(--frost-soft);font-weight:600}.action-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;padding:8px 12px;font-size:14px;transition:background .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:var(--panel-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45}.btn--primary{background:var(--accent);border-color:#5f8239;color:#16240b;font-weight:700}.btn--primary:hover:not(:disabled){background:#8bb15c}.btn--pass{background:var(--panel-3);border-color:var(--line-strong);color:var(--text)}.btn--action{text-align:left;width:100%}.weave-choice{margin-top:8px;border-top:1px dashed var(--line);padding-top:10px}.log-head{display:flex;justify-content:space-between;align-items:baseline}.log-count{font-size:12px;color:var(--muted)}.log-list{list-style:none;margin:8px 0 0;padding:0;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.log-item{font-size:13px;line-height:1.45;padding:5px 8px;border-radius:8px;background:var(--panel-2);opacity:.55}.log-item--action{opacity:.95}.log-item--kill{color:var(--danger);opacity:1;border-left:3px solid var(--danger)}.log-item--pulse{color:var(--accent);opacity:1;border-left:3px solid var(--accent)}.log-item--bloom{color:var(--ok);opacity:1;border-left:3px solid var(--ok)}.log-item--portal{color:var(--accent)}.log-item--weave{color:var(--ember-soft)}.log-item--mirror{color:#c9d4ff}.log-item--motion{color:var(--frost-soft)}.log-item--muted{opacity:.6}.how-to-play{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;font-size:13px}.how-to-play summary{cursor:pointer;color:var(--accent);font-weight:600}.how-to-play ol{padding-left:18px;margin:10px 0 4px;line-height:1.6;color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0a0c0fbd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px;animation:overlay-fade .16s ease-out}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.overlay-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:16px;padding:clamp(20px,4vw,32px);max-width:470px;width:100%;text-align:center;box-shadow:var(--shadow-2);animation:overlay-in .18s ease-out}@keyframes overlay-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.overlay-title{margin:0 0 12px;font-size:clamp(22px,5vw,30px);letter-spacing:.04em}.overlay-winner--ember{color:var(--ember-soft)}.overlay-winner--frost{color:var(--frost-soft)}.overlay-reason{font-size:15px;line-height:1.5;margin:0 0 12px}.overlay-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.overlay-card--form{text-align:left}.field{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.08em}.field-select,.field-input{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:15px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row[hidden]{display:none}@media(max-width:980px){.play-area{grid-template-columns:1fr}.board-panel{order:1}.side-panel{order:2}.board{width:min(94vw,520px)}.topbar-status{margin-left:0}}@media(max-width:640px){.topbar{gap:8px;padding:8px clamp(10px,3vw,16px);flex-wrap:wrap}.brand{font-size:14px;letter-spacing:.14em}.topbar-status{order:3;flex-basis:100%}.chip{padding:4px 9px;font-size:12px}.btn{padding:6px 10px;font-size:13px}.play-area{gap:14px;padding:14px}.panel-card{padding:10px 12px}.status-grid{grid-template-columns:1fr}.log-list{max-height:180px}.overlay-actions{flex-direction:column}.overlay-card{padding:20px 16px}}.mp-card{max-width:34rem;text-align:left}.mp-line{display:flex;align-items:center;gap:.6rem}.mp-link{display:flex;gap:.5rem;align-items:stretch;margin-bottom:.75rem}.mp-link .field-input{flex:1 1 auto;min-width:0}.mp-link .btn{flex:0 0 auto}.mp-status{min-height:1.5rem;margin:.25rem 0 1rem}.mp-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.18);border-top-color:var(--accent);border-radius:50%;animation:mp-spin .7s linear infinite}@keyframes mp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.mp-invite-host{margin-bottom:1rem}.mp-invite-body{margin-top:.6rem}.mp-invite-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.mp-invite-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem}.mp-invite-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-invite-status{margin:.6rem 0 0;font-size:.875rem}.mp-spinner{animation-duration:2s}}.rules-guide{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:#05070cdb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rules-guide__bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px clamp(16px,4vw,40px);background:var(--panel);border-bottom:1px solid var(--line)}.rules-guide__title{margin:0 0 0 auto;font-size:18px;letter-spacing:.04em}.rules-guide__scroll{flex:1;overflow-y:auto;overflow-x:hidden}.rules-page{max-width:1120px;margin:0 auto;padding:8px clamp(16px,4vw,40px) 96px}.rules-section{padding:34px 0;border-bottom:1px solid var(--line)}.rules-section-title{margin:0 0 14px;font-size:clamp(20px,3vw,26px);letter-spacing:.02em}.rules-hero{padding:22px 0 8px}.rules-lead{margin:0;font-size:clamp(15px,2.4vw,19px);line-height:1.55;max-width:60ch}.rules-lead strong{color:var(--ember-soft)}.rg-lead-in{margin:0 0 16px;font-size:15px;line-height:1.55;color:var(--muted);max-width:62ch}.rg-grid{display:grid;gap:14px;margin-bottom:16px}.rg-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.rg-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.rg-grid--pieces{grid-template-columns:repeat(3,minmax(0,1fr))}.rg-grid--terrain{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-card{display:flex;flex-direction:column;gap:12px;align-items:stretch;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.rg-card h3{margin:0;font-size:16px}.rg-card-head{display:flex;align-items:center;gap:12px}.rg-card-copy{margin:0;font-size:14px;line-height:1.55}.rg-stats{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.rg-stats li{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px}.rg-stats strong{color:var(--text)}.rg-diagram{text-align:center}.rg-diagram h4{margin:0 0 10px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.rg-caption{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.muted{color:var(--muted)}.rg-note{margin:2px 0;padding:6px 10px;font-size:13px;line-height:1.5;color:var(--text);border-left:2px solid var(--line)}.rg-note--warn{border-color:var(--danger)}.rg-note--ok{border-color:var(--ok)}.rg-icon{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;flex:none}.rg-arrow{color:var(--muted);font-size:18px;letter-spacing:-2px;padding:0 2px}.rg-shove{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding-top:10px;border-top:1px solid var(--line)}.rg-shove-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ember-soft)}.rg-shove-row{display:flex;align-items:center;gap:4px}.rg-shove .muted{font-size:12px}.rg-board{display:grid;grid-template-columns:repeat(var(--c, 7),26px);grid-template-rows:repeat(var(--r, 7),26px);gap:1px;padding:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;flex:none}.rg-board .rg-cell{aspect-ratio:auto;width:26px;height:26px;border:1px solid transparent;font-size:0;border-radius:3px}.rg-board .rg-m--dest:after,.rg-board .rg-m--shove:after,.rg-board .rg-m--weave:after{content:"";position:absolute;margin:auto;z-index:5;pointer-events:none}.rg-board .rg-m--dest:after{top:0;right:0;bottom:0;left:0;width:8px;height:8px;border-radius:50%;background:#181a146b}.rg-board .rg-m--shove:after{top:4px;right:4px;bottom:4px;left:4px;border:2px solid var(--ember-soft);border-radius:50%;box-shadow:0 0 8px #ffd27a80}.rg-board .rg-m--weave:after{top:6px;right:6px;bottom:6px;left:6px;border:2px solid var(--ok);border-radius:3px;transform:rotate(45deg);box-shadow:0 0 8px #7bd88f80}.rg-board .rg-m--new{outline:1px dashed var(--ok);outline-offset:-1px}.rg-board .rg-m--ghost .piece{opacity:.28;filter:grayscale(1)}.rg-board .rg-m--killed{box-shadow:inset 0 0 10px #ff6b6b80}.rg-board .rg-m--resist:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:2px dashed #8fb7ff;border-radius:50%;box-shadow:0 0 8px #8fb7ff99;pointer-events:none;z-index:5}.rg-badge{position:absolute;top:-3px;right:-3px;z-index:6;min-width:13px;height:13px;padding:0 3px;display:grid;place-items:center;font-size:9px;font-weight:800;line-height:1;color:var(--bg);background:#dfe6f5;border-radius:999px}.rg-board .rg-m--new .rg-badge{background:var(--ok);color:#07120b}.rg-board .rg-m--resist .rg-badge{background:#8fb7ff;color:#061024}.rg-glyph-card{display:flex;flex-direction:column;align-items:center;gap:6px}.rg-glyph-name{font-size:13px;font-weight:700}.rg-glyph-box{position:relative;overflow:hidden;width:64px;height:64px;border-radius:14px;border:1px solid var(--line);flex:none}.rg-glyph-box--plain{background:linear-gradient(135deg,var(--sq-light) 50%,var(--sq-dark) 50%)}.rg-glyph-box--gravity{background:linear-gradient(160deg,#f2dcab,#d9a441);color:#5c3d05}.rg-glyph-box--portal{background:linear-gradient(160deg,#d3ebf5,#4f9fc4);color:#123a4d}.rg-glyph-box--mirror{background:linear-gradient(200deg,#dbe0f2,#7a84be);color:#2f3a5c}.rg-glyph-box--decay{background:linear-gradient(160deg,#f0c8bf,#c9563f);color:#5a1c12}.rg-glyph-box--growth{background:linear-gradient(160deg,#d7ecbf,#6fa84a);color:#1f4520}.rg-glyph-box--void{background:radial-gradient(circle at 50% 55%,#05060a 46%,#0b0e13 74%,#161b22);border-color:#0b0e13;box-shadow:inset 0 2px 10px #000000d9}.rg-glyph-box--scar{background:radial-gradient(circle at 50% 55%,#120607 46%,#200a0a 74%,#2e1414);border-color:#4a1a1a;box-shadow:inset 0 0 14px #c9563f66}.rg-glyph-box--scar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,transparent 42%,rgba(255,110,80,.5) 44% 46%,transparent 48%,transparent 60%,rgba(255,110,80,.5) 62% 64%,transparent 66%),linear-gradient(45deg,transparent 42%,rgba(255,140,100,.3) 44% 46%,transparent 48%)}.rg-conversion{display:flex;align-items:center;gap:10px;padding:6px 0}.rg-conversion .rg-glyph-box{width:52px;height:52px;border-radius:12px}.rg-timeline{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.rg-round{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.rg-round--pulse{background:var(--accent);border-color:var(--accent);color:#06080f;font-weight:800}.rg-scale-badge{margin-top:8px;align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--accent)}.rg-scale-badge--max{color:var(--ok)}.rg-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}.rg-steps li{font-size:14px;line-height:1.5}.rg-steps--turn li{display:flex;gap:12px;align-items:flex-start}.rg-step-num{width:22px;height:22px;flex:none;border-radius:50%;background:var(--accent);color:#06080f;font-weight:800;font-size:12px;display:grid;place-items:center}.rg-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}.rg-chip{padding:6px 12px;display:inline-flex;align-items:center;gap:8px}.rg-chip .rg-icon{width:34px;height:34px}.rg-chip .rg-icon .piece{width:100%;height:100%}.rg-win-title{margin:0 0 14px;font-size:clamp(19px,3vw,26px);line-height:1.4}.rg-win-title .rg-win-badge{display:inline-block;background:var(--ember);color:#1a1000;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:3px 8px;margin-right:8px;vertical-align:3px}.rg-win-ways .rg-card{background:transparent}.rg-win-ways .rg-card-copy{margin-top:4px}.rg-draw-card{position:relative}.rg-draw-num{position:absolute;top:-8px;left:12px;font-size:11px;font-weight:800;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:1px 7px}@media(max-width:900px){.rg-grid--pieces,.rg-grid--terrain,.rg-grid--3,.rg-grid--4,.rg-grid--2{grid-template-columns:1fr}}@media(max-width:560px){.rules-guide__bar{gap:8px}.rules-guide__title{order:3;width:100%;margin:4px 0 0}.rg-board{grid-template-columns:repeat(var(--c, 7),22px);grid-template-rows:repeat(var(--r, 7),22px)}.rg-board .rg-cell{width:22px;height:22px}}.rg-demo-wrap{display:flex;flex-direction:column;gap:8px;width:100%;align-items:center}.rg-demo-ctrl{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.rg-demo-ctrl .btn{font-size:11px;padding:4px 8px}.rg-anim-stage{display:flex;justify-content:center;width:100%}.account-button{white-space:nowrap}.account-host>.account-button{position:fixed;top:12px;right:12px;z-index:55}.account-host>.account-button.account-button--topbar{position:static}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center}.account-overlay[hidden]{display:none}.account-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0c0f9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.account-card{position:relative;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:var(--panel);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 24px 60px #00000080;padding:20px}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.account-head h2{margin:0;font-size:1.25rem}.account-handle{color:var(--muted);font-size:.85rem}.account-close{border:none;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}.account-close:hover{background:var(--panel-2);color:var(--text)}.account-form{display:grid;gap:12px;margin-top:8px}.account-field{display:grid;gap:6px;font-size:.85rem;color:var(--muted)}.account-field input{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg-deep);color:var(--text);font:inherit}.account-field input:focus{outline:2px solid var(--accent);outline-offset:0}.account-search{grid-template-columns:1fr auto;align-items:end}.account-switch{margin:12px 0 0;color:var(--muted);font-size:.9rem}.account-link{border:none;background:transparent;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.account-msg{margin:4px 0 0;padding:8px 10px;border-radius:8px;background:var(--panel-2);font-size:.9rem}.account-msg--error{background:#c9563f2e;color:var(--danger)}.account-tabs{display:flex;gap:4px;margin:12px 0;border-bottom:1px solid var(--line)}.account-tab{border:none;background:transparent;color:var(--muted);padding:8px 12px;cursor:pointer;font:inherit;border-bottom:2px solid transparent}.account-tab--active{color:var(--text);border-bottom-color:var(--accent)}.account-body{min-height:160px}.account-section h3{margin:16px 0 8px;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.account-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0}.account-stats div{background:var(--panel-2);border-radius:8px;padding:8px;text-align:center}.account-stats dt{color:var(--muted);font-size:.75rem;text-transform:uppercase}.account-stats dd{margin:2px 0 0;font-size:1.2rem;font-weight:600}.account-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel-2);border-radius:8px;padding:8px 10px}.account-actions{display:inline-flex;gap:10px}.account-row--history{justify-content:flex-start;gap:12px}.account-history-reason{flex:1;text-transform:capitalize}.account-outcome{font-weight:600;text-transform:capitalize;min-width:52px}.account-outcome--win{color:var(--ok)}.account-outcome--loss{color:var(--danger)}.account-outcome--draw{color:var(--warn)}.account-empty{color:var(--muted);font-size:.9rem;margin:8px 0}.account-profile{min-height:160px}.account-identity{margin:12px 0}.account-identity h3{margin:0;font-size:1.15rem;color:var(--text);text-transform:none;letter-spacing:0}.account-since{color:var(--muted);font-size:.8rem;margin:4px 0 0}.account-identity-link{border:none;background:transparent;color:inherit;font:inherit;padding:0;text-align:left;cursor:pointer}.account-identity-link:hover{color:var(--accent)}.account-profile-action{margin-top:16px}.account-foot{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}@media(max-width:520px){.account-stats{grid-template-columns:repeat(2,1fr)}.account-search{grid-template-columns:1fr}}
