:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f3ef;--surface:#fcfcfb;--surface-2:#eeede8;--border:#dcdad3;--text:#16161a;--text-2:#52514e;--muted:#6d6c67;--accent:#3b3fb6;--accent-ink:#fff;--shift:#6250d6;--busy:#8a8984;--sleep:#2a78d6;--sleep-soft:#d7e6f8;--nap:#1baf7a;--nap-soft:#d3f1e5;--light:#eda100;--light-soft:#fbe9bf;--caffeine:#c44d1d;--debt:#eb6834;--warn:#b3401a;--ok:#1f7a4d;--warn-bg:#fdeee6;--grid:#e3e1db;--radius:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111114;--surface:#1a1a1e;--surface-2:#24242a;--border:#34343b;--text:#f0efec;--text-2:#c3c2b7;--muted:#9b9a92;--accent:#8f93ff;--accent-ink:#101018;--shift:#9085e9;--busy:#77766f;--sleep:#3987e5;--sleep-soft:#1d3150;--nap:#199e70;--nap-soft:#143a2d;--light:#c98500;--light-soft:#3d3010;--caffeine:#f08a5d;--debt:#d95926;--warn:#ff9a6e;--ok:#5fd39a;--warn-bg:#3a2016;--grid:#2c2c33}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111114;--surface:#1a1a1e;--surface-2:#24242a;--border:#34343b;--text:#f0efec;--text-2:#c3c2b7;--muted:#9b9a92;--accent:#8f93ff;--accent-ink:#101018;--shift:#9085e9;--busy:#77766f;--sleep:#3987e5;--sleep-soft:#1d3150;--nap:#199e70;--nap-soft:#143a2d;--light:#c98500;--light-soft:#3d3010;--caffeine:#f08a5d;--debt:#d95926;--warn:#ff9a6e;--ok:#5fd39a;--warn-bg:#3a2016;--grid:#2c2c33}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;font-size:15px;line-height:1.5}button,input{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.3}h2{font-size:1.05rem}h3{font-size:.95rem}a{color:var(--accent)}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted);font-weight:400}.small{font-size:.85rem}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom));margin:0 auto}.top{z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:calc(10px + env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--border);position:sticky;top:0}.brand{align-items:center;gap:8px;display:flex}.brand h1{letter-spacing:-.01em;font-size:1rem}.logo{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);border-radius:8px;place-items:center;font-size:15px;display:inline-grid}.date-nav{align-items:center;gap:6px;margin-top:6px;display:flex}.date-nav>button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;width:36px;height:36px;font-size:1.2rem}.date-nav label{flex:1;position:relative}.date-nav input[type=date]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.date-text{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 0;font-weight:600;display:block}.date-nav .link{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;min-height:36px;padding:0 6px;font-weight:600}.banner{border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:10px 16px 0;padding:8px 12px;font-size:.85rem;display:flex}.banner.demo{background:var(--light-soft)}.banner.error{background:var(--warn-bg);color:var(--warn)}.banner button{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;padding:4px 8px}main{padding:12px 16px}.stack{flex-direction:column;gap:12px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.card.hint{background:var(--surface-2)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between}.row.two>*{flex:1;min-width:0}button{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;min-height:40px;padding:8px 14px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.total{white-space:nowrap;font-size:.9rem}.total.ok strong{color:var(--ok)}.total.short strong{color:var(--warn)}.timeline{margin:4px 0 0}.lane{grid-template-columns:34px 1fr;align-items:center;gap:6px;margin-bottom:6px;display:grid}.lane-name{color:var(--muted);font-size:.75rem}.track{background:var(--surface-2);background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), var(--grid) calc(25% - 1px), var(--grid) 25%);border-radius:8px;height:30px;position:relative}.seg{white-space:nowrap;color:#fff;border-radius:5px;padding:0 4px;font-size:.68rem;line-height:24px;position:absolute;top:3px;bottom:3px;overflow:hidden}.seg-shift{background:var(--shift)}.seg-busy{background:repeating-linear-gradient(135deg, var(--busy) 0 4px, color-mix(in srgb, var(--busy) 70%, var(--surface)) 4px 8px)}.seg-log{background:var(--sleep)}.seg-main{background:var(--sleep-soft);border:2px solid var(--sleep);color:var(--text);line-height:20px}.seg-nap{background:var(--nap-soft);border:2px solid var(--nap);color:var(--text);line-height:20px}.seg-extra{background:var(--sleep-soft);border:2px dashed var(--sleep);color:var(--text);line-height:20px}.seg-light{background:var(--light-soft);border-top:3px solid var(--light);border-radius:6px;top:0;bottom:0}.mark{border-left:2px solid var(--caffeine);width:0;position:absolute;top:-4px;bottom:-4px}.mark span{color:var(--caffeine);white-space:nowrap;background:var(--surface);border-radius:4px;padding:0 2px;font-size:.68rem;font-weight:700;position:absolute;top:-16px;left:-2px;transform:translate(-50%)}.lane:first-child .track{margin-top:14px}.axis{height:14px;color:var(--muted);margin-left:40px;font-size:.68rem;position:relative}.axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.axis span:first-child{transform:none}.axis span:last-child{transform:translate(-100%)}.legend{color:var(--text-2);flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:.72rem;display:flex}.legend span{align-items:center;gap:4px;display:inline-flex}.sw{border-radius:3px;width:14px;height:10px;display:inline-block;position:static}.sw.seg-light{border-top-width:2px}.sw-caffeine{background:var(--caffeine);border-radius:1px;width:3px;height:12px}.sw-bar{background:var(--sleep)}.sw-bar-plan{background:repeating-linear-gradient(45deg, var(--sleep) 0 2px, var(--sleep-soft) 2px 5px)}.sw-target{border-top:2px dashed var(--text-2);height:0}.sources{flex-direction:column;gap:4px;display:flex}.chip-row{text-align:left;background:0 0;border:0;flex-wrap:wrap;gap:4px;min-height:0;padding:0;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:2px 8px;font-size:.7rem}.chip-app{border-style:dashed}.source-detail{color:var(--text-2);background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:.78rem}.source-detail p,.source-detail ul{margin:0 0 4px}.source-detail ul{padding-left:16px}.recs{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.rec{border-left:4px solid var(--border);flex-direction:column;gap:4px;padding:6px 0 6px 10px;display:flex}.rec-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.rec-head h3{font-size:.95rem}.rec-meta{color:var(--muted);font-size:.78rem}.rec-body{color:var(--text-2);margin:0;font-size:.85rem}.rec .dot{display:none}.tone-main,.tone-extra{border-left-color:var(--sleep)}.tone-nap{border-left-color:var(--nap)}.tone-caffeine{border-left-color:var(--caffeine)}.tone-light{border-left-color:var(--light)}.tone-muted{border-left-style:dashed}.flag{color:var(--warn);background:var(--warn-bg);border-radius:8px;margin:0;padding:4px 8px;font-size:.82rem;font-weight:700}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats>div{background:var(--surface-2);border-radius:10px;flex-direction:column;padding:8px;display:flex}.stat-label{color:var(--muted);font-size:.72rem}.stats strong{font-size:1.05rem}.chart-title{color:var(--text-2);margin-top:6px;font-size:.85rem}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .tick{fill:var(--muted);font-size:10px}.chart .bar{fill:var(--sleep)}.chart .bar-plan{fill:url(#hatch);stroke:var(--sleep);stroke-width:1.5px}.chart .hatch-bg{fill:var(--sleep-soft)}.chart .hatch-line{stroke:var(--sleep)}.chart .hit{fill:#0000;cursor:pointer}.chart .bar-g.sel .hit,.chart .dot-g.sel .hit{fill:color-mix(in srgb, var(--accent) 10%, transparent)}.chart .target{stroke:var(--text-2);stroke-width:1.5px;stroke-dasharray:5 4}.chart .target-label{fill:var(--text-2);font-size:10px;font-weight:600}.chart .debt-line{fill:none;stroke:var(--debt);stroke-width:2px;stroke-linejoin:round}.chart .debt-dot{fill:var(--debt);stroke:var(--surface);stroke-width:2px}.chart .debt-dot.hollow{fill:var(--surface);stroke:var(--debt);stroke-width:2px}.chart .debt-line-plan{fill:none;stroke:var(--text-2);stroke-width:1.5px;stroke-dasharray:4 4}.chart .debt-label-plan{fill:var(--text-2);font-size:10px}.sw-debt{border-top:2px solid var(--debt);height:0}.sw-debt-plan{border-top:2px dashed var(--text-2);height:0}.sw-hollow{border:2px solid var(--debt);background:var(--surface);border-radius:50%;width:10px;height:10px}.stats .secondary{color:var(--text-2)}.stat-sub{color:var(--text-2);font-size:.78rem;font-weight:500;display:block}.demo-tag{color:var(--warn);background:var(--warn-bg);border-radius:8px;margin:0;padding:4px 8px;font-size:.78rem;font-weight:700}.chart .debt-label{fill:var(--text);font-size:11px;font-weight:700}.rule-note{color:var(--text-2);margin:2px 0 0}.rule-note .chip{margin-right:4px}.selected{min-height:2.6em;color:var(--text-2);margin:0}.table-view summary{cursor:pointer;color:var(--accent);font-size:.85rem}.table-view table{border-collapse:collapse;width:100%;margin-top:6px;font-size:.78rem}.table-view th,.table-view td{border-bottom:1px solid var(--border);text-align:right;padding:4px 2px}.table-view th:first-child,.table-view td:first-child{text-align:left}.ai .badge{background:var(--surface-2);color:var(--muted);vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:.7rem}.ai .badge.on{background:var(--nap-soft);color:var(--ok)}.preview ul{margin:4px 0;padding-left:18px}.preview pre{background:var(--surface-2);border-radius:8px;max-height:220px;padding:8px;font-size:.72rem;overflow-x:auto}.ai-text{background:var(--surface-2);border-radius:10px;margin:0;padding:10px}.form label{color:var(--text-2);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.form input[type=date],.form input[type=time],.form input[type=text]{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:42px;color:var(--text);border-radius:10px;padding:8px 10px}.seg-control{background:var(--surface-2);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.seg-control button{background:0 0;border:0;padding:6px 4px;font-size:.85rem}.seg-control button.on{background:var(--surface);font-weight:700;box-shadow:0 1px 2px #00000026}.preview-line{color:var(--text-2);margin:0}.errors{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:8px 10px;font-size:.85rem}.errors ul{margin:4px 0 0;padding-left:18px}.group h3{color:var(--muted);margin:8px 0 4px;font-size:.82rem}.block-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.block-list li{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 0;font-size:.88rem;display:flex}.bl-main{flex:1;min-width:0}.sw-inline{border-radius:4px;flex:none;width:8px;height:26px}.kind-shift .sw-inline{background:var(--shift)}.kind-busy .sw-inline{background:var(--busy)}.kind-sleep .sw-inline{background:var(--sleep)}.small-btn{min-height:32px;padding:4px 10px;font-size:.8rem}.danger{color:var(--warn)}.inline{align-items:center;gap:4px;flex-direction:row!important;display:inline-flex!important}.rule{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:4px;padding-top:10px;display:flex}.field{justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;display:flex}.field label{color:var(--text-2)}.field input{border:1px solid var(--border);background:var(--surface-2);text-align:right;border-radius:8px;width:92px;min-height:36px;padding:6px 8px}.unit-input{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.unit-input input{width:72px}.sticky-actions{bottom:calc(72px + env(safe-area-inset-bottom));background:var(--surface);padding-top:8px;position:sticky}.switch{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.switch input{width:20px;height:20px;accent-color:var(--accent)}.consent{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.consent ul{margin:0;padding-left:18px}.disclaimer{color:var(--text-2);background:var(--surface-2);border-left:4px solid var(--light);border-radius:10px;margin:16px 0 4px;padding:10px 12px;font-size:.82rem}.disclaimer.compact{font-size:.75rem}.tabs{z-index:6;background:var(--surface);border-top:1px solid var(--border);max-width:560px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:10px;min-height:48px;font-size:.85rem}.tabs button.active{color:var(--accent);background:var(--surface-2);font-weight:700}
