:root{font-family:ui-rounded,'Segoe UI',Arial,sans-serif;color:#202223;background:#fff;font-synthesis:none;--orange:#ff741f;--blue:#266be3;--red:#cb432b}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;border:0;touch-action:manipulation}button:focus-visible,summary:focus-visible{outline:3px solid #266be3;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.splash{position:fixed;inset:0;background:var(--orange);display:grid;place-items:center}.splash h1{font-size:clamp(3rem,12vw,8rem);color:white;letter-spacing:-.06em;animation:appear .6s both;animation-delay:3s}@keyframes appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.menu{min-height:100svh;max-width:720px;margin:auto;display:flex;flex-direction:column;padding:28px 24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.25rem}.brand-mark{background:var(--orange);width:40px;height:40px;color:white;display:grid;place-items:center;border-radius:12px;font-size:28px}.menu-art{display:flex;justify-content:center;gap:12px;margin:auto 0 24px}.symbol-tile{width:clamp(64px,16vw,110px);aspect-ratio:1;border:1px solid #dce2e8;background:linear-gradient(90deg,transparent 49%,#edf0f3 50%,transparent 51%),linear-gradient(transparent 49%,#edf0f3 50%,transparent 51%);display:grid;place-items:center;border-radius:12px;transform:rotate(-6deg)}.symbol-tile:nth-child(2){transform:rotate(5deg);background:#fff1e7;color:#d6590b}.symbol-tile:nth-child(3){transform:rotate(-3deg)}.symbol-tile svg{width:65%;height:65%}.menu h1{font-size:clamp(3rem,10vw,5rem);text-align:center;letter-spacing:-.06em;margin:12px 0}.menu p{text-align:center;color:#626871;line-height:1.6;margin:0 0 30px}.menu-actions{display:grid;gap:12px;margin-top:auto;padding-top:36px}.primary,.choice{padding:18px 24px;border-radius:14px;font-weight:700;font-size:1.1rem}.primary{background:var(--orange);color:#1c180f}.primary:hover{background:#ff8d46}.choice{background:#f2f4f6;color:#202223;text-align:left;display:flex;justify-content:space-between}.choice:hover{background:#e7edf3}.quiet{background:transparent;padding:10px 14px;color:#5c6570;border-radius:10px}.quiet:hover{background:#f0f3f6}.game{max-width:1120px;margin:auto;padding:20px 24px 210px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.top-actions{display:flex;gap:4px}.turnbar{border-top:1px solid #e5e8ed;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}.turnbar h1{font-size:1.3rem;margin:0 0 5px}.hint{color:#636d79;font-size:.9rem;line-height:1.45}.turn-count{white-space:nowrap;color:#747d86;font-size:.9rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:28px}.board-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}.player-name{font-weight:750}.health{font-variant-numeric:tabular-nums;font-weight:700;font-size:.95rem}.health small{font-weight:400;color:#6b7480}.hp-track{height:4px;background:#edf0f3;margin-bottom:12px;border-radius:3px;overflow:hidden}.hp-track span{display:block;height:100%;background:var(--blue);transition:width .3s}.enemy .hp-track span{background:var(--red)}.board-scroll{overflow:auto;border:1px solid #cbd3dd;border-radius:5px}.board{display:grid;grid-template-columns:repeat(20,1fr);width:100%;position:relative;background:#fff}.board.zoom{min-width:720px}.cell{aspect-ratio:1;min-width:0;padding:0;border-right:1px solid #e2e7ee;border-bottom:1px solid #e2e7ee;background:white;color:var(--blue);position:relative;display:grid;place-items:center}.enemy .cell{color:var(--red)}.cell.last-column{border-right:0}.cell.home-row{background:#eef5ff}.enemy .cell.home-row{background:#fff0ec}.cell:hover{background:#ffe6d2}.cell svg{width:90%;height:90%;overflow:visible;pointer-events:none}.cell.spent svg{opacity:.35}.cell.pending{background:#fff0d4}.cell.bullet:after{content:'';position:absolute;inset:35%;background:#ff710b;box-shadow:0 0 14px 4px #ff8e40;border-radius:50%}.cell.target{background:#ffe8d9}.board-note{font-size:.8rem;color:#74808d;margin:8px 0}.shelf{position:fixed;bottom:0;left:0;right:0;background:#fffefcf5;backdrop-filter:blur(16px);border-top:1px solid #e1e5ea;z-index:4;padding:12px max(16px,calc((100vw - 1072px)/2)) max(12px,env(safe-area-inset-bottom));box-shadow:0 -8px 24px #18263708}.shelf-title{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-weight:650;margin-bottom:8px}.pieces{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 8px}.piece{background:#f4f6f8;min-width:103px;flex:1;border:2px solid transparent;border-radius:12px;padding:9px 6px;color:#252b32;display:grid;justify-items:center;gap:3px}.piece:hover,.piece.selected{border-color:var(--orange);background:#fff2e8}.piece svg{width:32px;height:32px}.piece strong{font-size:.875rem}.stock{font-size:.8rem;color:#66717d}.selection{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:12px}.selection svg{width:45px;height:45px}.selection p{margin:4px 0;font-size:.9rem;color:#68717d}.overlay{position:fixed;inset:0;background:#fffef9f5;backdrop-filter:blur(12px);z-index:8;display:grid;place-items:center;padding:24px}.overlay-card{text-align:center;max-width:440px;width:100%}.overlay-card h2{font-size:2.4rem;letter-spacing:-.04em;margin:16px 0}.overlay-card p{line-height:1.5;color:#65707a}.overlay-card .primary{width:100%;margin-top:16px}.big-crown{color:var(--orange)}.big-crown svg{width:100px;height:100px}dialog{border:1px solid #dfe4eb;border-radius:20px;padding:24px;max-width:min(600px,calc(100vw - 28px));max-height:85svh;color:#242a32}dialog::backdrop{background:#14213370;backdrop-filter:blur(4px)}dialog h2{margin:0 0 18px}dialog p{font-size:1rem;line-height:1.65}#directions{text-align:center;width:320px}#direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}#direction-grid button{height:66px;border-radius:10px;background:#fff0e5;font-size:1.8rem}#direction-grid button:hover{background:#ffb17c}.direction-center{display:grid;place-items:center;color:#9da5ad}.dialog-head{display:flex;align-items:start;justify-content:space-between}.rule-row{display:flex;gap:14px;border-top:1px solid #edf0f3;padding:14px 0;align-items:start}.rule-row svg{width:35px;height:35px;flex-shrink:0}.rule-row p{margin:4px 0;font-size:.9rem}details{margin-top:18px}summary{cursor:pointer;font-weight:650;line-height:1.5}.notice{color:#975214;background:#fff1dd;padding:10px 14px;border-radius:10px;margin:0 0 14px;font-size:.9rem;line-height:1.5}.game-status{min-height:24px}.difficulty .choice{padding:15px 20px}.difficulty .menu-actions{margin-top:30px}.difficulty h1{font-size:2.6rem;margin-top:auto}.difficulty p{margin-bottom:0}@media(min-width:850px){.fields{align-items:start}.board-section.own{order:0}.board-section.enemy{order:1}.game{padding-bottom:190px}}@media(max-width:849px){.game{padding:12px 12px 205px;max-width:600px}.fields{grid-template-columns:1fr;gap:18px}.enemy{order:0}.own{order:1}.topbar{margin-bottom:12px}.brand{font-size:1.1rem}.top-actions .quiet{padding:8px;font-size:.875rem}.turnbar{padding:12px 0}.turnbar h1{font-size:1.1rem}.board-head{margin-bottom:6px}.hp-track{margin-bottom:8px}.piece{min-width:94px}.board-note{margin:5px 0}.menu{padding:24px 20px}.cell{min-height:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.splash h1{opacity:1}}

.cell.bullet.reflected:after{background:#8954e8;box-shadow:0 0 14px 4px #b58aea}.piece{flex:0 0 112px}.piece strong{overflow-wrap:anywhere;line-height:1.2}.stock{margin-top:auto}
.wallet{display:flex;align-items:center;gap:7px;font-weight:800;white-space:nowrap;color:#875000;background:#fff0ca;border:1px solid #f5d580;padding:9px 13px;border-radius:12px;font-variant-numeric:tabular-nums}.wallet span{display:grid;place-items:center;width:23px;height:23px;background:#ffc858;border-radius:50%;color:#6b4100}.wallet small{font-size:.8rem;font-weight:500}.home-side-actions{display:flex;justify-content:space-between;gap:24px;margin:20px 0 26px}.home-side-actions .choice{background:#fff0e5;padding:15px 18px;font-size:1rem;border:1px solid #ffcaa5}.economy-page{max-width:1000px;margin:0 auto;padding:24px 20px 48px}.economy-page h1{font-size:2.5rem;letter-spacing:-.04em;margin:28px 0 10px}.economy-intro{line-height:1.6;color:#626b76;margin:0 0 24px}.economy-nav{display:flex;justify-content:space-between;gap:12px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.shop-card{border:1px solid #dce2e8;border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:flex-start}.shop-symbol{background:#fff2e8;border-radius:14px;padding:12px;color:#b84d05}.shop-symbol svg{width:46px;height:46px;display:block}.shop-card h2{font-size:1.1rem;line-height:1.4;margin:16px 0 8px}.shop-card p{font-size:.95rem;line-height:1.6;color:#606a76;flex:1;margin:0 0 18px}.shop-card button{font-size:.95rem;padding:12px;width:100%;border-radius:10px}.shop-card small{font-size:.8rem;color:#78818b;margin-top:9px}.shop-card .owned{background:#eef5ee;color:#32743e;font-weight:700;opacity:1}.quest-list{display:grid;gap:16px}.quest-card{border:1px solid #dce2e8;border-radius:18px;padding:22px;display:flex;gap:20px;align-items:flex-start}.quest-card h2{font-size:1.1rem;margin:0 0 8px}.quest-card p{line-height:1.6;margin:0 0 12px}.quest-card small{color:#737e8a;font-size:.85rem}.quest-reward{flex-shrink:0;width:78px;background:#fff0ca;border-radius:14px;text-align:center;padding:12px 8px;font-size:1.7rem;font-weight:800;color:#875000}.quest-reward small{display:block;font-size:.8rem;color:#875000}.streak-dots{display:flex;gap:7px;margin:12px 0}.streak-dots span{width:32px;height:32px;border-radius:50%;border:1px solid #d6dee7;color:#7a8794;display:grid;place-items:center}.streak-dots .filled{background:#ff741f;color:#fff;border-color:#ff741f}.economy-note{background:#f2f5f8;padding:18px;line-height:1.6;border-radius:14px;margin-top:20px;color:#566270}.game-header{flex-wrap:wrap}.game-header .wallet{margin-left:auto;order:1}.game-header .top-actions{order:2;flex-basis:100%;justify-content:flex-end}.menu .topbar{flex-wrap:wrap}.menu .wallet{margin-left:auto}@media(max-width:720px){.shop-grid{grid-template-columns:repeat(2,1fr)}.shop-card{padding:15px}.economy-page{padding:18px 14px}.quest-card{padding:18px 14px;gap:14px}.quest-reward{width:66px}.economy-page .topbar{flex-wrap:wrap}}@media(max-width:390px){.shop-grid{grid-template-columns:1fr}.home-side-actions{gap:12px}.wallet{padding:8px}.wallet small{font-size:.75rem}}

.cell.boost-path{background:#fff8df}.cell.boost-target{box-shadow:inset 0 0 0 2px #e9b139}.cell .boost-bolt{position:absolute;width:76%;height:76%;inset:12%;color:#ffcd39;pointer-events:none;overflow:hidden;opacity:.92}.cell .boost-bolt.alongside-symbol{width:40%;height:40%;inset:0 auto auto 0;opacity:.9}.cell.spent .boost-bolt{opacity:.92}.cell.boost-path:hover{background:#ffe6b5}.cell.bullet:after{z-index:2}
.profile-controls{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-right:auto}.nick-button{background:transparent;font-size:.9rem;font-weight:700;color:#275bac;padding:4px 0;max-width:180px;overflow:hidden;text-overflow:ellipsis}.presence-pill{font-size:.8rem;color:#627181}.topbar{flex-wrap:wrap}.room-code{font-size:3rem;text-align:center;font-weight:850;letter-spacing:.15em;padding:22px;background:#fff0d9;border-radius:16px}.search-clock{text-align:center;font-size:2rem!important}.join-room{display:flex;gap:8px}.join-room input{min-width:0;width:100%}input{font:inherit;padding:14px;border:1px solid #c7d1dc;border-radius:10px;color:#202223;background:white}#nick-dialog input{display:block;width:100%;margin-top:8px}.dialog-actions{display:flex;gap:12px;margin-top:18px}.opponent-pieces{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.opponent-pieces div{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:95px;text-align:center;font-size:.8rem}.opponent-pieces svg{width:36px;height:36px}.rank-mark{font-size:1.4rem;font-weight:750}.rank-15{color:#1462de}.rank-0,.rank-1,.rank-2,.rank-3{color:#986132}.rank-4,.rank-5,.rank-6,.rank-7{color:#758293}.rank-8,.rank-9,.rank-10,.rank-11{color:#b27c06}.teleport-wheel{transform-origin:16px 16px;animation:teleport-spin 5s linear infinite}@keyframes teleport-spin{to{transform:rotate(360deg)}}@media(max-width:450px){.topbar .brand{font-size:1rem}.brand-mark{width:30px;height:30px}.profile-controls{order:3;flex-basis:100%;flex-direction:row;align-items:center;gap:12px}.game-header .top-actions{order:4}.join-room .primary{padding:12px}}

.home-rank{display:flex;flex-direction:column;gap:8px;text-align:center;border:1px solid #dce2e8;border-radius:16px;padding:18px;margin:0 0 24px}.home-rank>span{font-size:.9rem;color:#626b76}.menu .home-rank p{font-size:1rem;margin:4px 0 0;font-weight:650;color:#202223}.home-rank small{font-size:.875rem;line-height:1.5;color:#626b76}

.promo-button{background:#fff0d9;border:2px solid #ffb85c;color:#754100}#promo-input{display:block;width:100%;margin-top:10px}#promo-dialog [data-promo-result]{font-weight:650;line-height:1.5}

.menu .game-description{font-size:1rem;line-height:1.6;margin:12px 0 20px;color:#626b76}

.trial-clock{padding:12px 16px;border-radius:12px;background:#fff0d9;font-size:1rem;line-height:1.5}.rank-16{color:#b34000}.rank-17{color:#6944b6}.rank-18{color:#1259a8}

.account-list{display:grid;gap:12px;margin:20px 0;max-height:50vh;overflow:auto}.account-item{display:grid;gap:8px;padding:14px;border:1px solid #dce2e8;border-radius:12px}.account-item span{font-size:.9rem;line-height:1.5}#account-dialog>button{margin:6px 0;width:100%}

.profile-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.corner-rank{font-size:.875rem;font-weight:700}.recovery-code{font-size:2rem;letter-spacing:.15em;font-weight:800}#recovery-input{display:block;width:100%;margin:12px 0}.topbar .profile-controls{order:0;flex-direction:column;align-items:flex-start}.profile-line .quiet{padding:6px}
