@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#eae6d8;background:#0c120e;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}.app{min-height:100vh;background:radial-gradient(ellipse at 50% 35%,#1c291e,#0c120e 70%)}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid #ffffff14;background:#0b100ce8}.brand{display:flex;align-items:center;gap:13px}.crest{width:45px;height:45px;border:1px solid #c6a76666;color:#d3b678;display:grid;place-items:center;transform:rotate(45deg)}.crest svg{transform:rotate(-45deg)}.brandname{font-family:Cinzel,serif;font-size:22px;font-weight:800;letter-spacing:3px}.brandname span{color:#d4b678}.tagline{color:#817f6d;letter-spacing:4px;font-size:9px;margin-top:3px}.topright{display:flex;align-items:center;gap:22px}.live{font-size:10px;letter-spacing:2px;color:#a4b5a2}.liveDot,.pulse{display:inline-block;background:#88b78a;width:7px;height:7px;border-radius:50%;margin-right:9px;box-shadow:0 0 10px #88b78a}.smallbtn{border:0;background:transparent;color:#c3bfae}.layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(440px,1fr) minmax(250px,290px);max-width:1700px;margin:auto;min-height:calc(100vh - 123px)}.panel{padding:39px 28px;background:#111812a6}.leftpanel{border-right:1px solid #ffffff13}.rightpanel{border-left:1px solid #ffffff13}.eyebrow,.sectionLabel{font-size:10px;color:#bd9d60;letter-spacing:2.8px;font-weight:700}.sectionLabel{margin:34px 0 14px;color:#999985}.leftpanel h1{font-family:Cinzel,serif;font-size:29px;line-height:1.34;letter-spacing:-1px;font-weight:600;margin:19px 0}.leftpanel h1 em,.rightpanel h2 em{font-style:normal;color:#cbb078}.intro{color:#a4a99d;line-height:1.8;font-size:12px;max-width:240px}.modeStack{display:grid;gap:8px}.modeBtn{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:15px 13px;background:#151d17;border:1px solid #ffffff14;color:#c9cdbd}.modeBtn.active{background:#293528;border-color:#bba06b}.modeBtn svg{color:#c7ac75;flex-shrink:0}.modeBtn span:nth-child(2){flex:1}.modeBtn strong,.modeBtn small{display:block}.modeBtn strong{font-size:12px}.modeBtn small{color:#889487;font-size:10px;margin-top:4px}.modeArrow{font-size:24px;color:#b49a68}.primary{width:100%;padding:14px;background:#c5a96e;border:0;color:#1a1c13;font-weight:800;font-size:12px;display:flex;justify-content:center;align-items:center;gap:9px}.joinRow{display:flex;gap:7px;margin-top:9px}.joinRow input{min-width:0;width:100%;background:#0b110d;color:#f0e5c6;border:1px solid #4c594b;padding:12px;font-size:11px;letter-spacing:1px}.joinRow button{background:#344232;border:1px solid #5e7159;color:#f4e6c8;padding:0 15px;font-weight:700;font-size:11px}.helper{display:flex;align-items:center;gap:7px;color:#929d8d;font-size:11px;line-height:1.6;margin:11px 0}.roomCard{margin-top:15px;border:1px solid #b89d5c70;padding:15px}.roomCard small{font-size:10px;letter-spacing:2px;color:#acac96}.roomCode{font-family:Cinzel,serif;font-size:25px;letter-spacing:5px;color:#e0c487;display:flex;justify-content:space-between;margin-top:7px}.roomCode button{background:none;color:#d5bd86;border:0}.howto{display:flex;gap:12px;margin-top:36px;border-top:1px solid #ffffff19;padding-top:23px;color:#baac88}.howto strong{font-size:12px}.howto p{color:#879184;font-size:11px;line-height:1.7}.battle{min-width:0;display:flex;flex-direction:column;padding:23px 26px}.battleTop{display:flex;align-items:center;justify-content:space-between;min-height:68px}.armyLabel{display:flex;align-items:center;gap:12px}.armyLabel.right{text-align:right}.armyLabel small,.armyLabel strong{display:block}.armyLabel small{font-size:9px;letter-spacing:1.8px;color:#8f9c8e;margin-bottom:5px}.armyLabel strong{font-family:Cinzel,serif;font-size:12px;letter-spacing:1px}.armySymbol{font-size:25px;width:46px;height:46px;display:grid;place-items:center;border:1px solid #5b685a}.armySymbol.light{color:#efe6d2;border-color:#a99c7d}.armySymbol.dark{color:#b5b5c1}.vs{font-family:Cinzel,serif;color:#7e876f;font-size:12px}.canvasWrap{position:relative;flex:1;min-height:460px;margin:12px 0;border:1px solid #5260485c;background:radial-gradient(ellipse 70% 60% at 50% 52%,#26342a,#151e17 48%,#0a0f0b);overflow:hidden;box-shadow:inset 0 0 70px #050b08}.canvasWrap canvas{touch-action:none}.canvasHint{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2px;color:#9d9e84;pointer-events:none}.canvasHint span{padding:0 12px;color:#c3a96c}.battleBottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px}.turnBadge{display:flex;align-items:center}.turnBadge small,.turnBadge strong{display:block}.turnBadge small{font-size:9px;letter-spacing:1.5px;color:#9da692}.turnBadge strong{font-family:Cinzel,serif;font-size:13px;margin-top:5px}.actions{display:flex;gap:9px}.actions button{background:#1a241b;color:#d0d1c3;border:1px solid #485447;padding:10px 12px;font-size:11px;display:flex;gap:7px;align-items:center}.rightpanel h2{font-family:Cinzel,serif;font-size:24px;font-weight:600;margin:17px 0 26px}.status{background:#202a1f;border:1px solid #3d4e3b;padding:18px 14px}.statusTitle{font-size:9px;letter-spacing:2px;color:#a2a78c}.statusText{display:flex;align-items:center;gap:9px;font-family:Cinzel,serif;font-size:14px;margin-top:14px;color:#e1ca93}.statusText svg{flex-shrink:0}.status small{font-size:11px;color:#a3aa9a}.scoreGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.scoreGrid>div{background:#202820;padding:12px 3px;text-align:center}.scoreGrid span,.scoreGrid small{display:block;font-size:9px;letter-spacing:1px;color:#a1a995}.scoreGrid strong{display:block;font-family:Cinzel,serif;font-size:31px;margin:8px 0;color:#e5c88c}.scoreGrid small{font-size:8px}.moveList{height:235px;overflow:auto;background:#101710;border:1px solid #354236}.emptyMoves{text-align:center;padding:65px 8px;font-size:11px;color:#788674;line-height:2}.moveRow{display:grid;grid-template-columns:45px 1fr 1fr;padding:10px 14px;border-bottom:1px solid #ffffff0e;font-size:12px}.moveRow:nth-child(2n){background:#ffffff05}.moveRow span{color:#758775}.moveRow strong{font-weight:500}.footnote{display:flex;gap:8px;align-items:center;font-size:10px;color:#8b9d83;margin-top:22px}footer{text-align:center;padding:13px;color:#697565;font-size:9px;letter-spacing:3px;border-top:1px solid #ffffff0f}footer span{color:#c9ad74;margin:0 9px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#39251f;border:1px solid #aa765d;color:#fff;padding:14px 20px;z-index:100;font-size:12px;max-width:90vw}@media(max-width:1120px){.layout{grid-template-columns:minmax(225px,280px) minmax(440px,1fr)}.rightpanel{grid-column:1/-1;border-top:1px solid #ffffff20;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.rightpanel .eyebrow,.rightpanel h2{grid-column:1/-1}.rightpanel .moveList{grid-column:2;grid-row:4/7}.rightpanel .footnote{grid-column:1/-1}}@media(max-width:900px){.topbar{padding:0 16px;height:58px}.crest{width:34px;height:34px}.brandname{font-size:17px}.tagline,.live{font-size:8px}.layout{display:flex;flex-direction:column;min-height:0}.battle{order:0;padding:6px 10px 0}.battleTop{min-height:0}.canvasWrap{min-height:300px;height:min(88vw,calc(100svh - 190px),720px);flex:none;margin:8px 0}.rightpanel{order:1;display:block;border-left:0;border-top:1px solid #ffffff13}.leftpanel{order:2;border-right:0;border-top:1px solid #ffffff13}.battleBottom{padding:4px 2px 14px}.armyLabel strong{font-size:9px}.armyLabel small{font-size:8px}.armySymbol{width:33px;height:33px}.battleBottom{flex-wrap:wrap}.panel{padding:25px}.leftpanel h1{font-size:25px}}@media(max-width:400px){.topright{gap:5px}.brandname{letter-spacing:1px}.battleTop{gap:3px}.armyLabel{gap:5px}.actions button{padding:8px;font-size:10px}}body{overscroll-behavior-y:none}button,.canvasWrap{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.canvasWrap canvas{touch-action:none;-webkit-user-select:none;user-select:none}.armyLabel{padding:4px 8px 4px 4px;border:1px solid transparent;transition:border-color .3s,background .3s}.armyLabel.right{padding:4px 4px 4px 8px}.armyLabel.toMove{border-color:#c5a96e8c;background:#c5a96e14}.armyLabel.toMove small{color:#d9bd80}.armyScore{font-family:Cinzel,serif;font-size:24px;font-weight:600;color:#e5c88c;min-width:22px;text-align:center}.vs{display:flex;flex-direction:column;align-items:center}.vs b{font-family:Cinzel,serif;font-size:18px;font-weight:600;color:#a9a58e}.vs small{font-size:8px;letter-spacing:1.5px;color:#7e876f;margin-top:2px}.canvasHint i{font-style:normal}.touchHint{display:none}@media(hover:none)and (pointer:coarse){.mouseHint{display:none}.touchHint{display:inline}}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:12px;font-family:Cinzel,serif;font-size:13px;letter-spacing:2px;color:#cdb47f;background:#101710;pointer-events:none}.loadingMark{width:14px;height:14px;border:1px solid #c5a96e;transform:rotate(45deg);animation:mark 1.4s ease-in-out infinite}@keyframes mark{50%{transform:rotate(225deg);opacity:.35}}@media(prefers-reduced-motion:reduce){.loadingMark{animation:none}}.timing{position:absolute;top:10px;left:10px;padding:6px 10px;background:#0b100ce6;border:1px solid #c5a96e70;color:#f0e2bc;font-size:12px;pointer-events:none}@media(max-width:900px){.armyLabel strong{font-size:11px}.armyScore{font-size:20px}.canvasHint{bottom:8px}}@media(max-width:900px)and (orientation:landscape)and (max-height:520px){.topbar{height:50px}.battle{display:grid;grid-template-columns:1fr minmax(210px,36%);grid-template-rows:auto 1fr;column-gap:14px;padding:6px 10px}.canvasWrap{grid-column:1;grid-row:1/3;height:calc(100svh - 62px);min-height:240px;margin:0}.battleTop{grid-column:2;grid-row:1;flex-direction:column;align-items:stretch;gap:6px}.armyLabel.right{flex-direction:row-reverse;justify-content:flex-end;text-align:left;padding:4px 8px 4px 4px}.vs{flex-direction:row;gap:6px;align-self:center}.battleBottom{grid-column:2;grid-row:2;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px}.actions button{flex:1;justify-content:center}}.canvasHint{transition:opacity .6s}.canvasWrap.touched .canvasHint{opacity:0}@media(max-width:900px)and (orientation:landscape)and (max-height:520px){.canvasHint{display:none}}.boardTools{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;padding:3px;border-radius:999px;border:1px solid #ffffff26;background:#ffffff12;box-shadow:0 6px 24px #0006,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.boardTools button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#ece4cc;transition:background .25s,color .25s,transform .15s}.boardTools button:active{transform:scale(.92)}.boardTools .boardLock.on{background:#d9bd8033;color:#f3dca6}.toolRule{width:1px;height:18px;background:#ffffff26}.app.focus{min-height:0}.app.focus .topbar,.app.focus footer,.app.focus .panel,.app.focus .battleTop,.app.focus .battleBottom,.app.focus .canvasHint,.app.focus .timing{display:none}.app.focus .canvasWrap{position:fixed;top:0;right:0;bottom:0;left:0;height:auto;min-height:0;margin:0;border:0;z-index:50;box-shadow:none}.app.focus .boardTools{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}html:has(.app.focus){overflow:hidden}.app{padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.app.focus{padding:0}.timing small{display:block;font-size:10px;color:#b9b39c;margin-top:3px}.app.focus .canvasWrap{background:radial-gradient(ellipse 85% 48% at 50% 50%,#2a382d,#18221a 42%,#0b100c 78%,#060908)}@media(orientation:landscape){.app.focus .canvasWrap{background:radial-gradient(ellipse 60% 75% at 50% 52%,#2a382d,#18221a 45%,#0b100c 80%,#060908)}}html{background:#060908}.boardTools .boardSound.off{color:#9c9886}.promoBar,.resultCard{position:absolute;z-index:6;left:50%;transform:translate(-50%);border:1px solid #ffffff26;background:#121a14b8;box-shadow:0 10px 36px #000a,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);color:#eae6d8;text-align:center;animation:glassIn .3s ease-out both}.promoBar{bottom:14px;border-radius:22px;padding:9px 10px 8px}.app.focus .promoBar{bottom:max(18px,env(safe-area-inset-bottom))}.promoBar.top,.app.focus .promoBar.top{bottom:auto;top:62px}.app.focus .promoBar.top{top:calc(max(14px,env(safe-area-inset-top)) + 54px)}.promoBar small,.resultCard small{display:block;font-size:9px;letter-spacing:2.5px;color:#cdb47f}.promoBar>div{display:flex;gap:4px;margin-top:6px}.promoBar button{width:60px;padding:6px 0 5px;border:0;border-radius:14px;background:transparent;color:#d9d3bd;display:flex;flex-direction:column;align-items:center;gap:3px;transition:background .2s}.promoBar button:hover,.promoBar button:focus-visible{background:#ffffff14;outline:none}.promoBar button:active{background:#d9bd8033}.promoBar i{font-style:normal;font-size:9px;letter-spacing:1px;text-transform:uppercase}.promoGlyph{font-size:31px;line-height:1;font-family:Segoe UI Symbol,Apple Symbols,"Noto Sans Symbols 2",serif}.promoGlyph.light{color:#f4ebd3;text-shadow:0 1px 2px #000c}.promoGlyph.dark{color:#16181a;text-shadow:0 0 1px #efe4c6,0 0 1px #efe4c6,0 0 8px #efe4c655}.resultCard{top:50%;transform:translate(-50%,-50%);width:min(300px,84%);border-radius:24px;padding:20px 18px 16px}.resultCard strong{display:block;font-family:Cinzel,serif;font-size:27px;font-weight:600;color:#f1e1b6;margin:9px 0 6px}.resultCard p{margin:0;font-size:12px;color:#c9c3ad}.resultCard p span{color:#7e876f;margin:0 3px}.resultCard .resultNote{margin-top:6px;font-size:11px;color:#a3aa9a}.resultActions{display:flex;gap:8px;margin-top:16px}.resultActions button{flex:1;padding:11px 8px;border-radius:999px;border:1px solid #ffffff2e;background:transparent;color:#e6dfc8;font-size:12px;font-weight:600}.resultActions .resultMain{background:#d9bd80;border-color:#d9bd80;color:#161a12}@keyframes glassIn{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.promoBar,.resultCard{animation:none}.boardTools button,.armyLabel,.canvasHint{transition:none}}.rivalCard{width:min(320px,88%);max-height:calc(100% - 24px);overflow:auto}.rivalCard strong{font-size:24px}.rivalCard p{line-height:1.5}.rivalCard input,.linkBox input{display:block;width:100%;box-sizing:border-box;margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid #ffffff2e;background:#0b110dcc;color:#f0e5c6;font:16px DM Sans,sans-serif;text-align:center;outline:none}.rivalCard input:focus,.linkBox input:focus{border-color:#d9bd80}.linkBox input{font-size:12px;text-align:left;color:#d8cfb3}.rivalActions{display:flex;gap:8px;margin-top:12px}.rivalActions button,.rivalLater{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border-radius:999px;border:1px solid #ffffff2e;background:transparent;color:#e6dfc8;font-size:12px;font-weight:600}.rivalActions .resultMain{background:#d9bd80;border-color:#d9bd80;color:#161a12}.rivalActions button:disabled{opacity:.45}.rivalLater{width:100%;margin-top:8px;border:0;color:#bdb59b}.roomCard .linkBox .rivalActions button{padding:9px 8px}.linePill{position:absolute;z-index:5;top:12px;left:12px;display:flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;border:1px solid #ffffff26;background:#121a14b8;box-shadow:0 6px 24px #0006,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);color:#ece4cc;font-size:11px;letter-spacing:.3px;max-width:calc(100% - 150px);animation:glassIn .3s ease-out both}.linePill .dot,.presence .dot{flex:none;width:7px;height:7px;border-radius:50%;background:#d9bd80}.linePill .dot.off{background:#b46f5c}.app.focus .linePill{top:max(16px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}.pastBar{position:absolute;z-index:5;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:7px 7px 7px 15px;border-radius:999px;border:1px solid #ffffff26;background:#121a14c4;box-shadow:0 10px 30px #0008,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);color:#e6dfc8;font-size:11px;white-space:nowrap;max-width:calc(100% - 24px);animation:glassIn .3s ease-out both}.pastBar small{font-size:9px;letter-spacing:2px;color:#cdb47f}.pastBar span{overflow:hidden;text-overflow:ellipsis}.pastBar button{flex:none;padding:8px 12px;border-radius:999px;border:0;background:#d9bd80;color:#161a12;font-size:11px;font-weight:700}.app.focus .pastBar{bottom:max(18px,env(safe-area-inset-bottom))}@media(max-width:420px){.pastBar small{display:none}}.presenceList{margin:10px 0 4px;display:grid;gap:8px}.presence{display:flex;align-items:center;gap:8px;font-size:12px;color:#a9ae9d}.presence .dot{background:#4c584b}.presence .dot.here{background:#88b78a;box-shadow:0 0 8px #88b78a}.presence strong{color:#eae6d8;font-weight:600;max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence em{font-style:normal;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#cdb47f;border:1px solid #cdb47f66;border-radius:99px;padding:1px 6px}.presence span{margin-left:auto;font-size:11px}.roomCard .linkBox input{margin-top:12px}.pastList{display:grid;gap:4px;max-height:236px;overflow:auto}.pastList button{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;text-align:left;padding:10px 12px;background:#202820;border:1px solid transparent;color:#eae6d8}.pastList button.on{border-color:#c5a96e99}.pastList span{font-size:10px;letter-spacing:1px;color:#a1a995;align-self:center}.pastList strong{font-family:Cinzel,serif;font-size:13px;font-weight:600;color:#e5c88c}.pastList small{grid-column:1/3;font-size:10px;color:#929d8d}.actions .resignAsk{border-color:#aa765d;color:#f2c7b5;background:#39251f}.modeBtn:disabled,.primary:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.linePill,.pastBar{animation:none}}@media(max-width:900px){.turnBadge{min-width:0;flex:1}.turnBadge>div{min-width:0}.turnBadge strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{flex:none}}.rivalCard.sheet{position:fixed;top:50%;z-index:70;max-height:calc(100svh - 32px)}.linkCode{width:150px;height:150px;margin:14px auto 0;border-radius:14px;overflow:hidden;background:#f3ead2}.linkCode svg{display:block;width:100%;height:100%}.roomCard .rivalActions{flex-wrap:wrap}.rivalCard.sheet{box-shadow:0 10px 36px #000a,inset 0 1px #ffffff1f,0 0 0 100vmax #050a07a6}.rivalCard input[aria-label="The rivalry link"]{font-size:16px;text-align:left}.resultCard .rematchAsk{color:#f1e1b6;font-weight:600}.actions .rematchAsk{border-color:#c5a96e;color:#f3dca6}
