@font-face{font-family:PBA CJK;src:url(/fonts/pba-cjk.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+2000-2FFF,U+3000-9FFF,U+F900-FAFF,U+FF00-FFEF}:root{--pba-bg:#0d1714;--pba-panel:#13211b;--pba-gold:#c7a66b;--pba-cream:#f1e7ce;--pba-muted:#b0b9ab;--pba-line:#b59a5c45;--accent:#d1b779;--muted:#b0b9ab;--line:#b59a5c35;color-scheme:dark}body{background:var(--pba-bg);color:var(--pba-cream);font-family:PBA CJK,-apple-system,system-ui,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #e7cb8c;outline-offset:3px}.masthead,.club-nav,body>header{border-color:var(--pba-line)}.wordmark,.club-brand,.brand{font-family:Georgia,Songti SC,serif;font-style:normal;letter-spacing:.035em;color:#e4c58a;font-weight:600}.wordmark span,.club-brand span{color:var(--pba-muted);font-family:inherit;letter-spacing:.1em}.games{padding:5px;border-color:var(--pba-line);border-radius:9px;background:#101b16}.games button{border-radius:6px;color:#bfc8b9}.games button.active{background:#354437;color:#f5e7c5;box-shadow:inset 0 0 0 1px #ad93544d}.stage{border:1px solid #b59a5c50;box-shadow:0 12px 36px #0004;border-radius:16px;background:#141b18}.stage-top,.stage-bottom{color:#d8decf}.stage-top #table-label{font-size:10px;letter-spacing:.14em;color:#e4d3ab}.stage-bottom{padding:5px 8px;border-radius:7px;background:#0d1714b8;left:10px;right:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.stage-bottom #fullscreen,.screen-button{color:#e7d5ab;border-color:#baa16c55;background:#0d1714b8;border-radius:6px}.scoreboard,.scoreboard.room-scoreboard{background:#102019;border-color:var(--pba-line);border-bottom:1px solid #b99959b3;box-shadow:0 4px 16px #0002;color:var(--pba-cream)}.scoreboard strong,.scoreboard .player-points{color:#f3e9ce;font-weight:650;font-variant-numeric:tabular-nums}.scoreboard span,.scoreboard small{color:#bac5b4}.scoreboard:not(.room-scoreboard):before{content:"PBA";font:600 24px Georgia,serif;letter-spacing:.025em;color:#dfbd7f;padding-right:12px;border-right:1px solid #b59a5c55}.scoreboard .score-main strong{font-size:28px;letter-spacing:.025em}.scoreboard .score-main small{color:#dbbf87}.player-card{background:#172a21;border-color:#b59a5c33;border-radius:10px;box-shadow:none}.player-card.is-turn{background:#273c2c;border-color:#c3a167;box-shadow:inset 3px 0 #dbc28a}.scoreboard .player-name{color:#f5ecd5;font-weight:600}.scoreboard .is-turn .player-state{color:#ead49d}#aim-controls,#shot-controls{background:#172820;border:1px solid #526052;border-radius:12px;box-shadow:none;padding:16px;gap:9px 16px;grid-template-columns:minmax(0,1fr) 120px}#aim-controls .power-section h3,#shot-controls .power-section{font-size:14px;font-weight:600;color:#eee3ca;letter-spacing:.02em}#power-output,#power-out{font-size:28px;font-weight:650;color:#f3e8c9;letter-spacing:-.025em}#shoot-button,#shot-controls #shoot{background:#efe3c6;color:#13271b;border:1px solid #fff0d0;border-radius:12px;box-shadow:none;font-size:20px;letter-spacing:.025em;font-weight:800;min-height:68px;height:68px}#shoot-button:hover:not(:disabled),#shot-controls #shoot:hover:not(:disabled){background:#fff1d3}#shoot-button:active:not(:disabled),#shot-controls #shoot:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 0 0 2px #c0ab7d66}input[type=range]{accent-color:#d9bb7a;cursor:pointer}#aim-controls input[type=range],#shot-controls input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;min-width:0}#aim-controls input[type=range]::-webkit-slider-runnable-track,#shot-controls input[type=range]::-webkit-slider-runnable-track{height:8px;background:#455046;border:1px solid #a38f64;border-radius:8px}#aim-controls input[type=range]::-webkit-slider-thumb,#shot-controls input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:23px;height:23px;margin-top:-9px;background:#dfc28b;border:2px solid #f0dbad;border-radius:50%;box-shadow:0 2px 5px #0006}#aim-controls input[type=range]::-moz-range-track,#shot-controls input[type=range]::-moz-range-track{height:6px;background:#455046;border:1px solid #a38f64;border-radius:8px}#aim-controls input[type=range]::-moz-range-thumb,#shot-controls input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#dfc28b;border:2px solid #f0dbad;border-radius:50%}#aim-controls .tip-section,#shot-controls .tip-area,#aim-controls .elevation-section,#shot-controls .elevation-section{border-top-color:#ba9b5c40;padding-top:12px}#tip-control,#shot-controls #tip-pad,.tip-loupe-ball{background:#e4dfcb url(/art/pba/cue-control.webp) center/112% no-repeat;box-shadow:0 3px 12px #0004,inset 0 0 0 1px #fff7}#tip-control,#shot-controls #tip-pad{width:80px;height:80px;flex-basis:80px}#tip-marker,#tip-dot,.tip-loupe-ball b{background:#284e3d;border-color:#fff7e3;box-shadow:0 0 0 1px #385a43}#aim-controls .tip-section p,#shot-controls #tip-text{font-size:13px;color:#e5dfc9}#aim-controls #tip-reset,#shot-controls #tip-reset{font-size:11px;color:#c0c4b4;min-height:28px}#aim-controls .elevation-section h3,#shot-controls .elevation-section{color:#c7cbbb;font-size:12px}#aim-controls #ghost-toggle,#shot-controls #ghost-toggle{color:#aeb9a7;font-size:11px}#ghost-toggle[aria-pressed=true]:after{background-color:#9a8f64}.tip-loupe{background:#14261ff5;border-color:#d6b77a;box-shadow:0 12px 40px #0009}.steps{border-color:var(--pba-line)}.steps button.active{border-color:#d2b778;color:#f0e6c6}.utility-actions button,.views button,.view-switch button{color:#b9c4b2;border:1px solid #b59a5c40;border-radius:7px;background:#13231b}.views button.active,.view-switch button.active{color:#f0e4c1;background:#304331;border-color:#bda36e}#layout-controls .presets button{background:#19291f;border-color:#b59a5c40;border-radius:10px}#layout-controls .presets button.selected{border-color:#c6a76e;background:#263a2a}#enter-aim,.primary,#create,.gold-button{background:#e7d4a6;color:#192b20;border-radius:10px;border:1px solid #f0dfb8}#challenge-menu,#ai-settings,dialog,.help-dialog{background:#14251d;color:#f1e7ce;border:1px solid #b69b65;border-radius:18px;box-shadow:0 20px 70px #0009}dialog::backdrop{background:#050d0bba;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}#challenge-menu h2,#ai-settings h2{font:500 28px Georgia,Songti SC,serif;color:#efdcb0}#challenge-chapter,dialog select,dialog input{background:#203328;color:#eee4cb;border:1px solid #b59a5c55;border-radius:8px}#challenge-menu button,#challenge-bar button,#ai-settings button{background:#2c4030;color:#eee4cb;border-color:#b59a5c60}#challenge-menu button[aria-pressed=true],#ai-start{background:#e5d0a0;color:#1a2d20}.challenge-levels button{min-height:72px;border-radius:10px}#challenge-status{color:#dbc48f}#challenge-lesson{color:#b5c0ae}.toast,#shot-result{background:#f0e8d5f5;color:#1e3025;border-color:#d2b77f;box-shadow:0 8px 24px #0005}.chat-message{border-color:#b59a5c33}#room-chat{background:#13231b;border-color:#b59a5c45;border-radius:12px}.chat-heading{border-color:#b59a5c40}.chat-form button{background:#dfc58e;color:#19271e}#lobby{background:#13231c;border:1px solid #b59a5c60;border-radius:18px;padding:30px;box-shadow:0 16px 50px #0004}#lobby h1{font-family:Georgia,Songti SC,serif;font-weight:500;color:#efe4c9}#lobby input,#lobby select,body:has(#account) input,body:has(#account) select{background:#102019;border-color:#b59a5c55;color:#f0e6cc}body:has(#account) .panel{background:#17281f;border-color:#b59a5c55;box-shadow:0 8px 28px #0003}body:has(#account) button:not(.secondary):not(.danger),body:has(#account) .button{background:#e2c995;color:#1a2c20}body:has(#account) button.secondary{background:#293e2f;color:#eee4cc}body:has(#account) button.danger{background:#472d29;color:#f0c0ab}body:has(#account) .eyebrow,body:has(#account) .muted{color:#bfc8b6}body:has(#account) .row{border-color:#b59a5c40}.club-nav{height:88px}.club-brand{font-size:40px}.nav-room,.member-link,.outline-button{color:#d9d9c2;border-color:#b59a5c60}.club-hero{min-height:620px}.club-kicker,.hero-modes,.choice-kicker{color:#c5b17c}.hero-description,.play-choice p:last-child{color:#b3bfad}.club-hero h1{color:#f0e5cb}.club-hero h1 span{color:#dbbd7f}.hero-table{border-radius:18px;border:1px solid #ad935444;background:#171d19;box-shadow:0 18px 50px #0005}.hero-table:after{background:none}.table-fallback{background:#17251b url(/art/pba/art-eight.webp) center/cover no-repeat;opacity:.4}.fallback-ball{display:none}.table-caption{background:#102019da;padding:16px;border:1px solid #b59a5c45;border-radius:9px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.play-choices,.play-choice+.play-choice{border-color:#b59a5c45}.choice-index,.choice-arrow{color:#d4b67b}.club-footer{color:#9fae9a}.club-footer a{color:#d1b77e}@media(max-width:760px)and (orientation:portrait){.scoreboard{min-height:74px;padding:10px 12px;gap:12px}.scoreboard:not(.room-scoreboard):before{font-size:21px;padding-right:9px}.scoreboard .score-main strong{font-size:23px}.scoreboard span,.scoreboard small{font-size:10px}#aim-controls,#shot-controls{padding:12px 13px;gap:7px 13px;grid-template-columns:minmax(0,1fr) 108px;border-radius:15px}#power-output,#power-out{font-size:26px}#aim-controls #shoot-button,#shot-controls #shoot{height:60px;min-height:60px;font-size:19px}#aim-controls .tip-section,#shot-controls .tip-area,#aim-controls .elevation-section,#shot-controls .elevation-section{padding-top:8px}#tip-control,#shot-controls #tip-pad{width:72px;height:72px;flex-basis:72px}#aim-controls .tip-section p,#shot-controls #tip-text{font-size:12px}body[data-mode=aim] .stage,body.in-match .stage{border-radius:10px}body[data-mode=aim] .steps button{border-color:#b59a5c45}.scoreboard.room-scoreboard{padding:7px 8px;gap:5px 12px;min-height:0}.scoreboard .player-points{font-size:27px}#challenge-bar{gap:6px}#challenge-status{font-size:12px}#challenge-lesson{font-size:11px;line-height:1.4}#lobby{padding:23px 19px;margin:20px auto}.club-nav{height:76px}.club-brand{font-size:32px}.club-hero{min-height:0}.hero-table{border-radius:14px}}@media(max-width:760px)and (max-height:700px)and (orientation:portrait){.scoreboard{min-height:65px;padding:7px 10px}.scoreboard .score-main strong{font-size:20px}#aim-controls,#shot-controls{padding:8px 10px;gap:5px 10px;grid-template-columns:minmax(0,1fr) 96px}#aim-controls #shoot-button,#shot-controls #shoot{height:48px;min-height:48px;font-size:17px}#aim-controls .tip-section,#shot-controls .tip-area,#aim-controls .elevation-section,#shot-controls .elevation-section{padding-top:5px}#tip-control,#shot-controls #tip-pad{width:56px;height:56px;flex-basis:56px}#power-output,#power-out{font-size:22px}.scoreboard.room-scoreboard{min-height:0}.scoreboard .player-points{font-size:22px}}@media(prefers-reduced-motion:reduce){button,a{transition:none!important}}@media(max-width:760px)and (orientation:portrait){body[data-mode=aim] .utility-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;height:32px;min-height:32px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}body[data-mode=aim] .utility-actions>*{flex-shrink:0}body[data-mode=aim] .utility-actions::-webkit-scrollbar{display:none}body[data-mode=aim] .utility-actions button{white-space:nowrap}body[data-mode=aim] .utility-actions .language-toggle{width:112px;min-width:112px}}.hero-picture{width:100%;height:100%;display:block;object-fit:cover;object-position:52% 50%}.club-hero .hero-table{height:480px}@media(max-width:580px){.club-hero .hero-table{height:250px}.hero-copy{padding-top:30px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-actions a{padding:14px 12px;font-size:12px}.hero-modes{font-size:10px}.table-caption{bottom:16px;left:16px;padding:12px}.table-caption strong{font-size:11px}}.scoreboard.has-seats{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:5px 18px;padding:10px 16px}.scoreboard.has-seats:before{display:none}.has-seats .score-main{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.scoreboard.has-seats>.solo-seats{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;text-align:left}.solo-seat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;border-bottom:1px solid #b59a5c30;padding:0 0 7px;min-width:0;align-items:center}.solo-seat.is-turn{border-bottom:2px solid #cfaf71}.solo-seat .solo-name{font-size:13px;color:#f0e4c9;font-weight:600;overflow-wrap:anywhere}.solo-seat .solo-points{font-size:30px;grid-column:2;grid-row:1/3}.solo-seat .solo-group{font-size:10px;line-height:1.4;color:#b7c4ae}.scoreboard .score-brand{position:absolute;left:50%;top:19px;transform:translate(-50%);color:#dfbd7f;font:600 23px Georgia,serif;letter-spacing:.035em}.has-seats>div:has(>[data-score=current]){grid-column:2;flex-direction:row;align-items:center;gap:8px}.has-seats>div:has(>[data-score=highest]){grid-column:3;flex-direction:row;align-items:center;gap:8px}.has-seats>div:has(>[data-score=current]) strong,.has-seats>div:has(>[data-score=highest]) strong{font-size:13px}body[data-challenge] .scoreboard.has-seats{display:flex}body[data-challenge] .has-seats .solo-seats,body[data-challenge] .has-seats .score-brand{display:none}body[data-challenge] .has-seats .score-main{position:static;width:auto;height:auto;overflow:visible;clip-path:none}body[data-challenge] .scoreboard.has-seats:before{display:block}body[data-challenge] .has-seats>div:has(>[data-score=current]),body[data-challenge] .has-seats>div:has(>[data-score=highest]){flex-direction:column;gap:3px}body[data-challenge] .has-seats>div strong[data-score=current],body[data-challenge] .has-seats>div strong[data-score=highest]{font-size:21px}@media(max-width:760px){.scoreboard.has-seats{padding:8px 12px;gap:4px 12px}.scoreboard.has-seats>.solo-seats{gap:54px}.solo-seat{gap:2px 7px}.solo-seat .solo-name{font-size:12px}.solo-seat .solo-points{font-size:27px}.scoreboard .score-brand{font-size:20px;top:15px}}#fullscreen img{width:19px;height:19px;display:block;filter:invert(.85) sepia(.3)}.language-toggle{font-family:PBA CJK,system-ui,sans-serif!important}.club-hero h1,.play-choice h2,#lobby h1,dialog h2{font-family:PBA CJK,Georgia,Songti SC,serif}.wordmark span,.club-brand span{font-family:PBA CJK,system-ui,sans-serif}.utility-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px}.utility-actions button{flex:0 0 auto;white-space:nowrap;padding:8px 10px;min-height:34px}.utility-actions .language-toggle{flex:0 0 auto;width:140px;max-width:100%;min-height:34px}#aim-controls .section-label h3,#shot-controls .power-section,#aim-controls .tip-section p,#aim-controls #tip-reset,#shot-controls #tip-text,#shot-controls #tip-reset{white-space:nowrap}#power-output,#power-out{flex-shrink:0}#aim-controls .section-label{gap:6px}@media(min-width:761px),(orientation:landscape){.workspace{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.workspace .panel{padding-left:0;min-width:0}#aim-controls,#shot-controls{grid-template-columns:minmax(0,1fr) 108px;padding:14px;gap:9px 12px}#tip-control,#shot-controls #tip-pad{width:68px;height:68px;flex-basis:68px}#aim-controls .tip-section,#shot-controls .tip-area{gap:8px}#aim-controls .tip-section p,#shot-controls #tip-text{font-size:12px}#aim-controls #tip-reset,#shot-controls #tip-reset{font-size:10px}#aim-controls .power-section h3{font-size:13px}#power-output,#power-out{font-size:24px}}@media(max-width:1100px)and (orientation:landscape){.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:16px;padding:16px 2%}.game-grid{grid-template-columns:minmax(0,1fr) 310px!important}.game-grid>aside{padding:0}#aim-controls,#shot-controls{grid-template-columns:minmax(0,1fr) 100px;padding:12px;gap:8px}#tip-control,#shot-controls #tip-pad{width:60px;height:60px;flex-basis:60px}#aim-controls .elevation-section h3,#shot-controls .elevation-section{font-size:11px}}@media(max-height:600px)and (orientation:landscape){body[data-mode=aim]{height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}body[data-mode=aim] .masthead{display:none}body[data-mode=aim] .scoreboard{padding:6px 14px;min-height:52px}body[data-mode=aim] .workspace{display:grid;flex:1;min-height:0;width:100%;margin:0;padding:8px 12px;grid-template-columns:minmax(0,1fr) 310px}body[data-mode=aim] .table-room{height:100%;min-height:0;position:relative;top:auto}body[data-mode=aim] .stage{height:100%;min-height:0}body[data-mode=aim] .panel{height:100%;overflow-y:auto;padding:0;border:0}body[data-mode=aim] .steps{margin-bottom:8px}body[data-mode=aim] .steps button{height:30px;padding:4px;font-size:11px}body[data-mode=aim] #shoot-button{height:56px;min-height:56px}body[data-mode=aim] .utility-actions{margin-top:8px}}
