.today{display:flex;flex-direction:column;gap:var(--s-4);max-width:760px;margin:0 auto}.card.big{padding:var(--s-6);border-color:var(--c-line-strong)}.card.big h2{font-size:var(--fz-2xl);margin:0 0 var(--s-2)}.when{margin:0 0 var(--s-2);font-size:var(--fz-sm);letter-spacing:.04em;color:var(--c-ink-soft)}.step{margin:0 0 var(--s-5);font-family:var(--f-title);font-size:var(--fz-lg);color:var(--c-accent)}.progress{display:flex;gap:var(--s-1);margin-bottom:var(--s-4)}.progress .bar{flex:1;height:8px;border-radius:999px;background:var(--c-surface-sunk);border:1px solid var(--c-line)}.progress .bar.on{background:var(--c-accent);border-color:var(--c-accent)}.finish-line{margin:0 0 var(--s-4);font-family:var(--f-title);color:var(--c-ink)}.card.empty{text-align:center;color:var(--c-ink-soft)}.small-list{display:flex;flex-direction:column;gap:var(--s-2)}.card.small{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-4)}.card.small .when,.small-title{margin:0}.card.small button{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-1) var(--s-3);font-size:var(--fz-sm);color:var(--c-ink-soft);white-space:nowrap}.done-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.done-list li{display:flex;align-items:center;gap:var(--s-3)}.check{color:var(--c-done);font-weight:600}.done-title{flex:1;color:var(--c-ink-soft)}.week{display:flex;flex-direction:column;gap:var(--s-4)}.banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-3);background:var(--c-accent-soft);border:1px solid var(--c-accent);border-radius:var(--r-3);padding:var(--s-3) var(--s-4)}.banner.quiet{background:var(--c-surface);border-color:var(--c-line)}.banner .lead{margin:0;font-family:var(--f-title)}.banner-actions{display:flex;gap:var(--s-2)}.note{margin:0;font-size:var(--fz-sm);color:var(--c-ink-soft);background:var(--c-surface-sunk);border-radius:var(--r-2);padding:var(--s-2) var(--s-3)}.week-body{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:var(--s-4);align-items:start}@media (max-width: 860px){.week-body{grid-template-columns:minmax(0,1fr)}}.waitlist{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.waitlist h2{margin:0;font-size:var(--fz-md)}.wait-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.wait-items li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);font-size:var(--fz-sm);border-bottom:1px solid var(--c-line);padding-bottom:var(--s-2)}.wait-title{flex:1;min-width:0}.stale{border-top:1px solid var(--c-line);padding-top:var(--s-3)}.stale .lead{font-size:var(--fz-sm);color:var(--c-ink-soft);margin-bottom:var(--s-1)}.grid-wrap{min-width:0}.week-grid{display:grid;grid-template-columns:minmax(64px,88px) repeat(7,minmax(0,1fr));gap:var(--s-1);width:100%}.day-head{text-align:center;padding:var(--s-2) 0;font-size:var(--fz-sm);color:var(--c-ink-soft);display:flex;flex-direction:column;line-height:1.2}.day-head .dom{font-family:var(--f-title);font-size:var(--fz-md);color:var(--c-ink)}.day-head.today{background:var(--c-accent-soft);border-radius:var(--r-2)}.drawer-head{background:var(--c-surface);border:1px solid var(--c-line);border-left:3px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-2);font-size:var(--fz-sm);color:var(--c-ink-soft);text-align:left}.drawer-head.morning{border-left-color:var(--c-morning)}.drawer-head.night{border-left-color:var(--c-night)}.drawer-head.weekend{border-left-color:var(--c-weekend)}.drawer-head.off{opacity:.5;text-decoration:line-through}.cell{min-height:52px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-2);padding:var(--s-1);display:flex;flex-direction:column;gap:var(--s-1)}.cell.closed{background:repeating-linear-gradient(45deg,var(--c-surface-sunk),var(--c-surface-sunk) 6px,transparent 6px,transparent 12px);border-style:dashed}.cell.target{border-color:var(--c-accent);border-style:dashed}.cell.over{background:var(--c-accent-soft);border-color:var(--c-accent)}.block-chip{display:block;width:100%;text-align:left;background:var(--c-surface-sunk);border:1px solid var(--c-line-strong);border-left:3px solid var(--c-line-strong);border-radius:var(--r-1);padding:var(--s-1) var(--s-2);font-size:var(--fz-xs);color:var(--c-ink);line-height:1.35;touch-action:none;-webkit-user-select:none;user-select:none}.block-chip.morning{border-left-color:var(--c-morning)}.block-chip.night{border-left-color:var(--c-night)}.block-chip.weekend{border-left-color:var(--c-weekend)}.block-chip.picked{box-shadow:0 0 0 2px var(--c-accent)}.block-chip.done{color:var(--c-ink-faint);background:var(--c-surface);text-decoration:line-through}.chip-time{color:var(--c-ink-faint)}.chip-line{display:flex;justify-content:space-between;gap:var(--s-1)}.chip-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}.chip-part,.chip-check{color:var(--c-ink-faint)}.hint{margin:var(--s-3) 0 0;font-size:var(--fz-sm);color:var(--c-ink-faint)}.drag-ghost{position:fixed;transform:translate(-50%,-50%);pointer-events:none;z-index:10;background:var(--c-surface);border:1px solid var(--c-accent);border-radius:var(--r-1);padding:var(--s-1) var(--s-3);font-size:var(--fz-xs);box-shadow:var(--shadow-2)}.capture{display:flex;flex-direction:column;gap:var(--s-4);max-width:760px;margin:0 auto}.bubble{align-self:flex-start;max-width:100%;margin:0;background:var(--c-accent-soft);border:1px solid var(--c-line);border-radius:var(--r-3) var(--r-3) var(--r-3) var(--s-1);padding:var(--s-3) var(--s-4);font-family:var(--f-title);font-size:var(--fz-lg)}.field{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-2)}.field-name{flex:0 0 64px;font-size:var(--fz-sm);color:var(--c-ink-soft)}.field input{flex:1}.two{display:flex;gap:var(--s-4);flex-wrap:wrap}.two .field{flex:1 1 260px}.choice,.stepper{display:flex;align-items:center;gap:var(--s-2)}.choice button,.stepper button{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-2) var(--s-4);color:var(--c-ink-soft);min-width:44px}.choice button.on{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.parts{margin:0 0 var(--s-4);padding-left:var(--s-5);color:var(--c-ink-soft);font-size:var(--fz-sm)}.spots{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.spot{flex:1 1 240px;text-align:left;background:var(--c-surface-sunk);border:1px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-3) var(--s-4);color:var(--c-ink)}.spot.on{background:var(--c-accent-soft);border-color:var(--c-accent);box-shadow:inset 0 0 0 1px var(--c-accent)}.card.full{border-color:var(--c-line-strong);background:var(--c-surface-sunk)}.swap{margin-top:var(--s-4);border-top:1px solid var(--c-line);padding-top:var(--s-4)}.radio{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;cursor:pointer}.slot-list{margin:0 0 var(--s-3);padding-left:var(--s-5)}.result h2{font-size:var(--fz-xl)}@media (max-width: 720px){.field{align-items:flex-start;flex-direction:column;gap:var(--s-1)}.field-name{flex:none}.field input{width:100%}}.bubble.multi{white-space:pre-line;font-size:var(--fz-md);max-height:180px;overflow:auto}.entry-list{list-style:none;margin:0 0 var(--s-4);padding:0;display:flex;flex-direction:column}.entry-list li{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--c-line)}.entry-list li.off{opacity:.45}.entry-pick{display:flex;align-items:center;gap:var(--s-2);padding-top:var(--s-2);cursor:pointer}.entry-no{font-size:var(--fz-sm);color:var(--c-ink-faint);min-width:16px;text-align:right}.entry-main{flex:1;min-width:0}.entry-main .entry-title{width:100%}.entry-main .why{margin:var(--s-1) 0 0}.entry-list .stepper{padding-top:var(--s-1);white-space:nowrap}.entry-list .stepper button{min-width:36px;padding:var(--s-1) var(--s-2)}@media (max-width: 720px){.entry-list li{flex-wrap:wrap}}.sync-chip{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);margin:0 0 var(--s-4);padding:var(--s-1) var(--s-3);border:1px solid var(--c-line);border-radius:999px;background:var(--c-surface);color:var(--c-ink-soft);font-size:var(--fz-xs);width:fit-content;max-width:100%;transition:background .32s cubic-bezier(.32,.72,0,1),border-color .32s cubic-bezier(.32,.72,0,1)}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--c-ink-faint);transition:background .32s cubic-bezier(.32,.72,0,1)}.sync-synced .sync-dot{background:var(--c-done)}.sync-syncing .sync-dot,.sync-waking .sync-dot{background:var(--c-accent)}.sync-synced{background:var(--c-accent-soft);border-color:var(--c-accent-soft)}.sync-text{white-space:nowrap}.sync-note{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--c-ink-faint)}.login-wrap{margin:0 0 var(--s-5)}.login-card{max-width:420px}.login-field{display:block;margin:0 0 var(--s-3)}.login-field span{display:block;font-size:var(--fz-sm);color:var(--c-ink-soft);margin-bottom:var(--s-1)}.login-field input{width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--c-line-strong);border-radius:var(--r-2);background:var(--c-surface);color:var(--c-ink);font-family:inherit;font-size:var(--fz-md)}.login-field input:focus{outline:2px solid var(--c-accent-soft);border-color:var(--c-accent)}.login-error{margin:0 0 var(--s-3);font-size:var(--fz-sm);color:var(--c-ink-soft)}.login-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3)}:root{--c-bg: #f7f5f0;--c-surface: #fffdf8;--c-surface-sunk: #f0ece3;--c-line: #e0d9cc;--c-line-strong: #c9bfae;--c-ink: #2b2723;--c-ink-soft: #6b6359;--c-ink-faint: #9a9287;--c-accent: #6b7f6e;--c-accent-soft: #e6ece5;--c-done: #8a9a8c;--c-morning: #c2a878;--c-night: #7b8397;--c-weekend: #a3896f;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-1: 4px;--r-2: 8px;--r-3: 14px;--f-title: "Gowun Batang", serif;--f-body: "IBM Plex Sans KR", system-ui, sans-serif;--fz-xs: 12px;--fz-sm: 14px;--fz-md: 16px;--fz-lg: 20px;--fz-xl: 28px;--fz-2xl: 38px;--w-page: 1200px;--shadow-1: 0 1px 2px rgba(43, 39, 35, .06);--shadow-2: 0 4px 16px rgba(43, 39, 35, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--f-body);font-size:var(--fz-md);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--f-title);font-weight:700;line-height:1.3;margin:0}button{font-family:inherit;font-size:inherit;cursor:pointer}.screen-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4)}.screen-head h1{font-size:var(--fz-xl)}.head-right{display:flex;align-items:center;gap:var(--s-3)}.gauge{font-size:var(--fz-sm);color:var(--c-ink-soft);background:var(--c-surface-sunk);border-radius:999px;padding:var(--s-1) var(--s-3);white-space:nowrap}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-3);padding:var(--s-5);box-shadow:var(--shadow-1)}.card h2{font-size:var(--fz-lg);margin-bottom:var(--s-4)}.lead{margin:0 0 var(--s-3)}.why{margin:calc(var(--s-2) * -1) 0 var(--s-4);font-size:var(--fz-sm);color:var(--c-ink-soft)}.muted{color:var(--c-ink-faint);font-weight:400}button.link{background:none;border:none;color:var(--c-ink-soft);text-decoration:underline;text-underline-offset:3px;padding:var(--s-1)}button.link.small{font-size:var(--fz-sm)}.actions{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-4)}.actions button,button.plain{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-2) var(--s-4);color:var(--c-ink)}button.primary,.throw-box button{background:var(--c-accent);border:1px solid var(--c-accent);color:#fff;border-radius:var(--r-2);padding:var(--s-2) var(--s-5)}button:disabled{opacity:.45;cursor:not-allowed}input:focus-visible,button:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}input[type=text],input[type=date],input:not([type]),.throw-box input{min-width:0;font-family:inherit;font-size:var(--fz-md);color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-2) var(--s-3)}.throw-box{display:flex;gap:var(--s-2)}.throw-box input{flex:1}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0}.chip{background:var(--c-surface-sunk);border:1px solid var(--c-line);border-radius:999px;padding:var(--s-1) var(--s-3);font-size:var(--fz-sm);color:var(--c-ink-soft)}.chip.whole{background:var(--c-accent-soft);border-color:var(--c-accent);color:var(--c-ink)}.app{max-width:var(--w-page);margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-8)}.screen-stub{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-3);padding:var(--s-6);box-shadow:var(--shadow-1)}.screen-stub h1{font-size:var(--fz-xl);margin-bottom:var(--s-3)}.screen-stub p{color:var(--c-ink-soft);margin:0 0 var(--s-4)}.nav{display:flex;gap:var(--s-3);margin-top:var(--s-5)}.nav button{background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-2);padding:var(--s-2) var(--s-4);color:var(--c-ink)}.nav button:hover{background:var(--c-accent-soft)}@media (max-width: 720px){.app{padding:var(--s-4) var(--s-3) var(--s-7)}}
