: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);--guide: #C98A2E;--guide-ink: #8A5A14;--guide-deep: #6E4610;--guide-bg: rgba(253, 244, 228, .92);--guide-line: rgba(201, 138, 46, .34);--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}*{-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}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;background:radial-gradient(circle,#7abaeca8,#83beee57 40%,#8cc3f000 72%);animation:drift1 26s ease-in-out infinite}.aura i:nth-child(2){top:220px;right:-120px;width:320px;height:320px;background:radial-gradient(circle,#9ecdf299,#a9d2f34d 40%,#b4d7f500 72%);animation:drift2 34s ease-in-out infinite}.aura i:nth-child(3){bottom:-110px;left:20px;width:360px;height:300px;background:radial-gradient(circle,#badef8a8,#c3e2f957 40%,#cde6fa00 72%);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,.xp-toast{animation:none!important}*{transition-duration:1ms!important}}.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:calc(12px + env(safe-area-inset-top)) 16px 10px}.pulse{flex:1;background:#ffffffa8;border:1px solid var(--glass-line);border-radius:var(--r-card);padding:9px 12px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;font:inherit;color:inherit}.pulse:active{transform:scale(.99)}.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}.sos:active{transform:scale(.97)}.grid-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.stat-box{padding:14px 15px;border-radius:var(--r-card)}.stat-box b{display:block;font:300 26px/1.15 var(--font-display);color:var(--ink);margin-bottom:5px}.stat-box b span{font-size:15px;color:var(--ink-faint)}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-mid) 55%,var(--bg-bottom) 100%);animation:sheetUp .28s var(--ease)}.sheet-bar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 8px}.sheet-body{flex:1;overflow-y:auto;padding:0 20px calc(28px + env(safe-area-inset-bottom))}.sheet-body::-webkit-scrollbar{width:0}@keyframes sheetUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.kb-open .tabs{display:none}.kb-open .cta-dock{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.glow-todo{position:relative;border-color:#3e8fd099;box-shadow:var(--shadow-card),0 0 0 1px #3e8fd033,0 0 #3e8fd066;animation:todoWave 2.6s cubic-bezier(.2,.8,.3,1) infinite}.glow-todo:before{content:"ждёт вас";position:absolute;top:-9px;right:16px;z-index:2;pointer-events:none;height:18px;padding:0 9px 0 18px;border-radius:var(--r-pill);color:#fff;white-space:nowrap;font:600 8.5px/18px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:radial-gradient(circle at 9.5px 50%,#fff 0,#fff 2.4px,#fff0 3px),linear-gradient(90deg,var(--accent),var(--accent-deep));box-shadow:0 4px 10px -3px #2a6fa88c}@keyframes todoWave{0%{box-shadow:var(--shadow-card),0 0 0 1px #3e8fd033,0 0 #3e8fd066}75%,to{box-shadow:var(--shadow-card),0 0 0 1px #3e8fd033,0 0 0 13px #3e8fd000}}@media(prefers-reduced-motion:reduce){.glow-todo{animation:none}}.cta-dock{position:sticky;bottom:0;margin:18px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:linear-gradient(180deg,#f0f7fc00,#f0f7fcf0 32%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3}.cta-note{flex:1 1 100%;margin:0;animation:sheetUp .22s var(--ease)}.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;box-shadow:var(--shadow-card)}.card+.card{margin-top:12px}:is(.card,.card-tint,.card-soft,.card-dashed,.card-warn,.note)+:is(.card,.card-tint,.card-soft,.card-dashed,.card-warn,.note){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)}.select{font:400 14px var(--font-body);color:var(--ink);background:#fffc;border:1px solid var(--glass-line);border-radius:var(--r-tile);padding:9px 11px;cursor:pointer}.select:focus{outline:none;border-color:var(--accent-light)}.card-tight{padding:13px 15px}.card-tight .card-text{font-size:12.5px;line-height:1.5}h1.title-sm{font-size:32px;margin:10px 0 12px}.screen-fit{padding-bottom:14px}.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}.field{width:100%;box-sizing:border-box;font:400 14px var(--font-body);color:var(--ink);background:#ffffffd1;border:1px solid var(--glass-line);border-radius:var(--r-tile);padding:12px 13px}.field:focus{outline:none;border-color:var(--accent-light)}.field::placeholder{color:var(--ink-faint)}.btn-small.ghost{background:#ffffffb3;color:var(--accent-deep);border:1px solid rgba(30,90,130,.14)}.btn-small:disabled{opacity:.45;cursor:default}.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)}.q-num{display:flex;align-items:baseline;gap:7px;margin-bottom:9px;font:500 12.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep)}.q-num i{font:400 11px/1 var(--font-mono);font-style:normal;letter-spacing:.08em;color:var(--ink-faint)}@keyframes qStep{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.q-step{animation:qStep .26s var(--ease)}@media(prefers-reduced-motion:reduce){.q-step{animation:none}}.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}.guide{background:var(--guide-bg);border:1px solid var(--guide-line);border-radius:var(--r-chip);padding:12px 13px}.guide-head{display:flex;align-items:center;gap:7px;margin-bottom:7px;font:600 10px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--guide-ink)}.guide-text{font:400 13px/1.62 var(--font-body);color:var(--guide-deep);white-space:pre-line}.guide-note{font:400 11.5px/1.4 var(--font-body);color:var(--guide-ink)}.guide-tag{display:inline-flex;align-items:center;gap:4px;font:600 9.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--guide-ink);background:var(--guide-bg);border:1px solid var(--guide-line);border-radius:var(--r-pill);padding:4px 8px;white-space:nowrap}.guide.reader p,.guide.reader li,.guide.reader h2,.guide.reader h3{color:var(--guide-deep)}@keyframes swipeOut{to{opacity:0;transform:translate(-72%) rotate(-3deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:none}}.q-out{animation:swipeOut .32s var(--ease) forwards}.q-in{animation:slideIn .34s var(--ease)}.src-tag{font:500 9.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.ring{position:relative;flex:none}.ring .track{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.ring-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ring .lvl{position:absolute;right:-3px;bottom:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font:600 10px/18px var(--font-mono);text-align:center;border:2px solid #fff}.ring.tier-4 .lvl,.ring.tier-5 .lvl{background:var(--guide)}.ring.small .lvl{right:-2px;bottom:-2px;min-width:13px;height:13px;padding:0 3px;font:600 8px/13px var(--font-mono);border-width:1.5px}.ring-halo{position:absolute;top:14%;right:14%;bottom:14%;left:14%;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#7fb6e480,#7fb6e42e 45%,#7fb6e400 70%);animation:haloBreathe 4.8s ease-in-out infinite}.ring.tier-4 .ring-halo,.ring.tier-5 .ring-halo{background:radial-gradient(circle,#e8b75c80,#e8b75c2e 45%,#e8b75c00 70%)}.ring.live .arc{transition:stroke-dashoffset 1.3s cubic-bezier(.22,1,.36,1) .15s}.ring .knob{transform-origin:30px 30px;transition:transform 1.3s cubic-bezier(.22,1,.36,1) .15s}.ring .knob-dot{fill:#fff;stroke:var(--accent);stroke-width:1.6}.ring .knob-glow{fill:var(--accent-light);opacity:.5;transform-box:fill-box;transform-origin:center;animation:knobPulse 2.4s ease-in-out 1.5s infinite}.ring.tier-4 .knob-dot,.ring.tier-5 .knob-dot{stroke:var(--guide)}.ring.tier-4 .knob-glow,.ring.tier-5 .knob-glow{fill:var(--guide)}.constellation .star{fill:var(--accent-light);fill-opacity:0;opacity:0;transform-box:fill-box;transform-origin:center;animation:starIn .55s cubic-bezier(.34,1.56,.64,1) forwards,starTwinkle 4.8s ease-in-out infinite}.ring.tier-4 .constellation .star,.ring.tier-5 .constellation .star{fill:var(--guide)}.constellation .link{animation:linkDraw .5s cubic-bezier(.2,.8,.3,1) forwards}@keyframes haloBreathe{0%,to{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}@keyframes knobPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.12;transform:scale(1.9)}}@keyframes starIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes starTwinkle{0%,74%,to{transform:scale(1);fill-opacity:0}84%{transform:scale(1.45);fill-opacity:.9}}@keyframes linkDraw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.ring-halo,.ring .knob-glow,.constellation .star,.constellation .link{animation:none}.constellation .star{opacity:1}.constellation .link{stroke-dasharray:none!important}}.skill{display:flex;gap:14px;align-items:center;width:100%;text-align:left;cursor:pointer;padding:13px 15px;border-radius:var(--r-big);background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow-soft)}.skill.tier-2{border-color:#7eb4e18c}.skill.tier-3{border-color:#3e8fd08c;box-shadow:var(--shadow-soft),inset 0 0 0 1px #7eb4e14d}.skill.tier-4{border-color:var(--guide-line);box-shadow:var(--shadow-soft),0 0 0 3px #c98a2e1a}.skill.tier-5{border-color:#c98a2e99;box-shadow:var(--shadow-soft),0 0 0 3px #c98a2e24,0 0 24px #e8b75c4d}.xp-toast{position:fixed;left:50%;bottom:calc(var(--tabs-h, 64px) + 14px);transform:translate(-50%);z-index:5;display:flex;gap:12px;padding:9px 14px;border-radius:var(--r-pill);background:#fffffff0;border:1px solid var(--glass-line);box-shadow:var(--shadow-soft);font:500 12.5px var(--font-mono);color:var(--accent-deep);white-space:nowrap;animation:fadeUp .28s var(--ease);pointer-events:none}.xp-up{z-index:41}.xp-toast-disc{color:var(--guide-ink);border-color:var(--guide-line)}.level{flex:none;display:flex;align-items:center;gap:7px;background:#ffffffa8;border:1px solid var(--glass-line);border-radius:var(--r-card);padding:6px 9px 6px 7px;cursor:pointer;font:inherit;color:inherit}.level:active{transform:scale(.98)}.level-txt{display:flex;flex-direction:column;text-align:left}.level .pulse-val{font-weight:600;color:var(--ink)}.pulsebar{gap:8px}.pulse{padding:8px 10px;gap:8px;min-width:0}.pulse-cap,.pulse-val{white-space:nowrap}.pulse-bars{gap:2px}.pulse-bars i{width:4px}.overall.tier-4{border-color:var(--guide-line)}.overall.tier-5{border-color:#c98a2e99;box-shadow:var(--shadow-card),0 0 24px #e8b75c4d}.weeks{display:flex;gap:6px;align-items:flex-end;margin-top:14px}.week{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.week-col{width:100%;height:56px;display:flex;align-items:flex-end}.week-col i{display:block;width:100%;border-radius:4px 4px 2px 2px;background:#7eb4e173}.week-col i.now{background:linear-gradient(180deg,var(--accent-light),var(--accent))}.week .mono{font-size:9px;color:var(--ink-faint);white-space:nowrap}.week .week-lbl{font-size:8px;letter-spacing:.02em}.disc{display:flex;gap:10px;align-items:flex-start}.disc-dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--guide);box-shadow:0 0 0 3px #c98a2e24}.disc.rest .disc-dot{background:transparent;border:1.5px solid rgba(147,169,183,.7);box-shadow:none}.rungs{display:flex;flex-direction:column;gap:4px}.rung-row{display:flex;gap:11px;align-items:flex-start;width:100%;text-align:left;padding:9px 8px 9px 4px;border:0;border-radius:12px;background:transparent;font:inherit;color:inherit;opacity:.62}.rung-row.on{opacity:1}.rung-row.soon{opacity:.5}button.rung-row{cursor:pointer;background:#7eb4e11a}button.rung-row:active{transform:scale(.99)}.rung-row .lvl{display:inline-flex;align-items:center;justify-content:center;flex:none;height:24px;min-width:24px;padding:0 7px;border-radius:12px;background:var(--accent);color:#fff;font:500 10.5px/1 var(--font-mono);margin-top:1px}.rung-row .lvl.t4{background:var(--guide)}.rung-row .lvl.off{background:#1e5a821a;color:var(--ink-soft)}.rung-title{display:block;font:600 13.5px/1.3 var(--font-body);color:var(--ink)}.rung-about{display:block;font:400 12px/1.5 var(--font-body);color:var(--ink-soft);margin-top:2px}.rung-state{flex:none;font-size:10px;letter-spacing:.06em;color:var(--ink-faint);white-space:nowrap;margin-top:4px}.rung-row.on .rung-state{color:var(--accent-deep)}.opt{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:11px 13px;border-radius:14px;background:#ffffffb8;border:1px solid var(--line-strong);font:inherit;color:inherit;cursor:pointer}.opt.on{border-color:var(--accent)}.opt.hit{border-color:var(--accent);background:#7eb4e12e}.opt.miss{border-color:var(--warm-line);background:var(--warm-bg)}.opt:disabled{cursor:default}.opt-title{font:600 13.5px/1.3 var(--font-body);color:var(--ink)}.opt-about{font:400 12px/1.45 var(--font-body);color:var(--ink-soft)}.body{flex:none}.body .bz>*{fill:#7eb4e12e;stroke:#1e5a8259;stroke-width:1.2;cursor:pointer;transition:fill .2s ease}.body .bz.on>*{fill:#3e8fd08c;stroke:var(--accent-deep)}.body .bz>.whole{fill:transparent;stroke-dasharray:3 4}.body .bz.on>.whole{fill:#3e8fd01f}.tension-row{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}.tension-dot{height:30px;border-radius:9px;border:1px solid var(--line-strong);background:#ffffffb8;font:500 11.5px/1 var(--font-mono);color:var(--ink-soft);cursor:pointer;padding:0}.tension-dot[data-on="1"]{background:var(--accent);border-color:var(--accent);color:#fff}.tension-legend{display:flex;justify-content:space-between;font-size:9.5px;color:var(--ink-faint);margin-top:5px;letter-spacing:.04em}.scale-bars{display:flex;align-items:flex-end;gap:3px;height:70px;margin-top:14px}.scale-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.scale-bar i{display:block;width:100%;border-radius:3px 3px 1px 1px;background:#7eb4e18c}.scale-bar span{font-size:8px;color:var(--ink-faint)}.target .ring-line{fill:none;stroke:#1e5a8224;stroke-width:1}.target .axis{stroke:#1e5a821f;stroke-width:1}.target .bull{fill:#c98a2e59}.target .dot-now{fill:var(--accent);stroke:#fff;stroke-width:2}.target .dot-prev{fill:#7eb4e159}.target .target-label{font:500 10px var(--font-mono);fill:var(--ink-faint);letter-spacing:.04em}.outcome-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.outcome-row .chip{padding:10px 14px;font-size:13px}.outcome-tag{flex:none;font:600 9.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:6px;background:#7eb4e129;color:var(--accent-deep);white-space:nowrap}.outcome-tag[data-o=yes]{background:var(--warm-bg);color:var(--warm-ink)}.outcome-tag[data-o=partly]{background:var(--guide-bg);color:var(--guide-ink)}.critic-answer{margin-top:6px;padding:9px 11px;border-radius:10px;background:var(--accent-bg);font:400 13.5px/1.5 var(--font-body);color:var(--ink-read)}.critic-answer span{display:block;font:600 9.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-mid);margin-bottom:5px}.fw-clock{font:500 15px/1 var(--font-mono);color:var(--accent-deep);font-variant-numeric:tabular-nums}.fw-clock[data-over="1"]{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--guide-ink)}.area.fw-area{min-height:52vh;resize:none;font-size:15px;line-height:1.6}.fw-hint{margin-top:8px;min-height:18px;font:400 12px/1.45 var(--font-body);color:var(--ink-faint)}.fw-sheet{margin:4px 0 6px;padding:11px 12px;border-radius:10px;background:#ffffffb8;border:1px solid var(--glass-line);font:400 13.5px/1.6 var(--font-body);color:var(--ink-read);white-space:pre-line}.map-text p{margin:0 0 9px;font:400 13.5px/1.62 var(--font-body);color:var(--guide-deep)}.map-text p:last-child{margin-bottom:0}.map-text b{display:block;font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--guide-ink);margin-bottom:5px}.map-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;font:500 14px/1.3 var(--font-body);color:var(--ink)}.map-row:last-child{border-bottom:0}.map-row .mono{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.map-row .mono[data-state=new]{color:var(--guide-ink)}.map-row .mono[data-state=ready]{color:var(--accent-deep)}.talk{display:flex;flex-direction:column;gap:8px}.talk>div{display:flex;flex-direction:column;gap:8px}.talk-me{align-self:flex-end;max-width:86%;padding:10px 12px;border-radius:14px 14px 4px;background:var(--accent-bg);border:1px solid rgba(62,143,208,.18);font:400 13.5px/1.5 var(--font-body);color:var(--ink);white-space:pre-line}.talk-them{align-self:flex-start;max-width:86%;padding:10px 12px;border-radius:14px 14px 14px 4px;background:#ffffffd9;border:1px solid var(--glass-line);font:400 13.5px/1.5 var(--font-body);color:var(--ink-read);white-space:pre-line}.talk-them span{display:block;font:600 9.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px}.talk-wait{margin-top:10px;font:400 12.5px/1.4 var(--font-body);color:var(--ink-faint);animation:talk-wait 1.4s ease-in-out infinite}@keyframes talk-wait{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.talk-wait{animation:none}}.own-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.own-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:var(--accent-bg);border:1px solid rgba(62,143,208,.16);font:500 13.5px/1.35 var(--font-body);color:var(--ink)}.own-row .mono{font-size:11px;color:var(--accent-deep);min-width:12px}.own-row button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line-strong);background:#fffc;color:var(--ink-soft);font:500 13px/1 var(--font-body);cursor:pointer;padding:0}.own-row button:disabled{opacity:.35;cursor:default}.own-blocks{display:flex;flex-direction:column;gap:8px}.own-block{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:12px;cursor:pointer;background:#ffffffb8;border:1px solid var(--glass-line)}.own-block[data-on="1"]{border-color:var(--accent);background:var(--accent-bg)}.own-block:disabled:not([data-on="1"]){opacity:.55;cursor:default}.own-block-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.own-block-head b{font:600 14px/1.3 var(--font-body);color:var(--ink)}.own-block-head .mono{font-size:10.5px;color:var(--ink-faint);white-space:nowrap}.own-block-text{display:block;margin-top:4px;font:400 12.5px/1.5 var(--font-body);color:var(--ink-soft)}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:8px}.weekdays .tension-dot{height:34px;font-size:12px}.rules{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.rules li{font:400 14px/1.5 var(--font-body);color:var(--ink)}.trend-line{width:100%;height:32px;display:block}.trend-line polyline{fill:none;stroke:var(--accent);stroke-width:1.6;vector-effect:non-scaling-stroke}.ch-dots{display:flex;align-items:center;gap:7px;margin:4px 0 16px}.ch-dots i{width:12px;height:12px;border-radius:50%;background:#1e5a821a;display:block}.ch-dots i.on{background:var(--accent);box-shadow:0 0 0 3px #7eb4e140}.ch-dots .mono{margin-left:6px;font-size:11px;color:var(--ink-faint)}.unlocked{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;border-radius:14px;background:#7eb4e129;border:1px solid rgba(126,180,225,.4);max-width:320px}.unlocked-cap{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}.unlocked-title{font:600 14px/1.35 var(--font-body);color:var(--ink);text-align:center}.xp-up.guide .unlocked{background:var(--guide-bg);border-color:var(--guide-line)}.xp-up.guide .unlocked-cap{color:var(--guide-ink)}.flip{display:inline-grid;overflow:hidden;vertical-align:bottom;line-height:1.1}.flip>span{grid-area:1 / 1}.flip-out{animation:flipOut .5s var(--ease) forwards}.flip-in{animation:flipIn .6s cubic-bezier(.22,1,.36,1)}@keyframes flipOut{to{transform:translateY(-105%);opacity:0}}@keyframes flipIn{0%{transform:translateY(105%);opacity:0}}.xp-up .vfx{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.xp-up .vfx>i{position:absolute;left:var(--cx);top:var(--cy);display:block}.vfx-glow{width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;opacity:0;background:radial-gradient(circle,#7fb6e499,#7fb6e43d 36%,#7fb6e400 68%);animation:vfxGlow 1.8s cubic-bezier(.22,1,.36,1) .1s forwards}.xp-up.guide .vfx-glow{background:radial-gradient(circle,#e8b75c94,#e8b75c38 36%,#e8b75c00 68%)}@keyframes vfxGlow{0%{transform:scale(.35);opacity:0}55%{opacity:1}to{transform:scale(1.15);opacity:.75}}.vfx-wave{width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;opacity:0;transform:scale(.6);border:1.5px solid rgba(127,182,228,.75)}.xp-up.guide .vfx-wave{border-color:#e8b75cbf}.xp-up.burst .vfx-wave{animation:vfxWave 1.6s cubic-bezier(.2,.8,.3,1) forwards}.xp-up.burst .vfx-wave:nth-child(3){animation-delay:.22s}.xp-up.burst .vfx-wave:nth-child(4){animation-delay:.44s}@keyframes vfxWave{0%{transform:scale(.6);opacity:.85}to{transform:scale(3.4);opacity:0}}.vfx-spark{border-radius:50%;background:var(--accent);opacity:0;transform:translate(-50%,-50%) scale(0);box-shadow:0 0 0 2px #7fb6e459}.vfx-spark.star{border-radius:0;background:var(--guide);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.xp-up.burst .vfx-spark{animation:vfxSpark 1.5s cubic-bezier(.16,.84,.3,1) var(--t) forwards}@keyframes vfxSpark{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}12%{transform:translate(-50%,-50%) scale(1.2) rotate(20deg);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4) rotate(170deg);opacity:0}}.vfx-ring{animation:ringPop .7s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes ringPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.lvl-big{display:flex;flex-direction:column;align-items:center;gap:2px}.lvl-cap{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.lvl-num{font:200 78px/1.1 var(--font-display);color:var(--ink);padding:0 .06em}.xp-up.burst .lvl-num{animation:numPop .6s cubic-bezier(.34,1.56,.64,1)}@keyframes numPop{0%{transform:scale(1)}45%{transform:scale(1.1)}to{transform:scale(1)}}.xp-up .fade-later{opacity:0;animation:fadeUp .5s var(--ease) 1.05s forwards}@media(prefers-reduced-motion:reduce){.vfx-glow{animation:none;opacity:.7;transform:scale(1)}.vfx-wave,.vfx-spark{display:none}.vfx-ring,.lvl-num,.flip-in,.flip-out{animation:none}.xp-up .fade-later{animation:none;opacity:1}}.quiz-opts{display:flex;flex-wrap:wrap;gap:6px}.quiz-opts .chip{padding:8px 11px;font-size:12.5px}.quiz-hit{color:var(--accent-deep)}.quiz-miss{color:var(--ink-faint)}.entry{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-card);padding:13px 14px;box-shadow:var(--shadow-soft)}.entry-question{border:1px dotted rgba(126,180,225,.8)}.entry-observation{border:1px dashed var(--guide-line)}.entry-session{border-left:3px solid var(--accent)}.entry-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}.entry-kind{font:600 9.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.entry-date{margin-left:auto;font:400 10.5px var(--font-mono);color:var(--ink-faint);white-space:nowrap}.entry-prompt{font:300 14.5px/1.45 var(--font-display);color:var(--ink-soft);margin-bottom:6px}.entry-text{font:400 14px/1.62 var(--font-body);color:var(--ink-read);white-space:pre-line}.entry-text.clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.entry-row{display:flex;gap:9px;align-items:baseline;font:400 13px/1.55 var(--font-body);color:var(--ink-read)}.entry-row b{flex:none;font:600 9.5px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);min-width:38px}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips .chip{flex:none;padding:8px 12px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.chips .chip i{font:400 10px var(--font-mono);font-style:normal;opacity:.75}.area{display:block;width:100%;box-sizing:border-box;min-height:96px;resize:vertical;font:400 14px/1.6 var(--font-body);color:var(--ink);background:#fffffff0;border:1px solid var(--line-strong);border-radius:var(--r-chip);padding:12px 13px;box-shadow:inset 0 1px 2px #1740580f;transition:border-color .2s ease,box-shadow .2s ease}.area:focus{outline:none;border-color:var(--accent-light);box-shadow:0 0 0 3px #7eb4e13d}.area::placeholder{color:var(--ink-faint)}.sheet{bottom:var(--tabs-h, 0px)}
