:root{color:#f8f7ff;background:#393946;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #393946;--panel: #18181f;--primary: #745cff;--yellow: #f6cf64;--pink: #ed78cc;--green: #49d391}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100vh;max-width:560px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.brand{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:var(--primary);font-weight:800;text-decoration:none}.local-badge{color:#d2d0df;font-size:13px}.page-content{padding:28px 22px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:var(--panel);box-shadow:0 20px 50px #00000029}h1{margin:0 0 14px;font-size:clamp(28px,8vw,38px);letter-spacing:-.04em}p{margin:0;color:#cbc9d6;line-height:1.65}h2{margin:0;font-size:20px;letter-spacing:-.025em}button,input,textarea,select{border:0}button{cursor:pointer}.workbench-intro{margin:10px 0 24px}.workbench-intro h1,.page-content h1,.plan-hero h1{margin:0 0 8px}.eyebrow{margin-bottom:7px;color:#aaa6c8;font-size:11px;font-weight:800;letter-spacing:.14em}.priority-card,.plan-hero{padding:23px;border-radius:24px;background:linear-gradient(135deg,#745cff,#5141c7);box-shadow:0 18px 42px #0e0c284d}.priority-card p,.plan-hero p{color:#fffc}.section-kicker,.plan-card-top,.section-title,.progress-label{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-kicker{margin-bottom:24px;color:#e9e5ff;font-size:12px;font-weight:800}.text-link{display:inline-block;margin-top:20px;color:#fff;font-weight:800;text-decoration:none}.new-plan-button{display:flex;min-height:62px;align-items:center;justify-content:center;margin:18px 0 30px;border-radius:19px;background:var(--yellow);color:#2d2922;font-size:18px;font-weight:900;text-decoration:none;box-shadow:0 10px 24px #f6cf6426}.plan-section{margin-top:4px}.section-title{margin-bottom:13px}.section-title span{color:#aaa6c8;font-size:13px}.plan-list{display:grid;gap:12px}.plan-card{display:block;padding:18px;border:1px solid rgba(255,255,255,.08);border-left:4px solid var(--plan-color);border-radius:18px;background:var(--panel);color:inherit;text-decoration:none}.plan-card h2{margin:12px 0 5px}.plan-card p{font-size:14px}.plan-duration,.status{font-size:12px}.status{color:var(--plan-color);font-weight:800}.status-paused{color:var(--yellow)}.status-archived{color:#aaa6c8}.empty-state{padding:20px;border-radius:18px;background:#18181f8c;text-align:center}.archived-link{display:block;margin:24px 0;color:#cbc9d6;text-align:center;font-size:14px}.progress-wrap{margin-top:18px}.progress-label{margin-bottom:8px;color:#d8d5e6;font-size:12px}.progress-track{height:7px;overflow:hidden;border-radius:999px;background:#ffffff26}.progress-fill{height:100%;border-radius:inherit;background:var(--plan-color, var(--green))}.back-link{color:#f5f3ff;font-weight:800;text-decoration:none}.page-lead{margin-bottom:22px}.template-card{padding:19px;border:1px solid rgba(116,92,255,.5);border-radius:20px;background:#745cff1c}.template-card h2{margin:11px 0 5px}.template-tag{color:var(--yellow);font-size:12px;font-weight:800}.primary-button{width:100%;min-height:50px;margin-top:18px;border-radius:14px;background:var(--primary);color:#fff;font-weight:900}.plain-button{width:100%;padding:13px;background:transparent;color:#ccc8da}.confirmation{margin-top:12px}.custom-toggle{display:flex;width:100%;justify-content:space-between;margin-top:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;text-align:left;font-weight:800}.custom-form,.day-editor{display:grid;gap:15px;padding-top:20px}.custom-form label,.day-editor label{display:grid;gap:7px;color:#dfdbe8;font-size:14px;font-weight:700}.custom-form input,.custom-form textarea,.custom-form select,.day-editor input,.day-editor textarea{width:100%;padding:13px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#24242d;color:#fff}.custom-form textarea,.day-editor textarea{min-height:76px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.custom-form fieldset{border:0;padding:0}.custom-form legend{margin-bottom:8px;color:#dfdbe8;font-size:14px;font-weight:700}.color-options{display:flex;gap:10px}.color-options button{width:28px;height:28px;border-radius:50%;outline:2px solid transparent;outline-offset:3px}.color-options button.selected{outline-color:#fff}.primary-button:disabled{cursor:not-allowed;opacity:.45}.plan-hero{margin-bottom:18px}.stages{display:grid;gap:16px}.stage-section{padding:19px;border-radius:20px;background:var(--panel)}.stage-section>p{margin-top:5px;color:#9b96ae;font-size:13px}.day-list{display:grid;gap:7px;margin-top:16px}.day-link{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:8px;min-height:49px;padding:10px;border-radius:11px;background:#25252e;color:#f6f4ff;font-size:14px;text-decoration:none}.day-number{color:#bdb7d1;font-size:12px}.day-link.completed{background:#49d3911f}.done-mark{color:var(--green);font-size:18px}.practice-hero{padding:23px;border-radius:24px;background:linear-gradient(135deg,#745cff,#5141c7)}.practice-hero p{color:#fffc}.practice-card,.recording-panel,.reflection-card,.video-library-head{margin-top:16px;padding:20px;border-radius:20px;background:var(--panel)}.practice-card h2,.recording-panel h2{margin-top:18px}.practice-card h2:first-child{margin-top:0}.practice-structure{margin-top:8px;color:var(--yellow);font-weight:700}.practice-script{margin-top:8px;white-space:pre-wrap}.timed-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.timed-blocks div{display:grid;gap:4px;min-height:70px;padding:14px;border-radius:15px;background:#18181fb3}.timed-blocks b{color:var(--green);font-size:15px}.timed-blocks span{color:#cbc9d6;font-size:13px}.camera-preview,.recorded-video,.video-item video{display:block;width:100%;margin:15px 0;border-radius:14px;background:#09090d;aspect-ratio:16 / 9;object-fit:cover}.secondary-button{width:100%;min-height:48px;border-radius:14px;background:var(--green);color:#102b1e;font-weight:900}.secondary-button:disabled{opacity:.55}.danger-button{min-height:48px;padding:0 18px;border-radius:14px;background:#d54f78;color:#fff;font-weight:900}.review-panel{margin-top:16px}.reflection-card label{display:grid;gap:5px;font-weight:800}.reflection-card label span{color:#aaa6c8;font-size:13px;font-weight:400}.reflection-card textarea{width:100%;min-height:100px;margin-top:12px;padding:13px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#24242d;color:#fff;resize:vertical}.form-error{margin-top:12px;color:#ff9cbd;font-size:14px}.video-library-head{margin-top:0}.video-list{display:grid;gap:14px;margin-top:16px}.video-item{padding:14px;border-radius:20px;background:var(--panel)}.video-item video{margin-top:0}.video-item h2{margin:4px 0}.video-item p{font-size:13px}.video-item .text-link{margin-top:12px;font-size:14px}.delete-link{display:block;margin-top:14px;padding:0;background:none;color:#ff9cbd;font-size:14px;font-weight:800}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:end center;padding:20px;background:#0000009e}.confirm-dialog{width:min(100%,520px);padding:22px;border-radius:22px;background:#282832;box-shadow:0 22px 55px #00000073}.confirm-dialog h2{margin-bottom:8px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.dialog-actions .plain-button{border-radius:14px;background:#393946;color:#fff;font-weight:800}.backup-note,.storage-note{margin-top:16px;padding:17px;border-radius:16px;background:#25252e}.backup-note h2,.storage-note h2{margin-bottom:6px;font-size:16px}.backup-note{border-left:3px solid var(--yellow)}.storage-note{border-left:3px solid var(--green)}.bordered-button{margin-top:10px;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#f5f3ff;font-weight:800}.backup-message{margin-top:16px;padding:13px;border-radius:12px;background:#49d3911f;color:#d9f8e8}.storage-estimate{margin-top:9px;color:#aaa6c8;font-size:13px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:375px){.app-shell{padding-left:15px;padding-right:15px}.page-content{padding:24px 17px}}
