/* Shared tokens. Ink-and-paper comic look: white paper, black panel ink, one yellow highlighter accent. */
:root{
  --paper:#FAFAF7;
  --card:#FFFFFF;
  --ink:#121214;
  --ink-2:#4A4C55;
  --muted:#80838C;
  --line:#E3E2DC;
  --accent:#FFD21F;
  --accent-ink:#1A1600;
  --red:#E5322D;
  --ok:#1E8E5A;
  --gutter:#0E0F12;
  --display:"Black Han Sans","Noto Sans KR","Malgun Gothic",sans-serif;
  --body:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;
  --r:10px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#111214; --card:#1A1B1F; --ink:#F1F1EE; --ink-2:#C2C3C9; --muted:#8C8F98; --line:#2B2C33;
    --accent:#FFD21F; --accent-ink:#1A1600; --red:#FF5A55; --ok:#4CC48A; --gutter:#000;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--body);-webkit-tap-highlight-color:transparent}
a{color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--ink);background:var(--card);
  border-radius:8px;padding:9px 14px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--ink)}
.btn.ghost{border-color:var(--line)}
.btn.danger{border-color:var(--red);color:var(--red)}
.btn:disabled{opacity:.5;cursor:default}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;border-radius:4px;padding:1px 7px;border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.chip.up{background:var(--red);border-color:var(--red);color:#fff}
.chip.day{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.muted{color:var(--muted)}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:var(--paper);
  padding:10px 16px;border-radius:999px;font-size:14px;z-index:99;box-shadow:0 8px 24px rgb(0 0 0 / .25);max-width:calc(100% - 32px)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
