:root{font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif;color:#0b0c0f;background:#fff;--blue:#2d73ff;--yellow:#ffd400;--line:#dfe5ed;--muted:#657083}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(45,115,255,.28);outline-offset:2px}.app{min-height:100vh;background:#fff}.app-header{height:82px;padding:0 44px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.app-header img{width:178px}.app-header>span{color:var(--muted);font-size:14px;font-weight:700}.app-header button{justify-self:end;border:0;background:transparent;color:#4c586b}.stage-progress{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none}.stage-progress li{display:flex;align-items:center;gap:9px;color:#9aa3b1;font-size:13px}.stage-progress li span{width:24px;height:24px;border:1px solid #d4dbe5;border-radius:50%;display:grid;place-items:center;font-size:11px}.stage-progress li.active,.stage-progress li.done{color:#11141a}.stage-progress li.active span,.stage-progress li.done span{background:var(--blue);border-color:var(--blue);color:#fff}.app-layout{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,720px) 280px;gap:72px;padding:52px 0 64px}.phase-surface{min-width:0}.eyebrow{margin:0 0 14px;color:var(--blue);font-size:13px;font-weight:850;letter-spacing:.02em}h1{max-width:680px;margin:0;font-size:clamp(36px,4vw,52px);line-height:1.16;letter-spacing:-.045em;word-break:keep-all}.lead{max-width:650px;margin:18px 0 24px;color:#596578;font-size:17px;line-height:1.65;word-break:keep-all}.assistant-note{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:13px;margin:18px 0 24px}.assistant-note img{width:56px;height:66px;object-fit:contain}.assistant-note p{margin:0;padding:14px 16px;border-radius:14px;background:#eff5ff;color:#36445a;line-height:1.55}.upload-box{min-height:280px;border:1.5px dashed #b9c5d7;border-radius:20px;padding:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;background:#fbfcfe}.upload-box input{position:absolute;width:1px;height:1px;opacity:0}.upload-box strong{font-size:20px}.upload-box span{color:var(--muted);font-size:13px}.upload-box p[role=alert]{margin:8px 0 0;color:#a64722;line-height:1.5}.primary,.secondary,.text-button{min-height:48px;border-radius:11px;padding:0 20px;font-weight:800}.primary{border:0;background:var(--blue);color:#fff;box-shadow:0 8px 20px #2d73ff2e}.primary:disabled{background:#cbd4e2;box-shadow:none;cursor:not-allowed}.secondary{border:1px solid #cfd7e3;background:#fff;color:#1d2736}.text-button{border:0;background:transparent;color:var(--blue)}.text-button.wide{width:100%;margin-top:10px}.direct-entry{display:grid;gap:13px}.direct-entry label{font-weight:800}.direct-entry textarea{min-height:190px;resize:vertical;border:1px solid var(--line);border-radius:16px;padding:18px;line-height:1.6}.direct-entry .primary{justify-self:end}.evidence-list{display:grid;gap:12px}.evidence-list article{position:relative;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:12px}.evidence-list article.excluded{opacity:.55;background:#f4f6f9}.confirm-check{display:flex;align-items:center;gap:9px;color:var(--blue);font-weight:800}.confirm-check input{width:19px;height:19px;accent-color:var(--blue)}.evidence-list textarea{width:100%;min-height:72px;border:0;border-radius:8px;padding:8px;background:#f7f9fc;resize:vertical;font-weight:650;line-height:1.5}.evidence-source button{padding:0;border:0;background:transparent;color:#657083;font-size:12px;text-decoration:underline}.evidence-source blockquote{margin:9px 0 0;padding:12px 14px;border-left:3px solid var(--blue);background:#f6f8fb;color:#586579;font-size:13px;line-height:1.55}.evidence-list article>.text-button{justify-self:start;min-height:34px;padding:0;font-size:12px}.empty-state{padding:24px;border-radius:14px;background:#f6f8fb;color:var(--muted);line-height:1.6}.empty-state strong,.empty-state span{display:block}.empty-state span{margin-top:8px;color:var(--muted)}.reconnection-notice{margin:22px 0 0;padding:14px 16px;border:1px solid rgba(45,115,255,.25);border-radius:14px;background:#2d73ff12;color:#1559c8;font-weight:700}.phase-actions{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.phase-actions span{color:var(--muted);font-size:13px}.choice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.choice-list button{min-height:74px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;font-weight:750;line-height:1.4}.choice-list button:hover{border-color:#9abaff}.choice-list button.selected{border-color:var(--blue);background:#f2f6ff;color:var(--blue);box-shadow:inset 4px 0 0 var(--blue)}.context-rail{align-self:start;position:sticky;top:28px;padding:25px;border:1px solid var(--line);border-radius:18px;background:#fbfcfe}.context-rail h2{margin:0 0 20px;font-size:23px;line-height:1.45;letter-spacing:-.025em}.context-rail ul{margin:0;padding:0;list-style:none}.context-rail li{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:5px}.context-rail li strong{font-size:13px}.context-rail li span{color:#788396;font-size:12px}.role-list{display:grid;gap:14px}.role-list>h2,.detail-grid h2,.readiness h2{margin:0 0 4px;font-size:15px}.role-list>article{border:1px solid var(--line);border-radius:18px;padding:20px}.role-heading{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.role-heading span{color:var(--blue);font-size:11px;font-weight:850}.role-heading h3{margin:5px 0 7px;font-size:24px}.role-heading p{margin:0;color:var(--muted);line-height:1.5;font-size:13px}.task-chips{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 12px;padding:0;list-style:none}.task-chips li{padding:7px 10px;border-radius:999px;background:#eef4ff;color:#315baf;font-size:12px;font-weight:700}.evidence-connection,.uncertainty{margin:9px 0 0;padding:11px 12px;border-radius:10px;background:#f7f9fc;color:#526075;font-size:13px;line-height:1.5}.evidence-connection strong{color:var(--blue);margin-right:6px}.uncertainty{background:#fffaf0}.text-button.explain{min-height:36px;padding:0}.reason-list{padding:10px 13px;border-left:3px solid var(--blue);background:#f5f8ff}.reason-list p{margin:4px 0;color:#42516a;font-size:13px;line-height:1.5}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.detail-grid>section{border:1px solid var(--line);border-radius:17px;padding:20px}.detail-grid article{padding:14px 0;border-top:1px solid var(--line)}.detail-grid article:first-of-type{margin-top:10px}.detail-grid article p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.role-facts dl,.role-facts div{margin:0}.role-facts div{padding:14px 0;border-top:1px solid var(--line)}.role-facts dt{color:var(--blue);font-size:12px;font-weight:800}.role-facts dd{margin:5px 0 0;color:#59667a;font-size:13px;line-height:1.55}.readiness-groups{display:grid;gap:12px}.readiness{border:1px solid var(--line);border-radius:16px;padding:18px}.readiness h2{padding-left:12px;border-left:4px solid var(--blue)}.readiness.needs-wording h2{border-color:#6d90d6}.readiness.needs-confirmation h2{border-color:var(--yellow)}.readiness.missing h2{border-color:#97a1b1}.readiness article{display:grid;grid-template-columns:220px 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.readiness article:first-of-type{margin-top:12px}.readiness article p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.opportunity-list{display:grid;gap:10px}.opportunity-list>button{display:grid;grid-template-columns:auto 1fr auto;gap:7px 12px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left}.opportunity-list>button.selected{border-color:var(--blue);background:#f4f7ff}.opportunity-list strong{font-size:17px}.opportunity-list>button>span:not(.demo-badge){color:#566276;font-size:13px}.opportunity-list small{grid-column:2/4;color:#7a8493}.demo-badge{grid-row:1/3;align-self:start;padding:6px 8px;border-radius:7px;background:#fff2a8;color:#624d00;font-size:11px;font-weight:850}.opportunity-detail,.why-now,.current-action{margin-top:16px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}.opportunity-detail h2,.why-now h2{margin:0 0 12px;font-size:17px}.opportunity-detail ul{padding-left:20px;color:#3f4c60;line-height:1.8}.opportunity-detail p,.why-now p{color:#58667a;line-height:1.55;font-size:13px}.opportunity-detail .secondary{margin-top:8px}.why-now{border-left:5px solid var(--yellow)}.why-now span{color:#7b8492;font-size:12px}.action-options{display:grid;gap:10px;margin-top:16px}.action-options>button{min-height:112px;display:grid;grid-template-columns:90px 1fr;gap:6px 13px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left}.action-options>button.selected{border-color:var(--blue);background:#f3f7ff}.action-options span{grid-row:1/4;color:var(--blue);font-size:11px;font-weight:850}.action-options strong{font-size:16px}.action-options small{color:#687487}.action-options em{color:#526078;font-size:12px;font-style:normal}.current-action{display:grid;gap:1px;padding:0;overflow:hidden;background:var(--line)}.current-action>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:18px;background:#fff}.current-action span{color:#738094;font-size:12px}.current-action strong{line-height:1.5}.action-settings label{display:grid;gap:7px;color:#687487;font-size:12px}.action-settings input[type=date]{min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:9px}.action-settings .reminder{display:flex;align-items:center}.action-settings .reminder input{width:18px;height:18px;accent-color:var(--blue)}.status-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.status-buttons button{min-height:48px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:750}.status-buttons button.selected{border-color:var(--blue);color:var(--blue);background:#f2f6ff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#080d166b}.reset-dialog{width:min(460px,100%);padding:28px;border-radius:20px;background:#fff;box-shadow:0 24px 80px #0c14223d}.reset-dialog h2{margin:0;font-size:26px}.reset-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.6}.reset-dialog>div{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:900px){.app-layout{grid-template-columns:1fr;gap:28px}.context-rail{display:none}.app-header{grid-template-columns:1fr auto;padding:0 24px}.app-header>span{display:none}.stage-progress,.app-layout{width:calc(100% - 36px)}}@media(max-width:620px){.app-header{height:68px;padding:0 18px}.app-header img{width:148px}.app-header button{font-size:13px}.stage-progress{padding:15px 0}.stage-progress li{gap:6px;font-size:11px}.stage-progress li span{width:20px;height:20px}.app-layout{padding:30px 0 44px}h1{font-size:34px}.lead{font-size:15px}.assistant-note{grid-template-columns:47px 1fr}.assistant-note img{width:46px;height:54px}.assistant-note p{font-size:13px}.upload-box{min-height:250px;padding:28px 20px}.choice-list{grid-template-columns:1fr}.phase-actions{display:grid}.phase-actions .primary,.direct-entry .primary{width:100%}.role-heading{grid-template-columns:1fr}.role-heading .secondary{width:100%}.detail-grid{grid-template-columns:1fr}.readiness article{grid-template-columns:1fr;gap:6px}.opportunity-list>button{grid-template-columns:auto 1fr}.opportunity-list small{grid-column:2}.action-options>button{grid-template-columns:1fr}.action-options span{grid-row:auto}.current-action>div{grid-template-columns:1fr}.status-buttons{grid-template-columns:repeat(2,1fr)}}
