*{-webkit-box-sizing:border-box;box-sizing:border-box}body{margin:0;min-width:320px;color:#172033;background:#f5f7fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 14% 18%,rgba(20,184,166,.16),transparent 26%),radial-gradient(circle at 84% 8%,rgba(99,102,241,.12),transparent 28%),-webkit-gradient(linear,left top,left bottom,from(#f8fbff),to(#eef4f8));background:radial-gradient(circle at 14% 18%,rgba(20,184,166,.16),transparent 26%),radial-gradient(circle at 84% 8%,rgba(99,102,241,.12),transparent 28%),linear-gradient(180deg,#f8fbff,#eef4f8)}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{min-height:100vh}.app-shell{min-height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.app-footer,.app-header,.app-shell{display:-webkit-box;display:-ms-flexbox;display:flex}.app-footer,.app-header{width:min(1120px,calc(100% - 32px));margin:0 auto}.app-footer,.app-header,.header-actions{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.header-actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.user-chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #cdd6e4;border-radius:999px;padding:7px 10px;background:#fff;color:#334155;font-size:13px;font-weight:700}.app-header{height:72px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:24px}.brand{border:0;background:transparent;font-weight:800;font-size:22px;color:#172033}.app-header nav{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-ms-flex-wrap:wrap;flex-wrap:wrap}.app-header nav button{border:0;background:transparent;color:#5e6b83;padding:8px 10px;border-radius:6px}.app-header nav button.active,.app-header nav button:hover{color:#0f766e;background:#e6f6f3}.app-footer{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-height:64px;color:#6b7280;border-top:1px solid #dfe5ef}.page{-webkit-box-flex:1;-ms-flex:1;flex:1;width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 56px}.hero,.panel{background:#fff;border:1px solid #dfe5ef;border-radius:8px;padding:28px;-webkit-box-shadow:0 10px 30px rgba(23,32,51,.05);box-shadow:0 10px 30px rgba(23,32,51,.05)}.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:28px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.home-page{-webkit-box-flex:1;-ms-flex:1;flex:1}.home-hero{min-height:520px;width:min(1120px,calc(100% - 32px));margin:0 auto;padding:54px 0 34px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:36px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.home-hero__copy h1{font-size:clamp(44px,7vw,92px);line-height:.95;margin:18px 0}.home-hero__copy p{font-size:18px;max-width:620px}.bubble-stage{position:relative;min-height:420px}.bubble{position:absolute;display:grid;gap:5px;min-width:210px;padding:18px 20px;border:1px solid #cdd6e4;border-radius:28px;background:#fff;-webkit-box-shadow:0 18px 38px rgba(15,23,42,.12);box-shadow:0 18px 38px rgba(15,23,42,.12);-webkit-animation:floatBubble 5s ease-in-out infinite;animation:floatBubble 5s ease-in-out infinite}.bubble strong{color:#0f766e}.bubble span{color:#475569}.bubble--repo{top:40px;left:40px}.bubble--branch{top:142px;right:38px;-webkit-animation-delay:-1.2s;animation-delay:-1.2s}.bubble--check{left:0;bottom:82px;-webkit-animation-delay:-2.1s;animation-delay:-2.1s}.bubble--pass{right:82px;bottom:16px;-webkit-animation-delay:-3.1s;animation-delay:-3.1s}.home-grid{padding-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@-webkit-keyframes floatBubble{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-14px);transform:translateY(-14px)}}@keyframes floatBubble{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-14px);transform:translateY(-14px)}}h1,h2,h3{margin:0 0 12px;letter-spacing:0}p{margin:0 0 16px;color:#5e6b83;line-height:1.65}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{background:#fff;border:1px solid #dfe5ef;border-radius:8px;padding:18px}.card.selected{border-color:#0f766e;-webkit-box-shadow:0 0 0 3px #ccfbf1;box-shadow:0 0 0 3px #ccfbf1}.layout,.setup-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.setup-header{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:20px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.setup-header h1{font-size:44px}.setup-summary{display:grid;gap:8px;-ms-flex-line-pack:center;align-content:center;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:20px}.setup-summary strong{font-size:20px}.setup-grid{display:grid;gap:14px}.step-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:18px;cursor:pointer}.step-card.selected{border-color:#0f766e;-webkit-box-shadow:0 0 0 3px #ccfbf1;box-shadow:0 0 0 3px #ccfbf1}.step-card__number{display:grid;place-items:center;height:64px;border-radius:8px;background:#0f172a;color:#fff;font-weight:800}.setup-action{position:sticky;top:20px;display:grid;gap:18px}.setup-action dl{display:grid;gap:10px;margin:0}.setup-action dl div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid #e5eaf2;padding-bottom:8px}.setup-action dt{color:#64748b}.setup-action dd{margin:0;font-weight:800}.loading-page{display:grid;place-items:center}.loading-panel{width:min(760px,100%);display:grid;gap:24px;justify-items:center;text-align:center;background:#fff;border:1px solid #dfe5ef;border-radius:8px;padding:42px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.08);box-shadow:0 18px 42px rgba(23,32,51,.08)}.loader-orbit{position:relative;width:112px;height:112px;border:1px solid #cdd6e4;border-radius:50%}.loader-orbit span{position:absolute;width:18px;height:18px;border-radius:50%;background:#0f766e;-webkit-animation:orbitPulse 1.6s ease-in-out infinite;animation:orbitPulse 1.6s ease-in-out infinite}.loader-orbit span:first-child{top:12px;left:47px}.loader-orbit span:nth-child(2){right:18px;bottom:24px;-webkit-animation-delay:.2s;animation-delay:.2s}.loader-orbit span:nth-child(3){left:18px;bottom:24px;-webkit-animation-delay:.4s;animation-delay:.4s}.next-step-panel{width:min(720px,100%)}.next-step-loader.failed,.next-step-loader.failed .scan-ring{border-color:#fecdd3}.loading-steps{width:100%;display:grid;gap:10px;margin:0;padding:0;list-style:none;text-align:left}.loading-steps li{border:1px solid #dfe5ef;border-radius:6px;padding:12px 14px;color:#64748b}.loading-steps li.active{color:#0f766e;border-color:#5eead4;background:#f0fdfa}.loading-steps li.done:after{content:" done";float:right;font-weight:800}.section-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;margin-bottom:18px}.help-docs,.projects-page{-webkit-box-flex:1;-ms-flex:1;flex:1}.projects-hero{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 10px;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1fr);gap:26px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.projects-hero img{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:8px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.12);box-shadow:0 18px 42px rgba(23,32,51,.12)}.help-hero h1,.projects-hero h1{font-size:clamp(34px,5vw,62px);line-height:1}.project-catalog{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.project-list{display:grid;gap:16px}.project-card-rich{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:14px;cursor:pointer;-webkit-box-shadow:0 8px 24px rgba(23,32,51,.04);box-shadow:0 8px 24px rgba(23,32,51,.04);position:relative;overflow:hidden}.project-card-rich:after{content:"";position:absolute;inset:auto -60px -70px auto;width:150px;height:150px;border-radius:50%;background:rgba(20,184,166,.12);-webkit-transition:-webkit-transform .22s ease;transition:-webkit-transform .22s ease;transition:transform .22s ease;transition:transform .22s ease,-webkit-transform .22s ease}.project-card-rich:hover:after{-webkit-transform:scale(1.35);transform:scale(1.35)}.project-card-rich.selected{border-color:#0f766e;-webkit-box-shadow:0 0 0 3px #ccfbf1;box-shadow:0 0 0 3px #ccfbf1}.project-card-rich img{width:100%;height:100%;min-height:150px;-o-object-fit:cover;object-fit:cover;border-radius:6px}.project-card-no-image img{display:none}.project-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;font-weight:900;-webkit-box-shadow:0 14px 24px rgba(15,118,110,.22);box-shadow:0 14px 24px rgba(15,118,110,.22)}.project-meta,.tag-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.project-meta span,.tag-row span{border:1px solid #dfe5ef;border-radius:999px;padding:6px 10px;background:#f8fafc;color:#475569;font-size:13px;font-weight:700}.project-detail-rich{position:sticky;top:20px;display:grid;gap:18px;border:1px solid #dfe5ef;border-radius:8px;background:#0f172a;color:#fff;padding:24px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.16);box-shadow:0 18px 42px rgba(23,32,51,.16)}.project-detail-rich p{color:#cbd5e1}.project-detail-rich h2,.project-detail-rich h3{color:#fff}.project-detail-rich .detail-check-list li{color:#172033;background:#f8fafc;border-color:hsla(0,0%,100%,.18)}.project-detail-rich .detail-tag-row span{color:#e2e8f0;border-color:hsla(0,0%,100%,.18);background:hsla(0,0%,100%,.08)}.detail-block{display:grid;gap:10px}.mission-page{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px}.fx-grid-bg{position:relative}.fx-grid-bg:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.28;background-image:linear-gradient(rgba(15,23,42,.06) 1px,transparent 0),linear-gradient(90deg,rgba(15,23,42,.06) 1px,transparent 0);background-size:38px 38px;-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(72%,transparent));-webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(72%,transparent));mask-image:linear-gradient(180deg,#000,transparent 72%)}.fx-card{position:relative;overflow:hidden}.fx-card:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,rgba(20,184,166,.12),transparent 36%,rgba(99,102,241,.1));opacity:.65}.fx-hover{-webkit-transition:border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,-webkit-transform .18s ease,-webkit-box-shadow .18s ease}.fx-hover:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);-webkit-box-shadow:0 16px 34px rgba(23,32,51,.12);box-shadow:0 16px 34px rgba(23,32,51,.12)}.no-wrap-head{grid-template-columns:minmax(0,1fr) auto}.nowrap{white-space:nowrap;word-break:keep-all}.mission-detail,.mission-list{-ms-flex-item-align:start;align-self:start}.mission-repo-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;border:1px solid #dfe5ef;border-radius:8px;padding:14px;margin-bottom:12px;background:#fff;cursor:pointer;word-break:keep-all}.mission-repo-card.selected{border-color:#0f766e;-webkit-box-shadow:0 0 0 3px #ccfbf1;box-shadow:0 0 0 3px #ccfbf1}.empty-state{border:1px dashed #cdd6e4;border-radius:8px;padding:22px;text-align:center}.mission-hero-strip{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;border-bottom:1px solid #e5eaf2;padding-bottom:20px}.mission-state{display:grid;place-content:center;gap:6px;border-radius:8px;background:#f1f5f9;text-align:center;word-break:break-word}.mission-state.passed{background:#dcfce7;color:#166534}.mission-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;margin-top:20px}.mission-side{border:1px solid #dfe5ef;border-radius:8px;padding:16px;background:#f8fafc}.mission-side dl,.mission-side dl div{display:grid;gap:6px}.mission-side dl{margin:0 0 12px}.mission-side dt{color:#64748b;font-size:13px}.mission-side dd{margin:0;font-weight:800}.mission-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px;margin-top:22px}.progress-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.progress-card{border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:18px;cursor:pointer}.progress-card.selected{border-color:#0f766e;-webkit-box-shadow:0 0 0 3px #ccfbf1;box-shadow:0 0 0 3px #ccfbf1}.progress-card__top,.progress-meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.big-percent,.progress-card__top strong{font-weight:900;color:#0f766e}.big-percent{font-size:52px;line-height:1}.progress-track{position:relative;height:10px;overflow:hidden;border-radius:999px;background:#e2e8f0;margin:14px 0 10px}.progress-track.large{height:14px}.progress-fill{height:100%;border-radius:inherit;background:-webkit-gradient(linear,left top,right top,from(#0f766e),color-stop(#22c55e),to(#60a5fa));background:linear-gradient(90deg,#0f766e,#22c55e,#60a5fa);-webkit-box-shadow:0 0 18px rgba(34,197,94,.5);box-shadow:0 0 18px rgba(34,197,94,.5);-webkit-transition:width .42s ease;transition:width .42s ease}.progress-detail{position:sticky;top:20px}.completion-page{display:grid;place-items:center}.completion-hero{width:min(820px,100%);display:grid;gap:18px;justify-items:center;text-align:center;border:1px solid #dfe5ef;border-radius:8px;background:-webkit-gradient(linear,left top,left bottom,from(#f0fdfa),to(#fff));background:linear-gradient(180deg,#f0fdfa,#fff);padding:46px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.08);box-shadow:0 18px 42px rgba(23,32,51,.08)}.completion-hero h1{font-size:clamp(36px,6vw,68px);line-height:1}.reports-page{display:grid;gap:18px}.mail-hero,.mail-page{display:grid;gap:20px}.mail-hero{grid-template-columns:minmax(0,1fr) 260px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:28px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.08);box-shadow:0 18px 42px rgba(23,32,51,.08)}.mail-hero h1{font-size:clamp(36px,6vw,68px);line-height:1}.mail-status{display:grid;place-content:center;gap:8px;border-radius:8px;background:#fee2e2;color:#991b1b;text-align:center;padding:18px;overflow-wrap:anywhere}.mail-status.active{background:#dcfce7;color:#166534}.mail-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px}.mail-subnav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:8px}.mail-subnav button{border:1px solid transparent;border-radius:6px;background:transparent;color:#475569;padding:10px 12px;font-weight:800}.mail-subnav button.active,.mail-subnav button:hover{border-color:#5eead4;background:#f0fdfa;color:#0f766e}.mail-control{display:grid;gap:16px;-ms-flex-line-pack:start;align-content:start}.toggle-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;padding:14px;font-weight:800}.toggle-row input{width:20px;height:20px;accent-color:#0f766e}.mail-email-form{border:1px solid #fde68a;border-radius:8px;background:#fffbeb;padding:14px}.mail-email-form p{margin-bottom:0}.mail-question-card{display:grid;gap:12px;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;padding:16px}.mail-log-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.mail-log-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:14px;border:1px solid #fecdd3;border-radius:8px;background:#fff1f2;padding:14px}.mail-log-item.success{border-color:#99f6e4;background:#f0fdfa}.mail-log-item p{margin-bottom:0}.mail-solve-panel{display:grid;gap:14px}.mail-feedback-box{display:grid;gap:10px;max-height:320px;overflow:auto}.code-editor{overflow:hidden;border:1px solid #1e293b;border-radius:8px;background:#0f172a;-webkit-box-shadow:0 18px 38px rgba(15,23,42,.18);box-shadow:0 18px 38px rgba(15,23,42,.18)}.code-editor__top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;border-bottom:1px solid rgba(148,163,184,.25);background:#111827;padding:10px 12px}.code-editor__top span{width:11px;height:11px;border-radius:50%}.code-editor__top span:first-child{background:#f87171}.code-editor__top span:nth-child(2){background:#fbbf24}.code-editor__top span:nth-child(3){background:#34d399}.code-editor__top strong{margin-left:8px;color:#cbd5e1;font-size:12px}.code-editor__body{display:grid;grid-template-columns:48px minmax(0,1fr);min-height:260px;position:relative}.code-gutter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:pre;border-right:1px solid rgba(148,163,184,.22);color:#94a3b8;background:#0b1120;padding:14px 10px;text-align:right}.code-editor textarea,.code-gutter{font-family:JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6}.code-editor textarea{width:100%;min-height:260px;resize:vertical;border:0;outline:0;position:relative;z-index:2;color:transparent;caret-color:#f8fafc;background:transparent;padding:14px;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.code-editor textarea::-webkit-input-placeholder{color:#cbd5e1}.code-editor textarea::-moz-placeholder{color:#cbd5e1}.code-editor textarea:-ms-input-placeholder{color:#cbd5e1}.code-editor textarea::-ms-input-placeholder{color:#cbd5e1}.code-editor textarea::placeholder{color:#cbd5e1}.code-highlight-layer{position:absolute;inset:0 0 0 48px;z-index:1;margin:0;padding:0;border-radius:0;background:#0f172a;color:#f8fafc;pointer-events:none;white-space:pre;overflow:hidden}.code-highlight-layer code{display:block;min-height:260px;padding:14px;font-family:JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.hljs-built_in,.hljs-keyword,.hljs-selector-tag{color:#7dd3fc}.hljs-attr,.hljs-string,.hljs-symbol{color:#86efac}.hljs-literal,.hljs-number{color:#fca5a5}.hljs-class .hljs-title,.hljs-function .hljs-title,.hljs-title{color:#fde68a}.hljs-params,.hljs-template-variable,.hljs-variable{color:#e2e8f0}.hljs-comment{color:#94a3b8;font-style:italic}.hljs-annotation,.hljs-doctag,.hljs-meta{color:#c4b5fd}.hljs-name,.hljs-type{color:#67e8f9}.code-editor--readonly{-webkit-box-shadow:none;box-shadow:none}.code-editor--readonly .code-editor__body{min-height:auto}.code-editor--readonly .code-gutter,.code-editor--readonly pre{max-height:280px;overflow:auto}.code-editor--readonly pre{margin:0;padding:0;border-radius:0;background:#0f172a;color:#f8fafc;white-space:pre}.code-editor--readonly code{font-family:JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6}.mail-content-list{display:grid;gap:8px;max-height:520px;overflow:auto;list-style:none;margin:0;padding:0}.mail-content-list button{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:12px;text-align:left}.mail-content-list span{color:#64748b;font-size:12px;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.42)}.modal-panel{width:min(920px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:20px;-webkit-box-shadow:0 24px 60px rgba(15,23,42,.24);box-shadow:0 24px 60px rgba(15,23,42,.24)}.markdown-modal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.markdown-preview{min-height:0;overflow:auto;background:#f8fafc;color:#172033;border:1px solid #dfe5ef;padding:20px;line-height:1.72}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin-top:18px}.markdown-preview h1:first-child,.markdown-preview h2:first-child,.markdown-preview h3:first-child{margin-top:0}.markdown-preview p{margin:0 0 14px}.markdown-preview ul{margin:0 0 14px;padding-left:22px}.markdown-preview pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0}.markdown-preview code{border-radius:4px;background:#e2e8f0;padding:2px 5px;font-family:JetBrains Mono,Consolas,monospace}.markdown-preview pre code{background:transparent;padding:0}.markdown-preview details{border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:12px;margin:12px 0}.markdown-preview summary{cursor:pointer;font-weight:800}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.report-card{display:grid;gap:12px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:18px;-webkit-box-shadow:0 10px 30px rgba(23,32,51,.05);box-shadow:0 10px 30px rgba(23,32,51,.05)}.report-content{max-height:320px;overflow:auto}.report-empty{background:#fff}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.check-list li{position:relative;border:1px solid #dfe5ef;border-radius:6px;padding:11px 12px 11px 34px;background:#fff}.check-list li:before{content:"";position:absolute;left:12px;top:16px;width:9px;height:9px;border-radius:50%;background:#0f766e}.help-hero{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:44px 0 24px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;-webkit-box-align:end;-ms-flex-align:end;align-items:end}.help-search{border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:18px}.help-search label{display:grid;gap:8px;font-weight:800}.help-search input{border:1px solid #cdd6e4;border-radius:6px;padding:12px}.docs-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.docs-nav{position:sticky;top:20px;align-self:start;display:grid;gap:8px}.docs-nav button{border:1px solid #dfe5ef;border-radius:6px;background:#fff;padding:12px 14px;text-align:left;font-weight:800}.docs-nav button.active{border-color:#0f766e;background:#f0fdfa;color:#0f766e}.docs-content{display:grid;gap:12px}.doc-card{border:1px solid #dfe5ef;border-radius:8px;background:#fff;overflow:hidden}.doc-card>button{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;border:0;background:#fff;padding:18px;font-weight:900;text-align:left}.doc-card__body{border-top:1px solid #e5eaf2;padding:18px}.inspection-page,.result-page{display:grid;gap:20px}.inspection-panel,.result-summary{display:grid;gap:22px;justify-items:center;text-align:center;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:42px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.08);box-shadow:0 18px 42px rgba(23,32,51,.08)}.scan-visual{position:relative;width:180px;height:180px;display:grid;place-items:center}.scan-ring{position:absolute;inset:0;border:2px solid #99f6e4;border-top-color:#0f766e;border-radius:50%;-webkit-animation:spin 1.3s linear infinite;animation:spin 1.3s linear infinite}.scan-core{display:grid;place-items:center;width:118px;height:118px;border-radius:50%;background:#0f172a;color:#fff;font-weight:900;font-size:14px}.scan-visual.done .scan-ring,.scan-visual.failed .scan-ring{-webkit-animation:none;animation:none}.scan-visual.done .scan-core{background:#16a34a}.scan-visual.failed .scan-core{background:#dc2626}.inspection-steps{width:min(560px,100%);display:grid;gap:10px;margin:0;padding:0;list-style:none;text-align:left}.inspection-steps li{border:1px solid #dfe5ef;border-radius:6px;padding:12px 14px;color:#64748b}.inspection-steps li.active{border-color:#5eead4;color:#0f766e;background:#f0fdfa}.inspection-steps li.done:after{content:" done";float:right;font-weight:800}.inspection-feedback{width:100%;display:grid;gap:14px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:22px;-webkit-box-shadow:0 18px 42px rgba(23,32,51,.08);box-shadow:0 18px 42px rgba(23,32,51,.08)}.inspection-feedback__head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:16px;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;border-bottom:1px solid #e5eaf2;padding-bottom:14px}.inspection-feedback__head h2{margin-top:8px}.inspection-feedback__head p{margin-bottom:0}.inspection-feedback__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:16px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.inspection-card{min-height:420px;max-height:560px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;padding:16px}.inspection-card h3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.inspection-card--tests{background:#fff1f2;border-color:#fb7185}.inspection-card--tests.empty{background:#f0fdfa;border-color:#5eead4}.inspection-card--review{background:#f8fafc}.inspection-review-box{min-height:0;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;background:#fff}.result-summary.pass{background:-webkit-gradient(linear,left top,left bottom,from(#f0fdfa),to(#fff));background:linear-gradient(180deg,#f0fdfa,#fff)}.result-summary.fail{background:-webkit-gradient(linear,left top,left bottom,from(#fff1f2),to(#fff));background:linear-gradient(180deg,#fff1f2,#fff)}.result-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:20px}.result-grid--review{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.result-panel-scroll{min-height:460px;max-height:620px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.result-panel-scroll>h2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.failed-test-list{min-height:0;overflow:auto;list-style:none;padding:0;margin:0;display:grid;gap:12px}.failed-test-list.compact{gap:10px}.failed-test-item{display:grid;gap:6px;border:1px solid #fb7185;border-radius:8px;padding:12px;background:#fff1f2;-webkit-box-shadow:inset 4px 0 0 #f43f5e;box-shadow:inset 4px 0 0 #f43f5e;overflow-wrap:anywhere;word-break:break-word}.failed-test-item p{margin-bottom:0}.method-name{color:#991b1b}.answer-box,.method-name{overflow-wrap:anywhere;word-break:break-word}.answer-box{min-height:120px;white-space:pre-wrap;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;padding:14px;color:#334155}.result-feedback{min-height:0;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.chat-box{min-height:260px;max-height:420px;overflow:auto;display:grid;-ms-flex-line-pack:start;align-content:start;gap:12px;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;padding:14px;margin-bottom:14px}.chat-empty{color:#64748b}.chat-message{display:grid;gap:5px;max-width:76%}.chat-message--user{justify-self:end}.chat-message--assistant{justify-self:start}.chat-role{color:#64748b;font-size:12px;font-weight:800}.chat-message--user .chat-role{justify-self:end}.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border:1px solid #dfe5ef;border-radius:8px;padding:12px 14px;color:#172033;background:#fff;line-height:1.6}.chat-message--user .chat-bubble{border-color:#0f766e;background:#ccfbf1}.chat-message--assistant .chat-bubble{border-color:#cbd5e1;background:#fff}.chat-bubble--loading{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;color:#475569}.typing-dot{width:6px;height:6px;border-radius:50%;background:#0f766e;-webkit-animation:typingPulse 1s ease-in-out infinite;animation:typingPulse 1s ease-in-out infinite}.typing-dot:nth-child(2){-webkit-animation-delay:.15s;animation-delay:.15s}.typing-dot:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}.chat-form{margin-top:0}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes orbitPulse{0%,to{-webkit-transform:scale(.8);transform:scale(.8);opacity:.6}50%{-webkit-transform:scale(1.25);transform:scale(1.25);opacity:1}}@keyframes orbitPulse{0%,to{-webkit-transform:scale(.8);transform:scale(.8);opacity:.6}50%{-webkit-transform:scale(1.25);transform:scale(1.25);opacity:1}}@-webkit-keyframes typingPulse{0%,to{-webkit-transform:translateY(0);transform:translateY(0);opacity:.35}50%{-webkit-transform:translateY(-3px);transform:translateY(-3px);opacity:1}}@keyframes typingPulse{0%,to{-webkit-transform:translateY(0);transform:translateY(0);opacity:.35}50%{-webkit-transform:translateY(-3px);transform:translateY(-3px);opacity:1}}.toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.danger,.primary,.secondary{border-radius:6px;padding:11px 16px;border:1px solid transparent;font-weight:700}.primary{color:#fff;background:#0f766e}.secondary{color:#172033;background:#fff;border-color:#cdd6e4}.danger{color:#991b1b;background:#fee2e2}.small{padding:8px 12px}.muted{color:#6b7280}.badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:999px;padding:4px 10px;background:#eef2ff;color:#3730a3;font-size:13px;font-weight:700}.list{padding:0;margin:0;list-style:none;display:grid;gap:10px}.list li{padding:10px 12px;border:1px solid #dfe5ef;border-radius:6px;background:#fafcff}.form{display:grid;gap:12px}.form label{display:grid;gap:6px;font-weight:700}.form input,.form select,.form textarea{width:100%;border:1px solid #cdd6e4;border-radius:6px;padding:10px 12px;background:#fff}.form .code-editor textarea{border:0;border-radius:0;background:transparent;color:transparent;caret-color:#f8fafc;padding:14px}.form .code-editor textarea::-webkit-input-placeholder{color:#cbd5e1}.form .code-editor textarea::-moz-placeholder{color:#cbd5e1}.form .code-editor textarea:-ms-input-placeholder{color:#cbd5e1}.form .code-editor textarea::-ms-input-placeholder{color:#cbd5e1}.form .code-editor textarea::placeholder{color:#cbd5e1}.status{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding:6px 10px;border-radius:6px;background:#f3f4f6;color:#374151;font-weight:700}.status.ok{background:#dcfce7;color:#166534}.status.fail{background:#fee2e2;color:#991b1b}pre{overflow:auto;padding:14px;border-radius:8px;background:#111827;color:#e5e7eb}@media (max-width:820px){.app-header{height:auto;padding:16px 0;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.docs-layout,.help-hero,.hero,.home-grid,.home-hero,.inspection-feedback__grid,.layout,.mail-hero,.mail-layout,.mission-content-grid,.mission-hero-strip,.mission-page,.progress-page,.project-card-rich,.project-catalog,.projects-hero,.result-grid,.setup-header,.setup-page{grid-template-columns:1fr}.bubble-stage{min-height:500px}.bubble{position:relative;inset:auto;margin:12px 0}.app-footer{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;padding:18px 0}}