:root{
  color-scheme:dark;
  --bg:#101214;--panel:#171a1e;--panel2:#1d2126;--text:#f8f5ef;--muted:#a3a8ae;--line:rgba(255,255,255,.10);
  --hot:#ff6b4a;--warm:#ffb15a;--cool:#9ae8d1;--blue:#8cc8ff;--shadow:0 22px 70px rgba(0,0,0,.32);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}html,body{min-height:100%;background:var(--bg);margin:0}body{color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}
#ambient{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 70% 5%,rgba(255,107,74,.18),transparent 34%),radial-gradient(circle at 10% 90%,rgba(154,232,209,.08),transparent 35%);transition:background .6s ease}
body[data-tone="cool"] #ambient{background:radial-gradient(circle at 80% 4%,rgba(154,232,209,.16),transparent 34%),radial-gradient(circle at 12% 88%,rgba(140,200,255,.10),transparent 38%)}
.app{position:relative;z-index:1;width:min(560px,100%);min-height:100svh;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.home-link,.icon-btn{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);font-weight:900}.brand{font-size:12px;letter-spacing:.18em;font-weight:950;color:#d3d5d7}.icon-btn{cursor:pointer}.icon-btn:active,.home-link:active{transform:scale(.97)}
.progress{height:4px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:12px 0 4px}.progress>i{display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--hot),var(--cool));border-radius:inherit;transition:width .35s ease}
.screen{display:flex;flex:1;flex-direction:column;padding:20px 0 0;animation:screenIn .24s ease both}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:950;color:var(--warm);text-transform:uppercase;margin-bottom:12px}.eyebrow.cool{color:var(--cool)}
h1,h2,p{margin-top:0}.hero-title{font-size:clamp(44px,13vw,72px);line-height:.88;letter-spacing:-.065em;margin:0 0 18px;font-weight:950}.hero-title span{display:block;color:var(--hot)}.lead{font-size:15px;line-height:1.75;color:#c5c8cc;margin:0 0 24px;max-width:460px}.micro{font-size:12px;line-height:1.65;color:var(--muted)}
.emergency{position:relative;width:100%;border:0;border-radius:30px;padding:25px 22px 23px;text-align:left;background:linear-gradient(145deg,#ff6b4a,#d94a37);box-shadow:0 18px 55px rgba(255,82,58,.22);cursor:pointer;overflow:hidden}.emergency:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:-90px;top:-90px}.emergency .small{display:block;font-size:12px;font-weight:950;letter-spacing:.15em;opacity:.8}.emergency strong{display:block;font-size:31px;line-height:1.05;letter-spacing:-.04em;margin:7px 0 9px}.emergency .go{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:850}.emergency .go b{font-size:24px}.emergency:active{transform:scale(.99)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.quick-card{min-height:118px;border:1px solid var(--line);border-radius:22px;padding:16px;background:rgba(255,255,255,.035);text-align:left;cursor:pointer}.quick-card b{display:block;font-size:18px;letter-spacing:-.025em;margin:8px 0 5px}.quick-card span{font-size:12px;line-height:1.5;color:var(--muted)}.quick-card .mini-icon{font-size:21px}.quick-card:active{transform:scale(.985)}
.section-title{font-size:32px;line-height:1.05;letter-spacing:-.045em;margin:0 0 9px}.section-copy{font-size:14px;line-height:1.68;color:#bdc1c5;margin:0 0 20px}.choice-grid{display:grid;gap:10px}.choice{position:relative;width:100%;border:1px solid var(--line);border-radius:20px;padding:17px 17px;background:rgba(255,255,255,.04);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.choice strong{display:block;font-size:16px;line-height:1.3}.choice small{display:block;font-size:12px;line-height:1.55;color:var(--muted);margin-top:5px}.choice:hover,.choice.selected{border-color:rgba(154,232,209,.55);background:rgba(154,232,209,.09)}.choice:active{transform:scale(.99)}.choice.danger{border-color:rgba(255,107,74,.3)}
.heat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.heat{border:1px solid var(--line);border-radius:18px;padding:15px 5px 13px;background:rgba(255,255,255,.035);cursor:pointer;text-align:center}.heat b{display:block;font-size:28px;line-height:1}.heat span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.heat[data-v="10"]{background:rgba(255,107,74,.13);border-color:rgba(255,107,74,.32)}
.rule-card{border:1px solid rgba(255,107,74,.28);background:rgba(255,107,74,.07);border-radius:26px;padding:21px;margin:4px 0 18px}.rule-card .rule{font-size:24px;font-weight:950;letter-spacing:-.03em;line-height:1.2;margin:0}.rule-card .rule span{color:var(--hot)}.rule-list{display:grid;gap:8px;margin:18px 0}.rule-item{display:flex;gap:11px;align-items:center;color:#d4d6d8;font-size:14px}.rule-dot{width:24px;height:24px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:12px;color:var(--warm);font-weight:950;flex:0 0 auto}
.count-wrap{display:flex;align-items:center;justify-content:center;margin:auto 0 20px}.count-ring{position:relative;width:188px;height:188px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--hot) var(--deg,0deg),rgba(255,255,255,.07) 0);transition:background .2s linear}.count-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#15181c}.count-ring strong{position:relative;z-index:1;font-size:64px;letter-spacing:-.06em}.count-ring span{position:absolute;z-index:1;margin-top:78px;font-size:12px;color:var(--muted);letter-spacing:.12em}
.primary,.secondary,.ghost{width:100%;min-height:58px;border-radius:18px;padding:15px 18px;font-weight:900;cursor:pointer}.primary{border:0;background:var(--text);color:#111417}.primary.cool{background:var(--cool)}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.055)}.ghost{border:0;background:transparent;color:var(--muted);min-height:46px}.primary:disabled{opacity:.4;cursor:not-allowed}.action-stack{display:grid;gap:9px;margin-top:auto;padding-top:18px}
.breathe-stage{display:flex;flex:1;min-height:370px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.orb-shell{width:236px;height:236px;display:grid;place-items:center}.orb{width:116px;height:116px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8fff3,var(--cool) 45%,#59a994 100%);box-shadow:0 0 0 26px rgba(154,232,209,.055),0 0 80px rgba(154,232,209,.18);transition:transform 4s cubic-bezier(.4,0,.2,1),box-shadow .6s}.orb.inhale{transform:scale(1.72);box-shadow:0 0 0 40px rgba(154,232,209,.045),0 0 95px rgba(154,232,209,.28)}.orb.exhale{transform:scale(1)}.breath-word{font-size:32px;font-weight:950;letter-spacing:-.04em;margin-top:12px}.breath-time{font-size:13px;color:var(--muted);margin-top:5px}.breath-cycle{font-size:12px;letter-spacing:.15em;color:var(--cool);font-weight:900;margin-bottom:16px}
.tag-grid{display:flex;flex-wrap:wrap;gap:8px}.tag-choice{border:1px solid var(--line);border-radius:999px;padding:11px 13px;background:rgba(255,255,255,.035);font-size:12px;font-weight:800;cursor:pointer}.tag-choice.selected{background:var(--text);color:#111417;border-color:var(--text)}
.reframe-card{border:1px solid var(--line);border-radius:24px;padding:20px;background:linear-gradient(145deg,rgba(140,200,255,.10),rgba(154,232,209,.04));margin-bottom:10px}.reframe-card .label{font-size:12px;letter-spacing:.15em;color:var(--blue);font-weight:950}.reframe-card h3{font-size:22px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 9px}.reframe-card p{font-size:13px;line-height:1.7;color:#c7cace;margin:0}
.script{border-radius:20px;padding:17px;border:1px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.025);font-size:17px;line-height:1.55;font-weight:850;margin-top:9px}.copy-btn{margin-top:9px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:12px;padding:10px 12px;font-size:12px;cursor:pointer;color:#d6d9dc}
.result-hero{border-radius:30px;padding:24px;background:linear-gradient(145deg,rgba(154,232,209,.16),rgba(140,200,255,.07));border:1px solid rgba(154,232,209,.24);margin-bottom:14px}.delta{display:flex;align-items:end;gap:12px}.delta .num{font-size:70px;line-height:.8;font-weight:950;letter-spacing:-.07em}.delta .arrow{font-size:28px;color:var(--muted);padding-bottom:5px}.delta .after{color:var(--cool)}.delta-label{font-size:12px;letter-spacing:.13em;color:var(--muted);margin-top:13px}.result-hero h2{font-size:24px;line-height:1.25;letter-spacing:-.035em;margin:18px 0 6px}.result-hero p{font-size:13px;line-height:1.65;color:#c8cccf;margin:0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.stat{border:1px solid var(--line);border-radius:18px;padding:14px 10px;background:rgba(255,255,255,.03)}.stat strong{display:block;font-size:21px}.stat span{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:5px}
.log-list{display:grid;gap:8px}.log{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.025)}.log-top{display:flex;justify-content:space-between;gap:10px;font-size:12px}.log-top strong{color:var(--cool)}.log p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.empty{border:1px dashed var(--line);border-radius:22px;padding:24px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}
.practice-card{border:1px solid var(--line);border-radius:25px;padding:20px;background:rgba(255,255,255,.035);margin-bottom:14px}.practice-no{font-size:12px;letter-spacing:.14em;color:var(--warm);font-weight:950}.practice-card h3{font-size:21px;line-height:1.35;letter-spacing:-.025em;margin:10px 0 0}.feedback{border-radius:18px;padding:14px 15px;margin-top:10px;font-size:12px;line-height:1.65}.feedback.ok{background:rgba(154,232,209,.11);border:1px solid rgba(154,232,209,.25)}.feedback.ng{background:rgba(255,177,90,.09);border:1px solid rgba(255,177,90,.2)}
.safety{border:1px solid rgba(255,107,74,.32);border-radius:26px;background:rgba(255,107,74,.08);padding:21px}.safety h2{font-size:27px;letter-spacing:-.04em;margin:0 0 10px}.safety p{font-size:14px;line-height:1.75;color:#d1d3d5}.safety strong{color:#fff}.safety-list{display:grid;gap:9px;margin:16px 0 0}.safety-list div{display:flex;gap:10px;font-size:13px;line-height:1.55}.safety-list b{color:var(--hot)}
.footer-note{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:#777e85}.text-btn{border:0;background:none;padding:0;color:#aeb4ba;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}.spacer{flex:1}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;transform:translate(-50%,20px);opacity:0;background:#f8f5ef;color:#131518;padding:11px 15px;border-radius:999px;font-size:12px;font-weight:900;transition:.2s;pointer-events:none}.toast.show{transform:translate(-50%,0);opacity:1}
.noscript{padding:30px;color:white}
@keyframes screenIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:380px){.app{padding-left:12px;padding-right:12px}.hero-title{font-size:45px}.heat-grid{gap:6px}.heat b{font-size:25px}.stats{grid-template-columns:1fr}.orb-shell{width:200px;height:200px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.orb.inhale{transform:scale(1.35)}}
