:root{--bg:#f4f1ea;--surface:#fffdf8;--text:#1d1f24;--muted:#6b6a66;--line:#e4dfd4;--accent:#1f7a5a;--accent-soft:#dcefe6;--accent-text:#fff;--warn:#c2410c;--warn-soft:#fde7da;--danger:#b42318;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#16181d;--surface:#1f2228;--text:#eceae4;--muted:#9a9890;--line:#2f333b;--accent:#3fb68b;--accent-soft:#1d3a30;--accent-text:#0d1a14;--warn:#fb923c;--warn-soft:#3d2516;--danger:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}.app{flex-direction:column;gap:16px;max-width:420px;margin:0 auto;padding:20px 16px 32px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.brand__mark{background:var(--accent);width:24px;height:24px;color:var(--accent-text);border-radius:6px;place-items:center;font-size:14px;display:inline-grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.label{color:var(--accent);margin:0;font-size:14px;font-weight:600}.countdown{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:4px 0 12px;font-size:clamp(44px,16vw,64px);font-weight:700;line-height:1.05}.progress{background:var(--accent-soft);border-radius:999px;height:6px;overflow:hidden}.progress__bar{background:var(--accent);border-radius:inherit;width:0;height:100%;transition:width 1s linear}body[data-urgent=true] .label{color:var(--warn)}body[data-urgent=true] .progress{background:var(--warn-soft)}body[data-urgent=true] .progress__bar{background:var(--warn)}.facts{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;margin:16px 0 0;display:grid}.facts div{min-width:0}.facts dt{color:var(--muted);font-size:12px}.facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:600}.switch{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;margin-top:16px;padding-top:16px;font-size:14px;display:flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch__track{background:var(--line);border-radius:999px;flex:none;width:40px;height:24px;transition:background .15s;position:relative}.switch__track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch__track{background:var(--accent)}.switch input:checked+.switch__track:after{transform:translate(16px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--accent);outline-offset:2px}.switch__text{flex-direction:column;gap:2px;display:flex}.switch__text strong{font-weight:600}.switch__detail{color:var(--muted);font-size:12px;line-height:1.5}.switch input:not(:checked)~.switch__text strong{color:var(--muted)}.record{flex-direction:column;gap:10px;display:flex}.btn{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;padding:14px 16px;font-size:16px;font-weight:700;transition:background .15s,color .15s,border-color .15s}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:var(--accent-text);padding:18px 16px;font-size:18px}.btn--secondary{background:var(--surface);border-color:var(--line);color:var(--text);font-size:15px;font-weight:600}.btn--ghost{border-color:var(--line);color:var(--muted);background:0 0;font-size:15px;font-weight:600}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn--small{background:var(--accent);color:var(--accent-text);white-space:nowrap;padding:8px 12px;font-size:13px}.btn--block{width:100%}.confirm{grid-template-columns:1fr 1fr;gap:10px;display:grid}.confirm .btn--ghost{color:var(--text)}.banner{background:var(--accent-soft);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:flex}.banner p{flex:1;margin:0}[hidden]{display:none!important}
