:root{
  color-scheme:dark;
  --bg:#0a0c0a;
  --panel:#111511;
  --panel-2:#171c17;
  --line:rgba(255,255,255,.12);
  --text:#f4f7ef;
  --muted:#a3ab9c;
  --lime:#d9ff63;
  --lime-soft:rgba(217,255,99,.13);
  --yellow:#f2cf63;
  --red:#ff7b6f;
  --green:#7be4a5;
  --shadow:0 18px 48px rgba(0,0,0,.28);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100svh;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{touch-action:manipulation}
button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(217,255,99,.55);outline-offset:3px}
.app-shell{width:min(100%,720px);min-height:100svh;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.topbar{height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-link{color:var(--text);text-decoration:none;font-size:13px;font-weight:950;letter-spacing:.16em}
.top-actions{display:flex;align-items:center;gap:8px;margin-right:58px}
.text-button,.icon-button{border:1px solid var(--line);background:#ffffff08;color:var(--text);min-height:42px;border-radius:14px;font-weight:850;cursor:pointer}
.text-button{padding:0 14px}
.icon-button{width:44px;font-size:20px}
.app-main{flex:1;display:flex;flex-direction:column;padding:18px 0 10px}
.screen{width:100%;animation:screen-in .22s ease both}
.eyebrow{font-size:12px;font-weight:950;letter-spacing:.12em;color:var(--lime);text-transform:uppercase;margin-bottom:10px}
h1{font-size:clamp(40px,10vw,62px);line-height:.95;letter-spacing:-.06em;margin:0;max-width:620px}
.subtitle{font-size:18px;line-height:1.6;color:var(--muted);margin:14px 0 0}
.step-label{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 11px;border-radius:999px;background:var(--lime-soft);color:var(--lime);font-size:12px;font-weight:900;margin:22px 0 12px}
.question-card,.panel{border:1px solid var(--line);background:var(--panel);border-radius:26px;padding:22px;box-shadow:var(--shadow)}
.question-index,.mini-label{font-size:12px;color:var(--muted);font-weight:850;letter-spacing:.08em}
.question-card h2,.panel h2{font-size:clamp(28px,7.4vw,42px);line-height:1.25;letter-spacing:-.035em;margin:16px 0 22px}
.answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.answer-grid button,.primary,.secondary,.task-card,.discard-chip,.outcome-button,.example-button{border:0;border-radius:18px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.answer-grid button{min-height:74px;background:#ffffff0d;border:1px solid var(--line);color:var(--text);font-weight:900;font-size:16px}
.answer-grid button:active,.primary:active,.secondary:active,.task-card:active,.discard-chip:active,.outcome-button:active,.example-button:active{transform:scale(.98)}
.primary,.secondary{width:100%;min-height:60px;font-weight:950;font-size:17px}
.primary{background:var(--lime);color:#12160c}
.secondary{background:#ffffff0b;color:var(--text);border:1px solid var(--line)}
.actions{display:grid;gap:10px;margin-top:18px}
.result-badge{display:flex;align-items:center;gap:14px;margin:8px 0 4px}
.result-dot{width:18px;height:18px;border-radius:50%}
.result-badge strong{font-size:36px;letter-spacing:-.04em}
.level-green .result-dot{background:var(--green);box-shadow:0 0 0 9px rgba(123,228,165,.1)}
.level-yellow .result-dot{background:var(--yellow);box-shadow:0 0 0 9px rgba(242,207,99,.1)}
.level-red .result-dot{background:var(--red);box-shadow:0 0 0 9px rgba(255,123,111,.1)}
.result-copy{font-size:22px;line-height:1.5;margin:18px 0 0}
.helper{font-size:14px;line-height:1.75;color:var(--muted);margin:12px 0 0}
.notice{border-left:3px solid var(--lime);padding:12px 14px;background:var(--lime-soft);border-radius:0 14px 14px 0;font-size:14px;line-height:1.65;margin:18px 0}
.task-input-list{display:grid;gap:10px;margin-top:18px}
.task-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}
.task-input-row input,.minimum-input,.other-input{width:100%;min-height:58px;border-radius:16px;border:1px solid var(--line);background:#0d100d;color:var(--text);padding:14px 15px;font-size:16px}
.minimum-input{min-height:132px;resize:vertical;line-height:1.7}
.remove-task{width:50px;border-radius:16px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);font-size:21px;cursor:pointer}
.inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.voice-button{min-height:54px;border-radius:16px;border:1px solid var(--line);background:#ffffff08;color:var(--text);font-weight:900;cursor:pointer}
.voice-button.listening{background:var(--lime-soft);border-color:rgba(217,255,99,.4);color:var(--lime)}
.task-list{display:grid;gap:10px;margin-top:18px}
.task-card{width:100%;min-height:78px;padding:16px 18px;text-align:left;background:#ffffff0b;color:var(--text);border:1px solid var(--line);font-size:17px;font-weight:850;line-height:1.45}
.task-card small{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-top:6px}
.task-card.selected{background:var(--lime-soft);border-color:rgba(217,255,99,.48);color:var(--lime)}
.focus-card{border:1px solid rgba(217,255,99,.35);background:var(--lime-soft);border-radius:24px;padding:20px;margin:8px 0 18px}
.focus-card .label{font-size:12px;color:var(--lime);font-weight:950;letter-spacing:.1em}
.focus-card strong{display:block;font-size:25px;line-height:1.35;margin-top:9px}
.examples{display:grid;gap:8px;margin-top:12px}
.example-button{width:100%;min-height:50px;padding:12px 14px;text-align:left;background:#ffffff09;color:var(--muted);border:1px solid var(--line);font-size:13px;line-height:1.55}
.discard-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
.discard-chip{min-height:58px;padding:11px 12px;background:#ffffff09;color:var(--text);border:1px solid var(--line);font-weight:850;text-align:left}
.discard-chip.on{background:rgba(255,123,111,.12);border-color:rgba(255,123,111,.46);color:#ffd3ce}
.no-do-card{border:1px solid rgba(255,123,111,.35);background:rgba(255,123,111,.09);border-radius:20px;padding:16px;margin-top:16px}
.no-do-card b{font-size:12px;color:#ffc3bc;letter-spacing:.09em}
.no-do-card ul{margin:10px 0 0;padding-left:20px;color:#f1d7d3;line-height:1.65}
.timer-screen{text-align:center}
.timer-screen .step-label{margin-left:auto;margin-right:auto}
.timer-task{font-size:clamp(30px,8vw,48px);line-height:1.22;letter-spacing:-.04em;margin:10px auto;max-width:620px}
.timer-display{font-variant-numeric:tabular-nums;font-size:clamp(72px,20vw,126px);line-height:.9;font-weight:950;letter-spacing:-.08em;margin:34px 0;color:var(--lime)}
.timer-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}
.timer-meta>div{border:1px solid var(--line);background:#ffffff08;border-radius:18px;padding:15px}
.timer-meta span{display:block;font-size:12px;color:var(--muted);font-weight:850;margin-bottom:6px}
.timer-meta strong{font-size:15px;line-height:1.5}
.timer-progress{height:8px;border-radius:999px;background:#ffffff10;overflow:hidden;margin:22px 0}
.timer-progress>i{display:block;height:100%;background:var(--lime);transform-origin:left;transition:width .35s linear}
.timer-stop{margin-top:14px;background:transparent;border:0;color:var(--muted);min-height:46px;padding:0 16px;text-decoration:underline;cursor:pointer}
.outcome-grid{display:grid;gap:10px;margin-top:20px}
.outcome-button{min-height:68px;padding:13px 16px;background:#ffffff0b;border:1px solid var(--line);color:var(--text);text-align:left;font-weight:900;font-size:16px}
.outcome-button strong{display:block;font-size:18px;margin-bottom:4px}
.outcome-button small{font-size:12px;color:var(--muted);font-weight:700}
.complete-screen{text-align:center;padding-top:26px}
.plus-one{width:78px;height:78px;margin:6px auto 22px;border-radius:24px;background:var(--lime);color:#11160a;display:grid;place-items:center;font-size:32px;font-weight:1000;animation:pop .48s cubic-bezier(.2,.9,.25,1.3) both}
.complete-screen h2{font-size:clamp(42px,11vw,70px);line-height:1;letter-spacing:-.06em;margin:0}
.complete-message{font-size:21px;line-height:1.65;margin:28px auto;max-width:560px}
.history-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}
.history-stat{border:1px solid var(--line);background:#ffffff08;border-radius:18px;padding:16px;text-align:left}
.history-stat strong{display:block;font-size:28px;letter-spacing:-.04em}
.history-stat span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.history-list{display:grid;gap:9px;margin-top:16px}
.history-item{border:1px solid var(--line);background:#ffffff07;border-radius:18px;padding:15px;text-align:left}
.history-item .row{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}
.history-item strong{display:block;font-size:16px;line-height:1.5;margin:8px 0 5px}
.history-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.sync-note{font-size:12px;color:var(--muted);margin-top:10px}
.back-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.back-button{min-height:42px;padding:0 12px;border-radius:13px;border:1px solid var(--line);background:#ffffff08;color:var(--text);font-weight:850;cursor:pointer}
.footer-note{text-align:center;color:#737c70;font-size:12px;line-height:1.6;padding:16px 8px 4px}
.hidden{display:none!important}
@keyframes screen-in{from{opacity:0;transform:translateY(8px)}}
@keyframes pop{0%{opacity:0;transform:scale(.7) rotate(-7deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:560px){
  .app-shell{padding-left:13px;padding-right:13px}
  .app-main{padding-top:12px}
  .question-card,.panel{padding:18px;border-radius:22px}
  .answer-grid{grid-template-columns:1fr;gap:8px}
  .answer-grid button{min-height:60px}
  .inline-actions{grid-template-columns:1fr}
  .discard-grid{grid-template-columns:1fr}
  .timer-meta{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
