/* 勉強ツール（/tools/）。全部 .tl-pg の中だけに効く。クラス名は st- で始まる。
   色はサイト共通の --z-* だけを使う（ライトモードのみ）。動きは html.mo の時だけ */

/* ---------- 土台 ---------- */
main.tl-pg{padding-left:0;padding-right:0;max-width:none;background:var(--z-bg);color:var(--z-ink);font-family:var(--jp);overflow-x:clip}
.tl-pg *,.tl-pg *::before,.tl-pg *::after{box-sizing:border-box}
.tl-pg .st-wrap{max-width:1040px;margin:0 auto;padding:12px 16px 56px}
.tl-pg [hidden]{display:none!important}
.tl-pg button,.tl-pg select,.tl-pg input,.tl-pg textarea{font:inherit;color:inherit;margin:0}
.tl-pg button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.tl-pg button:disabled{cursor:default;opacity:.45}
.tl-pg :focus-visible{outline:3px solid var(--z-sky);outline-offset:2px}
.tl-pg p,.tl-pg ul,.tl-pg ol,.tl-pg dl,.tl-pg dd,.tl-pg h1,.tl-pg h2,.tl-pg h3{margin:0;padding:0}
.tl-pg ul,.tl-pg ol{list-style:none}
.tl-pg .st-ic{width:20px;height:20px;flex:none}
.tl-pg b{font-weight:700}

.tl-pg .st-crumb{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--z-mute);padding:4px 0 10px}
.tl-pg .st-crumb a{color:var(--z-ink2);text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.tl-pg .st-crumb b{color:var(--z-ink);font-weight:700}

/* ---------- 見出しと目次 ---------- */
.tl-pg .st-k{font-family:var(--z-disp);font-size:15px;letter-spacing:.14em;line-height:1;color:var(--z-hot)}
.tl-pg .st-hero{padding:6px 0 18px}
.tl-pg .st-hero h1{font-family:var(--z-maru);font-weight:900;font-size:clamp(30px,8.4vw,52px);line-height:1.15;margin:6px 0 10px;letter-spacing:.01em}
.tl-pg .st-hero-l{font-size:14.5px;line-height:1.85;color:var(--z-ink2);max-width:46em}
.tl-pg .st-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tl-pg .st-toc a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 15px 8px 12px;border-radius:999px;background:var(--z-card);border:1.5px solid var(--z-ink);color:var(--z-ink);font-family:var(--z-maru);font-weight:900;font-size:13.5px;text-decoration:none;line-height:1.2;box-shadow:0 3px 0 var(--z-ink)}
.tl-pg .st-toc a:first-child{background:var(--z-sun)}
.tl-pg .st-toc a:active{transform:translateY(3px);box-shadow:none}
.tl-pg .st-hero-o{margin-top:12px}

/* ---------- カード ---------- */
.tl-pg .st-card{background:var(--z-card);border:1.5px solid var(--z-line);border-radius:var(--z-r);padding:20px 16px;margin-top:18px;box-shadow:0 8px 22px color-mix(in srgb,var(--z-ink) 7%,transparent);scroll-margin-top:84px;min-width:0}
.tl-pg .st-ch{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.tl-pg .st-ch h2{font-family:var(--z-maru);font-weight:900;font-size:clamp(21px,5.8vw,28px);line-height:1.25;margin-top:5px}
.tl-pg .st-lead{font-size:14px;line-height:1.85;color:var(--z-ink2);margin-bottom:14px}
.tl-pg .st-note{font-size:12.5px;line-height:1.75;color:var(--z-mute);margin-top:14px}
.tl-pg .st-hint{font-size:12.5px;line-height:1.75;color:var(--z-mute);margin:10px 0;text-align:center}
.tl-pg .st-two{display:grid;gap:0 18px}

/* ---------- ボタン類 ---------- */
.tl-pg .st-pill,.tl-pg .st-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 22px;border-radius:999px;font-family:var(--z-maru);font-weight:900;font-size:15px;line-height:1.2;border:2px solid var(--z-ink)}
.tl-pg .st-pill{background:var(--z-ink);color:var(--z-card)}
.tl-pg .st-pill.st-y{background:var(--z-sun);color:var(--z-ink);box-shadow:0 4px 0 var(--z-ink)}
.tl-pg .st-pill.st-y:active{transform:translateY(4px);box-shadow:none}
.tl-pg .st-pill.st-lg{min-height:54px;padding:10px 34px;font-size:17px}
.tl-pg .st-ghost{background:var(--z-card);color:var(--z-ink);border-color:var(--z-line)}
.tl-pg .st-sm{min-height:44px;padding:6px 16px;font-size:13.5px}
.tl-pg .st-ctl{display:flex;justify-content:center;align-items:center;gap:14px;margin:16px 0 4px}
.tl-pg .st-ib{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--z-line);background:var(--z-card);display:grid;place-items:center;color:var(--z-ink)}
.tl-pg .st-ib .st-ic{width:22px;height:22px}
.tl-pg .st-chk{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:13.5px;line-height:1.5;color:var(--z-ink2);cursor:pointer}
.tl-pg .st-chk input{width:20px;height:20px;accent-color:var(--z-ink);flex:none}
.tl-pg select{min-height:44px;padding:6px 10px;border-radius:12px;border:1.5px solid var(--z-line);background:var(--z-card);font-weight:700}
.tl-pg input[type=text],.tl-pg input[type=date],.tl-pg textarea{min-height:46px;padding:9px 13px;border-radius:14px;border:1.5px solid var(--z-line);background:var(--z-card);font-size:16px;width:100%;min-width:0}
.tl-pg input[type=range]{accent-color:var(--z-ink);width:100%;min-width:0;height:28px}

.tl-pg .st-seg{display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--z-bg);border:1.5px solid var(--z-line);margin:0 auto 14px;max-width:520px}
.tl-pg .st-seg button{flex:1 1 0;min-width:0;min-height:46px;border:0;border-radius:999px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;line-height:1.15;color:var(--z-ink2)}
.tl-pg .st-seg b{font-family:var(--z-maru);font-weight:900;font-size:14px;white-space:nowrap}
.tl-pg .st-seg b i{font-style:normal;opacity:.5;margin:0 1px}
.tl-pg .st-seg small{font-size:10.5px;color:var(--z-mute);margin-top:2px;white-space:nowrap}
.tl-pg .st-seg .st-on{background:var(--z-ink);color:var(--z-card)}
.tl-pg .st-seg .st-on small{color:var(--z-sun)}

.tl-pg .st-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tl-pg .st-chips button{min-height:44px;padding:6px 16px;border-radius:999px;border:1.5px solid var(--z-line);background:var(--z-card);font-weight:700;font-size:13.5px}
.tl-pg .st-chips .st-on{background:var(--z-ink);color:var(--z-card);border-color:var(--z-ink)}
.tl-pg .st-sn .st-chips button{background:var(--z-sun2)}

.tl-pg .st-tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:2px solid var(--z-ink)}
.tl-pg .st-tabs button{flex:1 1 0;min-width:0;min-height:46px;padding:6px 4px;border:0;border-radius:14px 14px 0 0;background:var(--z-bg);font-family:var(--z-maru);font-weight:900;font-size:13px;line-height:1.25;color:var(--z-ink2)}
.tl-pg .st-tabs .st-on{background:var(--z-ink);color:var(--z-card)}

.tl-pg .st-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));translate:-50% 0;z-index:2147483600;max-width:min(92vw,420px);padding:12px 20px;border-radius:999px;background:var(--z-ink);color:var(--z-card);font-size:14px;line-height:1.5;text-align:center;opacity:0;visibility:hidden;pointer-events:none}
.tl-pg .st-toast.st-on{opacity:1;visibility:visible}
.tl-pg .st-toast b{color:var(--z-sun)}
.tl-pg .st-conf{position:fixed;inset:0;z-index:2147483500;pointer-events:none;overflow:hidden}
.tl-pg .st-conf i{position:absolute;top:0;width:10px;height:14px;border-radius:3px}

/* ---------- ポモドーロタイマー ---------- */
.tl-pg .st-pomo{--st-ph:var(--z-hot);border-color:var(--z-ink);border-width:2px;box-shadow:0 6px 0 var(--z-ink);text-align:center}
.tl-pg .st-pomo[data-mode=brk]{--st-ph:var(--z-mint)}
.tl-pg .st-pomo[data-mode=long]{--st-ph:var(--z-sky)}
.tl-pg .st-pomo[data-mode=sw]{--st-ph:var(--z-vio)}
.tl-pg .st-pomo .st-ch{text-align:left}
.tl-pg .st-zen{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--z-line);background:var(--z-card);font-size:12.5px;font-weight:700;white-space:nowrap;flex:none}
.tl-pg .st-zen .st-ic{width:17px;height:17px}
.tl-pg .st-pre b{font-family:var(--z-disp);font-weight:400;font-size:21px;letter-spacing:.04em}
.tl-pg .st-ring{position:relative;width:min(100%,360px);aspect-ratio:1;margin:6px auto 0}
.tl-pg .st-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tl-pg .st-ring-bg,.tl-pg .st-ring-fg{fill:none;stroke-width:13}
.tl-pg .st-ring-bg{stroke:var(--z-line)}
.tl-pg .st-ring-fg{stroke:var(--st-ph);stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .3s}
.tl-pg .st-ticks line{stroke:var(--z-line);stroke-width:2;stroke-linecap:round}
.tl-pg .st-ticks line.mj{stroke-width:3}
.tl-pg .st-ticks line.st-on{stroke:var(--z-ink)}
.tl-pg .st-ring-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 12%}
.tl-pg .st-phase{display:inline-flex;align-items:center;gap:7px;padding:4px 13px;border-radius:999px;background:var(--st-ph);color:var(--z-card);font-family:var(--z-maru);font-weight:900;font-size:13px;line-height:1.3}
.tl-pg .st-phase span{font-family:var(--z-disp);font-weight:400;font-size:15px;letter-spacing:.12em}
.tl-pg .st-pomo[data-mode=brk] .st-phase{color:var(--z-ink)}
.tl-pg .st-time{font-family:var(--z-disp);font-size:clamp(84px,27vw,124px);line-height:.92;letter-spacing:.01em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;justify-content:center;white-space:nowrap;margin-top:4px}
.tl-pg .st-time i{font-style:normal;margin:0 .02em;translate:0 -.06em}
.tl-pg .st-time.st-long{font-size:clamp(64px,20vw,100px)}
.tl-pg .st-cyc{display:flex;gap:7px;min-height:12px}
.tl-pg .st-cyc i{width:12px;height:12px;border-radius:50%;border:2px solid var(--z-ink);background:var(--z-card)}
.tl-pg .st-cyc .st-ok{background:var(--z-ink)}
.tl-pg .st-cyc .st-now{background:var(--z-sun)}
.tl-pg .st-pdone{margin:14px auto 0;max-width:460px;padding:12px 16px;border-radius:16px;background:var(--z-sun);border:2px solid var(--z-ink);font-family:var(--z-maru);font-weight:900;font-size:15.5px;line-height:1.55}
.tl-pg .st-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:168px;min-height:62px;padding:10px 30px;border-radius:999px;border:2px solid var(--z-ink);background:var(--z-sun);color:var(--z-ink);font-family:var(--z-maru);font-weight:900;font-size:19px;box-shadow:0 5px 0 var(--z-ink)}
.tl-pg .st-go:active{transform:translateY(5px);box-shadow:none}
.tl-pg .st-go svg{width:24px;height:24px;flex:none}
.tl-pg .st-go .st-i-pause,.tl-pg .st-run .st-go .st-i-play{display:none}
.tl-pg .st-run .st-go .st-i-pause{display:block}
.tl-pg .st-run .st-go{background:var(--z-ink);color:var(--z-card);box-shadow:0 5px 0 var(--z-line)}
.tl-pg .st-say{font-size:13.5px;line-height:1.7;color:var(--z-ink2);min-height:1.7em;margin-top:14px}
.tl-pg .st-sum{display:inline-block;margin-top:10px;padding:6px 18px;border-radius:999px;background:var(--z-bg);font-size:13px;color:var(--z-ink2);line-height:1.6}
.tl-pg .st-sum span{display:inline-block;margin-left:16px}
.tl-pg .st-sum b{font-family:var(--z-disp);font-weight:400;font-size:24px;line-height:1;color:var(--z-ink);margin:0 3px;vertical-align:-2px}
.tl-pg .st-set{margin-top:16px;border:1.5px solid var(--z-line);border-radius:16px;text-align:left;background:var(--z-bg)}
.tl-pg .st-set summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;font-family:var(--z-maru);font-weight:900;font-size:14px;cursor:pointer;list-style:none}
.tl-pg .st-set summary::-webkit-details-marker{display:none}
.tl-pg .st-set summary::after{content:"";width:9px;height:9px;border-right:2.5px solid var(--z-ink);border-bottom:2.5px solid var(--z-ink);rotate:45deg;translate:0 -3px;flex:none}
.tl-pg .st-set[open] summary::after{rotate:225deg;translate:0 3px}
.tl-pg .st-set-in{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 14px 10px}
.tl-pg .st-set-in label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--z-ink2)}
.tl-pg .st-set-in select{width:100%}
.tl-pg .st-set-ck{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:2px 14px 8px}
.tl-pg .st-pomo .st-note{text-align:left}
.tl-pg .st-pomo.st-flash{border-color:var(--z-hot);box-shadow:0 6px 0 var(--z-hot)}
.tl-pg .st-pomo.st-end .st-time{color:var(--z-hot)}
/* 集中モード（画面いっぱい） */
.tl-pg .st-pomo.st-zen-on{position:fixed;inset:0;z-index:2147483000;margin:0;border:0;border-radius:0;box-shadow:none;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--z-bg);padding:16px}
.tl-pg .st-pomo.st-zen-on .st-ch{position:absolute;top:12px;right:12px;margin:0}
.tl-pg .st-pomo.st-zen-on .st-ch>div,.tl-pg .st-pomo.st-zen-on .st-pre,.tl-pg .st-pomo.st-zen-on .st-set,.tl-pg .st-pomo.st-zen-on .st-note{display:none}
.tl-pg .st-pomo.st-zen-on .st-ring{width:min(92vw,62vh,520px);flex:none}
.tl-pg .st-pomo.st-zen-on .st-time{font-size:min(30vw,21vh,180px)}
.tl-pg .st-pomo.st-zen-on .st-time.st-long{font-size:min(22vw,15vh,132px)}

/* ---------- 共通テストまで ---------- */
.tl-pg .st-ex{text-align:center}
.tl-pg .st-ex .st-ch{text-align:left}
.tl-pg .st-ex-ask{font-size:13.5px;line-height:1.7;color:var(--z-ink2);margin-bottom:8px}
.tl-pg .st-ex-ask b{box-shadow:inset 0 -.5em var(--z-sun)}
.tl-pg .st-ex-main{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 12px}
.tl-pg .st-ex-days{display:flex;align-items:baseline;justify-content:center;gap:8px;line-height:1}
.tl-pg .st-ex-days b{font-family:var(--z-disp);font-weight:400;font-size:clamp(96px,31vw,168px);line-height:.88;color:var(--z-hot);font-variant-numeric:tabular-nums}
.tl-pg .st-ex-days small{font-family:var(--z-maru);font-weight:900;font-size:20px}
.tl-pg .st-ex-hms{display:flex;justify-content:center;gap:8px}
.tl-pg .st-ex-hms span{display:flex;align-items:baseline;gap:3px;min-width:84px;justify-content:center;padding:8px 10px 6px;border-radius:14px;background:var(--z-ink);color:var(--z-card)}
.tl-pg .st-ex-hms b{font-family:var(--z-disp);font-weight:400;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.tl-pg .st-ex-hms small{font-size:11.5px;color:var(--z-sun)}
.tl-pg .st-ex-date{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;font-size:14px;line-height:1.5}
.tl-pg .st-ex-date em{font-style:normal;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--z-line);color:var(--z-ink2)}
.tl-pg .st-ex-date em.st-ok{background:var(--z-mint);color:var(--z-card)}
.tl-pg .st-ex-st{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.tl-pg .st-ex-st li{padding:10px 6px;border-radius:14px;background:var(--z-bg);border:1.5px solid var(--z-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.tl-pg .st-ex-st b{font-family:var(--z-disp);font-weight:400;font-size:30px;line-height:1}
.tl-pg .st-ex-st small{font-size:11.5px;line-height:1.35;color:var(--z-ink2)}
.tl-pg .st-ex-st .st-ex-fin{grid-column:1/-1;font-family:var(--z-maru);font-weight:900;font-size:16px;line-height:1.6;padding:16px;background:var(--z-sun2)}
.tl-pg .st-ex-road{margin-top:16px}
.tl-pg .st-ex-rl{display:flex;justify-content:space-between;font-size:11.5px;font-weight:700;color:var(--z-mute)}
.tl-pg .st-ex-rl .st-past{color:var(--z-ink2)}
.tl-pg .st-ex-rl .st-now{color:var(--z-card);background:var(--z-ink);border-radius:999px;padding:1px 9px}
.tl-pg .st-ex-rl .st-goalmk{color:var(--z-hot)}
.tl-pg .st-ex-rb{height:12px;border-radius:999px;background:var(--z-line);margin-top:6px;overflow:hidden}
.tl-pg .st-ex-rb i{display:block;height:100%;border-radius:999px;background:var(--z-hot)}
.tl-pg .st-ex-rp{font-size:12px;color:var(--z-ink2);margin-top:6px}
.tl-pg .st-ex-rp b{font-family:var(--z-disp);font-weight:400;font-size:18px}

/* ---------- 今日の勉強記録 ---------- */
.tl-pg .st-today{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
.tl-pg .st-today>b{font-family:var(--z-disp);font-weight:400;font-size:clamp(64px,20vw,96px);line-height:.9}
.tl-pg .st-today small{font-family:var(--z-maru);font-weight:900;font-size:18px}
.tl-pg .st-today span{margin-left:auto;font-size:13px;color:var(--z-ink2);display:flex;align-items:center;gap:8px}
.tl-pg .st-goal{height:14px;border-radius:999px;background:var(--z-line);overflow:hidden;margin-top:10px}
.tl-pg .st-goal i{display:block;height:100%;width:0;border-radius:999px;background:var(--z-mint);transition:width .4s}
.tl-pg .st-goal-t{font-size:13px;color:var(--z-ink2);margin-top:6px}
.tl-pg .st-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:150px;margin-top:16px}
.tl-pg .st-wk{display:grid;grid-template-rows:minmax(0,1fr) 22px;justify-items:center;gap:3px;min-width:0;height:100%}
.tl-pg .st-wk>span{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;width:100%;height:100%;min-height:0}
.tl-pg .st-wk b{font-family:var(--z-disp);font-weight:400;font-size:15px;line-height:1}
.tl-pg .st-wk i{display:block;flex:none;width:100%;max-width:38px;border-radius:8px 8px 3px 3px;background:var(--z-line);min-height:3px}
.tl-pg .st-wk small{font-size:12px;font-weight:700;color:var(--z-mute);line-height:1.5}
.tl-pg .st-wk.st-now i{background:var(--z-sun)}
.tl-pg .st-wk.st-ok i{background:var(--z-mint)}
.tl-pg .st-wk.st-now small{color:var(--z-card);background:var(--z-ink);border-radius:999px;padding:0 7px}
.tl-pg .st-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.tl-pg .st-stats span{padding:9px 4px;border-radius:14px;background:var(--z-bg);border:1.5px solid var(--z-line);text-align:center;font-size:11.5px;line-height:1.3;color:var(--z-ink2)}
.tl-pg .st-stats b{display:block;font-family:var(--z-disp);font-weight:400;font-size:28px;line-height:1.05;color:var(--z-ink)}
.tl-pg .st-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--z-ink2)}
.tl-pg .st-add span{flex:1 1 100%}
.tl-pg .st-add button{min-height:44px;padding:6px 15px;border-radius:999px;border:1.5px solid var(--z-line);background:var(--z-card);font-weight:700;font-size:13.5px}

/* ---------- 道具・ゲームの並びと、開いた時の舞台 ---------- */
.tl-pg .st-tiles{display:grid;grid-template-columns:1fr;gap:10px}
.tl-pg .st-tile{width:100%;min-height:68px;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--z-line);background:var(--z-card);text-align:left}
.tl-pg .st-tile.st-on{border-color:var(--z-ink);background:var(--z-sun2)}
.tl-pg .st-tile-ic{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--z-sun);color:var(--z-ink)}
.tl-pg .st-tile>span{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.tl-pg .st-tile b{font-family:var(--z-maru);font-weight:900;font-size:16px;line-height:1.3}
.tl-pg .st-tile small{font-size:12.5px;line-height:1.5;color:var(--z-ink2)}
.tl-pg .st-tile i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--z-hot);line-height:1.3}
.tl-pg .st-tile i:empty{display:none}
.tl-pg .st-tile em{font-style:normal;font-family:var(--z-disp);font-size:12.5px;letter-spacing:.14em;line-height:1;color:var(--z-sky)}
.tl-pg .st-g-brain em{color:var(--z-orange)}
.tl-pg .st-g-english em{color:var(--z-vio)}
.tl-pg .st-stage{border:2px solid var(--z-ink);border-radius:var(--z-r);background:var(--z-card);margin-bottom:14px;scroll-margin-top:84px;overflow:hidden}
.tl-pg .st-stage-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 6px 16px;background:var(--z-ink);color:var(--z-card)}
.tl-pg .st-stage-top b{font-family:var(--z-maru);font-weight:900;font-size:16px}
.tl-pg .st-x{min-height:44px;padding:6px 16px;border-radius:999px;border:0;background:var(--z-card);color:var(--z-ink);font-weight:700;font-size:13px}
.tl-pg .st-stage{margin-left:-8px;margin-right:-8px}
.tl-pg .st-stage-body{padding:16px 8px 18px}
.tl-pg .st-intro{max-width:560px;margin:0 auto}
.tl-pg .st-intro .st-chk{margin-bottom:8px}
.tl-pg .st-fnote{font-size:12.5px;line-height:1.8;color:var(--z-ink2);padding:11px 13px;border-radius:14px;background:var(--z-bg);border:1.5px dashed var(--z-line);margin-bottom:12px}
.tl-pg .st-fnote b{display:inline-block;margin-right:8px;padding:0 9px;border-radius:999px;background:var(--z-ink);color:var(--z-card);font-size:11.5px}
.tl-pg .st-rec{text-align:center;font-size:13px;color:var(--z-ink2);margin-bottom:12px}
.tl-pg .st-rec b{font-family:var(--z-disp);font-weight:400;font-size:22px;color:var(--z-ink)}
.tl-pg .st-sw b{font-weight:700;color:var(--z-hot)}
.tl-pg .st-dump{max-width:600px;margin:0 auto}
.tl-pg .st-paper textarea{display:block;min-height:190px;line-height:1.9;resize:vertical;background:var(--z-sun2);border-color:var(--z-ink)}
.tl-pg .st-meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--z-mute);margin:6px 2px 10px}
.tl-pg .st-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.tl-pg .st-lock{text-align:center}
.tl-pg .st-lk{font-family:var(--z-maru);font-weight:900;font-size:15px}
.tl-pg .st-lt{font-family:var(--z-disp);font-size:clamp(80px,26vw,128px);line-height:1;font-variant-numeric:tabular-nums}
.tl-pg .st-lock .st-ghost{margin-top:6px}
.tl-pg .st-bar{height:10px;border-radius:999px;background:var(--z-line);overflow:hidden;margin:8px auto 12px;max-width:520px}
.tl-pg .st-bar i{display:block;height:100%;width:100%;background:var(--z-hot);border-radius:999px}
.tl-pg .st-res{text-align:center;padding:10px 0}
.tl-pg .st-res-k{font-family:var(--z-disp);font-size:20px;letter-spacing:.16em;color:var(--z-hot)}
.tl-pg .st-res-v{font-family:var(--z-disp);font-size:clamp(64px,20vw,104px);line-height:1}
.tl-pg .st-res-v.st-out{color:var(--z-mute)}
.tl-pg .st-res-b{font-size:13.5px;color:var(--z-ink2);margin-top:6px;line-height:1.7}
.tl-pg .st-res-n{font-size:13px;line-height:1.8;color:var(--z-ink2);max-width:520px;margin:10px auto 0;padding:11px 13px;border-radius:14px;background:var(--z-bg)}
.tl-pg .st-res-c{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}

/* 画面いっぱいの覆い */
.tl-pg .st-ov{position:fixed;inset:0;z-index:2147483200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:var(--z-ink);color:var(--z-card);text-align:center;cursor:pointer}
.tl-pg .st-ov-c{position:relative;display:flex;flex-direction:column;align-items:center}
.tl-pg .st-ov.st-ov-dot:not(.st-ov-white):not(.st-ov-fire){background:var(--z-card);color:var(--z-ink)}
.tl-pg .st-pt{display:block;width:16px;height:16px;border-radius:50%;background:currentColor}
.tl-pg .st-flame{display:block;position:relative;width:34px;height:64px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:var(--z-orange);transform-origin:50% 100%}
.tl-pg .st-flame i{position:absolute;left:50%;bottom:4px;width:16px;height:32px;translate:-50% 0;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:var(--z-sun)}
.tl-pg .st-candle{display:block;width:26px;height:110px;margin-top:6px;border-radius:5px 5px 2px 2px;background:var(--z-bg)}
.tl-pg .st-ov-left{font-family:var(--z-disp);font-size:26px;letter-spacing:.06em;opacity:.55;font-variant-numeric:tabular-nums}
.tl-pg .st-ov-dot .st-ov-left{position:absolute;bottom:calc(64px + env(safe-area-inset-bottom));left:0;right:0;font-size:18px;opacity:.35}
.tl-pg .st-ov-tap{position:absolute;bottom:calc(32px + env(safe-area-inset-bottom));left:0;right:0;font-size:12px;opacity:.4}
.tl-pg .st-ov-msg{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:420px;font-size:15px;line-height:1.8;cursor:default}
.tl-pg .st-ov-big{font-family:var(--z-maru);font-weight:900;font-size:clamp(28px,8vw,40px);line-height:1.3}
.tl-pg .st-ov .st-ghost{border-color:var(--z-mute);background:none;color:var(--z-card)}
.tl-pg .st-ov.st-ov-done{background:var(--z-bg);color:var(--z-ink);cursor:default}
.tl-pg .st-ov-num{font-family:var(--z-disp);font-size:clamp(150px,52vw,300px);line-height:.9;color:var(--z-sun);font-variant-numeric:tabular-nums}
.tl-pg .st-ov-num.st-go-now{color:var(--z-hot)}
.tl-pg .st-ov-eye .st-ov-num{font-size:clamp(96px,30vw,160px)}
.tl-pg .st-ov-sub{font-family:var(--z-maru);font-weight:900;font-size:18px}
.tl-pg .st-ov-nap{cursor:default}
.tl-pg .st-ov.st-ov-wake{background:var(--z-sun);color:var(--z-ink)}

/* ---------- 環境音ミキサー ---------- */
.tl-pg .st-sn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tl-pg .st-sn-s{border:1.5px solid var(--z-line);border-radius:16px;background:var(--z-card);padding:4px 10px 6px;min-width:0}
.tl-pg .st-sn-s.st-on{border-color:var(--z-ink);background:var(--z-sun)}
.tl-pg .st-sn-t{width:100%;min-height:52px;display:flex;align-items:center;gap:9px;border:0;background:none;text-align:left;padding:4px 0}
.tl-pg .st-sn-t span{display:flex;flex-direction:column;min-width:0}
.tl-pg .st-sn-t b{font-family:var(--z-maru);font-weight:900;font-size:14px;line-height:1.3}
.tl-pg .st-sn-t small{font-family:var(--z-disp);font-size:12px;letter-spacing:.08em;color:var(--z-mute);line-height:1.2}
.tl-pg .st-sn-s.st-on small{color:var(--z-ink2)}
.tl-pg .st-sn-eq{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--z-ink);display:flex;align-items:center;justify-content:center;gap:2px;background:var(--z-card)}
.tl-pg .st-sn-eq i{display:block;width:3px;height:3px;border-radius:2px;background:var(--z-ink)}
.tl-pg .st-sn-s.st-on .st-sn-eq{background:var(--z-ink)}
.tl-pg .st-sn-s.st-on .st-sn-eq i{background:var(--z-sun);height:10px}
.tl-pg .st-sn-s.st-on .st-sn-eq i:nth-child(2){height:15px}
.tl-pg .st-sn-s input{display:block}
.tl-pg .st-sn-bar{display:grid;gap:8px;margin-top:14px;padding:12px;border-radius:16px;background:var(--z-bg);border:1.5px solid var(--z-line)}
.tl-pg .st-sn-stop{width:100%}
.tl-pg .st-sn-mv{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;font-size:13px;font-weight:700;min-height:44px}
.tl-pg .st-sn-tm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700}
.tl-pg .st-sn-tm b{font-family:var(--z-disp);font-weight:400;font-size:18px;color:var(--z-hot)}

/* ---------- 今日やること・テストまであと何日 ---------- */
.tl-pg .st-addf{display:flex;gap:8px}
.tl-pg .st-addf input{flex:1 1 0}
.tl-pg .st-addf .st-pill{flex:none;padding:8px 18px}
.tl-pg .st-addf2{flex-wrap:wrap}
.tl-pg .st-addf2 input[type=text]{flex:1 1 100%}
.tl-pg .st-prog{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--z-ink2)}
.tl-pg .st-prog:empty{display:none}
.tl-pg .st-prog>i{flex:1;height:10px;border-radius:999px;background:var(--z-line);overflow:hidden}
.tl-pg .st-prog>i>i{display:block;height:100%;background:var(--z-mint);border-radius:999px;transition:width .3s}
.tl-pg .st-todo-l,.tl-pg .st-cd-l{margin-top:10px}
.tl-pg .st-todo-l li{display:flex;align-items:center;gap:4px;border-bottom:1.5px solid var(--z-line)}
.tl-pg .st-todo-l label{flex:1;min-width:0;display:flex;align-items:center;gap:11px;min-height:50px;padding:6px 0;cursor:pointer;font-size:15px;line-height:1.5}
.tl-pg .st-todo-l input{width:24px;height:24px;flex:none;accent-color:var(--z-mint)}
.tl-pg .st-todo-l span{min-width:0;overflow-wrap:anywhere}
.tl-pg .st-todo-l .st-done span{text-decoration:line-through;color:var(--z-mute)}
.tl-pg .st-todo-l button,.tl-pg .st-cd-l button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:none;font-size:22px;line-height:1;color:var(--z-mute)}
.tl-pg .st-empty{font-size:13px;line-height:1.8;color:var(--z-mute);padding:12px 2px;border:0!important}
.tl-pg .st-foot{margin-top:10px;text-align:right}
.tl-pg .st-foot:has([hidden]){display:none}
.tl-pg .st-cd-l li{display:flex;align-items:center;gap:6px;padding:8px 0 8px 12px;border-radius:14px;border:1.5px solid var(--z-line);margin-bottom:8px;background:var(--z-card)}
.tl-pg .st-cd-l li.st-soon{border-color:var(--z-ink);background:var(--z-sun2)}
.tl-pg .st-cd-l li.st-past{opacity:.6}
.tl-pg .st-cd-n{flex:1;min-width:0;font-family:var(--z-maru);font-weight:900;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.tl-pg .st-cd-n small{display:block;font-family:var(--jp);font-weight:400;font-size:12px;color:var(--z-ink2)}
.tl-pg .st-cd-d{flex:none;display:flex;align-items:baseline;gap:3px}
.tl-pg .st-cd-d b{font-family:var(--z-disp);font-weight:400;font-size:40px;line-height:1;color:var(--z-hot)}
.tl-pg .st-cd-d small{font-size:12px;font-weight:700}
.tl-pg .st-cd-d .st-cd-now,.tl-pg .st-cd-d .st-cd-past{font-family:var(--z-maru);font-weight:900;font-size:18px}
.tl-pg .st-cd-d .st-cd-past{color:var(--z-mute)}

/* ---------- 呼吸ガイド ---------- */
.tl-pg .st-br-in{display:grid;gap:14px}
.tl-pg .st-br-stage{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}
.tl-pg .st-ball{width:210px;height:210px;border-radius:50%;background:var(--z-sky);color:var(--z-card);display:grid;place-items:center;transform:scale(.62);transition:transform 1.2s ease-in-out,background-color .6s}
.tl-pg .st-ball.st-b-in,.tl-pg .st-ball.st-b-hold{transform:scale(.9)}
.tl-pg .st-ball.st-b-in2{transform:scale(1)}
.tl-pg .st-ball.st-b-hold{background:var(--z-vio)}
.tl-pg .st-ball.st-b-out,.tl-pg .st-ball.st-b-hold2{transform:scale(.56);background:var(--z-mint)}
.tl-pg .st-ball.st-b-hold2{background:var(--z-vio)}
.tl-pg .st-cue{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.3}
.tl-pg .st-cue b{font-family:var(--z-disp);font-weight:400;font-size:26px;letter-spacing:.05em}
.tl-pg .st-cue small{font-size:14px;font-weight:700}
.tl-pg .st-left{font-size:13px;color:var(--z-ink2);min-height:1.5em}

/* ---------- 頭の体操＆パズル ---------- */
.tl-pg .st-info{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-size:13.5px;color:var(--z-ink2);margin-bottom:10px;line-height:1.3;align-items:baseline}
.tl-pg .st-info b{font-family:var(--z-disp);font-weight:400;font-size:24px;color:var(--z-ink);font-variant-numeric:tabular-nums}
.tl-pg .st-info .st-big{font-size:36px;color:var(--z-hot)}
/* 数独 */
.tl-pg .st-sdk-wrap{display:grid;gap:12px;justify-items:center}
.tl-pg .st-sdk{display:grid;grid-template-columns:repeat(9,1fr);width:min(100%,432px);aspect-ratio:1;border:2.5px solid var(--z-ink);border-radius:10px;overflow:hidden;background:var(--z-card)}
.tl-pg .st-sdk-c{border:0;border-right:1px solid var(--z-line);border-bottom:1px solid var(--z-line);background:var(--z-card);font-family:var(--z-disp);font-size:clamp(20px,6.2vw,28px);line-height:1;padding:0;color:var(--z-sky);min-width:0}
.tl-pg .st-sdk-c:nth-child(9n){border-right:0}
.tl-pg .st-sdk-c:nth-child(n+73){border-bottom:0}
.tl-pg .st-sdk-c.st-rb{border-right:2px solid var(--z-ink)}
.tl-pg .st-sdk-c.st-bb{border-bottom:2px solid var(--z-ink)}
.tl-pg .st-sdk-c.st-given{color:var(--z-ink)}
.tl-pg .st-sdk-c.st-peer{background:var(--z-bg)}
.tl-pg .st-sdk-c.st-same{background:var(--z-sun2)}
.tl-pg .st-sdk-c.st-sel{background:var(--z-sun)}
.tl-pg .st-sdk-c.st-bad{color:var(--z-hot);text-decoration:underline}
.tl-pg .st-sdk-pad{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;width:min(100%,432px)}
.tl-pg .st-sdk-pad button{min-height:50px;border-radius:12px;border:1.5px solid var(--z-line);background:var(--z-card);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;padding:2px}
.tl-pg .st-sdk-pad b{font-family:var(--z-disp);font-weight:400;font-size:25px}
.tl-pg .st-sdk-pad small{font-size:10px;color:var(--z-mute);min-height:10px}
.tl-pg .st-sdk-pad .st-done{opacity:.3}
.tl-pg .st-sdk-pad .st-sdk-x{grid-column:span 3;font-weight:700;font-size:13.5px;background:var(--z-bg)}
/* 15パズル */
.tl-pg .st-sld{position:relative;width:min(100%,360px);aspect-ratio:1;margin:0 auto;border-radius:14px;background:var(--z-line);border:2.5px solid var(--z-ink);overflow:hidden}
.tl-pg .st-sld-t{position:absolute;left:0;top:0;width:calc(100%/var(--n));height:calc(100%/var(--n));border:2px solid var(--z-line);border-radius:12px;background:var(--z-card);font-family:var(--z-disp);font-size:clamp(24px,8vw,38px);line-height:1;padding:0;transition:transform .12s}
.tl-pg .st-sld-t.st-ok{background:var(--z-sun)}
.tl-pg .st-sld.st-win .st-sld-t{background:var(--z-mint);color:var(--z-card)}
/* ライツアウト */
.tl-pg .st-lo{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;width:min(100%,340px);margin:0 auto;padding:10px;border-radius:16px;background:var(--z-ink)}
.tl-pg .st-lo-c{aspect-ratio:1;border:0;border-radius:11px;background:color-mix(in srgb,var(--z-card) 14%,var(--z-ink));padding:0}
.tl-pg .st-lo-c.st-on{background:var(--z-sun)}
.tl-pg .st-lo.st-win .st-lo-c{background:var(--z-mint)}
/* ハノイの塔 */
.tl-pg .st-hn{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:min(100%,480px);margin:0 auto}
.tl-pg .st-hn-p{position:relative;height:calc(var(--n)*22px + 62px);border:1.5px solid var(--z-line);border-radius:14px;background:var(--z-bg);display:flex;flex-direction:column-reverse;align-items:center;gap:2px;padding:0 4px 8px;min-width:0}
.tl-pg .st-hn-p.st-pick{border-color:var(--z-ink);background:var(--z-sun2)}
.tl-pg .st-hn-rod{position:absolute;left:50%;bottom:8px;top:26px;width:6px;translate:-50% 0;border-radius:3px;background:var(--z-ink)}
.tl-pg .st-hn-d{position:relative;display:block;height:20px;width:calc(26% + var(--w)*74%/var(--n));border-radius:999px;border:2px solid var(--z-ink);flex:none}
.tl-pg .st-hn-d.st-up{translate:0 -16px}
/* シュルテ表 */
.tl-pg .st-shl{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:5px;width:min(100%,400px);margin:0 auto}
.tl-pg .st-shl-c{aspect-ratio:1;border:1.5px solid var(--z-line);border-radius:11px;background:var(--z-card);font-family:var(--z-disp);font-size:clamp(20px,6.4vw,30px);line-height:1;padding:0;min-width:0}
.tl-pg .st-shl-c.st-done{background:var(--z-ink);color:color-mix(in srgb,var(--z-card) 35%,var(--z-ink));border-color:var(--z-ink)}
/* 計算・数字記憶 */
.tl-pg .st-mq{font-family:var(--z-disp);font-size:clamp(44px,13vw,64px);line-height:1.1;text-align:center}
.tl-pg .st-ma,.tl-pg .st-dg{font-family:var(--z-disp);font-size:clamp(48px,14vw,68px);line-height:1.1;text-align:center;min-height:1.1em;color:var(--z-hot);letter-spacing:.04em}
.tl-pg .st-dg{font-size:clamp(72px,24vw,112px);color:var(--z-ink);display:flex;align-items:center;justify-content:center;min-height:1.25em}
.tl-pg .st-dg.st-go-now{font-family:var(--z-maru);font-weight:900;font-size:26px;color:var(--z-mint)}
.tl-pg .st-mpad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(100%,320px);margin:12px auto 0}
.tl-pg .st-mpad button{min-height:54px;border-radius:14px;border:1.5px solid var(--z-line);background:var(--z-card);font-family:var(--z-disp);font-size:28px;line-height:1;padding:0}
.tl-pg .st-mpad button:nth-child(10),.tl-pg .st-mpad button:nth-child(12){font-family:var(--jp);font-weight:700;font-size:13px;background:var(--z-bg)}
.tl-pg .st-mpad .st-blank{visibility:hidden}
.tl-pg .st-mpad.st-off{opacity:.35;pointer-events:none}
/* 反応速度 */
.tl-pg .st-rx{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:260px;border:2.5px solid var(--z-ink);border-radius:18px;background:var(--z-sun);margin-bottom:12px;padding:16px;touch-action:none;user-select:none;-webkit-user-select:none}
.tl-pg .st-rx b{font-family:var(--z-maru);font-weight:900;font-size:24px;line-height:1.4}
.tl-pg .st-rx small{font-size:13px;color:var(--z-ink2)}
.tl-pg .st-rx.st-wait{background:var(--z-hot);color:var(--z-card)}
.tl-pg .st-rx.st-now{background:var(--z-mint);color:var(--z-card)}
.tl-pg .st-rx.st-early{background:var(--z-ink);color:var(--z-card)}
.tl-pg .st-rx.st-early small{color:var(--z-sun)}
.tl-pg .st-rx-l{min-height:28px}
/* ストループ */
.tl-pg .st-str-demo{text-align:center;font-size:14px;margin-bottom:8px;padding:12px;border-radius:14px;background:var(--z-ink);color:var(--z-card)}
.tl-pg .st-str-demo span{font-family:var(--z-disp);font-size:30px;letter-spacing:.06em;vertical-align:-4px;margin-right:4px}
.tl-pg .st-str-demo b{font-family:var(--z-disp);font-weight:400;font-size:22px;letter-spacing:.06em;color:var(--z-sun)}
.tl-pg .st-str-w{font-family:var(--z-disp);font-size:clamp(50px,15.5vw,88px);line-height:1;letter-spacing:.03em;text-align:center;padding:28px 4px 22px;border-radius:18px;background:var(--z-ink);margin-bottom:12px;overflow:hidden;white-space:nowrap}
.tl-pg .st-str-b{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tl-pg .st-str-b button{min-height:54px;border-radius:14px;border:2px solid var(--z-ink);background:var(--z-card);font-family:var(--z-disp);font-size:19px;letter-spacing:.03em;padding:0;min-width:0}

/* ---------- ツボ・食べ物・お腹 ---------- */
.tl-pg .st-warn{font-size:13px;line-height:1.8;color:var(--z-ink2);padding:12px 14px;border-radius:14px;background:var(--z-sun2);border:1.5px solid var(--z-sun);margin-bottom:14px}
.tl-pg .st-ts,.tl-pg .st-fd{display:grid;gap:12px}
.tl-pg .st-t,.tl-pg .st-fd>li,.tl-pg .st-sto{border:1.5px solid var(--z-line);border-radius:16px;padding:14px;background:var(--z-card);min-width:0}
.tl-pg .st-t.st-pressing{border-color:var(--z-ink)}
.tl-pg .st-t.st-push{background:var(--z-sun2)}
.tl-pg .st-th{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-bottom:10px}
.tl-pg .st-th p b{font-family:var(--z-maru);font-weight:900;font-size:22px;line-height:1.2}
.tl-pg .st-th p small{margin-left:8px;font-size:12.5px;color:var(--z-mute)}
.tl-pg .st-tags{display:flex;flex-wrap:wrap;gap:5px}
.tl-pg .st-tags em{font-style:normal;font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--z-ink);color:var(--z-card);line-height:1.6}
.tl-pg .st-t dl{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;font-size:13.5px;line-height:1.75}
.tl-pg .st-t dt{font-weight:700;color:var(--z-hot);white-space:nowrap}
.tl-pg .st-t dd{color:var(--z-ink2);min-width:0}
.tl-pg .st-tgo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}
.tl-pg .st-pr{font-size:14px;line-height:1.5}
.tl-pg .st-pr b{font-family:var(--z-maru);font-weight:900;color:var(--z-hot)}
.tl-pg .st-pr small{color:var(--z-mute)}
.tl-pg .st-srcs{margin-top:10px;font-size:12px;color:var(--z-mute)}
.tl-pg .st-srcs summary{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;font-weight:700}
.tl-pg .st-srcs ul{display:grid;gap:6px;padding:2px 0 4px}
.tl-pg .st-srcs a{display:flex;align-items:center;min-height:44px;color:var(--z-ink2);overflow-wrap:anywhere;line-height:1.6}
.tl-pg .st-fd h3{font-family:var(--z-maru);font-weight:900;font-size:17px;line-height:1.4;margin-bottom:6px}
.tl-pg .st-fd>li>p,.tl-pg .st-sto p{font-size:13.5px;line-height:1.85;color:var(--z-ink2)}
.tl-pg .st-fd>li>ul,.tl-pg .st-sto ol{margin-top:10px;display:grid;gap:7px;font-size:13.5px;line-height:1.75}
.tl-pg .st-fd>li>ul>li{position:relative;padding-left:16px}
.tl-pg .st-fd>li>ul>li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--z-sun);border:1.5px solid var(--z-ink)}
.tl-pg .st-sto ol{counter-reset:st-n}
.tl-pg .st-sto ol li{counter-increment:st-n;display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}
.tl-pg .st-sto ol li::before{content:counter(st-n);width:26px;height:26px;border-radius:50%;background:var(--z-ink);color:var(--z-card);font-family:var(--z-disp);font-size:16px;display:grid;place-items:center;line-height:1}
.tl-pg .st-why b{display:block;font-family:var(--z-maru);font-weight:900;font-size:16px;color:var(--z-ink);margin-bottom:4px}
.tl-pg .st-sto .st-sto-n{margin-top:12px;padding:11px 13px;border-radius:14px;background:var(--z-bg)}

/* ---------- 広い画面 ---------- */
@media (min-width:720px){
  .tl-pg .st-wrap{padding:18px 24px 72px}
  .tl-pg .st-card{padding:26px 26px}
  .tl-pg .st-two{grid-template-columns:1fr 1fr;align-items:start}
  .tl-pg .st-tiles{grid-template-columns:1fr 1fr}
  .tl-pg .st-games{grid-template-columns:repeat(3,1fr)}
  .tl-pg .st-sn-grid{grid-template-columns:repeat(4,1fr)}
  .tl-pg .st-ex-st{grid-template-columns:repeat(4,1fr)}
  .tl-pg .st-ex-main{flex-direction:row;justify-content:center;gap:28px}
  .tl-pg .st-ex-hms{flex-direction:column}
  .tl-pg .st-set-in{grid-template-columns:repeat(4,1fr)}
  .tl-pg .st-br-in{grid-template-columns:260px 1fr;align-items:center;gap:28px}
  .tl-pg .st-ts,.tl-pg .st-fd{grid-template-columns:1fr 1fr;align-items:start}
  .tl-pg .st-sn-bar{grid-template-columns:1fr 1fr;align-items:center}
  .tl-pg .st-stage-body{padding:22px 22px 24px}
}
@media (hover:hover){
  .tl-pg .st-toc a:hover,.tl-pg .st-tile:hover,.tl-pg .st-chips button:hover,.tl-pg .st-ghost:hover,.tl-pg .st-ib:hover,.tl-pg .st-zen:hover,.tl-pg .st-add button:hover{border-color:var(--z-ink)}
  .tl-pg .st-tile:hover{background:var(--z-sun2)}
}

/* ---------- 動き（動きを減らす設定の時は止める） ---------- */
@keyframes st-flash{0%,100%{background-color:var(--z-card)}50%{background-color:var(--z-sun2)}}
@keyframes st-eq{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@keyframes st-flick{0%,100%{transform:scale(1,1) rotate(-1.5deg)}30%{transform:scale(.96,1.05) rotate(1.5deg)}60%{transform:scale(1.03,.96) rotate(-.5deg)}}
@keyframes st-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
html.mo .tl-pg .st-pomo.st-flash:not(.st-zen-on){animation:st-flash 1s ease-in-out 4}
html.mo .tl-pg .st-pomo.st-end .st-time{animation:st-beat 1s ease-in-out infinite}
html.mo .tl-pg .st-sn-s.st-on .st-sn-eq i{animation:st-eq .9s ease-in-out infinite;transform-origin:50% 100%}
html.mo .tl-pg .st-sn-s.st-on .st-sn-eq i:nth-child(2){animation-delay:.2s}
html.mo .tl-pg .st-sn-s.st-on .st-sn-eq i:nth-child(3){animation-delay:.45s}
html.mo .tl-pg .st-flame{animation:st-flick 1.7s ease-in-out infinite}
html.mo .tl-pg .st-hn-d{transition:translate .12s}
html.mo .tl-pg .st-toast{transition:opacity .2s}
html:not(.mo) .tl-pg .st-ring-fg,html:not(.mo) .tl-pg .st-sld-t,html:not(.mo) .tl-pg .st-goal i,html:not(.mo) .tl-pg .st-prog>i>i{transition:none}
