:root{--sm-page:#d5d5d3;--sm-panel:#f4f4f2;--sm-panel2:#e9e8e4;--sm-ink:#15171a;--sm-body:#4a4e52;--sm-label:#5a5e62;--sm-hair:#d9d7d2;--sm-hair2:#c9c7c2;--sm-mark:#7a7e82;--sm-accent:#3182f6;--sm-accent-rgb:49 130 246;--sm-accent-ink:#1b5fc4;--sm-danger:#a81e12;--bg:var(--sm-page);--panel:var(--sm-panel);--panel2:var(--sm-panel2);--border:var(--sm-hair);--border-strong:var(--sm-hair2);--control-line:var(--sm-mark);--text:var(--sm-ink);--muted:var(--sm-body);--text-muted:var(--sm-body);--text-dim:var(--sm-body);--accent:var(--sm-accent);--accent-ink:var(--sm-accent-ink);--accent-press:var(--sm-accent-ink);--accent-soft:rgb(var(--sm-accent-rgb)/0.12);--panel-selected:#dde6f2;--red:var(--sm-danger);--red-soft:rgba(168,30,18,.12);--green:var(--sm-ink);--green-soft:var(--sm-panel2);--amber:var(--sm-ink);--amber-soft:var(--sm-panel2);--purple:var(--sm-ink);--purple-soft:var(--sm-panel2);--shadow-sm:none;--shadow-md:none;--shadow-lg:0 1px 0 rgb(20 22 26/5%),0 26px 60px -44px rgba(20,22,26,.45);--shadow-paper:var(--shadow-lg);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-sm:0;--r-md:0;--r-card:0;--r-lg:0;--r-pill:999px;--fs-body:15px;--fs-note:13.5px;--fs-ui:13.5px;--fs-micro:12.5px;--fs-h1:20px;--fs-h2:16px;--fs-amt:clamp(20px,2vw,24px);--row-py:10px;--ease:cubic-bezier(0.2,0.8,0.2,1);--dur:160ms}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}a,body{color:var(--text)}a{text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--sm-hair2);text-decoration-color:var(--sm-hair2);text-underline-offset:3px;transition:-webkit-text-decoration-color var(--dur) var(--ease);transition:text-decoration-color var(--dur) var(--ease);transition:text-decoration-color var(--dur) var(--ease),-webkit-text-decoration-color var(--dur) var(--ease)}a:focus-visible,a:hover{-webkit-text-decoration-color:var(--sm-ink);text-decoration-color:var(--sm-ink)}.bottomnav a,.brand a,.footlink,.moresheet a,.navlink,.subtabs>a{text-decoration:none}:focus-visible{outline:2px solid var(--sm-ink);outline-offset:2px}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--border-strong);padding:var(--s5) var(--s3);display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .brand{font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--text);margin:4px 8px 14px;padding-bottom:14px;border-bottom:1px solid var(--border-strong);display:flex;align-items:center;gap:8px}.sidebar a.navlink{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:0;color:var(--muted);font-weight:500;font-size:var(--fs-note);min-height:44px;box-shadow:inset 2px 0 0 transparent;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.sidebar a.navlink.active,.sidebar a.navlink:hover{background:var(--panel2);color:var(--text)}.sidebar a.navlink.active{font-weight:700;box-shadow:inset 2px 0 0 var(--sm-ink)}.navicon{width:18px;height:18px;flex-shrink:0}.sidebar .foot{margin-top:auto;font-size:var(--fs-note);color:var(--muted);padding:0 8px}.sidebar .foot .who{color:var(--text);font-weight:600;margin-bottom:10px}.footlink{display:flex;align-items:center;min-height:44px;padding:0 8px;margin:0 -8px;border-radius:0;color:var(--muted);font-size:var(--fs-note);transition:background var(--dur) var(--ease)}.footlink:hover{background:var(--panel2);color:var(--text)}.footlink.danger{color:var(--red);margin-top:6px;border-top:1px solid var(--border);padding-top:6px}.footlink.danger:hover{background:var(--red-soft);color:var(--red)}.main{flex:1 1;padding:var(--s6) var(--s6);max-width:1160px;width:100%}.bottomnav,.moresheet,.sheet-backdrop,.topbar{display:none}h1{font-size:var(--fs-h1);font-weight:800;margin:0 0 4px;line-height:1.3}h1,h2{letter-spacing:-.02em;color:var(--text)}h2{font-size:var(--fs-h2);font-weight:700;margin:28px 0 12px}.sub{margin-bottom:24px}.note,.sub{color:var(--muted);font-size:var(--fs-note)}.note{line-height:1.7}.sm-kicker{font-size:var(--fs-micro);line-height:1.5;color:var(--muted);letter-spacing:.12em;margin:0}.sm-lat{text-transform:uppercase;letter-spacing:.16em}.sm-sect{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--border)}.sm-rows{list-style:none;margin:0;padding:0}.sm-rows>li{display:flex;align-items:baseline;gap:12px;padding:var(--row-py) 0;border-bottom:1px solid var(--border)}.sm-rows>li:last-child{border-bottom:0}.sm-rows.pressable{margin-inline:-12px}.sm-rows.pressable>li{padding:0}.sm-rowbtn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:auto;margin:0;padding:var(--row-py) 12px;background:none;border:0;border-radius:0;text-align:left;color:var(--text);font:inherit;letter-spacing:inherit;cursor:pointer;box-shadow:inset 3px 0 0 transparent;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.sm-rowbtn:hover{box-shadow:inset 3px 0 0 var(--sm-ink)}.sm-rowbtn:active,.sm-rowbtn:hover{background:var(--panel2)}.sm-rowbtn .note,.sm-rowbtn strong{display:block}.sm-rowbtn-text{min-width:0}.sm-rowbtn-mark{flex-shrink:0;color:var(--muted);font-size:22px;line-height:1}.sm-metrics{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column-gap:var(--s5);column-gap:var(--s5)}.sm-metrics>li{min-width:0;padding:var(--s3) 0;border-bottom:1px solid var(--border)}.sm-metrics .label{color:var(--muted);font-size:var(--fs-note);font-weight:500}.sm-metrics .value{font-size:var(--fs-amt);font-weight:800;letter-spacing:-.02em;color:var(--text);margin:4px 0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.sm-metrics .delta{font-size:var(--fs-micro);color:var(--muted)}.sm-selected{box-shadow:inset 3px 0 0 var(--sm-ink);background:var(--accent-soft);font-weight:700}.sm-selected .note,.sm-selected .sub{font-weight:400}.sm-cardlink{display:block;color:inherit;text-decoration:none}.sm-cardface{transition:border-color var(--dur) var(--ease)}.sm-cardlink:focus-visible>.sm-cardface,.sm-cardlink:hover>.sm-cardface{border-color:var(--sm-ink)}.sm-hit{position:relative}.sm-hit:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--s3)}.cards,.metric-3{display:grid;gap:var(--s3)}.metric-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--s3)}.card{background:var(--panel);border:1px solid var(--border-strong);border-radius:0;padding:var(--s4);box-shadow:none;transition:border-color var(--dur) var(--ease)}.card .label{color:var(--muted);font-size:var(--fs-note);font-weight:500}.card .value{font-size:var(--fs-amt);font-weight:800;letter-spacing:-.02em;margin:6px 0 3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}.card .delta{font-size:var(--fs-micro);font-weight:500;color:var(--muted)}.delta.up{color:var(--red);font-weight:600}.delta.down{color:var(--text);font-weight:600}.panel{background:var(--panel);border:1px solid var(--border-strong);border-radius:0;padding:var(--s5);margin-bottom:var(--s4);box-shadow:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:600;background:transparent;color:var(--muted);border:1px solid var(--border-strong);white-space:nowrap;letter-spacing:.01em}.badge.amber,.badge.blue,.badge.green,.badge.purple{color:var(--text);border-color:var(--sm-ink)}.badge.amber{border-style:dashed}.badge.red{color:var(--red);border-color:var(--red)}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-weight:600;font-size:var(--fs-micro);letter-spacing:.04em;border-bottom:1px solid var(--border-strong)}td,th{padding:var(--row-py) 10px}td{border-bottom:1px solid var(--border);font-size:var(--fs-note);word-break:keep-all}tr:last-child td{border-bottom:0}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover td{background:var(--panel2)}tbody tr.sm-selected>td{background:var(--panel-selected)}tbody tr.sm-selected>td:first-child{box-shadow:inset 3px 0 0 var(--sm-ink)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num,th.num{text-align:right}td.num{color:var(--text)}button,td.num{font-weight:700}button{background:var(--sm-ink);color:var(--sm-panel);border:1px solid var(--sm-ink);border-radius:0;padding:0 18px;height:44px;font-size:var(--fs-ui);cursor:pointer;font-family:inherit;letter-spacing:-.01em;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{background:var(--sm-body);border-color:var(--sm-body)}button:active{background:var(--sm-ink)}button.ghost{background:transparent;border:1px solid var(--sm-body);color:var(--text)}button.ghost:hover{background:var(--panel2);border-color:var(--sm-ink)}button.soft{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}button.soft:hover{background:var(--accent-soft);border-color:var(--accent-ink)}button.danger{background:var(--red);border-color:var(--red);color:var(--sm-panel)}button.danger:hover{background:var(--red);border-color:var(--sm-ink)}button.sm{height:34px;padding:0 12px;font-size:var(--fs-note);position:relative}button.sm:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}button:disabled{opacity:.45;cursor:default}button:disabled,button[disabled]{opacity:.45;cursor:not-allowed}.linkbtn{background:none;border:0;color:var(--text);padding:0;height:auto;font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--sm-hair2);text-decoration-color:var(--sm-hair2);text-underline-offset:3px}.linkbtn:hover{background:none;-webkit-text-decoration-color:var(--sm-ink);text-decoration-color:var(--sm-ink)}button.card,button.panel{background:var(--panel);color:var(--text);font:inherit;text-align:left;display:block;width:100%;height:auto;border:1px solid var(--border-strong);cursor:pointer}.card.tappable:hover,button.card:hover,button.panel:hover{background:var(--panel);border-color:var(--sm-ink)}button.card:active,button.panel:active{background:var(--panel2)}.card.tappable{cursor:pointer}input,select,textarea{background:var(--panel);border:1px solid var(--control-line);color:var(--text);border-radius:0;padding:11px 12px;font-size:16px;width:100%;font-family:inherit;line-height:1.4;transition:border-color var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{border-color:var(--sm-ink)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{accent-color:var(--sm-ink);width:auto;padding:0}label{display:block;color:var(--muted);font-size:var(--fs-note);font-weight:500;margin:14px 0 6px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.error{color:var(--red);font-size:var(--fs-note);font-weight:600;margin-top:10px}.center-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.auth-box{width:100%;max-width:380px}.auth-brand{display:flex;align-items:center;gap:10px}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:var(--fs-note);align-items:baseline}.kv .k{color:var(--muted)}.drawer{position:fixed;top:0;right:0;width:min(520px,100vw);height:100vh;overflow-y:auto;background:var(--panel);border-left:1px solid var(--border-strong);padding:var(--s5);z-index:60;box-shadow:var(--shadow-lg);animation:slideIn var(--dur) var(--ease)}@keyframes slideIn{0%{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}.tabs{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:transparent;border:0;border-radius:0;color:var(--muted);height:44px;padding:0 12px;font-weight:600;box-shadow:inset 0 -1px 0 var(--border-strong)}.tabs button:hover{box-shadow:inset 0 -1px 0 var(--sm-mark)}.tabs button.active,.tabs button:hover{background:transparent;color:var(--text)}.tabs button.active{font-weight:800;box-shadow:inset 0 -2px 0 var(--sm-ink)}.subtabs{display:flex;gap:4px;flex-wrap:wrap}.subtabs>a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:0;white-space:nowrap;color:var(--muted);font-size:var(--fs-ui);font-weight:600;box-shadow:inset 0 -1px 0 var(--border-strong)}.subtabs>a:hover{color:var(--text)}.subtabs>a[aria-current=page]{color:var(--text);font-weight:800;box-shadow:inset 0 -2px 0 var(--sm-ink)}.simple-theme{--fs-body:16px;--fs-note:14px;--fs-ui:14px;--fs-micro:13px;--fs-h1:21px;--row-py:13px;background:var(--bg);color:var(--text);font-size:var(--fs-body)}.status-hero{font-size:20px;line-height:1.4;margin-bottom:6px}.big-number,.status-hero{font-weight:800;letter-spacing:-.02em;color:var(--text)}.big-number{font-size:var(--fs-amt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;word-break:keep-all}.todo-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.todo-card .todo-icon{width:44px;height:44px;border-radius:var(--r-pill);flex-shrink:0;border:1px solid var(--border-strong);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:18px}.todo-body{flex:1 1;min-width:0}.todo-body strong{display:block;font-size:var(--fs-body);margin-bottom:3px;color:var(--text)}@media (max-width:1024px){.main{padding:var(--s5) var(--s5)}.kv{grid-template-columns:130px 1fr}.panel{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:768px){:root{--fs-body:16px;--fs-note:14px;--fs-ui:14px;--fs-micro:13px;--fs-h1:19px;--fs-h2:16px}.shell{flex-direction:column}.sidebar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:40;height:56px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--border-strong)}.topbar .brand{font-weight:800;font-size:16px;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:7px}.topbar .role-chip{font-size:var(--fs-micro);color:var(--muted)}.main{padding:20px 16px calc(72px + env(safe-area-inset-bottom, 0px));max-width:100%}.status-hero{font-size:19px}.cards{gap:10px}.cards,.sm-metrics{grid-template-columns:1fr 1fr}.sm-metrics{column-gap:var(--s4)}.cards.stack-mobile{grid-template-columns:1fr}.metric-3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:2px 16px 6px;gap:10px;scrollbar-width:none}.metric-3::-webkit-scrollbar{display:none}.metric-3>.card{min-width:76%;scroll-snap-align:start}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--bg);border-top:1px solid var(--border-strong);padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));justify-content:space-around}.bottomnav a,.bottomnav button{background:none;border:0;height:auto;padding:4px 2px;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:12px;font-weight:500;min-width:0;box-shadow:inset 0 2px 0 transparent}.bottomnav a.active,.bottomnav button.active{color:var(--text);font-weight:700;box-shadow:inset 0 2px 0 var(--sm-ink)}.bottomnav .navicon{width:22px;height:22px}.sheet-backdrop{inset:0;z-index:55;background:rgba(20,22,26,.45);animation:fadeIn var(--dur) var(--ease)}.moresheet,.sheet-backdrop{display:block;position:fixed}.moresheet{left:0;right:0;bottom:0;z-index:56;background:var(--panel);border-radius:0;border-top:1px solid var(--border-strong);padding:12px 16px calc(24px + env(safe-area-inset-bottom, 0px));box-shadow:var(--shadow-lg);animation:sheetUp .22s var(--ease)}.moresheet .grabber{width:40px;height:4px;border-radius:var(--r-pill);background:var(--border-strong);margin:4px auto 14px}.moresheet a,.moresheet button{display:flex;width:100%;background:none;border:0;height:auto;padding:14px 8px;color:var(--text);font-size:var(--fs-body);font-weight:500;justify-content:flex-start;border-bottom:1px solid var(--border)}.moresheet a:hover,.moresheet button:hover{background:var(--panel2);color:var(--text)}.moresheet a:last-of-type,.moresheet button:last-of-type{border-bottom:0}.drawer{width:100vw}.kv{grid-template-columns:1fr;gap:2px 0}.kv .k{margin-top:8px}.panel{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.panel table{min-width:560px}td,th{white-space:nowrap}td:first-child,th:first-child{position:-webkit-sticky;position:sticky;left:0;background:var(--panel);z-index:1}.subtabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}.subtabs::-webkit-scrollbar{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}.desktop-only{display:initial}@media (max-width:768px){.desktop-only{display:none!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@property --sm-p{syntax:"<number>";inherits:true;initial-value:.42}html:has(.sm-desk){background:var(--sm-page);scroll-behavior:smooth;scroll-padding-top:20px}@media (prefers-reduced-motion:reduce){html:has(.sm-desk){scroll-behavior:auto}}@media (max-width:900px){html:has(.sm-desk){scroll-padding-top:76px}}html:has(.sm-guide){background:var(--sm-page);scroll-padding-top:68px}