@font-face{font-family:World;src:local('Inter'),local('Arial');font-display:swap}
:root{color-scheme:dark;--bg:#0b1018;--panel:#141c27;--line:#263240;--text:#edf2f5;--muted:#8f9bab;--accent:#b8fb6c;--purple:#a89aff;--radius:22px;font-family:World,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,a{-webkit-touch-callout:none}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:3px}button:active{transform:translateY(1px)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button svg{pointer-events:none}svg{width:22px;height:22px}button{touch-action:manipulation}small{font-size:10px;letter-spacing:1.6px;font-weight:700}b,strong{font-weight:750}.topbar{height:90px;max-width:1020px;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;margin:auto}.brand{display:flex;align-items:center;gap:11px;font-size:17px;letter-spacing:2.5px;line-height:1.15;font-weight:850}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:4px;margin-top:6px}.brand-icon{position:relative;width:42px;height:42px;border:1px solid #b8fb6c55;border-radius:13px;background:linear-gradient(135deg,#263727,#101a22);display:grid;place-items:center;font-size:12px;color:var(--accent);letter-spacing:-1px}.brand-icon span{position:absolute;width:9px;height:9px;right:-3px;top:-3px;background:var(--accent);border:2px solid var(--bg);border-radius:50%}.top-actions{display:flex;gap:14px;align-items:center}.wallet{font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}.crystal{color:var(--accent);margin-right:5px;font-size:13px}.icon-btn{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:#17212d}.icon-btn svg{width:21px;height:21px;color:#c5ced6}
#content{max-width:1020px;margin:auto;padding:15px 28px 115px;min-height:calc(100dvh - 90px)}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:800}.eyebrow:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.intro{margin:5px 0 24px;display:flex;justify-content:space-between;align-items:end}.intro h1{font-size:42px;line-height:1.06;letter-spacing:-1.7px;margin-top:10px}.intro p{font-size:13px;line-height:1.6;color:var(--muted);max-width:270px;padding-bottom:3px}.home-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.feature{position:relative;overflow:hidden;min-height:382px;border:1px solid #b8fb6c35;border-radius:26px;background:radial-gradient(ellipse at 75% 25%,#2e413555,transparent 70%),linear-gradient(125deg,#172126,#10161f);display:flex;padding:26px;isolation:isolate}.feature:before{content:'';position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#84968b22 1px,transparent 1px),linear-gradient(90deg,#84968b22 1px,transparent 1px);background-size:28px 28px;z-index:-1}.feature-copy{position:relative;display:flex;flex-direction:column;align-items:start;width:52%;z-index:2}.feature .table-index{display:inline-block;font:11px ui-monospace,monospace;color:var(--accent);border:1px solid #ffffff22;padding:7px 9px;border-radius:7px}.feature h2{font-size:40px;letter-spacing:-1.5px;margin-top:37px;line-height:1}.feature .tag{font-size:8px;letter-spacing:1.5px;color:var(--accent);margin-top:10px}.feature p{font-size:12px;line-height:1.65;max-width:150px;color:#acb9c2;margin-top:12px}.feature .record{font-size:9px;color:#9ba7b2;letter-spacing:1px;margin-top:auto;padding:20px 0}.feature .record b{display:block;font-size:20px;color:#e1e9e8;margin-top:5px;letter-spacing:0}.primary{background:var(--accent);color:#152014;min-height:48px;border-radius:13px;font-size:12px;font-weight:850;letter-spacing:.7px;padding:14px 22px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 0 #111b1422}.primary svg{width:17px;height:17px}.feature .primary{width:100%}.preview-shell{position:absolute;right:5px;top:17px;width:208px;height:364px;transform:rotate(9deg);border-radius:20px;border:3px solid #68747244;box-shadow:-16px 17px 45px #0009;overflow:hidden}.preview-shell canvas{width:100%;height:100%;display:block}.side-stack{display:flex;flex-direction:column;gap:16px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.section-title h2{font-size:15px;letter-spacing:-.2px}.section-title span{color:var(--muted);font-size:10px}.table-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0 0}.table-tab{border:1px solid var(--line);border-radius:13px;background:#141c27;padding:12px 4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:#9cabb7;min-width:0}.table-tab svg{width:20px;height:20px}.table-tab.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#131c24)}.daily-card{border:1px solid #a89aff44;border-radius:22px;padding:21px;background:radial-gradient(ellipse at right top,#6050a92c,transparent),#171b2b;display:block;text-align:left;flex:1}.daily-card .daily-top{display:flex;align-items:center;justify-content:space-between;color:var(--purple);font-size:9px;letter-spacing:1.5px}.daily-card h3{font-size:23px;letter-spacing:-.7px;margin:20px 0 9px}.daily-card p{font-size:12px;color:#a6a8ba;line-height:1.7}.daily-bottom{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:22px;font-weight:800;color:#d8d0ff}.daily-bottom span:first-child{border:1px solid #ffffff18;padding:6px 9px;border-radius:7px}.tip-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:18px}.tip-card>svg{color:var(--accent);width:30px;height:30px;flex-shrink:0}.tip-card h3{font-size:12px}.tip-card p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);height:80px;width:min(100%,1020px);padding:8px 24px max(9px,env(safe-area-inset-bottom));display:flex;justify-content:space-around;gap:8px;z-index:10;background:#0b111bf5;border-top:1px solid #26313d;backdrop-filter:blur(18px)}.bottom-nav button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;color:#8794a5;font-size:10px;letter-spacing:.3px;border-radius:12px;position:relative}.bottom-nav button.active{color:var(--accent)}.bottom-nav button.active:before{content:'';position:absolute;top:-9px;left:calc(50% - 14px);width:28px;height:3px;background:var(--accent);border-radius:0 0 5px 5px}.bottom-nav svg{width:21px;height:21px}
.page-heading{padding:8px 0 22px}.page-heading h1{font-size:32px;letter-spacing:-1px;margin:10px 0}.page-heading p{font-size:13px;color:var(--muted);line-height:1.6}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ball-card{padding:18px 14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#1a2530,#111923);min-width:0}.ball-card.equipped{border-color:var(--accent)}.ball-art{height:88px;display:grid;place-items:center;position:relative}.ball-art:before{content:'';position:absolute;width:65px;height:15px;bottom:10px;border-radius:50%;background:#0008;filter:blur(6px)}.sphere{display:block;width:52px;height:52px;position:relative;border-radius:50%;background:radial-gradient(circle at 33% 25%,#fff 2%,var(--ball) 24%,var(--ball) 48%,#253243 90%);box-shadow:0 0 28px var(--glow),inset -5px -6px 10px #070f1844;border:1px solid #fff6}.sphere:after{content:'';position:absolute;width:9px;height:6px;background:#fff9;top:8px;left:13px;border-radius:50%;transform:rotate(-28deg)}.ball-card h3{font-size:13px;margin-top:9px}.ball-card p{font-size:10px;margin:7px 0 15px;color:var(--muted)}.small-btn{width:100%;min-height:41px;background:#263238;border:1px solid #ffffff20;border-radius:10px;font-size:11px;font-weight:800;padding:10px 7px}.ball-card.equipped .small-btn{background:#b8fb6c18;color:var(--accent);border-color:#b8fb6c44}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:16px;padding:17px 14px;background:#141d28}.stat strong{display:block;font-size:23px;letter-spacing:-.5px;color:var(--accent)}.stat span{display:block;margin-top:6px;color:var(--muted);font-size:10px}.records{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.record-card{border:1px solid var(--line);border-radius:17px;background:#131d28;padding:17px}.record-card h3{display:flex;align-items:center;gap:9px;font-size:13px;margin-bottom:14px}.record-card ol{margin:0;padding-left:25px;color:var(--muted);font-size:11px;line-height:2}.record-card li span{float:right;color:#dbe4ea;font-variant-numeric:tabular-nums}.record-card>p{font-size:11px;color:var(--muted)}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.achievement{display:flex;gap:13px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#141d28}.achievement.unlocked{border-color:#b8fb6c44;background:#b8fb6c09}.achievement .medal{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #ffffff13;border-radius:13px;background:#21303d;color:#768798}.achievement.unlocked .medal{background:#b8fb6c18;color:var(--accent)}.achievement h3{font-size:12px}.achievement p{font-size:10px;line-height:1.5;color:var(--muted);margin:5px 0}.achievement .track{height:3px;border-radius:10px;background:#2a3442;margin-top:8px}.track i{display:block;height:100%;background:var(--accent);border-radius:inherit}.achievement .count{font-size:9px;color:var(--muted);margin-top:5px}.secondary{background:#202c39;color:#e2e9ef;border:1px solid #364352;min-height:46px;border-radius:12px;font-size:12px;font-weight:700;padding:12px 18px}.text-btn{background:transparent;color:var(--muted);padding:12px;min-height:44px;font-size:12px}.modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:23px}
dialog{border:1px solid #3b4855;border-radius:25px;padding:26px;background:#141e2a;color:var(--text);width:min(420px,calc(100% - 30px));max-height:calc(100dvh - 35px);overflow:auto;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#040911ce;backdrop-filter:blur(6px)}dialog h2{font-size:28px;letter-spacing:-.7px;margin:12px 0}dialog .eyebrow{font-size:9px}dialog p{font-size:13px;line-height:1.65;color:#aebbc7}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head .icon-btn{width:34px;height:34px;border-radius:10px}.how-list{list-style:none;padding:0;margin:20px 0}.how-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5;color:#aebbc7}.how-list b{color:#fff}.how-list svg{color:var(--accent);flex-shrink:0}.setting-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.setting-row b{font-size:13px}.setting-row p{font-size:10px;margin-top:4px;line-height:1.5}.toggle{width:44px;height:26px;border-radius:20px;background:#3a4653;padding:3px;flex-shrink:0}.toggle i{display:block;width:20px;height:20px;background:#abb9c5;border-radius:50%}.toggle[aria-checked=true]{background:var(--accent)}.toggle[aria-checked=true] i{margin-left:18px;background:#1e3221}.result-score{font-size:43px;font-variant-numeric:tabular-nums;font-weight:850;letter-spacing:-1.5px;margin:22px 0 8px;color:var(--accent)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.result-stats>div{padding:12px 8px;background:#0c1621;border-radius:12px;text-align:center}.result-stats b{font-size:17px;display:block}.result-stats small{font-size:8px;letter-spacing:.4px;color:var(--muted);display:block;margin-top:7px}.badge{display:inline-flex;align-items:center;gap:7px;background:#b8fb6c14;border:1px solid #b8fb6c33;padding:8px 11px;border-radius:9px;font-size:10px;color:var(--accent)}.save-error{padding:12px;border-radius:10px;border:1px solid #ff8f9c66;background:#ff8f9c11;font-size:12px;color:#ffb4bd;margin-top:13px}.new-award{font-size:11px;color:var(--accent);line-height:1.7;margin:12px 0}.legal{font-size:11px!important;line-height:1.7!important}.legal h3{font-size:14px;margin:16px 0 6px}.legal p{font-size:11px}#toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,15px);background:#25373a;color:#e6f5dc;border:1px solid #b8fb6c55;padding:13px 18px;border-radius:13px;font-size:12px;max-width:calc(100% - 28px);width:max-content;text-align:center;opacity:0;transition:.2s;pointer-events:none;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}
body.playing{overflow:hidden;touch-action:none}#game{height:100vh;height:100dvh;height:100svh;max-width:530px;margin:auto;display:flex;flex-direction:column;padding:0 10px;background:radial-gradient(ellipse at top,#202e2e44,transparent 50%)}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px 10px;flex-shrink:0;height:73px}.game-hud small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.5px;margin-bottom:5px}.game-hud strong{display:block;font-size:27px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1}.game-best{margin-left:auto;text-align:right}.game-best b{font-size:13px;font-variant-numeric:tabular-nums}.game-best span{font-size:8px;color:var(--muted);display:block;margin-top:4px;letter-spacing:.7px}.game-hud .icon-btn{width:40px;height:40px}.mission-panel{height:61px;flex-shrink:0;display:flex;align-items:center;gap:10px;position:relative;padding:9px 12px 13px;background:#17212b;border:1px solid #303d47;border-radius:13px;overflow:hidden}.mission-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#b8fb6c0f;color:var(--accent)}.mission-icon svg{width:17px;height:17px}.mission-panel small{color:var(--accent);font-size:7px;letter-spacing:1.2px;display:block;margin-bottom:3px}.mission-panel b{font-size:12px;display:block}.mission-panel #mission-help{color:var(--muted);font-size:9px;display:block;margin-top:2px}.mission-count{margin-left:auto;color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}.mission-track{height:3px;background:#25333c;position:absolute;bottom:0;left:0;right:0}.mission-track i{display:block;background:var(--accent);height:100%;transition:width .2s}.board-space{flex:1;min-height:0;position:relative;display:flex;justify-content:center;align-items:center;padding:6px 0}.board-frame{position:relative;max-width:100%;max-height:100%;border-radius:15px;overflow:hidden;border:1px solid #46535a88;box-shadow:0 5px 35px #0008}#board{display:block;width:100%;height:100%;touch-action:none}#table-message{position:absolute;top:12px;left:8%;right:8%;background:#101a24e8;border:1px solid #b8fb6c44;padding:9px 5px;border-radius:9px;font-size:9px;letter-spacing:.8px;color:var(--accent);text-align:center;pointer-events:none;opacity:0;transition:opacity .2s}#table-message.visible{opacity:1}.ready-label{position:absolute;top:61%;left:10%;right:10%;text-align:center;background:#101823eb;padding:12px 6px;border:1px solid #b8fb6c44;border-radius:12px;pointer-events:none}.ready-label span{display:block;font-size:8px;color:var(--accent);letter-spacing:1.3px}.ready-label b{display:block;font-size:11px;margin-top:7px}.play-controls{height:66px;flex-shrink:0;display:flex;gap:9px;padding:2px 2px 0;touch-action:none;user-select:none}.flipper-pad{flex:1;background:linear-gradient(180deg,#283740,#1b2731);border:1px solid #435258;border-bottom:3px solid #3c5145;border-radius:15px;color:var(--accent);touch-action:none;user-select:none}.flipper-pad span{font-size:23px;line-height:1.1;display:block}.flipper-pad small{font-size:7px;letter-spacing:1.1px;color:#afbdc4;display:block;margin-top:4px}.flipper-pad.down{background:var(--accent);color:#183020;border-color:var(--accent);transform:translateY(2px)}.flipper-pad.down small{color:#183020}.launch-pad{width:86px;flex-shrink:0;position:relative;overflow:hidden;border-radius:15px;border:1px solid #b8fb6c55;background:#b8fb6c15;color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.3px;touch-action:none}.launch-pad i{position:absolute;bottom:0;left:0;background:#b8fb6c44;height:100%;width:0;pointer-events:none}.launch-pad span{position:relative;z-index:1}.launch-pad.nudge{background:#1c2232;border-color:#444254;color:#b7abc9;font-size:8px}.control-caption{height:27px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:7px;color:#7d8c99;letter-spacing:1px}
@media(max-width:680px){.topbar{height:77px;padding:14px 21px}.top-actions{gap:12px}#content{padding:12px 21px 104px;min-height:calc(100dvh - 77px)}.intro{margin:1px 0 20px;display:block}.intro h1{font-size:35px}.intro p{display:none}.home-layout{display:block}.feature{min-height:322px;padding:22px}.feature h2{font-size:35px;margin-top:26px}.feature .tag{font-size:7px;max-width:125px;line-height:1.7}.feature p{font-size:11px;max-width:126px}.feature .record{padding:14px 0}.feature .record b{font-size:18px}.feature .primary{font-size:10px;padding:12px 9px;min-height:44px}.preview-shell{width:176px;height:308px;right:0;top:12px}.feature-copy{width:51%}.side-stack{gap:12px;margin-top:20px}.daily-card{padding:17px 19px}.daily-card h3{font-size:20px;margin:12px 0 7px}.daily-card p{font-size:11px;line-height:1.5}.daily-bottom{margin-top:14px}.tip-card{padding:15px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:10px}.achievement-grid{grid-template-columns:1fr}.stats-grid{gap:7px}.stat{padding:14px 10px}.stat strong{font-size:21px}.stat span{font-size:9px}.records{gap:9px}.record-card{padding:13px}.bottom-nav{height:75px;padding-left:18px;padding-right:18px}.table-tab{padding:10px 3px;font-size:9px}.table-tabs{gap:7px}.page-heading h1{font-size:29px}}
@media(max-width:350px){.topbar{padding-left:15px;padding-right:15px}.brand{font-size:14px;gap:8px}.brand-icon{width:36px;height:36px}.top-actions{gap:8px}.wallet{font-size:12px}#content{padding-left:15px;padding-right:15px}.intro h1{font-size:30px}.feature{padding:18px;min-height:306px}.feature h2{font-size:31px}.preview-shell{width:158px;height:277px;right:-3px;top:15px}.feature p{max-width:112px}.feature .primary{font-size:9px;gap:6px}.feature .record{padding:10px 0}.game-hud strong{font-size:22px}.mission-panel{padding-left:9px}.mission-panel #mission-help{font-size:8px}.launch-pad{width:72px}.collection-grid{gap:8px}.ball-card{padding:14px 11px}}
@media(max-height:640px){#game .game-hud{height:62px;padding-top:7px;padding-bottom:7px}#game .mission-panel{height:54px}#game .play-controls{height:56px}#game .control-caption{height:22px}.ready-label{padding:8px 4px}.ready-label span{font-size:6px}.ready-label b{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* 1.0.7: keep the table tall and separate thumb controls from the playfield. */
@media(orientation:landscape) and (max-height:600px) and (min-width:640px){
 #game{max-width:1100px;height:100dvh;display:grid;grid-template-columns:minmax(150px,1fr) minmax(165px,53dvh) minmax(170px,1fr);grid-template-rows:1fr auto auto;gap:12px;padding:12px}
 #game .game-hud{grid-column:1;grid-row:1;height:auto;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:16px;border:0}
 #game .game-hud>div:first-child{width:100%;text-align:center}#game .game-hud #score{font-size:30px}
 #game .mission-panel{grid-column:1;grid-row:2;height:auto;min-height:74px;padding:10px 8px;margin:0}
 #game .mission-icon{display:none}#game .mission-panel>div{min-width:0}#game #mission-help{white-space:normal;line-height:1.4}
 #game .board-space{grid-column:2;grid-row:1/4;min-height:0;height:100%;width:100%}
 #game .play-controls{grid-column:3;grid-row:1/4;align-self:center;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0}
 #game .flipper-pad{height:105px;min-width:0}#game #left-flipper{grid-column:1;grid-row:1}#game #right-flipper{grid-column:2;grid-row:1}
 #game .launch-pad{grid-column:1/3;grid-row:2;height:68px;width:100%}
 #game .control-caption{grid-column:1;grid-row:3;height:auto;display:flex;flex-wrap:wrap;gap:6px;padding:5px;font-size:9px}
 #game .ready-label{font-size:8px}#game .ready-label b{font-size:10px}
}

/* Pinball World Tour: the table remains the focus. */
.tour-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.tour-hero .feature{min-height:455px}.tour-hero .feature h2{font-size:34px;line-height:1.06;margin-top:22px;max-width:245px}.tour-hero .feature-copy{width:55%}.tour-hero .preview-shell{top:36px;right:-14px;width:224px;height:392px;transform:rotate(8deg)}.tour-hero .feature .feature-rule{font-size:11px;color:#d7e6db;border-left:2px solid var(--accent);padding-left:9px;max-width:200px}.mode-panel{border:1px solid var(--line);border-radius:24px;padding:20px;background:var(--panel)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.mode-card{text-align:left;border:1px solid var(--line);padding:13px 10px;border-radius:12px;background:#17232d;min-height:66px}.mode-card b{display:block;font-size:12px}.mode-card small{display:block;letter-spacing:0;font-size:9px;color:var(--muted);line-height:1.5;margin-top:5px}.mode-card.active{border-color:var(--accent);background:#b8fb6c14}.mode-description{font-size:11px;line-height:1.6;color:var(--muted);min-height:55px}.tour-highlights{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin:20px 0 30px}.tour-highlights .daily-card h3{font-size:20px;margin:12px 0}.tour-note{padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(130deg,#19313655,#181d2c)}.tour-note h3{font-size:21px;margin:13px 0}.tour-note p{font-size:12px;color:var(--muted);line-height:1.7}.table-filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.table-filters button{padding:10px 15px;border-radius:25px;border:1px solid var(--line);background:var(--panel);font-size:11px;min-height:40px}.table-filters button.active{background:var(--accent);color:#17241b;border-color:transparent}.tour-tables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.tour-table{overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:19px;background:var(--panel);padding:0;min-width:0}.tour-table.active{border-color:var(--table-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--table-color) 24%,transparent)}.table-thumbnail{height:218px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--table-color) 25%,#11202a),#0d1520)}.table-thumbnail canvas{width:143px;height:250px;position:absolute;left:50%;top:12px;transform:translateX(-50%) rotate(6deg);border:2px solid #ffffff33;border-radius:15px;box-shadow:0 12px 30px #0009;transition:transform .2s}.tour-table:hover canvas{transform:translateX(-50%) rotate(0) translateY(-5px)}.table-thumbnail>span,.table-thumbnail>b{position:absolute;z-index:1;font-size:9px;background:#0c1726e8;color:#edf7ff;border:1px solid #a5bcd155;border-radius:20px;padding:5px 8px;left:10px;top:10px}.table-thumbnail>b{left:auto;right:8px;color:#d9fdbb;font-size:8px}.table-card-copy{padding:14px;background:var(--panel);position:relative}.table-card-copy strong{font-size:12px;display:block;line-height:1.5}.table-card-copy small{font-size:10px;letter-spacing:0;color:var(--muted);display:block;margin:7px 0;line-height:1.4;min-height:29px}.table-card-copy>span{font-size:8px;color:var(--muted);letter-spacing:.5px}.cup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cup-card{border:1px solid var(--line);padding:24px;border-radius:22px;background:radial-gradient(ellipse at right top,#ccb5ff16,transparent),var(--panel)}.cup-card .eyebrow{color:var(--cup)}.cup-card h2{font-size:23px;line-height:1.15;margin:14px 0}.cup-card p,.local-tournament p,.event-progress>p{color:var(--muted);font-size:12px;line-height:1.6}.cup-emblem{width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--cup);border-radius:19px;color:var(--cup);margin-bottom:19px;background:#ffffff09}.cup-emblem svg{width:37px;height:37px}.cup-route{font-size:10px;line-height:1.8;color:var(--muted);margin:16px 0;min-height:36px}.cup-footer{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:16px 0;color:var(--cup)}.cup-rules{margin:17px 0 25px;color:var(--muted)}.local-tournament{border:1px solid var(--line);padding:24px;border-radius:22px;display:flex;flex-wrap:wrap;align-items:end;gap:18px;background:var(--panel)}.local-tournament>div{flex:1 1 100%}.local-tournament h2{margin:12px 0;font-size:24px}.local-tournament label{font-size:12px;flex:1;min-width:160px}.local-tournament select{display:block;width:100%;margin-top:8px}.event-progress{padding:22px;background:var(--panel);border:1px solid var(--accent);border-radius:20px;margin:12px 0 24px}.event-progress h2{font-size:23px;margin:12px 0}.stage-list{list-style:none;padding:0;margin:17px 0}.stage-list li{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.stage-list small{grid-column:1/-1;color:var(--muted);letter-spacing:0;font-size:10px}.event-medal{display:flex;align-items:center;gap:10px;color:var(--accent);font-weight:800;margin-top:16px}.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:16px}.item-card{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:18px}.item-card h3{font-size:14px;margin:12px 0}.item-card p{color:var(--muted);font-size:11px;line-height:1.6;min-height:56px;margin-bottom:14px}.item-symbol svg{width:36px;height:36px}.mission-guide{padding-left:20px}.mission-guide li{padding:13px 0;border-bottom:1px solid var(--line)}.mission-guide b,.mission-guide span,.mission-guide small{display:block;font-size:12px;line-height:1.7}.mission-guide span,.mission-guide small{color:var(--muted);letter-spacing:0}.tour-status{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:28px;font-size:9px;color:var(--muted);flex-shrink:0;padding:4px 5px}.tour-status button{padding:5px 9px;border-radius:7px;color:var(--accent);border:1px solid var(--line);background:var(--panel);font-size:9px;min-height:28px}select{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit;max-width:100%}.ball-art canvas{width:90px;height:88px;position:relative;z-index:1}
@media(max-width:800px){.tour-hero{grid-template-columns:1fr}.tour-hero .feature{min-height:410px}.tour-hero .preview-shell{right:24px;top:20px;width:211px;height:370px}.tour-hero .feature-copy{width:55%}.mode-grid{grid-template-columns:repeat(4,1fr)}.tour-tables{grid-template-columns:repeat(3,minmax(0,1fr))}.table-thumbnail{height:200px}.tour-highlights{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tour-hero .feature{min-height:405px;padding:18px}.tour-hero .feature h2{font-size:29px;max-width:180px}.tour-hero .feature-copy{width:55%}.tour-hero .preview-shell{width:165px;height:289px;right:-18px;top:55px}.tour-hero .feature p{max-width:160px}.tour-hero .feature .feature-rule{font-size:10px;max-width:165px}.tour-hero .feature .primary{font-size:10px;letter-spacing:0}.mode-panel{padding:17px}.mode-grid{grid-template-columns:1fr 1fr}.tour-highlights{grid-template-columns:1fr}.tour-note{display:none}.tour-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-thumbnail{height:180px}.table-thumbnail canvas{width:128px;height:224px}.table-card-copy{padding:11px}.table-card-copy strong{font-size:11px}.table-card-copy small{min-height:42px}.table-thumbnail>span{font-size:8px}.table-thumbnail>b{top:36px;right:8px}.cup-grid{grid-template-columns:1fr}.item-grid{grid-template-columns:1fr}.item-card{display:grid;grid-template-columns:42px 1fr;gap:10px}.item-card h3{margin:0;align-self:center}.item-card p,.item-card button{grid-column:1/-1;min-height:0;margin:0}.table-filters{gap:6px}.table-filters button{padding:8px 12px}.bottom-nav{padding-left:8px;padding-right:8px}.bottom-nav button{font-size:9px}.tour-status{font-size:8px}.tour-status span{max-width:65%;line-height:1.3}}
@media(orientation:landscape) and (max-height:600px) and (min-width:640px){#game .tour-status{grid-column:3;grid-row:3;align-self:end;flex-wrap:wrap;z-index:2}#game .play-controls{grid-row:1/3}#game .tour-status span{width:100%}}

/* The collection settings button floats at the upper right. Leave a separate
   touch target for native pause on narrow screens. */
@media(max-width:600px){
 html[data-world-game=pinball] body.playing #game .game-hud{padding-right:60px}
}
