:root{
  --paper:#faf7f1; --panel:#fffdf9; --sunken:#f1ebe0;
  --ink:#231a12; --ink-2:#6a5949; --ink-3:#9c8b79;
  --rule:#e4dac9; --rule-2:#cfc0aa;
  --stamp:#a32c1c;                       /* 도장 잉크 */
  --stamp-soft:#f6e3de;
  /* 굽기 5단계 — 진행률 막대가 이 순서로 익는다 */
  --bake-0:#efe4cf; --bake-1:#dcbb85; --bake-2:#c08c4c; --bake-3:#9a5f28; --bake-4:#653413;
  --A:#a32c1c; --B:#3f6b34; --C:#2b5c7a; --D:#6e3b63; --E:#8a6a16;
  --open:#2e6b3a; --open-bg:#e4efe2;
  --shut:#a32c1c; --shut-bg:#f9e7e3;
  --idle:#8a7a68; --idle-bg:#efe9df;
  --warn:#8a5b12; --warn-bg:#fbf0d9;
  --me:#2b5c7a;
  --shadow:0 -12px 34px rgba(35,26,18,.18);
  --r:5px;
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#17120e; --panel:#1e1813; --sunken:#261e18;
    --ink:#f2eae0; --ink-2:#c0b0a0; --ink-3:#8d7e6f;
    --rule:#332920; --rule-2:#463a2e;
    --stamp:#e0705c; --stamp-soft:#3a1d17;
    --bake-0:#3a2f22; --bake-1:#7a5730; --bake-2:#a87840; --bake-3:#c99a5c; --bake-4:#e6c48c;
    --A:#e0705c; --B:#79ad68; --C:#6ba3c8; --D:#b981ac; --E:#d3ab46;
    --open:#79ad68; --open-bg:#1d2a1a;
    --shut:#e0705c; --shut-bg:#331813;
    --idle:#9b8b79; --idle-bg:#2a221b;
    --warn:#dfae5c; --warn-bg:#2c2314;
    --me:#6ba3c8;
    --shadow:0 -12px 34px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"]{
  --paper:#17120e; --panel:#1e1813; --sunken:#261e18;
  --ink:#f2eae0; --ink-2:#c0b0a0; --ink-3:#8d7e6f;
  --rule:#332920; --rule-2:#463a2e;
  --stamp:#e0705c; --stamp-soft:#3a1d17;
  --bake-0:#3a2f22; --bake-1:#7a5730; --bake-2:#a87840; --bake-3:#c99a5c; --bake-4:#e6c48c;
  --A:#e0705c; --B:#79ad68; --C:#6ba3c8; --D:#b981ac; --E:#d3ab46;
  --open:#79ad68; --open-bg:#1d2a1a;
  --shut:#e0705c; --shut-bg:#331813;
  --idle:#9b8b79; --idle-bg:#2a221b;
  --warn:#dfae5c; --warn-bg:#2c2314;
  --me:#6ba3c8;
  --shadow:0 -12px 34px rgba(0,0,0,.55);
}



*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);
  font-family:"Gowun Dodum","Apple SD Gothic Neo",system-ui,sans-serif;
  font-size:15.5px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
a{color:inherit}
.ph{display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:12px 16px;background:var(--panel);border-bottom:2px solid var(--ink)}
.wm{font-family:"Hahmlet",serif;font-weight:800;font-size:19px;text-decoration:none;letter-spacing:-.02em}
.wm span{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:15px;color:var(--stamp)}
.tomap{font-size:12.5px;font-weight:600;color:var(--ink-2);text-decoration:none;
       border:1.5px solid var(--rule-2);border-radius:6px;padding:6px 10px}
.page{max-width:720px;margin:0 auto;padding:18px 16px 40px}
.crumb{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-3);margin-bottom:14px}
.crumb a{text-decoration:none}
.code{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:600;
      color:#fff;padding:3px 9px;border-radius:4px;margin-bottom:8px}
h1{font-family:"Hahmlet",serif;font-weight:800;font-size:29px;letter-spacing:-.03em;
   margin:0 0 6px;line-height:1.25;text-wrap:balance}
.addr{margin:0;color:var(--ink-2);font-size:14.5px}
.lead{color:var(--ink-2);font-size:14.5px;margin:0 0 18px}
h2{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-3);
   text-transform:uppercase;margin:26px 0 9px;font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.tags span{font-size:11.5px;padding:3px 8px;border:1px solid var(--rule-2);border-radius:4px;color:var(--ink-3)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.week .d{text-align:center;padding:8px 2px;border-radius:5px;background:var(--sunken)}
.week .dl{font-size:11.5px;color:var(--ink-3)}
.week .dv{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink-2);margin-top:3px;line-height:1.3}
.week .d.rest{background:var(--shut-bg)}
.week .d.rest .dv{color:var(--shut)}
.kv{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule)}
.kv .k{flex:0 0 60px;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-3);padding-top:3px}
.kv .v{flex:1}
.muted{color:var(--ink-3)}
.warn{margin-top:10px;padding:10px 12px;border-left:3px solid var(--warn);background:var(--warn-bg);
      font-size:13px;line-height:1.6;color:var(--warn);border-radius:0 5px 5px 0}
.navs{display:flex;gap:7px;flex-wrap:wrap}
.navs a{flex:1;min-width:110px;text-align:center;padding:12px 8px;border:1.5px solid var(--rule-2);
        border-radius:6px;background:var(--panel);font-weight:600;font-size:14px;text-decoration:none}
.sim ul,.blist{list-style:none;margin:0;padding:0}
.sim li a,.blist li a{display:flex;align-items:center;gap:10px;padding:12px 0;
                      border-bottom:1px solid var(--rule);text-decoration:none}
.sq{flex:0 0 auto;width:6px;height:26px;border-radius:2px}
.sim .nm,.blist .nm{flex:1;font-weight:600;font-size:15px}
.sim .why,.blist .meta{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-3);text-align:right}
.same .chips{display:flex;flex-wrap:wrap;gap:6px}
.same .chips a{font-size:13px;padding:6px 11px;border:1.5px solid var(--rule-2);border-radius:999px;
               text-decoration:none;color:var(--ink-2)}
.back{margin-top:30px}
.back a{font-size:14px;font-weight:600;text-decoration:none}
.pf{padding:18px 16px 30px;background:var(--sunken);border-top:1px solid var(--rule)}
.pf .src{font-size:11px;line-height:1.6;color:var(--ink-3);max-width:720px;margin:0 auto}
.pf .cr{max-width:720px;margin:8px auto 0;font-family:"IBM Plex Mono",monospace;
        font-size:11.5px;color:var(--ink-2)}
.pf .cr b{color:var(--ink)}
