:root{color-scheme:light;--bg-top: #F7FBFE;--bg-mid: #E9F3FB;--bg-bottom: #E2EFFA;--glass: linear-gradient(168deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .72));--glass-soft: linear-gradient(168deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .66));--glass-line: rgba(255, 255, 255, .9);--ink: #16303F;--ink-soft: #5C7A8C;--ink-faint: #93A9B7;--ink-read: #3C5A6C;--accent: #3E8FD0;--accent-deep: #2A6FA8;--accent-mid: #4E88AE;--accent-light: #7FB6E4;--accent-bg: rgba(232, 242, 251, .9);--cta: linear-gradient(180deg, #5AA3DE, #3479C0);--warm: #C7674C;--warm-strong: #D5795E;--warm-ink: #B35F44;--warm-deep: #7A3D28;--warm-bg: rgba(253, 239, 233, .85);--warm-line: rgba(213, 121, 94, .3);--line: rgba(30, 90, 130, .1);--line-strong: rgba(30, 90, 130, .18);--shadow-card: 0 1px 2px rgba(23, 64, 88, .05), 0 22px 46px -24px rgba(23, 64, 88, .34), inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-soft: 0 1px 2px rgba(23, 64, 88, .04), 0 14px 30px -20px rgba(23, 64, 88, .28), inset 0 1px 0 rgba(255, 255, 255, .85);--shadow-cta: 0 12px 26px -9px rgba(46, 113, 182, .64), inset 0 1px 0 rgba(255, 255, 255, .34);--font-display: "Literata", Georgia, serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--r-tile: 12px;--r-chip: 14px;--r-card: 18px;--r-big: 24px;--r-pill: 100px;--ease: cubic-bezier(.2, .8, .3, 1);--dur: .24s;--app-h: 100dvh}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-mid);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;text-wrap:pretty;-webkit-font-smoothing:antialiased}.app{height:var(--app-h);display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-mid) 60%,var(--bg-bottom) 100%)}.aura{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.aura i{position:absolute;border-radius:50%;display:block}.aura i:nth-child(1){top:-90px;left:-70px;width:340px;height:340px;filter:blur(28px);background:radial-gradient(circle,#7abaecb8,#8cc3f000 70%);animation:drift1 26s ease-in-out infinite}.aura i:nth-child(2){top:220px;right:-120px;width:320px;height:320px;filter:blur(30px);background:radial-gradient(circle,#9ecdf2a8,#b4d7f500 70%);animation:drift2 34s ease-in-out infinite}.aura i:nth-child(3){bottom:-110px;left:20px;width:360px;height:300px;filter:blur(34px);background:radial-gradient(circle,#badef8b8,#cde6fa00 70%);animation:drift3 40s ease-in-out infinite}@keyframes drift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.15)}}@keyframes drift2{0%,to{transform:translate(0) scale(1.1)}50%{transform:translate(-40px,30px) scale(.95)}}@keyframes drift3{0%,to{transform:translate(0)}50%{transform:translate(20px,25px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes softPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:400px 0}}@keyframes breathe4{0%{transform:scale(.6)}25%{transform:scale(1)}50%{transform:scale(1)}75%{transform:scale(.6)}to{transform:scale(.6)}}@keyframes phaseFade{0%{opacity:0}2%{opacity:1}22%{opacity:1}25%{opacity:0}to{opacity:0}}@keyframes ringIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.aura i,.screen,.pulse{animation:none!important}*{transition-duration:1ms!important}}.hdr{position:relative;z-index:1;flex:none;display:flex;align-items:center;justify-content:space-between;padding:10px 18px 8px}.hdr-mark{font:300 16px/1.1 var(--font-display);letter-spacing:.14em;color:var(--ink)}.hdr-icon{background:transparent;border:0;color:var(--ink-faint);font:300 16px var(--font-body);cursor:pointer;padding:4px 6px}.pulsebar{position:relative;z-index:1;flex:none;display:flex;align-items:center;gap:12px;padding:4px 16px 10px}.pulse{flex:1;background:#ffffffa8;border:1px solid var(--glass-line);border-radius:var(--r-card);padding:9px 12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;gap:11px}.pulse-bars{display:flex;align-items:flex-end;gap:3px;height:20px}.pulse-bars i{width:5px;border-radius:3px;background:var(--accent-light);display:block}.pulse-cap{font:400 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.pulse-val{font:400 11.5px/1.3 var(--font-body);color:var(--ink-soft);margin-top:3px}.sos{flex:none;background:#ffffffb8;border:1px solid rgba(213,121,94,.35);color:var(--warm);border-radius:var(--r-card);padding:12px 13px;font:500 11px var(--font-mono);letter-spacing:.1em;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sos:active{transform:scale(.97)}.scroll{position:relative;z-index:1;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{width:0;height:0}.screen{padding:8px 20px 28px;animation:fadeUp .45s var(--ease);min-height:100%;display:flex;flex-direction:column}.kicker{font:600 10.5px/1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-mid)}h1.title{font:200 44px/1.05 var(--font-display);color:var(--ink);margin:16px 0 14px;letter-spacing:.02em}h2.title{font:300 29px/1.2 var(--font-display);color:var(--ink);margin:13px 0 8px}h3.title{font:300 22px/1.3 var(--font-display);color:var(--ink);margin:0 0 10px}.lead{font:400 14px/1.65 var(--font-body);color:var(--ink-soft);margin:0 0 18px}.em{font-style:italic;color:var(--warm)}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-faint);font-size:12px}.card{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-big);padding:17px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-card)}.card+.card{margin-top:12px}.card-soft{background:var(--glass-soft);border:1px solid rgba(255,255,255,.88);border-radius:var(--r-big);padding:17px}.card-dashed{background:#ffffff9e;border:1px dashed rgba(126,180,225,.6);border-radius:var(--r-big);padding:17px}.card-tint{background:linear-gradient(140deg,#e8f2fbf2,#fffc);border:1px solid rgba(126,180,225,.4);border-radius:var(--r-big);padding:16px}.card-warn{background:var(--warm-bg);border:1px solid var(--warm-line);border-radius:var(--r-card);padding:13px 15px;font:400 12.5px/1.6 var(--font-body);color:var(--warm-ink)}.card-head{font:600 10px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-mid);margin-bottom:10px}.card-title{font:600 15px/1.35 var(--font-body);color:var(--ink);margin-bottom:5px}.card-text{font:400 13px/1.55 var(--font-body);color:var(--ink-soft)}.note{background:#e8f2fbbf;border-radius:var(--r-chip);padding:12px 14px;font:400 12px/1.6 var(--font-body);color:#4a7a99}button{font-family:var(--font-body);transition:transform .13s var(--ease),background .2s ease,border-color .2s ease}button:active:not(:disabled){transform:scale(.982)}.btn{width:100%;border:0;border-radius:var(--r-card);padding:17px;font:600 15px var(--font-body);cursor:pointer;background:var(--cta);color:#fff;box-shadow:var(--shadow-cta)}.btn:disabled{background:#1e5a821a;color:#9fb4c1;box-shadow:none;cursor:default}.btn-ghost{width:100%;background:#fff9;border:1px solid rgba(30,90,130,.13);color:var(--ink-soft);border-radius:var(--r-card);padding:16px;font:500 14px var(--font-body);cursor:pointer}.btn-small{background:var(--cta);color:#fff;border:0;border-radius:var(--r-tile);padding:12px 16px;font:600 13px var(--font-body);cursor:pointer}.btn-link{background:transparent;border:0;color:var(--accent-deep);font:500 12.5px var(--font-body);cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.btn-back{background:transparent;border:0;color:var(--ink-faint);font:400 12.5px var(--font-body);cursor:pointer;padding:0 0 14px;align-self:flex-start}.chip{border-radius:var(--r-pill);padding:12px 17px;font:400 13.5px var(--font-body);cursor:pointer;background:#ffffffb3;border:1px solid rgba(30,90,130,.13);color:var(--ink-soft)}.chip[data-on="1"]{background:var(--accent);border-color:var(--accent);color:#fff}.row{display:flex;gap:10px}.grow{flex:1}.spacer{margin-top:auto}.progress{height:4px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:7px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-light),var(--accent));border-radius:3px;transition:width .4s var(--ease)}.likert{display:flex;align-items:center;gap:13px;width:100%;text-align:left;border-radius:var(--r-card);padding:14px 15px;font:400 14px var(--font-body);cursor:pointer;background:var(--glass);border:1px solid var(--glass-line);color:var(--ink);box-shadow:var(--shadow-soft)}.likert:hover{border-color:var(--accent-light);transform:translate(3px)}.likert b{font:400 11px var(--font-mono);color:var(--accent-light);min-width:12px;font-weight:400}.slider{width:100%;accent-color:var(--accent)}.band{position:relative;height:7px;background:#1e5a8212;border-radius:5px;margin-bottom:9px}.band-zones{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;gap:2px}.band-zones i{flex:1;background:#7eb4e140}.band-zones i:nth-child(1){border-radius:5px 0 0 5px}.band-zones i:nth-child(2){background:#7eb4e173}.band-zones i:nth-child(3){border-radius:0 5px 5px 0}.band-dot{position:absolute;top:-3.5px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 2px 6px #285a8c40;transition:left .5s var(--ease)}.band-legend{display:flex;justify-content:space-between;font:400 9.5px var(--font-mono);color:var(--ink-faint);margin-bottom:11px}.bar{height:6px;background:#1e5a8212;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;border-radius:4px;background:var(--accent)}.wheel{position:relative;width:330px;height:330px;margin:4px auto 0}.wheel-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:50%;background:#fffc;border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 26px #3c78aa1f;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}.wheel-petal{position:absolute;width:82px;height:82px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;font:500 12.5px var(--font-body);padding:4px;transition:all .22s var(--ease);background:#ffffffbf;border:1px solid rgba(255,255,255,.95);color:var(--ink-soft);box-shadow:var(--shadow-soft)}.reader h2{font:300 25px/1.25 var(--font-display);color:var(--ink);margin:26px 0 12px}.reader h3{font:400 19px/1.35 var(--font-display);color:var(--ink);margin:20px 0 10px}.reader p{font:400 15px/1.78 var(--font-body);color:var(--ink-read);margin:0 0 15px}.reader ul{margin:0 0 15px;padding-left:20px;color:var(--ink-read);font:400 15px/1.7 var(--font-body)}.reader li{margin-bottom:6px}.reader strong{font-weight:600;color:var(--ink)}.reader blockquote{border-left:2px solid var(--accent);margin:0 0 16px;padding:2px 0 2px 14px;color:var(--ink-soft)}.tabs{position:relative;z-index:2;flex:none;display:flex;background:#ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--glass-line);padding:10px 6px calc(16px + env(safe-area-inset-bottom))}.tab{flex:1;border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;padding:7px 0;border-radius:var(--r-card);transition:background .28s ease}.tab[data-on="1"]{background:#e8f2fbeb}.tab span{font:500 9.5px var(--font-body);color:var(--ink-faint)}.tab[data-on="1"] span{color:var(--accent)}.tab-ico{width:17px;height:17px;display:block}.sos-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:linear-gradient(180deg,#fff8f4,#fdefe9);padding:26px 22px calc(26px + env(safe-area-inset-bottom));display:flex;flex-direction:column;animation:fadeUp .28s ease-out;overflow-y:auto}.sos-line{background:#ffffffd9;border:1px solid rgba(213,121,94,.28);border-radius:var(--r-card);padding:15px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sos-line b{font:600 14px var(--font-body);color:var(--warm-deep);display:block}.sos-line i{font:400 11px var(--font-mono);color:#b98368;font-style:normal}.sos-line a{font:500 14px var(--font-mono);color:var(--warm);white-space:nowrap;text-decoration:none}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.loading{padding:40px 20px;text-align:center;color:var(--ink-faint);font-size:13px}
