:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f7f8;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(#e9f2ef 0,#f5f7f8 340px),#f5f7f8;min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #0d617047}.app-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:24px 0 56px}.top-panel{grid-template-columns:minmax(0,1.45fr) 360px;align-items:stretch;gap:16px;display:grid}.title-block,.progress-panel,.warning-strip,.phase-nav,.task-card,.faq-section,.faq-item{background:#fff;border:1px solid #d9e1e5;border-radius:8px;box-shadow:0 18px 42px #19283614}.title-block{background:linear-gradient(135deg,#e7f4eee6,#fff0 58%),#fff;border-color:#c8d9da #c8d9da #c8d9da #1a7f64;border-left-style:solid;border-left-width:6px;align-content:start;gap:18px;min-height:286px;padding:32px;display:grid}.eyebrow,.phase-index{color:#17664f;background:#e7f4ee;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex}h1,h2,h3,p{margin-top:0}h1{color:#16242b;letter-spacing:0;overflow-wrap:anywhere;max-width:760px;margin-bottom:0;font-size:2.45rem;line-height:1.1}h2{color:#16242b;letter-spacing:0;margin-bottom:8px;font-size:1.5rem}h3{color:#1d2b32;letter-spacing:0;margin-bottom:10px;font-size:1.08rem}p{color:#4f5f66;line-height:1.72}.title-block p{max-width:780px;margin-bottom:0;font-size:1rem}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.hero-button{color:#21414b;background:#fff;border:1px solid #b9ccd4;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:800;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.hero-button.primary{color:#fff;background:#17664f;border-color:#17664f}.hero-button:hover{background:#eef7f8;border-color:#0d6170;transform:translateY(-1px)}.hero-button.primary:hover{background:#12513f;border-color:#12513f}.hero-notes{flex-wrap:wrap;gap:8px;display:flex}.hero-notes span{color:#46606a;background:#f0f5f6;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.84rem;font-weight:800;display:inline-flex}.progress-panel{background:linear-gradient(#fff,#f8fbfb),#fff;align-content:start;gap:14px;padding:24px;display:grid}.app-shell>.progress-panel{grid-template-columns:minmax(96px,max-content) minmax(0,1fr) 150px;align-items:center;margin:16px 0}.app-shell>.progress-panel .panel-label{grid-column:1/-1}.app-shell>.progress-panel .progress-number{grid-row:2/4}.app-shell>.progress-panel .progress-copy,.app-shell>.progress-panel .progress-track{grid-column:2}.app-shell>.progress-panel .ghost-button{grid-area:2/3/4;align-self:stretch}.panel-label{color:#607178;font-size:.82rem;font-weight:850}.progress-number{color:#0b6b6f;font-size:3.35rem;font-weight:850;line-height:1}.progress-copy{gap:5px;display:grid}.progress-copy span{color:#68777e;font-size:.9rem;line-height:1.55}.progress-track{background:#edf1f2;border-radius:999px;height:12px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#1a7f64,#0b7a9c);height:100%;transition:width .18s;display:block}.ghost-button,.action-button,.task-toggle{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;text-decoration:none;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.ghost-button{color:#28414a;background:#f8fafb;border:1px solid #cdd8dd;width:100%;font-weight:700}.ghost-button:hover,.action-button:hover,.task-toggle:hover{transform:translateY(-1px)}.warning-strip{background:#fffaf0;border-color:#f0c36c;grid-template-columns:170px minmax(0,1fr);gap:18px;margin:16px 0;padding:20px;display:grid}.top-panel .warning-strip{grid-template-columns:1fr;align-content:start;margin:0}.warning-heading{color:#8a4b04;align-items:center;gap:8px;display:flex}.warning-strip ul{color:#68420f;gap:8px;margin:0;padding-left:20px;line-height:1.58;display:grid}.content-grid{grid-template-columns:286px minmax(0,1fr);align-items:start;gap:18px;display:grid}.phase-nav{gap:5px;padding:10px;display:grid;position:sticky;top:16px}.phase-link{color:#2e424b;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;text-decoration:none;transition:background .16s,border-color .16s;display:grid}.phase-link:hover,.phase-link.active{background:#eef7f3}.phase-link.active{border-color:#b5d8ca}.phase-link small{color:#6b7a80;margin-top:4px;font-size:.82rem;line-height:1.45;display:block}.phase-link em{color:#49616b;background:#e8eef0;border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:30px;font-size:.8rem;font-style:normal;font-weight:800;display:inline-flex}.phase-stack{gap:18px;display:grid}.phase-section,.faq-section{scroll-margin-top:18px}.phase-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:0 2px;display:flex}.phase-heading p{margin-bottom:0}.risk-badge{border-radius:999px;align-items:center;gap:6px;min-width:max-content;min-height:34px;padding:0 11px;font-size:.82rem;font-weight:800;display:inline-flex}.risk-badge.low{color:#267447;background:#eaf5ed}.risk-badge.medium{color:#91620c;background:#fff4d8}.risk-badge.high{color:#ae332d;background:#ffebea}.task-list{gap:10px;display:grid}.task-card{grid-template-columns:132px minmax(0,1fr);gap:16px;padding:16px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.task-card.complete{background:#fbfffd;border-color:#8fcfba;box-shadow:0 16px 34px #16664f1a}.task-toggle{color:#2d4650;background:#f8fafb;border:1px solid #cbd8dc;align-self:start;font-weight:800}.task-card.complete .task-toggle{color:#17664f;background:#e7f4ee;border-color:#1a7f64}.check-circle{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.task-body p{margin-bottom:10px}.checklist{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.checklist li{color:#33464e;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;line-height:1.58;display:grid}.checklist svg{color:#1a7f64;margin-top:4px}.link-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.action-button{color:#0d6170;background:#eef7f8;border:1px solid #b9ccd4;padding:0 12px;font-weight:800}.action-button:hover{background:#e2f1f3;border-color:#0d6170}.task-warnings{gap:8px;display:grid}.task-warnings p{color:#694912;background:#fff6e6;border-radius:8px;grid-template-columns:18px minmax(0,1fr);gap:8px;margin:0;padding:10px 12px;font-size:.93rem;line-height:1.58;display:grid}.task-warnings svg{margin-top:4px}.faq-section{background:linear-gradient(#fff,#fbfcfc),#fff;padding:18px}.faq-list{gap:10px;display:grid}.faq-item{box-shadow:none}.faq-item button{color:#1f333b;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:52px;padding:14px 16px;font-weight:800;display:flex}.faq-item svg{flex:none;transition:transform .16s}.faq-item svg.open{transform:rotate(180deg)}.faq-item p{margin:0;padding:0 16px 16px}.faq-support{border-top:1px solid #e4ecef;justify-content:center;margin-top:14px;padding-top:14px;display:flex}.support-fab{z-index:30;color:#fff;background:#17664f;border:1px solid #12513f;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 16px;font-weight:850;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 42px #17664f3d}.support-fab:hover{background:#12513f;transform:translateY(-2px);box-shadow:0 20px 48px #17664f4d}.back-to-top-fab{z-index:30;color:#17664f;background:#fff;border:1px solid #b9ccd4;border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .16s,border-color .16s,background .16s;display:inline-flex;position:fixed;bottom:84px;right:22px;box-shadow:0 16px 38px #19283629}.back-to-top-fab:hover{background:#eef7f3;border-color:#17664f;transform:translateY(-2px)}.support-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111f2475;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.support-dialog{background:#fff;border:1px solid #d9e1e5;border-radius:8px;gap:18px;width:min(420px,100%);padding:24px;display:grid;position:relative;box-shadow:0 28px 68px #111f2442}.external-link-dialog{background:#fff;border:1px solid #d9e1e5;border-radius:8px;gap:16px;width:min(460px,100%);padding:24px;display:grid;position:relative;box-shadow:0 28px 68px #111f2442}.support-close{color:#314950;background:#f8fafb;border:1px solid #d2dde1;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:absolute;top:14px;right:14px}.support-dialog-copy{gap:10px;padding-right:44px;display:grid}.support-dialog-copy h2,.support-dialog-copy p{margin-bottom:0}.qr-frame{background:linear-gradient(135deg,#e7f4eecc,#fff0 54%),#f8fafb;border:1px solid #dbe4e8;border-radius:8px;place-items:center;min-height:280px;padding:18px;display:grid}.qr-frame img{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:8px;width:min(240px,100%);display:block}.support-pricing{gap:8px;display:grid}.support-pricing div{color:#30474f;background:#fbfcfc;border:1px solid #dbe4e8;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:0 14px;display:flex}.support-pricing span{font-weight:750}.support-pricing strong{color:#17664f;font-size:1.08rem}.external-link-url{overflow-wrap:anywhere;color:#46606a;background:#f8fafb;border:1px solid #dbe4e8;border-radius:8px;padding:12px;font-size:.88rem;line-height:1.55}.external-link-actions{flex-wrap:wrap;gap:10px;display:flex}.external-link-actions .completion-button{flex:150px}.completion-dialog{text-align:center;background:linear-gradient(135deg,#e7f4eef5,#fff0 58%),#fff;border:1px solid #c8d9da;border-radius:8px;justify-items:center;gap:16px;width:min(430px,100%);padding:28px;display:grid;position:relative;box-shadow:0 28px 68px #111f2442}.completion-mark{justify-content:center;align-items:center;min-height:56px;display:inline-flex}.completion-mark span{font-size:3rem;line-height:1}.completion-copy{gap:8px;padding:0 10px;display:grid}.completion-copy h2,.completion-copy p{margin-bottom:0}.completion-button{color:#fff;background:#17664f;border:1px solid #17664f;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:850;display:inline-flex}.completion-button:hover{background:#12513f}.completion-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.completion-button.secondary{color:#28414a;background:#fff;border-color:#cdd8dd}.completion-button.secondary:hover{background:#f8fafb;border-color:#b9ccd4}@media (width<=920px){.top-panel,.content-grid{grid-template-columns:1fr}.phase-nav{grid-template-columns:repeat(2,minmax(0,1fr));position:static;top:auto}}@media (width<=680px){.app-shell{width:min(100% - 20px,1180px);padding-top:12px}.title-block,.progress-panel,.warning-strip,.task-card,.faq-section{padding:16px}h1{font-size:1.75rem}.title-block{min-height:auto}.warning-strip,.task-card,.app-shell>.progress-panel{grid-template-columns:1fr}.app-shell>.progress-panel .panel-label,.app-shell>.progress-panel .progress-number,.app-shell>.progress-panel .progress-copy,.app-shell>.progress-panel .progress-track,.app-shell>.progress-panel .ghost-button{grid-area:auto}.phase-nav{grid-template-columns:1fr}.phase-heading{display:grid}.risk-badge{justify-self:start}.task-toggle{order:2;width:100%}.task-body{order:1}.action-button{width:100%}.hero-actions{display:grid}.hero-button{width:100%}.support-fab{min-height:44px;padding:0 13px;bottom:14px;right:14px}.back-to-top-fab{width:44px;height:44px;bottom:72px;right:14px}.support-dialog,.external-link-dialog{padding:18px}.completion-dialog{padding:24px 18px}.completion-actions{width:100%;display:grid}.faq-support .completion-button{width:100%}.external-link-actions{display:grid}.qr-frame{min-height:240px}}
