/* ════════════════════════════════════════════
   BREW & BLOOM — style.css v5
   Modern cozy café · soft luxury · minimal
════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --w:#ffffff;--wb:#fdfcfa;--bg:#f9f6f2;--bg2:#f4efe8;
  --sage:#8fa882;--sage-l:#c8dbbf;--sage-ll:#e8f0e4;--sage-d:#5f7a52;--sage-dd:#3e5436;
  --blush:#f2c4ce;--blush-l:#fbeef1;--blush-d:#d4889a;--blush-dd:#a85870;
  --cream:#f5ece0;--cream-d:#e8d8c4;--cream-dd:#c8b098;
  --taupe:#b0a090;--brown:#7a6050;
  --gold:#e8c050;--gold-l:#fdf0c0;--gold-d:#c09030;
  --t1:#3a3028;--t2:#6a5a50;--t3:#a09080;--t4:#c8b8a8;
  --sh:rgba(120,90,60,.08);
  --r6:6px;--r12:12px;--r20:20px;--r28:28px;--r40:40px;
  --shadow-sm:0 2px 8px rgba(120,90,70,.06);
  --shadow-md:0 6px 24px rgba(120,90,70,.08);
  --shadow-lg:0 12px 40px rgba(120,90,70,.1);
  --shadow-xl:0 24px 64px rgba(80,60,50,.14);
  --transition:all .25s cubic-bezier(.34,1.56,.64,1);
  --font-serif:'DM Serif Display',serif;
  --font-sans:'Quicksand',sans-serif;
}

html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-sans);background:var(--bg)}
button{cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;user-select:none}
button:active{transform:scale(.97)}
input{font-family:inherit}

.scene{position:fixed;inset:0;display:none;opacity:0;z-index:1;overflow:hidden;will-change:transform,opacity}
.scene.active{display:flex;opacity:1}

/* ════ SCENE TRANSITIONS ════ */
@keyframes sceneEnterRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@keyframes sceneEnterLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}
@keyframes sceneExitLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-30px)}}
@keyframes sceneExitRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.scene-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.modal-overlay{position:fixed;inset:0;background:rgba(80,60,50,.35);backdrop-filter:blur(10px);z-index:900;display:flex;align-items:center;justify-content:center;animation:modalOverlayIn .3s ease both}
.modal-overlay.hidden{display:none}
@keyframes modalOverlayIn{from{opacity:0}to{opacity:1}}

/* ════ AUTH ════ */
#authView{background:linear-gradient(145deg,#faf6f0 0%,#f5eee8 30%,#edf3e8 100%);justify-content:center;align-items:center;flex-direction:column}
.auth-petals{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.petal{position:absolute;border-radius:50% 0 50% 0;opacity:.1;animation:petalFloat 8s ease-in-out infinite;will-change:transform}
.p1{width:60px;height:80px;background:var(--blush);top:8%;left:6%;animation-delay:0s;transform:rotate(-20deg)}
.p2{width:40px;height:55px;background:var(--sage-l);top:15%;right:8%;animation-delay:2s;transform:rotate(30deg)}
.p3{width:50px;height:70px;background:var(--cream);bottom:20%;left:4%;animation-delay:4s;transform:rotate(-10deg)}
.p4{width:35px;height:48px;background:var(--blush);top:55%;right:5%;animation-delay:1.5s;transform:rotate(45deg)}
.p5{width:45px;height:60px;background:var(--sage-ll);bottom:10%;right:15%;animation-delay:3s;transform:rotate(-30deg)}
@keyframes petalFloat{0%,100%{transform:translateY(0) rotate(-20deg)}50%{transform:translateY(-22px) rotate(-12deg)}}

.auth-card{position:relative;z-index:1;background:rgba(255,252,248,.92);backdrop-filter:blur(24px);border-radius:var(--r28);padding:40px 44px;width:440px;max-width:95vw;box-shadow:var(--shadow-xl);animation:authCardIn .5s cubic-bezier(.34,1.56,.64,1) both}
@keyframes authCardIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.auth-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px;justify-content:center}
.auth-brand{font-family:var(--font-serif);font-size:30px;color:var(--sage-d);line-height:1}
.auth-brand em{font-style:italic;color:var(--gold-d)}
.auth-tag{font-size:11px;color:var(--t3);font-weight:700;letter-spacing:2.5px;margin-top:4px;text-transform:uppercase}
.auth-tabs{display:flex;background:var(--sage-ll);border-radius:var(--r40);padding:4px;margin-bottom:26px;box-shadow:inset 0 1px 3px rgba(0,0,0,.04)}
.atab{flex:1;background:transparent;border:none;border-radius:36px;padding:9px;font-size:13px;font-weight:700;color:var(--t3);transition:var(--transition)}
.atab.active{background:var(--sage-d);color:#fff;box-shadow:var(--shadow-sm)}
.apanel{display:flex;flex-direction:column;gap:16px}
.apanel.hidden{display:none}
.afield{display:flex;flex-direction:column;gap:5px}
.afield label{font-size:12px;font-weight:700;color:var(--t2);letter-spacing:.3px}
.opt{font-weight:400;color:var(--t4);font-size:11px}
.req{color:#e05252;font-size:13px;margin-left:2px}
.afield input{padding:12px 16px;border:none;border-radius:var(--r12);font-size:14px;font-weight:600;background:rgba(245,236,224,.5);outline:none;transition:var(--transition);color:var(--t1);box-shadow:inset 0 1px 3px rgba(120,90,70,.06)}
.afield input:focus{background:rgba(255,255,255,.9);box-shadow:0 0 0 3px rgba(143,168,130,.15),inset 0 1px 3px rgba(120,90,70,.06)}
.uname-row{display:flex;gap:8px}
.uname-row input{flex:1}
.suggest-btn{background:var(--sage-ll);border:none;border-radius:var(--r12);padding:0 14px;font-size:15px;color:var(--sage-d);transition:var(--transition);font-weight:700}
.suggest-btn:hover{background:var(--sage-l);transform:rotate(90deg)}
.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.sug-pill{background:var(--wb);border:none;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:700;color:var(--sage-d);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}
.sug-pill:hover{background:var(--sage-ll);transform:translateY(-1px)}
.icon-picker{display:flex;gap:8px;flex-wrap:wrap}
.ico{width:40px;height:40px;border-radius:var(--r12);border:none;background:rgba(245,236,224,.5);font-size:20px;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:inset 0 1px 3px rgba(120,90,70,.04)}
.ico:hover{transform:scale(1.1);background:var(--sage-ll)}
.ico.active{background:var(--sage-ll);box-shadow:0 0 0 3px rgba(95,122,82,.15)}
.aerr{font-size:12px;color:#c05050;font-weight:600;min-height:16px;text-align:center}
.abtn{width:100%;border:none;border-radius:var(--r40);padding:14px;font-size:14px;font-weight:700;transition:var(--transition);letter-spacing:.3px}
.abtn.primary{background:var(--sage-d);color:#fff;box-shadow:var(--shadow-sm)}
.abtn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.abtn.primary:active{transform:translateY(0)}
.abtn.ghost{background:rgba(255,255,255,.7);color:var(--sage-d);box-shadow:var(--shadow-sm)}
.abtn.ghost:hover{background:var(--sage-ll);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.abtn.ghost:active{transform:translateY(0)}
.adiv{display:flex;align-items:center;gap:10px;color:var(--t4);font-size:12px;font-weight:600}
.adiv::before,.adiv::after{content:'';flex:1;height:1px;background:var(--cream-d)}

/* ════ DASHBOARD ════ */
#landingView{flex-direction:column;align-items:stretch;overflow:hidden}
#landingView::after{content:'';position:absolute;inset:0;z-index:20;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 80% 40%,rgba(252,220,140,.12) 0%,rgba(252,220,140,.06) 30%,transparent 70%)}
.room-bg{position:absolute;inset:0;z-index:0}
.wall-layer{position:absolute;top:0;left:0;right:0;height:56%;background:linear-gradient(180deg,#f7f2ec 0%,#f0ebe4 100%)}
.wall-layer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(180,165,145,.06) 1px,transparent 1px);background-size:24px 24px}
.desk-layer{position:absolute;bottom:0;left:0;right:0;height:46%;background:linear-gradient(180deg,#f0e5d4 0%,#e8dcc8 100%)}
.desk-layer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent)}

/* ── NAVBAR ── */
.desk-topbar{position:relative;z-index:25;display:flex;align-items:center;justify-content:space-between;padding:16px 32px 0;flex-shrink:0}
.desk-brand{font-family:var(--font-serif);font-size:22px;color:var(--taupe);font-style:italic;letter-spacing:.5px}
.desk-brand em{color:var(--gold-d)}
.user-bar{display:flex;align-items:center;gap:10px}
.user-chip{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border-radius:var(--r40);padding:6px 16px 6px 10px;font-size:13px;font-weight:700;color:var(--t1);box-shadow:var(--shadow-sm)}

.so-btn{background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:var(--shadow-sm)}
.so-btn:hover{background:var(--sage-ll);transform:scale(1.08)}

/* ── ACHIEVEMENT BADGES (side panel) ── */
.ach-card .ach-badges{display:flex;flex-direction:column;gap:8px}
.ach-card .ach-frame{background:rgba(255,255,255,.55);backdrop-filter:blur(8px);border-radius:var(--r14);padding:8px 12px;display:flex;align-items:center;justify-content:flex-start;gap:10px;cursor:pointer;position:relative;transition:var(--transition);box-shadow:var(--shadow-sm);width:100%}
.ach-card .ach-frame:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.ach-card .ach-frame.locked{opacity:.4;filter:grayscale(.7)}
.ach-card .af-inner{display:flex;align-items:center;gap:8px;flex-direction:row;width:100%}
.ach-card .af-inner svg{width:18px;height:18px;flex-shrink:0}
.ach-card .af-inner span{font-size:11px;font-weight:700;color:var(--t2);line-height:1.2}
.ach-tip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:rgba(60,50,40,.92);color:#f0ece4;font-size:10px;font-weight:600;padding:6px 12px;border-radius:var(--r10);white-space:nowrap;z-index:100;pointer-events:none;animation:tipIn .2s ease both;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.ach-tip::before{content:'';position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:rgba(60,50,40,.92)}
@keyframes tipIn{from{opacity:0;transform:translateY(-50%) translateX(-4px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}

/* ── STATS CARD ── */
.stats-body{display:flex;flex-direction:column;gap:10px}
.stats-row{display:flex;gap:8px;justify-content:space-around}
.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}
.stat-num{font-family:var(--font-serif);font-size:22px;color:var(--sage-d);line-height:1;font-style:italic}
.stat-lbl{font-size:9px;font-weight:700;color:var(--t3);letter-spacing:.5px;text-transform:uppercase}
.stats-today{font-size:11px;font-weight:600;color:var(--t2);text-align:center;padding:6px 8px;background:rgba(200,219,191,.15);border-radius:var(--r12)}

/* ── DASHBOARD BODY ── */
.dash-body{position:relative;z-index:10;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;gap:32px;padding:48px 32px 0;overflow:hidden}

.dash-panel{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding-top:36px;position:relative;z-index:15}

.dash-hero{position:relative;flex:1;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:36px}

/* ── DASHBOARD CARDS ── */
.dash-card{background:rgba(255,255,255,.72);backdrop-filter:blur(14px);border-radius:var(--r20);padding:18px 20px;box-shadow:var(--shadow-sm);transition:var(--transition)}
.dash-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.dc-title{font-size:11px;font-weight:700;color:var(--sage-d);letter-spacing:.6px;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px}

/* ── CENTER WINDOW (decorative scenic element behind hero cup) ── */
.center-window{position:absolute;top:2px;left:50%;transform:translateX(-50%);width:260px;height:160px;border-radius:24px;overflow:hidden;z-index:1;background:linear-gradient(180deg,#c8dce8,#d8ecee 55%,#dae8d0);transition:background 2s;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5),0 4px 20px rgba(0,0,0,.06)}
.center-window::before{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;border:4px solid rgba(200,185,165,.25);border-radius:24px}
.center-window::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;border-left:2px solid rgba(200,185,165,.2);border-right:2px solid rgba(200,185,165,.2);left:50%;width:0;margin-left:-1px}
.cw-horiz{position:absolute;left:0;right:0;top:50%;height:0;z-index:5;pointer-events:none;border-top:2px solid rgba(200,185,165,.2)}
.cw-sky{position:absolute;inset:0;border-radius:24px;overflow:hidden;background:inherit;transition:background 2s}
.cw-fx{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}
.rain-drop{position:absolute;width:2px;height:10px;background:rgba(120,170,220,.5);border-radius:2px;animation:rainFall .6s linear infinite}
@keyframes rainFall{from{transform:translateY(-20px)}to{transform:translateY(100%)}}
.snow-flake{position:absolute;font-size:10px;animation:snowFall 4s linear infinite;opacity:.6}
.cw-cloud{position:absolute;background:rgba(255,255,255,.7);border-radius:50px;opacity:.6;pointer-events:none;animation:cloudDrift 20s linear infinite}
@keyframes cloudDrift{from{transform:translateX(-60px)}to{transform:translateX(calc(100% + 60px))}}
@keyframes snowFall{from{transform:translateY(-20px) rotate(0)}to{transform:translateY(100%) rotate(360deg)}}
.hero-weathers{display:flex;gap:8px;z-index:8}
.wp{width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.5);backdrop-filter:blur(6px);font-size:13px;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.wp.active,.wp:hover{background:rgba(255,255,255,.92);transform:scale(1.15);box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* ── CENTER: CLOCK (overlaid on window) ── */
.hero-overlay{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none}
.hero-overlay>*{pointer-events:auto}
.desk-clock{background:rgba(255,255,255,.68);backdrop-filter:blur(10px);border-radius:var(--r20);padding:8px 24px;text-align:center;box-shadow:var(--shadow-sm);position:relative;z-index:6}
.dc-time{font-family:var(--font-serif);font-size:46px;color:var(--t1);line-height:1;letter-spacing:1px}
.dc-ampm{font-size:12px;font-weight:700;color:var(--t3);margin-left:4px;vertical-align:super}
.dc-date{font-size:11px;font-weight:700;color:var(--t3);letter-spacing:.5px;margin-top:2px}

/* ── CENTER: HERO GLASS ── */
.hero-glow-ambient{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(168,210,150,.15),transparent 70%);pointer-events:none;z-index:5;margin-top:-20px}

.hero-cup-wrap{cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;animation:cupFloat 4s ease-in-out infinite;flex-shrink:0;position:relative;z-index:6}
@keyframes cupFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.hero-cup-wrap:hover{animation:none;transform:translateY(-8px) scale(1.04)}
.glass-straw{width:5px;height:36px;background:rgba(168,210,190,.65);border-radius:3px;margin-bottom:-4px;margin-left:28px;position:relative;z-index:7}
.hero-glass{width:88px;height:156px;border-radius:5px 5px 14px 14px;position:relative;overflow:hidden;box-shadow:0 12px 32px rgba(140,110,80,.12),inset 0 0 0 1px rgba(190,215,200,.35),inset 2px 0 0 rgba(255,255,255,.3)}
.glass-ribs{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 8px,rgba(190,215,180,.1) 8px,rgba(190,215,180,.1) 9px)}
.hc-fill{position:absolute;left:0;right:0;height:74%;bottom:0;background:linear-gradient(180deg,#a8d278,#8cbc5a 40%,#d0d8b0 65%,#e8e0c8 82%,#f5eed8);transition:height .8s cubic-bezier(.25,.46,.45,.94)}
.glass-shine{position:absolute;top:0;left:5px;width:7px;height:100%;background:rgba(255,255,255,.18);border-radius:3px}
.glass-base-ring{width:76px;height:8px;background:rgba(240,220,155,.55);border-radius:0 0 5px 5px;margin-top:-2px}
.glass-coaster{width:98px;height:7px;background:rgba(224,208,185,.45);border-radius:4px;margin-top:2px}
.hc-fill.berry-fill,.scu-fill.berry-fill{background:linear-gradient(180deg,#a8d278 0%,#8cbc5a 30%,#e0b8c0 65%,#c89098 100%)!important}
#bbFill{background:linear-gradient(180deg,#a8d278,#8cbc5a 55%,#d0d8b0 80%,#e8e0c8);border-radius:0 0 50% 50%/0 0 8px 8px}
#bbFill.berry-bowl{background:linear-gradient(180deg,#a8d278 0%,#8cbc5a 35%,#e0b8c0 65%,#c89098 100%)}

/* ── CENTER: SPARKLES ── */
.sparkles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.sparkle{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(242,196,206,.5);box-shadow:0 0 6px rgba(242,196,206,.3);animation:spFloat 4s ease-in-out infinite}
.sparkle.sp1{top:15%;left:25%;animation-delay:0s}
.sparkle.sp2{top:25%;right:20%;animation-delay:1.2s}
.sparkle.sp3{bottom:30%;left:20%;animation-delay:2.4s}
.sparkle.sp4{top:10%;right:30%;animation-delay:.6s}
.sparkle.sp5{bottom:25%;right:25%;animation-delay:1.8s}
@keyframes spFloat{0%,100%{opacity:.2;transform:translateY(0) scale(.8)}50%{opacity:.7;transform:translateY(-12px) scale(1.2)}}

/* ── START BREW BUTTON ── */
.start-brew-btn{background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:13px 30px;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm);transition:var(--transition);letter-spacing:.4px;animation:btnPulse 3s ease-in-out infinite;z-index:2;position:relative}
@keyframes btnPulse{0%,100%{box-shadow:var(--shadow-sm)}50%{box-shadow:0 4px 20px rgba(143,168,130,.3)}}
.start-brew-btn:hover{animation:none;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.start-brew-btn:active{transform:translateY(0)}

/* ── RIGHT PANEL: TASKS ── */
.corkboard-mini{background:linear-gradient(145deg,#c8a878,#b89060);border-radius:var(--r12);padding:14px;cursor:pointer;overflow:hidden;transition:var(--transition);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.15)}
.corkboard-mini:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.15)}
.cork-pin-head{display:flex;justify-content:center;margin-bottom:6px}
.cork-mini-items{display:flex;flex-direction:column;gap:5px;min-height:42px}
.cork-mini-item{background:rgba(255,255,248,.92);border-radius:4px;padding:5px 9px;font-size:11px;font-weight:600;color:#4a3a2a;box-shadow:0 1px 3px rgba(0,0,0,.08);border-left:3px solid #d4889a}
.cork-empty-mini{font-size:10px;color:rgba(80,55,30,.5);font-style:italic;text-align:center;padding:6px 0}
.cork-hint-mini{font-size:8px;color:rgba(80,55,30,.4);margin-top:6px;text-align:right}
.done-item{opacity:.55;text-decoration:line-through}

/* ── RIGHT PANEL: QUICK SESSION ── */
.qs-books{display:flex;gap:8px;flex-wrap:wrap}
.book-pill{background:rgba(200,219,191,.25);border:none;border-radius:var(--r40);padding:8px 16px;font-size:12px;font-weight:700;color:var(--sage-d);transition:var(--transition);box-shadow:var(--shadow-sm);flex:1;min-width:60px}
.book-pill:hover{background:var(--sage-ll);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--sage-dd)}

/* ── DESK SURFACE ── */
.desk-surface{position:absolute;bottom:0;left:0;right:0;height:44%;background:repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(180,155,130,.04) 60px,rgba(180,155,130,.04) 61px),repeating-linear-gradient(0deg,transparent,transparent 30px,rgba(180,160,135,.03) 30px,rgba(180,160,135,.03) 31px),linear-gradient(to bottom,#ede0cb,#e4d5be);z-index:4;pointer-events:none}
.desk-surface::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to bottom,rgba(255,255,255,.35),transparent)}
.desk-surface::after{content:'';position:absolute;top:-40px;left:60px;width:180px;height:100px;background:linear-gradient(135deg,rgba(200,225,240,.12),transparent);transform:skewX(-12deg);pointer-events:none}

/* ── DESK DECOR ── */
.desk-decor{position:absolute;z-index:12;bottom:0;left:0;right:0;height:48%;pointer-events:none}

.deco-items{position:absolute;inset:0}
.deco-item{position:absolute;opacity:0;transition:opacity .4s ease;pointer-events:auto;cursor:grab;touch-action:none;z-index:1;user-select:none;width:auto;height:auto}
.deco-item:not(.hidden){opacity:1}
.deco-item:not(.hidden):hover{z-index:10}
.deco-item:not(.hidden):active{cursor:grabbing}
.deco-item.dragging{transition:none!important;z-index:50;opacity:.85;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}
.deco-item svg{display:block;width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(80,50,30,.08));transition:filter .2s}
.deco-item:not(.hidden):hover svg{filter:drop-shadow(0 4px 8px rgba(80,50,30,.15))}

/* ── Selection ── */
.deco-item.selected{outline:2px dashed rgba(143,168,130,.45);outline-offset:3px;border-radius:4px;animation:selPulse 2s ease-in-out infinite}
@keyframes selPulse{0%,100%{outline-color:rgba(143,168,130,.45)}50%{outline-color:rgba(143,168,130,.15)}}

/* ── Resize handles ── */
.deco-item .resize-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #8fa882;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.12);opacity:0;transition:opacity .15s;z-index:20}
.deco-item.selected .resize-handle{opacity:1}
.deco-item.selected .resize-handle:hover{background:#8fa882;transform:scale(1.2)}
.resize-handle.h-nw{top:-6px;left:-6px;cursor:nwse-resize}
.resize-handle.h-ne{top:-6px;right:-6px;cursor:nesw-resize}
.resize-handle.h-sw{bottom:-6px;left:-6px;cursor:nesw-resize}
.resize-handle.h-se{bottom:-6px;right:-6px;cursor:nwse-resize}

.desk-details{position:absolute;bottom:10px;right:16px;display:flex;align-items:center;gap:10px;transform:scale(.7);opacity:.7;pointer-events:none}
.scrunchie{opacity:.85}
.phone-down{width:30px;height:48px;background:linear-gradient(145deg,#f0e8e0,#e8ddd5);border-radius:var(--r6);position:relative;box-shadow:var(--shadow-sm),inset 0 0 0 1px rgba(200,190,180,.5)}
.phone-camera{position:absolute;top:5px;right:5px;width:5px;height:5px;background:#c8c0b8;border-radius:50%;box-shadow:inset 0 0 0 1px #b8b0a8}

/* ── FAIRY LIGHTS ── */
.fairy-lights{position:absolute;top:6px;left:0;right:0;display:flex;justify-content:space-evenly;padding:0 10px;z-index:3;pointer-events:none}
.fairy-lights::before{content:'';position:absolute;top:2px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(180,165,145,.2) 10%,rgba(180,165,145,.2) 90%,transparent)}
.fl-bulb{width:5px;height:5px;border-radius:50%;background:rgba(252,220,100,.5);box-shadow:0 0 6px rgba(252,220,100,.35);animation:flGlow 2.4s ease-in-out infinite alternate}
.fl-bulb:nth-child(odd){animation-delay:.4s}
.fl-bulb:nth-child(3n){animation-delay:.8s}
@keyframes flGlow{from{opacity:.35;transform:scale(.85)}to{opacity:.75;transform:scale(1.1)}}

/* ── RESPONSIVE OVERRIDES ── */
@media(max-width:1100px){
  .dash-panel{width:220px}
  .dash-body{gap:22px;padding:40px 20px 0}
}
@media(max-width:960px){
  .dash-panel{width:190px}
  .dash-body{gap:16px;padding:36px 14px 0}
  .desk-details{transform:scale(.6)}
  .stat-num{font-size:18px}
}
@media(max-width:800px){
  .dash-panel{width:160px}
  .dash-body{gap:12px;padding:32px 10px 0}
  .desk-hero{gap:10px}
  .center-window{width:200px;height:140px;top:2px;border-radius:20px}
  .hero-glass{width:76px;height:134px}
  .glass-straw{height:30px;margin-left:24px}
  .glass-base-ring{width:66px}
  .glass-coaster{width:84px}
  .start-brew-btn{padding:11px 24px;font-size:12px}
  .desk-details{display:none}
}
@media(max-width:680px){
  .dash-body{gap:10px}
  .dash-panel{display:none}
  .dash-hero{max-width:100%;padding:0 16px}
  .center-window{width:180px;height:130px;top:2px;border-radius:18px}
  .desk-decor{display:none}
  .fairy-lights{display:none}
}
@media(max-width:500px){
  .hero-glass{width:64px;height:114px}
  .glass-straw{height:26px;margin-left:20px}
  .glass-base-ring{width:56px}
  .glass-coaster{width:72px}
  .hero-glow-ambient{width:140px;height:140px}
  .hero-cup-wrap{animation:none}
  .sparkles{display:none}
  .dc-time{font-size:34px}
}

/* ════ CORKBOARD MODAL ════ */
#corkModal{z-index:800}
.cork-full{background:linear-gradient(145deg,#c89858,#b07840);border-radius:var(--r20);width:min(540px,95vw);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalContentIn .35s cubic-bezier(.34,1.56,.64,1) both}
@keyframes modalContentIn{from{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.cork-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:rgba(0,0,0,.1)}
.cork-hdr h3{font-family:var(--font-serif);font-size:20px;color:#fff;font-style:italic}
.cork-close-btn{background:rgba(255,255,255,.2);border:none;border-radius:50%;width:30px;height:30px;font-size:16px;color:#fff;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.cork-close-btn:hover{background:rgba(255,255,255,.35)}
.cork-inp-row{display:flex;gap:8px;padding:12px 16px;background:rgba(0,0,0,.08)}
.cork-inp-row input{flex:1;padding:9px 13px;border:none;border-radius:var(--r12);font-size:13px;font-weight:600;font-family:inherit;background:rgba(255,255,255,.92);outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}
.cork-add-btn{background:rgba(255,255,255,.25);border:none;border-radius:var(--r12);padding:0 16px;font-size:18px;font-weight:700;color:#fff;transition:var(--transition)}
.cork-add-btn:hover{background:rgba(255,255,255,.4)}
.cork-grid{flex:1;overflow-y:auto;display:flex;flex-wrap:wrap;gap:10px;padding:16px;align-content:flex-start}
.cork-note{background:#fffde7;border-radius:var(--r6);padding:10px 11px;min-width:110px;max-width:150px;box-shadow:var(--shadow-sm),0 1px 4px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:6px;position:relative;transition:var(--transition);animation:notePop .3s cubic-bezier(.34,1.56,.64,1) both}
@keyframes notePop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.cork-note:hover{transform:rotate(1deg) scale(1.04)}
.cn-text{font-size:12px;font-weight:600;color:#444;word-break:break-word;flex:1}
.cn-actions{display:flex;gap:4px;justify-content:flex-end}
.cn-check,.cn-del{background:none;border:none;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .2s}
.cn-check{color:#8fa882}.cn-check.checked{color:#5f7a52;font-weight:700}
.cn-del{color:#ccc}.cn-del:hover{background:#ffeeee;color:#d04040}
.done-note{opacity:.6}.done-note .cn-text{text-decoration:line-through}

/* ════ INGREDIENT SCENE — Magazine Spread ════ */
#ingredientView{flex-direction:column;align-items:stretch}
.ing-bg{background:linear-gradient(160deg,#f7f0e8 0%,#efe5d8 35%,#f5ede4 70%,#faf3ea 100%)}
.ing-bg::before{content:'';position:absolute;inset:0;background-image:
  radial-gradient(circle,rgba(180,155,130,.06) 1px,transparent 1px),
  radial-gradient(ellipse at 20% 40%,rgba(200,180,155,.08) 0%,transparent 50%),
  radial-gradient(ellipse at 80% 60%,rgba(143,168,130,.06) 0%,transparent 50%);
  background-size:28px 28px,100% 100%,100% 100%}

.ing-topbar{position:relative;z-index:5;display:flex;align-items:center;gap:18px;padding:20px 32px 0;flex-shrink:0;background:transparent}
.back-btn{background:none;border:none;padding:4px 8px;font-size:13px;font-weight:600;color:var(--t3);transition:var(--transition);border-radius:var(--r12);letter-spacing:-.2px}
.back-btn:hover{color:var(--sage-d);background:rgba(143,168,130,.08)}
.screen-title{font-family:var(--font-serif);font-size:28px;color:var(--t1);flex:1;font-style:italic;line-height:1.2}
.preview-badge{font-size:12px;font-weight:700;color:var(--taupe);background:rgba(255,255,255,.55);backdrop-filter:blur(6px);padding:5px 14px;border-radius:var(--r20);box-shadow:var(--shadow-sm)}

.ing-layout{position:relative;z-index:1;display:flex;gap:0;padding:0 32px 14px;flex:1;min-height:0;overflow:hidden}

/* ── LEFT: ingredient list ── */
.ing-grid{width:1px;flex:1;display:flex;flex-direction:column;gap:1px;overflow-y:auto;padding:14px 24px 10px 0}
.ing-card{animation:ingCardIn .4s cubic-bezier(.25,.46,.45,.94) both;background:transparent;border:none;border-radius:10px;padding:9px 14px;display:flex;align-items:center;gap:12px;transition:var(--transition);cursor:pointer;text-align:left;position:relative}
.ing-card:nth-child(1){animation-delay:0s}
.ing-card:nth-child(2){animation-delay:.03s}
.ing-card:nth-child(3){animation-delay:.06s}
.ing-card:nth-child(4){animation-delay:.09s}
.ing-card:nth-child(5){animation-delay:.12s}
.ing-card:nth-child(6){animation-delay:.15s}
.ing-card:nth-child(7){animation-delay:.18s}
.ing-card:nth-child(8){animation-delay:.21s}
@keyframes ingCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ing-card::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:3px;border-radius:50%;background:transparent;transition:var(--transition)}
.ing-card:hover{background:rgba(143,168,130,.06)}
.ing-card:hover::before{background:var(--cream-dd)}
.ing-card.selected{background:rgba(143,168,130,.07)}
.ing-card.selected::before{background:var(--sage-d);width:5px;height:5px}
.ing-card:active{transform:scale(.985)}
.ing-card.required{opacity:1}

.ing-icon-wrap{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ing-icon-wrap svg{width:26px;height:26px;transform:scale(1);transition:var(--transition)}
.ing-card.selected .ing-icon-wrap svg{transform:scale(1.08)}

.ing-nm{font-size:16px;font-weight:600;color:var(--t1);flex:1;transition:var(--transition);line-height:1.3}
.ing-card.selected .ing-nm{font-family:var(--font-serif);font-style:italic;color:var(--sage-d);font-weight:400}

.ing-pill{font-size:12px;font-weight:600;color:var(--t3);background:rgba(200,185,160,.13);border-radius:14px;padding:2px 10px;transition:var(--transition);flex-shrink:0}
.ing-card.selected .ing-pill{background:var(--sage-ll);color:var(--sage-d)}
.req-pill{font-size:10px;color:var(--t4);font-weight:600;background:transparent;padding:0;letter-spacing:.4px;text-transform:uppercase}
.ing-card.selected .req-pill{color:var(--sage-d)}

/* ── RIGHT: glass display + recipe ── */
.recipe-sidebar{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:14px 0 10px 20px;border-left:1px solid rgba(180,165,145,.12);position:relative}

/* Giant glass */
.glass-display{display:flex;flex-direction:column;align-items:center;padding:16px 0 10px;flex:1;justify-content:center}
.gd-straw{width:5px;height:44px;background:rgba(168,210,190,.62);border-radius:3px;margin-bottom:-5px;margin-left:36px;position:relative;z-index:2}
.gd-glass{width:110px;height:200px;border-radius:6px 6px 16px 16px;position:relative;overflow:hidden;box-shadow:0 14px 40px rgba(140,110,80,.1),inset 0 0 0 1px rgba(185,210,195,.28),inset 3px 0 0 rgba(255,255,255,.25);background:rgba(245,250,255,.2)}
.gd-ribs{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 9px,rgba(185,210,175,.06) 9px,rgba(185,210,175,.06) 10px);pointer-events:none}
.gd-ice-layer{position:absolute;top:8px;left:0;right:0;height:28%;display:flex;align-items:center;justify-content:center;gap:5px;padding:2px 4px;pointer-events:none;z-index:3;opacity:0;transition:opacity .4s ease}
.gd-glass.show-ice .gd-ice-layer{opacity:1}
.gd-i1,.gd-i2,.gd-i3{position:relative;border-radius:3px}
.gd-i1{width:22px;height:24px;background:linear-gradient(135deg,rgba(240,252,255,.92),rgba(200,228,250,.65) 50%,rgba(170,210,240,.45) 100%);transform:rotate(10deg);box-shadow:inset 0 0 0 1px rgba(200,230,255,.5),inset 0 0 10px rgba(180,220,245,.25),0 1px 2px rgba(0,0,0,.05)}
.gd-i2{width:18px;height:20px;background:linear-gradient(135deg,rgba(242,254,255,.9),rgba(210,235,250,.6) 50%,rgba(180,215,240,.4) 100%);transform:rotate(-14deg);box-shadow:inset 0 0 0 1px rgba(200,230,255,.45),inset 0 0 8px rgba(180,220,245,.2),0 1px 2px rgba(0,0,0,.05)}
.gd-i3{width:20px;height:22px;background:linear-gradient(135deg,rgba(238,250,255,.88),rgba(195,225,245,.55) 50%,rgba(165,210,238,.4) 100%);transform:rotate(22deg);box-shadow:inset 0 0 0 1px rgba(200,230,255,.4),inset 0 0 8px rgba(180,220,245,.2),0 1px 2px rgba(0,0,0,.05)}
.gd-i1::after,.gd-i2::after,.gd-i3::after{content:'';position:absolute;top:2px;left:2px;width:40%;height:25%;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent);border-radius:2px;filter:blur(.5px)}
.gd-fill{position:absolute;left:0;right:0;bottom:0;height:0%;transition:height .6s cubic-bezier(.25,.46,.45,.94);background:linear-gradient(180deg,#a8d278 0%,#8cbc5a 55%,rgba(190,210,160,.92) 100%);border-radius:0 0 14px 14px;z-index:2}
.gd-fill.berry-fill{background:linear-gradient(180deg,#a8d278 0%,#8cbc5a 40%,#e0b8c0 70%,#c89098 100%)!important}
.gd-milk{display:none}

/* Ingredient visuals in glass */
.gd-berry-layer{position:absolute;left:0;right:0;top:28%;height:44%;z-index:3;pointer-events:none;opacity:0;transition:opacity .4s ease;display:flex;align-items:center;justify-content:center;gap:0}
.gd-glass.show-berry .gd-berry-layer{opacity:1}
.gd-berry-1{animation:berryFloat 3s ease-in-out infinite}
.gd-berry-2{animation:berryFloat 3.6s ease-in-out infinite .4s;margin-left:-3px}

.gd-honey-layer{position:absolute;left:0;right:0;top:18%;height:32%;z-index:3;pointer-events:none;opacity:0;transition:opacity .6s ease;overflow:hidden}
.gd-glass.show-honey .gd-honey-layer{opacity:1}
.gd-honey-layer::before{content:'';position:absolute;left:8%;right:8%;top:5%;height:70%;background:radial-gradient(ellipse at 50% 0%,rgba(230,185,70,.2),transparent 70%);border-radius:50%;filter:blur(3px)}
.gd-honey-layer::after{content:'';position:absolute;left:20%;right:20%;top:0;height:4px;background:radial-gradient(ellipse,rgba(230,185,70,.18),transparent);border-radius:50%}

.gd-boba-layer{position:absolute;left:4px;right:4px;bottom:0;height:32%;z-index:3;pointer-events:none;opacity:0;transition:opacity .4s ease;display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:2px;padding:0 0 3px;align-content:flex-end}
.gd-glass.show-boba .gd-boba-layer{opacity:1}
.gd-boba{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8a6a50,#4a3420 60%,#2a1a0e);box-shadow:inset 0 -1px 2px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.08);position:relative;flex-shrink:0}
.gd-boba::after{content:'';position:absolute;top:1.5px;left:2px;width:2.5px;height:2.5px;background:rgba(255,255,255,.3);border-radius:50%}

.gd-cream-layer{position:absolute;left:0;right:0;top:2px;height:20%;z-index:5;pointer-events:none;opacity:0;transition:opacity .5s ease;display:flex;align-items:flex-end;justify-content:center;gap:1px;padding:0 6px}
.gd-glass.show-cream .gd-cream-layer{opacity:1}
.gd-cream-p{flex:1;border-radius:50% 50% 20% 20%;background:radial-gradient(ellipse at 50% 20%,rgba(255,255,255,.95),rgba(250,246,238,.85) 50%,rgba(242,237,227,.7) 100%);box-shadow:0 1px 4px rgba(200,180,160,.12),inset 0 -3px 6px rgba(200,180,160,.08)}
.gd-cp1{height:75%;border-radius:55% 45% 20% 20%}
.gd-cp2{height:100%;border-radius:45% 55% 25% 25%}
.gd-cp3{height:65%;border-radius:50% 50% 20% 20%}

.gd-cinnamon-layer{position:absolute;left:0;right:0;top:2px;height:12px;z-index:6;pointer-events:none;opacity:0;transition:opacity .4s ease}
.gd-glass.show-cinnamon .gd-cinnamon-layer{opacity:1}
.gd-cinnamon-layer::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:65%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(160,110,60,.4) 1px,transparent 1px),radial-gradient(circle at 50% 30%,rgba(150,100,50,.35) 1px,transparent 1px),radial-gradient(circle at 75% 65%,rgba(160,110,60,.3) 1px,transparent 1px),radial-gradient(circle at 35% 70%,rgba(140,95,45,.25) 1px,transparent 1px),radial-gradient(circle at 60% 20%,rgba(160,110,60,.35) 1px,transparent 1px),radial-gradient(circle at 45% 50%,rgba(150,100,50,.2) 1px,transparent 1px),radial-gradient(circle at 80% 35%,rgba(160,110,60,.25) 1px,transparent 1px),radial-gradient(circle at 25% 30%,rgba(140,95,45,.3) 1px,transparent 1px);filter:blur(.3px)}

@keyframes berryFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.gd-shine{position:absolute;top:0;left:5px;width:6px;height:100%;background:rgba(255,255,255,.18);border-radius:3px;pointer-events:none;z-index:7}
.gd-base{width:92px;height:7px;background:rgba(238,218,155,.5);border-radius:0 0 4px 4px;margin-top:-2px}

/* Recipe card — receipt style */
.rcp-card{animation:rcpSlide .4s cubic-bezier(.25,.46,.45,.94) both;padding:12px 0 14px}
@keyframes rcpSlide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.rcp-card::before{content:'';display:block;height:1px;background:var(--cream-d);margin-bottom:12px}
.rcp-card h3{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--t4);margin-bottom:10px;font-family:var(--font-sans)}
.rcp-ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;min-height:28px;margin-bottom:10px}
.rcp-ul li{background:rgba(200,219,191,.18);border-radius:14px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--t2);display:inline-flex;align-items:center;gap:4px;border:none}
.rcp-ul li span{font-weight:600;color:var(--t3);font-size:11px;margin-left:2px}
.rcp-empty{background:transparent!important;color:var(--t4)!important;font-size:11px;font-style:italic;font-weight:500;padding:2px 0!important}
.rcp-total{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--t2);font-weight:600}
.rcp-total strong{color:var(--t1);font-size:15px;font-family:var(--font-serif);font-style:italic;font-weight:400}
.rcp-total span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--t4)}

.brew-now-btn{width:100%;background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:11px;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm);transition:var(--transition);margin-top:4px}
.brew-now-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}
.brew-now-btn:active:not(:disabled){transform:translateY(0)}
.brew-now-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.clear-rcp-btn{width:100%;background:transparent;border:none;border-radius:var(--r40);padding:8px;font-size:12px;font-weight:600;color:var(--t4);transition:var(--transition)}
.clear-rcp-btn:hover{color:var(--t3);background:rgba(143,168,130,.06)}

/* ════ RITUAL SCENE ════ */
#brewView{flex-direction:column;align-items:stretch}
.ritual-bg{background:linear-gradient(160deg,#fdf8f4 0%,#f8f2eb 100%)}
.ritual-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(180,155,120,.05) 1px,transparent 1px);background-size:24px 24px}
.ritual-scene{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}

.brew-topbar{display:flex;align-items:center;padding:12px 18px;gap:12px;background:rgba(255,255,255,.6);backdrop-filter:blur(12px);flex-shrink:0}
.ritual-step-track{display:flex;align-items:center;flex:1;justify-content:center;gap:10px}
.rst-dot{width:28px;height:28px;border-radius:50%;background:var(--cream-d);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--taupe);transition:all .3s}
.rst-dot.active{background:var(--sage-d);color:#fff;box-shadow:var(--shadow-sm)}
.rst-dot.done{background:var(--sage-l);color:var(--sage-dd)}
.rst-line{width:40px;height:1.5px;background:var(--cream-d);transition:background .3s}
.rst-line.done{background:var(--sage-l)}
.reset-brew-btn{background:rgba(255,255,255,.7);border:none;border-radius:var(--r20);padding:6px 13px;font-size:12px;font-weight:700;color:var(--t3);transition:var(--transition);box-shadow:var(--shadow-sm)}
.reset-brew-btn:hover{background:var(--sage-ll);box-shadow:var(--shadow-md)}

.quote-strip{background:rgba(255,255,255,.5);backdrop-filter:blur(8px);padding:7px 18px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:var(--t2);flex-shrink:0}
.qs-text{font-style:italic;transition:opacity .35s}

.ritual-step{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.ritual-step.hidden{display:none}

.ritual-card{background:rgba(255,252,248,.94);backdrop-filter:blur(20px);border-radius:var(--r28);padding:36px 40px;width:min(560px,95vw);box-shadow:var(--shadow-lg);text-align:center;animation:ritualCardIn .5s cubic-bezier(.25,.46,.45,.94) both}
@keyframes ritualCardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.ritual-card-wide{width:min(680px,95vw)}
.ritual-eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--t4);margin-bottom:8px}
.ritual-heading{font-family:var(--font-serif);font-size:26px;color:var(--t1);margin-bottom:8px;font-style:italic}
.ritual-sub{font-size:13px;color:var(--t3);font-weight:600;margin-bottom:28px}

/* Mood cards grid */
.mood-cards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.mood-card{background:rgba(255,255,255,.8);border:none;border-radius:var(--r20);padding:16px 14px;width:100px;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;transition:var(--transition);text-align:center;box-shadow:var(--shadow-sm)}
.mood-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-md)}
.mood-card.selected{box-shadow:0 0 0 3px rgba(95,122,82,.15),var(--shadow-sm);transform:translateY(-2px) scale(1.02)}
.mood-card:active{transform:scale(.95)}
.mc-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg2)}
.mood-card.selected .mc-icon{background:var(--sage-ll)}
.mc-label{font-size:12px;font-weight:700;color:var(--t1)}
.mc-sub{font-size:10px;color:var(--t3);font-weight:600}

.ritual-next-btn{background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:13px 32px;font-size:14px;font-weight:700;box-shadow:var(--shadow-sm);transition:var(--transition);letter-spacing:.4px}
.ritual-next-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}
.ritual-next-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}

/* Step 2: drink reveal */
.drink-reveal{display:flex;align-items:flex-end;justify-content:center;gap:28px;margin-bottom:24px}
.drink-preview-glass{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.dpg-straw{width:4px;height:28px;background:rgba(168,210,190,.65);border-radius:2px;margin-bottom:-3px;margin-left:18px;position:relative;z-index:2}
.dpg-body{width:70px;height:118px;border-radius:4px 4px 12px 12px;position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(140,110,80,.1),inset 0 0 0 1px rgba(185,210,195,.4),inset 2px 0 0 rgba(255,255,255,.3)}
.dpg-ribs{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 7px,rgba(185,210,175,.1) 7px,rgba(185,210,175,.1) 8px)}
.dpg-ice{position:absolute;top:8px;left:0;right:0;height:26%;display:flex;align-items:center;justify-content:center;gap:5px;padding:3px}
.dice{border-radius:3px;background:rgba(220,240,255,.75);box-shadow:inset 0 0 0 1px rgba(180,215,240,.45)}
.dice.i1{width:18px;height:18px;transform:rotate(12deg)}
.dice.i2{width:13px;height:13px;transform:rotate(-8deg)}
.dpg-fill{position:absolute;left:0;right:0;bottom:22%;transition:height .8s cubic-bezier(.25,.46,.45,.94),background .6s ease}
.dpg-milk{position:absolute;bottom:0;left:0;right:0;height:22%;background:rgba(248,244,228,.88);border-radius:0 0 10px 10px;transition:opacity .4s}
.dpg-shine{position:absolute;top:0;left:4px;width:5px;height:100%;background:rgba(255,255,255,.18);border-radius:2px}
.dpg-base{width:58px;height:6px;background:rgba(238,218,155,.5);border-radius:0 0 4px 4px}

.drink-ing-list{display:flex;flex-direction:column;gap:7px;align-items:flex-start;max-width:220px}
.dil-tag{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.8);border:none;border-radius:var(--r12);padding:7px 12px;font-size:12px;font-weight:600;color:var(--t1);animation:fadeInUp .3s ease forwards;opacity:0;box-shadow:var(--shadow-sm)}
.dil-tag-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dil-tag.added{background:var(--sage-ll)}

.tweak-row{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:24px}
.tweak-label{font-size:12px;color:var(--t3);font-weight:700}
.tweak-btns{display:flex;gap:7px}
.tweak-btn{background:rgba(255,255,255,.75);border:none;border-radius:var(--r40);padding:6px 14px;font-size:12px;font-weight:700;color:var(--t2);transition:var(--transition);box-shadow:var(--shadow-sm)}
.tweak-btn:hover{background:var(--sage-ll);box-shadow:var(--shadow-md)}
.tweak-btn.active{background:var(--sage-ll);box-shadow:0 0 0 2px var(--sage-d),var(--shadow-sm);color:var(--sage-d)}

/* Pour btn */
.pour-btn{background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:14px 36px;font-size:15px;font-weight:700;box-shadow:var(--shadow-sm);transition:var(--transition);letter-spacing:.4px}
.pour-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}
.pour-btn:active:not(:disabled){transform:translateY(0)}
.pour-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.ritual-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.customize-btn{background:transparent;border:none;border-radius:var(--r40);padding:10px;font-size:13px;font-weight:600;color:var(--t2);transition:var(--transition);box-shadow:inset 0 0 0 1.5px rgba(180,165,145,.2)}
.customize-btn:hover{background:rgba(143,168,130,.08);color:var(--sage-d);box-shadow:inset 0 0 0 1.5px var(--sage-l)}

/* Hidden brew stubs */
#brewMsg,#whiskProg,#slotPowder,#slotWater,#slotWhisk,
#extraIngSlots,#brewSieve,#brewBowl,#bbFill,#bbWater,
#bbFoam,#bpjar,#bwjar,#bwhisk{display:none!important}
.hidden{display:none!important}

/* ════ STUDY SCENE ════ */
#studyView{flex-direction:column;align-items:stretch}

/* Full-screen soft gradient */
.study-bg-scene{
  background:
    radial-gradient(ellipse 70% 60% at 20% 10%, rgba(242,196,206,.28) 0%, transparent 60%),
    radial-gradient(ellipse 60% 55% at 80% 85%, rgba(200,219,191,.25) 0%, transparent 55%),
    linear-gradient(160deg,#fdf7f8 0%,#faf5f0 45%,#f3f7f0 100%);
}
.study-bg-scene::before{
  content:'';position:absolute;inset:0;
  background-image:
    radial-gradient(circle,rgba(242,196,206,.1) 1px,transparent 1px),
    radial-gradient(circle,rgba(143,168,130,.06) 1px,transparent 1px);
  background-size:28px 28px, 20px 20px;
  background-position:0 0, 14px 14px;
}

.study-scene{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}

/* Minimal top bar */
.study-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;
  background:transparent;
  flex-shrink:0;
  position:relative;z-index:10;
}
.sh-brand{font-family:var(--font-serif);font-size:20px;color:var(--taupe);font-style:italic}
.mode-pills{display:flex;gap:6px}
.mode-pill{
  background:rgba(255,255,255,.7);
  border:none;
  border-radius:var(--r40);padding:7px 20px;
  font-size:13px;font-weight:700;color:var(--t2);
  backdrop-filter:blur(8px);transition:var(--transition);
  box-shadow:var(--shadow-sm);
}
.mode-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
.mode-pill.active{background:var(--sage-d);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.mode-pill:active{transform:translateY(0)}
.sh-right{display:flex;align-items:center;gap:10px}

.new-brew-btn{background:rgba(255,255,255,.78);color:var(--sage-d);border:none;border-radius:var(--r20);padding:9px 22px;font-size:13px;font-weight:700;backdrop-filter:blur(6px);transition:var(--transition);box-shadow:var(--shadow-sm)}
.new-brew-btn:hover{background:var(--sage-ll);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.new-brew-btn:active{transform:translateY(0)}

/* ── FULL-BLEED LAYOUT ── */
.study-main{position:relative;flex:1;min-height:0;overflow-y:auto;padding:14px 0 24px}

/* Floating left panel */
.study-left{
  position:absolute;
  left:0;top:50%;transform:translateY(-50%);
  width:0;
  display:flex;flex-direction:column;
  z-index:6;
  transition:width .3s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
.study-left .panel-body{
  width:240px;padding:0 12px 0 8px;
  display:flex;flex-direction:column;gap:10px;
  opacity:0;transition:opacity .25s ease .05s;
  pointer-events:none;
}
.study-left.open{width:252px}
.study-left.open .panel-body{opacity:1;pointer-events:auto}

/* Floating right panel */
.study-right{
  position:absolute;
  right:0;top:50%;transform:translateY(-50%);
  width:0;
  display:flex;flex-direction:column;
  z-index:6;
  transition:width .3s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
.study-right .panel-body{
  width:230px;padding:0 8px 0 12px;
  display:flex;flex-direction:column;gap:10px;
  opacity:0;transition:opacity .25s ease .05s;
  pointer-events:none;
}
.study-right.open{width:242px}
.study-right.open .panel-body{opacity:1;pointer-events:auto}

/* Panel toggle tabs */
.panel-tab{
  position:absolute;top:50%;z-index:8;
  transform:translateY(-50%);
  width:32px;height:32px;
  border:none;border-radius:var(--r10);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  font-size:14px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}
.panel-tab:hover{transform:translateY(-50%) scale(1.1);box-shadow:var(--shadow-md)}
.panel-tab:active{transform:translateY(-50%) scale(.95)}
.panel-tab-left{left:4px}
.panel-tab-right{right:4px}
.study-left.open ~ .panel-tab-left{left:220px}
.study-right.open ~ .panel-tab-right{right:220px}

/* Panel overlay */
.panel-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.08);
  z-index:5;
  cursor:pointer;
  transition:opacity .3s;
}
.panel-overlay.hidden{display:none}

/* Floating card style — glassmorphism */
.study-card{
  background:rgba(255,255,255,.72);
  border-radius:var(--r20);
  padding:16px 18px;
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}
.study-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.sc-hdr{font-size:11px;font-weight:700;color:var(--sage-d);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:5px}
.task-cnt{background:var(--sage-l);color:var(--sage-dd);font-size:9px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.std-inp{display:flex;gap:6px;margin-bottom:8px}
.std-inp input{flex:1;padding:7px 10px;border:none;border-radius:var(--r20);font-size:11px;font-weight:600;background:rgba(255,255,255,.8);outline:none;transition:var(--transition);color:var(--t1);box-shadow:inset 0 1px 3px rgba(120,90,70,.06)}
.std-inp input:focus{box-shadow:0 0 0 3px rgba(200,219,191,.3),inset 0 1px 3px rgba(120,90,70,.06)}
#stdAddBtn{width:30px;height:30px;border-radius:50%;border:none;background:var(--sage-ll);font-size:16px;font-weight:700;color:var(--sage-d);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:var(--transition)}
#stdAddBtn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.std-list{list-style:none;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.std-task{background:rgba(255,255,255,.8);border:none;border-radius:var(--r20);padding:5px 9px;display:flex;align-items:center;gap:6px;transition:var(--transition);box-shadow:var(--shadow-sm)}
.std-task:hover{background:var(--sage-ll);box-shadow:var(--shadow-md)}
.std-task input[type="checkbox"]{accent-color:var(--sage-d);width:12px;height:12px;cursor:pointer}
.std-task span{flex:1;font-size:11px;font-weight:600;color:var(--t1)}
.std-task.done span{text-decoration:line-through;color:var(--t4)}
.del-task{background:none;border:none;color:var(--cream-dd);font-size:11px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}
.del-task:hover{background:#ffeeee;color:#d04040}
.srcp-ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px}
.srcp-ul li{background:rgba(200,219,191,.3);border:none;border-radius:14px;padding:3px 9px;font-size:10px;font-weight:700;color:var(--sage-d)}

.snd-row{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--t2);font-weight:600}
.ambient-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.amb-btn{width:32px;height:30px;border-radius:var(--r10);border:none;background:rgba(255,255,255,.6);font-size:14px;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:var(--shadow-sm);cursor:pointer}
.amb-btn:hover{transform:scale(1.12);box-shadow:var(--shadow-md)}
.amb-btn.active{background:var(--sage-ll);box-shadow:0 0 0 2px rgba(95,122,82,.2),var(--shadow-sm)}
.ambient-vol-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}
.av-icon{font-size:10px;color:var(--t3);width:14px;text-align:center;flex-shrink:0}
.amb-vol{-webkit-appearance:none;appearance:none;flex:1;height:4px;border-radius:2px;background:rgba(200,185,165,.3);outline:none;transition:var(--transition)}
.amb-vol::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--sage-d);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition)}
.amb-vol::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--sage-dd)}
.amb-vol::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sage-d);cursor:pointer;border:none}
.spotify-card{min-height:44px}
.spotify-body{display:flex;flex-direction:column;gap:6px}
.spotify-connect-btn{background:rgba(30,215,96,.12);color:#1db954;border:1.5px solid rgba(30,215,96,.25);border-radius:var(--r40);padding:6px 12px;font-size:11px;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:5px}
.spotify-connect-btn:hover{background:rgba(30,215,96,.18);transform:translateY(-1px)}
.spotify-player{display:flex;align-items:center;gap:8px}
.spotify-album-art{width:32px;height:32px;border-radius:6px;background:rgba(200,185,165,.15);flex-shrink:0;overflow:hidden}
.spotify-album-art img{width:100%;height:100%;object-fit:cover;display:block}
.spotify-track-info{flex:1;min-width:0}
.spotify-track-name{font-size:11px;font-weight:700;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spotify-artist-name{font-size:9px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spotify-controls{display:flex;align-items:center;gap:4px;margin-top:4px}
.spotify-ctrl-btn{width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.7);font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}
.spotify-ctrl-btn:hover{background:var(--sage-ll);transform:scale(1.1)}
.spotify-ctrl-btn:active{transform:scale(.95)}
.spotify-disconnect{font-size:9px;color:var(--t4);cursor:pointer;background:none;border:none;text-decoration:underline;padding:0;margin-top:4px;align-self:flex-start}
.spotify-disconnect:hover{color:var(--t2)}
.quote-card{min-height:72px;display:flex;flex-direction:column}
.quote-rotate{font-size:12px;font-style:italic;color:var(--t2);line-height:1.5;transition:opacity .35s;flex:1;display:flex;align-items:center}
.stat-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--t2);font-weight:600;padding:3px 0}
.stat-row strong{color:var(--t1);font-size:13px}

/* ── CENTRE ── */
.study-center{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;
  align-items:center;
  gap:18px;
  z-index:4;
}

/* Floating quote above timer */
.study-quote{
  font-size:12px;font-style:italic;
  color:var(--t3);letter-spacing:.5px;
  text-align:center;min-height:16px;
  animation:fadeInQuote .8s cubic-bezier(.25,.46,.45,.94) both;
  transition:opacity .35s,transform .35s;
}
@keyframes fadeInQuote{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* ── FLIP CLOCK ── */
.fc-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.fc-body{
  display:flex;align-items:center;gap:10px;
  padding:20px 28px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(12px);
  border-radius:var(--r20);
  box-shadow:var(--shadow-md);
}

.fc-digit{
  width:90px;height:120px;
  perspective:600px;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;
  background:rgba(255,255,255,.45);
  box-shadow:
    0 2px 8px rgba(120,90,70,.06),
    inset 0 1px 0 rgba(255,255,255,.5);
  overflow:hidden;
}
.fc-digit::after{
  content:'';position:absolute;z-index:10;
  left:10px;right:10px;top:50%;height:1px;
  background:rgba(200,185,165,.22);
  transform:translateY(-.5px);
}

.fc-text{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
  font-family:var(--font-serif);
  font-size:100px;font-weight:400;
  line-height:1;
  color:#d8c4b8;
  letter-spacing:-2px;
  transform:rotateX(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.fc-digit.flipping .fc-text{
  animation:fcFlip .35s ease;
}

@keyframes fcFlip{
  0%{transform:rotateX(0)}
  45%{transform:rotateX(-90deg)}
  55%{transform:rotateX(90deg)}
  100%{transform:rotateX(0)}
}

.fc-sep{
  font-family:var(--font-serif);
  font-size:70px;font-weight:400;
  color:#e0cec4;
  line-height:1;
  margin-top:-10px;
  animation:fcSepPulse 1.5s ease-in-out infinite;
}
@keyframes fcSepPulse{0%,100%{opacity:1}50%{opacity:.25}}

.fc-lbl{
  font-size:10px;font-weight:700;letter-spacing:4px;
  color:var(--t4);text-transform:uppercase;
  transition:opacity .3s,transform .3s;
}

/* ── AMBIENT GLOW ── */
.study-ambient-glow{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(200,220,180,.12),transparent 70%);pointer-events:none;z-index:0;transition:background .6s ease;margin-top:-30px}

/* ── MOOD INDICATOR ── */
.study-mood-indicator{font-size:10px;font-weight:700;color:var(--t4);letter-spacing:.8px;text-transform:uppercase;transition:color .4s,opacity .4s;min-height:14px;opacity:.6}

/* ── MATCHA GLASS ── */
.study-glass-hero{display:flex;flex-direction:column;align-items:center;transform:scale(1.65);margin:8px 0}
.sgh-straw{
  width:6px;height:40px;
  background:rgba(168,210,190,.62);
  border-radius:3px;
  margin-bottom:-5px;margin-left:30px;
  position:relative;z-index:2;
}
.study-cup{
  width:80px;height:136px;
  border-radius:5px 5px 14px 14px;
  position:relative;overflow:hidden;
  box-shadow:
    0 12px 32px rgba(140,110,80,.1),
    inset 0 0 0 1px rgba(185,210,195,.35),
    inset 3px 0 0 rgba(255,255,255,.3);
}
.study-cup.glass{background:rgba(235,248,255,.35)}
.study-cup.terracotta{background:linear-gradient(to bottom,#f2d4c4,#eac4b0)}
.study-cup.matcha{background:linear-gradient(to bottom,#d4e0b8,#c0d0a0);border:2px solid rgba(180,195,150,.4);border-radius:50% 50% 16px 16px!important}
.study-cup.latte{background:linear-gradient(to bottom,#f8f4ec,#f0ece4);border:1.5px solid rgba(200,190,175,.5);box-shadow:inset 0 -2px 0 rgba(200,190,175,.3);border-radius:8px 8px 16px 16px!important;width:62px!important;height:68px!important}
.sg-ribs-study{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 7px,rgba(185,210,175,.08) 7px,rgba(185,210,175,.08) 8px)}
.scu-fill{position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(180deg,#a8d278 0%,#8cbc5a 55%,rgba(190,210,160,.92) 100%);border-radius:0 0 12px 12px;transition:height .8s cubic-bezier(.25,.46,.45,.94)}
.sg-milk-s{display:none}
.sg-shine-s{position:absolute;top:0;left:4px;width:6px;height:100%;background:rgba(255,255,255,.18);border-radius:3px}
.sgh-base{width:68px;height:7px;background:rgba(238,218,155,.5);border-radius:0 0 5px 5px}

/* Ingredient layers in study cup */
.scu-ice-layer,.scu-boba-layer,.scu-cream-layer,.scu-cinnamon-layer{position:absolute;pointer-events:none;opacity:0;transition:opacity .4s ease;z-index:3}
.study-cup.show-ice .scu-ice-layer{opacity:1}
.study-cup.show-boba .scu-boba-layer{opacity:1}
.study-cup.show-cream .scu-cream-layer{opacity:1}
.study-cup.show-cinnamon .scu-cinnamon-layer{opacity:1}
.scu-ice-layer{top:3px;left:0;right:0;height:26%;display:flex;align-items:center;justify-content:center;gap:4px;padding:2px}
.scu-i1,.scu-i2{width:14px;height:15px;border-radius:2px;background:linear-gradient(135deg,rgba(240,252,255,.9),rgba(200,228,250,.6) 50%,rgba(170,210,240,.4) 100%);box-shadow:inset 0 0 0 1px rgba(200,230,255,.4),inset 0 0 6px rgba(180,220,245,.2),0 1px 1px rgba(0,0,0,.04);position:relative}
.scu-i1::after,.scu-i2::after{content:'';position:absolute;top:1px;left:1px;width:35%;height:25%;background:rgba(255,255,255,.5);border-radius:1px;filter:blur(.3px)}
.scu-i1{transform:rotate(8deg)}.scu-i2{transform:rotate(-10deg);width:12px;height:13px}
.scu-boba-layer{left:3px;right:3px;bottom:0;height:24%;display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:1.5px;padding:0 0 2px;align-content:flex-end}
.scu-b{width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8a6a50,#4a3420 60%,#2a1a0e);box-shadow:inset 0 -1px 1px rgba(0,0,0,.3),0 .5px 1px rgba(0,0,0,.06);flex-shrink:0;position:relative}
.scu-b::after{content:'';position:absolute;top:1px;left:1.2px;width:1.8px;height:1.8px;background:rgba(255,255,255,.3);border-radius:50%}
.scu-cream-layer{left:0;right:0;top:1px;height:18%;display:flex;align-items:flex-end;justify-content:center;gap:1px;padding:0 4px;z-index:5}
.scu-cp1,.scu-cp2{flex:1;border-radius:50% 50% 20% 20%;background:radial-gradient(ellipse at 50% 20%,rgba(255,255,255,.95),rgba(250,246,238,.85) 50%,rgba(242,237,227,.7) 100%);box-shadow:0 1px 3px rgba(200,180,160,.1),inset 0 -2px 4px rgba(200,180,160,.06)}
.scu-cp1{height:80%;border-radius:55% 45% 20% 20%}.scu-cp2{height:100%;border-radius:45% 55% 25% 25%}
.scu-cinnamon-layer{left:0;right:0;top:1px;height:10px;z-index:6}
.scu-cinnamon-layer::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:100%;background-image:radial-gradient(circle at 30% 50%,rgba(160,110,60,.35) 1px,transparent 1px),radial-gradient(circle at 60% 30%,rgba(150,100,50,.3) 1px,transparent 1px),radial-gradient(circle at 50% 70%,rgba(160,110,60,.25) 1px,transparent 1px),radial-gradient(circle at 70% 50%,rgba(140,95,45,.2) 1px,transparent 1px),radial-gradient(circle at 40% 30%,rgba(160,110,60,.3) 1px,transparent 1px);filter:blur(.2px)}

/* ── CONTROLS ── */
.timer-controls{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}
.preset-row{display:flex;gap:5px}
.preset-btn{
  background:rgba(255,255,255,.7);border:none;
  border-radius:var(--r20);padding:5px 13px;
  font-size:11px;font-weight:700;color:var(--t2);
  backdrop-filter:blur(6px);transition:var(--transition);
  box-shadow:var(--shadow-sm);
}
.preset-btn:hover{background:var(--gold-l);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.preset-btn:active{transform:translateY(0)}
.preset-btn.active-p{background:rgba(200,219,191,.5);color:var(--sage-d);box-shadow:0 0 0 2px var(--sage),var(--shadow-sm)}
.timer-btns-row{display:flex;gap:8px;align-items:center}
.play-btn{
  background:var(--sage-d);color:#fff;border:none;
  border-radius:var(--r40);padding:11px 28px;
  font-size:13px;font-weight:700;
  box-shadow:var(--shadow-sm);transition:var(--transition);
}
.play-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.play-btn:active{transform:translateY(0)}
.play-btn.paused{background:var(--gold-d)}
.rst-btn{
  background:rgba(255,255,255,.75);border:none;
  border-radius:var(--r40);padding:9px 16px;
  font-size:13px;font-weight:700;color:var(--taupe);
  backdrop-filter:blur(6px);transition:var(--transition);
  box-shadow:var(--shadow-sm);
}
.rst-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.snd-btn{
  background:rgba(255,255,255,.75);border:none;
  border-radius:50%;width:36px;height:36px;
  font-size:15px;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(6px);transition:var(--transition);
  box-shadow:var(--shadow-sm);
}
.snd-btn:hover{background:var(--sage-ll);transform:scale(1.08);box-shadow:var(--shadow-md)}
.elapsed-row{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.prog-wrap{width:180px;height:4px;background:rgba(200,218,192,.25);border-radius:4px;overflow:hidden}
.prog-fill{
  height:100%;width:0%;border-radius:4px;
  background:linear-gradient(90deg,var(--blush),var(--sage-l));
  transition:width .5s ease;position:relative;overflow:hidden;
}
.prog-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2.5s ease-in-out infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.elapsed-txt{font-size:10px;color:var(--t4);font-weight:600;letter-spacing:.3px}

/* ════ STAGGERED ENTRANCE ════ */
.fc-wrap,.study-mood-indicator,.study-glass-hero,.timer-controls,.skin-picker{opacity:0;transform:translateY(10px)}
.stagger-entered .fc-wrap{animation:fadeInUp .35s ease both}
.stagger-entered .study-glass-hero{animation:fadeInUp .35s ease both .09s}
.stagger-entered .timer-controls{animation:fadeInUp .35s ease both .18s}
.stagger-entered .study-mood-indicator{animation:fadeInUp .35s ease both .24s}

/* ── DECOR PICKER ── */
.decor-picker-card{min-height:0}
.decor-picker{display:flex;flex-wrap:wrap;gap:6px}
.decor-pick-btn{width:34px;height:34px;border-radius:var(--r10);border:none;background:rgba(255,255,255,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:var(--shadow-sm);padding:4px;overflow:hidden;opacity:.35;filter:grayscale(.7)}
.decor-pick-btn svg{width:100%;height:100%;display:block}
.decor-pick-btn.active{opacity:1;filter:none;background:var(--sage-ll);box-shadow:0 0 0 2px rgba(95,122,82,.15),var(--shadow-sm)}
.decor-pick-btn.active:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}
.decor-pick-btn.dimmed{opacity:.45;filter:grayscale(.3) brightness(.85)}

/* ── Complete card ── */
.complete-card{
  background:rgba(255,255,255,.88);border-radius:var(--r20);
  padding:22px;
  text-align:center;
  box-shadow:var(--shadow-md);
  animation:popIn .4s cubic-bezier(.34,1.56,.64,1);
}
.complete-card.hidden{display:none}
@keyframes popIn{from{transform:scale(.85) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.cc-bloom{margin-bottom:8px}
.cc-title{font-family:var(--font-serif);font-size:18px;color:var(--sage-d);margin-bottom:4px;font-style:italic}

.cc-break-btn{background:var(--sage-l);color:var(--sage-dd);border:none;border-radius:var(--r40);padding:8px 20px;font-size:12px;font-weight:700;box-shadow:var(--shadow-sm);transition:var(--transition)}
.cc-break-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* ════ POST SESSION MODAL ════ */
.post-card{background:rgba(255,252,248,.97);backdrop-filter:blur(24px);border-radius:var(--r28);padding:36px 40px;width:min(440px,95vw);box-shadow:var(--shadow-xl);text-align:center;animation:modalContentIn .35s cubic-bezier(.34,1.56,.64,1) both}
.post-bloom{margin-bottom:10px}
.post-card h2{font-family:var(--font-serif);font-size:26px;color:var(--sage-d);margin-bottom:7px;font-style:italic}
.post-card>p{font-size:14px;color:var(--t2);font-weight:600;margin-bottom:22px}
.ps-sec{margin-bottom:18px;text-align:left}
.ps-lbl{font-size:12px;font-weight:700;color:var(--t2);margin-bottom:9px;display:block}
.mood-row{display:flex;gap:10px;justify-content:center}
.mood-btn{width:48px;height:48px;border-radius:50%;border:none;background:rgba(245,236,224,.5);font-size:24px;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:var(--shadow-sm)}
.mood-btn:hover{transform:scale(1.15);background:var(--blush-l);box-shadow:var(--shadow-md)}
.mood-btn.selected{background:var(--blush-l);box-shadow:0 0 0 4px rgba(212,136,154,.2),var(--shadow-sm);transform:scale(1.1)}
.journal-inp{width:100%;padding:11px 14px;border:none;border-radius:var(--r12);font-size:13px;font-weight:600;font-family:inherit;background:rgba(245,236,224,.5);outline:none;transition:var(--transition);color:var(--t1);box-shadow:inset 0 1px 3px rgba(120,90,70,.04)}
.journal-inp:focus{background:rgba(255,255,255,.9);box-shadow:0 0 0 3px rgba(143,168,130,.15)}
.ps-done{width:100%;background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:13px;font-size:15px;font-weight:700;margin-top:6px;box-shadow:var(--shadow-sm);transition:var(--transition)}
.ps-done:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* ════ SCROLLBAR ════ */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--cream-d);border-radius:4px;transition:background .2s}
::-webkit-scrollbar-thumb:hover{background:var(--cream-dd)}
*{scrollbar-width:thin;scrollbar-color:var(--cream-d) transparent}

.mood-mini-row{display:flex;gap:6px;flex-wrap:wrap}
.mood-mini-btn{width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.75);font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px);box-shadow:var(--shadow-sm)}
.mood-mini-btn:hover{transform:scale(1.15);background:var(--blush-l);box-shadow:var(--shadow-md)}
.mood-mini-btn.selected{background:var(--blush-l);box-shadow:0 0 0 3px rgba(212,136,154,.18)}

/* ════ NEXT UNLOCK & TOAST ════ */
.next-unlock{background:rgba(200,219,191,.12);border-radius:var(--r12);padding:8px 12px;text-align:center;margin-top:6px}
.next-unlock .nu-label{font-size:9px;font-weight:700;color:var(--t4);letter-spacing:.5px;text-transform:uppercase}
.next-unlock .nu-name{font-size:12px;font-weight:700;color:var(--sage-d);margin-top:2px}
.next-unlock .nu-req{font-size:9px;font-weight:600;color:var(--t4);margin-top:1px}
.unlock-toast{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:var(--r16);padding:12px 18px;box-shadow:var(--shadow-xl);transform:translateX(120%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:300px}
.unlock-toast.show{transform:translateX(0)}
.unlock-toast .ut-icon{font-size:24px;flex-shrink:0}
.unlock-toast .ut-body{display:flex;flex-direction:column;gap:2px}
.unlock-toast .ut-label{font-size:9px;font-weight:700;color:var(--t4);letter-spacing:.5px;text-transform:uppercase}
.unlock-toast .ut-name{font-size:13px;font-weight:700;color:var(--sage-d)}
/* ════ RESPONSIVE ════ */
@media(max-width:1100px){
  .study-left .panel-body{width:210px}
  .study-right .panel-body{width:200px}
  .study-left.open{width:222px}
  .study-right.open{width:212px}
  .study-left.open ~ .panel-tab-left{left:190px}
  .study-right.open ~ .panel-tab-right{right:190px}
}
@media(max-width:860px){
  .study-left .panel-body{width:170px}
  .study-left.open{width:182px}
  .study-left.open ~ .panel-tab-left{left:150px}
  .study-right{display:none}
  .panel-tab-right{display:none}
}
@media(max-width:900px){
  .fc-digit{width:72px;height:98px}
  .fc-text{font-size:80px}
  .fc-body{padding:16px 20px;gap:8px}
  .fc-sep{font-size:56px}
  .study-glass-hero{transform:scale(1.1)}
}
@media(max-width:860px){
  .ing-layout{flex-direction:column;padding:0 20px 14px}
  .ing-grid{width:auto;padding:10px 0}
  .recipe-sidebar{width:auto;border-left:none;padding:0;flex-direction:row;flex-wrap:wrap;gap:8px}
  .glass-display{padding:10px 0;flex:0 0 auto;width:100%;min-height:140px}
  .gd-glass{width:76px;height:140px;flex-shrink:0}
  .gd-straw{height:32px;margin-left:26px}
  .gd-base{width:64px}
  .gd-i1{width:20px;height:20px}
  .gd-i2{width:16px;height:16px}
  .rcp-card{flex:1;min-width:200px}
  .brew-now-btn,.clear-rcp-btn{width:auto;flex:1}
}
@media(max-width:760px){
  .mood-cards{gap:8px}
  .mood-card{width:88px;padding:12px 10px}
  .study-left{display:none}
  .panel-tab-left{display:none}
}
@media(max-width:640px){
  .fc-digit{width:60px;height:84px}
  .fc-text{font-size:66px}
  .fc-body{padding:14px 16px;gap:6px}
  .fc-sep{font-size:46px}
  .study-glass-hero{transform:scale(.9)}
}
@media(max-width:500px){
  .fc-digit{width:48px;height:68px}
  .fc-text{font-size:52px}
  .fc-body{padding:10px 12px;gap:4px}
  .fc-sep{font-size:36px}
  .study-glass-hero{transform:scale(.7)}
  .screen-title{font-size:22px}
  .ing-topbar{padding:14px 16px 0;gap:10px}
  .ing-card{padding:7px 10px;gap:8px}
  .ing-nm{font-size:14px}
  .ing-icon-wrap{width:22px;height:22px}
  .ing-icon-wrap svg{width:20px;height:20px}
  .ing-pill{font-size:10px;padding:1px 7px}
}

/* ════════════════════════════════════════════
   PREMIUM FEATURES
   ════════════════════════════════════════════ */

/* Premium badge in nav */
.prem-badge-btn{background:linear-gradient(135deg,#f0c878,#e8a050);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;transition:var(--transition);box-shadow:0 2px 8px rgba(232,160,80,.3);cursor:pointer;position:relative}
.prem-badge-btn:hover{transform:scale(1.12);box-shadow:0 3px 14px rgba(232,160,80,.4)}
.prem-badge-btn.premium{box-shadow:0 0 12px rgba(232,160,80,.5),0 0 24px rgba(232,160,80,.2)}
.prem-badge-btn.premium::after{content:'✦';position:absolute;top:-4px;right:-4px;font-size:9px;color:var(--gold)}
.user-prem-badge{font-size:10px;color:var(--gold);margin-left:2px;font-weight:700}
.user-prem-badge.hidden{display:none}

/* Premium lock badges */
.prem-lock-badge{font-size:8px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:20px;background:linear-gradient(135deg,#f0c878,#e8a050);color:#fff;text-transform:uppercase;margin-left:auto}

/* Premium Modal */
.prem-modal{background:rgba(255,252,248,.96);backdrop-filter:blur(24px);border-radius:var(--r28);padding:36px 40px;width:780px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);animation:authCardIn .5s cubic-bezier(.34,1.56,.64,1) both}
.prem-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(120,90,70,.08);font-size:16px;color:var(--t3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}
.prem-close:hover{background:rgba(120,90,70,.15);color:var(--t1)}
.prem-header{text-align:center;margin-bottom:28px}
.prem-icon{font-size:40px;margin-bottom:8px}
.prem-header h2{font-family:var(--font-serif);font-size:28px;color:var(--sage-d);margin-bottom:6px}
.prem-header p{font-size:13px;color:var(--t3);max-width:400px;margin:0 auto;line-height:1.5}
.prem-plans{display:flex;gap:16px;justify-content:center;align-items:stretch}
.prem-plan{flex:1;background:rgba(255,255,255,.7);border-radius:var(--r20);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:var(--shadow-sm);transition:var(--transition);position:relative;border:2px solid transparent}
.prem-plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.prem-plan-featured{border-color:var(--gold);background:rgba(255,252,240,.9)}
.pp-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#f0c878,#e8a050);color:#fff;font-size:9px;font-weight:700;padding:3px 12px;border-radius:20px;letter-spacing:.5px;text-transform:uppercase}
.pp-name{font-size:12px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px}
.pp-price{font-family:var(--font-serif);font-size:36px;color:var(--sage-d);line-height:1;font-style:italic}
.pp-price span{font-size:14px;color:var(--t3);font-family:var(--font-sans);font-weight:600}
.pp-save{font-size:11px;font-weight:700;color:var(--gold-d);margin-top:-6px}
.pp-features{list-style:none;padding:0;width:100%;display:flex;flex-direction:column;gap:6px;flex:1}
.pp-features li{font-size:12px;font-weight:600;color:var(--t2);padding:4px 0;display:flex;align-items:center;gap:6px}
.pp-features li::before{content:'✓';color:var(--sage);font-weight:700}
.prem-choose-btn{width:100%;background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:12px;font-size:13px;font-weight:700;transition:var(--transition);box-shadow:var(--shadow-sm);margin-top:auto}
.prem-choose-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--sage-dd)}
.prem-footer{text-align:center;font-size:11px;color:var(--t4);margin-top:20px;font-weight:600}

/* Brain Dump */
.brain-dump-card .brain-dump-body{display:flex;flex-direction:column;gap:8px}
.bd-input-row{display:flex;gap:6px}
.bd-input-row input{flex:1;padding:8px 12px;border:none;border-radius:var(--r12);font-size:12px;font-weight:600;background:rgba(245,236,224,.5);outline:none;color:var(--t1)}
.bd-input-row input:focus{background:rgba(255,255,255,.9);box-shadow:0 0 0 3px rgba(143,168,130,.15)}
.bd-input-row input:disabled{opacity:.4;cursor:not-allowed}
.bd-add-btn{width:34px;height:34px;border-radius:var(--r12);border:none;background:var(--sage-d);color:#fff;font-size:16px;font-weight:700;transition:var(--transition);display:flex;align-items:center;justify-content:center}
.bd-add-btn:disabled{opacity:.4;cursor:not-allowed}
.bd-add-btn:hover:not(:disabled){transform:scale(1.08)}
.bd-count{font-size:10px;font-weight:700;color:var(--t4);text-align:center}
.bd-list{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto}
.bd-item{background:rgba(245,236,224,.4);border-radius:var(--r10);padding:6px 10px;font-size:11px;font-weight:600;color:var(--t2);display:flex;align-items:center;gap:6px;animation:fadeInUp .2s ease both}
.bd-item .bd-del{background:none;border:none;color:var(--t4);font-size:12px;cursor:pointer;margin-left:auto;padding:2px}
.bd-item .bd-del:hover{color:var(--blush-d)}

/* Insights Card */
.insights-card{cursor:pointer}
.insights-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.insights-preview{font-size:11px;font-weight:600;color:var(--t4);display:flex;align-items:center;gap:6px;padding:4px 0}

/* Insights Modal */
.insights-modal{background:rgba(255,252,248,.96);backdrop-filter:blur(24px);border-radius:var(--r28);padding:28px 32px;width:600px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);animation:authCardIn .5s cubic-bezier(.34,1.56,.64,1) both}
.insights-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.insights-hdr h2{font-family:var(--font-serif);font-size:22px;color:var(--sage-d)}
.insights-close{width:32px;height:32px;border-radius:50%;border:none;background:rgba(120,90,70,.08);font-size:16px;color:var(--t3);cursor:pointer;transition:var(--transition)}
.insights-close:hover{background:rgba(120,90,70,.15);color:var(--t1)}
.insights-premium-lock{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center}
.ipl-icon{font-size:40px}
.ipl-text{font-size:14px;font-weight:600;color:var(--t3);max-width:280px;line-height:1.5}
.ipl-btn{background:linear-gradient(135deg,#f0c878,#e8a050);color:#fff;border:none;border-radius:var(--r40);padding:10px 24px;font-size:13px;font-weight:700;transition:var(--transition);box-shadow:0 2px 8px rgba(232,160,80,.3)}
.ipl-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(232,160,80,.35)}
.insights-content{display:flex;flex-direction:column;gap:20px}
.is-section{background:rgba(255,255,255,.6);border-radius:var(--r16);padding:16px}
.is-label{font-size:11px;font-weight:700;color:var(--sage-d);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.is-peak{font-family:var(--font-serif);font-size:28px;color:var(--sage-d);font-style:italic;text-align:center;padding:8px 0}
.is-log{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.is-log-item{background:rgba(245,236,224,.4);border-radius:var(--r10);padding:8px 12px;font-size:11px;color:var(--t2);display:flex;justify-content:space-between;align-items:center}
.is-log-item .ilm-date{font-weight:700;color:var(--t3)}
.is-log-item .ilm-min{font-weight:700;color:var(--sage-d)}
.is-log-item .ilm-drink{font-size:13px;flex-shrink:0}
.is-log-empty{text-align:center;font-size:12px;color:var(--t4);padding:20px 0;font-weight:600}

/* Deep Focus Mode */
.deep-focus-card{transition:var(--transition)}
.df-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.df-label{font-size:11px;font-weight:600;color:var(--t2)}
.df-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}
.df-toggle input{opacity:0;width:0;height:0}
.df-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--t4);border-radius:20px;transition:var(--transition)}
.df-slider::before{content:'';position:absolute;height:16px;width:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:var(--transition)}
.df-toggle input:checked+.df-slider{background:var(--sage-d)}
.df-toggle input:checked+.df-slider::before{transform:translateX(16px)}
.df-toggle input:disabled+.df-slider{opacity:.4;cursor:not-allowed}
.df-info{font-size:10px;font-weight:600;color:var(--t4);margin-top:4px;text-align:center}

/* Deep Focus active state - minimal UI */
.study-minimal .study-left{display:none!important}
.study-minimal .study-right .side-card:not(.deep-focus-card){display:none!important}
.study-minimal .panel-tab{display:none!important}
.study-minimal .sh-brand{opacity:.3;transition:opacity .5s}
.study-minimal .sh-right{opacity:.3;transition:opacity .5s}
.study-minimal .mode-pills{opacity:.3;transition:opacity .5s}
.study-minimal .study-quote{opacity:.3;transition:opacity .5s}
.study-minimal .study-ambient-glow{opacity:1.5;transition:opacity 2s}
.study-minimal .fc-lbl{opacity:.5;transition:opacity .5s}
.study-minimal .timer-controls{opacity:.5;transition:opacity .5s}
.study-minimal .timer-controls:hover{opacity:1}
.study-minimal .study-mood-indicator{display:none!important}
.study-minimal .sessMsg{opacity:.4}
.study-minimal .df-label{color:var(--sage-d);font-weight:700}

/* Focus score toast */
.focus-score-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);background:rgba(255,252,248,.96);backdrop-filter:blur(24px);border-radius:var(--r28);padding:32px 40px;z-index:999;box-shadow:var(--shadow-xl);text-align:center;animation:authCardIn .4s cubic-bezier(.34,1.56,.64,1) both}
.focus-score-toast .fst-score{font-family:var(--font-serif);font-size:56px;color:var(--sage-d);line-height:1;font-style:italic}
.focus-score-toast .fst-label{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:1px;margin-top:4px}
.focus-score-toast .fst-desc{font-size:13px;color:var(--t2);margin-top:8px;font-weight:600}
.focus-score-toast .fst-close{background:var(--sage-d);color:#fff;border:none;border-radius:var(--r40);padding:8px 20px;font-size:12px;font-weight:700;margin-top:14px;cursor:pointer;transition:var(--transition)}
.focus-score-toast .fst-close:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}