:root{--primary:#558cee;--accent:#54c79b;--dark-text:#1a1a2e;--gray-text:#555;--light-bg:#f5f7fa;--white:#fff;--border:#e5e7eb;--font:"Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Fraunces", Georgia, serif;--radius:16px;--radius-sm:12px;--radius-pill:30px;--ease:cubic-bezier(.16, 1, .3, 1);--color-primary:var(--primary);--color-primary-hover:#437be0;--color-primary-light:#ebf2fe;--color-accent-soft:#ebf2fe;--color-cta:var(--primary);--color-text:var(--dark-text);--color-text-primary:var(--dark-text);--color-text-secondary:#4a4f5c;--color-text-muted:#6b7280;--color-background:var(--light-bg);--color-surface:#fff;--color-border:var(--border);--color-error:#e53935;--color-error-light:#ffebee;--color-success:#2e9e6b;--font-family-primary:var(--font);--radius-full:9999px;--shadow-sm:0 1px 2px #1a1a2e0f;--shadow-md:0 4px 12px #1a1a2e14;--shadow-lg:0 10px 25px #1a1a2e1a;--shadow-button:0 6px 18px #558cee47;--transition-fast:.15s ease;--step-game:#558cee;--step-wave:#2ba88a;--step-quiz:#8b6cd9;--step-faces:#e9a23b;--step-learn:#3d7bb8}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px 20px}.muted{color:var(--color-text-muted)}.small{font-size:12.5px}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-button)}.btn.primary:hover{background:var(--color-primary-hover);color:#fff}.btn.sm{border-radius:8px;padding:6px 11px;font-size:12.5px}.btn.link{color:var(--color-primary);box-shadow:none;background:0 0;border:none;padding:0}.phone-wrap{justify-content:center;padding:8px 0 20px;display:flex}.phone{background:var(--color-background);width:392px;height:740px;box-shadow:var(--shadow-lg);border:10px solid #10151e;border-radius:44px;flex-direction:column;display:flex;position:relative;overflow:hidden}.phone-notch{z-index:3;background:#10151e;border-radius:14px;width:110px;height:24px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-screen{flex-direction:column;flex:1;display:flex;overflow:hidden auto}.phone-hero{aspect-ratio:4/3;object-fit:cover;background:var(--color-accent-soft);width:100%;display:block}.phone-body{flex-direction:column;flex:1;gap:14px;padding:18px 20px 26px;display:flex;position:relative}.phone-title{letter-spacing:-.01em;font-size:19px;font-weight:700;line-height:1.25}.phone-progress{gap:5px;display:flex}.phone-progress span{background:var(--color-border);border-radius:2px;flex:1;height:4px}.phone-progress span.done{background:var(--color-primary)}.q-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:18px;padding:18px;font-size:16.5px;font-weight:500;line-height:1.45;animation:.26s both fadeUp}.q-option{text-align:center;border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);border-radius:16px;padding:15px 16px;font-size:15.5px;font-weight:600;transition:all .14s}.q-option:hover{border-color:var(--color-primary)}.q-option.correct{color:#1e7a50;background:#e8f7ef;border-color:#2e9e6b}.q-option.wrong{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.q-option:disabled{cursor:default}.q-feedback{text-align:center;min-height:20px;font-size:13.5px;font-weight:600;animation:.2s both fadeUp}.sort-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;box-shadow:var(--shadow-md);border-radius:20px;place-items:center;min-height:130px;padding:26px 20px;font-size:17px;font-weight:600;line-height:1.45;animation:.26s both fadeUp;display:grid}.sort-card.pos{border-color:#2e9e6b}.sort-card.neg{border-color:var(--color-error)}.sort-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sort-btn{border:none;border-radius:16px;padding:15px;font-size:15px;font-weight:700;transition:transform .12s}.sort-btn:active{transform:scale(.96)}.sort-btn.toss{background:var(--color-error-light);color:var(--color-error)}.sort-btn.keep{color:#1e7a50;background:#e8f7ef}.score-ring{background:conic-gradient(var(--color-primary) calc(var(--p) * 1%), var(--color-border) 0);border-radius:50%;place-items:center;width:130px;height:130px;margin:12px auto;display:grid}.score-ring>div{background:var(--color-background);border-radius:50%;place-items:center;width:104px;height:104px;font-size:26px;font-weight:800;display:grid}.live-pill{border-radius:var(--radius-full);color:#1e7a50;background:#e8f7ef;border:1px solid #2e9e6b40;padding:5px 10px;font-size:12px;font-weight:600}.phone-screen>.phone-body:first-child{padding-top:46px}.drag-card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform}.drag-card:active{cursor:grabbing}.drag-zone{place-items:center;min-height:300px;display:grid;position:relative}.zone-hint{text-align:center;letter-spacing:.04em;text-transform:uppercase;opacity:.55;font-size:12.5px;font-weight:700;position:absolute;left:0;right:0}.zone-hint.top{color:#1e7a50;top:2px}.zone-hint.bottom{color:var(--color-error);bottom:2px}.zone-hint.left{color:var(--color-error);top:50%;left:6px;right:auto;transform:translateY(-50%)rotate(-90deg)}.zone-hint.right{color:#1e7a50;top:50%;left:auto;right:6px;transform:translateY(-50%)rotate(90deg)}.bubble-field{flex:1;min-height:420px;position:relative}.bubble{text-align:center;border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;padding:14px;font-size:12px;font-weight:600;line-height:1.25;transition:transform .3s,opacity .3s,border-color .15s,background .15s;animation:3.2s ease-in-out infinite bob;display:grid;position:absolute}.bubble:nth-child(2n){animation-delay:-1.1s}.bubble:nth-child(3n){animation-delay:-2.2s}.bubble.popped{opacity:0;pointer-events:none;transform:scale(0)}.bubble.buzz{border-color:var(--color-error);background:var(--color-error-light);animation:.32s buzz}@keyframes bob{0%,to{margin-top:0}50%{margin-top:-8px}}@keyframes buzz{0%,to{translate:0}25%{translate:-5px}50%{translate:5px}75%{translate:-3px}}.emoji-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.emoji-btn{border:1.5px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 0 8px;font-size:30px;transition:all .14s;display:flex}.emoji-btn small{color:var(--color-text-secondary);font-size:10.5px;font-weight:600}.emoji-btn:hover{border-color:var(--color-primary)}.emoji-btn.correct{background:#e8f7ef;border-color:#2e9e6b}.emoji-btn.wrong{background:var(--color-error-light);border-color:var(--color-error)}.robot-face{text-align:center;font-size:56px;transition:transform .2s}.robot-face.happy{transform:scale(1.15)rotate(-6deg)}.robot-face.sad{filter:grayscale(.6);transform:scale(.95)rotate(6deg)}.robot-bubble{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:18px;padding:16px 18px;font-size:15.5px;font-weight:500;line-height:1.45;position:relative}.robot-bubble:before{content:"";background:var(--color-surface);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);width:14px;height:14px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.swipe-stage{flex-direction:column;flex:1;display:flex;position:relative}.intro-beat{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .3s,transform .38s cubic-bezier(.34,1.4,.64,1);display:flex;position:absolute;inset:0}.intro-beat .arrow{font-size:38px;font-weight:300}.intro-beat .beat-text{font-size:23px;font-weight:600}.intro-beat .go{color:#2e9e6b;font-size:44px;font-weight:800}.swipe-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform;border-radius:24px;flex-direction:column;height:280px;display:flex;position:relative}.swipe-card:active{cursor:grabbing}.swipe-card .edge-label{justify-content:center;align-items:center;gap:6px;padding:16px 0 0;font-size:12px;font-weight:600;display:flex}.swipe-card .edge-label.bottom{padding:0 0 16px}.swipe-card .stmt{text-align:center;flex:1;place-items:center;padding:0 26px;font-size:17.5px;font-weight:500;line-height:1.45;display:grid}.feedback-mark{opacity:.55;pointer-events:none;place-items:center;font-size:64px;font-weight:200;animation:.2s both fadeUp;display:grid;position:absolute;inset:0}.gesture-hand{pointer-events:none;opacity:0;margin-left:-14px;font-size:30px;position:absolute;top:50%;left:50%}.gesture-hand.run{animation:1.9s ease-in-out both handSwipe}@keyframes handSwipe{0%{opacity:0;transform:translateY(0)}18%{opacity:.8;transform:translateY(0)}80%{opacity:.8;transform:translateY(var(--hand-end))}to{opacity:0;transform:translateY(var(--hand-end))}}.shard{opacity:1;border-radius:3px;animation:.7s ease-out both shardFly;position:absolute;top:32%;left:50%}@keyframes shardFly{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--sx), var(--sy)) rotate(var(--spin));opacity:0}}.absorb-glow{pointer-events:none;background:radial-gradient(circle,#2e9e6be6,#2e9e6b00);border-radius:50%;width:110px;height:110px;margin:-55px 0 0 -55px;animation:1.1s ease-out both glowPulse;position:absolute;top:62%;left:50%}.absorb-ring{pointer-events:none;border:2px solid #2e9e6b80;border-radius:50%;width:50px;height:50px;margin:-25px 0 0 -25px;animation:.8s ease-out both ringOut;position:absolute;top:62%;left:50%}@keyframes glowPulse{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes ringOut{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(3)}}.help-sheet{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:4;border-radius:18px;padding:18px;animation:.26s both fadeUp;position:absolute;bottom:10px;left:10px;right:10px}.stamp-wrap{place-items:center;width:96px;height:96px;margin:0 auto;display:grid;position:relative}.stamp-check{font-size:62px;font-weight:200;animation:.42s cubic-bezier(.34,1.5,.64,1) both stampIn}.stamp-spark{border:2px solid var(--color-border);border-radius:50%;animation:.6s ease-out .2s both sparkOut;position:absolute;inset:0}@keyframes stampIn{0%{opacity:0;transform:scale(0)}to{opacity:.85;transform:scale(1)}}@keyframes sparkOut{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}.note-stage{flex:1;place-items:center;display:grid;position:relative}.note-card{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, transparent);text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform;transform-origin:top;border-radius:16px;place-items:center;width:86%;height:300px;padding:26px;font-size:17.5px;font-weight:500;line-height:1.45;display:grid;position:absolute;box-shadow:0 6px 16px #0000001f}.note-card:active{cursor:grabbing}.note-card .fold{clip-path:polygon(0 0,0 100%,100% 100%);background:#0000001f;width:24px;height:24px;position:absolute;top:0;right:0}.note-card.err{outline-offset:-2px;outline:2px solid #e53935b3}.note-cap{background:var(--color-surface);box-shadow:var(--shadow-sm);opacity:0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:20px}.note-cap.discard{color:var(--color-error);left:16px;transform:rotate(-10deg)}.note-cap.embrace{color:#2e9e6b;right:16px;transform:rotate(10deg)}.pair-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:44px;display:flex;position:relative}.pair-circle{text-align:center;background:color-mix(in srgb, var(--color-surface) 85%, transparent);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #00000040;border-radius:50%;place-items:center;padding:22px;font-size:15px;font-weight:600;line-height:1.3;transition:transform .45s cubic-bezier(.34,1.4,.64,1),background .3s,border-color .3s,box-shadow .3s,opacity .4s;display:grid;box-shadow:0 4px 10px #00000014}[data-theme=dark] .pair-circle{border-color:#ffffff4d}.pair-circle.win{background:#2e9e6b4d;border-color:#2e9e6b99;transform:scale(1.4);box-shadow:0 0 26px #2e9e6b80}.pair-circle.wrongpick{background:#e5393547;border-color:#e5393580;animation:.4s buzz;transform:scale(1.08)}.pair-circle.deflate{transform:scale(.6)}.pair-circle.exit-win{opacity:0;transition:transform .55s ease-in,opacity .55s ease-in;transform:translateY(-420px)scale(1.15)rotate(-8deg)}.pair-circle.exit-lose{opacity:0;transition:transform .55s ease-in,opacity .55s ease-in;transform:translateY(260px)scale(.3)}.pair-circle.enter{opacity:0}.pair-circle.enter.top{transform:translateY(-24px)scale(.7)}.pair-circle.enter.bottom{transform:translateY(24px)scale(.7)}.verdict{text-align:center;background:var(--color-surface);width:max-content;max-width:calc(100% - 32px);box-shadow:var(--shadow-lg);z-index:6;pointer-events:none;border:1px solid;border-radius:999px;margin-inline:auto;padding:9px 18px;font-size:15px;font-weight:700;line-height:1.3;animation:.2s both fadeUp;position:absolute;top:17%;left:0;right:0}.verdict.ok{color:#2e9e6b;border-color:#2e9e6b73}.verdict.err{color:var(--color-error);border-color:#e5393566}.verdict-slot{justify-content:center;align-items:center;min-height:44px;margin-top:-6px;display:flex}.verdict.inline{margin:0;position:static}.sparkle{pointer-events:none;font-size:12px;animation:.65s ease-out both sparkleFly;position:absolute;top:50%;left:50%}@keyframes sparkleFly{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--sx), var(--sy)) scale(.6);opacity:0}}.confetti{pointer-events:none;animation:1s ease-out both confettiFly;position:absolute;top:45%;left:50%}@keyframes confettiFly{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--sx), var(--sy)) rotate(var(--spin));opacity:0}}.emoji-targets{justify-content:center;gap:40px;display:flex}.emoji-target{background:color-mix(in srgb, var(--color-surface) 80%, transparent);filter:grayscale()opacity(.55);border:1.5px solid #00000026;border-radius:50%;place-items:center;width:72px;height:72px;font-size:28px;transition:all .15s;display:grid}[data-theme=dark] .emoji-target{border-color:#fff3}.emoji-target.active{filter:none;border-color:#00000080;transform:scale(1.08)}.emoji-card{text-align:center;color:#111;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform, opacity;background:#fff;border-radius:20px;place-items:center;height:200px;padding:32px;font-size:21px;font-weight:600;line-height:1.35;display:grid;position:relative;box-shadow:0 10px 30px #0000001f}.emoji-card:active{cursor:grabbing}.screen-flash{z-index:3;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.scanner{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 85%, transparent);text-align:center;will-change:transform, opacity;border-radius:16px;place-items:center;height:200px;padding:24px;font-size:16.5px;font-weight:500;line-height:1.4;display:grid;position:relative;overflow:hidden}.scanner .corner{border:0 solid #00c8ff66;width:16px;height:16px;position:absolute}.scanner .corner.tl{border-top-width:1.5px;border-left-width:1.5px;top:6px;left:6px}.scanner .corner.tr{border-top-width:1.5px;border-right-width:1.5px;top:6px;right:6px}.scanner .corner.bl{border-bottom-width:1.5px;border-left-width:1.5px;bottom:6px;left:6px}.scanner .corner.br{border-bottom-width:1.5px;border-right-width:1.5px;bottom:6px;right:6px}.scan-line{opacity:0;background:#00c8ff40;height:1.5px;position:absolute;top:50%;left:16px;right:16px}.scan-line.sweep{animation:.8s ease-in-out both scanSweep}@keyframes scanSweep{0%{opacity:1;transform:translateY(-80px)}75%{opacity:1;transform:translateY(80px)}to{opacity:0;transform:translateY(80px)}}.processor-panel{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, transparent);border-radius:14px;padding:8px 16px 14px}.processor-label{letter-spacing:2px;color:var(--color-text-muted);justify-content:center;align-items:center;gap:6px;padding:6px 0 10px;font-size:11px;font-weight:600;display:flex}.processor-label i{background:#00c8ff59;border-radius:50%;width:4px;height:4px}.switch-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.switch-btn{border:1px solid var(--color-border);background:var(--color-surface);letter-spacing:1px;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:48px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.switch-btn .arr{font-size:15px}.switch-btn.reject .arr{color:var(--color-error)}.switch-btn.keep .arr{color:#2e9e6b}.switch-btn.on.reject{background:#e5393566;border-color:#e5393599}.switch-btn.on.keep{background:#2e9e6b6b;border-color:#2e9e6b99}@keyframes scannerShake{0%,to{translate:0}12%{translate:12px}37%{translate:-12px}62%{translate:12px}87%{translate:-12px}}.scanner.shake{animation:.26s linear scannerShake}.pp{max-width:560px;color:var(--color-text,#1b3a4b);margin:0 auto;padding:20px 18px 48px;font-size:18px;line-height:1.55}.pp h1{margin:4px 0 0;font-size:30px;line-height:1.2}.pp h2{margin:4px 0 6px;font-size:22px;line-height:1.3}.pp p{margin:6px 0}.pp-head{margin-bottom:18px}.pp-clinic{letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary,#4981f7);font-size:14px;font-weight:600}.pp-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#00000014);border-radius:14px;margin-bottom:14px;padding:18px}.pp-status{border-color:var(--color-primary,#4981f7)}.pp-ok{background:#10b98114;border-color:#10b98166}.pp-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted,#5b6b76);margin-bottom:4px;font-size:13px}.pp-muted{color:var(--color-text-muted,#5b6b76);font-size:16px}.pp-btn{background:var(--color-primary,#4981f7);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:12px;padding:14px 20px;font-size:18px;font-weight:600;display:inline-block}.pp-btn.small{white-space:nowrap;width:auto;margin-top:0;padding:10px 16px;font-size:16px}.pp-btn:disabled{opacity:.5;cursor:default}.pp-q{border-top:1px solid var(--color-border,#00000014);padding:12px 0}.pp-q-text{margin-bottom:8px;font-weight:600}.pp-q-opts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pp-opt{border:1.5px solid var(--color-border,#00000026);color:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:12px 10px;font-size:16px}.pp-opt.on{border-color:var(--color-primary,#4981f7);background:#4981f71f;font-weight:600}.pp-mood{text-align:center;flex:1;font-size:13px}.pp-seg-bar{gap:4px;margin-bottom:12px;display:flex}.pp-seg{background:#4981f729;border-radius:3px;flex:1;height:5px;transition:background .25s}.pp-seg.done{background:var(--color-primary,#4981f7)}.pp-wiz-top{justify-content:space-between;align-items:center;min-height:28px;margin-bottom:6px;display:flex}.pp-wiz-back{color:var(--color-primary,#4981f7);font:inherit;cursor:pointer;background:0 0;border:none;padding:2px 8px 2px 0;font-size:16px;font-weight:600}.pp-wiz-q{min-height:58px;margin:6px 0 16px;font-size:21px;font-weight:600;line-height:1.35}.pp-wiz-opts{flex-direction:column;gap:10px;display:flex}.pp-wiz-opts .pp-opt{text-align:left;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;padding:15px 16px;font-size:17px;transition:transform .12s,background .15s,border-color .15s}.pp-wiz-opts .pp-opt.on{transform:scale(.98)}.pp-wiz-opts .pp-opt:focus{outline:none}.pp-slide{animation-duration:.2s;animation-timing-function:ease;animation-fill-mode:both}.pp-slide.in-right{animation-name:ppInRight}.pp-slide.in-left{animation-name:ppInLeft}.pp-slide.out-left{animation-name:ppOutLeft}.pp-slide.out-right{animation-name:ppOutRight}@keyframes ppInRight{0%{opacity:0;transform:translate(56px)}to{opacity:1;transform:none}}@keyframes ppInLeft{0%{opacity:0;transform:translate(-56px)}to{opacity:1;transform:none}}@keyframes ppOutLeft{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-56px)}}@keyframes ppOutRight{0%{opacity:1;transform:none}to{opacity:0;transform:translate(56px)}}@media (prefers-reduced-motion:reduce){.pp-slide{animation-duration:1ms}}.pp-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:78vh;display:flex}.pp-boot-dots{gap:8px;display:flex}.pp-boot-dots span{background:#4981f7;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pp-boot-pulse}.pp-boot-dots span:nth-child(2){animation-delay:.15s}.pp-boot-dots span:nth-child(3){animation-delay:.3s}@keyframes pp-boot-pulse{0%,80%,to{opacity:.35;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.pp-boot-quote{max-width:420px;font-size:19px;font-weight:500;line-height:1.55}@media (prefers-reduced-motion:reduce){.pp-boot-dots span{opacity:.7;animation:none}}.pp-vas{justify-content:center;align-items:stretch;gap:22px;margin:16px 0 6px;display:flex}.pp-vas-track{cursor:pointer;touch-action:none;background:#4981f71f;border-radius:32px;flex-shrink:0;width:84px;height:280px;position:relative;overflow:hidden}.pp-vas-track:focus{outline:2px solid var(--color-primary,#4981f7);outline-offset:3px}.pp-vas-fill{background:var(--color-primary,#4981f7);border-radius:0 0 32px 32px;transition:height .12s;position:absolute;bottom:0;left:0;right:0}.pp-vas-hint{text-align:center;color:var(--color-text-muted,#5b6b76);pointer-events:none;place-items:center;font-size:14px;animation:1.6s ease-in-out infinite alternate ppBreathe;display:grid;position:absolute;inset:0}@keyframes ppBreathe{0%{transform:translateY(-4px)}to{transform:translateY(4px)}}.pp-vas-side{flex-direction:column;justify-content:space-between;align-items:flex-start;padding:6px 0;display:flex}.pp-vas-pole{color:var(--color-text,#1b3a4b);font-weight:600;transition:font-size .12s,opacity .12s}.pp-vas-mid{text-align:center;align-self:center}.pp-vas-value{min-width:64px;font-size:34px;font-weight:700;line-height:1.1}.pp-vas-out10{color:var(--color-text-muted,#5b6b76);margin-bottom:8px;font-size:13px}.pp-vas-nudge{flex-direction:column;align-items:center;gap:6px;display:flex}.pp-vas-nudge button{border:1.5px solid var(--color-border,#00000026);width:40px;height:34px;color:var(--color-text-muted,#5b6b76);cursor:pointer;background:0 0;border-radius:10px;font-size:13px}.pp-block{margin-bottom:16px}.pp-block:last-of-type{margin-bottom:0}.pp-progress-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:16px;display:flex}.pp-progress-head span{color:var(--color-text-secondary,#5a7a8a);font-size:14px}.pp-bar{background:#4981f724;border-radius:6px;height:12px;overflow:hidden}.pp-bar>div{background:#2e9e6b;border-radius:6px;height:100%;transition:width .5s}.pp-small{margin-top:6px;font-size:14px}.pp-spark{width:100%;height:56px;margin:4px 0 2px;display:block}.pp-divider{border:none;border-top:1px solid #4981f72e;margin:16px 0}.pp-done-card{padding-top:14px;padding-bottom:14px}.pp-list{margin:0 0 14px;padding-left:20px}.pp-list li{margin:4px 0}.pp-done-row{align-items:center;gap:12px;display:flex}.pp-done-row>div{flex:1;min-width:0}.pp-done-mark{color:#1e7a50;background:#e8f7ef;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:17px;font-weight:700;display:grid}.pp-btn.ghost{color:var(--color-primary,#4981f7);border:1.5px solid var(--color-primary,#4981f7);background:0 0;width:auto;margin:0;padding:8px 14px;font-size:14px}.pp-text{width:100%;font:inherit;border:1.5px solid var(--color-border,#00000026);color:inherit;box-sizing:border-box;resize:vertical;background:0 0;border-radius:10px;margin-top:10px;padding:12px;font-size:16px}.pp-text:focus{border-color:var(--color-primary,#4981f7);outline:none}.pp-task{border-top:1px solid var(--color-border,#00000014);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.pp-task:first-of-type{border-top:0}.pp-task.done .pp-task-title{color:var(--color-text-muted,#5b6b76);text-decoration:line-through}.pp-task-title{font-weight:600}.pp-task-body{font-size:16px}.pp-done summary{cursor:pointer;color:var(--color-text-muted,#5b6b76);margin-top:8px;font-size:16px}.pp-checkins{flex-wrap:wrap;gap:8px;display:flex}.pp-chip{background:#4981f71f;border-radius:999px;padding:6px 12px;font-size:16px}.pp-safety{color:var(--color-error,#b42318);font-weight:600}.pp-rest{text-align:center;padding:4px 0 8px}.pp-foot{margin-top:24px;font-size:16px}.pp-foot a{color:var(--color-primary,#4981f7);font-weight:600}@media (width>=640px){.pp-q-opts{grid-template-columns:repeat(4,1fr)}}.task-item{border-top:1px solid var(--color-border,#00000014);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.task-item:first-child{border-top:0}.task-item input{margin-top:4px}.task-item.done>div>div:first-child{color:var(--color-text-muted,#5b6b76);text-decoration:line-through}.pp-today{border-color:var(--color-primary,#4981f7)}.pp-test-bar{background:#fff8e1;border:1px dashed #c9a227;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 10px;font-size:14px;display:flex}.pp-test-tag{letter-spacing:.04em;text-transform:uppercase;color:#8a6d00;font-size:12px;font-weight:700}.pp-test-reset{flex-wrap:wrap;gap:6px;display:inline-flex}.pp-test-day{align-items:center;gap:6px;display:inline-flex}.pp-test-day select{font:inherit;background:#fff;border:1px solid #d8d2bf;border-radius:8px;padding:4px 6px}.pp-streak{color:#1e7a50;white-space:nowrap;background:#e8f7ef;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.pp-steps{margin:14px 0 0;padding:0;list-style:none}.pp-step{border-top:1px solid var(--color-border,#00000014);align-items:center;gap:12px;padding:12px 0;display:flex}.pp-step-num{width:32px;height:32px;color:var(--color-primary,#4981f7);background:#4981f71f;border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;display:grid}.pp-step.done .pp-step-title{color:var(--color-text-muted,#5b6b76)}.pp-step-body{flex:1;min-width:0}.pp-step-title{font-weight:600;line-height:1.3}.pp-step-note{color:#1e7a50;margin-top:10px;font-weight:600}.pp-player{border-color:var(--color-primary,#4981f7);padding-bottom:22px}.pp-player-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.pp-player-title{font-size:19px;line-height:1.3;display:block}.pp-tip-text{margin:6px 0 10px;font-size:19px;line-height:1.5}.pp-ack{text-align:center}.pp-ack-lead{margin:4px 0 2px;font-size:19px}.pp-ack-card{border:1px solid var(--color-border,#e2e8f0);background:#fff;border-radius:20px;margin:20px 0 0;padding:20px;transition:background .2s,border-color .2s,box-shadow .2s;box-shadow:0 4px 10px #0000000d}.pp-ack-hold.holding .pp-ack-card{border-color:var(--color-primary,#4981f7);background:#4981f71f;box-shadow:0 0 20px 5px #4981f733}.pp-ack-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px;font-size:18px;font-weight:500;line-height:1.4}.pp-ack-bar{background:#e5e7eb;border-radius:4px;height:4px;overflow:hidden}.pp-ack-bar span{background:var(--color-primary,#4981f7);height:100%;transition:width 50ms linear;display:block}.pp-ack-line{background:linear-gradient(#d1d5db,#4981f780);width:2px;height:24px;margin:0 auto}.pp-ack-hold.holding .pp-ack-line{background:var(--color-primary,#4981f7)}.pp-ack-pad{border:3px solid var(--color-primary,#4981f7);width:80px;height:80px;color:var(--color-primary,#4981f7);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#4981f726;border-radius:50%;place-items:center;margin:0 auto;padding:0;animation:1.6s ease-in-out infinite pp-ack-pulse;display:grid;box-shadow:0 0 10px #4981f733}.pp-ack-hold.holding .pp-ack-pad{background:var(--color-primary,#4981f7);color:#fff;animation:none;transform:scale(.95);box-shadow:0 0 20px 2px #4981f766}@keyframes pp-ack-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.pp-ack-hint{color:var(--color-muted,#64748b);margin:16px 0 0;font-size:16px}.pp-ack-hold.holding .pp-ack-hint{color:var(--color-primary,#4981f7);font-weight:600}.pp-arena{background:var(--color-background,#f6f8fb);touch-action:pan-y;border-radius:14px;flex-direction:column;min-height:470px;display:flex;position:relative;overflow:hidden}.pp-arena>.phone-body{flex:1;min-height:470px}.pp-arena .swipe-stage,.pp-arena .note-stage{min-height:360px}.pp-arena .swipe-card{height:300px}.pp-arena .small{font-size:14px}.cn-stage{flex-direction:column;flex:1;justify-content:center;gap:30px;padding:6px 0;display:flex;position:relative}.cn-pair{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cn-bubble{border:2px solid var(--color-border);background:var(--color-surface);min-width:0;max-width:170px;min-height:96px;color:inherit;font:inherit;text-align:center;overflow-wrap:anywhere;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:26px;flex:1 1 0;place-items:center;padding:14px 12px;font-size:14.5px;font-weight:600;line-height:1.35;transition:transform .8s cubic-bezier(.5,0,.3,1) .5s,opacity .5s .8s,border-color .2s,background .2s,scale .15s;animation:.3s both fadeUp;display:grid}.cn-bubble:active{scale:.97}.cn-bubble.won{background:#2e9e6b24;border-color:#2e9e6b}.cn-bubble.lost{opacity:.35;transition:opacity .3s}.cn-bubble.hidden{opacity:0;transition:none;animation:none}.cn-heart{color:#e5566f;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#e5566f33,#e5566f00 70%);border-radius:50%;align-self:center;place-items:center;width:88px;height:88px;font-size:62px;line-height:1;transition:scale .2s;display:grid}.cn-heart.ready{scale:1.08}.cn-heart.beat{animation:.7s 2 cnBeat}@keyframes cnBeat{0%,to{scale:1}35%{scale:1.25}60%{scale:.96}}.cn-praise{color:#1f7a50;pointer-events:none;border-radius:999px;align-self:center;min-height:34px;margin-top:-18px;padding:7px 18px;font-size:15px;font-weight:700}.cn-praise:not(:empty){background:#2e9e6b24;animation:.3s cubic-bezier(.34,1.5,.64,1) both stampIn}.cn-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cn-line path{fill:none;stroke:var(--color-primary);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.cn-line.connected path{stroke:#2e9e6b;opacity:.9;transition:opacity .4s .6s}.cn-line.jitter path{stroke:var(--color-error)}.cn-line.jitter{animation:.13s linear 3 buzz}@media (prefers-reduced-motion:reduce){.cn-bubble,.cn-heart.beat,.cn-line.jitter{transition-duration:1ms;transition-delay:0s;animation:none}}.bub-stage{flex-direction:column;flex:1;justify-content:center;gap:14px;transition:opacity .35s ease-out,transform .35s ease-out;display:flex}.bub-stage.out{opacity:0;transform:scale(1.08)}.bub-row{justify-content:space-between;gap:8px;padding:0 2px;display:flex}.bub-row.one{justify-content:center}.bub-thought{border:2px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:52px;align-self:center;place-items:center;width:min(230px,84%);min-height:110px;padding:16px 22px;font-size:16px;font-weight:500;line-height:1.38;animation:.45s cubic-bezier(.34,1.5,.64,1) both bubPop;display:grid}.bub-thought.shake{animation:.5s linear scannerShake}.bub-opt{border:2px solid var(--color-border);background:var(--color-surface);color:inherit;font:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;padding:10px 15px;font-size:13.5px;font-weight:600;transition:scale .2s,background .2s,border-color .2s,box-shadow .2s;animation:.5s cubic-bezier(.34,1.4,.64,1) both bubPop}.bub-opt.pos{background:#2e9e6b26;border-color:#2e9e6b99;box-shadow:0 0 6px #2e9e6b4d}.bub-opt.neg{background:#e539351f;border-color:#e539358c;box-shadow:0 0 6px #e5393540}.bub-opt.wrong{background:#e5393533;border-color:#e53935cc;scale:1.1;box-shadow:0 0 10px #e5393580}@keyframes bubPop{0%{opacity:0;scale:0}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){.bub-thought,.bub-opt{animation:none}}.tc-stage{perspective:900px;flex-direction:column;flex:1;justify-content:center;gap:26px;transition:opacity .3s;display:flex}.tc-stage.fade{opacity:0}.tc-card{height:160px;color:inherit;font:inherit;cursor:pointer;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;transition:transform .24s ease-in-out;animation:.3s both fadeUp;position:relative}.tc-card.second{animation-delay:90ms}.tc-card:disabled{cursor:default}.tc-front,.tc-result{border-radius:18px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.tc-front{background:var(--color-surface);border:1px solid var(--color-border);transition:opacity .2s,transform .35s ease-in-out;box-shadow:0 3px 8px #00000014}.tc-text{text-align:center;padding:18px 28px;font-size:17px;font-weight:500;line-height:1.4;position:relative}.tc-result{opacity:0;font-size:40px;font-weight:200;transition:opacity .2s 80ms}.tc-result.pos{background:#2e9e6b26;border:1px solid #2e9e6b66}.tc-result.neg{background:#e539351a;border:1px solid #e539354d}.tc-card.open .tc-result{opacity:1}.tc-card.shake{animation:.26s linear scannerShake}.tc-card.flip .tc-front,.tc-card.flip .tc-result{backface-visibility:hidden}.tc-card.flip .tc-result{opacity:1;transition:none;transform:rotateY(180deg)}.tc-card.flip.open{transform:rotateY(180deg)}.tc-card.envelope.open .tc-front,.tc-card.gift.open .tc-front{opacity:0}.tc-flap{width:100%;height:100%;position:absolute;inset:0}.tc-flap path{fill:none;stroke:currentColor;stroke-opacity:.2;stroke-width:1px;vector-effect:non-scaling-stroke}.tc-seal{opacity:.35;background:var(--color-surface);border:1px solid;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:35%;left:50%}.tc-card.envelope .tc-text{padding-top:62px;font-size:16px}.tc-ribbon{opacity:.07;background:currentColor;transition:opacity .15s;position:absolute}.tc-ribbon.h{height:14px;margin-top:-19px;top:50%;left:0;right:0}.tc-ribbon.v{width:14px;margin-left:13px;top:0;bottom:0;left:50%}.tc-card.gift.open{transform:scale(1.03)}.tc-card.gift.open .tc-ribbon{opacity:0}.tc-card.door .tc-front{transform-origin:0}.tc-card.door.second .tc-front{transform-origin:100%}.tc-card.door.open .tc-front{opacity:0;transition:transform .35s ease-in-out,opacity .15s .2s;transform:rotateY(-90deg)}.tc-card.door.second.open .tc-front{transform:rotateY(90deg)}.tc-inset{opacity:.12;border:1px solid;border-radius:12px;position:absolute;inset:8px}.tc-knob{opacity:.35;border:1px solid;border-radius:50%;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%;left:16px}.tc-card.door.second .tc-knob{left:auto;right:16px}.tc-card.door .tc-text{padding:18px 34px}.tc-great{opacity:.8;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:19px;font-weight:700;animation:.3s cubic-bezier(.34,1.5,.64,1) both stampIn;display:flex;position:absolute;inset:0}.tc-great span{font-size:60px;font-weight:200;line-height:1}@media (prefers-reduced-motion:reduce){.tc-card,.tc-front,.tc-result{transition-duration:1ms;animation:none}}.tut-stage{flex-direction:column;flex:1;justify-content:center;gap:22px;display:flex}.tut-stage>*{animation:.4s both fadeUp}.tut-stage>:nth-child(2){animation-delay:.2s}.tut-stage>:nth-child(3){animation-delay:.5s}.tut-sub{text-align:center;opacity:.75;margin:0;font-size:16px;font-weight:600;line-height:1.4}.tut-card{border:2px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:18px;place-items:center;min-height:140px;padding:22px 20px;font-size:18px;font-weight:500;line-height:1.45;display:grid}.tut-answers{flex-direction:column;gap:10px;display:flex}.tut-btn{color:inherit;border:1px solid var(--color-border);background:var(--color-surface);text-align:center;cursor:pointer;border-radius:16px;padding:16px 18px;font-family:inherit;font-size:16px;font-weight:600;transition:background .2s,border-color .2s,opacity .2s,color .2s}.tut-btn:disabled{cursor:default}.tut-btn.ok{color:#fff;background:#2e9e6b;border-color:#2e9e6b}.tut-btn.err{background:var(--color-error);border-color:var(--color-error);color:#fff}.tut-btn.hint{background:#2e9e6b2e;border-color:#2e9e6b80}.tut-btn.dim{opacity:.45}.tut-scrim{z-index:5;background:#141c2880;place-items:center;padding:12px;animation:.2s both ppFade;display:grid;position:absolute;inset:0}.tut-popup{background:var(--color-surface);width:100%;max-width:340px;max-height:100%;box-shadow:var(--shadow-lg);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:18px 20px;display:flex;overflow-y:auto}.tut-popup>*{flex-shrink:0}.tut-explain{background:var(--color-primary-light);border-radius:12px;flex-direction:column;align-self:stretch;align-items:center;gap:8px;padding:12px;display:flex}.tut-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.tut-chip.pos{color:#1f7a50;background:#2e9e6b24}.tut-chip.neg{color:var(--color-error);background:#e539351f}.explain-row{justify-content:center;margin-top:10px;display:flex}.explain-btn{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;color:inherit;opacity:.8;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.explain-btn:hover{opacity:1}.tut-link{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:underline}.faces-level{justify-content:center;gap:3px;display:flex}.faces-level span{background:var(--color-border);border-radius:2px;width:14px;height:6px}.faces-level span.on{background:#2e9e6b}.faces-score{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:8px;display:flex}.faces-score b{font-size:30px;font-weight:700}.faces-score span{opacity:.5;font-size:22px}.faces-score em{opacity:.7;font-size:30px;font-style:normal;font-weight:700}.faces-grid{perspective:700px;gap:8px;width:100%;display:grid}.face-tile{aspect-ratio:1;border:3px solid var(--color-border);background:var(--color-surface);cursor:pointer;opacity:0;-webkit-tap-highlight-color:transparent;border-radius:12px;padding:0;transition:transform .45s cubic-bezier(.34,1.3,.64,1),opacity .3s,border-color .15s,box-shadow .2s;position:relative;overflow:hidden;transform:rotateY(90deg)}.face-tile.dealt{opacity:1;transform:none}.face-tile img{object-fit:cover;width:100%;height:100%;display:block}.face-tile:disabled{cursor:default}.face-tile.correct{border-color:#2e9e6b;transform:scale(.96);transition-delay:0s!important}.face-tile.correct:after,.face-tile.error:after{content:"";position:absolute;inset:0}.face-tile.correct:after{background:#2e9e6b40}.face-tile.error{border-color:var(--color-error);transition-delay:0s!important}.face-tile.error:after{background:#e539354d}.face-tile.pop{z-index:1;transform:scale(1.12);box-shadow:0 0 16px #2e9e6bb3}.face-tile.out{opacity:0;transition:transform .35s ease-in,opacity .35s ease-in;transform:rotateY(-90deg)}.face-badge{z-index:1;color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;margin:auto;font-size:17px;font-weight:700;animation:.25s cubic-bezier(.34,1.5,.64,1) both stampIn;display:grid;position:absolute;inset:0;box-shadow:0 1px 4px #0000004d}.face-tile.correct .face-badge{background:#2e9e6b}.face-tile.error .face-badge{background:var(--color-error)}@media (prefers-reduced-motion:reduce){.face-tile,.face-tile.out{transition-duration:1ms;transition-delay:0s!important}}.pp-wave{text-align:center}.pp-wave-ring{background:#4981f71a;border-radius:50%;place-items:center;width:180px;height:180px;margin:18px auto 12px;display:grid;transform:scale(.72)}.pp-wave-ring.run{animation-name:ppWave;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.pp-wave-core{background:radial-gradient(circle,#4981f7f2,#4981f78c);border-radius:50%;width:70px;height:70px;box-shadow:0 0 40px #4981f759}@keyframes ppWave{0%{transform:scale(.72)}40%{transform:scale(1)}to{transform:scale(.72)}}.pp-wave-stmt{min-height:30px;margin:8px 0 12px;font-size:21px;font-weight:600;line-height:1.4}@media (prefers-reduced-motion:reduce){.pp-wave-ring.run{animation:none;transform:scale(.9)}}.pp-activity{margin:0 -8px}.pp-activity .phone-body{padding:8px 8px 4px}.pp-activity .btn.primary,.pp-relax .btn.primary{font-size:16px}.pp-skip{text-align:center;margin:10px 0 0}.pp-linkbtn{font:inherit;color:var(--color-primary,#4981f7);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.pp-de-context{color:var(--color-text-muted,#5b6b76);font-size:15px;line-height:1.4}.pp-tc-thought{border-left:4px solid var(--color-primary,#4981f7);white-space:pre-wrap;background:#4981f714;border-radius:0 10px 10px 0;margin:6px 0 16px;padding:10px 14px;font-size:18px;line-height:1.45}.pp-tc-patterns{flex-direction:column;gap:8px;margin:6px 0 16px;padding:0;font-size:16px;line-height:1.4;list-style:none;display:flex}.pp-tc-patterns li{background:#4981f71a;border-radius:10px;padding:8px 12px}.pp-tc-analysis{margin-bottom:14px;font-size:17px;line-height:1.55}.pp-tc-analysis h3{margin:18px 0 6px;font-size:19px}.pp-tc-analysis h4{margin:14px 0 4px;font-size:17px}.pp-tc-analysis p{margin:0 0 10px}.pp-tc-analysis ul,.pp-tc-analysis ol{margin:0 0 10px;padding-left:22px}.pp-tc-analysis li{margin-bottom:6px}.pp-tc-wait{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:18px 0;display:flex}.pp-chat-intro{margin:0 0 10px}.pp-chat-msgs{flex-direction:column;gap:10px;max-height:60vh;padding:4px 2px;display:flex;overflow-y:auto}.pp-chat-msg{white-space:pre-wrap;word-break:break-word;border-radius:16px;max-width:88%;padding:12px 14px;font-size:17px;line-height:1.5}.pp-chat-msg.ai{background:#4981f71a;border-bottom-left-radius:4px;align-self:flex-start}.pp-chat-msg.me{background:var(--color-primary,#4981f7);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.pp-chat-typing{gap:6px;padding:14px 16px;display:flex}.pp-chat-typing span{background:var(--color-primary,#4981f7);opacity:.6;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pp-boot-pulse}.pp-chat-typing span:nth-child(2){animation-delay:.15s}.pp-chat-typing span:nth-child(3){animation-delay:.3s}.pp-chat-input{flex-direction:column;gap:8px;margin-top:12px;display:flex}.pp-chat-input .pp-text{margin-top:0}.pp-relax h2{margin:6px 0 4px}.pp-relax-toggles{flex-wrap:wrap;gap:10px 22px;margin:10px 0 4px;font-size:16px;display:flex}.pp-relax-toggles label{align-items:center;gap:8px;display:flex}.pp-relax-toggles input{width:18px;height:18px}.pp-relax-options{gap:10px;margin-top:12px;display:grid}.pp-relax-option{text-align:left}.pp-relax-step{text-align:center;background:var(--color-surface,#fff);border:1px solid var(--color-border,#0000001a);border-radius:20px;place-items:center;min-height:150px;margin:10px 0;padding:26px 18px;font-size:20px;line-height:1.5;animation:.9s both ppFade;display:grid}@keyframes ppFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pp-relax-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.pp-error{color:var(--color-error,#c0392b);margin:8px 0 0;font-size:15px}.swipe-cues{justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:15px;font-weight:700;display:flex}.emoji-goal{flex-direction:column;align-items:center;gap:6px;display:flex}.emoji-goal-label{font-size:14px;font-weight:700}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--dark-text);background:var(--light-bg);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.5;overflow-x:hidden}a{color:var(--primary)}button{font:inherit;cursor:pointer;color:inherit}input{font:inherit}h1,h2,h3{color:var(--dark-text);letter-spacing:-.01em;margin:0}h2{margin:2px 0 6px;font-size:21px;line-height:1.3}p{margin:6px 0}img{max-width:100%}:focus-visible{outline-offset:2px;outline:3px solid #558cee73}.app{flex-direction:column;min-height:100dvh;display:flex}.top{z-index:50;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#fffffff5;align-items:center;gap:12px;display:flex;position:sticky;top:0}.top-brand{align-items:center;display:flex}.logo{width:auto;height:30px;display:block}.sos-link{color:#b4372f;border-radius:var(--radius-pill);white-space:nowrap;background:#fdeeec;align-items:center;gap:5px;margin-left:auto;padding:6px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.sos-link:hover{background:#fadbd7}.tabs{gap:4px;display:flex}.tab{border-radius:var(--radius-pill);color:var(--color-text-secondary);align-items:center;gap:6px;padding:8px 14px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.tab:hover{color:var(--primary)}.tab.active{background:var(--color-primary-light);color:var(--primary);font-weight:600}@media (width<=720px){.with-tabs .tabs{z-index:60;padding:6px 8px;padding-bottom:max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffffa;justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.with-tabs .tab{border-radius:12px;flex-direction:column;flex:1;justify-content:center;gap:2px;padding:6px 12px;font-size:12px}.with-tabs .tab.active{background:0 0}.with-tabs .foot{padding-bottom:96px}.with-tabs .top{-webkit-backdrop-filter:none;background:#fff}}.main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 28px}.public .main{max-width:1040px}.foot{text-align:center;color:var(--color-text-muted);padding:18px 16px 28px;font-size:13px}.foot p{margin:4px 0}.foot a{color:var(--color-text-secondary)}.gta-bar{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#ebf2fe,#e7f7f0)}.gta-toggle{text-align:left;width:100%;max-width:640px;color:var(--dark-text);background:0 0;border:0;align-items:center;gap:8px;margin:0 auto;padding:9px 16px;font-size:14px;font-weight:600;display:flex}.gta-hint{color:var(--primary);align-items:center;margin-left:auto;display:inline-flex}.gta-bar .gta-panel{max-width:640px;margin:0 auto;padding:4px 16px 16px}.gta-panel{flex-direction:column;gap:6px;display:flex}.gta-panel.desktop{flex-direction:row;align-items:center;gap:20px}@media (width<=520px){.gta-panel.desktop{flex-direction:column;align-items:flex-start}}.gta-text{color:var(--color-text-secondary);margin:2px 0;font-size:15px}.gta-open{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex!important}.gta-qr{flex-shrink:0;display:block}.qr-box{border:1px solid var(--border);background:#fff;border-radius:12px;padding:6px;display:block}.gta-side{flex-direction:column;gap:4px;display:flex}.store-links{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.store-btn{color:#fff;background:#111;border-radius:10px;flex-direction:column;justify-content:center;min-width:132px;padding:7px 14px;font-size:15px;font-weight:600;line-height:1.1;text-decoration:none;display:inline-flex}.store-btn:hover{background:#2a2a2a}.store-small{opacity:.85;font-size:10.5px;font-weight:400}.store-links.compact .store-btn{min-width:120px;padding:6px 12px;font-size:14px}.pp-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:18px}.pp-today,.pp-player{border-color:var(--border)}.pp-label{letter-spacing:.06em;color:var(--color-text-muted);font-size:12.5px;font-weight:600}.pp-muted{font-size:16px}.pp-btn{border-radius:var(--radius-pill);background:var(--primary);transition:transform .16s var(--ease), box-shadow .16s ease;text-align:center;padding:14px 22px;font-size:17px;text-decoration:none}.pp-btn:hover:not(:disabled){box-shadow:var(--shadow-button)}.pp-btn:active:not(:disabled){transform:scale(.98)}.pp-btn.small{padding:9px 16px;font-size:15px}.pp-btn.ghost{color:var(--primary);background:0 0;border:1.5px solid #c9d9f8}.pp-btn.ghost:hover:not(:disabled){box-shadow:none;border-color:var(--primary)}.pp-btn.wide{width:100%}.pp-tip{padding:4px 0}.pp-tip h2{margin-bottom:4px}.pp-opt{font-size:16px}.pp-bar>div{background:var(--accent)}.pp-bar{background:#e3eaf5;height:10px}.pp-boot-dots span{background:var(--primary)}.pp-wave-ring{background:#54c79b24}.pp-wave-core{background:radial-gradient(circle,#54c79bf2,#54c79b8c);box-shadow:0 0 40px #54c79b59}.pp-loading-line{text-align:center;padding:30px 0}.center{text-align:center}.crumbs{margin:0 0 8px;font-size:15px}.crumbs a{font-weight:600;text-decoration:none}.toast{color:#1e7a50;background:#e7f7f0;border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:15px;font-weight:600;animation:.26s both fadeUp}.mock-note{color:#7a5c00;background:#fff8e1;border:1px dashed #e2c04a;border-radius:10px;margin:12px 0 0;padding:8px 10px;font-size:13px}.loading{flex-direction:column;align-items:center;gap:14px;padding:60px 0;display:flex}.day-title{font-family:var(--font-serif);letter-spacing:-.015em;margin:6px 0 2px;font-size:27px;font-weight:500;line-height:1.2}.day-meta{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:14px;display:inline-flex}.done-count{margin:6px 0 0}.pp-step{border-color:var(--border)}.pp-step-num{background:color-mix(in srgb, var(--step) 14%, white);color:var(--step)}.pp-step.next .pp-step-num{background:var(--step);color:#fff}.pp-step.done .pp-step-num{color:#1e7a50;background:#e7f7f0}.step-type{color:var(--step);font-weight:600}.pp-step.done .step-type{color:inherit;font-weight:400}.pp-step .pp-btn.small{min-width:76px}.day-grid{grid-template-columns:1fr;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}@media (width>=560px){.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.day-grid>li{min-width:0}.day-cell{border:1px solid var(--border);min-width:0;color:inherit;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}a.day-cell:hover{border-color:var(--primary)}.day-cell-n{background:var(--color-primary-light);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;display:grid}.day-cell.done .day-cell-n{color:#1e7a50;background:#e7f7f0}.day-cell.now{border-color:var(--primary);box-shadow:0 0 0 2px #558cee26}.day-cell.now .day-cell-n{background:var(--primary);color:#fff}.day-cell.locked{opacity:.6}.day-cell.locked .day-cell-n{color:var(--color-text-muted);background:#eef0f3}.day-cell-body{flex-direction:column;min-width:0;display:flex}.day-cell-body .pp-small{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.mod-list{flex-direction:column;gap:8px;margin:12px 0 4px;padding:0;list-style:none;display:flex}.mod-card{border:1px solid var(--border);color:inherit;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:8px;text-decoration:none;display:flex}.mod-card:hover{border-color:var(--primary)}.mod-card img,.mod-ph{object-fit:cover;background:var(--color-primary-light);border-radius:10px;flex-shrink:0;width:56px;height:56px}.mod-body{flex-direction:column;flex:1;min-width:0;display:flex}.mod-body .pp-small{margin:0}.mod-tag{white-space:nowrap;border-radius:var(--radius-pill);color:#6a4cc2;background:#f3eefd;align-items:center;gap:4px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.mod-tag.app{color:#1e7a50;background:#e7f7f0}.done-card{text-align:left}.pp-player{padding:16px}.pp-player-title{font-size:19px}.pp-arena{min-height:460px}@media (width<=420px){.pp-player{margin-left:-4px;margin-right:-4px;padding:12px}.pp-arena .phone-body{padding:14px 12px 20px}.pp-tip-text{font-size:18px}}.pp-quiz{flex-direction:column;gap:12px;display:flex}.pp-quiz-item{background:var(--light-bg);text-align:center;border-radius:16px;place-items:center;min-height:110px;padding:20px 16px;font-size:20px;font-weight:600;line-height:1.4;animation:.24s both fadeUp;display:grid}.pp-quiz-opts{flex-direction:column;gap:8px;display:flex}.pp-quiz-opts .pp-opt{text-align:left;background:#fff;border-radius:14px;padding:13px 16px;font-weight:500}.pp-quiz-opts .pp-opt:hover{border-color:var(--primary)}.pp-quiz-foot{justify-content:space-between;align-items:center;display:flex}.auth-card{border:1px solid var(--border);max-width:440px;box-shadow:var(--shadow-md);background:#fff;border-radius:20px;flex-direction:column;gap:12px;margin:8px auto;padding:22px 20px;display:flex}.auth-title{font-family:var(--font-serif);font-size:28px;font-weight:500;line-height:1.2}.auth-title.small{font-family:var(--font);font-size:19px;font-weight:700}.auth-lead{color:var(--color-text-secondary);margin:0;font-size:16px}.auth-note{background:var(--color-primary-light);color:#2a4f93;border-radius:12px;margin:0;padding:10px 12px;font-size:15px}.auth-alt{text-align:center;margin:2px 0 0;font-size:15px}.auth-alt a{font-weight:600;text-decoration:none}.auth-hint{text-align:center;margin:0}.big-icon{font-size:44px;line-height:1}.legal{color:var(--color-text-muted);text-align:center;margin:0;font-size:12.5px}.legal a{color:inherit}.field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.field input{border:1.5px solid var(--border);width:100%;color:var(--dark-text);background:#fff;border-radius:12px;padding:13px 14px;font-size:17px;font-weight:400}.field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #558cee2e}.pw-wrap{display:block;position:relative}.pw-wrap input{padding-right:70px}.pw-toggle{color:var(--primary);background:0 0;border:0;padding:6px;font-size:14px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-card .pp-btn{margin-top:4px}.auth-card .pp-error{margin:0}.start{grid-template-columns:1fr;gap:18px;padding-top:4px;display:grid}.start-hero{padding:6px 2px 0}.start-title{font-family:var(--font-serif);letter-spacing:-.02em;margin:6px 0 10px;font-size:36px;font-weight:500;line-height:1.12}.start-title em{color:var(--primary);font-style:italic}.start-lead{color:var(--color-text-secondary);margin:0 0 12px;font-size:18px}.start-points{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.start-points li{padding-left:30px;font-size:16px;position:relative}.start-points li:before{content:"✓";color:#1e7a50;background:#e7f7f0;border-radius:50%;place-items:center;width:21px;height:21px;font-size:12px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.start-app{text-align:center}.start-app .store-links{justify-content:center}.start .auth-card{width:100%;margin:0 auto}@media (width>=900px){.start{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;padding-top:40px}.start-title{font-size:52px}.start-app{grid-column:1/-1}}.plan-badge{border-radius:var(--radius-pill);color:var(--color-text-secondary);background:#eef0f3;padding:3px 10px;font-size:12.5px;font-weight:700;display:inline-block}.plan-badge.premium{color:#5b3fc4;background:linear-gradient(90deg,#f3eefd,#ebf2fe)}.acct{gap:10px;margin:8px 0 12px;display:grid}.acct div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.acct dt{color:var(--color-text-muted);font-size:15px}.acct dd{overflow-wrap:anywhere;text-align:right;margin:0;font-weight:600}.acct-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.vas-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.vas-btn{cursor:pointer;background:#fff;border:1px solid #d9dde3;border-radius:12px;min-width:40px;padding:10px 0;font-weight:600}.vas-btn.on{border-color:var(--primary);background:var(--primary);color:#fff}.vas-labels{justify-content:space-between;gap:12px;display:flex}.checkin-result{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.sev-badge{letter-spacing:.05em;border-radius:var(--radius-pill);padding:6px 16px;font-size:14px;font-weight:700;display:inline-block}.checkin-score b{font-size:48px;font-weight:700}.checkin-score span{opacity:.4;margin-left:4px;font-size:20px;font-weight:500}.subscales{text-align:left;flex-direction:column;gap:12px;width:100%;display:flex}.subscale-head{justify-content:space-between;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.subscale-bar{background:#eef0f3;border-radius:3px;height:6px;overflow:hidden}.subscale-bar span{border-radius:3px;height:100%;display:block}.checkin-msg{margin:0;font-size:14px;font-weight:500}.fb-box{text-align:left;background:#0000000a;border-radius:14px;width:100%}.fb-toggle{cursor:pointer;background:0 0;border:0;justify-content:space-between;width:100%;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.fb-body{flex-direction:column;gap:14px;padding:0 18px 16px;display:flex}.fb-list{margin:4px 0 0;padding-left:18px;font-size:14px}.google-btn{justify-content:center;min-height:44px;display:flex}.auth-or{color:var(--color-text-muted);align-items:center;gap:12px;margin:2px 0;font-size:13px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--color-border,#e3e6ee);flex:1;height:1px}.pp-video-frame{background:#000;border-radius:14px;justify-content:center;width:100%;margin:8px 0 14px;display:flex;overflow:hidden}.pp-video{background:#000;width:100%;max-height:min(70vh,620px);display:block}.pp-video-step .pp-btn{width:100%}.pp-player{position:relative}.pp-player-actions{align-items:center;gap:6px;display:flex}.pp-howto-title{margin:4px 0 6px;font-size:18px;display:block}.pp-howto-cue{justify-content:space-between;gap:12px;margin:4px 0 12px;font-size:15px;font-weight:700;display:flex}.pp-howto-cue .neg{color:var(--color-error)}.pp-howto-cue .pos{color:var(--color-success)}.pp-howto .pp-btn{width:100%}.pp-howto-sheet{z-index:20;background:var(--color-surface);border-radius:inherit;padding:16px;position:absolute;inset:0;overflow:auto}.howto-short{font-weight:700;display:none}@media (width<=480px){.howto-long{display:none}.howto-short{display:inline}}@media (width>=900px){.main:has(.progress-page){max-width:1080px}}.progress-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.progress-head .pp-btn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.progress-h2{margin:0 0 12px;font-size:18px}.stat-row{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.stat{background:var(--color-surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:2px;padding:12px;display:flex}.stat b{font-size:26px;line-height:1.1}.stat b small{color:var(--color-text-muted);font-size:15px;font-weight:600}.stat span{color:var(--color-text-muted);font-size:13px}.progress-grid{grid-template-columns:1fr;gap:0 14px;display:grid}@media (width>=900px){.progress-grid{grid-template-columns:1.4fr 1fr;align-items:start}.progress-scores{grid-row:span 3}}@media (width<=520px){.stat-row{grid-template-columns:repeat(2,1fr)}}.score-block+.score-block{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.score-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.score-now{font-size:24px;font-weight:700}.score-now small{color:var(--color-text-muted);font-size:14px}.score-chart{width:100%;height:auto;margin:8px 0 4px;display:block}.score-chart .grid{stroke:var(--border);stroke-width:1px}.score-chart .threshold{stroke:#f5a623;stroke-width:1.5px;stroke-dasharray:5 4}.score-chart .axis{fill:var(--color-text-muted);font-size:15px}.score-chart .threshold-label{fill:#b7791f}.score-chart .line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linejoin:round}.score-chart .dot{fill:var(--color-surface);stroke:var(--primary);stroke-width:2.5px}.score-chart .dot.last{fill:var(--primary)}.score-change{margin:4px 0 0;font-size:15px}.score-change.good{color:var(--color-success)}.activity-grid{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;justify-content:start;gap:4px;display:grid}.activity-grid .cell{background:#e6eaf2;border-radius:4px;width:16px;height:16px}.activity-grid .cell.on{background:var(--color-success)}.activity-grid .cell.future{background:0 0}.activity-legend{color:var(--color-text-muted);justify-content:space-between;max-width:160px;margin-top:6px;font-size:12px;display:flex}.mod-progress+.mod-progress{margin-top:12px}.mod-progress-head{justify-content:space-between;font-weight:600;display:flex}.mod-progress .bar{background:#e6eaf2;border-radius:99px;height:8px;margin:6px 0 4px;overflow:hidden}.mod-progress .bar span{background:var(--color-success);border-radius:99px;height:100%;display:block}.progress-share .pp-btn{text-decoration:none;display:inline-block}.summary-actions{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.summary-actions .pp-btn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.summary-sheet{color:#111;border:1px solid var(--border);background:#fff;border-radius:12px;max-width:800px;margin:10px auto;padding:28px}.summary-head{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:10px;display:flex}.summary-head h1{margin:0 0 4px;font-size:22px}.summary-head p{color:#555;margin:0;font-size:14px}.summary-sheet h2{margin:18px 0 8px;font-size:17px}.summary-sheet h3{margin:12px 0 4px;font-size:15px}.summary-sheet h3 small{color:#555;font-weight:400}.summary-table{border-collapse:collapse;width:100%;font-size:14px}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid #e3e3e3;padding:6px 8px}.summary-table th{width:45%;font-weight:600}.summary-foot{color:#555;border-top:1px solid #ccc;margin-top:22px;padding-top:10px;font-size:12px}@media print{.top,.tabs,.foot,.no-print,.gta-bar{display:none!important}body,.app,.main{background:#fff!important;margin:0!important;padding:0!important}.summary-sheet{border:0;max-width:none;padding:0}.summary-topic{break-inside:avoid}}
