  :root{
    --bg:#0b0e14; --panel:#141a24; --edge:#243044;
    --ink:#e9eef7; --soft:#a9b6cc; --accent:#7fd4c1; --warm:#ffb877;
    --tap:88px;              /* one-handed: nothing smaller than this */
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%}
  body{
    background:var(--bg); color:var(--ink);
    font:500 20px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    -webkit-font-smoothing:antialiased; padding:0 0 env(safe-area-inset-bottom);
    transition:filter .8s ease;
  }
  body.dim{filter:brightness(.42)}
  .wrap{max-width:760px;margin:0 auto;padding:28px 20px 60px}
  header{padding:18px 0 8px}
  .kicker{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:14px;font-weight:700}
  h1{font-size:clamp(30px,7vw,46px);line-height:1.15;margin:.25em 0 .1em;letter-spacing:-.01em}
  .lede{color:var(--soft);font-size:19px;max-width:56ch}

  .stage{background:var(--panel);border:1px solid var(--edge);border-radius:22px;padding:24px;margin:26px 0}
  .phase-name{font-size:26px;font-weight:700;margin:0 0 2px}
  .phase-note{color:var(--soft);font-size:17px;margin:0 0 18px}
  .now{color:var(--warm);font-size:17px;min-height:1.6em;margin-top:14px}

  .controls{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
  button{
    font:inherit;font-weight:700;color:var(--bg);background:var(--accent);
    border:0;border-radius:18px;min-height:var(--tap);padding:0 30px;flex:1 1 200px;
    cursor:pointer;touch-action:manipulation;
  }
  button.ghost{background:transparent;color:var(--ink);border:2px solid var(--edge)}
  button:focus-visible{outline:4px solid var(--warm);outline-offset:3px}
  button:active{transform:translateY(1px)}

  .phases{display:grid;gap:12px;margin-top:22px}
  .phase-btn{
    display:flex;align-items:center;gap:16px;width:100%;text-align:left;
    background:var(--panel);border:1px solid var(--edge);color:var(--ink);
    border-radius:18px;min-height:var(--tap);padding:14px 18px;font-weight:600;
  }
  .phase-btn[aria-current="true"]{border-color:var(--accent);background:#17222e}
  .dot{width:14px;height:14px;border-radius:50%;background:var(--edge);flex:0 0 auto}
  .phase-btn[aria-current="true"] .dot{background:var(--accent)}
  .phase-btn small{display:block;color:var(--soft);font-weight:500;font-size:15px}

  .note{color:var(--soft);font-size:16px;border-top:1px solid var(--edge);margin-top:34px;padding-top:18px}
  .note strong{color:var(--ink)}
  a{color:var(--accent)}
  @media (prefers-reduced-motion:reduce){body{transition:none}}
.page-u01{display:none}
