:root{--bg:#f4f5f7;--card:#fff;--text:#222;--sub:#555;--line:#e3e5e8;--bd:#bbb;--acc:#d35400;--acc2:#2e6fab;--soft:#f4f5f7}
@media (prefers-color-scheme:dark){:root{--bg:#16181c;--card:#21252b;--text:#e8e8e8;--sub:#aab0b8;--line:#33383f;--bd:#555c66;--acc:#f08a3c;--acc2:#5aa9e0;--soft:#2a2f36}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--text);line-height:1.8;word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
header{background:var(--card);border-bottom:1px solid var(--line)}
.bar{max-width:760px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between}
.logo{font-weight:700;font-size:1.15rem;color:var(--acc);text-decoration:none}
nav a{color:var(--sub);text-decoration:none;font-size:.9rem;margin-right:14px;display:inline-block}
nav a:hover{text-decoration:underline}
main{max-width:760px;margin:0 auto;padding:20px 16px 40px}
h1{font-size:1.4rem;margin:.2em 0 .8em;line-height:1.4}
h2{font-size:1.15rem;margin:1.8em 0 .5em;line-height:1.4}
h3{font-size:1rem;margin:1.2em 0 .3em}
.card,.tool{background:var(--card);border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.desc p,.desc li,.page p,.page li{font-size:.95rem}
footer{background:var(--card);border-top:1px solid var(--line);text-align:center;padding:20px 16px;font-size:.85rem;color:var(--sub)}
footer a{color:var(--sub);margin:0 8px;display:inline-block}
footer p{margin:.4em 0}
a{color:var(--acc2)}
button,select,input{font:inherit;color:var(--text)}
button{padding:9px 14px;border:1px solid var(--bd);border-radius:6px;background:var(--card);font-size:.9rem;cursor:pointer}
button:hover{opacity:.85}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
.timer{text-align:center;padding:6px 0 4px}
.time{font-size:5rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--acc);margin:8px 0}
.ctrl{display:flex;gap:10px;justify-content:center;align-items:center;margin:8px 0;flex-wrap:wrap}
#go{min-width:9em;padding:12px 24px;font-size:1.1rem;font-weight:700;background:var(--acc);border-color:var(--acc);color:#fff}
#stopring{display:none;background:#c0392b;border-color:#c0392b;color:#fff;font-weight:700}
.info{font-size:.85rem;color:var(--sub);text-align:center;min-height:1.6em}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:10px 0}
.row label{font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:4px}
input[type=number],select{padding:9px;border:1px solid var(--bd);border-radius:6px;background:var(--card);font-size:1rem;min-width:0}
input.n{width:4.6em;text-align:center}
.presets button{padding:6px 12px}
.presets button.on{box-shadow:inset 0 0 0 2px var(--acc)}
.sec{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.links{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.links a{display:inline-block;padding:5px 12px;border:1px solid var(--bd);border-radius:6px;text-decoration:none;color:var(--text);background:var(--card)}
.links a.cur{box-shadow:inset 0 0 0 2px var(--acc);font-weight:700}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left}
th{background:var(--soft)}
body.flash{animation:fl .6s steps(1) infinite}
@keyframes fl{0%{background:var(--bg)}50%{background:#ffb74d}}
@media (prefers-color-scheme:dark){@keyframes fl{0%{background:var(--bg)}50%{background:#7a3d00}}}
.tool:fullscreen{display:flex;flex-direction:column;justify-content:center;border-radius:0}
.tool:fullscreen .time{font-size:min(22vw,24vh)}
@media (max-width:480px){.time{font-size:3.6rem}}
@media (prefers-reduced-motion:reduce){body.flash{animation:none;background:#ffb74d}}
