.shell{grid-template-columns:208px minmax(0,1fr);min-height:100%;display:grid}.side{background:var(--side);flex-direction:column;gap:18px;height:100vh;padding:14px 12px;display:flex;position:sticky;top:0}.side ul{gap:2px;display:grid}.side-chan{border-radius:var(--r-control);text-align:left;width:100%;transition:background-color var(--dur) var(--ease);grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:8px;display:grid}.side-chan:hover{background:var(--side-on)}.chip{border-radius:var(--r-inner);background:var(--ch);width:28px;height:28px;box-shadow:inset 0 0 0 1.5px var(--on-ch);display:inline-block}.side-chan b{font-weight:800;font-size:var(--text-heading);line-height:1.2;display:block}.side-chan small{font-size:var(--text-caption);color:var(--ink-2);display:block}.side-chan svg{color:var(--ink-2)}.side-link{border-radius:var(--r-control);height:38px;color:var(--ink-2);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:12px;padding:0 10px;text-decoration:none;display:flex}.side-link:hover{background:var(--side-on);color:var(--ink)}.side-link.is-current{background:var(--side-on);color:var(--ink);font-weight:700}.side-foot{gap:8px;margin-top:auto;display:grid}.side-foot p{font-size:var(--text-label);color:var(--ink-2);padding:0 10px;line-height:1.5}.side-foot p b{font-size:var(--text-body);color:var(--ink);font-weight:700;display:block}.side-user{border-radius:var(--r-control);text-align:left;font-size:var(--text-label);color:var(--ink-2);transition:background-color var(--dur) var(--ease);justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.side-user:hover{background:var(--side-on);color:var(--ink)}.side-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-user small{font-size:var(--text-caption);flex:none}.main{min-width:0;padding:28px clamp(20px,3vw,40px) 48px}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.side{height:auto;position:static}}.login{background:var(--side);place-items:center;min-height:100%;padding:24px 16px;display:grid}.login-card{background:var(--surface);border-radius:var(--r-surface);gap:14px;width:min(100%,400px);padding:32px 28px 28px;display:grid}.login-mark{display:flex}.login-chip{border-radius:var(--r-inner);background:var(--ch);width:36px;height:36px;box-shadow:inset 0 0 0 1.5px var(--on-ch)}.login h1{font-size:var(--text-title);letter-spacing:-.015em;font-weight:800;line-height:1.25}.login-lead{color:var(--ink-2)}.login-google{width:100%;margin-top:6px;text-decoration:none}.login-google.is-off{opacity:.5;pointer-events:none}.login-note,.login-dev span{font-size:var(--text-label);color:var(--ink-2);line-height:1.55}.login-error{border-radius:var(--r-control);background:var(--help);color:var(--risk);font-size:var(--text-label);padding:10px 12px;line-height:1.55}.login-dev{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:8px;padding-top:16px;display:flex}.login-dev .login-error{flex-basis:100%}.field{gap:6px;display:grid}.field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field label{font-size:var(--text-label);color:var(--ink);font-weight:700}.field-meta{font-size:var(--text-caption);color:var(--ink-2)}.field-hint{font-size:var(--text-caption);color:var(--ink-2);line-height:1.5}.input,.textarea,.select{background:var(--surface);width:100%;min-height:36px;color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-inner);font:inherit;font-size:var(--text-control);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:7px 10px;line-height:1.45}.textarea{resize:vertical;min-height:72px}.input:focus-visible,.textarea:focus-visible,.select:focus-visible{border-color:var(--selection);box-shadow:0 0 0 2px oklch(from var(--selection) l c h / .25);outline:none}.input::placeholder,.textarea::placeholder{color:var(--ink-2);opacity:.7}.chips{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-inner);flex-wrap:wrap;gap:6px;padding:6px;display:flex}.chips:focus-within{border-color:var(--selection)}.chip-item{background:var(--ctl);border-radius:var(--r-inner);height:26px;font-size:var(--text-label);align-items:center;gap:4px;padding:0 6px 0 10px;font-weight:600;display:inline-flex}.chip-item button{width:18px;height:18px;color:var(--ink-2);border-radius:4px;place-items:center;display:grid}.chip-item button:hover{background:var(--rule);color:var(--ink)}.chips input{min-width:120px;height:26px;font:inherit;font-size:var(--text-control);color:var(--ink);background:0 0;border:0;flex:120px}.chips input:focus{outline:none}.wiz{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;max-width:1040px;display:grid}.wiz-main{gap:22px;min-width:0;display:grid}.wiz-head{gap:6px;display:grid}.wiz-head h1{font-size:var(--text-title);letter-spacing:-.015em;font-weight:800;line-height:1.25}.wiz-head p{color:var(--ink-2)}.wiz-steps{flex-wrap:wrap;gap:6px;display:flex}.wiz-steps a{border-radius:var(--r-pill);height:32px;font-size:var(--text-label);color:var(--ink-2);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:6px;padding:0 12px 0 8px;font-weight:600;text-decoration:none;display:inline-flex}.wiz-steps a:hover{background:var(--ctl)}.wiz-steps a.is-done{color:var(--ink)}.wiz-steps a.is-current{background:var(--ch);color:var(--on-ch);font-weight:700}.wiz-steps a.is-locked{opacity:.55;pointer-events:none}.wiz-step-n{background:var(--ctl);width:20px;height:20px;font-size:var(--text-caption);border-radius:10px;place-items:center;font-weight:700;display:grid}.wiz-steps a.is-current .wiz-step-n{background:oklch(from var(--on-ch) l c h / .14)}.wiz-steps a.is-done .wiz-step-n{color:var(--ok);background:0 0}.wiz-form{background:var(--surface);border-radius:var(--r-surface);gap:18px;padding:20px;display:grid}.wiz-form h2{font-size:var(--text-heading);font-weight:700}.wiz-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.wiz-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wiz-actions .spacer{flex:1}.wiz-status{font-size:var(--text-caption);color:var(--ink-2)}.wiz-error{font-size:var(--text-label);color:var(--risk)}.wiz-error ul{gap:2px;padding-left:16px;list-style:outside;display:grid}.wiz-ai{font-size:var(--text-caption);color:var(--ink-2);align-items:center;gap:10px;display:flex}.wiz-ai a{color:var(--selection)}.wiz-draft{background:var(--help);border-radius:var(--r-inner);gap:10px;padding:14px 16px;display:grid}.wiz-draft-tag{font-size:var(--text-caption);color:var(--ink-2);font-weight:700}.wiz-draft-main{font-size:var(--text-body);font-weight:700;line-height:1.5}.wiz-draft-dl{gap:4px;display:grid}.wiz-draft-dl div{font-size:var(--text-label);grid-template-columns:80px minmax(0,1fr);gap:8px;display:grid}.wiz-draft-dl dt{color:var(--ink-2)}.wiz-draft-alts{gap:6px;display:grid}.wiz-alt{text-align:left;border:1px solid var(--rule);border-radius:var(--r-inner);background:var(--surface);font-size:var(--text-label);padding:8px 10px;line-height:1.45}.wiz-alt:hover{border-color:var(--selection)}.wiz-cands{gap:8px;display:grid}.wiz-cands li{background:var(--help);border-radius:var(--r-inner);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.wiz-cands b{font-size:var(--text-control);display:block}.wiz-cands p{font-size:var(--text-label);margin-top:2px}.wiz-cands small{font-size:var(--text-caption);color:var(--ink-2);margin-top:4px;display:block}.wiz-list{gap:6px;display:grid}.wiz-list li{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;display:grid}.wiz-list li span{font-size:var(--text-caption);color:var(--ink-2);text-align:right}.wiz-pillar{border:1px solid var(--rule);border-radius:var(--r-inner);gap:10px;padding:14px;display:grid}.wiz-pillar h3{font-size:var(--text-label);color:var(--ink-2);font-weight:700}.lint{gap:6px;display:grid}.lint li{font-size:var(--text-label);grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:8px;line-height:1.5;display:grid}.lint li svg{margin-top:3px}.lint .is-ok{color:var(--ink-2)}.lint .is-ok svg{color:var(--ok)}.lint .is-warn{color:var(--ink)}.lint .is-warn svg{color:var(--warn)}.lint .is-note{color:var(--ink-2)}.lint .is-note svg{color:var(--guide)}.lint-src{font-size:var(--text-caption);color:var(--ink-2);white-space:nowrap}.playbook{background:var(--help);border-radius:var(--r-surface);gap:14px;padding:18px;display:grid;position:sticky;top:24px}.playbook h2{font-size:var(--text-caption);color:var(--ink-2);letter-spacing:.02em;font-weight:700}.playbook blockquote{font-size:var(--text-body);margin:0;font-weight:600;line-height:1.55}.playbook-src{font-size:var(--text-caption);color:var(--ink-2)}.playbook h3{font-size:var(--text-caption);color:var(--ink-2);font-weight:700}.playbook ul{font-size:var(--text-label);color:var(--ink);gap:4px;display:grid}.playbook ul li:before{content:"· ";color:var(--ink-2)}.playbook p{font-size:var(--text-label);color:var(--ink-2);line-height:1.55}@media (width<=900px){.wiz{grid-template-columns:minmax(0,1fr)}.playbook{position:static}}.settings{gap:20px;max-width:640px;display:grid}.settings-head{gap:6px;display:grid}.settings-head h1{font-size:var(--text-title);letter-spacing:-.015em;font-weight:800;line-height:1.25}.settings-head p{color:var(--ink-2)}.settings-card{background:var(--surface);border-radius:var(--r-surface);gap:14px;padding:20px;display:grid}.settings-card h2{font-size:var(--text-heading);align-items:center;gap:8px;font-weight:700;display:flex}.settings-dl{gap:8px;display:grid}.settings-dl div{font-size:var(--text-control);grid-template-columns:110px minmax(0,1fr);gap:12px;display:grid}.settings-dl dt{color:var(--ink-2)}.settings-dl dd{overflow-wrap:anywhere;font-weight:600}.settings-note{font-size:var(--text-label);color:var(--ink-2);line-height:1.55}.settings-keyrow{border:1px solid var(--rule);border-radius:var(--r-inner);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.settings-keyrow svg{color:var(--ok)}.settings-keyrow b{font-size:var(--text-control);display:block}.settings-keyrow small{font-size:var(--text-caption);color:var(--ink-2)}.settings-form{gap:12px;display:grid}.settings-form a{color:var(--selection)}.settings-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings-ok{font-size:var(--text-label);color:var(--ok)}.settings-error{font-size:var(--text-label);color:var(--risk)}.today{gap:24px;max-width:720px;display:grid}.today-head{gap:6px;display:grid}.today-head h1{font-size:var(--text-title);letter-spacing:-.015em;font-weight:800;line-height:1.25}.today-head p{color:var(--ink-2)}.today-steps{gap:8px;display:grid}.today-steps li{background:var(--surface);border-radius:var(--r-surface);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.today-step-n{border-radius:var(--r-pill);background:var(--ch);width:32px;height:32px;color:var(--on-ch);font-weight:700;font-size:var(--text-control);place-items:center;display:grid}.today-steps li+li .today-step-n{background:var(--ctl);color:var(--ink-2)}.today-steps .is-done .today-step-n{background:var(--ctl);color:var(--ok)}.today-steps h2{font-size:var(--text-heading);font-weight:700}.today-steps p{font-size:var(--text-label);color:var(--ink-2);line-height:1.55}.today-note{font-size:var(--text-label);color:var(--ink-2)}@media (width<=600px){.today-steps li{grid-template-columns:32px minmax(0,1fr)}.today-steps li .btn{grid-column:2;justify-self:start}}:root{--ch-l:.87;--ch-c:.15;--ch-h:95;--ch:oklch(var(--ch-l) var(--ch-c) var(--ch-h));--on-ch:oklch(.22 .03 var(--ch-h));--ground:oklch(.985 calc(var(--ch-c) * .06) var(--ch-h));--side:oklch(.945 calc(var(--ch-c) * .3) var(--ch-h));--side-on:oklch(.885 calc(var(--ch-c) * .7) var(--ch-h));--help:oklch(.965 calc(var(--ch-c) * .16) var(--ch-h));--surface:oklch(.995 .003 var(--ch-h));--desk:oklch(.95 calc(var(--ch-c) * .1) var(--ch-h));--ctl:oklch(.93 calc(var(--ch-c) * .14) var(--ch-h));--rule:oklch(.87 calc(var(--ch-c) * .16) var(--ch-h));--ink:oklch(.23 .02 var(--ch-h));--ink-2:oklch(.42 .03 var(--ch-h));--skel:oklch(.93 calc(var(--ch-c) * .14) var(--ch-h));--skel-hi:oklch(.88 calc(var(--ch-c) * .2) var(--ch-h));--ok:oklch(45% .12 155);--warn:oklch(47% .14 45);--risk:oklch(50% .18 27);--selection:oklch(55% .17 258);--guide:oklch(60% .04 258);--paper:oklch(99% .003 95);--paper-ink:oklch(20% .01 95);--paper-warn:oklch(58% .17 50);--shadow-paper:0 4px 8px oklch(.3 .03 var(--ch-h) / .16);--font:"Gothic A1", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--text-caption:12.5px;--text-label:13.5px;--text-control:14px;--text-body:15px;--text-heading:16px;--text-title:22px;--r-thumb:4px;--r-inner:8px;--r-control:10px;--r-surface:12px;--r-pill:16px;--dur:.18s;--ease:ease-out}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:oklch(.2 calc(var(--ch-c) * .08) var(--ch-h));--side:oklch(.25 calc(var(--ch-c) * .2) var(--ch-h));--side-on:oklch(.36 calc(var(--ch-c) * .42) var(--ch-h));--help:oklch(.228 calc(var(--ch-c) * .13) var(--ch-h));--surface:oklch(.285 calc(var(--ch-c) * .1) var(--ch-h));--desk:oklch(.165 calc(var(--ch-c) * .06) var(--ch-h));--ctl:oklch(.33 calc(var(--ch-c) * .14) var(--ch-h));--rule:oklch(.37 calc(var(--ch-c) * .14) var(--ch-h));--ink:oklch(.95 .01 var(--ch-h));--ink-2:oklch(.78 .025 var(--ch-h));--skel:oklch(.3 calc(var(--ch-c) * .12) var(--ch-h));--skel-hi:oklch(.37 calc(var(--ch-c) * .16) var(--ch-h));--ok:oklch(80% .12 155);--warn:oklch(80% .13 55);--risk:oklch(76% .13 25);--shadow-paper:0 4px 8px oklch(.08 .02 var(--ch-h) / .55)}}:root[data-theme=dark]{--ground:oklch(.2 calc(var(--ch-c) * .08) var(--ch-h));--side:oklch(.25 calc(var(--ch-c) * .2) var(--ch-h));--side-on:oklch(.36 calc(var(--ch-c) * .42) var(--ch-h));--help:oklch(.228 calc(var(--ch-c) * .13) var(--ch-h));--surface:oklch(.285 calc(var(--ch-c) * .1) var(--ch-h));--desk:oklch(.165 calc(var(--ch-c) * .06) var(--ch-h));--ctl:oklch(.33 calc(var(--ch-c) * .14) var(--ch-h));--rule:oklch(.37 calc(var(--ch-c) * .14) var(--ch-h));--ink:oklch(.95 .01 var(--ch-h));--ink-2:oklch(.78 .025 var(--ch-h));--skel:oklch(.3 calc(var(--ch-c) * .12) var(--ch-h));--skel-hi:oklch(.37 calc(var(--ch-c) * .16) var(--ch-h));--ok:oklch(80% .12 155);--warn:oklch(80% .13 55);--risk:oklch(76% .13 25);--shadow-paper:0 4px 8px oklch(.08 .02 var(--ch-h) / .55)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font:500 var(--text-body) / 1.45 var(--font);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}a{color:inherit}:focus-visible{outline:2px solid var(--selection);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.btn{border-radius:var(--r-control);height:34px;font-size:var(--text-control);white-space:nowrap;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;line-height:1;display:inline-flex}.btn-primary{background:var(--ink);color:var(--ground)}.btn-primary:hover{background:var(--ink-2)}.btn-secondary{background:var(--ctl);color:var(--ink);height:28px;padding:0 12px}.btn-secondary:hover{background:var(--rule)}.btn-large{height:44px;font-size:var(--text-body);padding:0 20px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}
