@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#efedf5;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111018;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 85% 5%,#30213e66,#0000 45%),#111018;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:4px;outline:3px solid #c8abf8}main{max-width:1220px;margin:auto;padding:0 40px 40px}.top{border-bottom:1px solid #ffffff10;justify-content:space-between;align-items:center;height:100px;margin-bottom:32px;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;text-decoration:none;display:flex}.brandmark{color:#e7c58b;border:1px solid #ba986455;border-radius:11px;place-items:center;width:37px;height:37px;display:grid}.brandperiod{color:#e7c58b;margin-left:-12px}.rulesButton{color:#bdb7ca;background:0 0;border:0;align-items:center;gap:10px;font-size:14px;display:flex}.gameLayout{grid-template-columns:minmax(0,640px) minmax(280px,1fr);align-items:start;gap:50px;display:grid}.boardHeading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:2.5px;color:#bda780;margin:0 0 12px;font-size:12px;font-weight:700}h1,h2,h3{letter-spacing:-1px;font-family:Manrope,sans-serif}h1{overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:800;line-height:1.25}.liveBadge{letter-spacing:1.5px;color:#c2acd9;background:#ac7de311;border:1px solid #b298d333;border-radius:30px;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:700}.playerStrip{align-items:center;gap:12px;margin:0 4px 15px;display:flex}.avatar{background:color-mix(in srgb,var(--stone),transparent 85%);width:38px;height:38px;color:var(--stone);border:1px solid color-mix(in srgb,var(--stone),transparent 65%);border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid}.playerStrip b{overflow-wrap:anywhere;max-width:250px;font-size:15px;display:block}.playerStrip small{color:#8d879a;margin-top:3px;font-size:12px;display:block}.pieceCount{font-variant-numeric:tabular-nums;margin-left:auto;font-size:20px;font-weight:500}.pieceCount span{color:#8d879a;margin-left:4px;font-size:12px}.turnPill{color:#e7c58b;white-space:nowrap;background:#dac19416;border-radius:6px;padding:6px 8px;font-size:12px}.boardFrame{background:linear-gradient(135deg,#594832,#2b2630 50%,#554332);border:1px solid #d7b68640;border-radius:15px;padding:13px;box-shadow:0 22px 55px #0007,inset 0 1px #ffe5ad12}.board{aspect-ratio:1;border:1px solid #0008;border-radius:5px;grid-template-columns:repeat(10,minmax(0,1fr));display:grid;overflow:hidden}.cell{aspect-ratio:1;border:0;border-radius:0;place-items:center;width:100%;min-width:0;padding:0;display:grid;position:relative}.cell.light{background:#b8ae9d}.cell.dark{background:#39343f}.cell.dark:nth-child(20n+1),.cell.dark:nth-child(20n+3),.cell.dark:nth-child(20n+5),.cell.dark:nth-child(20n+7),.cell.dark:nth-child(20n+9){background:#35313b}.squareNumber{color:#aaa0b366;font-variant-numeric:tabular-nums;pointer-events:none;font-size:9px;position:absolute;top:2px;left:4px}.stone{background:radial-gradient(circle at 33% 25%,color-mix(in srgb,var(--stone),white 25%),var(--stone) 58%,color-mix(in srgb,var(--stone),black 30%));border:1px solid color-mix(in srgb,var(--stone),white 15%);width:75%;height:75%;box-shadow:0 4px 1px color-mix(in srgb,var(--stone),black 50%),0 6px 7px #0009,inset 0 2px 2px #ffffff40;z-index:1;color:color-mix(in srgb,var(--stone),black 70%);border-radius:50%;place-items:center;transition:transform .2s;display:grid;position:relative}.stoneRing{border:2px solid color-mix(in srgb,var(--stone),black 20%);border-radius:50%;width:72%;height:72%;box-shadow:0 1px 1px #ffffff40}.playerOne .stoneRing{border-style:double;border-width:4px}.king{box-shadow:0 4px 0 color-mix(in srgb,var(--stone),black 25%),0 8px 0 color-mix(in srgb,var(--stone),black 55%),0 10px 8px #0009}.cell.selected{box-shadow:inset 0 0 0 2px #efd49d;background:#907a44!important}.cell.selected .stone{transform:translateY(-2px)}.cell.last{background:#50444b;box-shadow:inset 0 0 0 2px #d7bf7e77}.moveDot{background:#edcf8c;border-radius:50%;width:25%;height:25%;box-shadow:0 0 16px #e9c98966}.cell.target{background:#766044!important}.self{margin:20px 4px 0}.hint{color:#aaa3b7;min-height:23px;margin:18px 4px 24px;font-size:14px;line-height:1.6}.panel{background:linear-gradient(145deg,#26212f,#1b1823);border:1px solid #ffffff0d;border-radius:22px;padding:30px}.panel h2{margin:0 0 14px;font-size:27px;line-height:1.3}.subtext{color:#b4adbf;margin:0 0 28px;font-size:15px;line-height:1.7}.panelIcon{color:#e7c58b;background:#d2ae7611;border:1px solid #d9b98240;border-radius:17px;place-items:center;width:54px;height:54px;margin-bottom:28px;display:grid}.panel label{margin:23px 0 11px;font-size:14px;font-weight:500;display:block}input{color:#eeebf3;background:#100f1780;border:1px solid #ffffff16;border-radius:10px;width:100%;padding:14px 16px;font-size:16px}input::placeholder{color:#777080}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{background:var(--stone);color:#17131d;outline-offset:3px;border:3px solid #0000;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.swatches button.chosen{outline:2px solid var(--stone);border-color:#24202d}.swatches button:disabled{opacity:.16}.colorName{color:#a39aac;margin-top:12px;margin-bottom:26px;font-size:12px}.primary{color:#231b12;background:linear-gradient(110deg,#f1dba8,#cda56e);border:0;border-radius:11px;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 12px;font-size:15px;font-weight:700;text-decoration:none;transition:filter .2s;display:flex;box-shadow:0 5px 20px #d4b47b11}.primary:hover{filter:brightness(1.08)}.primary:disabled{opacity:.45}.secondary{color:#dbd6e4;background:#ffffff03;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:13px 12px;font-size:14px;display:flex}.secondary:disabled{opacity:.5}.panelFoot{color:#918899;justify-content:center;gap:18px;margin-top:25px;font-size:12px;display:flex}.panelFoot span+span:before{content:"·";margin-right:18px}.rulesTeaser{color:#c2a572;gap:15px;padding:30px 8px;display:flex}.rulesTeaser b{color:#d8d2e2;font-size:15px}.rulesTeaser p{color:#958b9e;margin:8px 0 12px;font-size:14px;line-height:1.7}.rulesTeaser button{color:#ccb487;text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.signature{color:#625a6d;letter-spacing:2px;text-align:center;margin-top:14px;font-size:10px}.signature span{color:#ad8c61;margin:0 8px}.chat{background:#1b1823;border:1px solid #ffffff0c;border-radius:17px;overflow:hidden}.chatHeader{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:20px 23px;display:flex}.chatHeader h2{letter-spacing:0;margin:0;font-size:16px}.chatMark{color:#ceb079;margin-left:10px}.chatHeader>span{color:#93869f;font-size:12px}.messages{min-height:100px;max-height:260px;padding:15px 22px;overflow:auto}.emptyChat{color:#7d738b;text-align:center;padding:18px 0;font-size:14px}.message{background:#ffffff06;border:1px solid #ffffff08;border-radius:12px 12px 12px 2px;width:fit-content;max-width:87%;margin-bottom:13px;padding:10px 13px}.message.mine{background:#be96ee10;border-color:#be96ee15;border-radius:12px 12px 2px;margin-left:auto}.message>div{align-items:center;gap:15px;display:flex}.message b{color:#d6ba88;font-size:12px}.message time{color:#867c93;margin-left:auto;font-size:10px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font-size:14px;line-height:1.5}.chat form{border-top:1px solid #ffffff08;gap:12px;padding:15px 18px;display:flex}.chat form input{background:#121019;border:0;font-size:14px}.send{color:#211a14;background:#d9bd8f;border:0;border-radius:10px;flex-shrink:0;place-items:center;width:47px;display:grid}.send:disabled{opacity:.35}.resign{color:#b59094;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin:22px auto 0;font-size:14px;display:flex}.matchInfo{border-top:1px solid #ffffff0c;justify-content:space-between;margin-top:30px;padding-top:22px;font-size:13px;display:flex}.matchInfo span{color:#8c8298;margin-bottom:8px;font-size:12px;display:block}.connected{color:#baa8d0;font-weight:500}.offline{color:#e2b78d}.error{color:#efb3ad;background:#b9564510;border:1px solid #e1888240;border-radius:12px;margin-top:18px;padding:17px;font-size:14px;line-height:1.6}.offer{color:#e1c492;margin-top:20px}.offer h3{color:#fff;margin:14px 0 8px;font-size:23px}.offer p{color:#b5aabf;font-size:14px;line-height:1.6}.overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#05030cbb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#24202d;border:1px solid #b59a6c44;border-radius:24px;width:100%;max-width:530px;max-height:90dvh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 80px #0008}.modal>svg{color:#d6b47d}.modal h2{margin:18px 0 12px;font-size:28px}.modal p{color:#bdb3c9;font-size:16px;line-height:1.6}.modalActions{gap:14px;margin-top:26px;display:flex}.modalActions .secondary{margin:0}.close{color:#bfb4ce;background:0 0;border:0;place-items:center;padding:5px;display:grid;position:absolute;top:18px;right:18px}.rules li{color:#c4bbce;margin:12px 0;font-size:14px;line-height:1.7}.rules ul{padding-left:20px}.rules a{color:#dcc290;margin:5px 0 25px;font-size:14px;display:inline-block}.notice{color:#cabada;font-size:14px;line-height:1.6}@media (min-width:1000px){aside{padding-top:9px}}@media (max-width:900px){main{padding:0 24px 30px}.gameLayout{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:26px}.panel{padding:23px}.boardFrame{padding:9px}.swatches{gap:8px}.swatches button{width:33px;height:33px}.pieceCount span{display:none}.top{height:82px}.boardHeading h1{font-size:26px}}@media (max-width:700px){main{padding:0 16px 30px}.top{height:76px;margin-bottom:22px}.brand{font-size:22px}.brandmark{width:33px;height:33px}.gameLayout{flex-direction:column;gap:24px;display:flex}.playArea,aside{width:100%}.gameLayout:has(.setup) aside{order:-1}.setup{padding:24px}.setup .panelIcon{float:right;width:43px;height:43px;margin:0 0 0 12px}.setup h2{font-size:24px}.setup .subtext{margin-bottom:12px}.setup .eyebrow{margin-top:5px}.setup label{margin-top:16px}.swatches{gap:13px}.swatches button{width:35px;height:35px}.colorName{margin-bottom:18px}.panelFoot{margin-top:17px}:is(.gameLayout:has(.setup) .rulesTeaser,.gameLayout:has(.setup) .signature){display:none}.boardHeading{margin-bottom:20px}.boardHeading h1{font-size:27px}.boardFrame{border-radius:12px;padding:8px}.squareNumber{font-size:8px;top:1px;left:2px}.stoneRing{border-width:1px}.playerOne .stoneRing{border-width:3px}.stone svg{width:55%;height:55%}.playerStrip b{max-width:180px;font-size:14px}.playerStrip small{font-size:12px}.pieceCount{font-size:18px}.pieceCount span{font-size:11px;display:inline}.avatar{width:34px;height:34px}.turnPill{font-size:11px}.hint{margin-top:16px;font-size:13px}.chatHeader{padding:18px}.messages{padding:14px 16px}.signature{margin-bottom:8px}.modal{padding:25px}.modalActions{flex-direction:column-reverse}.eyebrow{font-size:11px}.playerStrip{gap:9px}.rulesButton{font-size:13px}.rulesTeaser{padding-bottom:12px}.panel h2{font-size:25px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.topNav{align-items:center;gap:22px;display:flex}.navButton{color:#c6bbd0;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:14px;display:flex}.navButton[aria-pressed=true]{color:#d8bf94}.scoreboard{background:linear-gradient(100deg,#d9bd8c0d,#b690e809);border:1px solid #dbc29422;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin:-2px 0 20px;padding:16px 19px;display:flex}.scoreboard .eyebrow{letter-spacing:1.6px;white-space:nowrap;margin-bottom:6px;font-size:10px;display:block}.scoreboard small{color:#9f93af;font-size:12px}.scoreMatch{text-align:center;align-items:center;gap:13px;min-width:0;display:flex}.scoreMatch span{color:#c7bdcf;overflow-wrap:anywhere;max-width:115px;font-size:13px}.scoreMatch strong{color:#efd49e;white-space:nowrap;letter-spacing:1px;font-family:Manrope,sans-serif;font-size:28px}.tableToolbar{z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#211c2bf5;border:1px solid #d9bd7d55;border-radius:13px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;padding:13px 15px;display:flex;position:sticky;top:0;box-shadow:0 8px 26px #0004}.yourTurn{background:linear-gradient(110deg,#54412ef5,#2a2436f5);border-color:#ebc884}.turnBanner{flex:1;align-items:center;gap:10px;min-width:180px;display:flex}.turnIcon{color:#e9c58c;background:#dac08d14;border-radius:9px;flex-shrink:0;place-items:center;width:37px;height:37px;display:grid}.yourTurn .turnIcon{color:#34241d;background:#e7c58b;box-shadow:0 0 20px #e7c58b2a}.turnBanner strong{color:#e6c48e;letter-spacing:.6px;overflow-wrap:anywhere;font-size:13px;line-height:1.5;display:block}.theirTurn .turnBanner strong{color:#c5bad9}.turnBanner span:not(.turnIcon){color:#aaa0b8;margin-top:2px;font-size:12px;display:block}.quickActions{gap:7px;display:flex}.quickActions button{color:#f0e9f4;white-space:nowrap;background:#ffffff09;border:1px solid #ffffff20;border-radius:8px;align-items:center;gap:6px;padding:9px 11px;font-size:13px;display:flex}.quickActions button:last-child{color:#ecc2ba;border-color:#dca5a333}.quickActions button:disabled{opacity:.5}.inlineOffer{border-top:1px solid #e5c99c22;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;padding-top:11px;font-size:13px;display:flex}.inlineOffer span{color:#efcf93;flex:1;min-width:140px}.inlineOffer button{color:#2c2017;background:#dec093;border:0;border-radius:7px;padding:8px 10px;font-size:12px}.inlineOffer button:last-child{color:#c9bfd4;background:#ffffff09;border:1px solid #ffffff1a}.scoreNote{color:#887c96;padding:4px 9px 12px;font-size:12px;line-height:1.6}.gamesModal{max-width:670px}.lobbyTop{align-items:center;gap:15px;margin:23px 0 15px;display:flex}.listTabs{background:#120f1966;border-radius:10px;flex:1;gap:6px;padding:5px;display:flex}.listTabs button{color:#a79ab7;background:0 0;border:0;border-radius:7px;flex:1;padding:10px 13px;font-size:14px}.listTabs button.active{color:#302419;background:#d9bd8f;font-weight:600}.refreshList{color:#cfc0df;background:0 0;border:1px solid #ffffff1b;border-radius:10px;flex-shrink:0;place-items:center;padding:12px;display:grid}.adminLine{color:#a296b0;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;font-size:12px;line-height:1.6;display:flex}.adminLine a{color:#e2c494;text-underline-offset:3px;margin:0;font-size:12px}.roomList{gap:13px;display:grid}.roomCard{background:#100e1738;border:1px solid #ffffff0c;border-radius:13px;padding:18px}.roomMeta{justify-content:space-between;align-items:center;gap:10px;display:flex}.roomStatus{color:#c7b3da;background:#967db519;border-radius:6px;padding:5px 9px;font-size:11px}.roomStatus.playing{color:#d7ba88;background:#d5b78915}.roomStatus.finished{color:#a99ab8;background:#ffffff09}.roomMeta time{color:#867a94;font-size:11px}.roomCard h3{letter-spacing:-.3px;overflow-wrap:anywhere;margin:15px 0 6px;font-size:19px}.roomCard h3 span{color:#80708e;margin:0 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:400}.roomCard p{color:#a193ae;margin:0;font-size:13px}.roomButtons{justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex}.roomButtons a{color:#ecd19e;border:1px solid #e1c39436;border-radius:8px;padding:8px 13px;font-size:13px;text-decoration:none}.roomButtons button{color:#bf9a9e;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;font-size:12px;display:flex}.newGameLink{margin-top:20px}.deleteOverlay{z-index:7}.gamesModal h2{margin-top:0}.gamesModal .emptyChat{line-height:1.7}@media (max-width:900px){.topNav{gap:15px}.soundButton span{display:none}.scoreboard{flex-direction:column;align-items:stretch;gap:10px}.scoreboard>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.scoreboard .eyebrow{margin:0}.scoreMatch{justify-content:center}.quickActions{margin-left:47px}}@media (max-width:700px){.topNav{gap:14px}.navButton span{display:none}.top .rulesButton{gap:3px;font-size:12px}.brand{font-size:20px}.brandmark{width:31px;height:31px}.tableToolbar{gap:10px;margin-bottom:16px;padding:12px;top:4px}.turnBanner{min-width:165px}.turnBanner strong{font-size:12px}.turnBanner span:not(.turnIcon){font-size:11px}.quickActions button{gap:5px;padding:9px;font-size:12px}.turnIcon{width:32px;height:32px}.scoreboard{gap:7px;padding:13px 16px}.scoreMatch{gap:16px}.scoreMatch strong{font-size:27px}.scoreMatch span{max-width:120px}.roomCard{padding:15px}.roomMeta time{font-size:10px}.gamesModal{padding:23px}.roomCard h3{font-size:17px}.roomStatus{font-size:10px}.adminLine{font-size:12px}.quickActions{margin-left:42px}.navButton{padding:10px 0}}@media (max-width:380px){.topNav{gap:11px}.brand{gap:8px;font-size:18px}.brandperiod{margin-left:-8px}.quickActions{margin-left:0}.scoreMatch span{font-size:12px}.boardHeading h1{font-size:24px}}.miniLobby{margin-top:20px;padding:22px}.miniLobbyHeading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.miniLobbyHeading h2{letter-spacing:-.4px;margin:0;font-size:19px}.miniLobbyHeading button{color:#dec596;text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-size:12px;text-decoration:underline}.miniRoom{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;display:flex}.miniRoom a{min-width:0;text-decoration:none}.miniRoom b{overflow-wrap:anywhere;font-size:14px;display:block}.miniRoom b span{color:#867997;margin:0 4px;font-size:11px;font-weight:400}.miniRoom small{color:#9a8da9;margin-top:5px;font-size:12px;display:block}.miniRoom button{color:#c09b9b;background:0 0;border:0;padding:8px}.miniLobby>p{color:#aa9ab8;margin:10px 0 0;font-size:13px;line-height:1.6}.miniLobby .secondary{margin-top:10px;font-size:13px}@media (max-width:700px){.gamesNav span{font-size:12px;display:inline}.top{flex-wrap:wrap;gap:12px;height:auto;min-height:76px;padding:15px 0}.topNav{margin-left:auto}.miniLobby{padding:22px}.turnBanner strong{letter-spacing:.3px}.quickActions button{min-height:40px}}@media (max-width:380px){.topNav{gap:15px}.top{row-gap:8px}.brand{font-size:19px}}.adminLogin{max-width:440px;margin:35px auto}.adminLogin h1{margin-bottom:18px}.adminSubmit{margin-top:24px}.logoutAdmin{color:#cbbbda;background:0 0;border:1px solid #ffffff25;border-radius:7px;padding:6px 10px;font-size:12px}.roomButtons .deleteRoomButton{color:#f1b9b1;background:#cf706f12;border:1px solid #db9c9766;border-radius:8px;padding:9px 12px;font-size:13px}.miniRoom>button{color:#f1b9b1;background:#cf706f0a;border:1px solid #db9c9740;border-radius:7px;flex-shrink:0;align-items:center;gap:5px;padding:8px;font-size:11px;display:flex}.khelari-brand{letter-spacing:2px;font-size:19px}.khelari-brand .brandmark{letter-spacing:-2px;font-size:13px}.khelari-brand small{letter-spacing:2px;color:#c3a773;font-size:10px;display:block}.khelari-entry{max-width:520px;margin:36px auto;padding:28px}.khelari-entry h2{margin:0 0 12px}.khelari-entry p{line-height:1.5}.khelari-entry label{gap:8px;margin:20px 0;display:grid}.entry-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.entry-code,.recovery-code{color:#e7c58b;overflow-wrap:anywhere;border:1px solid #d1b27e55;border-radius:10px;gap:4px;padding:12px;display:grid}.entry-code strong,.recovery-code strong{letter-spacing:2px;font-size:19px}.recovery-code small{color:#bdb7ca;letter-spacing:0;font-size:12px}.gameLayout.entryOnly{display:block}.gameLayout.entryOnly .playArea{display:none}.gameLayout.entryOnly>.khelari-entry{margin:40px auto}.gameLayout.entryOnly .rulesTeaser{display:none}.resume-entry{border:1px solid #d1b27e55;border-radius:10px;margin:20px 0;padding:14px}.resume-entry summary{cursor:pointer;color:#e7c58b}.resume-entry form{gap:12px;margin-top:14px;display:grid}
