:root{--bg: #f8f9f5;--bg-card: #ffffff;--bg-soft: #eef1e9;--primary: #315d4e;--primary-strong: #234637;--primary-soft: #e8eee5;--accent: #2a9d8f;--accent-soft: #e2f3f1;--text: #253c33;--text-secondary: #69746c;--text-faint: #7a827b;--border: #e1e6dd;--danger: #c0392b;--danger-soft: #fdecea;--success: #1e8e5a;--success-soft: #e5f5ec;--warning-soft: #fff6e0;--radius: 14px;--radius-sm: 9px;--shadow: 0 3px 16px rgba(35, 60, 44, .025);--shadow-lift: 0 6px 24px rgba(80, 60, 40, .12);--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.app-shell{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:40px 32px 96px}.topbar{position:sticky;top:0;z-index:20;background:#f8f9f5eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1120px;margin:0 auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:18px;font-weight:700;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px}.brand-mark{width:36px;height:36px;border-radius:9px;background:var(--primary);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800}.topnav{display:flex;gap:4px}.topnav a{padding:7px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:14px;transition:background .15s,color .15s}.topnav a:hover{background:var(--bg-soft);color:var(--text)}.topnav a.active{background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.topbar-right{display:flex;align-items:center;gap:12px}.key-button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--bg-card);border-radius:999px;padding:6px 13px;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.key-button:hover{border-color:var(--primary);color:var(--primary-strong)}.key-button.key-set{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.dialog-overlay{position:fixed;inset:0;background:#1e2c266b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.dialog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lift);width:100%;max-width:420px;padding:22px 24px}.dialog-title{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.dialog-close{border:none;background:none;font-size:24px;line-height:1;color:var(--text-faint);cursor:pointer;padding:2px 6px;border-radius:6px}.dialog-close:hover{background:var(--bg-soft);color:var(--text)}.dialog-desc{font-size:13px;color:var(--text-secondary);line-height:1.8;margin:12px 0 14px}.dialog-input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:14px;letter-spacing:.5px}.dialog-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #315d4e26}.dialog-error{color:var(--danger);font-size:12.5px;margin:8px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.dialog-hint{font-size:12px;color:var(--text-faint);line-height:1.7;margin:14px 0 0;border-top:1px dashed var(--border);padding-top:12px}.dialog-ok{text-align:center;color:var(--success);font-weight:600;margin:24px 0}.key-notice{background:var(--warning-soft);border:1px solid #f0dfae;border-radius:var(--radius);padding:14px 18px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.key-notice p{margin:0;font-size:13.5px;line-height:1.7}.page-title{font-size:26px;font-weight:800;margin:8px 0 4px;letter-spacing:.5px}.page-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:15px}.section-title{font-size:16px;font-weight:700;margin:28px 0 12px;display:flex;align-items:center;gap:8px}.section-title .badge{font-size:12px;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card+.card{margin-top:14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.scenario-card{text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;font:inherit;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:6px}.scenario-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--primary)}.scenario-card.selected{border-color:var(--primary);background:var(--primary-soft)}.scenario-card h3{margin:0;font-size:16px;font-weight:700}.scenario-card p{margin:0;font-size:13.5px;color:var(--text-secondary)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.mode-grid{grid-template-columns:1fr}}.mode-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);padding:26px 22px;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}.mode-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.mode-card .mode-icon{font-size:30px;margin-bottom:10px}.mode-card h2{margin:0 0 6px;font-size:19px;font-weight:800}.mode-card p{margin:0;font-size:14px;color:var(--text-secondary)}.mode-card.mode-impromptu:hover{border-color:var(--primary)}.mode-card.mode-structured:hover{border-color:var(--accent)}.mode-card.mode-simulate{grid-column:1 / -1}.mode-card.mode-simulate:hover{border-color:var(--primary)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.7}.badge-work{background:var(--primary-soft);color:var(--primary-strong)}.badge-daily{background:var(--accent-soft);color:var(--accent)}.badge-neutral{background:var(--bg-soft);color:var(--text-secondary)}.badge-ai{background:#ece7fb;color:#6a4fc2}.badge-lexicon{background:var(--warning-soft);color:#a2701c}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-secondary{background:var(--bg-card);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.btn-danger-ghost{background:transparent;color:var(--danger);border-color:transparent}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{padding:6px 14px;font-size:13.5px}.btn-lg{padding:14px 30px;font-size:16.5px;border-radius:var(--radius)}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}textarea,input[type=text],select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:15px;color:var(--text);background:var(--bg-card);transition:border-color .15s,box-shadow .15s}textarea:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #315d4e26}textarea{min-height:180px;resize:vertical;line-height:1.7}.field-label{display:block;font-size:13.5px;font-weight:600;color:var(--text-secondary);margin:14px 0 6px}.segmented{display:inline-flex;background:var(--bg-soft);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{border:none;background:transparent;padding:7px 16px;border-radius:7px;font:inherit;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.segmented button.active{background:var(--bg-card);color:var(--primary-strong);box-shadow:0 1px 4px #503c281f}.timer{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;letter-spacing:1px}.timer.warning{color:var(--primary-strong)}.timer.danger{color:var(--danger);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.mic-button{width:76px;height:76px;border-radius:50%;border:none;background:var(--primary);color:#fff;font-size:30px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lift);transition:transform .15s,background .15s}.mic-button:hover{background:var(--primary-strong)}.mic-button.recording{background:var(--danger);animation:pulse 1.4s infinite}.feedback-dimension{padding:14px 0;border-bottom:1px dashed var(--border)}.feedback-dimension:last-child{border-bottom:none}.feedback-dimension h4{margin:0 0 6px;font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px}.feedback-dimension p{margin:0;font-size:14.5px;color:var(--text-secondary);white-space:pre-wrap}.confirm-card{background:var(--warning-soft);border:1px solid #f0dfae;border-radius:var(--radius);padding:16px 18px;margin-top:14px}.confirm-card h4{margin:0 0 4px;font-size:15px}.confirm-card p{margin:0 0 12px;font-size:13.5px;color:var(--text-secondary)}.history-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}.history-item:hover{border-color:var(--primary);box-shadow:var(--shadow)}.history-item+.history-item{margin-top:10px}.history-item .meta{font-size:12.5px;color:var(--text-faint);margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.history-item .snippet{font-size:14px;color:var(--text-secondary);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state{text-align:center;padding:48px 20px;color:var(--text-secondary)}.empty-state .icon{font-size:40px;margin-bottom:10px}.empty-state p{margin:4px 0}.notice{border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;margin:12px 0}.notice-info{background:var(--accent-soft);color:#1d6f66}.notice-warn{background:var(--warning-soft);color:#8a6414}.notice-error{background:var(--danger-soft);color:var(--danger)}.framework-hint{background:var(--accent-soft);border-radius:var(--radius);padding:14px 18px;color:#1d6f66}.framework-hint strong{display:block;font-size:13px;letter-spacing:.02em}.framework-hint p{margin:8px 0 0;font-size:14.5px;line-height:1.7;color:var(--text)}.warmup-card{background:var(--bg-card);border:2px solid var(--accent);border-radius:var(--radius);padding:22px 22px 18px}.warmup-card strong{display:block;font-size:18px;font-weight:800}.warmup-card p{margin:10px 0 0;color:var(--text-secondary);font-size:15px;line-height:1.7}.followup-list{margin:0;padding-left:1.25em}.followup-list li{margin:8px 0;font-size:16px;font-weight:650;line-height:1.55}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid.persona-grid{grid-template-columns:1fr 1fr 1fr}@media(max-width:640px){.choice-grid,.choice-grid.persona-grid{grid-template-columns:1fr}}.choice-card{border:2px solid var(--border);border-radius:var(--radius);padding:12px 14px;background:var(--bg-card);cursor:pointer;text-align:left;font:inherit;color:inherit}.choice-card strong{display:block}.choice-card .hint{font-size:12.5px;color:var(--text-secondary);margin-top:4px}.choice-card.active{border-color:var(--primary);background:var(--primary-soft)}.check-label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-secondary);cursor:pointer}.saved-material{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.saved-material:first-of-type{border-top:none;padding-top:0}.in-character-bar{background:var(--warning-soft);color:#8a6414;border-radius:var(--radius);padding:10px 14px;font-size:13.5px;font-weight:650}.dim-chips{display:flex;flex-wrap:wrap;gap:8px}.dim-chip{background:var(--accent-soft);color:#1d6f66;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:650}.sim-thread{display:flex;flex-direction:column;gap:12px}.sim-bubble{max-width:92%;padding:12px 16px;border-radius:16px;white-space:pre-wrap;line-height:1.65}.sim-bubble.ai{align-self:flex-start;background:var(--bg-soft)}.sim-bubble.user{align-self:flex-end;background:var(--accent-soft)}.sim-thread~.card textarea{min-height:96px}.sim-thread~.card textarea.sim-speech{min-height:180px}.compare-card{background:var(--accent-soft);border-radius:var(--radius);padding:18px 20px}.compare-card .section-title{color:#1d6f66}.compare-card p{margin:8px 0 0;color:var(--text);line-height:1.7}.loading{display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14.5px}.spinner{width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"·"}50%{content:"··"}75%{content:"···"}}.material-block{background:linear-gradient(180deg,#fdfbf7,#f7f1e8);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;font-size:15.5px;line-height:2;white-space:pre-wrap}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:#f8f9f5f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;gap:10px;flex-wrap:wrap;z-index:15}.dialog-overlay{position:fixed;inset:0;background:#2b262273;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.dialog{background:var(--bg-card);border-radius:var(--radius);padding:24px;max-width:420px;width:100%;box-shadow:var(--shadow-lift);max-height:85vh;overflow-y:auto}.dialog h3{margin:0 0 8px;font-size:17px}.dialog p{font-size:14px;color:var(--text-secondary);margin:6px 0}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-chip{border:1px solid var(--border);background:var(--bg-card);border-radius:999px;padding:6px 16px;font:inherit;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.filter-chip:hover{border-color:var(--primary);color:var(--primary-strong)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.kbd-hint{font-size:12.5px;color:var(--text-faint);white-space:nowrap;align-self:center}.muted{color:var(--text-faint);font-size:13px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.tag-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-soft);border-radius:999px;padding:3px 12px;font-size:13px;color:var(--text-secondary)}.tag-chip-link{border:1px solid transparent;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.tag-chip-link:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.tag-chip-link:active{transform:scale(.97)}.card-highlight{border-color:var(--primary);box-shadow:0 0 0 3px #315d4e2e,var(--shadow);animation:highlight-fade 1.8s ease-out forwards}@keyframes highlight-fade{0%,40%{background:var(--primary-soft)}to{background:var(--bg-card)}}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:14px;margin-bottom:14px}.back-link:hover{color:var(--primary-strong)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #8aaa7c;outline-offset:4px}button.back-link{border:0;background:none;padding:0;font-family:inherit;cursor:pointer}.topbar{background:#f8f9f5f0}.brand{letter-spacing:.5px;gap:11px}.topnav{gap:16px}.topnav a{font-size:13px;padding:8px 16px;border-radius:7px}.page-title{font-size:30px;letter-spacing:-.5px;margin-bottom:10px}.page-subtitle{line-height:1.9}.card{padding:24px}.scenario-card{padding:24px;min-height:140px;gap:12px}.scenario-card h3{font-size:18px}.choice-card{border-width:1px;padding:18px}.choice-card.active{box-shadow:inset 0 0 0 1px var(--primary)}.empty-state{border:1px dashed var(--border);border-radius:16px;background:#fff;margin-top:24px;padding:60px 24px}.home-hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:350px;align-items:center;padding:10px 0 34px;gap:24px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:600;color:#74816f;display:flex;align-items:center;gap:8px}.status-dot{height:6px;width:6px;border-radius:50%;background:#759466}.hero-copy h1{font-size:clamp(32px,3.5vw,44px);line-height:1.5;letter-spacing:-1.2px;font-weight:650;margin:16px 0 13px}.hero-copy h1 span{color:#648157}.hero-copy>p{font-size:14px;color:var(--text-secondary);line-height:1.95;margin:0 0 23px}.hero-cta{padding:13px 23px;font-size:14px;gap:26px;box-shadow:0 5px 12px #315d4e12}.hero-note{font-size:11px;color:#7a827b;margin-top:13px}.hero-note span{margin:0 9px}@media(max-width:600px){.desktop-break{display:none}}.hero-art{position:relative;height:320px;background:radial-gradient(ellipse at center,#e7edda 0%,transparent 69%)}.art-orbit{position:absolute;border:1px solid #dce4d6;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-20deg)}.orbit-one{width:330px;height:250px}.orbit-two{width:390px;height:290px;transform:translate(-50%,-50%) rotate(-30deg);border-style:dashed;opacity:.65}.thought-bubble{position:absolute;left:27px;top:36px;background:#fffef9;border:1px solid #e3e7da;border-radius:18px 18px 4px;padding:15px 23px;transform:rotate(-7deg);font-size:14px;color:#84907d;box-shadow:0 8px 22px #29422f06}.voice-bubble{position:absolute;left:25%;top:92px;width:226px;height:138px;border-radius:32px 32px 32px 6px;background:#315d4e;transform:rotate(-7deg);box-shadow:9px 14px #dfe7d6,0 20px 36px #2d513c12;display:grid;place-items:center}.voice-bars{display:flex;gap:7px;align-items:center}.voice-bars i{display:block;width:5px;max-height:68px;border-radius:9px;background:#d7e8b1}.idea-bubble{position:absolute;right:8px;bottom:44px;display:flex;align-items:center;gap:12px;background:#f6edd7;padding:15px 21px;border:1px solid #e6dcc3;border-radius:14px;transform:rotate(5deg);font-size:12px;color:#7d7956}.art-spark{position:absolute;color:#9bb57b;font-size:44px;line-height:1}.spark-one{right:42px;top:37px}.spark-two{left:28px;bottom:66px;font-size:30px;color:#c5ad79}.art-caption{position:absolute;bottom:4px;text-align:center;width:100%;font-size:8px;letter-spacing:2.2px;color:#8b9583}.training-section{margin-top:26px}.training-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.training-heading h2{font-size:24px;font-weight:650;margin:5px 0 0;letter-spacing:-.5px}.training-heading>span{font-size:12px;color:#7b847b;padding-bottom:4px}.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.training-card{position:relative;text-align:left;font:inherit;color:inherit;cursor:pointer;background:#fff;border:1px solid var(--border);border-radius:15px;padding:25px 24px 19px;transition:box-shadow .2s,border-color .2s}.training-card:hover{border-color:#94ac8c;box-shadow:0 12px 26px #304c3010}.training-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.training-icon{width:51px;height:51px;border-radius:14px;display:grid;place-items:center;background:#edf2e6;color:#5b7549}.training-structured .training-icon{color:#ad8550;background:#faf0df}.training-simulate .training-icon{color:#7387a2;background:#ecf0f7}.training-tag{font-size:11px;border:1px solid #e6e9e0;border-radius:5px;padding:2px 8px;color:#75816d}.training-index{position:absolute;right:25px;top:104px;font-size:12px;font-family:Georgia,serif;color:#adb5a6}.training-card h3{font-size:21px;font-weight:650;margin:0 0 11px}.training-description{font-size:13px;margin:0 0 8px;color:#47594d}.training-detail{font-size:12px;line-height:1.9;color:#7b847b;margin:0;min-height:46px}.training-action{margin-top:25px;border-top:1px solid #eef0e9;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600}.training-action>span{border-radius:50%;width:28px;height:28px;display:grid;place-items:center;background:#f4f6f0}.memory-panel{margin-top:25px;display:flex;gap:18px;align-items:center;padding:23px 25px;border:1px solid #e2e7d9;background:#eff2e9;border-radius:13px}.memory-icon{color:#738562;display:flex}.memory-panel h2{font-size:15px;font-weight:600;margin:0 0 4px}.memory-panel p{font-size:12px;color:#7a8272;margin:0}.memory-panel .btn{margin-left:auto;white-space:nowrap;font-size:12px;padding:8px 0 8px 15px;gap:17px}.home-footer{display:flex;justify-content:space-between;margin-top:26px;font-size:10px;color:#8b9387;letter-spacing:.5px}.practice-progress{margin-top:25px;padding:22px 25px;border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff}.practice-progress>div>strong{font-size:15px}.practice-progress p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.progress-numbers{display:flex;gap:38px}.progress-numbers>div{display:flex;flex-direction:column;text-align:center}.progress-numbers strong{font-size:23px;font-weight:600}.progress-numbers span{font-size:11px;color:var(--text-secondary)}.recent-practice{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}.recent-practice>span{font-size:12px;color:var(--text-secondary);margin-right:5px}@media(max-width:800px){.app-shell{padding:28px 24px 80px}.topbar-inner{padding:16px 24px}.home-hero{grid-template-columns:1.2fr 1fr;gap:0}.hero-art{transform:scale(.8);transform-origin:center}.hero-copy h1{font-size:33px}.training-grid{gap:12px}.training-card{padding:20px 17px 15px}.training-description{min-height:42px}.training-detail{min-height:68px}.training-index{right:16px;top:100px}}@media(max-width:600px){.app-shell{padding:26px 20px 76px}.topbar-inner{padding:14px 20px;flex-wrap:wrap;gap:16px}.brand{font-size:17px}.topnav{width:100%;justify-content:space-between;gap:5px}.topnav a{text-align:center;flex:1;padding:7px 8px;font-size:12px}.home-hero{display:flex;flex-direction:column;align-items:stretch;padding-bottom:0}.hero-copy h1{font-size:35px}.hero-copy>p{font-size:13px}.hero-art{height:265px;width:330px;max-width:100%;align-self:center;transform:scale(.9);margin-top:10px}.voice-bubble{top:70px;left:19%;width:210px;height:125px}.thought-bubble{top:12px;left:0}.idea-bubble{bottom:27px;right:-5px}.spark-one{right:5px;top:20px}.orbit-one{width:280px;height:205px}.orbit-two{width:325px;height:240px}.art-caption{bottom:-4px}.training-section{margin-top:22px}.training-heading{margin-bottom:16px}.training-heading h2{font-size:23px}.training-heading>span{display:none}.training-grid{grid-template-columns:1fr;gap:14px}.training-card{padding:22px}.training-card-top{margin-bottom:16px}.training-index{top:91px;right:23px}.training-description,.training-detail{min-height:0}.training-action{margin-top:17px}.memory-panel{padding:20px;flex-wrap:wrap;gap:12px}.memory-panel>div{flex:1}.memory-panel .btn{margin-left:37px;padding-left:0}.memory-panel p{line-height:1.8}.home-footer{flex-direction:column;gap:5px}.practice-progress{flex-direction:column;align-items:stretch}.progress-numbers{justify-content:space-between;gap:12px}.page-title{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
