@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#10130f;--surface:#191d18;--surface2:#20251f;--line:#2b3029;--text:#f1f2e9;--muted:#969b90;--orange:#ff7847;--lime:#c4ef69;--mono:'DM Mono',monospace;--sans:'Manrope',system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(ellipse at 100% 0,#20231a 0,transparent 42%),var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;padding:0 20px 110px;position:relative}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff10}.brand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.brand-mark{height:38px;width:38px;border:1px solid var(--orange);border-radius:50%;display:grid;place-content:center;font-size:23px;font-weight:800;font-style:italic;letter-spacing:-3px}.brand-mark span{color:var(--orange)}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-size:12px;letter-spacing:.18em}.brand-copy small{font:8px var(--mono);letter-spacing:.15em;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:9px}.sync-status{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:7px 9px;font:9px var(--mono);color:var(--muted)}.sync-status i{width:6px;height:6px;border-radius:50%;background:#d2a94c}.sync-status.online i{background:var(--lime);box-shadow:0 0 9px #c4ef6970}.icon-button,.avatar,.back-button{border:1px solid var(--line);background:transparent;color:var(--text);height:36px;min-width:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:17px}.icon-button{font-size:12px;font-family:var(--mono);border-radius:11px;padding:0 9px}.avatar{background:var(--orange);color:#20130e;border:0;font-weight:800}.hero{height:218px;position:relative;overflow:hidden;display:flex;align-items:flex-start;padding-top:35px}.hero-copy{position:relative;z-index:2}.eyebrow{font:9px var(--mono);letter-spacing:.16em;color:var(--muted);margin:0 0 10px}.hero h1{font-size:44px;line-height:.98;letter-spacing:-.065em;margin:0;font-weight:800}.hero h1 em{color:var(--orange);font-style:normal}.hero-sub{font-size:12px;color:var(--muted);margin-top:12px}.hero-ball{position:absolute;right:-24px;top:18px;width:198px;height:198px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffab7d,#ea5e32 57%,#ab351d);box-shadow:inset -16px -14px 22px #5e211c55,0 14px 40px #0005;overflow:hidden;display:grid;place-items:center;transform:rotate(-21deg)}.hero-ball:before,.hero-ball:after{content:'';position:absolute;border:2px solid #261610a8;border-radius:50%;width:260px;height:120px}.hero-ball:before{transform:rotate(54deg)}.hero-ball:after{transform:rotate(-54deg)}.hero-ball span{position:relative;z-index:2;color:#372017;font:800 13px var(--mono);line-height:1.5;text-align:center;transform:rotate(21deg);opacity:.75}.hero-line{position:absolute;width:180%;height:1px;background:#ffffff16;transform:rotate(-9deg);bottom:6px;left:-20%}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:8px 0 15px}.section-heading h2,.card h2,.drill-analysis h2{font-size:20px;letter-spacing:-.04em;margin:0}.text-button{border:0;background:none;color:var(--orange);font:10px var(--mono);cursor:pointer;padding:8px 0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:130px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,#20241f,#171a16);padding:15px;position:relative;overflow:hidden}.stat-orange{background:linear-gradient(145deg,#ff8153,#db4f2d);border-color:#ff956c;color:#26140d}.stat-dark{background:linear-gradient(145deg,#2b3127,#171a16)}.stat-label{display:block;font:9px var(--mono);letter-spacing:.12em;color:var(--muted)}.stat-orange .stat-label,.stat-orange .stat-foot{color:#48271caa}.stat-card strong{display:block;font-size:36px;line-height:1;margin:14px 0 5px;letter-spacing:-.06em}.stat-foot{font:9px var(--mono);color:var(--muted)}.stat-graphic{position:absolute;right:12px;top:9px;color:#ffffff20;font-size:48px;font-weight:200}.recent-heading{margin-top:31px}.session-list{display:grid;gap:9px}.session-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;cursor:pointer}.session-date{border-right:1px solid var(--line);padding-right:10px;text-align:center}.session-date b{font-size:20px;display:block;line-height:1}.session-date small{font:8px var(--mono);color:var(--muted)}.session-info strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-info small{font:9px var(--mono);color:var(--muted);display:block;margin-top:5px}.session-score{text-align:right}.session-score b{font:16px var(--mono);color:var(--lime)}.session-score small{display:block;font:8px var(--mono);color:var(--muted);margin-top:3px}.empty-state{min-height:128px;border:1px dashed #3a4037;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:11px;text-align:center}.empty-state strong{color:var(--text)}.empty-ball{color:var(--orange);font-size:27px}.view{display:none;padding-top:23px}.view.active{display:block}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.view-header h1{font-size:31px;letter-spacing:-.06em;margin:0}.back-button{font-size:19px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.session-form{display:grid;grid-template-columns:1fr 132px;gap:12px}.session-form label{display:grid;gap:8px}.session-form label span{font:9px var(--mono);letter-spacing:.1em;color:var(--muted)}input{font:12px var(--sans);color:var(--text);background:#11140f;border:1px solid #343a31;border-radius:9px;padding:12px;outline:none;min-width:0}input:focus{border-color:var(--orange)}input[type=date]{color-scheme:dark}.control-row{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px}.control-row .eyebrow{margin-bottom:4px}.muted{font-size:10px;color:var(--muted);margin:0}.history-controls{display:flex;gap:7px}.history-controls .icon-button{height:34px;min-width:38px;font-size:19px}.history-controls .icon-button:disabled{opacity:.35;cursor:default}.drills{display:grid;gap:10px}.drill-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}.drill-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.drill-name{font-weight:700;font-size:13px;background:transparent;border:0;border-bottom:1px solid transparent;padding:3px 0;color:var(--text);width:75%}.drill-name:focus{border-color:var(--orange)}.drill-remove{border:0;background:transparent;color:var(--muted);font-size:18px}.counter-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.counter{border:1px solid var(--line);background:#131611;border-radius:10px;padding:9px 6px;text-align:center}.counter span{font:8px var(--mono);letter-spacing:.06em;color:var(--muted);display:block}.counter strong{font:22px var(--mono);display:block;margin:6px 0}.counter-controls{display:flex;justify-content:center;gap:9px}.counter-controls button{height:25px;width:34px;border-radius:7px;border:1px solid #3b4038;background:#22271f;color:var(--text);font-size:15px}.counter-controls button.plus{background:var(--orange);border-color:var(--orange);color:#25130d;font-weight:800}.counter.score strong{color:var(--lime)}.counter.fail strong{color:#ffad84}.counter.lost strong{color:#e6df8e}.add-drill{width:100%;margin-top:10px;border:1px dashed #484e43;background:transparent;border-radius:11px;padding:12px;color:var(--muted);font:11px var(--mono);display:flex;align-items:center;justify-content:center;gap:8px}.add-drill span:first-child{font-size:18px;color:var(--orange)}.advanced-toggle{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.advanced-toggle strong,.advanced-toggle small{display:block}.advanced-toggle strong{font-size:12px}.advanced-toggle small{font-size:9px;color:var(--muted);margin-top:4px}.switch input{display:none}.switch span{width:40px;height:23px;border-radius:20px;background:#343a31;display:block;position:relative}.switch span:after{content:'';position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#e2e5dc;transition:.2s}.switch input:checked+span{background:var(--orange)}.switch input:checked+span:after{left:20px;background:#24150f}.advanced-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px}.advanced-grid:not(.hidden){display:grid}.advanced-metric{background:#1d221c;border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;justify-content:space-between;align-items:center}.advanced-metric span{font:9px var(--mono);color:var(--muted)}.advanced-metric div{display:flex;gap:8px;align-items:center}.advanced-metric b{font:15px var(--mono)}.advanced-metric button{border:0;background:#30362c;color:var(--text);border-radius:6px;width:25px;height:25px}.save-row{display:flex;align-items:center;justify-content:space-between;margin:17px 0 10px;font:9px var(--mono);color:var(--muted)}.primary-button{border:0;background:var(--orange);border-radius:9px;color:#27140d;padding:11px 15px;font:700 10px var(--mono);cursor:pointer}.primary-button span{padding-left:7px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);height:75px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));background:#151813f2;backdrop-filter:blur(18px);border-top:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-around}.nav-item{width:57px;background:none;border:0;color:#777e71;display:grid;justify-items:center;gap:3px}.nav-item span{font-size:20px;line-height:23px}.nav-item small{font:8px var(--mono)}.nav-item.selected{color:var(--orange)}.nav-add{height:48px;width:48px;border-radius:15px;border:0;background:var(--orange);color:#25140d;font-size:27px;box-shadow:0 6px 18px #ff78472d}.history-summary{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.history-summary span{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:9px 11px;white-space:nowrap;font:9px var(--mono);color:var(--muted)}.history-summary b{color:var(--text);margin-right:4px}.analysis-lead{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#24281f,#191d18);margin-bottom:10px}.analysis-lead .eyebrow{margin-bottom:9px}.analysis-lead strong{font-size:34px;letter-spacing:-.06em;display:block}.analysis-lead span{font:9px var(--mono);color:var(--muted)}.ring{width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--orange) 0deg,#30362e 0deg);display:grid;place-items:center;position:relative}.ring:after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--surface)}.ring span{position:relative;z-index:1;font:11px var(--mono)}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.analysis-tile{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px}.analysis-tile span{font:8px var(--mono);color:var(--muted);display:block}.analysis-tile strong{font-size:24px;display:block;margin-top:9px}.chart-card,.drill-analysis{margin-top:10px}.chart{height:150px;display:flex;align-items:end;gap:8px;padding:19px 3px 19px;border-bottom:1px solid var(--line)}.bar-group{height:100%;flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:7px}.bar{width:min(24px,100%);min-height:4px;border-radius:5px 5px 2px 2px;background:linear-gradient(var(--lime),#8cae40)}.bar-label{font:7px var(--mono);color:var(--muted)}.drill-break-row{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 0;border-bottom:1px solid var(--line);font-size:10px}.drill-break-row:last-child{border:0}.drill-break-row small{grid-column:1/-1;color:var(--muted);font:8px var(--mono)}.account-card{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px}.account-icon{height:40px;width:40px;border-radius:12px;background:var(--orange);color:#26140d;display:grid;place-items:center;font-weight:800}.account-card strong,.account-card small{display:block}.account-card strong{font-size:11px}.account-card small{font:8px var(--mono);color:var(--muted);margin-top:5px}.account-card .outline-button{grid-column:1/-1}.outline-button{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font:9px var(--mono)}.share-card,.setup-card,.tools-card{margin-top:10px}.share-card p:not(.eyebrow),.setup-card p:not(.eyebrow),.tools-card p:not(.eyebrow){font-size:10px;line-height:1.6;color:var(--muted)}.member-status{padding-top:10px;color:var(--lime);font:9px var(--mono)}.setup-steps{display:grid;grid-template-columns:27px 1fr;gap:10px;margin-top:14px;align-items:center}.setup-steps span:nth-child(odd){color:var(--orange);font:10px var(--mono)}.setup-steps span:nth-child(even){font-size:10px;color:var(--muted)}.button-row{display:flex;gap:8px;margin-top:12px}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%,15px);background:#f1f2e9;color:#171a15;padding:10px 15px;border-radius:9px;font:10px var(--mono);opacity:0;pointer-events:none;transition:.2s;z-index:30;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;background:transparent;padding:0;width:min(90vw,370px);color:var(--text)}dialog::backdrop{background:#050605bb;backdrop-filter:blur(4px)}.dialog-card{background:#1c211b;border:1px solid var(--line);border-radius:15px;padding:20px}.dialog-card h2{font-size:20px;margin:0 0 15px}.dialog-card input{width:100%;margin-bottom:14px}.dialog-actions{display:flex;justify-content:end;gap:8px}.hidden{display:none!important}.rtl{direction:rtl}.rtl .topbar,.rtl .section-heading,.rtl .view-header,.rtl .control-row,.rtl .save-row,.rtl .advanced-toggle{direction:rtl}.rtl .session-score{text-align:left}.rtl .hero-ball{right:auto;left:-24px}.rtl .hero-line{left:auto;right:-20%}.rtl .session-date{border-right:0;border-left:1px solid var(--line);padding-right:0;padding-left:10px}.rtl .stat-card{text-align:right}.rtl .stat-graphic{right:auto;left:12px}.rtl .session-card{direction:rtl}.rtl .account-card{direction:rtl}.rtl .account-card .outline-button{grid-column:1/-1}.rtl .bar-label{direction:ltr}
@media(min-width:600px){body{padding:18px 0}.app-shell{border:1px solid #ffffff12;border-radius:22px;min-height:calc(100vh - 36px);overflow:hidden;padding-bottom:110px}.bottom-nav{bottom:18px;border-radius:0 0 22px 22px}}

/* Drill picker and session management controls */
.drill-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;align-items:stretch}
.drill-select-wrap{min-width:0}
.drill-select{width:100%;height:100%;min-height:48px;border:1px solid #484e43;border-radius:10px;background:#151813;color:var(--text);padding:10px 12px;font:11px var(--sans);outline:none}
.drill-select:focus{border-color:var(--orange);box-shadow:0 0 0 2px #ff784733}
.drill-select option,.drill-select optgroup{background:#191d18;color:var(--text)}
.add-custom-drill{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#191d18;color:var(--muted);font:10px var(--mono);white-space:nowrap}
.add-custom-drill span:first-child{font-size:16px;color:var(--orange)}
.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}
.session-card{grid-template-columns:44px minmax(0,1fr) auto auto;cursor:pointer}
.session-actions{display:flex;gap:4px}
.session-action{width:27px;height:27px;border:1px solid var(--line);border-radius:7px;background:#20251f;color:var(--text);font-size:14px;cursor:pointer}
.session-action:hover{border-color:var(--orange);color:var(--orange)}
.session-action.delete-action{color:#ff9973}
.session-save-actions{display:flex;align-items:center;gap:7px}
.session-cancel{border-color:#594038;color:#ffad91;cursor:pointer}
.session-cancel.danger-button{border-color:#8e4631;background:#351d17;color:#ffad91}
.rtl .session-card{grid-template-columns:44px minmax(0,1fr) auto auto}
@media(max-width:380px){.session-card{grid-template-columns:36px minmax(0,1fr) auto auto;padding:10px;gap:7px}.session-actions{gap:3px}.session-action{width:24px;height:25px}.session-date{padding-right:7px}.session-score b{font-size:14px}.session-save-actions{gap:5px}.session-save-actions .outline-button,.session-save-actions .primary-button{padding:9px 10px;font-size:9px}}
.drill-icon{flex:0 0 32px;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:#20251f;display:grid;place-items:center;font-size:17px}
.drill-name{flex:1;min-width:0}
