:root{color-scheme:dark;--bg:#090b0b;--panel:#111515;--panel2:#171d1c;--text:#f4f7f3;--muted:#98a39e;--line:rgba(255,255,255,.10);--mint:#8ff0c2;--amber:#ffc66d;--blue:#72c8ff;--red:#ff7f7a;--shadow:0 24px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100dvh;background:radial-gradient(circle at 50% -10%,rgba(143,240,194,.12),transparent 34%),radial-gradient(circle at 100% 70%,rgba(114,200,255,.07),transparent 28%),#090b0b}button,input{font:inherit}button{touch-action:manipulation}.app{width:min(560px,100%);min-height:100dvh;margin:auto;padding:calc(10px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));position:relative}.app:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(#000,transparent 80%)}.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:20}.home-link{color:#b9c1bd;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.08em}.brand{font-size:12px;font-weight:950;letter-spacing:.16em;color:#66716c}.mini-btn{border:1px solid var(--line);background:rgba(255,255,255,.035);color:#ccd4d0;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.screen{display:none;min-height:calc(100dvh - 86px);padding:20px 0 8px;position:relative}.screen.active{display:flex;flex-direction:column;animation:screenIn .24s ease both}@keyframes screenIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.eyebrow{margin:0 0 10px;color:var(--mint);font-size:12px;font-weight:950;letter-spacing:.19em}.screen-title{font-size:clamp(36px,10vw,51px);line-height:1.02;letter-spacing:-.06em;margin:0 0 12px;font-weight:950}.section-copy,.lead{color:#aeb9b3;font-size:13px;line-height:1.75;margin:0}.home-screen{justify-content:flex-end;padding-bottom:18px}.home-screen h1{font-size:clamp(50px,15vw,76px);line-height:.88;letter-spacing:-.075em;margin:0 0 18px;font-weight:950}.home-screen h1 span{color:var(--mint);text-shadow:0 0 40px rgba(143,240,194,.18)}.lead{font-size:14px;margin-bottom:20px}.lead strong{color:#fff}.microcopy{color:#67716c;font-size:12px;line-height:1.65;margin:12px 4px 0}.primary-btn,.secondary-btn,.text-btn{width:100%;border:0;cursor:pointer}.primary-btn{min-height:58px;border-radius:18px;background:linear-gradient(135deg,#a6f5d2,#72dcae);color:#09100d;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font-weight:950;font-size:14px;box-shadow:0 14px 38px rgba(143,240,194,.14);margin-top:12px}.primary-btn:active{transform:scale(.985)}.primary-btn b{font-size:18px}.secondary-btn{min-height:52px;border-radius:17px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#edf2ef;font-weight:900;font-size:13px;margin-top:10px}.text-btn{background:transparent;color:#7e8983;font-size:12px;font-weight:850;padding:16px 8px}.danger{color:#a86e6c}.hidden{display:none!important}
.clock-art{height:min(34vh,270px);position:relative;display:grid;place-items:center;margin-bottom:12px}.clock{width:142px;height:142px;border-radius:50%;border:1px solid rgba(143,240,194,.32);background:radial-gradient(circle,rgba(143,240,194,.09),rgba(255,255,255,.015));box-shadow:0 0 0 17px rgba(143,240,194,.025),0 28px 70px rgba(0,0,0,.32);position:relative}.clock:before{content:"";position:absolute;inset:13px;border-radius:50%;border:1px dashed rgba(255,255,255,.10)}.clock i,.clock b{position:absolute;left:50%;top:50%;transform-origin:0 50%;height:2px;border-radius:9px}.clock i{width:42px;background:var(--mint);transform:rotate(-72deg)}.clock b{width:31px;background:#dce7e2;transform:rotate(32deg)}.clock span{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);font-size:12px;font-weight:950;letter-spacing:.16em;color:#9fb3aa}.orbit{position:absolute;border:1px solid rgba(255,255,255,.055);border-radius:50%}.orbit.one{width:220px;height:220px}.orbit.two{width:280px;height:110px;transform:rotate(22deg)}
.progress-head{display:flex;align-items:center;gap:14px;color:#7f8a85;font-size:12px;font-weight:900;letter-spacing:.1em;margin-bottom:34px}.progress-track{flex:1;height:4px;background:#171c1a;border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;width:14%;background:linear-gradient(90deg,var(--mint),var(--blue));border-radius:99px;transition:width .2s}.answer-list{display:grid;gap:10px;margin-top:27px}.answer-list button{min-height:66px;text-align:left;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:#f0f4f1;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900;font-size:13px}.answer-list button span{width:27px;height:27px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;color:#758079;font-size:12px}
.result-screen{padding-top:34px}.type-badge{align-self:flex-start;border:1px solid rgba(143,240,194,.24);background:rgba(143,240,194,.07);color:var(--mint);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950;letter-spacing:.08em;margin-bottom:16px}.score-bars{display:grid;gap:8px;margin:22px 0}.score-row{display:grid;grid-template-columns:82px 1fr 31px;gap:8px;align-items:center;font-size:12px}.score-row span{color:#aab5af}.score-row b{font-size:12px;text-align:right;color:#77837d}.score-track{height:6px;background:#161b19;border-radius:99px;overflow:hidden}.score-track i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--blue));border-radius:99px}.prescription-card{border:1px solid rgba(255,198,109,.20);background:linear-gradient(145deg,rgba(255,198,109,.09),rgba(255,255,255,.025));border-radius:22px;padding:18px;margin-top:2px}.prescription-card span{font-size:12px;color:var(--amber);font-weight:950;letter-spacing:.16em}.prescription-card strong{display:block;font-size:19px;line-height:1.45;margin:8px 0}.prescription-card p{margin:0;color:#a8b0ac;font-size:12px;line-height:1.65}
.task-form{display:grid;grid-template-columns:1fr 76px 58px;gap:7px;margin:22px 0 14px}.task-form input{min-width:0;border:1px solid var(--line);background:#0d1110;color:#fff;border-radius:14px;padding:12px;outline:0}.task-form input[type=number]{text-align:center}.task-form button{border:0;border-radius:14px;background:var(--mint);color:#09100d;font-size:12px;font-weight:950}.task-deck{display:grid;gap:9px}.task-card{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);padding:13px}.task-card.done{opacity:.48}.task-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.task-head strong{font-size:13px;line-height:1.45}.task-head span{color:#77817c;font-size:12px;white-space:nowrap}.task-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px}.task-actions button{border:1px solid var(--line);background:#111614;color:#bec7c2;border-radius:10px;padding:8px 3px;font-size:12px;font-weight:900}.task-actions button[data-action=drop],.task-actions button[data-action=later]{color:var(--mint)}.returned-card{margin-top:14px;text-align:center;border-radius:22px;border:1px solid rgba(143,240,194,.18);background:rgba(143,240,194,.06);padding:17px}.returned-card span,.returned-card small{display:block;color:#75817a;font-size:12px}.returned-card strong{display:block;font-size:39px;color:var(--mint);letter-spacing:-.05em;margin:3px 0}
.thought-card{margin:28px 0 13px;min-height:160px;display:grid;place-items:center;text-align:center;padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#161b19,#0c0f0e);font-size:21px;font-weight:950;line-height:1.5}.thought-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.thought-choices button{min-height:54px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);color:#e4eae6;font-size:12px;font-weight:950}.feedback{min-height:68px;margin-top:12px;border-radius:16px;padding:12px 13px;display:none;font-size:12px;line-height:1.6}.feedback.show{display:block}.feedback.good{border:1px solid rgba(143,240,194,.22);background:rgba(143,240,194,.07);color:#d8f6e7}.feedback.bad{border:1px solid rgba(255,127,122,.20);background:rgba(255,127,122,.06);color:#e7c6c4}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:20px 0 14px}.stat{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.03);padding:10px 4px;text-align:center}.stat b{display:block;font-size:17px;color:var(--mint)}.stat span{display:block;margin-top:4px;color:#6f7a74;font-size:12px;font-weight:900}.training-list{display:grid;gap:8px}.training-list button{width:100%;min-height:67px;display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));color:#f1f4f2;padding:10px 13px}.training-list button>b{color:var(--mint);font-size:12px}.training-list strong{display:block;font-size:13px}.training-list small{display:block;color:#77827c;font-size:12px;margin-top:4px}.training-list i{font-style:normal;color:#66716c}.exercise-body{margin-top:24px}.exercise-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#151a18,#0d100f);padding:18px}.exercise-card h3{font-size:20px;line-height:1.4;margin:0 0 13px}.exercise-options{display:grid;gap:8px}.exercise-options button{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);color:#e7ece9;padding:13px;text-align:left;font-size:12px;font-weight:850}.exercise-options button.selected{border-color:rgba(143,240,194,.42);background:rgba(143,240,194,.08)}.life-grid{display:flex;flex-wrap:wrap;gap:7px}.life-grid button{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#bec7c2;border-radius:999px;padding:10px 12px;font-size:12px;font-weight:900}.life-grid button.selected{border-color:rgba(143,240,194,.45);background:rgba(143,240,194,.09);color:#fff}.number-input{width:100%;border:1px solid var(--line);background:#0b0f0d;color:#fff;border-radius:14px;padding:14px;margin-top:10px;outline:0}.timer-live{text-align:center;font-size:48px;font-weight:950;letter-spacing:-.06em;margin:20px 0}.small-action{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;border-radius:14px;padding:12px;font-weight:900}.exercise-note{margin-top:13px;color:#8d9992;font-size:12px;line-height:1.65}
.record-screen{padding-top:34px}.record-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}.record-stats div{border:1px solid var(--line);border-radius:18px;padding:15px;background:rgba(255,255,255,.035)}.record-stats span{display:block;color:#78837d;font-size:12px;font-weight:950}.record-stats b{display:block;font-size:24px;margin-top:5px}.time-bank-card{text-align:center;border-radius:22px;border:1px solid rgba(114,200,255,.18);background:rgba(114,200,255,.06);padding:18px;margin-bottom:14px}.time-bank-card span,.time-bank-card small{display:block;color:#72808a;font-size:12px}.time-bank-card strong{display:block;font-size:40px;color:var(--blue);margin:3px 0}.history{display:grid;gap:7px}.history-item{border-left:2px solid rgba(143,240,194,.4);padding:9px 11px;background:rgba(255,255,255,.025);font-size:12px;line-height:1.5;color:#aab4ae}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%,12px);z-index:100;width:min(440px,calc(100% - 36px));padding:12px 14px;border-radius:14px;background:#f4f7f5;color:#0b0e0d;font-size:12px;font-weight:900;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:390px){.task-form{grid-template-columns:1fr 70px}.task-form button{grid-column:1/-1;min-height:40px}.stats-grid{gap:3px}.stat{padding:8px 2px}.stat b{font-size:15px}}
@media(max-height:700px){.clock-art{height:190px}.home-screen h1{font-size:50px}.screen{padding-top:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}