@import url('./type.css');
:root{color-scheme:dark;--bg:#103b38;--panel:#174b46;--ink:#f7f2df;--muted:#a9c0b7;--gold:#f2cb6c;--gold-deep:#c7953f;--blue:#80b9ff;--coral:#f39d89;--line:#e8efd421;--font:'Club Sans','Segoe UI',Arial,sans-serif;--display:'Club Display','Arial Black',Impact,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold)}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button{border:0}button svg{pointer-events:none}button:active:not(:disabled){transform:translateY(2px)}a{color:inherit}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.app-shell{height:100dvh;min-height:580px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 64% 32%,#2f605535,transparent 64%),var(--bg);transition:background .5s}.topbar{height:88px;min-height:88px;display:flex;align-items:center;padding:0 clamp(22px,3.5vw,64px);gap:38px;border-bottom:1px solid var(--line);z-index:5;background:#103a36d9}.brand{display:flex;align-items:center;gap:12px;background:transparent;padding:0;text-align:left}.brand-mark{width:42px;height:42px}.brand-type{display:flex;flex-direction:column;line-height:1.04;font-family:var(--display);font-weight:900;font-style:italic;font-size:18px;letter-spacing:-.7px}.brand-type span{color:var(--gold)}.nav{display:flex;align-self:stretch;gap:9px;align-items:center;margin-left:auto;margin-right:auto}.nav-button{height:44px;border-radius:8px;padding:0 17px;display:flex;align-items:center;gap:8px;background:transparent;color:var(--muted);font-weight:650;font-size:14px;transition:background .18s,color .18s}.nav-button:hover{background:#ffffff09;color:var(--ink)}.nav-button.active{background:#efecc614;color:var(--gold)}.nav-button .icon{width:18px;height:18px}.header-actions{display:flex;gap:10px;align-items:center}.wallet{background:#203f30;border:1px solid #e6c27328;border-radius:24px;padding:9px 17px;display:flex;align-items:center;gap:9px;font-weight:750;color:var(--gold);font-variant-numeric:tabular-nums}.wallet .icon{width:21px;height:21px;fill:#f1cb6518}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff0;color:var(--muted);transition:background .18s}.icon-button:hover{background:#fff1;color:var(--ink)}
.arena{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden}.arena:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 68% 15%,#f5da8021,transparent 53%),repeating-linear-gradient(0deg,transparent 0,transparent 79px,#c9e5be03 80px),repeating-linear-gradient(90deg,transparent 0,transparent 79px,#c9e5be03 80px)}.arena:after{content:'';position:absolute;inset:0;z-index:-1;box-shadow:inset 0 0 130px #071b193a;pointer-events:none}.game-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}.home-panel{position:absolute;left:clamp(30px,8.5vw,164px);top:50%;transform:translateY(-50%);width:min(390px,40%);z-index:2}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:11px}.eyebrow:before{content:'';width:26px;height:1px;background:currentColor}.home-title{font-family:var(--display);font-size:clamp(60px,7.5vw,118px);font-weight:950;font-style:italic;line-height:.93;letter-spacing:-5px;margin:25px 0;color:var(--ink);text-shadow:4px 5px 0 #092c27}.home-title span{color:var(--gold);white-space:nowrap}.home-description{color:#b8cec2;font-size:17px;line-height:1.7;margin:26px 0 28px;max-width:290px}.primary-button{background:var(--gold);color:#20372e;font-weight:850;min-height:56px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:13px;padding:15px 24px;box-shadow:0 4px 0 var(--gold-deep),0 9px 22px #00191430;transition:background .18s,transform .18s;font-size:16px}.primary-button:hover{background:#ffdb82;transform:translateY(-2px)}.primary-button .icon:last-child{margin-left:auto}.primary-button .icon:first-child{margin-right:2px}.home-panel .primary-button{width:min(310px,100%);font-size:18px}.home-secondary{display:flex;gap:11px;margin-top:18px;width:min(310px,100%)}.secondary-button{background:#ffffff06;border:1px solid #f2f2cf30;color:var(--ink);min-height:46px;border-radius:9px;display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 18px;font-size:14px;font-weight:700;transition:background .18s}.secondary-button:hover{background:#ffffff10}.home-secondary .secondary-button{flex:1}.home-note{font-size:12px;color:#88a69a;display:flex;align-items:center;gap:8px;margin-top:24px}.home-note .icon{width:15px;height:15px}.table-tag{position:absolute;right:9%;top:35px;color:var(--muted);text-align:center;font-size:12px;letter-spacing:2px;text-transform:uppercase}.table-tag strong{display:block;color:#d7dfca;font-size:14px;letter-spacing:4px;margin-top:8px}.floor-stamp{position:absolute;right:clamp(20px,3vw,58px);bottom:35px;width:94px;height:94px;border:1px solid #e6df9c36;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);font-size:10px;letter-spacing:1.4px;color:#bdc99880;gap:4px;pointer-events:none}.floor-stamp .icon{width:25px;height:25px}.floor-stamp strong{font-size:16px;letter-spacing:.5px}.bottom-bar{height:54px;min-height:54px;border-top:1px solid var(--line);padding:0 clamp(24px,3.5vw,64px);display:flex;align-items:center;justify-content:space-between;color:#8faaa0;font-size:12px;gap:20px}.bottom-bar strong{font-weight:600;color:#c2d0bc}.bottom-meta{display:flex;gap:26px}.bottom-meta span{display:flex;align-items:center;gap:7px}.bottom-meta .icon{width:15px;height:15px}.key{font-family:inherit;border:1px solid #c4d4bf35;border-bottom-width:2px;border-radius:4px;font-size:11px;padding:2px 5px;color:#b6c8bd}
.match-top{position:absolute;left:0;right:0;top:22px;text-align:center;pointer-events:none;z-index:2}.match-label{font-size:11px;letter-spacing:2px;color:#b4c8b7;font-weight:700}.match-top .pill{margin-top:10px;display:inline-block}.pill{padding:6px 12px;border:1px solid var(--line);border-radius:20px;font-size:12px;color:var(--muted);background:#153a33}.score-card{position:absolute;top:17%;width:220px;z-index:2}.score-card.player{left:clamp(24px,7.7vw,140px)}.score-card.cpu{right:clamp(24px,7.7vw,140px)}.player-label{font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--blue);display:flex;align-items:center;gap:8px}.cpu .player-label{color:var(--coral)}.player-label:before{content:'';width:7px;height:7px;background:currentColor;border-radius:50%}.player-name{font-weight:800;font-size:26px;letter-spacing:-.8px;margin:11px 0 5px}.player-subtitle{font-size:12px;color:#9cb6a8}.score-line{display:flex;align-items:baseline;gap:9px;margin-top:15px}.score-number{font-family:var(--display);font-size:80px;line-height:1;letter-spacing:-3px;font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums}.cpu .score-number{color:var(--coral)}.score-unit{font-size:13px;letter-spacing:1px;color:#aac0b0}.puck-rack{display:flex;gap:11px;margin:21px 0 12px}.rack-puck{width:22px;height:16px;border-radius:50%;background:var(--blue);box-shadow:0 4px 0 #285b85,inset 0 0 0 3px #a9d3ff50}.cpu .rack-puck{background:var(--coral);box-shadow:0 4px 0 #945c4f,inset 0 0 0 3px #ffd5b350}.rack-puck.used{background:#ffffff04;box-shadow:none;border:1px solid #bdd5c432;transform:translateY(3px)}.remaining{font-size:12px;color:#94b0a0}.card-divider{height:1px;background:var(--line);margin:25px 0 18px}.turn-badge{display:inline-flex;gap:7px;align-items:center;font-size:12px;letter-spacing:1px;color:var(--gold);font-weight:800}.turn-badge .icon{width:16px;height:16px}.opponent-avatar{margin-top:25px;width:70px;height:70px;border-radius:20px;background:#ffd7b112;border:1px solid #f1bb9926;display:grid;place-items:center;font-size:27px;font-weight:850;color:var(--coral);transform:rotate(-5deg)}.opponent-quote{font-size:13px;color:#a9bdb0;margin-top:15px;line-height:1.65;max-width:170px}.play-tips{position:absolute;left:clamp(24px,7.7vw,140px);bottom:9%;width:220px}.tip-label{font-size:11px;letter-spacing:2px;color:#769888;margin-bottom:15px;font-weight:750}.tip-row{display:flex;align-items:center;gap:12px;margin-top:14px;color:#bacbbc;font-size:13px}.tip-row .icon{color:#84a590;width:20px;height:20px}.play-controls{position:absolute;right:clamp(24px,7.7vw,140px);bottom:10%;width:220px}.power-head{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;font-weight:800;color:#92b19c}.power-head strong{color:var(--gold);letter-spacing:0}.power-track{height:9px;border-radius:5px;background:#081f1e;margin:12px 0 10px;overflow:hidden;box-shadow:inset 0 1px 2px #0005}.power-fill{height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#79c8a5,#e9d07d,#ef9c79);transition:width .06s}.power-caption{font-size:12px;color:#859f90;line-height:1.6}.pause-button{margin-top:22px;width:100%;background:#ffffff05}.instruction{position:absolute;left:50%;transform:translateX(-50%);bottom:0;background:#143c35ee;border:1px solid #d8d19732;border-radius:10px;padding:12px 20px;display:flex;gap:12px;align-items:center;z-index:3;white-space:nowrap;box-shadow:0 8px 20px #0002}.instruction .icon{color:var(--gold)}.instruction strong{display:block;font-size:13px;letter-spacing:1.2px}.instruction small{font-size:11px;display:block;margin-top:3px;color:var(--muted)}.instruction.thinking strong{color:var(--coral)}.game-ui{position:absolute;inset:0;pointer-events:none}.game-ui button,.game-ui input,.game-ui select{pointer-events:auto}.game-ui .score-card{transition:opacity .2s}.score-card.inactive{opacity:.65}.match-bottom{height:64px;min-height:64px}.match-status{display:flex;gap:10px;align-items:center}.match-status .icon{color:var(--gold)}.match-status strong{color:var(--gold)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#f4edda;color:#203f32;padding:13px 22px;border-radius:10px;box-shadow:0 8px 30px #0004;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:14px;font-weight:650;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;inset:0;z-index:50;background:#061e1cba;backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;overflow-y:auto}.modal-card{width:min(440px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;padding:35px;background:#164740;border:1px solid #eee9bf40;border-radius:20px;text-align:center;box-shadow:0 24px 100px #0005;position:relative}.modal-emblem{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 24px;border:1px solid #f3cd6640;border-radius:50%;background:#f3cd6610;color:var(--gold)}.modal-emblem .icon{width:32px;height:32px}.modal-card .eyebrow{justify-content:center;font-size:11px;letter-spacing:2px}.modal-card .eyebrow:before{display:none}.modal-card h2{font-family:var(--display);font-size:34px;font-weight:900;letter-spacing:-1.6px;margin:14px 0}.modal-card p{color:var(--muted);font-size:14px;line-height:1.7}.modal-card .primary-button{width:100%;margin-top:25px;justify-content:center}.modal-card .primary-button .icon{margin:0}.modal-card .secondary-button{width:100%;margin-top:17px}.text-button{background:transparent;color:var(--muted);font-size:13px;padding:16px 14px;margin-top:8px}.text-button:hover{color:var(--ink)}.reward-total{color:var(--gold);padding:18px;margin:18px 0 5px;background:#f4cd6610;border:1px solid #f4cd6620;border-radius:10px;font-size:19px;font-weight:800;display:flex;gap:9px;justify-content:center}.modal-close{position:absolute;right:16px;top:16px;width:32px;height:32px}
.content-view{position:absolute;inset:0;overflow-y:auto;padding:40px clamp(28px,6vw,105px) 30px;scrollbar-color:#7e9f8855 transparent;scrollbar-width:thin}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px;max-width:1230px;margin-left:auto;margin-right:auto}.page-heading h1{font-family:var(--display);font-weight:900;letter-spacing:-2.5px;font-size:48px;margin:11px 0 8px;line-height:1.05}.heading-dot{color:var(--gold)}.page-heading p{font-size:14px;color:var(--muted);margin:12px 0 0}.page-heading .eyebrow{font-size:10px;letter-spacing:2px}.tour-pass{display:flex;gap:17px;align-items:center;border:1px dashed #f1d59240;border-radius:12px;padding:17px 25px;transform:rotate(2deg);color:#d6d7b8}.pass-icon{width:55px;height:65px;border-right:1px solid var(--line);display:flex;align-items:center;padding-right:17px;color:var(--gold)}.pass-icon .icon{width:35px;height:35px}.tour-pass span{font-size:9px;letter-spacing:1.7px;font-weight:700}.tour-pass strong{font-size:32px;font-family:var(--display);display:block;line-height:1.3}.tour-pass strong small{font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:1px}.tour-pass div>div{font-size:10px;color:#97ac97}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1230px;margin:auto}.destination{text-align:left;border-radius:13px;background:linear-gradient(145deg,#ffffff07,#ffffff02);border:1px solid #dfe9c62b;padding:19px 22px 0;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}.destination:hover{transform:translateY(-3px);border-color:var(--city-color)}.destination.selected{border-color:var(--city-color);box-shadow:0 0 0 1px var(--city-color)}.destination-top{display:flex;justify-content:space-between;align-items:center;color:var(--city-color);font-size:10px;letter-spacing:1px;font-weight:700}.destination-state{width:28px;height:28px;border:1px solid #ece9c926;border-radius:50%;display:grid;place-items:center}.destination-state .icon{width:14px;height:14px}.city-art{width:100%;height:104px;object-fit:contain;object-position:bottom;margin-top:2px}.destination-bottom{display:flex;align-items:center;justify-content:space-between;padding:11px 0 16px}.destination-bottom h2{font-size:24px;letter-spacing:-.7px;margin:0;font-weight:800}.destination-bottom p{margin:5px 0 0;font-size:11px;color:var(--muted)}.city-progress{font-size:22px;font-weight:800;color:var(--city-color)}.city-progress small{font-size:14px;font-weight:500;opacity:.5}.city-progress-track{height:3px;background:#ffffff08;margin:0 -22px}.city-progress-track span{height:100%;display:block;background:var(--city-color)}.locked-city{opacity:.6}.locked-city.selected{opacity:.9}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:30px auto 17px;max-width:1230px;gap:20px}.section-heading h2{font-size:12px;letter-spacing:2px;color:#e5dec1;margin:0;font-weight:750}.section-heading p{font-size:12px;color:#8eaa97;margin:7px 0 0}.opponent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;max-width:1230px;margin:auto}.opponent-card{background:#0b2e2b60;border:1px solid #d1dab620;border-radius:12px;padding:17px 20px 20px;text-align:center}.opponent-card.locked{opacity:.52}.opponent-card.final-card{border-color:#f3cc663b;background:linear-gradient(150deg,#e9c46609,#e9c46602)}.opponent-card-top{display:flex;justify-content:space-between;align-items:center;color:#8da78f;font-size:9px;letter-spacing:1.5px}.opponent-card-top .icon{width:15px;height:15px}.final-card .opponent-card-top{color:var(--gold)}.rival-badge{width:52px;height:52px;border-radius:50%;background:#ffffff06;border:1px solid var(--rival-color);color:var(--rival-color);display:grid;place-items:center;font-weight:900;font-size:22px;margin:16px auto 14px;box-shadow:0 0 0 5px #ffffff03}.rival-badge .icon{width:24px;height:24px}.opponent-card h3{font-size:17px;margin:0;font-weight:800;letter-spacing:-.3px}.opponent-card p{font-size:11px;color:var(--muted);min-height:15px;margin:7px 0 0}.opponent-stars{display:flex;gap:5px;justify-content:center;margin:15px 0;color:#ffffff16}.opponent-stars .icon{width:15px;height:15px;fill:currentColor}.opponent-stars .earned,.result-stars .earned{color:var(--gold);fill:var(--gold)}.opponent-card .primary-button,.opponent-card .secondary-button{width:100%;min-height:40px;padding:10px;font-size:12px;border-radius:7px;gap:7px}.opponent-card button .icon{width:15px;height:15px;margin:0}.tour-help{display:flex;gap:8px;align-items:center;justify-content:center;color:#93ad98;font-size:11px;margin:25px auto 5px;max-width:1230px;line-height:1.65}.tour-help .icon{width:16px;height:16px;color:var(--gold)}.tour-complete{max-width:1230px;margin:20px auto;padding:18px;background:#f2ce6410;border:1px solid #f2ce6440;border-radius:12px;color:var(--gold);font-weight:800;display:flex;gap:12px;align-items:center;font-size:14px}.tour-complete span{font-weight:400;font-size:12px;margin-left:auto}.shop-wallet{display:flex;align-items:center;gap:12px;position:relative;padding:20px 25px 34px;background:#f0ca6410;border:1px solid #f0ca6425;border-radius:12px;min-width:175px;justify-content:center}.shop-wallet .icon{width:29px;height:29px;color:var(--gold)}.shop-wallet strong{color:var(--gold);font-size:35px;font-weight:850;line-height:1}.shop-wallet span{position:absolute;left:0;right:0;bottom:13px;font-size:9px;color:#c6c19d;letter-spacing:1.4px;text-align:center}.shop-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 auto 24px;max-width:1230px}.segmented{display:inline-flex;padding:5px;border:1px solid var(--line);background:#06292460;border-radius:10px;gap:5px}.segmented button{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:7px;background:transparent;color:#99b09e;font-size:13px;font-weight:700}.segmented button.selected{background:#d7dcc515;color:var(--ink);box-shadow:0 2px 4px #00181222}.segmented .icon{width:17px;height:17px}.segmented span{font-size:10px;opacity:.55;margin-left:7px}.shop-hint{font-size:11px;color:#90a88f;display:flex;gap:7px;align-items:center}.shop-hint .icon{width:15px;height:15px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1230px;margin:auto}.shop-card{background:#ffffff04;border:1px solid #dae2bd26;border-radius:12px;padding:18px 20px;position:relative;overflow:hidden}.shop-card.equipped-card{border-color:#efd47470;background:#efd47406}.shop-card-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:#83a18c;font-weight:650;min-height:18px}.equipped-tag{display:flex;gap:4px;color:var(--gold);font-size:9px;letter-spacing:1px}.equipped-tag .icon{width:12px;height:12px}.product-art{height:124px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 50% 65%,var(--product-glow),transparent 64%)}.product-art img{width:130px;height:104px;filter:drop-shadow(0 8px 8px #0002);transition:transform .25s}.shop-card:hover .product-art img{transform:translateY(-6px) rotate(-5deg)}.product-info{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:12px 0 3px}.product-info h2{font-size:17px;font-weight:750;letter-spacing:-.4px;margin:0}.product-info p{font-size:11px;color:#97b09a;margin:6px 0 0}.buy-button{border:1px solid #e8cb7a44;background:#eed07b0e;border-radius:7px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:750;color:var(--gold);display:flex;align-items:center;gap:6px;white-space:nowrap}.buy-button:hover{background:#eed07b25}.buy-button .icon{width:16px;height:16px}.buy-button.is-equipped{color:#193d31;background:var(--gold);opacity:1}.price-hint{font-size:9px;color:#91a391;display:block;margin-top:8px;text-align:right}.shop-footer{display:flex;justify-content:center;gap:7px;align-items:center;font-size:11px;color:#879f8b;margin:25px 0 0}.shop-footer .icon{width:14px;height:14px}.table-grid{grid-template-columns:repeat(4,1fr)}.table-grid .shop-card{padding:17px}.table-product{height:235px}.table-product img{height:225px;width:220px;max-width:100%}.table-grid .product-info{flex-wrap:wrap;gap:14px}.table-grid .product-info h2{font-size:16px}.table-grid .product-info p{font-size:9px}.table-grid .buy-button{width:100%;justify-content:center}.home-difficulty{display:flex;align-items:center;gap:5px;background:transparent;color:#a7bba6;font-size:11px;letter-spacing:.8px;padding:0;margin:-13px 0 19px}.home-difficulty b{color:var(--gold);font-size:10px;text-transform:uppercase}.home-difficulty .icon{width:13px;height:13px;margin-left:5px}.settings-list{margin-top:26px;text-align:left}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;cursor:pointer}.setting-row strong{font-size:14px;display:block;font-weight:700}.setting-row small{font-size:11px;color:var(--muted);display:block;margin-top:6px;line-height:1.5}.toggle{appearance:none;position:relative;width:44px;height:25px;min-width:44px;border-radius:20px;background:#082d29;border:1px solid #9cb69340;cursor:pointer;transition:background .2s}.toggle:before{content:'';position:absolute;width:17px;height:17px;top:3px;left:3px;background:#9db4a0;border-radius:50%;transition:transform .2s}.toggle:checked{background:var(--gold);border-color:var(--gold)}.toggle:checked:before{transform:translateX(18px);background:#193e32}.volume-row input{accent-color:var(--gold);width:135px;max-width:50%;cursor:pointer}.settings-rules{padding:17px 0 0;text-align:left}.settings-rules h3{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:#d8d6b9}.settings-rules p{font-size:12px;line-height:1.7;margin:8px 0}.save-note{font-size:10px;color:#8eaa95;line-height:1.6;margin:15px 0 0}.difficulty-options{display:flex;flex-direction:column;gap:10px;margin-top:22px}.difficulty-option{padding:14px 17px;border-radius:10px;background:#0a302a80;border:1px solid #bacab026;display:flex;gap:15px;align-items:center;text-align:left}.difficulty-option.selected{border-color:var(--gold);background:#ecd06e0b}.difficulty-option strong{display:block;font-size:14px}.difficulty-option small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.difficulty-dots{display:flex;align-items:flex-end;gap:3px;width:24px}.difficulty-dots i{display:block;width:5px;height:10px;background:#ffffff13;border-radius:1px}.difficulty-dots i:nth-child(2){height:15px}.difficulty-dots i:nth-child(3){height:20px}.difficulty-dots i.lit{background:var(--gold)}.difficulty-reward{margin-left:auto;color:var(--gold);font-size:12px;display:flex;gap:5px;align-items:center}.difficulty-reward .icon{width:15px;height:15px}.result-scoreboard{display:flex;justify-content:center;gap:25px;align-items:center;margin-top:22px}.result-scoreboard>div{flex:1}.result-scoreboard>div>span{font-size:10px;font-weight:750;letter-spacing:1px;color:var(--blue);display:block}.result-scoreboard>div:last-child>span,.result-scoreboard>div:last-child>strong{color:var(--coral)}.result-scoreboard strong{font-family:var(--display);font-size:58px;color:var(--blue);line-height:1.3;display:block}.result-versus{color:#a4b79a;font-size:30px}.result-pucks{display:flex;gap:6px;justify-content:center}.result-puck{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#80b9ff18;color:var(--blue);border:1px solid #80b9ff66;font-size:11px;font-weight:800}.result-pucks.cpu .result-puck{color:var(--coral);background:#f39d8918;border-color:#f39d8966}.result-puck.out{opacity:.4}.reward-breakdown{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;display:flex;flex-direction:column;gap:7px}.reward-breakdown>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.reward-breakdown strong{color:#cbd6b7;font-weight:650}.reward-total span{font-size:9px;letter-spacing:1.5px;color:#c4c89e;align-self:center;margin-left:6px}.result-stars{display:flex;gap:7px;justify-content:center;margin-top:18px;color:#ffffff25}.result-stars .icon{width:24px;height:24px}.win-emblem{box-shadow:0 0 0 7px #f4cf6b06,0 0 45px #f4cf6b10}.modal-card:has(.result-scoreboard){padding-top:27px}.modal-card:has(.result-scoreboard) .modal-emblem{width:55px;height:55px;margin-bottom:19px}.modal-card:has(.result-scoreboard) h2{font-size:32px}.modal-card:has(.result-scoreboard) .primary-button{margin-top:21px}.modal-card:has(.result-scoreboard) p{font-size:13px}.leave-card .primary-button{margin-top:23px}
@media(min-width:1700px){.home-title{font-size:130px}.home-panel{left:14%}.score-card.player,.play-tips{left:15%}.score-card.cpu,.play-controls{right:15%}.table-tag{right:16%}}
@media(max-width:1100px){.topbar{gap:20px;padding:0 24px}.nav-button{padding:0 12px}.score-card,.play-tips,.play-controls{width:175px}.score-card.player,.play-tips{left:35px}.score-card.cpu,.play-controls{right:35px}.score-number{font-size:68px}.home-panel{left:6%}.home-title{font-size:80px}.floor-stamp{width:76px;height:76px;right:25px;bottom:20px}.table-tag{right:7%}.opponent-quote{font-size:12px}.player-name{font-size:23px}}
@media(max-width:800px){.topbar{height:72px;min-height:72px;gap:10px;padding:0 18px}.brand-mark{width:34px;height:34px}.brand-type{font-size:15px}.nav{gap:2px}.nav-button{font-size:12px;padding:0 10px}.nav-button .icon{display:none}.header-actions{gap:7px}.wallet{padding:8px 11px;font-size:14px}.header-actions .icon-button{width:35px;height:35px}.home-title{font-size:65px;letter-spacing:-3px}.home-description{font-size:15px}.home-panel{left:5%;width:40%}.score-card,.play-tips,.play-controls{width:145px}.score-card.player,.play-tips{left:24px}.score-card.cpu,.play-controls{right:24px}.score-number{font-size:60px}.player-name{font-size:21px}.opponent-avatar{width:50px;height:50px;font-size:22px}.tip-row{font-size:12px;gap:8px}.tip-row .icon{width:17px}.score-card{top:16%}.bottom-meta{gap:12px}.bottom-bar{padding:0 20px}.home-secondary{gap:7px}.home-secondary button{padding:11px;font-size:12px}.home-panel .primary-button{font-size:16px}.table-tag{font-size:10px;right:6%;top:22px}.table-tag strong{font-size:12px;letter-spacing:2px}.floor-stamp{display:none}}
@media(max-width:640px){.app-shell{min-height:620px}.topbar{height:65px;min-height:65px;padding:0 14px}.brand{gap:7px}.brand-type{font-size:13px}.brand-mark{width:30px;height:30px}.nav{margin-right:0;gap:0}.nav-button{font-size:12px;padding:0 8px;height:36px}.header-actions{margin-left:auto}.header-actions .sound-toggle{display:none}.wallet{padding:6px 9px;gap:5px;font-size:13px}.wallet .icon{width:17px;height:17px}.header-actions .icon-button{width:32px;height:32px}.home-panel{top:auto;transform:none;left:24px;right:24px;bottom:28px;width:auto;max-width:none;background:linear-gradient(0deg,#103b38 0%,#103b38f5 74%,#103b3800 100%);padding:50px 10px 0;text-align:center}.home-title{font-size:60px;line-height:.95;margin:16px 0 12px;letter-spacing:-3px}.home-title br{display:none}.home-title span{display:block}.eyebrow{justify-content:center;font-size:10px}.eyebrow:before{display:none}.home-description{max-width:100%;margin:12px 0 20px;font-size:14px;line-height:1.5}.home-panel .primary-button,.home-secondary{width:100%}.home-secondary{margin-top:15px}.home-note{justify-content:center;margin-top:15px}.table-tag{left:0;right:0;top:22px;font-size:10px}.table-tag strong{font-size:12px}.bottom-bar{height:43px;min-height:43px;font-size:10px;padding:0 16px}.bottom-meta{gap:14px}.bottom-meta .icon{width:13px;height:13px}.bottom-bar .desktop-only{display:none}.score-card{top:48px;width:83px}.score-card.player{left:16px}.score-card.cpu{right:16px}.player-label{font-size:10px;letter-spacing:.7px;gap:6px}.player-name{font-size:16px;margin-top:8px;line-height:1.15}.player-subtitle{font-size:10px;line-height:1.5}.score-number{font-size:43px;letter-spacing:-2px}.score-unit{font-size:9px}.score-line{margin-top:11px;gap:4px}.puck-rack{gap:5px;margin-top:15px}.rack-puck{width:15px;height:11px}.remaining{font-size:9px}.card-divider{margin:20px 0 10px}.turn-badge{font-size:9px;letter-spacing:.4px}.turn-badge .icon{width:12px}.opponent-avatar{width:40px;height:40px;font-size:18px;margin-top:15px}.opponent-quote{font-size:10px}.play-tips{display:none}.play-controls{right:16px;bottom:50px;width:78px}.power-head{font-size:9px;letter-spacing:.5px;gap:5px}.power-caption{font-size:9px}.pause-button{padding:8px;min-height:35px;margin-top:13px;font-size:0;gap:0}.pause-button .icon{width:16px}.instruction{bottom:8px;padding:8px 13px;gap:8px}.instruction strong{font-size:11px}.instruction small{font-size:10px}.instruction .icon{width:20px}.match-top{top:15px}.match-label{font-size:10px}.match-top .pill{display:none}.match-bottom{height:50px;min-height:50px}.match-status{font-size:11px;gap:7px}}
@media(max-height:680px) and (min-width:641px){.topbar{height:65px;min-height:65px}.bottom-bar{height:42px;min-height:42px}.home-title{font-size:65px;margin:18px 0}.home-description{margin:18px 0;font-size:14px}.home-note{margin-top:16px}.home-panel .primary-button{min-height:48px}.score-card{top:14%}.score-number{font-size:55px}.card-divider{margin:14px 0}.opponent-avatar,.opponent-quote{display:none}.play-tips{bottom:7%}.play-controls{bottom:9%}.puck-rack{margin-top:14px}.tip-row{margin-top:8px}.table-tag{top:18px}.instruction{padding:7px 14px;bottom:1px}.home-secondary{margin-top:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.results-again{padding:0;margin:0;color:var(--gold);display:flex;align-items:center;gap:9px;pointer-events:auto}
@media(max-width:640px){.game-ui .score-card{top:40px;width:135px}.game-ui .score-card.player{left:22px}.game-ui .score-card.cpu{right:22px}.game-ui .player-name{font-size:17px;margin-top:8px;max-width:80px}.game-ui .player-subtitle{font-size:9px;max-width:85px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-ui .score-line{position:absolute;right:0;top:17px;margin-top:0}.game-ui .score-number{font-size:39px}.game-ui .score-unit{display:none}.game-ui .puck-rack{margin:10px 0 7px;gap:7px}.game-ui .rack-puck{width:18px;height:12px}.game-ui .remaining{font-size:9px}.game-ui .card-divider{display:none}.game-ui .turn-badge{position:absolute;right:0;bottom:0;font-size:8px;letter-spacing:0;gap:3px}.game-ui .turn-badge .icon{width:10px}.game-ui .opponent-avatar,.game-ui .opponent-quote{display:none}.game-ui .play-controls{bottom:62px;width:62px}.game-ui .play-controls .power-caption{display:none}.game-ui .pause-button{margin-top:14px}.game-ui .instruction{bottom:10px}.game-ui .power-head{font-size:8px}}
@media(max-height:520px) and (min-width:641px){.app-shell{min-height:340px}.topbar{height:49px;min-height:49px}.brand-mark{width:29px;height:29px}.brand-type{font-size:13px}.nav-button{height:32px;font-size:11px}.header-actions .icon-button{width:30px;height:30px}.wallet{padding:5px 10px;font-size:12px}.wallet .icon{width:16px;height:16px}.bottom-bar{height:32px;min-height:32px;font-size:10px}.home-panel{top:50%;width:39%;left:7%}.home-panel .eyebrow{font-size:8px}.home-title{font-size:46px;margin:10px 0;letter-spacing:-2px}.home-description{font-size:11px;margin:10px 0;line-height:1.4}.home-description br{display:none}.home-difficulty{font-size:9px;margin:0 0 10px}.home-panel .primary-button{min-height:38px;padding:8px 15px;font-size:13px;border-radius:7px}.home-secondary{margin-top:10px}.home-secondary button{min-height:32px;padding:6px 10px;font-size:11px}.home-secondary .icon{width:15px;height:15px}.home-note{display:none}.table-tag{top:12px;font-size:8px}.table-tag strong{font-size:10px;margin-top:5px}.match-top{top:10px}.match-label{font-size:9px}.score-card{top:17%;width:150px}.score-card.player,.play-tips{left:8%}.score-card.cpu,.play-controls{right:8%}.player-label{font-size:9px}.player-name{font-size:19px;margin:7px 0}.player-subtitle{font-size:10px}.score-line{margin-top:8px}.score-number{font-size:42px}.score-unit{font-size:10px}.puck-rack{gap:9px;margin:12px 0 9px}.rack-puck{width:18px;height:13px}.remaining{font-size:10px}.card-divider{margin:15px 0 10px}.turn-badge{font-size:10px}.play-tips,.opponent-avatar,.opponent-quote{display:none}.play-controls{bottom:12px;width:150px}.power-caption{display:none}.pause-button{margin-top:10px;min-height:30px;padding:7px;font-size:11px}.pause-button .icon{width:14px;height:14px}.power-head{font-size:9px}.power-track{margin:8px 0;height:6px}.instruction{bottom:0;padding:6px 12px;gap:7px;border-radius:6px}.instruction strong{font-size:9px}.instruction small{display:none}.instruction .icon{width:15px;height:15px}.match-status{font-size:10px}.match-status .icon{width:15px;height:15px}.content-view{padding:21px 35px}.page-heading h1{font-size:32px}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:12px}.tour-pass{padding:10px 16px}.tour-pass strong{font-size:25px}.shop-wallet{padding:13px 18px 30px}.shop-wallet strong{font-size:27px}}
@media(max-width:1000px){.content-view{padding:30px 30px 25px}.page-heading h1{font-size:43px}.destination-grid{gap:16px}.destination{padding:15px 16px 0}.destination-top{font-size:8px}.city-art{height:90px}.destination-bottom h2{font-size:22px}.city-progress-track{margin:0 -16px}.opponent-grid{gap:12px}.opponent-card{padding:15px 12px}.opponent-card h3{font-size:15px}.opponent-card p{font-size:10px;min-height:28px}.shop-grid{gap:15px}.shop-card{padding:15px}.product-info h2{font-size:15px}.product-info p{font-size:10px}.buy-button{padding:7px 9px}.shop-hint{display:none}.table-grid{grid-template-columns:repeat(2,1fr)}.table-product{height:180px}.table-product img{height:175px}.tour-pass{padding:15px 20px}}
@media(max-width:640px){.topbar{flex-wrap:wrap;height:104px;min-height:104px;align-content:center;row-gap:8px}.nav{order:3;width:100%;justify-content:center;height:30px;margin:0}.nav-button{height:29px;font-size:12px;padding:0 15px}.nav-button .icon{display:block;width:14px;height:14px}.header-actions{margin-left:auto}.home-difficulty{justify-content:center;margin:0 auto 17px}.home-panel{bottom:22px;padding-top:55px}.home-title{font-size:55px}.home-note{font-size:10px}.home-description{font-size:13px;margin:11px 0 14px}.home-panel .primary-button{min-height:49px}.home-secondary{margin-top:14px}.home-secondary .secondary-button{min-height:40px}.home-panel .eyebrow{font-size:9px}.content-view{padding:25px 19px}.page-heading{gap:14px;align-items:flex-start;margin-bottom:23px}.page-heading h1{font-size:35px;letter-spacing:-1.8px;margin-top:9px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.1px}.page-heading .eyebrow:before{display:none}.page-heading p{font-size:12px;line-height:1.65;max-width:220px;margin-top:7px}.tour-pass{min-width:95px;padding:11px;transform:rotate(3deg);margin-top:5px}.tour-pass .pass-icon{display:none}.tour-pass span{font-size:7px;letter-spacing:1px}.tour-pass strong{font-size:25px}.tour-pass strong small{font-size:9px}.tour-pass div>div{font-size:8px}.destination-grid{gap:10px;display:flex;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory}.destination{min-width:225px;flex:1;scroll-snap-align:start;padding:14px 16px 0}.city-art{height:88px}.destination-top{font-size:9px}.destination-bottom h2{font-size:22px}.destination-bottom p{font-size:10px}.section-heading{margin:21px 0 16px;gap:10px}.section-heading h2{font-size:10px;letter-spacing:1.5px}.section-heading p{font-size:11px;line-height:1.6}.section-heading .pill{font-size:9px;white-space:nowrap;padding:5px 9px}.opponent-grid{grid-template-columns:repeat(2,1fr);gap:12px}.opponent-card{padding:14px}.opponent-card h3{font-size:15px}.opponent-card p{font-size:10px;min-height:15px;line-height:1.5}.opponent-card-top{font-size:8px}.rival-badge{width:44px;height:44px;font-size:19px}.tour-help{font-size:10px;align-items:flex-start;text-align:left;line-height:1.7}.tour-complete{font-size:12px;flex-wrap:wrap}.tour-complete span{margin-left:0}.shop-wallet{padding:16px 12px 30px;min-width:99px;gap:6px}.shop-wallet strong{font-size:26px}.shop-wallet .icon{width:20px;height:20px}.shop-wallet span{font-size:7px;letter-spacing:1px;bottom:11px}.shop-toolbar{margin-bottom:18px}.segmented{width:100%;justify-content:space-between;padding:4px}.segmented button{padding:9px 12px;font-size:11px;justify-content:center;flex:1;gap:6px}.segmented span{font-size:9px;margin-left:0}.shop-grid{grid-template-columns:repeat(2,1fr);gap:12px}.shop-card{padding:13px 12px}.shop-card-top{font-size:7px;letter-spacing:.8px}.equipped-tag{font-size:7px;gap:2px}.equipped-tag .icon{width:10px;height:10px}.product-art{height:112px}.product-art img{width:105px;height:90px}.product-info{flex-wrap:wrap;gap:11px;padding-top:5px}.product-info h2{font-size:14px;letter-spacing:-.3px}.product-info p{font-size:9px;line-height:1.5}.buy-button{width:100%;justify-content:center;min-height:31px;font-size:11px}.price-hint{font-size:8px;line-height:1.4;margin-top:7px}.shop-footer{font-size:9px;line-height:1.7;text-align:left;align-items:flex-start}.table-grid .shop-card{padding:13px}.table-product{height:165px}.table-product img{height:155px;width:150px}.table-grid .product-info h2{font-size:14px}.table-grid .product-info p{font-size:8px;min-height:24px}.modal-backdrop{padding:16px}.modal-card{padding:28px 24px;max-height:calc(100dvh - 32px)}.modal-card h2{font-size:30px}.modal-card:has(.result-scoreboard){padding:24px}.result-scoreboard{margin-top:15px}.result-scoreboard strong{font-size:49px}.modal-card:has(.result-scoreboard) h2{font-size:29px}.modal-card:has(.result-scoreboard) .modal-emblem{width:47px;height:47px;margin-bottom:17px}.modal-card:has(.result-scoreboard) .modal-emblem .icon{width:25px;height:25px}.reward-breakdown{margin-top:18px;padding-top:13px}.reward-total{padding:13px;margin-top:15px}.modal-card:has(.result-scoreboard) .primary-button{margin-top:18px;min-height:47px}.modal-card:has(.result-scoreboard) .secondary-button{min-height:40px;padding:10px;margin-top:13px}.modal-card .save-note{font-size:9px}.settings-rules p{font-size:11px}.difficulty-options{gap:8px}.difficulty-option{padding:14px;gap:12px}}
@media(max-width:370px){.brand-type{font-size:12px}.nav-button{padding:0 12px}.home-title{font-size:49px}.home-panel{left:15px;right:15px}.opponent-card h3{font-size:13px}.product-info h2{font-size:12px}.product-info p{font-size:9px}.shop-card-top{font-size:6px}.equipped-tag{font-size:6px}.content-view{padding:23px 15px}.tour-pass{min-width:83px;padding:9px}.page-heading h1{font-size:32px}.page-heading p{font-size:11px}.page-heading .eyebrow{font-size:7px}.section-heading .pill{display:none}}
@media(max-height:680px) and (min-width:641px){.home-difficulty{margin:-8px 0 14px}.home-note{margin-top:17px}.home-panel .eyebrow{font-size:10px}.home-title{font-size:62px;margin:15px 0}.home-description{margin:16px 0}.home-panel{top:48%}.home-secondary button{min-height:40px;padding:10px 16px}.home-note{font-size:10px}.content-view{padding-top:26px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:39px}.modal-emblem{width:52px;height:52px;margin-bottom:18px}.modal-card h2{font-size:29px}}

@media(max-height:520px) and (min-width:641px){.home-title{font-size:46px;margin:10px 0;letter-spacing:-2px}.home-panel{top:50%}.home-description{font-size:11px;margin:10px 0;line-height:1.4}.home-difficulty{font-size:9px;margin:0 0 10px}.home-panel .primary-button{min-height:38px;padding:8px 15px;font-size:13px}.home-secondary button{min-height:32px;padding:6px 10px;font-size:11px}.home-note{display:none}.home-panel .eyebrow{font-size:8px}}
