:root {
  --bg: #051117;
  --bg-soft: #081820;
  --bg-card: #0a1e28;
  --bg-card-hover: #0f2a38;
  --accent: #fd7b5f;
  --accent-soft: rgba(253,123,95,0.12);
  --accent-line: rgba(253,123,95,0.25);
  --text: #f4ebd7;
  --text-dim: rgba(244,235,215,0.4);
  --text-mid: rgba(244,235,215,0.65);
  --text-soft: rgba(244,235,215,0.85);
  --border: rgba(244,235,215,0.06);
  --border-strong: rgba(244,235,215,0.12);
  --font-display: 'Cormorant Garamond', serif;
  --font-body: 'DM Sans', sans-serif;
  --radius: 14px;
  --main-side-pad: 2.5rem;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{width:100%;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden;font-weight:300;-webkit-font-smoothing:antialiased;}
button{cursor:pointer;border:none;background:none;color:inherit;font-family:inherit;}

body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 0%,rgba(253,123,95,0.04),transparent 60%);}

.main-wrap{max-width:1000px;margin:0 auto;}
@media(max-width:820px){
  .main-wrap{max-width:none;}
  :root{--main-side-pad:1.25rem;}
}

.app-header{position:relative;padding:1.5rem var(--main-side-pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);}
.hdr-left{display:flex;align-items:center;gap:0.85rem;}
.hdr-logo{height:36px;width:auto;display:block;flex-shrink:0;}
.hdr-brand{font-family:var(--font-display);font-size:1.4rem;font-weight:300;letter-spacing:0.03em;}
.hdr-brand em{font-style:italic;color:var(--accent);}
.hdr-meta{font-size:0.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.15em;}
#lang-switch{position:relative;display:flex;border:1px solid var(--border);border-radius:100px;cursor:pointer;user-select:none;overflow:hidden;transition:border-color 0.2s;}
#lang-switch:hover{border-color:var(--accent);}
#lang-switch .ls-opt{position:relative;z-index:1;padding:0.3rem 0.65rem;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;transition:color 0.25s;color:var(--text-mid);}
#lang-switch .ls-thumb{position:absolute;top:0;bottom:0;left:0;width:50%;border-radius:100px;background:var(--accent);transition:transform 0.25s cubic-bezier(.4,0,.2,1);}
#lang-switch[data-lang="en"] .ls-thumb{transform:translateX(100%);}
#lang-switch[data-lang="de"] #ls-de,#lang-switch[data-lang="en"] #ls-en{color:var(--bg);font-weight:600;}

.section-head{margin-bottom:1.8rem;}
.section-eyebrow{font-size:0.65rem;color:var(--accent);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:0.4rem;}
.section-title{font-family:var(--font-display);font-weight:300;font-size:2rem;letter-spacing:0.01em;line-height:1.1;}
.section-title em{font-style:italic;color:var(--accent);}
.section-sub{font-size:0.85rem;color:var(--text-mid);margin-top:0.4rem;max-width:40ch;line-height:1.5;}

.practices{padding:3rem var(--main-side-pad) 2rem;position:relative;}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:900px){.cards-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto;}}

.pcard{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.5rem 1.4rem;cursor:pointer;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:background 0.35s,border-color 0.35s,transform 0.3s;}
.pcard:hover{background:var(--bg-card-hover);border-color:var(--accent-line);transform:translateY(-2px);}
.pcard-top{display:flex;justify-content:space-between;align-items:flex-start;}
.pcard-num{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:3.2rem;line-height:0.9;color:var(--accent);letter-spacing:-0.02em;}
.pcard-dur{font-size:0.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.15em;margin-top:0.4rem;display:flex;align-items:center;gap:0.4rem;}
.pcard-dur::after{content:'';width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.pcard[data-exercise="box"]  .pcard-dur::after{background:#f4ebd7;box-shadow:0 0 4px rgba(244,235,215,0.4);}
.pcard[data-exercise="sigh"] .pcard-dur::after{background:#D85A30;box-shadow:0 0 4px rgba(216,90,48,0.4);}
.pcard[data-exercise="nsdr"] .pcard-dur::after{background:#3D3572;box-shadow:0 0 4px rgba(61,53,114,0.5);}
.pcard-name{font-family:var(--font-display);font-size:1.35rem;font-weight:400;margin-bottom:0.35rem;letter-spacing:0.005em;}
.pcard-name em{font-style:italic;color:var(--accent);}
.pcard-desc{font-size:0.76rem;color:var(--text-mid);line-height:1.6;max-width:32ch;}
.pcard::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0.6;transition:opacity 0.35s;}
.pcard:hover::after{opacity:1;}
.pcard[data-exercise="box"]::after{background:#f4ebd7;}
.pcard[data-exercise="sigh"]::after{background:#D85A30;}
.pcard[data-exercise="nsdr"]::after{background:#3D3572;}

.bottom-row{position:relative;display:grid;grid-template-columns:auto 1fr;gap:3.5rem;padding:2.5rem var(--main-side-pad) 3rem;align-items:start;}
@media(max-width:820px){.bottom-row{grid-template-columns:1fr;gap:2rem;justify-items:center;}}

.glass-wrap{display:flex;flex-direction:column;align-items:center;}
.glass-head{text-align:center;margin-bottom:1.2rem;}
.glass-label{font-size:0.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.2em;margin-bottom:0.5rem;}
.glass-title{font-family:var(--font-display);font-weight:300;font-size:1.5rem;}
.glass-title em{font-style:italic;color:var(--accent);}
#mc{display:block;}
.glass-placeholder{width:260px;height:380px;display:none;}
.glass-caption{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:0.95rem;color:var(--text-mid);margin-top:0.8rem;text-align:center;}

.stats-button{margin-top:1.2rem;display:inline-flex;align-items:center;gap:0.55rem;padding:0.55rem 1.15rem;border:1px solid var(--border-strong);border-radius:100px;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-mid);transition:border-color 0.25s,color 0.25s,background 0.25s;}
.stats-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.stats-icon{display:inline-flex;align-items:flex-end;gap:2px;height:10px;}
.stats-icon span{width:2px;background:currentColor;}
.stats-icon span:nth-child(1){height:40%;}
.stats-icon span:nth-child(2){height:70%;}
.stats-icon span:nth-child(3){height:100%;}

.right-panel{width:100%;}
.right-panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.4rem;}
.right-panel-head .section-head{margin-bottom:0;}
.panel-tabs{display:flex;gap:0.3rem;margin-top:0.3rem;flex-shrink:0;}
.ptab{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);color:var(--text-dim);font-size:0.9rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;}
.ptab:hover{border-color:var(--accent);color:var(--accent);}
.ptab.ptab-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.week-glasses{display:flex;gap:1.2rem;align-items:flex-end;}
.wg-item{display:flex;flex-direction:column;align-items:center;gap:0.45rem;flex:1;min-width:0;}
.wg-canvas{display:block;width:100%;height:auto;}
.wg-label{font-size:0.56rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.12em;text-align:center;line-height:1.4;}
.wg-count{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:0.88rem;color:var(--text-mid);text-align:center;}
.cal-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1rem;padding-bottom:0.8rem;border-bottom:1px solid var(--border);}
.cal-month{font-family:var(--font-display);font-size:1.3rem;font-weight:400;letter-spacing:0.01em;}
.cal-month em{font-style:italic;color:var(--accent);}
.cal-nav{display:flex;gap:0.3rem;}
.cal-nav button{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.95rem;color:var(--text-mid);transition:all 0.25s;}
.cal-nav button:hover{border-color:var(--accent);color:var(--accent);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.cal-dh{text-align:center;font-size:0.55rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-dim);padding:0.6rem 0 0.8rem;}
.cal-d{text-align:center;padding:0.7rem 0;font-size:0.8rem;border-radius:10px;color:var(--text-mid);position:relative;font-variant-numeric:tabular-nums;transition:background 0.2s;}
.cal-d.empty{visibility:hidden;}
.cal-d.next-month{color:var(--text-dim);opacity:0.5;}
.cal-d.today{color:var(--text);font-weight:500;background:var(--accent-soft);}
.cal-d.impulse{color:var(--accent);font-weight:500;cursor:pointer;}
.cal-d.impulse::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent);}
.cal-d.impulse:hover{background:var(--accent-soft);}
.cal-legend{display:flex;gap:1.5rem;margin-top:1rem;}
.cal-legend-item{display:flex;align-items:center;gap:0.4rem;font-size:0.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.1em;}
.cal-legend-dot{width:5px;height:5px;border-radius:50%;}

.tt{position:fixed;z-index:500;background:var(--bg-soft);border:1px solid var(--border-strong);border-radius:10px;padding:0.8rem 1rem;max-width:280px;pointer-events:none;opacity:0;transition:opacity 0.15s;font-size:0.78rem;line-height:1.5;box-shadow:0 8px 32px rgba(0,0,0,0.4);}
.tt.vis{opacity:1;}
.tt-title{font-family:var(--font-display);font-size:1rem;margin-bottom:0.25rem;color:var(--accent);font-style:italic;font-weight:400;}
.tt-quote{margin-top:0.5rem;font-size:0.72rem;color:var(--text-dim);font-style:italic;border-top:1px solid var(--border);padding-top:0.45rem;line-height:1.45;}

/* ── Generic overlay ── */
.fs-overlay{position:fixed;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;opacity:0;}
.fs-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-mid);z-index:10;opacity:0;transition:opacity 0.4s 0.3s,border-color 0.2s,color 0.2s;}
.fs-overlay.expanded .fs-close{opacity:1;}
.fs-close:hover{border-color:var(--accent);color:var(--accent);}
#ex-close{color:var(--accent);border-color:var(--accent-line);}

/* ── Exercise mode containers ── */
.ex-mode{display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;opacity:0;transition:opacity 0.5s 0.2s;width:100%;position:relative;}
.fs-overlay.expanded .ex-mode{opacity:1;}
.fs-overlay.is-box .mode-box,
.fs-overlay.is-sigh .mode-sigh,
.fs-overlay.is-nsdr .mode-nsdr{display:flex;}

/* shared elements */
.ex-eyebrow{font-size:0.6rem;color:var(--accent);letter-spacing:0.25em;text-transform:uppercase;}
.ex-title{font-family:var(--font-display);font-size:2.4rem;font-weight:300;letter-spacing:0.005em;text-align:center;line-height:1.1;}
.ex-title em{font-style:italic;color:var(--accent);}
.ex-sub{font-size:0.85rem;color:var(--text-mid);text-align:center;max-width:40ch;line-height:1.6;margin-top:-0.5rem;}
.ex-cycle{display:flex;flex-direction:column;gap:0.5rem;align-items:center;}
.cycle-segs{display:flex;gap:6px;align-items:center;}
.cycle-seg{width:20px;height:5px;border-radius:3px;background:var(--border-strong);transition:background 0.35s;}
.cycle-seg.active{background:var(--accent-line);}
.cycle-seg.done{background:var(--accent);}
.cycle-count{font-size:0.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.2em;font-variant-numeric:tabular-nums;}

/* ── Box breathing: actual square ── */
.bb-square-wrap{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;}
.bb-square{position:relative;width:240px;height:240px;}
.bb-square-frame{position:absolute;inset:0;border:1px solid var(--border-strong);border-radius:6px;}
.bb-side{position:absolute;background:var(--accent);opacity:0;transition:opacity 0.5s ease;border-radius:1px;}
.bb-side.active{opacity:0.85;}
.bb-side.top,.bb-side.bottom{left:0;right:0;height:1.5px;}
.bb-side.top{top:0;}
.bb-side.bottom{bottom:0;}
.bb-side.left,.bb-side.right{top:0;bottom:0;width:1.5px;}
.bb-side.left{left:0;}
.bb-side.right{right:0;}
.bb-corner-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 22px rgba(253,123,95,0.6),0 0 8px rgba(253,123,95,0.4);transform:translate(-50%,-50%);left:0;top:0;}
.bb-square-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4rem;pointer-events:none;}
.bb-phase-inner{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.4rem;color:var(--text-soft);min-height:1.4em;letter-spacing:0.02em;text-align:center;}
.bb-timer-inner{font-family:var(--font-display);font-size:2.6rem;font-weight:300;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums;min-height:1em;}

/* ── Physiological sigh ── */
.ps-vis{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;}
.ps-ring{position:absolute;width:240px;height:240px;border-radius:50%;border:1px dashed var(--border-strong);}
.ps-circle{width:240px;height:240px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(253,123,95,0.4),rgba(253,123,95,0.12) 60%,transparent 90%);border:1.5px solid var(--accent);transform:scale(0.25);}
.ps-tick{position:absolute;width:6px;height:1px;background:var(--text-dim);}
.ps-tick.left{left:0;top:50%;}
.ps-tick.right{right:0;top:50%;}
.ps-phase{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.5rem;color:var(--text-soft);min-height:1.6em;text-align:center;letter-spacing:0.02em;}
.ps-timer{font-family:var(--font-display);font-size:3.2rem;font-weight:300;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums;min-height:1.2em;}

/* ── NSDR ── */
.mode-nsdr{gap:1.4rem;}
.nsdr-play-panel{display:none;flex-direction:column;align-items:center;gap:1.6rem;width:100%;max-width:420px;}
.nsdr-play-logo{height:140px;width:auto;display:block;opacity:0.9;animation:nsdrPulse 3.6s ease-in-out infinite;}
@keyframes nsdrPulse{0%,100%{opacity:0.75;transform:scale(1);}50%{opacity:1;transform:scale(1.04);}}
.nsdr-play-status{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.35rem;color:var(--accent);letter-spacing:0.02em;}
.nsdr-play-status::after{content:'…';display:inline-block;animation:nsdrDots 1.6s steps(3,end) infinite;width:1.6ch;text-align:left;overflow:hidden;vertical-align:bottom;}
@keyframes nsdrDots{0%{width:0;}100%{width:1.6ch;}}
.nsdr-play-time{font-family:var(--font-display);font-size:1.8rem;font-weight:300;color:var(--text-mid);line-height:1;font-variant-numeric:tabular-nums;}
.nsdr-finish-btn{padding:0.7rem 2rem;background:transparent;border:1px solid var(--border-strong);color:var(--text-mid);font-weight:500;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;border-radius:100px;transition:all 0.2s;}
.nsdr-finish-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}

/* ── Erklärungsvideo button ── */
.vid-button{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0.6rem;padding:0.65rem 1.2rem;border:1px solid var(--border-strong);border-radius:100px;background:transparent;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-mid);opacity:0;transition:opacity 0.5s 0.6s,border-color 0.25s,color 0.25s;}
.fs-overlay.expanded .vid-button{opacity:1;}
.vid-button:hover{border-color:var(--accent);color:var(--accent);}
.vid-button .vid-play{width:18px;height:18px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;}
.vid-button .vid-play::before{content:'';border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent currentColor;margin-left:1px;}

/* ── End screen ── */
.bb-end{display:flex;flex-direction:column;align-items:center;gap:2rem;opacity:0;transition:opacity 0.6s;position:absolute;pointer-events:none;}
.bb-end.visible{opacity:1;pointer-events:auto;}
.bb-end-mark{width:40px;height:1px;background:var(--accent);margin-bottom:0.5rem;}
.bb-end-text{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.8rem;color:var(--accent);letter-spacing:0.02em;}
.bb-end-sub{font-size:0.8rem;color:var(--text-mid);letter-spacing:0.05em;max-width:32ch;text-align:center;line-height:1.6;margin-top:-1rem;}
.bb-end-btn{padding:0.85rem 2.4rem;background:var(--accent);color:var(--bg);font-weight:500;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;border-radius:100px;transition:opacity 0.2s,transform 0.2s;}
.bb-end-btn:hover{opacity:0.88;transform:translateY(-1px);}

/* ── Box Breathing config / exercise / rating panels ── */
.bb-config{display:flex;flex-direction:column;align-items:center;gap:1.6rem;}
.bb-cfg-row{display:flex;flex-direction:column;align-items:center;gap:0.45rem;}
.bb-cfg-label{font-size:0.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.2em;text-align:center;}
.bb-cycles-wrap{display:grid;grid-template-columns:36px 6.5rem 36px;align-items:center;}
.bb-preset-row{display:flex;flex-direction:column;align-items:center;gap:0.55rem;}
.bb-speed-group{display:flex;gap:0.4rem;}
.bb-speed-btn,.ps-speed-btn{padding:0.5rem 1.1rem;border:1px solid var(--border-strong);border-radius:100px;font-size:0.72rem;letter-spacing:0.1em;color:var(--text-mid);transition:all 0.2s;}
.bb-speed-btn:hover,.bb-speed-btn.bb-speed-active,.ps-speed-btn:hover,.ps-speed-btn.ps-speed-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.bb-cycles-wrap{display:flex;align-items:center;gap:0.8rem;}
.cfg-unit{font-size:0.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.13em;}
.bb-preset-btn{padding:0.5rem 1.1rem;border:1px solid var(--border-strong);border-radius:100px;font-size:0.72rem;letter-spacing:0.1em;color:var(--text-mid);transition:all 0.2s;}
.bb-preset-btn:hover,.bb-preset-btn.bb-preset-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.bb-step-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);font-size:1.3rem;color:var(--text-mid);display:flex;align-items:center;justify-content:center;line-height:1;transition:all 0.2s;}
.bb-step-btn:hover{border-color:var(--accent);color:var(--accent);}
.bb-cycles-num{font-family:var(--font-display);font-size:2.8rem;font-weight:300;color:var(--accent);line-height:1;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums;}
.bb-start-btn{padding:0.85rem 3rem;background:var(--accent);color:var(--bg);font-weight:500;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;border-radius:100px;transition:opacity 0.2s,transform 0.2s;margin-top:0.5rem;}
.bb-start-btn:hover{opacity:0.88;transform:translateY(-1px);}
.bb-ex-panel{display:none;flex-direction:column;align-items:center;gap:1.6rem;}
.bb-finish-btn{padding:0.55rem 1.4rem;border:1px solid var(--border-strong);border-radius:100px;font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-mid);transition:all 0.25s;margin-top:0.2rem;}
.bb-finish-btn:hover{border-color:var(--accent);color:var(--accent);}
.bb-rating{display:none;flex-direction:column;align-items:center;gap:1.4rem;max-width:380px;width:100%;}
.bb-rating-q{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.25rem;text-align:center;color:var(--text-soft);line-height:1.3;}
.bb-rating-scale{display:flex;gap:0.4rem;}
.bb-rating-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);font-family:var(--font-display);font-size:1.15rem;font-weight:300;color:var(--text-mid);transition:all 0.2s;flex-shrink:0;}
.bb-rating-btn:hover,.bb-rating-btn.bb-selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.bb-rating-labels{display:flex;justify-content:space-between;width:100%;padding:0 0.2rem;font-size:0.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.15em;margin-top:-0.7rem;}
.bb-comment{width:100%;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px;padding:0.85rem 1rem;color:var(--text);font-family:var(--font-body);font-size:0.82rem;font-weight:300;resize:none;min-height:76px;line-height:1.5;transition:border-color 0.2s;outline:none;}
.bb-comment::placeholder{color:var(--text-dim);}
.bb-comment:focus{border-color:var(--accent-line);}
.bb-rating-submit{padding:0.85rem 2.4rem;background:var(--accent);color:var(--bg);font-weight:500;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;border-radius:100px;transition:opacity 0.2s,transform 0.2s;}
.bb-rating-submit:hover{opacity:0.88;transform:translateY(-1px);}

/* ── Video pane (fold-out) ── */
.video-pane{position:absolute;z-index:20;background:var(--bg-soft);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;pointer-events:none;opacity:0;display:flex;flex-direction:column;}
.video-pane-header{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;}
.video-pane-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.1rem;color:var(--text);}
.video-pane-title::before{content:'·';color:var(--accent);margin-right:0.6rem;}
.video-back{display:flex;align-items:center;gap:0.5rem;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-mid);padding:0.4rem 0.8rem;border-radius:20px;transition:color 0.2s,background 0.2s;}
.video-back:hover{color:var(--accent);background:var(--accent-soft);}
.video-frame-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000;min-height:0;opacity:0;transition:opacity 0.4s 0.25s;}
.video-pane.expanded .video-frame-wrap{opacity:1;}
.video-frame-inner{width:100%;max-width:1000px;aspect-ratio:16/9;position:relative;}
.video-frame-inner iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:6px;}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.6rem;background:var(--bg);border-radius:6px;color:var(--text-mid);text-align:center;padding:2rem;font-size:0.85rem;line-height:1.6;}
.video-placeholder-title{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--accent);}

/* ── Glass overlay ── */
#glass-overlay .glass-ol-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity 0.5s 0.2s;}
#glass-overlay.expanded .glass-ol-inner{opacity:1;}
#glass-overlay canvas{width:auto;height:min(75vh,620px);}
.glass-ol-eyebrow{font-size:0.6rem;color:var(--accent);letter-spacing:0.25em;text-transform:uppercase;margin-bottom:0.6rem;}
.glass-ol-label{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.8rem;margin-bottom:1.5rem;}
.glass-ol-count{font-size:0.7rem;color:var(--text-mid);margin-top:1rem;letter-spacing:0.15em;text-transform:uppercase;}

/* ── Stats overlay ── */
#stats-overlay .stats-content{width:100%;max-width:1100px;padding:3rem 3rem 2.5rem;display:flex;flex-direction:column;gap:2.2rem;opacity:0;transition:opacity 0.5s 0.2s;max-height:100vh;overflow-y:auto;}
@media(max-width:700px){#stats-overlay .stats-content{padding:3.5rem 1.2rem 2rem;gap:1.5rem;}.stats-title{font-size:1.7rem;}.stat-num{font-size:2.4rem;}.stat-label{font-size:0.55rem;letter-spacing:0.18em;}.stat-item{padding:0.9rem 0.4rem;}}
#stats-overlay.expanded .stats-content{opacity:1;}
.stats-head{text-align:center;}
.stats-eyebrow{font-size:0.65rem;color:var(--accent);letter-spacing:0.25em;text-transform:uppercase;margin-bottom:0.5rem;}
.stats-title{font-family:var(--font-display);font-weight:300;font-size:2.4rem;letter-spacing:0.005em;}
.stats-title em{font-style:italic;color:var(--accent);}
.stats-summary{display:flex;align-items:center;justify-content:center;gap:0;padding:0.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.stat-item{flex:1;text-align:center;padding:1.2rem 1rem;max-width:280px;}
.stat-num{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:3.6rem;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums;}
.stat-num .dash{color:var(--text-dim);font-style:normal;}
.stat-num .stat-unit{font-size:0.3em;color:var(--text-dim);margin-left:0.35em;font-style:normal;letter-spacing:0.08em;text-transform:uppercase;font-weight:400;vertical-align:0.5em;}
.stat-label{font-size:0.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.25em;margin-top:0.7rem;}
.stat-divider{width:1px;height:60px;background:var(--border);}
.stats-chart-wrap{display:flex;flex-direction:column;align-items:center;gap:0.8rem;}
.stats-chart-caption{font-size:0.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.2em;}
.stats-chart{width:100%;}
.stats-chart svg{width:100%;height:auto;display:block;}
.bar{transform-origin:bottom;transform-box:fill-box;transform:scaleY(0);transition:transform 0.7s cubic-bezier(0.25,0.9,0.3,1);}
.stats-chart.animated .bar{transform:scaleY(1);}
.bar.today{filter:drop-shadow(0 0 8px rgba(253,123,95,0.5));}
.bar-hit{fill:transparent;cursor:pointer;}
.chart-label{font-family:var(--font-body);font-size:10px;fill:var(--text-dim);font-weight:300;}
.chart-label-strong{fill:var(--text-mid);}
.chart-label-accent{fill:var(--accent);font-weight:500;}
.chart-gridline{stroke:var(--border);stroke-width:1;}
.chart-gridline-zero{stroke:var(--border-strong);}
