:root{
  --ink:#28233a;
  --muted:#756f89;
  --soft-muted:#9b93ad;
  --paper:#fff8f2;
  --paper-2:#fbf3ff;
  --card:#fffdfa;
  --card-soft:rgba(255,255,255,.78);
  --line:rgba(68,55,92,.12);
  --purple:#8b74ff;
  --purple2:#c18cff;
  --lavender:#f0e8ff;
  --mint:#def8ed;
  --blue:#e8f5ff;
  --peach:#ffe8d8;
  --pink:#ffe9f2;
  --cream:#fff6df;
  --green:#77d8b8;
  --shadow:0 22px 70px rgba(67,50,92,.14);
  --soft-shadow:0 14px 42px rgba(67,50,92,.10);
  --nav-h:78px;
  --top-h:70px;
  --radius-xl:34px;
  --radius-lg:28px;
  --radius-md:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% -5%,rgba(193,140,255,.26),transparent 32%),
    radial-gradient(circle at 90% 4%,rgba(255,211,166,.36),transparent 30%),
    radial-gradient(circle at 18% 78%,rgba(119,216,184,.18),transparent 34%),
    linear-gradient(180deg,#fffaf5 0%,#fbf3ff 48%,#f8fcff 100%);
  min-height:100svh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background-image:
    radial-gradient(circle at 24px 24px, rgba(139,116,255,.10) 0 2px, transparent 2px),
    radial-gradient(circle at 72px 86px, rgba(119,216,184,.10) 0 2px, transparent 2px);
  background-size:120px 120px;
  mask-image:linear-gradient(180deg,#000,transparent 70%);
}
button{font:inherit}
button:not(:disabled){cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
button{-webkit-tap-highlight-color:transparent}
.app-shell{min-height:100svh;padding-bottom:calc(var(--nav-h) + 1.35rem)}
.topbar{
  position:sticky;top:0;z-index:50;height:var(--top-h);
  display:flex;align-items:center;gap:.72rem;padding:.65rem 1rem;
  background:rgba(255,250,245,.72);
  border-bottom:1px solid rgba(255,255,255,.72);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
.icon-btn{
  width:44px;height:44px;border:0;border-radius:17px;
  background:rgba(255,255,255,.76);
  box-shadow:0 10px 26px rgba(67,50,92,.09);
  color:var(--ink);font-weight:950;font-size:1.16rem;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.icon-btn:active{transform:scale(.96)}
.brand{flex:1;display:flex;align-items:center;gap:.65rem;text-align:left;border:0;background:transparent;color:var(--ink)}
.brand-mark{
  width:40px;height:40px;border-radius:17px;display:grid;place-items:center;
  background:linear-gradient(135deg,#8b74ff 0%,#c18cff 52%,#ffd4a8 100%);
  color:#fff;font-weight:950;box-shadow:0 12px 28px rgba(139,116,255,.24);
  position:relative;overflow:hidden;
}
.brand-mark::after{content:"";position:absolute;width:18px;height:18px;border-radius:999px;background:rgba(255,255,255,.34);right:-4px;top:5px}
.brand-text{display:grid;line-height:1.08}
.brand-text small{color:var(--muted);font-size:.76rem;margin-top:.12rem}
.install-btn{border:0;border-radius:999px;padding:.72rem .95rem;background:#2d2742;color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(45,39,66,.18)}
.screen{width:min(780px,100%);margin:0 auto;padding:1rem 1rem 1.45rem;outline:none;position:relative;z-index:1}
.section{display:grid;gap:1rem}
.hero{
  position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-xl);
  padding:1.2rem;background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(246,238,255,.86));
  box-shadow:var(--shadow);isolation:isolate;
}
.hero::before{content:"";position:absolute;width:210px;height:210px;border-radius:74px;background:rgba(222,248,237,.62);right:-86px;top:-92px;transform:rotate(16deg);z-index:-1}
.hero::after{content:"";position:absolute;width:140px;height:140px;border-radius:48px;background:rgba(255,232,216,.65);left:-68px;bottom:-76px;transform:rotate(-22deg);z-index:-1}
.cute-hero{display:grid;grid-template-columns:minmax(0,1fr) 158px;align-items:center;gap:1rem;min-height:260px}
.hero-copy{position:relative;z-index:2}
.kicker{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.38rem;border-radius:999px;padding:.43rem .75rem;background:rgba(139,116,255,.12);color:#6753df;font-weight:950;font-size:.76rem;letter-spacing:.02em}
.kicker::before{content:"✦";font-size:.72rem;color:#9b7fff}
.hero h1{position:relative;z-index:1;margin:.72rem 0 .58rem;font-size:clamp(2.15rem,9.5vw,4.2rem);line-height:.94;letter-spacing:-.06em}
.lede{position:relative;z-index:1;color:var(--muted);font-size:1.02rem;line-height:1.56;margin:.15rem 0 0}
.hero-chips{display:flex;flex-wrap:wrap;gap:.48rem;margin-top:.9rem}
.hero-chips span{display:inline-flex;border-radius:999px;padding:.42rem .64rem;background:rgba(255,255,255,.72);border:1px solid rgba(139,116,255,.10);font-size:.78rem;font-weight:900;color:#675f80}
.price-pill{position:relative;z-index:1;display:inline-flex;margin-top:.9rem;border-radius:999px;padding:.62rem .9rem;background:#2d2742;color:#fff;font-weight:950;box-shadow:0 14px 32px rgba(45,39,66,.17)}.price-button{border:0;gap:.42rem;align-items:center}.price-button span{opacity:.84;font-weight:850}.price-button strong{font-weight:950}.price-button:active{transform:scale(.985)}
.hero-visual{position:relative;z-index:2;display:grid;justify-items:center;align-content:center;min-height:190px;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.13));border:1px solid rgba(255,255,255,.58)}
.hero-visual.small{min-height:160px}
.hero-visual p{margin:.6rem 0 0;color:#6c6480;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.soft-orb{position:absolute;border-radius:999px;filter:blur(.1px);animation:floaty 5.4s ease-in-out infinite}
.orb-one{width:34px;height:34px;background:var(--mint);left:18px;top:22px}.orb-two{width:22px;height:22px;background:var(--pink);right:28px;bottom:36px;animation-delay:1.2s}
.mood-buddy{width:98px;height:98px;border-radius:34px;background:linear-gradient(145deg,#fff 0%,#f2ecff 55%,#dff8ee 100%);display:grid;place-items:center;box-shadow:0 18px 38px rgba(83,64,115,.16);position:relative;animation:buddy-breathe 4.8s ease-in-out infinite}
.mood-buddy::before,.mood-buddy::after{content:"";position:absolute;width:21px;height:16px;border-radius:999px;background:#f6dfff;top:46px;opacity:.72}.mood-buddy::before{left:13px}.mood-buddy::after{right:13px}
.buddy-face{font-size:1.35rem;font-weight:950;color:#4c4565;transform:translateY(-2px)}
.buddy-shadow{position:absolute;width:72px;height:14px;border-radius:999px;background:rgba(45,39,66,.10);bottom:-18px;filter:blur(1px)}
.mood-buddy.breath{animation:buddy-breathe 3.6s ease-in-out infinite}
.tiny-breath-orb{width:74px;height:74px;border-radius:26px;background:linear-gradient(145deg,var(--mint),var(--lavender));box-shadow:0 16px 34px rgba(77,56,105,.12);animation:buddy-breathe 3.5s ease-in-out infinite}
.grid{display:grid;gap:.86rem}.grid.two{grid-template-columns:repeat(2,1fr)}
.card,.card-button{
  border:1px solid rgba(255,255,255,.88);border-radius:var(--radius-lg);
  background:rgba(255,255,255,.82);box-shadow:var(--soft-shadow);padding:1rem;color:var(--ink);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.card,.card-button,.start-card,.primary-btn,.ghost-btn,.soft-btn,.nav-item{transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease}
.card-button{text-align:left;display:grid;gap:.25rem;border:1px solid rgba(255,255,255,.9)}
.card-button strong{font-size:1.02rem}.card-button small{color:var(--muted);line-height:1.35}.card.compact{padding:1rem}.card h3{margin:.12rem 0 .38rem}.card p{color:var(--muted);line-height:1.45}
.card:active,.card-button:active,.start-card:active{transform:scale(.985)}
.block-title{display:flex;justify-content:space-between;align-items:end;gap:.8rem;margin:.45rem 0 -.25rem;padding:0 .08rem}.block-title h2{margin:0;font-size:1.26rem;letter-spacing:-.025em}.block-title small{color:var(--muted);font-weight:800}
.action-row{display:flex;flex-wrap:wrap;gap:.62rem;margin-top:.72rem}.primary-btn,.ghost-btn,.soft-btn{border:0;border-radius:19px;padding:.9rem 1rem;font-weight:950}.primary-btn{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;box-shadow:0 15px 38px rgba(139,116,255,.24)}.primary-btn:active{transform:scale(.97)}.ghost-btn{background:rgba(255,255,255,.72);border:1px solid var(--line);color:var(--ink)}.soft-btn{background:rgba(139,116,255,.11);color:#5d4ddd}.full{width:100%}
.start-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.78rem}.start-card{position:relative;overflow:hidden;text-align:left;border:1px solid rgba(255,255,255,.88);border-radius:30px;background:rgba(255,255,255,.84);box-shadow:var(--soft-shadow);padding:1rem;display:grid;gap:.36rem;color:var(--ink);min-height:148px}.start-card::after{content:"";position:absolute;width:96px;height:96px;border-radius:36px;right:-34px;top:-35px;transform:rotate(18deg);background:rgba(139,116,255,.10)}.start-card::before{content:"";position:absolute;inset:auto 14px 12px auto;width:36px;height:7px;border-radius:999px;background:rgba(45,39,66,.07)}.start-card i{position:relative;z-index:1;width:46px;height:46px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.76);box-shadow:0 10px 25px rgba(67,50,92,.09);font-style:normal;font-size:1.38rem}.start-card span{position:relative;z-index:1;width:max-content;border-radius:999px;padding:.32rem .55rem;background:rgba(139,116,255,.10);color:#6252df;font-size:.70rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.start-card strong{position:relative;z-index:1;font-size:1.06rem;line-height:1.15}.start-card small{position:relative;z-index:1;color:var(--muted);line-height:1.35}.state-exhausted::after{background:rgba(232,245,255,.85)}.state-looping::after{background:rgba(240,232,255,.90)}.state-stuck::after{background:rgba(255,246,223,.90)}.state-now::after{background:rgba(222,248,237,.92)}
.meta-row{display:flex;flex-wrap:wrap;gap:.45rem}.meta{border-radius:999px;padding:.36rem .62rem;background:rgba(45,39,66,.055);color:var(--muted);font-size:.77rem;font-weight:900}.meta.premium{background:rgba(139,116,255,.12);color:#5f50dd}.mood-meta{background:rgba(255,255,255,.72);color:#655d78}.progress{height:10px;border-radius:999px;overflow:hidden;background:rgba(45,39,66,.075)}.progress>span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--accent,var(--purple)),var(--purple2));position:relative}.progress>span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);animation:progress-glow 2.8s ease-in-out infinite}
.program-grid{display:grid;gap:.9rem}.program-card{position:relative;overflow:hidden;display:grid;gap:.78rem;padding:1.05rem 1rem 1rem}.program-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--accent,var(--purple)),rgba(255,255,255,.25))}.program-card::after{content:"";position:absolute;width:120px;height:120px;border-radius:46px;background:var(--accent,var(--purple));opacity:.08;right:-42px;bottom:-54px;transform:rotate(-18deg)}.program-card h3{margin:.1rem 0 0;padding-right:70px}.program-card p{margin:0;color:var(--muted);line-height:1.45}.program-card small{color:var(--muted);font-weight:800}.program-illustration{position:absolute;right:16px;top:22px;width:56px;height:56px;border-radius:22px;display:grid;place-items:center;background:rgba(255,255,255,.74);box-shadow:0 14px 30px rgba(67,50,92,.10);font-size:1.55rem;z-index:1}.program-burnout{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(232,245,255,.55))}.program-overthinking{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(240,232,255,.62))}.program-task{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,246,223,.62))}.continue-card,.purchase-card,.journal-card{position:relative;overflow:hidden}.mini-buddy{width:44px;height:44px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,var(--lavender),var(--mint));box-shadow:0 12px 26px rgba(67,50,92,.10);margin-bottom:.55rem;font-weight:950}.premium-soft{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(247,239,255,.74));border:1px solid rgba(139,116,255,.14)}.premium-soft h3{margin:.1rem 0 .25rem}.premium-soft p{margin:0 0 .8rem;color:var(--muted);line-height:1.45}.premium-soft .kicker{margin-bottom:.55rem}.premium-hero{background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,246,223,.74))}
.reader-head{display:grid;gap:.65rem}.reader-topline{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.reader-topline small{font-weight:850;color:var(--muted);text-align:right}.page-shell{background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:.72rem;box-shadow:var(--shadow);overflow:hidden}.pdf-page{display:block;width:100%;height:auto;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(38,35,55,.08)}.page-caption{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.7rem .2rem 0;color:var(--muted);font-size:.82rem;font-weight:850}.note-box{display:grid;gap:.45rem;margin-top:.9rem;padding:.86rem;border-radius:21px;background:rgba(139,116,255,.08);border:1px solid rgba(139,116,255,.13)}.note-box label{font-weight:950;color:#6352df}.note-box textarea{min-height:92px}.reader-actions{position:sticky;bottom:calc(var(--nav-h) + .65rem);display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:.55rem;margin-top:1rem;padding:.6rem;background:rgba(255,250,245,.82);border:1px solid rgba(255,255,255,.9);border-radius:25px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 16px 34px rgba(67,50,92,.13)}.reader-actions.last{grid-template-columns:1fr 1.7fr}.lock-screen{padding:1.15rem;border-radius:31px;background:linear-gradient(145deg,rgba(45,39,66,.97),rgba(105,80,154,.95));color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.lock-screen::after{content:"🔒";position:absolute;right:18px;top:18px;font-size:2rem;opacity:.24}.lock-screen p{color:rgba(255,255,255,.78)}.lock-screen .primary-btn{background:#fff;color:var(--ink)}.completion{border-radius:32px;padding:1.2rem;background:linear-gradient(145deg,#fff,#eafcf4);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}
.guided-card{border-radius:34px;padding:1.1rem;background:rgba(255,255,255,.86);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9);display:grid;gap:.9rem}.guide-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.guide-stage{min-height:230px;border-radius:30px;padding:1.05rem;background:linear-gradient(145deg,#f3edff,#eafcf4 55%,#fff6df);display:grid;align-content:center;gap:.75rem;position:relative;overflow:hidden}.guide-stage::after{content:"";position:absolute;width:110px;height:110px;border-radius:42px;background:rgba(255,255,255,.38);right:-38px;top:-36px;transform:rotate(20deg)}.guide-stage h2{margin:0;font-size:clamp(1.75rem,8vw,3.15rem);line-height:1;letter-spacing:-.04em;position:relative;z-index:1}.guide-stage p{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.5;position:relative;z-index:1}.timer{font-size:3rem;font-weight:950;letter-spacing:-.06em;position:relative;z-index:1}.pill-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pill{border:1px solid var(--line);border-radius:999px;padding:.46rem .68rem;background:rgba(255,255,255,.72);font-weight:850;color:var(--muted);font-size:.82rem}.reset-choice{display:grid;gap:.75rem}.reset-choice button{text-align:left}.practice-card{grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem}.practice-card strong,.practice-card small{grid-column:2}.practice-icon{grid-row:1 / span 2;width:48px;height:48px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,var(--mint),var(--lavender));box-shadow:0 12px 26px rgba(67,50,92,.10);font-size:1.35rem}
.textarea,textarea,input[type="text"]{width:100%;border:1px solid rgba(68,55,92,.14);border-radius:18px;background:rgba(255,255,255,.92);color:var(--ink);padding:.9rem;resize:vertical;outline:none;font:inherit}textarea:focus,input:focus{border-color:rgba(139,116,255,.72);box-shadow:0 0 0 4px rgba(139,116,255,.12)}.journal-list{display:grid;gap:.7rem}.entry{border-radius:20px;padding:.85rem;background:rgba(255,255,255,.75);border:1px solid var(--line);box-shadow:0 10px 26px rgba(67,50,92,.06)}.entry small{font-weight:900;color:var(--soft-muted)}.entry p{margin:.38rem 0 0;color:var(--ink)}.notice{background:rgba(232,245,255,.82);border:1px solid rgba(110,140,170,.12);border-radius:20px;padding:.88rem;color:#344357}.safety{background:rgba(255,233,242,.72);border-color:rgba(200,100,130,.16)}
.drawer{position:fixed;inset:0;z-index:80;background:rgba(45,39,66,.28);opacity:0;pointer-events:none;transition:opacity .18s ease}.drawer.open{opacity:1;pointer-events:auto}.drawer-card{width:min(88vw,370px);height:100%;background:rgba(255,250,245,.98);padding:1rem;box-shadow:40px 0 90px rgba(22,16,35,.22);transform:translateX(-100%);transition:transform .22s ease;display:grid;align-content:start;gap:.9rem}.drawer.open .drawer-card{transform:translateX(0)}.drawer-header{display:flex;gap:.75rem;align-items:center;padding:.65rem 0 .85rem;border-bottom:1px solid var(--line)}.drawer-header p{margin:.15rem 0 0;color:var(--muted);font-size:.88rem}.drawer-links{display:grid;gap:.48rem}.drawer-links button{text-align:left;border:0;border-radius:19px;padding:.92rem;background:rgba(255,255,255,.68);color:var(--ink);font-weight:850}.drawer-links button:active{transform:scale(.985)}
.bottom-nav{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:max(.65rem,env(safe-area-inset-bottom));width:min(92vw,720px);height:var(--nav-h);display:grid;grid-template-columns:repeat(4,1fr);gap:.46rem;padding:.55rem;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.88);border-radius:30px;box-shadow:0 18px 55px rgba(67,50,92,.18);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.nav-item{border:0;background:transparent;color:var(--muted);border-radius:22px;display:grid;place-items:center;gap:.16rem;font-weight:900;position:relative}.nav-item span{font-size:1.18rem;line-height:1}.nav-item small{font-size:.68rem;line-height:1.05;text-align:center;max-width:76px;display:block}.nav-item.active{background:linear-gradient(135deg,rgba(139,116,255,.16),rgba(222,248,237,.36));color:var(--ink);box-shadow:inset 0 0 0 1px rgba(255,255,255,.60)}.nav-item.active span{animation:nav-bob 2.8s ease-in-out infinite}.hidden,[hidden]{display:none!important}
/* V13 interactive PDF field overlay */
.field-hint{margin:0 0 .6rem;padding:.57rem .76rem;border-radius:17px;background:rgba(139,116,255,.09);color:#6352df;font-weight:850;font-size:.82rem}.page-frame{position:relative;width:100%;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(38,35,55,.08)}.page-frame .pdf-page{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:0;box-shadow:none}.form-layer{position:absolute;inset:0;z-index:5;pointer-events:none}.page-field{position:absolute;left:var(--x);top:var(--y);z-index:6;pointer-events:auto}.page-input{width:var(--w);height:var(--h);min-height:20px;border:1.5px solid rgba(139,116,255,.28);border-radius:5px;background:rgba(255,255,255,.78);color:var(--ink);font:500 clamp(8px,1.65vw,13px)/1.2 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:2px 4px;resize:none;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}.page-input:focus{background:rgba(255,255,255,.94);border-color:rgba(139,116,255,.78);box-shadow:0 0 0 3px rgba(139,116,255,.13)}.page-checkbox{appearance:none;-webkit-appearance:none;width:max(var(--w),15px);height:max(var(--h),15px);border:1.8px solid rgba(139,116,255,.36);border-radius:3px;background:rgba(255,255,255,.86);margin:0;padding:0;display:grid;place-items:center;box-shadow:0 1px 4px rgba(38,35,55,.08);transform:translate(-1px,-1px)}.page-checkbox:checked{background:linear-gradient(135deg,var(--purple),var(--purple2));border-color:transparent}.page-checkbox:checked::after{content:"✓";color:#fff;font-weight:950;font-size:clamp(10px,2.8vw,16px);line-height:1}.page-checkbox:focus{outline:3px solid rgba(139,116,255,.18);outline-offset:2px}
@keyframes buddy-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.025)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes nav-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes progress-glow{0%{transform:translateX(-100%)}55%,100%{transform:translateX(120%)}}
@media(hover:hover){.start-card:hover,.card-button:hover,.program-card:hover{transform:translateY(-2px);box-shadow:0 20px 52px rgba(67,50,92,.13)}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(139,116,255,.28)}.ghost-btn:hover,.soft-btn:hover{transform:translateY(-1px)}}
@media(max-width:560px){
  :root{--top-h:64px;--nav-h:76px}
  .screen{padding-left:.82rem;padding-right:.82rem}
  .topbar{padding-left:.75rem;padding-right:.75rem}
  .brand-text small{display:none}
  .grid.two{grid-template-columns:1fr}
  .hero{padding:1.05rem;border-radius:29px}
  .cute-hero{grid-template-columns:1fr;min-height:auto}
  .hero-visual{min-height:142px;display:none}
  .hero h1{font-size:clamp(2.05rem,10vw,3.3rem)}
  .start-grid{grid-template-columns:1fr 1fr;gap:.6rem}.start-card{padding:.82rem;border-radius:24px;min-height:142px}.start-card i{width:40px;height:40px;border-radius:16px;font-size:1.15rem}.start-card strong{font-size:.96rem}.start-card small{font-size:.78rem}.start-card span{font-size:.65rem}.program-card h3{padding-right:58px}.program-illustration{width:48px;height:48px;border-radius:19px;font-size:1.35rem;right:13px;top:19px}
  .reader-actions{bottom:calc(var(--nav-h) + .55rem);grid-template-columns:1fr 1.18fr 1fr}.reader-actions button{padding-left:.62rem;padding-right:.62rem}.page-shell{padding:.43rem;border-radius:23px}.pdf-page{border-radius:14px}.guide-stage{min-height:196px}.timer{font-size:2.55rem}.guide-header{align-items:flex-start}.tiny-breath-orb{display:none}.field-hint{font-size:.75rem}.page-input{font-size:clamp(7px,2.1vw,11px);padding:1px 3px}.page-checkbox{width:max(var(--w),13px);height:max(var(--h),13px)}
  .nav-item small{font-size:.62rem;max-width:66px}.bottom-nav{gap:.35rem;padding:.5rem;border-radius:28px}
}
@media(max-width:380px){.start-grid{grid-template-columns:1fr}.start-card{min-height:118px}.bottom-nav{width:min(94vw,720px)}.nav-item span{font-size:1.08rem}.nav-item small{font-size:.58rem}.brand-mark{width:38px;height:38px}.icon-btn{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

/* V13.3 FULL VISUAL SYSTEM — cartoon illustration layer for every app surface */
:root{
  --cartoon-ink:#342b4b;
  --cartoon-outline:rgba(52,43,75,.16);
  --cloud:#ffffff;
  --sleep:#dff8ee;
  --loop:#eee7ff;
  --spark:#fff0c8;
  --soft-red:#ffe4ec;
}
body{
  background:
    radial-gradient(circle at 14% -6%,rgba(193,140,255,.30),transparent 32%),
    radial-gradient(circle at 92% 2%,rgba(255,211,166,.42),transparent 30%),
    radial-gradient(circle at 5% 54%,rgba(222,248,237,.26),transparent 26%),
    radial-gradient(circle at 88% 80%,rgba(255,233,242,.28),transparent 28%),
    linear-gradient(180deg,#fffaf5 0%,#fbf3ff 45%,#f5fbff 100%);
}
.topbar::after{
  content:"";position:absolute;left:72px;right:72px;bottom:-1px;height:3px;border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--mint),var(--lavender),var(--peach),transparent);opacity:.72;
}
.drawer-card{background:linear-gradient(180deg,#fffaf5,#fbf3ff)}
.drawer-links button{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.72)}
.drawer-links button::before{content:"✦";color:#a68cff;margin-right:.45rem}.drawer-links button:nth-child(2)::before{content:"🌿"}.drawer-links button:nth-child(3)::before{content:"📚"}.drawer-links button:nth-child(4)::before{content:"✎"}.drawer-links button:nth-child(5)::before{content:"🔓"}.drawer-links button:nth-child(6)::before{content:"🛟"}
.brand-mark{border-radius:40% 55% 45% 50%;animation:brand-wiggle 7s ease-in-out infinite}.brand-mark::before{content:"•ᴗ•";position:absolute;font-size:.56rem;top:19px;letter-spacing:-.04em;color:rgba(255,255,255,.95);font-weight:900}.brand-mark{font-size:0}

.cartoon-scene{
  width:min(100%,170px);height:170px;position:relative;display:grid;place-items:center;margin:auto;
  border-radius:36px;background:linear-gradient(145deg,rgba(255,255,255,.70),rgba(255,255,255,.28));
  border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);overflow:hidden;
}
.cartoon-scene p{position:absolute;left:12px;right:12px;bottom:9px;margin:0!important;text-align:center;color:#675f80;font-size:.68rem!important;font-weight:950;text-transform:uppercase;letter-spacing:.08em;z-index:5}
.scene-blob{position:absolute;border-radius:999px;filter:blur(.1px);opacity:.92}.blob-a{width:72px;height:72px;background:var(--mint);left:-20px;top:16px}.blob-b{width:90px;height:90px;background:var(--pink);right:-34px;bottom:20px}.scene-star{position:absolute;color:#8b74ff;font-weight:950;z-index:4}.star-a{left:22px;bottom:44px;font-size:1.15rem;animation:twinkle 2.6s ease-in-out infinite}.star-b{right:22px;top:24px;font-size:.95rem;animation:twinkle 3.3s ease-in-out infinite reverse}.scene-prop{position:absolute;display:grid;place-items:center;z-index:4}.main-prop{right:28px;top:42px;width:42px;height:42px;border-radius:17px;background:rgba(255,255,255,.74);font-size:1.45rem;box-shadow:0 10px 22px rgba(67,50,92,.10);animation:prop-float 3.8s ease-in-out infinite}.tiny-prop{left:29px;top:47px;width:30px;height:30px;border-radius:999px;background:rgba(255,255,255,.65);font-weight:950;color:#8b74ff;box-shadow:0 8px 16px rgba(67,50,92,.08);animation:prop-float 4.8s ease-in-out infinite reverse}.cartoon-character{width:84px;height:112px;position:relative;z-index:3;transform:translateY(2px);animation:character-breathe 4.5s ease-in-out infinite}.character-head{width:72px;height:66px;border-radius:32px 34px 28px 30px;background:linear-gradient(145deg,#fff,#f2ecff 60%,#e5fff2);border:2px solid rgba(52,43,75,.08);box-shadow:0 16px 30px rgba(67,50,92,.13);position:absolute;left:6px;top:8px;display:grid;place-items:center}.character-head::before,.character-head::after{content:"";position:absolute;width:16px;height:12px;border-radius:999px;background:rgba(255,199,220,.72);top:39px}.character-head::before{left:9px}.character-head::after{right:9px}.character-face{font-weight:950;color:var(--cartoon-ink);font-size:1.05rem;transform:translateY(-1px)}.character-body{width:58px;height:50px;border-radius:25px 25px 22px 22px;background:linear-gradient(145deg,#8b74ff,#c18cff);position:absolute;left:13px;top:66px;border:2px solid rgba(255,255,255,.46);box-shadow:0 18px 26px rgba(139,116,255,.18)}.character-arm{position:absolute;width:22px;height:10px;border-radius:999px;background:#f5edff;top:78px;border:1px solid rgba(52,43,75,.08)}.arm-left{left:0;transform:rotate(-28deg)}.arm-right{right:0;transform:rotate(28deg)}
.scene-home .character-body,.scene-practice .character-body{background:linear-gradient(145deg,#77d8b8,#b6f3db)}.scene-burnout .character-body{background:linear-gradient(145deg,#ffd4a8,#ffb8c8)}.scene-overthinking .character-body{background:linear-gradient(145deg,#8b74ff,#b7a5ff)}.scene-task .character-body{background:linear-gradient(145deg,#ffcf74,#ffe7a6)}.scene-journal .character-body{background:linear-gradient(145deg,#9ecfff,#c7e8ff)}.scene-premium .character-body,.scene-locked .character-body{background:linear-gradient(145deg,#2d2742,#8b74ff)}.scene-safety .character-body{background:linear-gradient(145deg,#ff8fa8,#ffd4df)}.scene-burnout .blob-a{background:#fff0c8}.scene-burnout .blob-b{background:#dff8ee}.scene-overthinking .blob-a{background:#eee7ff}.scene-overthinking .blob-b{background:#e8f5ff}.scene-task .blob-a{background:#fff0c8}.scene-task .blob-b{background:#ffe9f2}.scene-safety .blob-a{background:#ffe4ec}.scene-safety .blob-b{background:#e8f5ff}.scene-complete .blob-a{background:#def8ed}.scene-complete .blob-b{background:#fff0c8}
.mini-scene{width:76px;height:76px;border-radius:24px}.mini-scene p,.mini-scene .star-b,.mini-scene .tiny-prop{display:none}.mini-scene .cartoon-character{transform:scale(.55) translateY(18px)}.mini-scene .main-prop{width:28px;height:28px;border-radius:12px;font-size:1rem;right:6px;top:8px}.mini-scene .blob-a{width:34px;height:34px;left:-12px;top:7px}.mini-scene .blob-b{width:44px;height:44px;right:-16px;bottom:2px}.mini-scene .star-a{left:10px;bottom:12px;font-size:.8rem}

.hero-visual{overflow:hidden}.hero-visual .cartoon-scene{width:100%;height:100%;min-height:164px;background:transparent;border:0;box-shadow:none}.hero-visual.small .cartoon-scene{min-height:145px}.full-visual-hero{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,237,255,.90) 55%,rgba(234,252,244,.72));border-color:rgba(255,255,255,.92)}.page-hero{background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(248,240,255,.88) 50%,rgba(255,246,223,.55))}.hero h1{max-width:560px}.hero-chips span{box-shadow:0 8px 18px rgba(67,50,92,.05)}

.block-title{align-items:end}.block-title h2{letter-spacing:-.035em}.visual-start-grid .start-card{position:relative;overflow:hidden}.visual-start-grid .start-card::after{content:"";position:absolute;width:74px;height:74px;border-radius:30px;background:rgba(255,255,255,.36);right:-22px;bottom:-26px;transform:rotate(15deg)}.start-card i{position:relative;z-index:2;box-shadow:0 12px 26px rgba(67,50,92,.10)}.state-exhausted i{background:linear-gradient(145deg,#fff0c8,#ffe4ec)}.state-looping i{background:linear-gradient(145deg,#eee7ff,#e8f5ff)}.state-stuck i{background:linear-gradient(145deg,#fff0c8,#def8ed)}.state-now i{background:linear-gradient(145deg,#def8ed,#fbf3ff)}
.visual-card,.program-card,.practice-card,.journal-card,.purchase-card{position:relative;overflow:hidden}.visual-card::after,.program-card::after,.practice-card::after{content:"";position:absolute;right:-32px;top:-32px;width:96px;height:96px;border-radius:36px;background:rgba(255,255,255,.34);transform:rotate(18deg);pointer-events:none}.program-card{padding-top:.9rem}.program-art-wrap{position:absolute;right:.85rem;top:.8rem;z-index:1}.program-card .meta-row,.program-card h3,.program-card p,.program-card .progress,.program-card small,.program-card .action-row{position:relative;z-index:2}.program-card h3{padding-right:88px}.program-burnout{background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,240,200,.48))}.program-overthinking{background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(238,231,255,.56))}.program-task{background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(222,248,237,.54))}.program-path-card{border-radius:28px;padding:1rem;background:rgba(45,39,66,.94);color:#fff;box-shadow:0 20px 54px rgba(45,39,66,.18);display:grid;gap:.25rem;position:relative;overflow:hidden}.program-path-card::after{content:"";position:absolute;right:-32px;top:-36px;width:120px;height:120px;border-radius:46px;background:rgba(255,255,255,.12);transform:rotate(22deg)}.program-path-card span{color:#ded6ff;font-weight:950;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}.program-path-card strong{font-size:1.02rem;line-height:1.35}
.reader-visual-head{border-radius:30px;padding:.85rem;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(67,50,92,.10)}.reader-companion{display:grid;grid-template-columns:auto 1fr;gap:.78rem;align-items:center;margin:.65rem 0}.reader-companion h2{margin:.25rem 0 .2rem;font-size:clamp(1.2rem,5vw,1.65rem);letter-spacing:-.03em}.reader-companion p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.4}.themed-page-shell{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68));border:1px solid rgba(255,255,255,.92)}.reader-burnout .reader-visual-head{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,240,200,.52))}.reader-overthinking .reader-visual-head{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(238,231,255,.62))}.reader-task .reader-visual-head{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(222,248,237,.62))}.field-hint{display:inline-flex;align-items:center;gap:.35rem}.page-caption{background:rgba(255,255,255,.62);border-radius:0 0 16px 16px;padding:.62rem .8rem}.visual-lock{display:grid;gap:.65rem}.lock-visual{justify-self:end;margin-bottom:-5rem;opacity:.92}.visual-lock .cartoon-scene{width:130px;height:130px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}
.reset-section .practice-card{min-height:106px}.practice-icon{position:relative;z-index:2}.visual-guided{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(222,248,237,.58) 52%,rgba(238,231,255,.66));position:relative;overflow:hidden}.visual-guided::before{content:"";position:absolute;left:-50px;bottom:-60px;width:150px;height:150px;border-radius:55px;background:rgba(255,255,255,.34);transform:rotate(18deg)}.guide-cartoon .cartoon-scene{width:90px;height:90px}.guide-stage{border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}.guide-stage::before{content:"•ᴗ•";position:absolute;right:24px;bottom:18px;width:44px;height:44px;border-radius:18px;background:rgba(255,255,255,.54);display:grid;place-items:center;font-size:.75rem;font-weight:950;color:#6d5ce6}.timer{text-shadow:0 10px 24px rgba(139,116,255,.14)}
.premium-mini-program{float:right;margin-left:.5rem}.premium-mini-program .mini-scene{width:62px;height:62px}.journal-label{display:block;font-weight:950;margin:0 0 .45rem;color:#6352df}.journal-card textarea{background:rgba(255,255,255,.86)}.entry{position:relative;overflow:hidden}.entry::before{content:"✎";position:absolute;right:.8rem;top:.55rem;color:#c2b6df;font-weight:950}.safety-hero{background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,228,236,.58),rgba(232,245,255,.62))}.visual-completion{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#eafcf4 50%,#fff0c8)}.completion-art{float:right;margin-left:.75rem}.completion-art .cartoon-scene{width:132px;height:132px}.completion h1{letter-spacing:-.04em}
.bottom-nav{background:rgba(255,255,255,.82);border-radius:32px}.nav-item{overflow:hidden}.nav-item.active::before{content:"";position:absolute;width:38px;height:38px;border-radius:16px;background:rgba(255,255,255,.52);top:8px;left:50%;transform:translateX(-50%) rotate(10deg);z-index:-1}.nav-item span{filter:drop-shadow(0 4px 8px rgba(67,50,92,.10))}

@keyframes character-breathe{0%,100%{transform:translateY(2px) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}
@keyframes prop-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(5deg)}}
@keyframes twinkle{0%,100%{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.12)}}
@keyframes brand-wiggle{0%,100%{border-radius:40% 55% 45% 50%}50%{border-radius:55% 42% 50% 44%}}

@media(max-width:560px){
  .hero-visual{display:block!important;min-height:132px}.hero-visual .cartoon-scene{min-height:132px;height:132px}.cute-hero{grid-template-columns:1fr 128px;gap:.65rem}.page-hero{grid-template-columns:1fr 112px}.hero h1{font-size:clamp(1.85rem,9vw,3rem)}.hero .lede{font-size:.95rem}.cartoon-scene{height:132px;border-radius:30px}.cartoon-character{transform:scale(.82);transform-origin:center}.main-prop{right:14px;top:30px}.tiny-prop{left:15px;top:34px}.cartoon-scene p{display:none}.program-art-wrap{right:.55rem;top:.6rem}.program-card h3{padding-right:70px}.reader-companion{grid-template-columns:auto 1fr}.reader-companion .mini-scene{width:62px;height:62px}.reader-companion p{display:none}.lock-visual{float:none;margin:0;justify-self:center}.visual-lock .cartoon-scene{width:115px;height:115px}.guide-cartoon{display:none}.completion-art{float:none;margin:0 auto .5rem;display:grid;place-items:center}.completion-art .cartoon-scene{width:118px;height:118px}.premium-mini-program{display:none}
}
@media(max-width:430px){.cute-hero,.page-hero{grid-template-columns:1fr}.hero-visual{min-height:122px}.hero-visual .cartoon-scene{width:100%;height:122px}.cartoon-scene{width:100%;height:122px}.start-grid{grid-template-columns:1fr}.reader-companion{align-items:start}}


/* V13.6 MOBILE READABILITY FIX — workbook pages default to readable zoom on small screens */
.reader-tools{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.zoom-toggle{border:0;border-radius:999px;padding:.55rem .72rem;background:rgba(139,116,255,.12);color:#5d4ddd;font-weight:950;font-size:.78rem;box-shadow:0 8px 18px rgba(67,50,92,.06)}
.page-scroll{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:18px;padding-bottom:.35rem;scrollbar-width:thin}
.page-scroll::-webkit-scrollbar{height:6px}
.page-scroll::-webkit-scrollbar-thumb{background:rgba(139,116,255,.24);border-radius:999px}
.page-scroll .page-frame{margin:0 auto}
body.reader-readable-mode .field-hint{background:rgba(222,248,237,.62);color:#356e5d;border:1px solid rgba(119,216,184,.18)}
body:not(.reader-readable-mode) .field-hint{background:rgba(139,116,255,.08);color:#6352df}
@media(max-width:560px){
  .reader-topline{align-items:flex-start}
  .reader-tools{align-items:flex-end;gap:.35rem}
  .zoom-toggle{font-size:.74rem;padding:.5rem .62rem}
  .page-scroll{margin:0 -.18rem;padding:.05rem .18rem .45rem}
  body.reader-readable-mode .page-frame{width:min(142vw,560px);max-width:none}
  body.reader-readable-mode .page-input{font-size:clamp(11px,3.4vw,16px);padding:3px 5px;line-height:1.25}
  body.reader-readable-mode .page-checkbox{width:max(var(--w),18px);height:max(var(--h),18px)}
  body.reader-readable-mode .page-checkbox:checked::after{font-size:clamp(12px,3.4vw,18px)}
  body.reader-readable-mode .page-caption{font-size:.86rem}
}
@media(max-width:430px){
  body.reader-readable-mode .page-frame{width:min(152vw,575px);max-width:none}
}
@media(min-width:561px){
  body.reader-readable-mode .page-frame{width:min(680px,100%)}
}

/* V13.11 REAL TEXT MODE — mobile-native reading */
.text-page-shell{display:grid;gap:1rem;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78));border:1px solid rgba(255,255,255,.92);border-radius:30px;padding:1rem;box-shadow:var(--shadow);overflow:hidden}
.text-mode-note{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:.4rem;border-radius:999px;padding:.5rem .7rem;background:rgba(222,248,237,.72);border:1px solid rgba(119,216,184,.18);color:#356e5d;font-weight:950;font-size:.8rem}
.readable-page-content{display:grid;gap:.82rem;padding:.1rem .05rem;color:var(--ink)}
.readable-page-content p{margin:0;font-size:clamp(1.04rem,4.6vw,1.22rem);line-height:1.62;letter-spacing:-.006em;color:#2c2938}
.readable-page-content h3{margin:.25rem 0 .05rem;font-size:clamp(1.25rem,6vw,1.75rem);line-height:1.12;letter-spacing:-.035em;color:#29243c}
.text-section-label{display:inline-flex;width:max-content;max-width:100%;margin:.1rem 0 .1rem;border-radius:999px;padding:.42rem .68rem;background:rgba(139,116,255,.11);border:1px solid rgba(139,116,255,.14);color:#5f52c8;font-weight:950;font-size:.75rem;letter-spacing:.045em;text-transform:uppercase}
.text-list{display:grid;gap:.56rem;margin:.1rem 0;padding:0;list-style:none}
.text-list li{position:relative;margin:0;padding:.72rem .82rem .72rem 2.25rem;border-radius:20px;background:rgba(246,240,255,.74);border:1px solid rgba(139,116,255,.11);font-size:clamp(1rem,4.4vw,1.16rem);line-height:1.48;color:#2f2a40}
.text-list li::before{content:"";position:absolute;left:.86rem;top:1.05rem;width:.62rem;height:.62rem;border-radius:999px;background:linear-gradient(135deg,var(--purple),var(--mint));box-shadow:0 4px 10px rgba(139,116,255,.18)}
.text-step-number{display:inline-grid;place-items:center;width:2.05rem;height:2.05rem;border-radius:999px;background:linear-gradient(145deg,#eee7ff,#def8ed);border:1px solid rgba(139,116,255,.13);font-weight:950;color:#5f52c8;margin:.2rem 0 -.2rem}
.native-fields{display:grid;gap:.85rem;margin-top:.2rem;padding:.9rem;border-radius:25px;background:rgba(255,255,255,.82);border:1px solid rgba(139,116,255,.12);box-shadow:0 12px 28px rgba(67,50,92,.06)}
.native-fields-head{display:grid;gap:.12rem}.native-fields-head strong{font-size:1rem;color:var(--ink)}.native-fields-head small{color:var(--muted);font-weight:750}
.native-checklist{display:grid;gap:.55rem}.native-check{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:flex-start;padding:.7rem;border-radius:18px;background:rgba(255,250,245,.82);border:1px solid rgba(68,55,92,.08);font-size:clamp(.98rem,4.2vw,1.1rem);line-height:1.35;color:#2c2938}.native-check input{appearance:none;-webkit-appearance:none;margin:.1rem 0 0;width:1.35rem;height:1.35rem;border-radius:.42rem;border:2px solid rgba(139,116,255,.34);background:#fff;display:grid;place-items:center;flex:none}.native-check input:checked{background:linear-gradient(135deg,var(--purple),var(--purple2));border-color:transparent}.native-check input:checked::after{content:"✓";font-weight:950;color:#fff;font-size:1rem;line-height:1}
.native-field{display:grid;gap:.42rem}.native-field span{font-weight:900;color:#3b334f;font-size:.94rem;line-height:1.35}.native-field textarea{min-height:112px;border-radius:20px;background:rgba(255,255,255,.95);font-size:1rem;line-height:1.45;padding:.85rem}.native-field textarea:focus,.native-check input:focus{outline:3px solid rgba(139,116,255,.18);outline-offset:2px}
.pdf-preview{border-radius:22px;background:rgba(139,116,255,.07);border:1px solid rgba(139,116,255,.12);overflow:hidden}.pdf-preview summary{cursor:pointer;padding:.82rem .9rem;font-weight:950;color:#5f52c8}.pdf-preview .page-shell{margin:.15rem .6rem .7rem;box-shadow:none}.embedded-pdf-shell{background:rgba(255,255,255,.84)}
.reader-text-mode .reader-actions{grid-template-columns:1fr 1.25fr 1fr}.reader-text-mode .zoom-toggle{background:rgba(222,248,237,.72);color:#356e5d}.reader-text-mode .page-scroll{overflow-x:hidden}.reader-text-mode .page-frame{width:100%!important;max-width:100%!important}
@media(max-width:430px){.text-page-shell{border-radius:24px;padding:.86rem;gap:.9rem}.readable-page-content{gap:.76rem}.readable-page-content p{font-size:1.06rem;line-height:1.62}.readable-page-content h3{font-size:1.38rem}.text-list li{font-size:1.02rem}.native-fields{padding:.78rem;border-radius:22px}.native-check{padding:.66rem}.reader-tools{justify-content:flex-start}.reader-topline{gap:.55rem}.reader-actions{gap:.42rem;padding:.5rem}.reader-actions button{font-size:.82rem;padding:.78rem .52rem}}

/* V13.8 REAL TEXT MODE FIT — no PDF preview, tighter mobile text width */
.reader-text-mode .zoom-toggle,
.pdf-preview{display:none!important}
.reader,
.reader-head,
.text-page-shell,
.readable-page-content,
.native-fields,
.native-field,
.native-check,
.text-list,
.text-list li{min-width:0;max-width:100%}
.text-page-shell{width:100%;padding:.9rem;border-radius:28px;overflow:hidden}
.readable-page-content{width:100%;overflow:hidden;padding:0;gap:.72rem}
.readable-page-content p,
.readable-page-content h3,
.text-list li,
.native-check span,
.native-field span,
.page-caption span{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
.readable-page-content p{font-size:clamp(.98rem,4.05vw,1.13rem);line-height:1.58;letter-spacing:-.003em}
.readable-page-content h3{font-size:clamp(1.15rem,5.25vw,1.58rem);line-height:1.16;letter-spacing:-.024em}
.text-list li{font-size:clamp(.96rem,3.95vw,1.08rem);line-height:1.45;padding:.68rem .74rem .68rem 2.05rem}
.text-list li::before{left:.78rem;top:.98rem;width:.55rem;height:.55rem}
.text-mode-note{font-size:.76rem;line-height:1.25;white-space:normal;width:auto;max-width:100%}
.native-check{font-size:clamp(.94rem,3.9vw,1.04rem);line-height:1.34}
.native-field textarea{font-size:.98rem;line-height:1.42}
.page-caption{min-width:0;overflow:hidden}.page-caption span:last-child{min-width:0;text-align:right;overflow-wrap:break-word}
@media(max-width:430px){
  .screen{padding-left:.72rem;padding-right:.72rem}
  .text-page-shell{padding:.72rem;border-radius:22px;gap:.78rem}
  .readable-page-content{gap:.68rem}
  .readable-page-content p{font-size:.98rem;line-height:1.56}
  .readable-page-content h3{font-size:1.22rem;line-height:1.16}
  .text-list{gap:.48rem}
  .text-list li{font-size:.96rem;line-height:1.42;padding:.62rem .68rem .62rem 1.92rem;border-radius:18px}
  .text-list li::before{left:.72rem;top:.91rem;width:.5rem;height:.5rem}
  .native-fields{padding:.68rem;gap:.68rem;border-radius:20px}
  .native-check{font-size:.94rem;padding:.58rem;gap:.58rem}
  .native-check input{width:1.22rem;height:1.22rem;border-radius:.36rem}
  .native-field textarea{font-size:.95rem;min-height:104px;padding:.74rem;border-radius:18px}
  .text-section-label{font-size:.7rem;padding:.36rem .56rem;white-space:normal;width:auto}
  .text-step-number{width:1.86rem;height:1.86rem}
}
@media(max-width:360px){
  .screen{padding-left:.62rem;padding-right:.62rem}
  .text-page-shell{padding:.64rem}
  .readable-page-content p{font-size:.94rem;line-height:1.54}
  .readable-page-content h3{font-size:1.12rem}
  .text-list li{font-size:.92rem;padding-right:.58rem}
}

/* V13.9 TEXT FLOW POLISH — merge PDF line fragments, prevent awkward word breaks */
.text-page-shell{overflow:visible}
.readable-page-content,
.readable-page-content p,
.readable-page-content h3,
.text-list li,
.native-check span,
.native-field span,
.page-caption span{
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
.readable-page-content p strong,
.readable-page-content h3 strong,
.text-list li strong{font-weight:inherit}
@media(max-width:430px){
  .readable-page-content p{font-size:.97rem;line-height:1.57}
  .readable-page-content h3{font-size:1.2rem;line-height:1.17}
  .text-list li{font-size:.95rem;line-height:1.43}
}
@media(max-width:360px){
  .readable-page-content p{font-size:.925rem;line-height:1.55}
  .readable-page-content h3{font-size:1.08rem;line-height:1.18}
  .text-list li{font-size:.9rem;line-height:1.42}
}

/* V13.10 FINAL TEXT MODE POLISH — remove prototype note + mobile rating scales */
.text-mode-note{display:none!important}
.native-fields{gap:.95rem}
.native-fields:empty{display:none}
.rating-scales{display:grid;gap:.9rem;width:100%;min-width:0}
.rating-scale{display:grid;gap:.5rem;margin:0;padding:.78rem;border:1px solid rgba(139,116,255,.13);border-radius:20px;background:rgba(246,240,255,.55);min-width:0}
.rating-scale legend{padding:0;margin:0 0 .18rem;font-weight:950;color:#332b49;font-size:clamp(.95rem,3.8vw,1.05rem);line-height:1.25}
.rating-options{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.28rem;width:100%;min-width:0}
.rating-option{display:grid;place-items:center;min-width:0;cursor:pointer}
.rating-option input{position:absolute;opacity:0;pointer-events:none}
.rating-option span{display:grid;place-items:center;width:100%;min-width:0;aspect-ratio:1/1;border-radius:999px;border:1px solid rgba(139,116,255,.22);background:rgba(255,255,255,.95);font-weight:950;font-size:clamp(.72rem,3.2vw,.95rem);color:#5d5377;box-shadow:0 4px 12px rgba(67,50,92,.04)}
.rating-option input:checked + span{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(139,116,255,.22)}
.rating-option input:focus + span{outline:3px solid rgba(139,116,255,.18);outline-offset:2px}
.native-field span{font-size:clamp(.92rem,3.8vw,1rem)}
@media(max-width:430px){
  .native-fields{padding:.72rem;gap:.78rem}
  .rating-scale{padding:.66rem;border-radius:18px;gap:.45rem}
  .rating-options{gap:.22rem}
  .rating-option span{font-size:.76rem}
}
@media(max-width:360px){
  .rating-options{gap:.18rem}
  .rating-option span{font-size:.68rem}
  .rating-scale{padding:.58rem}
}

/* v13.12 — automatic scoring + page count polish */
.score-calculator{margin-top:1rem;border-radius:26px;padding:1rem;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(222,248,237,.58));border:1px solid rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(67,50,92,.10);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.score-calculator h4{margin:.15rem 0 .25rem;font-size:1rem;letter-spacing:-.02em;color:var(--ink)}
.score-calculator p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.score-total-box{min-width:86px;min-height:86px;border-radius:28px;background:#fff;display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 1px rgba(139,116,255,.12),0 12px 28px rgba(67,50,92,.09)}
.score-total-box strong{font-size:1.8rem;line-height:1;font-weight:1000;color:#5d4ddd;letter-spacing:-.05em}
.score-total-box span{font-size:.82rem;font-weight:950;color:#8a7fb0;margin-top:.15rem}
.page-caption span:first-child{white-space:nowrap}
@media(max-width:430px){.score-calculator{grid-template-columns:1fr;padding:.9rem}.score-total-box{width:100%;min-height:74px;border-radius:24px}.score-total-box strong{font-size:1.65rem}}

/* V13.13 BOX LABEL POLISH — full prompts inside mobile-native boxes */
.native-check,
.native-field,
.rating-scale,
.score-calculator{
  overflow: visible;
}
.native-check span,
.native-field span,
.rating-scale legend{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.native-check{
  grid-template-columns:auto minmax(0,1fr);
}
.native-field textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* v13.17 — static full-image cute splash screen, no crop */
.splash-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:0;
  background:
    radial-gradient(circle at 18% 8%, rgba(193,140,255,.22), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(255,211,166,.22), transparent 32%),
    linear-gradient(180deg,#fffaf5 0%,#fbf3ff 58%,#f8fcff 100%);
  transition:opacity .42s ease, visibility .42s ease;
}
.splash-screen.is-hiding{opacity:0;visibility:hidden;pointer-events:none}
.splash-image-card{
  width:100vw;
  height:100vh;
  min-height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.55), transparent 44%),
    linear-gradient(180deg,#f6edff 0%,#fff3f7 55%,#fff9f2 100%);
}
.splash-poster{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  animation:none!important;
}
@media (min-width:520px){
  .splash-screen{padding:1.15rem}
  .splash-image-card{
    width:min(100vw,430px);
    height:min(92vh,860px);
    min-height:620px;
    border-radius:42px;
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 24px 90px rgba(67,50,92,.14);
  }
}
@media (prefers-reduced-motion: reduce){
  .splash-image-card,.splash-poster{animation:none!important}
}


/* v13.19 — deep app-like feature layer */
.offline-banner{
  position:fixed;
  top:calc(env(safe-area-inset-top,0px) + .7rem);
  left:50%;
  transform:translateX(-50%);
  z-index:9000;
  width:min(92vw,390px);
  padding:.72rem .95rem;
  border-radius:999px;
  background:rgba(67,50,92,.92);
  color:#fff;
  text-align:center;
  font-weight:900;
  font-size:.82rem;
  box-shadow:0 18px 44px rgba(67,50,92,.22);
}
.app-toast{
  position:fixed;
  left:50%;
  bottom:calc(88px + env(safe-area-inset-bottom,0px));
  transform:translate(-50%,18px);
  opacity:0;
  z-index:9200;
  width:min(88vw,360px);
  padding:.85rem 1rem;
  border-radius:22px;
  background:rgba(67,50,92,.94);
  color:#fff;
  text-align:center;
  font-weight:900;
  box-shadow:0 18px 46px rgba(67,50,92,.25);
  transition:opacity .25s ease, transform .25s ease;
}
.app-toast.show{opacity:1;transform:translate(-50%,0)}
.onboarding-hero{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(251,243,255,.9),rgba(232,255,244,.72))}
.onboarding-steps{
  display:grid;
  gap:.7rem;
  margin:1rem 0 1.2rem;
}
.onboard-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.25rem .75rem;
  align-items:start;
  padding:1rem;
  border-radius:26px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(211,202,233,.72);
  box-shadow:0 12px 28px rgba(67,50,92,.07);
}
.onboard-card span{
  width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f2ecff,#e8fff4);
  color:#5e4ac7;
  font-weight:950;
  grid-row:span 2;
}
.onboard-card strong{font-size:1rem;color:var(--ink)}
.onboard-card p{margin:.15rem 0 0;color:var(--muted);font-weight:750}
.checkin-card .mood-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  margin:.85rem 0;
}
.mood-pill{
  border:1px solid rgba(211,202,233,.8);
  background:rgba(255,255,255,.72);
  border-radius:18px;
  padding:.72rem .55rem;
  font-weight:900;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  cursor:pointer;
}
.mood-pill span{font-size:1.1rem}
.mood-pill.active{
  background:linear-gradient(145deg,#f2ecff,#e8fff4);
  border-color:rgba(139,116,255,.42);
  box-shadow:0 10px 22px rgba(139,116,255,.12);
}
.soft-result{
  padding:.85rem;
  border-radius:20px;
  background:rgba(232,255,244,.68);
  border:1px solid rgba(119,216,184,.25);
}
.soft-result p,.muted-small{margin:.25rem 0 0;color:var(--muted);font-weight:750}
.split-grid,.profile-grid,.tiny-grid{
  display:grid;
  gap:.8rem;
}
@media (min-width:760px){
  .split-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiny-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.return-card,.reminder-card,.pocket-preview,.profile-preview{
  position:relative;
  overflow:hidden;
}
.reader-tools{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.tiny-tool{
  border:0;
  border-radius:999px;
  padding:.42rem .7rem;
  background:rgba(255,255,255,.78);
  color:#6d5bd7;
  font-weight:950;
  box-shadow:0 8px 18px rgba(67,50,92,.08);
  cursor:pointer;
}
.tiny-tool.active{
  background:linear-gradient(145deg,#fff0c8,#f2ecff);
  color:#5a3fc2;
}
.pocket-list{
  display:grid;
  gap:.75rem;
}
.pocket-entry strong{
  display:block;
  font-size:1rem;
  color:var(--ink);
  margin:.25rem 0 .65rem;
}
.locked-preview-card{
  margin:1rem 0;
  padding:1rem;
  border-radius:24px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(211,202,233,.75);
}
.preview-list{
  display:grid;
  gap:.5rem;
  margin-top:.65rem;
}
.preview-list span{
  display:block;
  padding:.65rem .75rem;
  border-radius:18px;
  background:rgba(242,236,255,.72);
  color:var(--muted);
  font-weight:850;
}
.celebration-complete{
  position:relative;
  overflow:hidden;
}
.soft-confetti{
  position:absolute;
  inset:.8rem .8rem auto;
  height:90px;
  pointer-events:none;
}
.soft-confetti span{
  position:absolute;
  color:#9a80ff;
  font-weight:950;
  animation:soft-confetti 2.8s ease-in-out infinite;
}
.soft-confetti span:nth-child(1){left:8%;top:20%;animation-delay:.1s}
.soft-confetti span:nth-child(2){left:28%;top:6%;color:#ff93ba;animation-delay:.35s}
.soft-confetti span:nth-child(3){right:22%;top:16%;animation-delay:.55s}
.soft-confetti span:nth-child(4){right:8%;top:38%;color:#ffc55c;animation-delay:.75s}
.soft-confetti span:nth-child(5){left:48%;top:34%;animation-delay:.95s}
@keyframes soft-confetti{0%,100%{transform:translateY(0) scale(.92);opacity:.55}50%{transform:translateY(-10px) scale(1.08);opacity:1}}
.celebration-note{
  background:rgba(232,255,244,.7);
  border:1px solid rgba(119,216,184,.26);
  margin:1rem 0;
}
.shared-section textarea,
.journal-card textarea{
  min-height:130px;
}
.profile-grid .card h3{font-size:1.25rem}
.card-button .practice-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:18px;
  background:rgba(242,236,255,.8);
  margin-bottom:.5rem;
  font-size:1.25rem;
}
.is-offline .app-shell{
  padding-top:.3rem;
}
@media (max-width:430px){
  .checkin-card .mood-row{grid-template-columns:1fr}
  .reader-tools{justify-content:flex-start}
  .tiny-tool{font-size:.78rem}
}


/* v13.23 — true step-by-step onboarding */
.onboarding-pager{
  min-height:calc(100svh - 150px);
  display:grid;
  align-items:center;
}
.onboard-slide-card{
  min-height:calc(100svh - 190px);
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  padding:1.2rem;
  border-radius:42px;
  background:
    radial-gradient(circle at 20% 12%,rgba(193,140,255,.18),transparent 30%),
    radial-gradient(circle at 82% 20%,rgba(255,211,166,.24),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(251,243,255,.88),rgba(232,255,244,.64));
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 24px 70px rgba(67,50,92,.12);
  position:relative;
  overflow:hidden;
}
.onboard-skip-row{
  position:absolute;
  top:.9rem;
  right:.9rem;
}
.onboard-visual{
  width:178px;
  height:178px;
  display:grid;
  place-items:center;
  position:relative;
  margin:.4rem auto 1.15rem;
}
.onboard-visual > span{
  position:absolute;
  right:8px;
  top:8px;
  width:52px;
  height:52px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 24px rgba(67,50,92,.10);
  font-size:1.6rem;
  z-index:3;
}
.onboard-slide-card .cartoon-scene{
  width:150px;
  height:150px;
}
.onboard-slide-card h1{
  max-width:320px;
  font-size:clamp(2rem,9vw,3rem);
  line-height:.98;
  letter-spacing:-.06em;
  margin:.3rem 0 .75rem;
}
.onboard-slide-card .lede{
  max-width:320px;
  margin:0 auto;
}
.onboard-note{
  margin:1rem 0 1.15rem;
  padding:.9rem 1rem;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(211,202,233,.65);
  color:var(--ink);
}
.onboard-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.45rem;
  margin:.25rem 0 1rem;
}
.onboard-dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#d7cdec;
  transition:width .2s ease, background .2s ease;
}
.onboard-dots span.active{
  width:24px;
  background:#8b74ff;
}
.onboard-dots.final{
  margin:.7rem 0 1rem;
}
.onboard-actions{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
  align-items:center;
}
.onboarding-choice-section .action-row{
  margin-top:1rem;
}
@media (max-width:430px){
  .onboard-slide-card{
    min-height:calc(100svh - 160px);
    border-radius:34px;
    padding:1rem;
  }
  .onboard-visual{
    width:158px;
    height:158px;
    margin-bottom:.85rem;
  }
  .onboard-slide-card .cartoon-scene{
    width:134px;
    height:134px;
  }
}


/* v13.24 — limited Reset Assistant */
.assistant-hero{
  background:
    radial-gradient(circle at 16% 10%,rgba(139,116,255,.15),transparent 34%),
    radial-gradient(circle at 85% 20%,rgba(255,197,92,.18),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(251,243,255,.88),rgba(232,255,244,.58));
}
.assistant-home-card{
  border:1px solid rgba(139,116,255,.18);
  background:
    radial-gradient(circle at 14% 12%,rgba(139,116,255,.12),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.82),rgba(242,236,255,.66));
}
.assistant-card textarea{
  min-height:155px;
  resize:vertical;
}
.assistant-guardrails{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.75rem 0 1rem;
}
.assistant-guardrails span{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.48rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(211,202,233,.65);
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
}
.assistant-result,
.assistant-empty{
  margin-top:1rem;
  padding:1rem;
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 8%,rgba(232,255,244,.62),transparent 35%),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(251,243,255,.72));
  border:1px solid rgba(211,202,233,.7);
  box-shadow:0 16px 42px rgba(67,50,92,.08);
}
.assistant-result h3{
  margin:.25rem 0 .8rem;
  font-size:1.28rem;
}
.assistant-output-grid{
  display:grid;
  gap:.65rem;
  margin:.9rem 0;
}
.assistant-output-grid div{
  padding:.85rem;
  border-radius:22px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(211,202,233,.58);
}
.assistant-output-grid small{
  display:block;
  color:var(--muted);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.7rem;
  margin-bottom:.35rem;
}
.assistant-output-grid strong{
  display:block;
  color:var(--ink);
  line-height:1.3;
}
.assistant-limits{
  margin:.9rem 0;
  padding:.8rem;
  border-radius:20px;
  background:rgba(255,248,242,.8);
  color:var(--muted);
  font-size:.88rem;
  font-weight:800;
}
.assistant-safety{
  background:
    radial-gradient(circle at 20% 12%,rgba(255,181,186,.28),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,243,245,.82));
  border-color:rgba(255,140,150,.35);
}
.assistant-note{
  margin-top:1rem;
}
.assistant-section .action-row{
  align-items:stretch;
}
@media (min-width:760px){
  .assistant-output-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:430px){
  .assistant-section .action-row{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* v13.25 — AI Reset Assistant visual identity */
.assistant-hero{
  background:
    radial-gradient(circle at 12% 12%,rgba(139,116,255,.20),transparent 34%),
    radial-gradient(circle at 80% 18%,rgba(67,220,190,.16),transparent 36%),
    radial-gradient(circle at 50% 90%,rgba(255,197,92,.16),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.94),rgba(242,236,255,.86),rgba(232,255,244,.58));
}
.assistant-hero .kicker::before,
.assistant-card .journal-label::before{content:"✦ ";}
.ai-mini-buddy{
  background:linear-gradient(145deg,#f2ecff,#e8fff4)!important;
  box-shadow:0 12px 28px rgba(139,116,255,.18)!important;
}
.assistant-card{position:relative;overflow:hidden;}
.assistant-card::before{
  content:"AI";
  position:absolute;
  right:-10px;
  top:-12px;
  width:70px;
  height:70px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(139,116,255,.14),rgba(67,220,190,.14));
  color:#6d5bd7;
  font-weight:1000;
  letter-spacing:.08em;
}
.assistant-card textarea{
  font-family:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.74));
  border:1px solid rgba(139,116,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 12px 28px rgba(67,50,92,.06);
}
.ai-message-panel{display:grid;gap:.75rem;}
.ai-message{
  max-width:92%;
  padding:.9rem 1rem;
  border-radius:24px;
  box-shadow:0 12px 30px rgba(67,50,92,.08);
}
.ai-message span{
  display:block;
  margin-bottom:.35rem;
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.ai-message p{margin:.25rem 0;color:var(--ink);font-weight:800;line-height:1.45;}
.ai-user{
  justify-self:end;
  border-bottom-right-radius:8px;
  background:linear-gradient(145deg,#f2ecff,#fff);
  border:1px solid rgba(139,116,255,.18);
}
.ai-bot{
  justify-self:start;
  border-bottom-left-radius:8px;
  background:
    radial-gradient(circle at 12% 10%,rgba(67,220,190,.16),transparent 30%),
    linear-gradient(145deg,#ffffff,#eefcf7);
  border:1px solid rgba(67,220,190,.20);
}
.ai-bot h3{margin:.2rem 0 .8rem;}
.safety-bot{
  background:linear-gradient(145deg,#fff,#fff2f4);
  border-color:rgba(255,140,150,.34);
}
.ai-typing{
  justify-self:start;
  display:inline-flex;
  gap:.28rem;
  align-items:center;
  padding:.52rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(211,202,233,.55);
}
.ai-typing span{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#8b74ff;
  animation:ai-dot 1.2s ease-in-out infinite;
}
.ai-typing span:nth-child(2){animation-delay:.15s}
.ai-typing span:nth-child(3){animation-delay:.3s}
@keyframes ai-dot{
  0%,100%{opacity:.35;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-3px)}
}
.assistant-guardrails span:first-child{
  background:linear-gradient(145deg,#f2ecff,#e8fff4);
  color:#5e4ac7;
}
.assistant-limits{border-left:4px solid rgba(139,116,255,.45);}


/* v14 — ChatGPT-like AI Reset Assistant chat UI */
.ai-chat-section .assistant-hero{
  margin-bottom:.9rem;
}
.assistant-chat-card{
  padding:.75rem;
  border-radius:34px;
  background:
    radial-gradient(circle at 14% 12%,rgba(139,116,255,.12),transparent 34%),
    radial-gradient(circle at 86% 10%,rgba(67,220,190,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.90),rgba(251,243,255,.78));
}
.ai-chat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.55rem .65rem .75rem;
}
.ai-chat-header > div{
  display:flex;
  align-items:center;
  gap:.6rem;
  min-width:0;
}
.ai-chat-header strong{
  display:block;
  color:var(--ink);
  font-weight:1000;
}
.ai-chat-header small{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  font-weight:850;
}
.ai-status-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:#43dcbc;
  box-shadow:0 0 0 6px rgba(67,220,190,.14);
  flex:0 0 auto;
}
.ai-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:32px;
  padding:0 .65rem;
  border-radius:999px;
  background:linear-gradient(145deg,#f2ecff,#e8fff4);
  color:#5e4ac7;
  font-weight:1000;
  letter-spacing:.08em;
  box-shadow:0 10px 22px rgba(139,116,255,.14);
}
.ai-chat-window{
  min-height:330px;
  max-height:52svh;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:.78rem;
  padding:1rem .65rem;
  border-radius:28px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.38)),
    radial-gradient(circle at 15% 8%,rgba(139,116,255,.08),transparent 30%);
  border:1px solid rgba(211,202,233,.48);
  scroll-behavior:smooth;
}
.ai-chat-window .ai-message{
  max-width:88%;
  margin:0;
}
.ai-chat-window .ai-user{
  justify-self:end;
  border-bottom-right-radius:9px;
  background:linear-gradient(145deg,#8b74ff,#6d5bd7);
  border:1px solid rgba(139,116,255,.25);
  color:#fff;
}
.ai-chat-window .ai-user span,
.ai-chat-window .ai-user p{
  color:#fff;
}
.ai-chat-window .ai-user span{
  opacity:.78;
}
.ai-chat-window .ai-bot{
  justify-self:start;
  border-bottom-left-radius:9px;
  background:
    radial-gradient(circle at 14% 10%,rgba(67,220,190,.18),transparent 32%),
    linear-gradient(145deg,#ffffff,#effcf8);
  border:1px solid rgba(67,220,190,.18);
}
.intro-bot{
  max-width:96%!important;
}
.typing-bot{
  width:auto;
  padding:.75rem .85rem;
}
.typing-bot .ai-typing{
  box-shadow:none;
  border:0;
  padding:.25rem 0 0;
  background:transparent;
}
.ai-chat-guardrails{
  margin:.75rem .35rem .55rem;
  padding:0;
}
.ai-composer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.55rem;
  align-items:end;
  padding:.55rem;
  border-radius:28px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(139,116,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 28px rgba(67,50,92,.08);
}
.ai-composer textarea{
  min-height:46px!important;
  max-height:125px;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:.72rem .55rem!important;
  resize:none;
  color:var(--ink);
  font-weight:850;
  outline:none;
}
.ai-composer textarea::placeholder{
  color:rgba(91,79,107,.58);
}
.ai-send-btn{
  width:46px;
  height:46px;
  border:0;
  border-radius:18px;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:linear-gradient(145deg,#8b74ff,#43dcbc);
  color:#fff;
  font-size:1.05rem;
  font-weight:1000;
  box-shadow:0 12px 24px rgba(139,116,255,.22);
}
.ai-example-row{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  padding:.75rem .2rem .1rem;
}
.ai-example-row .ghost-btn{
  flex:1 1 auto;
}
.ai-chat-window .assistant-output-grid{
  grid-template-columns:1fr;
}
.ai-chat-window .assistant-limits{
  margin:.8rem 0 .65rem;
}
@media (min-width:760px){
  .ai-chat-window{
    min-height:390px;
    max-height:58vh;
  }
  .ai-chat-window .assistant-output-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:430px){
  .assistant-chat-card{padding:.55rem;border-radius:30px}
  .ai-chat-window{min-height:340px;max-height:54svh;padding:.8rem .5rem}
  .ai-chat-window .ai-message{max-width:92%}
  .ai-example-row{display:grid;grid-template-columns:1fr}
}


/* v14.2 — AI assistant fixed: input on top, answer directly below, scroll works */
.ai-chat-section .assistant-hero{
  margin-bottom:.85rem;
}
.assistant-chat-card{
  overflow:visible!important;
}
.top-composer{
  margin:.55rem 0 .65rem!important;
  grid-template-columns:1fr auto!important;
  align-items:end!important;
}
.top-composer textarea{
  min-height:88px!important;
  max-height:180px!important;
  overflow:auto!important;
  resize:vertical!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.top-input-chat-window{
  min-height:260px!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  display:grid!important;
  align-content:start!important;
  justify-content:stretch!important;
  gap:.78rem!important;
  padding:.9rem .55rem!important;
  border-radius:26px!important;
}
.top-input-chat-window .ai-message{
  max-width:92%!important;
  width:auto!important;
  flex:initial!important;
}
.top-input-chat-window .ai-user{
  justify-self:start!important;
  align-self:auto!important;
  background:linear-gradient(145deg,#f2ecff,#fff)!important;
  border:1px solid rgba(139,116,255,.18)!important;
  color:var(--ink)!important;
  border-bottom-left-radius:9px!important;
  border-bottom-right-radius:24px!important;
}
.top-input-chat-window .ai-user span,
.top-input-chat-window .ai-user p{
  color:var(--ink)!important;
}
.top-input-chat-window .ai-bot{
  justify-self:start!important;
  align-self:auto!important;
}
.top-input-chat-window .typing-bot .ai-typing{
  box-shadow:none;
  border:0;
  padding:.25rem 0 0;
  background:transparent;
}
.ai-chat-guardrails,
.assistant-note{
  display:none!important;
}
@media (max-width:430px){
  .top-input-chat-window{
    min-height:220px!important;
    overflow:visible!important;
  }
  .top-input-chat-window .ai-message{
    max-width:96%!important;
  }
}
