:root{--bt-ink: #160b07;--bt-cellar: #1c0f0a;--bt-espresso: #241009;--bt-mahogany: #3a1d15;--bt-brass: #c19a4e;--bt-brass-lt: #d3ad5e;--bt-candlelight: #e8c778;--bt-antique: #9c7433;--bt-cream: #f3ecd8;--bt-tile-top: #fbf6e8;--bt-tile-btm: #f4ecd6;--bt-edge: #d3c095;--bt-ink-body: #2a1a11;--bt-felt: #5c6e43;--bt-sage: #a7b681;--bt-wine: #5c2420;--bt-rust: #8a3a28;--bt-text: var(--bt-cream);--bt-muted: #b7a37e;--bt-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--bt-sans: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--pe-cushion: #0d4a2b;--pe-cushion-w: .22;--pe-ball-stroke: #00000040;--pe-cue: var(--bt-tile-top);--pe-object: var(--bt-brass-lt);--pe-ref: var(--bt-brass);--pe-path: var(--bt-candlelight);--pe-aim: var(--bt-brass);--pe-target: var(--bt-rust);--pe-num: var(--bt-cream);--pe-num-used: var(--bt-candlelight);--pe-num-halo: var(--bt-ink);--pe-scale: var(--bt-sage);color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0;border:0 solid}html{line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bt-ink)}hr{height:0;color:inherit;border-top-width:1px}a{color:inherit;text-decoration:inherit}img,svg,video,canvas{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;letter-spacing:inherit;color:inherit;background-color:transparent;border-radius:0}textarea{resize:vertical}body{margin:0;font-family:var(--bt-sans);background:var(--bt-ink);color:var(--bt-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.pe-no-scroll{overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(48deg,#ffffff05 0,#ffffff05 1px,transparent 1px,transparent 5px),repeating-linear-gradient(-42deg,#00000026 0,#00000026 1px,transparent 1px,transparent 6px),radial-gradient(120% 80% at 15% 0%,#2a130c 0%,var(--bt-ink) 60%)}.pe-app{min-height:100dvh;display:flex;flex-direction:column}.pe-header{display:flex;align-items:baseline;gap:1.75rem;flex-wrap:wrap;padding:.9rem 1.5rem;border-bottom:1px solid var(--bt-brass);background:linear-gradient(180deg,var(--bt-cellar),#170c07);box-shadow:0 1px #00000060}.pe-brand{font-family:var(--bt-display);font-weight:600;font-size:1.4rem;letter-spacing:.01em;color:var(--bt-cream);line-height:1;text-decoration:none;transition:color .15s ease}.pe-brand:hover{color:var(--bt-candlelight)}.pe-brand:before{content:"BARTABLE BILLIARDS · THE CLUB";display:block;font-family:var(--bt-sans);font-weight:600;font-size:.58rem;letter-spacing:.3em;color:var(--bt-brass);margin-bottom:.3rem}.pe-nav{display:flex;gap:.15rem;flex-wrap:wrap}.pe-nav a{padding:.4rem .75rem;border-radius:.4rem;color:var(--bt-muted);text-decoration:none;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:color .15s ease,background .15s ease}.pe-nav a:hover{color:var(--bt-candlelight);background:#e8c7780f}.pe-sitenav{padding-right:1.25rem;border-right:1px solid color-mix(in srgb,var(--bt-brass) 35%,transparent)}.pe-nav a.active{color:var(--bt-ink);background:var(--bt-brass)}.pe-account{margin-left:auto;display:flex;align-items:center;font-size:.7rem}.pe-account-location{color:var(--bt-muted);letter-spacing:.05em}.pe-account-signed-in{display:flex;align-items:center;gap:.6rem;color:var(--bt-muted)}.pe-account-name{color:var(--bt-candlelight)}.pe-account-link{background:none;border:none;padding:0;color:var(--bt-muted);font:inherit;letter-spacing:.05em;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.pe-account-link:hover{color:var(--bt-candlelight)}.pe-account-form,.pe-account-merge{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.pe-account-note{color:var(--bt-muted)}.pe-account-input{padding:.35rem .6rem;border-radius:.35rem;border:1px solid #c19a4e40;background:var(--bt-ink);color:var(--bt-text);font:inherit;width:11rem}.pe-account-btn{padding:.35rem .75rem;border-radius:.35rem;border:1px solid var(--bt-brass-lt);background:var(--bt-brass);color:var(--bt-ink);font:inherit;font-weight:600;cursor:pointer}.pe-account-btn:disabled{opacity:.6;cursor:default}.pe-account-cancel{background:none;border:none;padding:0;color:var(--bt-muted);font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.pe-account-error{color:var(--bt-rust);flex-basis:100%}.pe-main{flex:1;padding:2rem 1.5rem}.pe-page{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.pe-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pe-page-head h1{margin:0;font-family:var(--bt-display);font-weight:600;font-size:2.1rem;line-height:1.05;color:var(--bt-cream)}.pe-note{margin:0;color:var(--bt-muted);font-size:.95rem;line-height:1.55}.pe-divider{border:none;border-top:1px solid #c19a4e33;margin:.25rem 0}.pe-stage{position:relative;border-radius:.5rem;background:radial-gradient(120% 100% at 12% 0%,var(--bt-mahogany) 0%,var(--bt-espresso) 55%,#1b0d08 100%);padding:1.25rem;box-shadow:0 10px 30px #0005,inset 0 1px #ffffff10}.pe-stage:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid #c19a4e66;border-radius:.3rem;pointer-events:none}.pe-stage--console{background:linear-gradient(180deg,var(--bt-tile-top),var(--bt-tile-btm));box-shadow:0 10px 30px #0005,inset 0 1px #ffffff90}.pe-stage--console:after{border-color:var(--bt-brass)}.pe-console{border-radius:.6rem;border:1.5px solid var(--bt-brass);background:linear-gradient(180deg,var(--bt-tile-top),var(--bt-tile-btm));box-shadow:0 10px 30px #0005,inset 0 1px #ffffff90;overflow:hidden}.pe-system-chips{display:flex;gap:.5rem;overflow-x:auto;padding:.85rem .85rem .6rem;border-bottom:1px solid var(--bt-edge)}.pe-chip{flex:0 0 auto;border:1px solid var(--bt-antique);border-radius:999px;background:transparent;color:var(--bt-antique);font-family:var(--bt-sans);font-size:.75rem;font-weight:600;padding:.4rem .8rem;white-space:nowrap;cursor:pointer}.pe-chip.active{background:var(--bt-ink-body);border-color:var(--bt-ink-body);color:var(--bt-tile-top)}.pe-stage--console-inner{background:none;box-shadow:none;padding:.75rem}.pe-stage--console-inner:after{display:none}.pe-table-host{width:100%;position:relative}.pe-table-host svg{width:100%;height:auto;display:block}.pe-explain{border:1px solid var(--bt-edge);border-radius:.5rem;background:linear-gradient(180deg,var(--bt-tile-top),var(--bt-tile-btm));color:var(--bt-ink-body);padding:1.15rem 1.3rem;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 6px 18px #00000040}.pe-explain h2{margin:0;font-family:var(--bt-sans);font-size:.62rem;font-weight:600;color:var(--bt-antique);text-transform:uppercase;letter-spacing:.3em}.pe-howto{margin:0;line-height:1.55;color:var(--bt-ink-body)}.pe-explainer{margin:0;font-family:var(--bt-display);font-size:1.25rem;line-height:1.4;color:var(--bt-ink-body);font-variant-numeric:tabular-nums}.pe-quiz-result{margin:0;font-family:var(--bt-display);font-size:1.4rem;font-weight:600;color:var(--bt-cream);text-align:center}.pe-explainer strong{font-family:var(--bt-sans);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bt-antique);display:block;margin-bottom:.15rem}.pe-cueball-guide{display:flex;align-items:center;gap:1rem}.pe-tipball{flex:0 0 auto;width:56px;height:56px;filter:drop-shadow(0 2px 4px #00000040)}.pe-table-note{border-top:1px solid var(--bt-edge);padding-top:.75rem;color:#6b543a;font-size:.92rem}.pe-calibration{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:#6b543a;font-size:.92rem}.pe-calibration button{min-width:2.25rem;min-height:2.25rem}.pe-calibration-label{margin-right:.25rem}.pe-calibration-value{min-width:4.5rem;text-align:center;font-variant-numeric:tabular-nums}.pe-calibration-advice{color:#6b543a}.pe-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.1rem 1.6rem;padding:1rem 1.15rem;border:1px solid #c19a4e26;border-radius:.5rem;background:#1c0f0a99}.pe-field,.pe-picker{display:flex;flex-direction:column;gap:.4rem;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bt-brass)}.pe-picker{gap:.35rem}.pe-field b{color:var(--bt-cream)}.pe-pickers{display:flex;gap:1rem;flex-wrap:wrap}.pe-field select,.pe-field input[type=number],.pe-picker select{background:var(--bt-ink);color:var(--bt-cream);border:1px solid #c19a4e4d;border-radius:.4rem;padding:.45rem .55rem;font-family:var(--bt-sans);font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none}.pe-field input[type=number]{width:4.75rem;font-variant-numeric:tabular-nums}.pe-field select:focus,.pe-field input:focus,.pe-picker select:focus{outline:none;border-color:var(--bt-brass);box-shadow:0 0 0 2px #c19a4e33}.pe-field input[type=range]{width:100%;accent-color:var(--bt-brass)}.pe-systems{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.pe-system-btn{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;padding:.65rem .8rem;border:1px solid #c19a4e33;border-radius:.45rem;background:var(--bt-espresso);color:var(--bt-cream);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.pe-system-btn span{font-size:.78rem;color:var(--bt-muted)}.pe-system-btn:hover{border-color:var(--bt-brass)}.pe-system-btn.active{border-color:var(--bt-brass);background:var(--bt-mahogany)}.pe-flip{align-self:flex-start;padding:.45rem .9rem;border:1px solid #c19a4e4d;border-radius:.4rem;background:transparent;color:var(--bt-candlelight);cursor:pointer;font-family:var(--bt-sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:border-color .15s ease,background .15s ease,color .15s ease}.pe-flip:hover{border-color:var(--bt-brass)}.pe-flip.active{border-color:var(--bt-brass);background:var(--bt-brass);color:var(--bt-ink)}.pe-actions{display:flex;gap:.6rem;flex-wrap:wrap}.pe-actions button{padding:.5rem 1.1rem;border-radius:.4rem;border:1px solid #c19a4e66;background:var(--bt-wine);color:#e8c778;font-family:var(--bt-sans);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.pe-actions button:first-child{background:var(--bt-brass);color:var(--bt-ink);border-color:var(--bt-brass-lt)}.pe-actions button:hover:not(:disabled){background:var(--bt-brass-lt);color:var(--bt-ink);border-color:var(--bt-brass-lt)}.pe-actions button:disabled{background:transparent;color:var(--bt-muted);border-color:#c19a4e26;cursor:not-allowed}.pe-warn{margin:0;padding:.65rem .9rem;border:1px solid var(--bt-brass);background:var(--bt-mahogany);border-radius:.45rem;color:var(--bt-candlelight);font-size:.9rem;line-height:1.5}.pe-badge{margin:0;padding:.55rem .85rem;border:1px solid #5c6e4380;background:#2a3320;border-radius:.45rem;color:var(--bt-sage);font-size:.85rem}.pe-sponsor-band{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 1.5rem;border-top:1px solid #c19a4e26;background:var(--bt-cellar)}.pe-sponsor-label{font-family:var(--bt-sans);font-weight:600;font-size:.58rem;letter-spacing:.3em;color:var(--bt-antique);text-transform:uppercase}.pe-sponsor-link{display:block;line-height:0}.pe-sponsor-img{display:block;width:320px;max-width:100%;aspect-ratio:320 / 50;height:auto;object-fit:contain;border-radius:.25rem}@media(min-width:641px){.pe-sponsor-img{width:728px;aspect-ratio:728 / 90}}@media(max-width:640px){.pe-sponsor-band--drawn .pe-sponsor-img{aspect-ratio:320 / 100}}@media(max-width:640px){.pe-sponsor-band{flex-direction:column;gap:.35rem;padding:.5rem 1rem}}.pe-footer{padding:1rem 1.5rem;border-top:1px solid #c19a4e26;color:var(--bt-antique);font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem}.pe-ack-link{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:.25em}.pe-ack-dialog{max-width:min(28rem,calc(100vw - 2rem));margin:auto;padding:1.5rem;font-size:1rem;font-weight:400;letter-spacing:normal;text-transform:none;border:1px solid #c19a4e66;border-radius:.5rem;background:var(--bt-tile-top, #1b1712);color:inherit}.pe-ack-dialog::backdrop{background:#000000a0}.pe-ack-dialog h2{margin:0 0 .75rem}.pe-ack-dialog p{margin:0 0 1rem;line-height:1.5}.pe-stage--practice{padding:.5rem}.pe-practice-table{position:relative}.pe-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.pe-grab{pointer-events:auto;touch-action:none;fill:transparent;cursor:grab}.pe-overlay .pe-ball.pe-dragging{stroke:var(--bt-candlelight);stroke-width:.35}.pe-layout-tray{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.pe-layout-num{font:700 1.1px system-ui,sans-serif;fill:#111;text-anchor:middle;dominant-baseline:central;pointer-events:none}.pe-runout-line{stroke:var(--bt-candlelight);stroke-width:.35;stroke-linecap:round;pointer-events:none}.pe-runout-cueline{stroke:#fafafaaa;stroke-width:.25;stroke-dasharray:1.2 1.2;pointer-events:none}.pe-runout-ghost{fill:none;stroke:#fafafacc;stroke-width:.25;stroke-dasharray:.8 .6;pointer-events:none}.pe-runout-badge{fill:var(--bt-candlelight);stroke:#000a;stroke-width:.15;pointer-events:none}.pe-runout-badge-text{font:700 1.4px system-ui,sans-serif;fill:#1a1209;text-anchor:middle;dominant-baseline:central;pointer-events:none}.pe-zone rect{fill:var(--bt-candlelight);pointer-events:none}.pe-runout-arrow{pointer-events:none}.pe-runout-arrow line{stroke-width:.35;stroke-linecap:round}.pe-runout-arrow polygon{stroke:none}.pe-runout-arrow--aim line{stroke:#fafafa}.pe-runout-arrow--aim polygon{fill:#fafafa}.pe-runout-arrow--pocket line{stroke:var(--bt-candlelight)}.pe-runout-arrow--pocket polygon{fill:var(--bt-candlelight)}.pe-runout{margin-top:.75rem}.pe-runout-list{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.55rem}.pe-runout-list li strong{display:block;font-family:var(--bt-display);font-size:1.1rem;font-weight:600}.pe-runout-list li span{font-size:.85rem;font-variant-numeric:tabular-nums}.pe-runout-caveat{font-size:.8rem;opacity:.8}.pe-pocket-target{stroke:#c19a4e40;stroke-width:.3}.pe-pocket-target.active{stroke:var(--bt-brass);stroke-width:.5}.pe-aim{stroke:#e8c77899;stroke-width:.3;stroke-dasharray:1.6 1.6;pointer-events:none}.pe-learn-rail-hit{pointer-events:auto;touch-action:none;stroke:transparent;cursor:pointer}.pe-quiz-table{position:relative}.pe-quiz-rail-hit{pointer-events:auto;touch-action:none;stroke:transparent;cursor:pointer}@media(max-width:640px){.pe-stage--learn{order:-1}}.pe-walk-marker{fill:var(--bt-candlelight);stroke:#1b0d08;stroke-width:.4;pointer-events:none;transition:cx .5s ease,cy .5s ease}@media(prefers-reduced-motion:reduce){.pe-walk-marker{transition:none}}.pe-walkthrough{display:flex}.pe-walk-start{align-self:flex-start;background:none;border:1px solid #c19a4e40;border-radius:.4rem;color:var(--bt-antique);font-family:var(--bt-sans);font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:.5rem .9rem;cursor:pointer}.pe-walk-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;width:100%;padding:.65rem .9rem;border:1px solid #c19a4e40;border-radius:.4rem;background:#1c0f0a99}.pe-walk-controls button{background:none;border:1px solid #c19a4e40;border-radius:.35rem;color:var(--bt-antique);font-family:var(--bt-sans);font-size:.85rem;padding:.35rem .7rem;cursor:pointer}.pe-walk-controls button:disabled{opacity:.35;cursor:default}.pe-walk-play{min-width:4.5rem;font-weight:600}.pe-walk-caption{flex:1 1 auto;color:var(--bt-cream);font-size:.9rem}.pe-walk-close{margin-left:auto}.pe-orient-wrap{position:relative;width:100%;overflow:hidden}.pe-orient-inner{position:absolute;top:50%;left:50%}.pe-magnifier-bubble{position:absolute;width:120px;height:120px;border-radius:50%;overflow:hidden;border:2px solid var(--bt-brass);box-shadow:0 6px 18px #000000a0;pointer-events:none;z-index:5}.pe-magnifier-zoom{position:absolute}.pe-orient-prompt{display:flex;flex-direction:column;gap:.75rem}.pe-orient-diagram{position:relative;max-width:320px;margin:0 auto}.pe-orient-corner{position:absolute;width:45%;height:45%;border:none;background:#c19a4e22;border-radius:.4rem;cursor:pointer}.pe-orient-corner:hover,.pe-orient-corner:active{background:#c19a4e4d}.pe-orient-corner--tl{top:0;left:0}.pe-orient-corner--tr{top:0;right:0}.pe-orient-corner--bl{bottom:0;left:0}.pe-orient-corner--br{bottom:0;right:0}.pe-capture-hint{margin:0;color:var(--bt-muted);font-size:.85rem;text-align:center}.pe-target-ring{fill:none;stroke:var(--bt-candlelight);stroke-width:.35;stroke-dasharray:1.2 1;pointer-events:none}.pe-landing-capture{pointer-events:auto;touch-action:none;fill:transparent;cursor:crosshair}.pe-english-row{display:flex;align-items:center;gap:.9rem}.pe-cueball-ctl{flex:0 0 auto;width:72px;height:72px;touch-action:none;cursor:pointer;filter:drop-shadow(0 2px 4px #00000040)}.pe-cueball-ctl--static{cursor:default}.pe-cueball-face{fill:var(--bt-tile-top);stroke:#00000030;stroke-width:.03}.pe-cueball-axis{stroke:#00000018;stroke-width:.03;pointer-events:none}.pe-cueball-tip{fill:var(--bt-brass);pointer-events:none}.pe-english-clear{padding:.45rem .8rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-muted);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pe-log-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.pe-log-grid--tag{grid-template-columns:1fr 1fr auto}.pe-log-btn{min-height:72px;padding:.5rem 1.25rem;border-radius:.6rem;border:1px solid #c19a4e40;font-family:var(--bt-sans);font-size:1.05rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;transition:filter .15s ease}.pe-log-btn:hover:not(:disabled){filter:brightness(1.08)}.pe-log-btn span{font-size:.72rem;font-weight:500;letter-spacing:.02em;text-transform:none;opacity:.8}.pe-log-btn--make{background:var(--bt-felt);color:var(--bt-cream)}.pe-log-btn--miss{background:var(--bt-rust);color:#f6e6df}.pe-log-btn--start{background:var(--bt-wine);color:#e8c778}.pe-log-btn--tag{background:var(--bt-brass);color:var(--bt-ink)}.pe-log-btn--skip{background:transparent;color:var(--bt-muted);font-weight:600}.pe-log-btn--skip span{color:var(--bt-muted)}.pe-session-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.pe-stat-pill{display:inline-block;border:1px solid var(--bt-brass);border-radius:999px;padding:.3rem .85rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;color:var(--bt-antique);background:#c19a4e14}.pe-session-row-actions{display:flex;gap:.5rem}.pe-session-row button{padding:.55rem .9rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:var(--bt-espresso);color:var(--bt-cream);font-family:var(--bt-sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pe-session-row button:disabled{color:var(--bt-muted);cursor:not-allowed;opacity:.6}.pe-session-end{display:flex;flex-direction:column;gap:.75rem}.pe-session-note{background:var(--bt-ink);color:var(--bt-cream);border:1px solid #c19a4e4d;border-radius:.4rem;padding:.6rem .8rem;font-family:var(--bt-sans);font-size:.95rem;min-height:4.5rem;resize:vertical}.pe-session-note:focus{outline:none;border-color:var(--bt-brass);box-shadow:0 0 0 2px #c19a4e33}.pe-railmode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;gap:.6rem;padding:max(.6rem,env(safe-area-inset-top)) .6rem max(.6rem,env(safe-area-inset-bottom));background:var(--bt-ink);overflow-y:auto}.pe-railmode-bar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.3rem .4rem;border-radius:.4rem;background:#0005}.pe-railmode-bar .pe-note{margin-right:auto}.pe-railmode-end{padding:.5rem 1rem;border-radius:.4rem;border:1px solid var(--bt-rust);background:transparent;color:var(--bt-rust);font-family:var(--bt-sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pe-railmode-expanded{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #c19a4e33}.pe-railmode-stage{flex:1;min-height:0;display:flex;align-items:center}.pe-railmode-stage{container-type:size;min-height:14rem}.pe-railmode-stage .pe-practice-table{width:min(100cqw,50cqh)}.pe-railmode-stage--flat{justify-content:center}.pe-railmode-stage--flat .pe-practice-table{width:min(100cqw,200cqh)}.pe-tap-cloth,.pe-tap-rail{pointer-events:auto;touch-action:none;cursor:pointer}.pe-tap-cloth{fill:transparent}.pe-tap-rail{fill:var(--bt-rust);fill-opacity:.22}.pe-railmode-toast{align-self:center;padding:.6rem 1.1rem;border-radius:2rem;border:1px solid var(--bt-brass);background:var(--bt-cellar);color:var(--bt-candlelight);font-family:var(--bt-sans);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 6px 18px #00000060}.pe-railmode-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding-bottom:env(safe-area-inset-bottom)}.pe-railmode-btn{min-height:96px;border-radius:.75rem;border:none;font-family:var(--bt-sans);font-size:1.3rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pe-railmode-btn--make{background:var(--bt-felt);color:var(--bt-cream)}.pe-railmode-btn--miss{background:var(--bt-rust);color:var(--bt-cream)}.pe-railmode-end-panel{display:flex;flex-direction:column;gap:.75rem}.pe-railmode:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;pointer-events:none;opacity:0;transition:opacity .12s ease-out}.pe-railmode--flash-make:after{background:var(--bt-felt);opacity:.55}.pe-railmode--flash-miss:after{background:var(--bt-rust);opacity:.55}.pe-history-title{margin:0;font-family:var(--bt-sans);font-size:.62rem;font-weight:600;color:var(--bt-antique);text-transform:uppercase;letter-spacing:.3em}.pe-history{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-variant-numeric:tabular-nums}.pe-history-note{color:var(--bt-muted)}.pe-drill-save-btn{align-self:flex-start;padding:.5rem .9rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-antique);font-family:var(--bt-sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pe-drill-save{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pe-drill-name{flex:1 1 12rem;background:var(--bt-ink);color:var(--bt-cream);border:1px solid #c19a4e4d;border-radius:.4rem;padding:.6rem .8rem;font-family:var(--bt-sans);font-size:.95rem}.pe-drill-name:focus{outline:none;border-color:var(--bt-brass);box-shadow:0 0 0 2px #c19a4e33}.pe-drill-back-link{display:inline-block;font-size:.85rem}.pe-shotkind-row{display:flex;gap:.5rem}.pe-shotkind-btn{flex:1;padding:.5rem .75rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-muted);font-family:var(--bt-sans);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.pe-shotkind-btn.active{background:var(--bt-brass);color:var(--bt-ink);border-color:var(--bt-brass)}.pe-railshot-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pe-railshot-field{display:flex;align-items:center;gap:.4rem;color:var(--bt-muted);font-size:.8rem}.pe-railshot-field input{width:3.2rem;background:var(--bt-ink);color:var(--bt-cream);border:1px solid #c19a4e4d;border-radius:.4rem;padding:.35rem .5rem;font-family:var(--bt-sans)}.pe-railshot-toggle{display:flex;gap:.4rem}.pe-railshot-toggle button{padding:.45rem .75rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-muted);font-family:var(--bt-sans);font-size:.78rem;cursor:pointer}.pe-railshot-toggle button.active{background:var(--bt-brass);color:var(--bt-ink);border-color:var(--bt-brass)}.pe-railshot-toggle button:disabled,.pe-railshot-field input:disabled{opacity:.6;cursor:not-allowed}.pe-target-row{display:flex;align-items:center;gap:.75rem}.pe-landing-prompt{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pe-drill-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem}.pe-drill-row{display:flex;flex-direction:column;gap:.5rem;padding:.75rem .9rem;border:1px solid #c19a4e33;border-radius:.5rem}.pe-drill-row-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.pe-drill-row-info{display:flex;flex-direction:column;gap:.15rem}.pe-drill-row-actions{display:flex;align-items:center;gap:.5rem}.pe-drill-row-toggles{display:flex;gap:.5rem}.pe-drill-toggle-btn{padding:.35rem .7rem;border-radius:.4rem;border:1px solid transparent;background:transparent;color:var(--bt-muted);font-family:var(--bt-sans);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.pe-drill-toggle-btn:hover{border-color:#c19a4e4d}.pe-drill-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}.pe-tag-filter{display:flex;flex-wrap:wrap;gap:.4rem}.pe-tag-chip{padding:.3rem .65rem;border-radius:999px;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-muted);font-family:var(--bt-sans);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.pe-tag-chip.active{background:var(--bt-brass);color:var(--bt-ink);border-color:var(--bt-brass)}.pe-tag-chip--static{cursor:default}.pe-donut-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.pe-donut-step{display:flex;flex-direction:column;gap:.1rem}.pe-donut-step-label{font-size:.75rem}.pe-step-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pe-step-nav button{padding:.4rem .8rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-muted);font-family:var(--bt-sans);font-size:.75rem;cursor:pointer}.pe-pattern-callout{padding:.75rem .9rem;border:1px solid var(--bt-brass);border-radius:.5rem;background:#c19a4e1a;display:flex;flex-direction:column;gap:.3rem}.pe-session-receipt{gap:.85rem}.pe-receipt-headline{margin:0;font-family:var(--bt-display);font-size:1.5rem;font-weight:600;color:var(--bt-ink-body);font-variant-numeric:tabular-nums}.pe-receipt-sub{margin:0;color:#6b543a;font-size:.85rem}.pe-receipt-note{margin:0;color:var(--bt-ink-body);font-style:italic;font-size:.9rem}.pe-receipt-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--bt-edge);padding-top:.65rem}.pe-receipt-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.85rem;color:var(--bt-ink-body)}.pe-receipt-row b{font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.pe-receipt-pattern{margin:0;border-top:1px solid var(--bt-edge);padding-top:.65rem;color:var(--bt-ink-body);font-size:.88rem}.pe-receipt-actions{display:flex;gap:.5rem;flex-wrap:wrap}.pe-receipt-btn{padding:.45rem .85rem;border-radius:.4rem;border:1px solid var(--bt-edge);background:transparent;color:var(--bt-antique);font-family:var(--bt-sans);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.pe-receipt-btn:hover{border-color:var(--bt-brass)}.pe-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}.pe-install-prompt{padding:.75rem .9rem;margin-bottom:1rem;border:1px solid var(--bt-brass);border-radius:.5rem;background:#c19a4e1a;display:flex;flex-direction:column;gap:.4rem}.pe-install-title{font-family:var(--bt-display);color:var(--bt-candlelight);font-size:1.05rem;font-weight:600;margin:0}.pe-drill-run-btn{min-height:auto;padding:.55rem 1rem;font-size:.8rem;text-decoration:none;display:inline-flex}.pe-drill-delete-btn{padding:.55rem .9rem;border-radius:.4rem;border:1px solid #c19a4e4d;background:transparent;color:var(--bt-muted);font-family:var(--bt-sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pe-stats-summary{display:flex;flex-direction:column;gap:.2rem}.pe-stats-headline{font-family:var(--bt-sans);font-size:1.6rem;font-weight:700;color:var(--bt-brass)}.pe-sparkline{width:100%;max-width:20rem;height:2rem;color:var(--bt-brass)}.pe-stats-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem}.pe-stats-row{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .9rem;border:1px solid #c19a4e33;border-radius:.5rem}.pe-stats-row-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pe-stats-row-info{display:flex;flex-direction:column;gap:.15rem}.pe-stats-pct{font-family:var(--bt-sans);font-size:1.1rem;font-weight:700;color:var(--bt-brass);font-variant-numeric:tabular-nums}.pe-stats-miss{margin:0}.pe-stats-sublist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}.pe-photo{position:relative;max-width:100%;line-height:0;border-radius:.45rem;overflow:hidden}.pe-photo-img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.pe-photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.pe-photo-quad{fill:#e8c77822;stroke:var(--bt-candlelight);stroke-linejoin:round}.pe-photo-corner{fill:#1a120966;stroke:var(--bt-candlelight)}.pe-photo-corner-label{fill:var(--bt-candlelight);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-family:system-ui,sans-serif}.pe-photo-result{margin-top:.75rem}.pe-photo-caveat{font-size:.8rem;opacity:.8}[data-theme=chalk]{color-scheme:light;--t-surface: #f3ecd8;--t-panel: #fffaf0;--t-line: #d0c19b;--t-field-line: #8f8376;--t-placeholder: #776654;--t-tint: #eae0ca;--t-ink: #261510;--t-ink-muted: #54402f;--t-accent: #7a4f12;--t-accent-strong: #5e3b0c;--t-accent-line: #b8893a;--t-on-accent: #fffaf0;--t-danger: #b3261e;--t-warn: #a83a00;--t-ok: #1e6b34}[data-theme=linen]{color-scheme:light;--t-surface: #eceff3;--t-panel: #ffffff;--t-line: #c3cbd7;--t-field-line: #82878f;--t-placeholder: #626c7d;--t-tint: #e4e8ed;--t-ink: #141a26;--t-ink-muted: #465165;--t-accent: #1f4a8a;--t-accent-strong: #16376a;--t-accent-line: #6f8fc4;--t-on-accent: #ffffff;--t-danger: #b3261e;--t-warn: #8a5a00;--t-ok: #1e6b34}[data-theme=sage]{color-scheme:light;--t-surface: #e6ece0;--t-panel: #f8faf4;--t-line: #b9c8ae;--t-field-line: #7c877c;--t-placeholder: #5c6c61;--t-tint: #dce4d5;--t-ink: #17261b;--t-ink-muted: #44554a;--t-accent: #2f6b3f;--t-accent-strong: #214d2d;--t-accent-line: #7fa889;--t-on-accent: #f8faf4;--t-danger: #b3261e;--t-warn: #8a5a00;--t-ok: #1e6b34}[data-theme=blush]{color-scheme:light;--t-surface: #f4e6e8;--t-panel: #fff9f9;--t-line: #dcbfc5;--t-field-line: #8f7d84;--t-placeholder: #7f5f6b;--t-tint: #efdfe2;--t-ink: #2a1520;--t-ink-muted: #65414f;--t-accent: #8a2b5a;--t-accent-strong: #6a1e45;--t-accent-line: #c27a9d;--t-on-accent: #fff9f9;--t-danger: #b3261e;--t-warn: #8a5a00;--t-ok: #1e6b34}[data-theme=contrast]{color-scheme:light;--t-surface: #ffffff;--t-panel: #f0f0f0;--t-line: #4d4d4d;--t-field-line: #595959;--t-placeholder: #595959;--t-tint: #dde5ff;--t-ink: #000000;--t-ink-muted: #2b2b2b;--t-accent: #0033cc;--t-accent-strong: #001f80;--t-accent-line: #0033cc;--t-on-accent: #ffffff;--t-danger: #a40000;--t-warn: #6b4200;--t-ok: #005a1a}[data-theme=mahogany]{color-scheme:dark;--t-surface: #150a07;--t-panel: #2a1710;--t-line: #573527;--t-field-line: #72695f;--t-placeholder: #92856b;--t-tint: #3e251a;--t-ink: #f8f1de;--t-ink-muted: #dccda6;--t-accent: #d4ac5e;--t-accent-strong: #f0d28a;--t-accent-line: #a9803c;--t-on-accent: #150a07;--t-danger: #ff8a7a;--t-warn: #ff8540;--t-ok: #7fd18b}[data-theme=felt]{color-scheme:dark;--t-surface: #0c1f17;--t-panel: #153325;--t-line: #35634c;--t-field-line: #727b6f;--t-placeholder: #8d9b84;--t-tint: #234937;--t-ink: #f4f0e0;--t-ink-muted: #c9d6b8;--t-accent: #d9b25f;--t-accent-strong: #f0d28a;--t-accent-line: #b08a40;--t-on-accent: #0c1f17;--t-danger: #ff8f80;--t-warn: #ff8540;--t-ok: #8fdc9a}[data-theme=midnight]{color-scheme:dark;--t-surface: #0d121b;--t-panel: #172030;--t-line: #34445f;--t-field-line: #696d74;--t-placeholder: #808a9c;--t-tint: #243045;--t-ink: #eef0f4;--t-ink-muted: #aab6cc;--t-accent: #e0b866;--t-accent-strong: #f3d58f;--t-accent-line: #b38d44;--t-on-accent: #0d121b;--t-danger: #ff8d80;--t-warn: #ff8540;--t-ok: #86d99a}[data-theme=oxblood]{color-scheme:dark;--t-surface: #1a0a0e;--t-panel: #2b1118;--t-line: #5c333e;--t-field-line: #736466;--t-placeholder: #967e80;--t-tint: #412029;--t-ink: #f8ecea;--t-ink-muted: #dcbfc0;--t-accent: #e3b36a;--t-accent-strong: #f5d391;--t-accent-line: #b4854a;--t-on-accent: #1a0a0e;--t-danger: #ff9a8c;--t-warn: #ff8540;--t-ok: #86d99a}[data-theme=slate]{color-scheme:dark;--t-surface: #12161a;--t-panel: #1c2329;--t-line: #3b4852;--t-field-line: #6b6f72;--t-placeholder: #838c92;--t-tint: #2a343b;--t-ink: #eceff1;--t-ink-muted: #b6c1c8;--t-accent: #5fc7b8;--t-accent-strong: #8fe0d3;--t-accent-line: #3b9486;--t-on-accent: #0b1214;--t-danger: #ff8a80;--t-warn: #f2b84f;--t-ok: #7fd18b}[data-theme]{--bt-ink: var(--t-surface);--bt-cellar: var(--t-panel);--bt-espresso: var(--t-panel);--bt-mahogany: var(--t-tint);--bt-brass: var(--t-accent);--bt-brass-lt: var(--t-accent-strong);--bt-candlelight: var(--t-accent-strong);--bt-cream: var(--t-ink);--bt-text: var(--t-ink);--bt-muted: var(--t-ink-muted);--bt-rust: var(--t-danger);--bt-sage: var(--t-ok);--bt-felt: var(--t-ok);--pe-cue: #fbf6e8;--pe-object: #d3ad5e;--pe-ref: #c19a4e;--pe-path: #e8c778;--pe-aim: #c19a4e;--pe-target: #8a3a28;--pe-num: #f3ecd8;--pe-num-used: #e8c778;--pe-num-halo: #160b07;--pe-scale: #a7b681}[data-theme] body:before{display:none}[data-theme] .pe-header{background:var(--t-panel);box-shadow:none;border-bottom-color:var(--t-accent-line)}[data-theme] .pe-controls,[data-theme] .pe-walk-controls{background:var(--t-panel);border-color:var(--t-line)}[data-theme] .pe-stat-pill{background:var(--t-tint)}
