:root{--bg:#f1f1ee;--surface:#fff;--sunken:#f7f7f5;--ink:#0b0b0b;--ink-2:#4b4a47;--muted:#63625c;--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}.tabs{z-index:15;background:color-mix(in oklab, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ring-2);margin:0 -24px;display:flex;position:sticky;top:0}.tabs-inner{gap:4px;width:100%;max-width:960px;margin:0 auto;padding:0 24px;display:flex}.tab{cursor:pointer;font-family:inherit;font-size:var(--fs-lede);color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:13px 14px 12px;font-weight:600;display:inline-flex;position:relative}.tab:hover{color:var(--ink-2)}.tab[aria-selected=true]{color:var(--ink);font-weight:700}.tab[aria-selected=true]:after{content:"";background:var(--ink);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab .count{font-size:var(--fs-micro);border-radius:var(--r-pill);background:color-mix(in oklab, var(--s1) 14%, transparent);color:var(--s1-deep);align-items:center;padding:1px 7px;font-weight:700;display:inline-flex}.tab .count.done{background:color-mix(in oklab, var(--good) 16%, transparent);color:var(--good-text)}.tabpanel[hidden]{display:none}.tabpanel>section:first-child,.tabpanel>.hero:first-child{margin-top:32px}section{margin-top:56px}h2 .qual{font-size:var(--fs-label);color:var(--muted);letter-spacing:0;margin-left:8px;font-weight:600}.meta{font-size:var(--fs-label);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meta b{color:var(--ink-2);font-weight:600}.meta .sep{color:var(--axis)}.page-head{max-width:960px;margin:0 auto;padding:32px 24px 20px}.page-head h1{margin:16px 0 10px}.wrap{max-width:960px;margin:0 auto;padding:0 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:56px 0 8px;font-weight:700;line-height:1.35}section>h2:first-child{margin-top:0}.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);border-radius:var(--r-md);margin-top:16px;padding:24px}.dim-row{grid-template-columns:176px 1fr 96px;align-items:center;gap:20px 28px;min-height:66px;padding:18px 0;display:grid}.panel>div+div .dim-row{border-top:1px solid var(--grid)}.dim-name{font-size:var(--fs-lede);font-weight:700;line-height:1.35}.dim-name .en{font-size:var(--fs-micro);color:var(--muted);font-weight:400;display:block}.dim-name .badge{margin-top:4px}.badge{font-size:var(--fs-micro);border-radius:var(--r-pill);border:1px solid;align-items:center;gap:4px;padding:1px 8px 1px 6px;font-weight:700;display:inline-flex}.badge.up{color:var(--good-text)}.badge.down{color:var(--serious-deep)}.dscale{height:60px;position:relative}.dbase{background:var(--axis);height:1px;position:absolute;bottom:18px;left:0;right:0}.dcol{background:var(--s1);border-radius:2px 2px 0 0;width:18px;position:absolute;bottom:19px;transform:translate(-50%)}.dcol.low{background:var(--serious)}.dcnt{font-size:var(--fs-micro);color:var(--muted);z-index:2;text-shadow:0 0 3px var(--surface), 0 0 3px var(--surface), 0 0 2px var(--surface);font-weight:600;line-height:1;position:absolute;transform:translate(-50%)}.dgoal{border-left:2px dashed var(--ink);opacity:.4;z-index:1;width:0;position:absolute;top:15px;bottom:14px}.dmark{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:7px solid var(--ink);z-index:3;width:0;height:0;margin-left:-5px;position:absolute;bottom:13px}.dmark.weak{border-bottom-color:var(--serious-deep)}.dticks{height:16px;position:absolute;bottom:0;left:0;right:0}.dticks span{font-size:var(--fs-micro);color:var(--muted);position:absolute;transform:translate(-50%)}.dmean{text-align:right;font-size:var(--fs-h2);font-weight:700;line-height:1.1}.dmean.weak{color:var(--serious-deep)}.dmean span{font-size:var(--fs-micro);color:var(--muted);margin-top:2px;font-weight:600;display:block}.anchor{background:var(--sunken);border-radius:var(--r-sm);color:var(--ink-2);max-width:46em;margin:0 0 18px;padding:12px 14px;font-size:13px}.anchor b{color:var(--ink);font-weight:700}.legend{border-top:1px solid var(--grid);font-size:var(--fs-micro);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;padding-top:16px;display:flex}.legend .sw{align-items:center;gap:5px;display:inline-flex}.legend .sw i{display:block}.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(5,minmax(0,1fr));gap:14px;margin-top:20px;padding:18px 0 4px;display:grid}@media (max-width:720px){.spark-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.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}.hero{background:var(--surface);border:1px solid var(--ring-2);border-radius:var(--r-md);box-shadow:var(--sh-2);margin-top:32px;padding:32px}.hero-top{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.hero .num{letter-spacing:-.035em;font-size:76px;font-weight:700;line-height:.95}.hero .num u{color:var(--muted);letter-spacing:-.01em;font-size:24px;font-weight:600;text-decoration:none}.hero .scope{font-size:var(--fs-micro);color:var(--muted);margin-bottom:10px;font-weight:700;display:block}.delta{font-size:var(--fs-lede);color:var(--muted);align-items:center;gap:4px;padding-bottom:8px;font-weight:700;display:inline-flex}.delta.up{color:var(--good-text)}.delta.down{color:var(--serious-deep)}.delta small{color:var(--muted);font-weight:600;font-size:var(--fs-label)}.togoal{font-size:var(--fs-label);color:var(--muted);padding-bottom:10px;font-weight:600}.gauge{margin-top:40px}.gauge .rail{border-radius:var(--r-pill);background:var(--sunken);border:1px solid var(--ring-2);height:12px;position:relative}.gauge .fill{border-radius:var(--r-pill);background:var(--s1);position:absolute;top:0;bottom:0;left:0}.gauge .goal{background:var(--ink);opacity:.55;border-radius:2px;width:2px;position:absolute;top:-5px;bottom:-5px}.gauge .goal-tag{white-space:nowrap;font-size:var(--fs-micro);color:var(--ink-2);font-weight:600;position:absolute;bottom:calc(100% + 8px);transform:translate(-50%)}.gauge .scale{font-size:var(--fs-micro);color:var(--muted);justify-content:space-between;margin-top:7px;display:flex}.hero-read{text-wrap:balance;max-width:34em;margin:26px 0 0;font-size:17px;font-weight:600;line-height:1.55}.hero-read b{color:var(--s1-deep);font-weight:700}.hero-read i{color:var(--serious-deep);font-style:normal;font-weight:700}.hero-foot{border-top:1px solid var(--grid);font-size:var(--fs-label);color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:18px;padding-top:18px;display:flex}.hero-foot b{color:var(--ink-2);font-weight:600}.jump{color:var(--s1-deep);align-items:center;gap:5px;font-weight:700;display:inline-flex}.jump:hover{text-decoration:underline}@media (max-width:620px){.hero{padding:24px}.hero .num{font-size:60px}.dim-row{grid-template-columns:1fr;gap:10px}.dmean{text-align:left}}.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}
