:root{--plum-900:#2a1a3e;--plum-700:#4a2f6b;--plum-600:#5a3b85;--plum-500:#6d4aa3;--plum-300:#b6a0d4;--plum-100:#e9e0f3;--plum-50:#f5f0fa;--warm-bg:#f7f3ee;--warm-card:#fff;--warm-soft:#efeae3;--warm-line:#e6dfd5;--warm-line-strong:#d8cebf;--ink-900:#2a2530;--ink-700:#4a4350;--ink-500:#7a7184;--ink-400:#9a93a3;--ink-300:#bdb6c2;--rose-bg:#f5e8e3;--rose-text:#8a3a2c;--ok-bg:#e9efe6;--ok-text:#4d6a3e;--warn-bg:#f7ebd6;--warn-text:#7a5a1e;--kakao:#fee500;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 1px 2px #2a1a3e0a, 0 1px 1px #2a1a3e08;--shadow-md:0 4px 16px #2a1a3e0f, 0 1px 3px #2a1a3e0a;--shadow-lg:0 16px 48px #2a1a3e2e, 0 4px 12px #2a1a3e14;--font-display:"Pretendard", system-ui, -apple-system, sans-serif;--font-body:"Pretendard", system-ui, -apple-system, sans-serif;--font-serif:"Noto Serif KR", "Pretendard", Georgia, serif}[data-theme=dark]{--plum-900:#f0e8fa;--plum-700:#d4bff0;--plum-600:#b89cd9;--plum-500:#9c7fc2;--plum-300:#6a4f93;--plum-100:#3a2858;--plum-50:#2a1d42;--warm-bg:#1a1620;--warm-card:#221c2c;--warm-soft:#2c2538;--warm-line:#3a3146;--warm-line-strong:#4a3f5a;--ink-900:#f0e8fa;--ink-700:#c8bdd8;--ink-500:#948aa3;--ink-400:#6e667a;--ink-300:#4e4858;--rose-bg:#3d231d;--rose-text:#e8a89a;--ok-bg:#243024;--ok-text:#b6d0a4;--warn-bg:#3a2e18;--warn-text:#e6c684;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #0006, 0 1px 3px #00000040;--shadow-lg:0 16px 48px #0009, 0 4px 12px #0006}html,body{background:var(--warm-bg);color:var(--ink-900);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;word-break:keep-all;margin:0;padding:0}button,.text-input{word-break:keep-all}.nowrap{white-space:nowrap}*{box-sizing:border-box}button{font-family:inherit}input,textarea{color:inherit;font-family:inherit}.stage{background:var(--warm-bg);justify-content:center;min-height:100dvh;padding:0;display:flex}.frame{background:var(--warm-bg);width:100%;max-width:430px;min-height:100dvh;position:relative}[data-typo=sans] .display{font-family:var(--font-body);letter-spacing:-.01em}[data-typo=serif] .display{font-family:var(--font-serif);letter-spacing:-.005em}.display{font-family:var(--font-body);letter-spacing:-.01em}.r-sm{border-radius:calc(var(--radius-sm))}.r-md{border-radius:calc(var(--radius-md))}.r-lg{border-radius:calc(var(--radius-lg))}.r-pill{border-radius:var(--radius-pill)}:focus-visible{outline:2px solid var(--plum-500);outline-offset:2px}.toast{background:var(--ink-900);color:var(--warm-card);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:80;padding:12px 18px;font-size:14px;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(8px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.28s ease-out both fadeUp}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scrim{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.text-input{background:var(--warm-soft);border-radius:var(--radius-md);width:100%;color:var(--ink-900);border:1px solid #0000;padding:14px;font-size:15px;transition:background .16s,border-color .16s}.text-input::placeholder{color:var(--ink-400)}.text-input:focus{background:var(--warm-card);border-color:var(--plum-500);outline:none}.check-row{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:4px 0;display:flex}.check-box{border:1.5px solid var(--ink-300);border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:all .16s;display:inline-flex}.check-box[data-on=true]{background:var(--plum-700);border-color:var(--plum-700)}.cat-chip{white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--warm-line-strong);background:var(--warm-card);color:var(--ink-700);cursor:pointer;padding:14px 6px;font-size:14px;font-weight:500;transition:all .16s}.cat-chip:hover{border-color:var(--plum-500)}.cat-chip[data-on=true]{background:var(--plum-700);color:#fff;border-color:var(--plum-700);box-shadow:0 2px 8px #4a2f6b40}.day-tab{border-radius:var(--radius-md);border:1px solid var(--warm-line-strong);background:var(--warm-card);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:all .16s;display:flex}.day-tab .day-num{color:var(--ink-900);font-size:15px;font-weight:600;font-family:var(--font-display)}[data-typo=sans] .day-tab .day-num{font-family:var(--font-body)}.day-tab .day-meta{color:var(--ink-500);font-size:11px}.day-tab[data-on=true]{background:var(--plum-700);border-color:var(--plum-700)}.day-tab[data-on=true] .day-num{color:#fff}.day-tab[data-on=true] .day-meta{color:#ffffffbf}.slot-row{border-radius:var(--radius-md);border:1px solid var(--warm-line);background:var(--warm-card);cursor:pointer;text-align:left;color:var(--ink-900);font-family:var(--font-body);align-items:center;gap:12px;padding:14px 16px;transition:all .16s;display:flex}.slot-row .slot-badge{letter-spacing:.04em;background:var(--ok-bg);color:var(--ok-text);border-radius:999px;flex:none;padding:4px 10px;font-size:11px;font-weight:600}.slot-row .slot-time{font-variant-numeric:tabular-nums;font-size:15px;font-weight:500;font-family:var(--font-display)}[data-typo=sans] .slot-row .slot-time{font-family:var(--font-body)}.slot-row .slot-len{color:var(--ink-500);font-size:12px}.slot-row[data-state=on]{border-color:var(--plum-700);background:var(--plum-50);color:var(--plum-700);box-shadow:0 2px 8px #4a2f6b1f}.slot-row[data-state=off]{background:var(--warm-soft);color:var(--ink-400);cursor:not-allowed;opacity:.6}.slot-row[data-state=off] .slot-badge{background:var(--warm-line);color:var(--ink-400)}.cta-dock{padding:14px 22px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--warm-bg) 30%);z-index:30;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.cta-dock>*{pointer-events:auto;width:100%;max-width:386px}.cta{white-space:nowrap;border-radius:var(--radius-md);background:var(--plum-700);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;padding:16px 20px;font-size:16px;font-weight:600;transition:transform .12s,box-shadow .2s,background .16s;display:inline-flex;box-shadow:0 8px 24px #4a2f6b4d}.cta:hover:not(:disabled){background:var(--plum-600);transform:translateY(-1px)}.cta:active:not(:disabled){transform:translateY(0)}.cta:disabled{background:var(--warm-line-strong);color:var(--ink-400);cursor:not-allowed;box-shadow:none}.cta-hint{color:var(--ink-500);margin-top:8px;font-size:12px}.btn-ghost{border-radius:var(--radius-md);border:1px solid var(--warm-line-strong);background:var(--warm-card);color:var(--ink-700);cursor:pointer;white-space:nowrap;flex:1;min-width:0;padding:14px;font-size:15px;font-weight:500;transition:background .16s}.btn-ghost:hover{background:var(--warm-soft)}.btn-primary{border-radius:var(--radius-md);background:var(--plum-700);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex:2;justify-content:center;align-items:center;min-width:0;padding:14px;font-size:15px;font-weight:600;transition:background .16s;display:inline-flex}.btn-primary:hover{background:var(--plum-600)}.btn-pill{border:1px solid var(--plum-300);background:var(--plum-50);color:var(--plum-700);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .16s;display:inline-flex}.btn-pill:hover{background:var(--plum-100)}
