:root{--bg:#f4f6f5;--card:#fff;--fg:#111;--mut:#444;--pri:#0b7a5a;--warn:#b42318;--line:#d6dcd9}
[data-theme=dark]{--bg:#0f1412;--card:#1a211e;--fg:#f3f6f4;--mut:#c4ccc8;--pri:#3ecf9a;--warn:#ff8a80;--line:#2d3833}
@media(prefers-color-scheme:dark){[data-theme=auto]{--bg:#0f1412;--card:#1a211e;--fg:#f3f6f4;--mut:#c4ccc8;--pri:#3ecf9a;--warn:#ff8a80;--line:#2d3833}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:19px/1.55 -apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;padding-bottom:96px}
header{padding:18px 18px 4px}h1{margin:0;font-size:26px}.sub{margin:2px 0;color:var(--mut)}h2{font-size:22px;margin:0 0 10px}
main{padding:8px 14px;max-width:640px;margin:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin:12px 0}
button,.btn{font:inherit;font-size:20px;font-weight:700;border-radius:14px;border:2px solid var(--pri);background:var(--pri);color:#fff;padding:14px 18px;min-height:56px;width:100%;margin:6px 0;cursor:pointer}
[data-theme=dark] button,.btn{color:#04110c}button.ghost{background:transparent;color:var(--pri)}button.danger{background:var(--warn);border-color:var(--warn)}button.sel{outline:4px solid var(--fg)}
.row{display:flex;gap:10px}.row>*{flex:1}input,select{font:inherit;font-size:20px;width:100%;padding:12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--fg);min-height:54px}
label{display:block;margin:10px 0 4px;font-weight:700}input[type=range]{padding:0;accent-color:var(--pri)}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
nav button{background:none;border:0;color:var(--mut);font-size:22px;margin:0;padding:6px 0;border-radius:0;display:flex;flex-direction:column;align-items:center}nav button span{font-size:14px}nav button.on{color:var(--pri)}
.ring{display:flex;align-items:center;gap:16px}.big{font-size:40px;font-weight:800}.mut{color:var(--mut)}.bar{height:16px;background:var(--line);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--pri)}
.note{border-left:6px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--card))}.time{font-size:64px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.li button{width:auto;min-height:44px;padding:6px 12px;font-size:16px}
#modal{position:fixed;inset:0;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px;z-index:9}#modal[hidden]{display:none}#modal .card{max-width:520px;width:100%}
.tag{display:inline-block;background:color-mix(in srgb,var(--pri) 15%,var(--card));color:var(--pri);font-weight:700;border-radius:8px;padding:2px 8px;margin:0 0 6px}.cite{font-size:15px;color:var(--mut);border-top:1px solid var(--line);padding-top:8px}ul{padding-left:20px;margin:6px 0}li{margin:4px 0}

.plan{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.pd{min-height:64px;padding:6px 0;margin:0;font-size:15px;background:transparent;color:var(--mut);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center}.pd.on{border-color:var(--pri);color:var(--fg)}.pd.today{background:var(--pri);color:#fff;border-color:var(--pri)}.pd span{font-size:13px;font-weight:400}
.map{height:52vh;min-height:300px;border-radius:18px;border:1px solid var(--line);margin:12px 0}textarea{font:inherit;width:100%;padding:12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--fg)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chip{width:auto;min-height:40px;font-size:15px;padding:6px 10px;margin:0}
nav{z-index:1000}#modal{z-index:1100}
