/* =========================================================================
   ATHLOS TENNIS — app concept
   Their black and their green, from the stencil wordmark. The player app is
   chalk and ink — a clean court in daylight. The coach side is the same
   building after dark.
   ========================================================================= */

:root{
  --brand:#5DA72E; --brand2:#71C837; --optic:#D4EF3A;
  --stage:#080A07;
  --f:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --fd:'Archivo','Inter',-apple-system,sans-serif;
  --fs:'Allerta Stencil','Archivo',sans-serif;
  --fm:ui-monospace,'SF Mono',SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --r:18px; --r-sm:12px; --r-xs:8px;
}

/* ---------- member theme (light) */
.screen{
  --bg0:#F2F1EB; --bg1:#FFFFFF; --bg2:#EAE9E1; --bg3:#DFDED5;
  --ink:#10120E; --tx:#10120E; --tx2:#45483F; --dim:#7D8175; --dim2:#A6A99E;
  --line:rgba(16,18,14,.08); --line2:rgba(16,18,14,.14);
  --g:#4C9424; --g2:#5DA72E; --g-bg:rgba(93,167,46,.12); --g-ink:#2F6512;
  --hold:#B9770E; --hold-bg:rgba(214,146,30,.13);
  --stop:#C73A33; --stop-bg:rgba(199,58,51,.10);
  --blue:#2F6BB3; --blue-bg:rgba(47,107,179,.1);
  --ring-bg:rgba(16,18,14,.08);
  --glass:rgba(250,250,246,.82);
  --shadow:0 1px 2px rgba(16,18,14,.05),0 8px 24px -12px rgba(16,18,14,.18);
}
/* ---------- coach theme (dark) */
.screen.dark{
  --bg0:#0A0C09; --bg1:#141712; --bg2:#1C2019; --bg3:#262B22;
  --ink:#F1F3EC; --tx:#F1F3EC; --tx2:#BCC2B2; --dim:#868D7C; --dim2:#5B6252;
  --line:rgba(255,255,255,.07); --line2:rgba(255,255,255,.13);
  --g:#7ACF3F; --g2:#71C837; --g-bg:rgba(113,200,55,.13); --g-ink:#A9E77C;
  --hold:#E5A84A; --hold-bg:rgba(229,168,74,.13);
  --stop:#E86A5F; --stop-bg:rgba(232,106,95,.12);
  --blue:#6FA6E8; --blue-bg:rgba(111,166,232,.12);
  --ring-bg:rgba(255,255,255,.08);
  --glass:rgba(16,19,15,.82);
  --shadow:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px -14px rgba(0,0,0,.8);
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f);background:var(--stage);color:#EEF1E9;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1000px 620px at 0% -10%,rgba(93,167,46,.20),transparent 60%),radial-gradient(800px 560px at 100% 0%,rgba(212,239,58,.06),transparent 60%),radial-gradient(900px 700px at 50% 120%,rgba(93,167,46,.10),transparent 60%)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:inherit}
input,select,textarea{font:inherit;color:inherit}
img{display:block;max-width:100%}
.ic{flex:none}
.num{font-variant-numeric:tabular-nums}

/* ============================================================ stage */
.stage{max-width:1580px;margin:0 auto;padding:24px 26px 44px;min-height:100vh;display:flex;flex-direction:column}
.stage-head{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand{display:flex;align-items:center;gap:16px;flex:1 1 360px;min-width:0}
.brand-mark{width:52px;height:52px;border-radius:14px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 26px -10px rgba(93,167,46,.6)}
.brand-txt h1{font-family:var(--fs);font-size:27px;font-weight:400;letter-spacing:.16em;line-height:1;color:var(--brand2)}
.brand-txt h1 span{color:#fff}
.brand-txt p{font-size:12.5px;color:#8E9686;margin-top:7px}
.head-right{margin-left:auto;text-align:right}
.head-meta{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap;font-size:11.5px;color:#8E9686}
.head-meta b{color:#D7DDCC;font-weight:600}
.by{font-size:11px;color:#626A5B;margin-top:8px;letter-spacing:.08em;text-transform:uppercase}
.by b{color:#C9D0BE}
.head-actions{display:flex;gap:8px;width:100%;justify-content:flex-end;flex-wrap:wrap}
.ghost{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 15px;font-size:11.5px;color:#C9D0BE;letter-spacing:.06em;text-transform:uppercase;transition:.2s var(--ease)}
.ghost:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.05);color:#fff}
.ghost.on{background:var(--brand);border-color:var(--brand);color:#0A0C09;font-weight:600}

.stage-body{display:grid;grid-template-columns:220px minmax(0,1fr) 370px;gap:30px;padding-top:24px;flex:1;align-items:start}
.rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:1px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:none;padding-bottom:30px}
.rail::-webkit-scrollbar{display:none}
.rail-h{font-family:var(--fd);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#5E6656;margin:16px 0 6px;padding-left:12px}
.rail-h:first-child{margin-top:0}
.rail button{text-align:left;padding:6.5px 12px;border-radius:9px;font-size:13px;color:#949C8B;transition:.15s var(--ease);border-left:2px solid transparent}
.rail button:hover{color:#fff;background:rgba(255,255,255,.04)}
.rail button.on{color:#fff;background:linear-gradient(90deg,rgba(93,167,46,.22),rgba(93,167,46,0));border-left-color:var(--brand2)}

.phone-wrap{display:flex;flex-direction:column;align-items:center;gap:20px}
.phone{position:relative;width:393px;height:852px;border-radius:58px;flex:none;background:linear-gradient(155deg,#30352c,#0b0d0a 40%,#262a22);padding:11px;
  box-shadow:0 0 0 1px rgba(255,255,255,.1),0 2px 0 rgba(255,255,255,.06) inset,0 50px 100px -30px rgba(0,0,0,.95),0 0 80px -20px rgba(93,167,46,.25)}
.phone-side{position:absolute;background:linear-gradient(90deg,#1b1f18,#3b4136);border-radius:2px}
.phone-side-l{left:-2.5px;top:150px;width:3px;height:34px}.phone-side-l2{left:-2.5px;top:200px;width:3px;height:58px}.phone-side-r{right:-2.5px;top:186px;width:3px;height:82px}
.screen{position:relative;width:100%;height:100%;border-radius:47px;overflow:hidden;background:var(--bg0);color:var(--tx);display:flex;flex-direction:column;transition:background .4s}
.notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:114px;height:32px;background:#000;border-radius:18px;z-index:80}
.sbar{position:absolute;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:15px 28px 0;font-size:14.5px;font-weight:600;z-index:79;color:var(--tx);pointer-events:none}
.sbar.on-photo{color:#fff}
.sbar-r{display:flex;align-items:center;gap:5px}
.app{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;position:relative;padding-bottom:110px}
.app::-webkit-scrollbar{display:none}
.chrome{position:absolute;left:0;right:0;bottom:0;z-index:40}
.phone-cap{text-align:center;max-width:420px}
.phone-cap p{font-size:12.5px;color:#8E9686;line-height:1.65}
.phone-cap b{color:#D7DDCC}
.cap-btns{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}

.notes{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin;padding-right:4px}
.notes::-webkit-scrollbar{width:5px}.notes::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:9px}
.n-k{font-family:var(--fd);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brand2)}
.n-h{font-family:var(--fd);font-size:25px;font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:8px 0 12px;color:#F3F6EE;font-stretch:108%}
.n-p{font-size:13.5px;line-height:1.66;color:#A9B19F;margin-bottom:12px}
.n-p b{color:#E6EBDD;font-weight:600}
.n-list{display:flex;flex-direction:column;gap:9px;margin:14px 0}
.n-list li{list-style:none;display:flex;gap:10px;font-size:13px;line-height:1.55;color:#A9B19F}
.n-list li:before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:var(--brand2);margin-top:7px}
.n-list b{color:#E6EBDD;font-weight:600}
.n-quote{border-left:2px solid var(--brand);padding:4px 0 4px 14px;margin:14px 0;font-size:13.5px;line-height:1.6;color:#D4DACA;font-style:italic}
.n-quote small{display:block;font-style:normal;color:#6E7666;font-size:11px;margin-top:6px;letter-spacing:.04em}
.n-try{margin-top:16px;border:1px solid rgba(113,200,55,.25);background:rgba(93,167,46,.07);border-radius:14px;padding:13px 15px}
.n-try b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand2);margin-bottom:6px}
.n-try p{font-size:13px;line-height:1.55;color:#C9D0BE}
.n-tag{display:inline-block;font-size:10.5px;letter-spacing:.06em;padding:3px 8px;border-radius:99px;margin:2px 4px 2px 0;border:1px solid rgba(255,255,255,.12);color:#A9B19F}
.n-tag.real{border-color:rgba(113,200,55,.35);color:#A9E77C}
.n-tag.mdl{border-color:rgba(229,168,74,.35);color:#E5C084}
.only-mobile{display:none}

/* ============================================================ app primitives */
.pg{padding:0 18px}
.top{padding:58px 18px 6px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:30;background:linear-gradient(var(--bg0) 78%,transparent)}
.top h2{font-family:var(--fd);font-size:15px;font-weight:600;flex:1;text-align:center;letter-spacing:-.005em}
.iconbtn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--bg1);box-shadow:var(--shadow);color:var(--tx);flex:none}
.iconbtn.ghosted{background:transparent;box-shadow:none}
.iconbtn.glass{background:rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;box-shadow:none}
.iconbtn .badge{position:absolute}
.ttl{padding:58px 18px 4px}
.ttl small{display:block;font-size:12.5px;color:var(--dim);font-weight:500;margin-bottom:4px}
.ttl h1{font-family:var(--fd);font-size:31px;font-weight:700;letter-spacing:-.025em;line-height:1.05;font-stretch:106%}
.ttl-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.h-xl{font-family:var(--fd);font-weight:700;letter-spacing:-.02em;font-stretch:106%}

.sec{display:flex;align-items:baseline;justify-content:space-between;margin:24px 0 10px}
.sec h3{font-family:var(--fd);font-size:17px;font-weight:700;letter-spacing:-.01em}
.sec-more{font-size:12.5px;color:var(--g);font-weight:600}
.card{background:var(--bg1);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}
.card+.card{margin-top:10px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.lbl{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.lbl.g{color:var(--g)}
.muted{color:var(--dim)}
.small{font-size:12.5px;line-height:1.5}
.p{font-size:14px;line-height:1.6;color:var(--tx2)}
.mdl{font-style:normal;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hold);border:1px solid currentColor;border-radius:99px;padding:0 5px;opacity:.8;white-space:nowrap}
.gap8{display:flex;flex-direction:column;gap:8px}
.hstack{display:flex;align-items:center;gap:10px}
.spacer{flex:1}
.hr{height:1px;background:var(--line);margin:14px 0}

.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:99px;background:var(--bg2);color:var(--tx2);white-space:nowrap}
.chip.g{background:var(--g-bg);color:var(--g-ink)}
.chip.hold{background:var(--hold-bg);color:var(--hold)}
.chip.stop{background:var(--stop-bg);color:var(--stop)}
.chip.blue{background:var(--blue-bg);color:var(--blue)}
.chip.ink{background:var(--ink);color:var(--bg0)}
.chip.optic{background:var(--optic);color:#10120E}
.chip.glass{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:99px;background:var(--ink);color:var(--bg0);font-weight:600;font-size:15px;width:100%;transition:transform .15s var(--ease),opacity .2s}
.btn:active{transform:scale(.98)}
.btn.g{background:var(--g2);color:#0B0E09}
.btn.sec2{background:var(--bg2);color:var(--tx)}
.btn.line{background:transparent;border:1.5px solid var(--line2);color:var(--tx)}
.btn.sm{height:38px;font-size:13.5px;width:auto;padding:0 16px}
.btn.xs{height:32px;font-size:12.5px;width:auto;padding:0 13px}
.btn[disabled]{opacity:.35;pointer-events:none}
.btns{display:flex;gap:8px}
.btns>.btn{flex:1}

.row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--tx)}
.row:last-child{border-bottom:0}
.row-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--bg2);color:var(--tx2);flex:none}
.row-ic.g{background:var(--g-bg);color:var(--g)}
.row-ic.hold{background:var(--hold-bg);color:var(--hold)}
.row-ic.stop{background:var(--stop-bg);color:var(--stop)}
.row-ic.blue{background:var(--blue-bg);color:var(--blue)}
.row-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.row-tx b{font-size:14.5px;font-weight:600;letter-spacing:-.005em}
.row-tx small{font-size:12.5px;color:var(--dim);line-height:1.4}
.row-r{font-size:13px;color:var(--tx2);font-weight:600;white-space:nowrap}
.row>.ic:last-child{color:var(--dim2)}
.list{background:var(--bg1);border-radius:var(--r);box-shadow:var(--shadow);padding:2px 14px}

.av{border-radius:50%;overflow:hidden;flex:none;display:inline-grid;place-items:center}
.av img{width:100%;height:100%;object-fit:cover}
.av-i{color:#fff;font-weight:600;letter-spacing:.02em}

.ring{position:relative;display:inline-grid;place-items:center;flex:none}
.ring svg{position:absolute;inset:0}
.ring-in{position:relative;text-align:center;line-height:1}
.bar{display:block;height:6px;border-radius:9px;background:var(--ring-bg);overflow:hidden}
.bar i{display:block;height:100%;border-radius:9px;background:var(--g);transition:width .8s var(--ease)}
.bar.optic i{background:var(--optic)}
.bar.hold i{background:var(--hold)}
.bar.stop i{background:var(--stop)}
.pdots{display:inline-flex;gap:3px}
.pdots i{width:14px;height:5px;border-radius:3px;background:var(--ring-bg)}
.pdots i.on{background:var(--g)}

.seg{display:flex;background:var(--bg2);border-radius:99px;padding:3px;gap:2px}
.seg button{flex:1;height:34px;border-radius:99px;font-size:13px;font-weight:600;color:var(--dim);transition:.2s var(--ease);white-space:nowrap;padding:0 8px}
.seg button.on{background:var(--bg1);color:var(--tx);box-shadow:var(--shadow)}
.pills{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 18px;margin:0 -18px}
.pills::-webkit-scrollbar{display:none}
.pill{height:34px;padding:0 14px;border-radius:99px;background:var(--bg1);box-shadow:var(--shadow);font-size:13px;font-weight:600;color:var(--tx2);white-space:nowrap;flex:none}
.pill.on{background:var(--ink);color:var(--bg0)}

.hscroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 18px 6px;margin:0 -18px;scroll-snap-type:x mandatory}
.hscroll::-webkit-scrollbar{display:none}
.hscroll>*{scroll-snap-align:start;flex:none}

/* verdicts */
.vd{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}
.vd:last-child{border-bottom:0}
.vd-ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;margin-top:1px}
.vd-go .vd-ic{background:var(--g-bg);color:var(--g)}
.vd-hold .vd-ic{background:var(--hold-bg);color:var(--hold)}
.vd-stop .vd-ic{background:var(--stop-bg);color:var(--stop)}
.vd b{display:block;font-size:13.5px;font-weight:600}
.vd small{display:block;font-size:12.5px;color:var(--dim);line-height:1.45;margin-top:2px}

/* ============================================================ photo hero */
.hero{position:relative;height:340px;overflow:hidden;color:#fff}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.15) 55%,rgba(8,10,7,.92) 100%)}
.hero-in{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}
.hero-in h1{font-family:var(--fd);font-size:30px;font-weight:800;line-height:1.02;letter-spacing:-.025em;font-stretch:108%}
.hero-in p{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.82);margin-top:8px}
.hero-top{position:absolute;top:54px;left:16px;right:16px;display:flex;justify-content:space-between;z-index:3}
.overlap{margin-top:-14px;position:relative;z-index:3;border-radius:22px 22px 0 0;background:var(--bg0);padding-top:4px}

/* ============================================================ tab bar */
.tabbar{position:absolute;left:12px;right:12px;bottom:22px;height:66px;border-radius:26px;background:var(--glass);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);
  box-shadow:0 0 0 1px var(--line),0 14px 40px -14px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:space-around;padding:0 6px}
.tab{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--dim);padding:8px 6px;min-width:58px;position:relative;transition:color .2s}
.tab.on{color:var(--tx)}
.tab.on .ic{color:var(--g)}
.tab .dot{position:absolute;top:5px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--stop);box-shadow:0 0 0 2px var(--bg1)}
.homebar{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:134px;height:5px;border-radius:9px;background:var(--tx);opacity:.85;z-index:90;pointer-events:none}

/* ============================================================ home */
.greet{padding:58px 18px 0;display:flex;align-items:center;gap:12px}
.greet-tx{flex:1}
.greet-tx small{font-size:12.5px;color:var(--dim);font-weight:500}
.greet-tx h1{font-family:var(--fd);font-size:25px;font-weight:700;letter-spacing:-.02em;font-stretch:106%}
.wm{font-family:var(--fs);letter-spacing:.2em;font-size:12px;color:var(--g)}

.next{position:relative;border-radius:24px;overflow:hidden;color:#fff;background:#0E110C;margin-top:16px;box-shadow:0 20px 40px -20px rgba(16,18,14,.55)}
.next>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.next:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(10,12,9,.92) 25%,rgba(10,12,9,.35));z-index:1}
.next-in{position:relative;z-index:2;padding:18px}
.next-when{font-family:var(--fd);font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:10px;font-stretch:108%}
.next-when small{font-size:15px;font-weight:600;opacity:.7;margin-left:6px;letter-spacing:0}
.next-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:rgba(255,255,255,.75);margin-top:10px}
.next-meta span{display:flex;align-items:center;gap:5px}
.next-foot{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.next-foot .btn{height:38px;font-size:13px;background:#fff;color:#0E110C;width:auto;padding:0 14px}
.next-foot .btn.g{background:var(--optic)}
.cd{font-family:var(--fm);font-size:11px;letter-spacing:.06em;color:var(--optic)}

.report{border-radius:22px;background:var(--bg1);box-shadow:var(--shadow);overflow:hidden}
.report-h{display:flex;align-items:center;gap:11px;padding:15px 16px 0}
.report-h b{font-size:14px;display:block}
.report-h small{font-size:12px;color:var(--dim)}
.report-q{font-family:var(--fd);font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.2;padding:12px 16px 0}
.report-p{font-size:13.5px;line-height:1.55;color:var(--tx2);padding:8px 16px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.clips{display:flex;gap:7px;padding:14px 16px 0}
.clip{position:relative;flex:1;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#111}
.clip img{width:100%;height:100%;object-fit:cover;opacity:.85}
.clip .pl{position:absolute;inset:0;display:grid;place-items:center;color:#fff}
.clip .pl span{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center}
.clip small{position:absolute;left:7px;bottom:6px;right:7px;font-size:10.5px;color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.6);line-height:1.2}
.clip i{position:absolute;right:6px;top:6px;font-style:normal;font-size:9.5px;font-family:var(--fm);color:#fff;background:rgba(0,0,0,.5);border-radius:5px;padding:1px 4px}
.report-f{display:flex;align-items:center;gap:8px;padding:14px 16px 16px}
.new-dot{width:8px;height:8px;border-radius:50%;background:var(--stop);display:inline-block}

.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{background:var(--bg1);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:8px;min-height:120px;text-align:left}
.tile .lbl{display:flex;align-items:center;gap:6px}
.tile-v{font-family:var(--fd);font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1;font-stretch:106%}
.tile-v small{font-size:13px;font-weight:600;color:var(--dim);letter-spacing:0;margin-left:3px}
.tile-s{font-size:12px;color:var(--dim);line-height:1.4;margin-top:auto}
.credits{display:flex;gap:4px}
.credits i{flex:1;height:22px;border-radius:5px;background:var(--g)}
.credits i.used{background:var(--ring-bg)}

.evc{width:258px;border-radius:20px;overflow:hidden;background:var(--bg1);box-shadow:var(--shadow);text-align:left}
.evc-img{position:relative;height:150px;overflow:hidden}
.evc-img img{width:100%;height:100%;object-fit:cover}
.evc-img .chip{position:absolute;left:10px;top:10px}
.evc-b{padding:12px 14px 14px}
.evc-b b{display:block;font-family:var(--fd);font-size:15.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.evc-b small{display:block;font-size:12px;color:var(--dim);margin-top:4px}

.fam{display:flex;align-items:center;gap:12px}
.ballst{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.ballst i{width:10px;height:10px;border-radius:50%}

/* ============================================================ booking */
.types{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.type{border-radius:16px;background:var(--bg1);box-shadow:var(--shadow);padding:13px;text-align:left;border:1.5px solid transparent;display:flex;flex-direction:column;gap:3px;transition:.2s var(--ease)}
.type b{font-size:13.5px;font-weight:700}
.type small{font-size:11.5px;color:var(--dim);line-height:1.3}
.type .pr{font-family:var(--fd);font-size:20px;font-weight:800;margin-top:6px;letter-spacing:-.01em}
.type .pr small{display:inline;font-size:11px}
.type.on{border-color:var(--ink)}
.screen.dark .type.on{border-color:var(--g)}
.venues{display:flex;gap:8px}
.vn{flex:1;border-radius:16px;overflow:hidden;position:relative;height:86px;color:#fff;border:2px solid transparent;transition:.2s var(--ease)}
.vn img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vn:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75))}
.vn span{position:absolute;left:9px;bottom:8px;z-index:2;font-size:12.5px;font-weight:700;line-height:1.15}
.vn.on{border-color:var(--g2);box-shadow:0 0 0 3px var(--g-bg)}
.days{display:flex;gap:7px}
.dy{width:54px;height:70px;border-radius:16px;background:var(--bg1);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:none}
.dy small{font-size:11px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.dy b{font-family:var(--fd);font-size:21px;font-weight:700}
.dy i{width:5px;height:5px;border-radius:50%;background:var(--g);margin-top:2px}
.dy i.none{background:transparent}
.dy.on{background:var(--ink);color:var(--bg0)}
.dy.on small{color:inherit;opacity:.7}
.slots{display:flex;flex-direction:column;gap:7px}
.slot{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--bg1);box-shadow:var(--shadow);text-align:left;border:1.5px solid transparent;width:100%}
.slot b{font-family:var(--fd);font-size:17px;font-weight:700;width:76px;flex:none}
.slot .s-tx{flex:1;font-size:12.5px;color:var(--dim);line-height:1.35}
.slot .s-pr{font-size:13px;font-weight:700}
.slot.on{border-color:var(--ink)}
.slot.off{background:transparent;box-shadow:none;border:1.5px dashed var(--line2);opacity:.85}
.slot.off b{color:var(--dim2);text-decoration:line-through;text-decoration-thickness:1.5px}
.slot.off .s-tx{color:var(--dim)}
.slot.drv .s-tx{color:var(--hold)}
.slot-h{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:12px 2px 2px}
.sum{display:flex;justify-content:space-between;font-size:14px;padding:6px 0}
.sum b{font-weight:700}
.sum.tot{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font-size:16px}
.paybar{position:absolute;left:0;right:0;bottom:0;padding:14px 18px 34px;background:linear-gradient(transparent,var(--bg0) 26%);z-index:35}

/* ============================================================ sheets */
#sheetHost{position:absolute;inset:0;z-index:70;pointer-events:none}
#sheetHost.on{pointer-events:auto}
.scrim{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:opacity .3s}
#sheetHost.on .scrim{opacity:1}
.sheet{position:absolute;left:0;right:0;bottom:0;max-height:88%;overflow-y:auto;background:var(--bg0);border-radius:28px 28px 0 0;padding:10px 18px 34px;transform:translateY(100%);transition:transform .38s var(--ease);scrollbar-width:none}
.sheet::-webkit-scrollbar{display:none}
#sheetHost.on .sheet{transform:none}
.sheet-grab{width:38px;height:5px;border-radius:9px;background:var(--line2);margin:0 auto 14px}
.sheet h2{font-family:var(--fd);font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}
.sheet.full{max-height:94%;min-height:70%}
.done-mark{width:72px;height:72px;border-radius:50%;background:var(--g2);color:#0B0E09;display:grid;place-items:center;margin:14px auto 16px;animation:pop .5s var(--ease)}
@keyframes pop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}

.toast{position:absolute;left:50%;top:60px;transform:translate(-50%,-20px);background:var(--ink);color:var(--bg0);font-size:13px;font-weight:600;padding:10px 16px;border-radius:99px;display:flex;align-items:center;gap:8px;z-index:95;opacity:0;transition:.35s var(--ease);pointer-events:none;white-space:nowrap;max-width:340px}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast .ic{color:var(--g2)}
.push{position:absolute;left:10px;right:10px;top:-120px;z-index:96;border-radius:22px;background:rgba(245,245,240,.86);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);color:#10120E;padding:12px;display:flex;gap:11px;align-items:flex-start;text-align:left;box-shadow:0 14px 40px -10px rgba(0,0,0,.45);transition:top .55s var(--ease)}
.push.on{top:52px}
.push-ic{width:38px;height:38px;border-radius:10px;overflow:hidden;flex:none;background:#000}
.push-ic img{width:100%;height:100%}
.push-tx{flex:1;min-width:0;font-size:13px;line-height:1.35}
.push-tx>b{display:block;font-size:13.5px}
.push-tx>span{display:block;color:#3A3D35}
.push-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.06em;color:#6A6E63;margin-bottom:2px}
.push-top b{font-weight:600}

/* ============================================================ inputs */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.field label{font-size:12px;font-weight:600;color:var(--dim)}
.inp{height:48px;border-radius:14px;border:1.5px solid var(--line2);background:var(--bg1);padding:0 14px;font-size:15px;outline:none;width:100%}
.inp:focus{border-color:var(--g)}
textarea.inp{height:auto;min-height:92px;padding:12px 14px;resize:none;line-height:1.5}
.toggle{width:46px;height:28px;border-radius:99px;background:var(--bg3);position:relative;flex:none;transition:.2s}
.toggle:after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.25s var(--ease)}
.toggle.on{background:var(--g2)}
.toggle.on:after{left:21px}

/* ============================================================ messages */
.chat{display:flex;flex-direction:column;gap:8px;padding:6px 16px 130px}
.bub{max-width:80%;padding:10px 13px;border-radius:20px;font-size:14px;line-height:1.45}
.bub.them{background:var(--bg1);box-shadow:var(--shadow);border-bottom-left-radius:6px;align-self:flex-start}
.bub.me{background:var(--ink);color:var(--bg0);border-bottom-right-radius:6px;align-self:flex-end}
.screen.dark .bub.me{background:var(--g2);color:#0B0E09}
.bub-t{font-size:10.5px;color:var(--dim);margin:2px 6px 6px}
.bub-t.me{align-self:flex-end}
.chat-day{text-align:center;font-size:11px;color:var(--dim);font-weight:600;margin:10px 0 4px;letter-spacing:.04em}
.typing{display:inline-flex;gap:4px;padding:14px 14px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--dim2);animation:ty 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes ty{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.composer{position:absolute;left:0;right:0;bottom:0;padding:10px 12px 30px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);z-index:35}
.qr{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:8px}
.qr::-webkit-scrollbar{display:none}
.qr button{flex:none;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:99px;background:var(--bg1);box-shadow:var(--shadow);color:var(--tx2)}
.comp-row{display:flex;gap:8px;align-items:center}
.comp-row input{flex:1;height:42px;border-radius:99px;border:1px solid var(--line2);background:var(--bg1);padding:0 16px;font-size:14px;outline:none}
.send{width:42px;height:42px;border-radius:50%;background:var(--g2);color:#0B0E09;display:grid;place-items:center;flex:none}
.bubcard{display:flex;gap:10px;align-items:center;background:var(--bg2);border-radius:14px;padding:10px;margin-top:8px;color:var(--tx)}

/* ============================================================ pathway */
.lvl{border-radius:20px;background:var(--bg1);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}
.lvl+.lvl{margin-top:10px}
.lvl-h{display:flex;align-items:center;gap:12px}
.lvl-n{font-family:var(--fd);font-size:13px;font-weight:800;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--bg2);flex:none}
.lvl.cur{box-shadow:0 0 0 2px var(--g2),var(--shadow)}
.lvl.cur .lvl-n{background:var(--g2);color:#0B0E09}
.lvl.done .lvl-n{background:var(--ink);color:var(--bg0)}
.sk{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}
.sk:last-child{border-bottom:0}
.sk-st{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid var(--line2);color:transparent}
.sk-st.s1{border-color:var(--hold);background:conic-gradient(var(--hold) 0 33%,transparent 0)}
.sk-st.s2{border-color:var(--g);background:conic-gradient(var(--g) 0 66%,transparent 0)}
.sk-st.s3{border-color:var(--g);background:var(--g);color:#fff}
.sk b{flex:1;font-size:13.5px;font-weight:600}
.sk small{font-size:11.5px;color:var(--dim);font-weight:600}
.pil{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pil-c{background:var(--bg1);border-radius:16px;box-shadow:var(--shadow);padding:13px}
.pil-c b{font-size:13.5px;display:block;margin-bottom:6px}
.pil-v{font-family:var(--fd);font-size:24px;font-weight:800;line-height:1}
.pil-v small{font-size:12px;color:var(--dim);font-weight:600}
.spark{display:flex;align-items:flex-end;gap:3px;height:28px;margin-top:8px}
.spark i{flex:1;background:var(--g-bg);border-radius:3px}
.spark i:last-child{background:var(--g)}
.lc{display:block;overflow:visible}
.lc-x{font-size:9.5px;fill:var(--dim);font-family:var(--f)}
.lc-t{font-size:9.5px;fill:var(--tx2);font-weight:600;font-family:var(--f)}

.tl{position:relative;padding-left:24px}
.tl:before{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line2)}
.tl-i{position:relative;padding:0 0 18px}
.tl-i:before{content:'';position:absolute;left:-22px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--bg0);border:2px solid var(--g)}
.tl-i.done:before{background:var(--g)}
.tl-i.now:before{background:var(--optic);border-color:var(--ink);box-shadow:0 0 0 4px var(--g-bg)}
.tl-i.fut:before{border-color:var(--dim2);border-style:dashed}
.tl-i small{font-size:11px;color:var(--dim);font-weight:600;letter-spacing:.03em}
.tl-i b{display:block;font-size:14px;margin-top:2px}
.tl-i p{font-size:12.5px;color:var(--tx2);line-height:1.45;margin-top:2px}

/* ============================================================ league */
.brk{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 18px 8px;margin:0 -18px}
.brk::-webkit-scrollbar{display:none}
.brk-col{display:flex;flex-direction:column;justify-content:space-around;gap:10px;flex:none;width:188px}
.brk-col h4{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
.mt{background:var(--bg1);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;text-align:left;width:100%}
.mt-l{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:7px 10px 0}
.mt-r{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px}
.mt-r+.mt-r{border-top:1px solid var(--line)}
.mt-r .sd{font-size:10px;color:var(--dim);width:12px;font-weight:700}
.mt-r .tn{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-r .sc{font-family:var(--fd);font-weight:800}
.mt-r.w .tn,.mt-r.w .sc{color:var(--g)}
.mt-r.l{opacity:.55}
.mt.mine{box-shadow:0 0 0 2px var(--optic),var(--shadow)}

/* ============================================================ program */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fact{background:var(--bg1);border-radius:14px;box-shadow:var(--shadow);padding:11px 12px}
.fact small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.fact b{display:block;font-size:14px;margin-top:3px;line-height:1.3}
.agenda{display:flex;flex-direction:column}
.ag{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.ag:last-child{border-bottom:0}
.ag time{font-family:var(--fm);font-size:11.5px;color:var(--dim);width:82px;flex:none;padding-top:2px}
.ag b{font-size:14px;display:block}
.ag small{font-size:12.5px;color:var(--dim);line-height:1.4}
.pricebox{display:flex;gap:8px}
.pricebox>button{flex:1;border-radius:16px;background:var(--bg1);box-shadow:var(--shadow);padding:14px;text-align:left;border:1.5px solid transparent}
.pricebox>button.on{border-color:var(--ink)}
.pricebox b{font-family:var(--fd);font-size:24px;font-weight:800;display:block;margin-top:4px}
.pricebox small{font-size:12px;color:var(--dim)}
.pod{background:var(--bg1);border-radius:16px;box-shadow:var(--shadow);padding:12px 14px}
.pod-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pod-h b{font-family:var(--fd);font-size:16px;font-weight:800}
.pod-p{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13px}
.pod-p .lv{margin-left:auto;font-family:var(--fd);font-weight:700;font-size:13px;color:var(--tx2)}
.pod-p.me b{color:var(--g)}
.pod-empty{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12.5px;color:var(--dim)}
.pod-empty i{width:26px;height:26px;border-radius:50%;border:1.5px dashed var(--line2)}

/* ============================================================ coach */
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kpi{background:var(--bg1);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;text-align:left}
.kpi small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.kpi b{display:block;font-family:var(--fd);font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:6px;line-height:1}
.kpi span{display:block;font-size:12px;color:var(--dim);margin-top:6px}
.kpi span.up{color:var(--g)}
.kpi span.dn{color:var(--stop)}
.run{display:flex;flex-direction:column}
.run-i{display:flex;gap:12px;align-items:stretch;text-align:left;width:100%}
.run-t{width:54px;flex:none;padding-top:12px;font-family:var(--fd);font-weight:700;font-size:14px}
.run-t small{display:block;font-family:var(--f);font-size:10.5px;color:var(--dim);font-weight:600}
.run-c{flex:1;background:var(--bg1);border-radius:15px;box-shadow:var(--shadow);padding:12px 13px;margin-bottom:8px;border-left:3px solid var(--g)}
.run-c b{font-size:14px;display:block}
.run-c small{font-size:12px;color:var(--dim);display:block;margin-top:2px}
.run-c.prime{border-left-color:var(--optic)}
.run-c.semi{border-left-color:var(--blue)}
.run-c.academy,.run-c.clinic{border-left-color:var(--hold)}
.run-c.past{opacity:.5}
.drive{display:flex;align-items:center;gap:8px;margin:0 0 8px 66px;font-size:11.5px;color:var(--hold);font-weight:600}
.drive:before{content:'';flex:1;max-width:14px;border-top:1.5px dashed var(--hold)}
.wk{display:grid;grid-template-columns:38px repeat(5,1fr);gap:3px;font-size:10px}
.wk-h{text-align:center;font-weight:700;color:var(--dim);padding:4px 0;font-size:10.5px}
.wk-h b{display:block;font-family:var(--fd);font-size:15px;color:var(--tx)}
.wk-t{color:var(--dim);font-family:var(--fm);font-size:9.5px;padding-top:3px;text-align:right;padding-right:4px}
.wk-c{height:34px;border-radius:7px;background:var(--bg1);padding:3px 5px;overflow:hidden;line-height:1.15;font-weight:600;font-size:9.5px;text-align:left}
.wk-c.free{background:transparent;border:1px dashed var(--line2)}
.wk-c.v-fortlee{background:rgba(113,200,55,.2);color:var(--g-ink)}
.wk-c.v-franklin{background:var(--blue-bg);color:var(--blue)}
.wk-c.v-sparta{background:var(--hold-bg);color:var(--hold)}
.wk-c.v-wayne{background:rgba(180,120,220,.16);color:#C9A0EA}
.wk-c.mine{box-shadow:inset 0 0 0 1.5px var(--optic)}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--dim);margin-top:10px}
.legend span{display:flex;align-items:center;gap:5px}
.legend i{width:9px;height:9px;border-radius:3px}
.req{background:var(--bg1);border-radius:18px;box-shadow:var(--shadow);padding:14px}
.req+.req{margin-top:10px}
.req-h{display:flex;align-items:center;gap:10px}
.req-h b{font-size:14.5px;display:block}
.req-h small{font-size:12px;color:var(--dim)}
.req-n{font-size:13px;color:var(--tx2);line-height:1.45;margin:10px 0;padding:10px 12px;background:var(--bg2);border-radius:12px}
.compose-sk{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.stepper{display:flex;gap:4px}
.stepper button{width:30px;height:30px;border-radius:9px;background:var(--bg2);font-weight:700;font-size:13px;color:var(--dim)}
.stepper button.on{background:var(--g2);color:#0B0E09}
.hw{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;background:var(--bg2);margin-bottom:6px;text-align:left;width:100%;font-size:13px;border:1.5px solid transparent}
.hw.on{border-color:var(--g2);background:var(--g-bg)}
.hw .ck{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line2);display:grid;place-items:center;flex:none;color:transparent}
.hw.on .ck{background:var(--g2);border-color:var(--g2);color:#0B0E09}
.lead{background:var(--bg1);border-radius:16px;box-shadow:var(--shadow);padding:13px 14px;text-align:left;width:100%}
.lead+.lead{margin-top:8px}
.stg{display:flex;gap:3px;margin-top:10px}
.stg i{flex:1;height:4px;border-radius:3px;background:var(--ring-bg)}
.stg i.on{background:var(--g)}

.img-card{position:relative;border-radius:20px;overflow:hidden;height:180px;color:#fff;display:block;width:100%;text-align:left}
.img-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.img-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.82))}
.img-card .in{position:absolute;left:14px;right:14px;bottom:13px;z-index:2}
.img-card .in b{font-family:var(--fd);font-size:18px;font-weight:800;display:block;line-height:1.15;letter-spacing:-.01em}
.img-card .in small{font-size:12.5px;opacity:.85;display:block;margin-top:3px}
.img-card .chip{position:absolute;top:12px;left:12px;z-index:2}

.art{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);width:100%;text-align:left}
.art:last-child{border-bottom:0}
.art img{width:66px;height:66px;border-radius:12px;object-fit:cover;flex:none}
.art b{font-size:13.5px;line-height:1.3;display:block}
.art small{font-size:11.5px;color:var(--dim);display:block;margin-top:4px}

.vid{position:relative;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:16/10}
.vid img{width:100%;height:100%;object-fit:cover;opacity:.9}
.vid-ui{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;display:flex;align-items:center;gap:10px;font-size:11px;font-family:var(--fm)}
.vid-ui .trk{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3);position:relative}
.vid-ui .trk i{position:absolute;left:0;top:0;bottom:0;background:var(--optic);border-radius:3px}
.vid-ui .trk em{position:absolute;top:-3px;width:9px;height:9px;border-radius:50%;background:#fff;transform:translateX(-50%)}
.vid-mark{position:absolute;border:2px solid var(--optic);border-radius:50%}
.vid-lbl{position:absolute;background:var(--optic);color:#10120E;font-size:11px;font-weight:700;padding:3px 7px;border-radius:6px}
.vid-play{position:absolute;inset:0;display:grid;place-items:center}
.vid-play span{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff}
.note-t{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);text-align:left;width:100%}
.note-t time{font-family:var(--fm);font-size:11.5px;color:var(--g);font-weight:600;flex:none;width:36px;padding-top:1px}
.note-t p{font-size:13px;line-height:1.45;color:var(--tx2)}

.banner{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;background:var(--ink);color:var(--bg0);text-align:left;width:100%}
.banner.g{background:var(--g-bg);color:var(--tx)}
.banner.hold{background:var(--hold-bg);color:var(--tx)}
.banner b{font-size:13.5px;display:block}
.banner small{font-size:12px;opacity:.75;display:block;margin-top:2px;line-height:1.4}
.banner .ic{flex:none}

.mode-switch{display:flex;align-items:center;gap:10px;padding:14px;border-radius:18px;background:var(--ink);color:var(--bg0);width:100%;text-align:left}
.qr-code{width:120px;height:120px;border-radius:12px;background:#fff;padding:8px;display:grid;grid-template-columns:repeat(11,1fr);gap:1px}
.qr-code i{background:#10120E;border-radius:1px}
.qr-code i.o{background:transparent}

@media (max-width:1240px){
  .stage-body{grid-template-columns:minmax(0,1fr) 340px}
  .rail{display:none}
}
@media (max-width:860px){
  .stage{padding:16px 16px 40px}
  .stage-body{grid-template-columns:minmax(0,1fr)}
  .notes{position:static;max-height:none}
  .head-right{display:none}
  .phone{transform:scale(.92);transform-origin:top center;margin-bottom:-60px}
}
@media (max-width:430px){
  .phone{width:100%;height:calc(100vh - 140px);min-height:680px;border-radius:40px;padding:8px;transform:none;margin:0}
  .screen{border-radius:33px}
}

/* status-bar fade once content scrolls under it */
.screen:before{content:'';position:absolute;top:0;left:0;right:0;height:58px;z-index:58;pointer-events:none;opacity:0;transition:opacity .25s;
  background:linear-gradient(180deg,var(--bg0) 0%,var(--bg0) 55%,transparent 100%)}
.screen.fade:before{opacity:1}
.screen.fade .sbar.on-photo{color:var(--tx)}
.paybar.above{bottom:88px;padding:10px 18px 8px;background:none}
.paybar.above .btn{box-shadow:0 12px 30px -10px rgba(16,18,14,.5)}
.wk-c.drv{background:repeating-linear-gradient(135deg,transparent 0 5px,var(--hold-bg) 5px 10px);color:var(--hold);border:1px dashed var(--hold)}
.chrome .paybar,.chrome .composer{position:absolute}
.screen.has-tabs .paybar{bottom:88px;padding:10px 18px 8px;background:none}
.screen.has-tabs .paybar .btn{box-shadow:0 12px 30px -10px rgba(16,18,14,.5)}
.ag time{width:96px;font-size:11px}
