:root{--bg:#f1f1ee;--surface:#fff;--sunken:#f7f7f5;--ink:#0b0b0b;--ink-2:#4b4a47;--muted:#6b6a64;--grid:#e3e2dc;--axis:#bfbeb4;--ring:#0b0b0b1a;--ring-2:#0b0b0b0f;--s1:#1f6feb;--s1-deep:#14549e;--s1-soft:#cfe2fb;--good:#0f9d58;--good-text:#0a6b3c;--serious:#e07b45;--serious-deep:#a8531a;--sh-1:0 1px 2px #0b0b0b0a;--sh-2:0 1px 2px #0b0b0b0d, 0 12px 32px -16px #0b0b0b29;--r-sm:6px;--r-md:12px;--r-lg:16px;--r-pill:999px;--fs-h1:40px;--fs-h2:20px;--fs-lede:15px;--fs-body:14px;--fs-label:12px;--fs-micro:11px}@media (prefers-color-scheme:dark){:root{--bg:#0c0c0c;--surface:#1a1a19;--sunken:#141413;--ink:#ededea;--ink-2:#b9b8b1;--muted:#918f88;--grid:#2c2c2a;--axis:#46453f;--ring:#ffffff1c;--ring-2:#ffffff12;--s1:#4c93f0;--s1-deep:#8ab8f5;--s1-soft:#17406f;--good:#2eb872;--good-text:#58cf90;--serious:#e08b57;--serious-deep:#f0a877;--sh-1:0 1px 2px #0006;--sh-2:0 1px 2px #00000080, 0 12px 32px -16px #000000b3}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Segoe UI Variable Text,Pretendard Variable,Pretendard,-apple-system,system-ui,sans-serif;line-height:1.65;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}h1,h2,.wordmark{font-family:Segoe UI Variable Display,Pretendard Variable,Pretendard,-apple-system,system-ui,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:960px;margin:0 auto;padding:40px 24px 96px}.brand{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wordmark{letter-spacing:-.01em;color:var(--ink);font-size:15px;font-weight:700}.doc-type{font-size:var(--fs-label);color:var(--muted)}h1{font-size:var(--fs-h1);letter-spacing:-.024em;text-wrap:balance;margin:12px 0 10px;font-weight:700;line-height:1.15}h2{font-size:var(--fs-h2);color:var(--ink);letter-spacing:-.014em;margin:72px 0 8px;font-weight:700;line-height:1.35}.lede{font-size:var(--fs-lede);color:var(--ink-2);max-width:44em;margin:0 0 20px}.cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--ring-2);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:20px;transition:border-color .12s,box-shadow .12s,transform .12s;display:block}.card:hover{box-shadow:var(--sh-2);border-color:var(--ring);transform:translateY(-1px)}.card .name{justify-content:space-between;align-items:baseline;font-size:16px;font-weight:700;display:flex}.card .name .score{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.card .name .score small{color:var(--muted);font-size:12px;font-weight:500}.card .sub{color:var(--muted);margin-bottom:12px;font-size:12px}.minidim{color:var(--ink-2);grid-template-columns:70px 1fr 30px;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:grid}.minidim .bar{background:var(--grid);border-radius:3px;height:6px;overflow:hidden}.minidim .bar i{background:var(--s1);border-radius:3px;height:100%;display:block}.minidim .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.chip{color:var(--ink-2);align-items:center;gap:5px;margin-top:10px;font-size:11px;font-weight:600;display:inline-flex}.chip i{border-radius:50%;width:7px;height:7px;display:inline-block}.chip.down i{background:var(--serious)}.chip.up i{background:var(--good)}.coach-rate{color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:600;display:flex}.panel{background:var(--surface);border:1px solid var(--ring-2);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:24px}.dim-row{grid-template-columns:150px 1fr 56px;align-items:center;gap:16px;padding:9px 0;display:grid}.dim-row+.dim-row{border-top:1px solid var(--grid)}.dim-name{font-size:14px;font-weight:600}.track{height:66px;position:relative;overflow:hidden}.baseline{background:var(--axis);height:1px;position:absolute;bottom:15px;left:2%;right:2%}.gridline{background:var(--grid);width:1px;position:absolute;top:18px;bottom:15px}.tick{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;bottom:-1px;transform:translate(-50%)}.slot-bar{background:var(--s1);z-index:1;border-radius:3px 3px 0 0;width:16px;position:absolute;bottom:16px;transform:translate(-50%)}.slot-count{color:var(--ink-2);font-variant-numeric:tabular-nums;background:var(--surface);z-index:3;border-radius:3px;padding:0 3px;font-size:11px;font-weight:600;line-height:1;position:absolute;transform:translate(-50%)}.meanline{border-left:2px dashed var(--s1-deep);z-index:2;width:0;box-shadow:-1.5px 0 0 var(--surface), 1.5px 0 0 var(--surface);position:absolute;top:4px;bottom:15px}.meanline.weak{border-left-color:var(--serious-deep)}.dim-mean.weak{color:var(--serious-deep)}.dim-mean{text-align:right;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.tablewrap{background:var(--surface);border:1px solid var(--ring-2);border-radius:var(--r-md);box-shadow:var(--sh-1);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}th{text-align:right;color:var(--muted);border-bottom:1px solid var(--axis);white-space:nowrap;padding:12px 14px 8px;font-size:11px;font-weight:700}th:first-child,td:first-child{text-align:left}td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--grid);color:var(--ink-2);padding:8px 14px}tr:last-child td{border-bottom:0}td.proj{color:var(--ink);font-weight:600}.sid-tag{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;display:block}tr:target td{background:color-mix(in oklab, var(--s1) 12%, transparent)}tr{scroll-margin-top:24px}td .low{color:var(--serious);font-weight:700}td.overall{color:var(--ink);font-weight:700}.coach{background:var(--surface);border:1px solid var(--ring-2);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:4px 24px 12px}.coach ul{margin:0;padding:0;list-style:none}.coach li{border-bottom:1px solid var(--grid);color:var(--ink-2);font-size:13px}.coach li:last-child{border-bottom:0}.coach-progress{border-bottom:1px solid var(--grid);align-items:center;gap:12px;padding:12px 0 10px;display:flex}.coach-progress .bar{background:var(--grid);border-radius:3px;flex:1;height:5px;overflow:hidden}.coach-progress .bar i{background:var(--good);border-radius:3px;width:0;height:100%;transition:width .25s;display:block}.coach-progress .label{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:600}.coach-progress .label b{color:var(--good-text)}.c-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:11px;padding:13px 0;display:flex}.c-head:hover .c-lead{color:var(--ink)}.c-check{border:1.5px solid var(--axis);color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}li.read .c-check{background:var(--good);border-color:var(--good);color:#fff}.c-lead{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}li.read .c-lead{color:var(--muted);font-weight:500}li.open .c-lead{white-space:normal;color:var(--ink)}.c-caret{color:var(--muted);flex:none;font-size:11px;transition:transform .15s}li.open .c-caret{transform:rotate(180deg)}.c-body{padding:2px 0 18px 31px;display:none}li.open .c-body{display:block}.c-done-btn{background:var(--s1);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;max-width:640px;margin-top:12px;padding:9px 16px;font-size:13px;font-weight:700;display:block}.c-done-btn:hover{background:var(--s1-deep)}li.read .c-done-btn{display:none}.c-meta{color:var(--muted);margin-top:10px;font-size:11px}.c-meta a{color:var(--muted);text-decoration:underline}.c-quote.clamp{-webkit-line-clamp:1;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.coach-done{color:var(--good-text);padding:14px 0 10px;font-size:13px;font-weight:600;display:none}.coach.all-read .coach-done{display:block}.coach-more{border-top:1px solid var(--grid)}.more-btn{text-align:left;cursor:pointer;width:100%;color:var(--muted);background:0 0;border:0;padding:12px 0;font-size:12px;font-weight:600;display:block}.more-btn:hover{color:var(--ink-2)}.dim-chip{background:color-mix(in oklab, var(--s1) 10%, transparent);color:var(--s1-deep);vertical-align:1px;border-radius:10px;margin-right:8px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.dim-chip.weak{background:color-mix(in oklab, var(--serious) 16%, transparent);color:var(--serious-deep)}.c-situ{color:var(--ink-2);max-width:640px;margin-bottom:8px;font-size:13px;font-weight:600}.c-pos{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.c-quote{border-left:3px solid var(--s1-soft);color:var(--ink-2);max-width:640px;margin:0 0 7px;padding:5px 12px;font-size:13px}.c-tip{color:var(--ink);max-width:640px;font-size:13px;line-height:1.75}.c-example{max-width:640px;color:var(--ink);background:color-mix(in oklab, var(--s1) 7%, transparent);border-radius:8px;margin-top:8px;padding:10px 44px 10px 14px;font-size:13px;position:relative}.c-example:before{content:"예시 프롬프트";color:var(--s1-deep);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.copy-btn{color:var(--s1-deep);opacity:.65;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:11px;font-weight:600;position:absolute;top:8px;right:10px}.copy-btn:hover{opacity:1}.panel.trend{padding:20px 22px 16px}.trend svg{width:100%;height:auto;display:block}.spark-row{border-top:1px solid var(--grid);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 18px;margin-top:16px;padding-top:14px;display:grid}.spark .sp-head{justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:2px;display:flex}.spark .sp-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.spark .sp-name .chip{margin-top:0;margin-left:4px}.spark .sp-val{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.spark .sp-val.weak{color:var(--serious-deep)}tr.date-hd td{text-align:left;color:var(--muted);background:color-mix(in oklab, var(--grid) 32%, transparent);padding:6px 14px;font-size:12px;font-weight:700}.chart-tip{pointer-events:none;background:var(--ink);color:var(--bg);z-index:10;white-space:nowrap;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600;position:absolute}.typeline{text-wrap:balance;max-width:40em;margin:2px 0 8px;font-size:15px}.typeline b{color:var(--s1-deep)}.typeline .weak-ink{color:var(--serious-deep);font-weight:700}.typeline a.weak-ink:hover{text-decoration:underline}.hero-chips{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 6px;display:flex}.delta-chip{background:color-mix(in oklab, var(--grid) 50%, transparent);color:var(--ink-2);border-radius:10px;align-items:baseline;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.delta-chip.up{background:color-mix(in oklab, var(--good) 14%, transparent);color:var(--good-text)}.delta-chip.down{background:color-mix(in oklab, var(--serious) 16%, transparent);color:var(--serious-deep)}.delta-chip small{color:var(--muted);font-weight:500}.hero-chips .dim-chip{margin-right:0;padding:3px 10px;font-size:12px}.sp-tag{color:var(--muted);margin-right:4px;font-size:10px;font-weight:600}.coach.catchup .more-btn b{color:var(--ink-2)}.pace-note{color:var(--muted);font-weight:500}.today-badge{background:var(--s1);color:#fff;vertical-align:1px;border-radius:9px;margin-right:7px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.arch-tag{background:color-mix(in oklab, var(--grid) 60%, transparent);color:var(--muted);vertical-align:1px;border-radius:9px;margin-right:7px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}li.archived .c-check{background:var(--axis);border-color:var(--axis);color:var(--surface)}.archive-row{border-top:1px solid var(--grid);color:var(--muted);padding:10px 0 12px;font-size:12px}.archive-btn{color:var(--s1-deep);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:12px;font-weight:600;text-decoration:underline}.lede a{color:var(--s1-deep);font-weight:600}.lede a:hover{text-decoration:underline}.day-index{background:var(--surface);border:1px solid var(--ring);border-radius:10px;overflow:hidden}.day-row{border-bottom:1px solid var(--grid);color:var(--ink-2);grid-template-columns:150px 1fr 170px 24px;align-items:center;gap:12px;padding:11px 18px;font-size:13px;display:grid}.day-row:last-child{border-bottom:0}.day-row:hover{background:color-mix(in oklab, var(--s1) 6%, transparent)}.day-row:hover .day-go{color:var(--s1-deep)}.day-date{color:var(--ink);font-weight:600}.day-stats b{color:var(--ink)}.day-coach{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.day-coach.done{color:var(--good-text)}.day-none{color:var(--muted);font-weight:500}.mini-bar{background:var(--grid);border-radius:2px;flex:none;width:52px;height:4px;overflow:hidden}.mini-bar i{background:var(--good);border-radius:2px;height:100%;display:block}.day-go{color:var(--muted);text-align:right;font-size:13px}.day-nav{justify-content:space-between;margin-top:14px;font-size:13px;display:flex}.day-nav a{color:var(--s1-deep);font-weight:600}.day-nav a:hover{text-decoration:underline}@media (max-width:620px){.day-row{grid-template-columns:1fr auto;grid-auto-flow:dense}.day-stats,.day-go{display:none}}.login-box{background:var(--surface);border:1px solid var(--ring);border-radius:10px;max-width:360px;margin:18vh auto 0;padding:28px}.login-box input{border:1px solid var(--axis);background:var(--bg);width:100%;color:var(--ink);border-radius:8px;margin:14px 0;padding:10px 12px;font-size:14px}.login-box button{background:var(--s1);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;padding:10px;font-size:14px;font-weight:700}.err{color:var(--serious);font-size:13px}.login-box button:disabled{opacity:.45;cursor:not-allowed}.code-input{letter-spacing:.18em;text-align:center;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px!important}.connect-ok{color:var(--good-text);margin:16px 0 0;font-size:17px;font-weight:700}.connect-link{color:var(--s1-deep);margin-top:16px;font-size:13px;font-weight:600;display:inline-block}.connect-link:hover{text-decoration:underline}.connect-note{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.6}.link-btn{cursor:pointer;width:100%;color:var(--s1-deep);background:0 0;border:0;margin-top:10px;padding:4px;font-size:12px;font-weight:600;display:block}.link-btn:hover{text-decoration:underline}.empty{color:var(--muted);text-align:center;padding:28px;font-size:14px}.back{color:var(--muted);font-size:13px}.back:hover{color:var(--s1)}.topnav{flex-wrap:wrap;align-items:baseline;gap:16px;font-size:13px;display:flex}.topnav a{color:var(--muted);font-weight:600}.topnav a:hover{color:var(--s1)}.topnav-here{color:var(--ink);font-weight:700}.onboard-callout{color:var(--ink-2);background:color-mix(in oklab, var(--s1) 8%, transparent);border:1px solid color-mix(in oklab, var(--s1) 24%, transparent);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 4px;padding:14px 18px;font-size:13px;display:flex}.onboard-callout:hover{background:color-mix(in oklab, var(--s1) 13%, transparent)}.onboard-callout b{color:var(--ink)}.onboard-go{color:var(--s1-deep);white-space:nowrap;font-weight:700}.cmd-box{background:var(--surface);border:1px solid var(--ring);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.cmd-box code{color:var(--ink);word-break:break-all;font-size:15px;font-weight:600}.cmd-copy{cursor:pointer;background:var(--s1);color:#fff;border:0;border-radius:8px;flex:none;padding:7px 14px;font-size:12px;font-weight:700}.cmd-copy:hover{background:var(--s1-deep)}.status-ok,.status-todo{border-radius:10px;margin:16px 0 4px;padding:13px 18px;font-size:13px}.status-ok{background:color-mix(in oklab, var(--good) 12%, transparent);color:var(--good-text);font-weight:600}.status-todo{background:color-mix(in oklab, var(--serious) 14%, transparent);color:var(--serious-deep);font-weight:600}.req-list>div{color:var(--ink-2);padding:9px 0;font-size:13px}.req-list>div+div{border-top:1px solid var(--grid)}.req-list b{color:var(--ink)}.req-list .dim{color:var(--muted)}code{background:color-mix(in oklab, var(--grid) 45%, transparent);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.94em}
