@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap");:root{--bg:#eef1f3;--bg-elevated:#f7f8fa;--ink:#14181c;--muted:#5d6770;--faint:#8b949e;--line:#d5dce3;--surface:#ffffff;--brand:#0c7c6b;--brand-deep:#085f52;--brand-soft:#d8f3ed;--brand-ink:#f4fffc;--danger:#b42318;--danger-soft:#fef3f2;--warn:#9a6700;--warn-soft:#fffaeb;--ok:#067647;--ok-soft:#ecfdf3;--radius:14px;--radius-sm:10px;--font:"Noto Sans SC","PingFang SC","Hiragino Sans GB",sans-serif;--display:"Outfit","Noto Sans SC","PingFang SC",sans-serif;--ease:cubic-bezier(0.22,1,0.36,1);--shadow-soft:0 1px 0 rgba(20,24,28,0.04);--nav-h:60px}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--ink);font-family:var(--font);background-color:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 0 -10%,rgba(12,124,107,.09),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0,rgba(20,24,28,.04),transparent 50%),linear-gradient(180deg,#f4f6f8 0,var(--bg) 32%,#e8ecef 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.shell{max-width:1120px;margin:0 auto;padding:20px 20px 80px;animation:rise .4s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes tab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.nav{justify-content:space-between;gap:12px;margin:0 0 28px;padding:10px 0;min-height:44px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.nav,.nav-left{display:flex;align-items:center}.nav-left{flex-direction:row;gap:10px;min-width:0;flex:1}.brand{font-family:var(--display);font-weight:700;font-size:clamp(1.12rem,2.2vw,1.35rem);letter-spacing:-.04em;line-height:1;color:var(--ink);display:flex;align-items:center;min-height:36px}.brand-mark{display:inline-flex;align-items:center;gap:10px}.brand-mark:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);flex-shrink:0}.back-link{color:var(--muted);font-size:.84rem;width:fit-content;transition:color .15s ease}.back-link:hover{color:var(--brand)}.nav-actions{display:flex;gap:2px;align-items:center;flex-shrink:0;justify-content:flex-end;height:36px}.nav-actions .btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 10px;line-height:1}.user-chip{color:var(--muted);font-size:.82rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:10px 15px;cursor:pointer;font-weight:500;font-size:.92rem;transition:transform .18s var(--ease),background .15s ease,border-color .15s ease,color .15s ease}.btn:hover:not(:disabled){border-color:#b8c3cc;transform:translateY(-1px)}.btn:focus-visible,.tab:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 50%,white);outline-offset:2px}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){background:rgba(20,24,28,.05);color:var(--ink)}.btn.block{width:100%}.btn.sm{padding:7px 11px;font-size:.84rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:22px}.panel.tight{padding:14px 16px}.panel.ghost{background:transparent;border:none;box-shadow:none;padding:0}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:1.2fr .8fr;align-items:start}.grid.detail{grid-template-columns:1fr 1fr;align-items:start}@media (max-width:960px){.grid.detail,.grid.two{grid-template-columns:1fr}}h1,h2,h3{font-family:var(--display);font-weight:650;letter-spacing:-.03em;margin:0 0 8px;line-height:1.2}.lead{margin:0;line-height:1.55;font-size:.95rem}.lead,.muted{color:var(--muted)}.page-kicker{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}.page-title{font-size:clamp(1.55rem,3.2vw,2rem);margin:0}.list{display:grid;gap:8px}.item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);transition:border-color .15s ease,background .15s ease,transform .18s var(--ease)}a.item:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--surface);transform:translateY(-1px)}.item-main{min-width:0;display:grid;gap:4px;flex:1}.item-title{overflow:hidden;text-overflow:ellipsis}.badge,.item-title{font-weight:600;white-space:nowrap}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:3px 8px;font-size:.75rem;border:1px solid var(--line);background:var(--bg);flex-shrink:0}.badge.failed,.badge.high,.badge.high_risk{background:var(--danger-soft);color:var(--danger);border-color:#fecdca}.badge.medium,.badge.medium_high,.badge.processing,.badge.queued,.badge.suggest_edit{background:var(--warn-soft);color:var(--warn);border-color:#fedf89}.badge.analyzed,.badge.low,.badge.pass,.badge.succeeded{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}input[type=email],input[type=number],input[type=password],input[type=text],textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:hover,textarea:hover{border-color:#b8c3cc}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}textarea{resize:vertical;line-height:1.55;min-height:120px}.mono,textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.55}label{display:grid;gap:6px;font-size:.88rem;font-weight:500;color:var(--ink)}.field-hint{font-size:.8rem;color:var(--faint);font-weight:400}.stack{display:grid;gap:12px}.stack.lg{gap:18px}.finding{border-left:3px solid var(--danger);padding:12px 14px;background:var(--danger-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;transition:background .15s ease,transform .15s ease}.finding.active,.finding:hover{background:#fee4e2;transform:translateX(2px)}.finding.ok-tone{border-left-color:var(--ok);background:var(--ok-soft)}.login-wrap{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(32px,6vw,64px);color:var(--brand-ink);background:linear-gradient(160deg,#0a5f53,#0c7c6b 42%,#149484);overflow:hidden}.login-brand:before{inset:auto -20% -30% 20%;height:70%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%)}.login-brand:after,.login-brand:before{content:"";position:absolute;pointer-events:none}.login-brand:after{top:12%;right:-8%;width:220px;height:220px;border:1px solid rgba(255,255,255,.18);border-radius:40% 60% 55% 45%;animation:drift 12s var(--ease) infinite alternate}@keyframes drift{0%{transform:translate(0) rotate(0deg)}to{transform:translate(-18px,24px) rotate(12deg)}}.login-brand-inner{position:relative;z-index:1;max-width:420px}.login-brand .brand{color:#fff;font-size:clamp(1.6rem,3vw,2rem)}.login-brand .brand-mark:before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.22)}.login-brand h1{color:#fff;font-size:clamp(2rem,4vw,2.75rem);margin:20px 0 12px;letter-spacing:-.04em}.login-brand .lead{color:rgba(244,255,252,.82);font-size:1rem;max-width:34ch}.login-brand-foot{position:relative;z-index:1;font-size:.82rem;color:rgba(244,255,252,.65);line-height:1.5}.login-panel{display:grid;place-items:center;padding:32px 24px;background:var(--bg-elevated)}.login-card{width:min(400px,100%);animation:rise .45s var(--ease)}.login-card .panel{padding:28px 26px}.hero-title{font-size:clamp(1.5rem,3vw,1.85rem);margin:0 0 6px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table td,.table th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.error{color:var(--danger);font-size:.88rem;margin:0}.error.tight{margin-top:6px}.notice{border-radius:var(--radius-sm);padding:10px 12px;font-size:.86rem;line-height:1.45}.notice.error{background:var(--danger-soft);border:1px solid #fecdca;color:var(--danger)}.notice.ok{background:var(--ok-soft);border:1px solid #abefc6;color:var(--ok)}.notice.info{background:var(--brand-soft);border:1px solid #9fddd0;color:var(--brand-deep)}.notice.warn{background:var(--warn-soft);border:1px solid #fedf89;color:var(--warn)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.tabs.two{grid-template-columns:repeat(2,1fr)}.tab{border:none;background:transparent;color:var(--muted);border-radius:8px;padding:10px 8px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background .18s ease,color .18s ease}.tab.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(20,24,28,.06)}.tab-body{animation:tab-in .28s var(--ease)}.dropzone{display:grid;place-items:center;gap:8px;min-height:168px;padding:24px;border:1.5px dashed #a8b6c0;border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(216,243,237,.35));text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s var(--ease)}.dropzone.active,.dropzone:hover{border-color:var(--brand);transform:translateY(-1px);background:linear-gradient(180deg,#fff,rgba(216,243,237,.55))}.dropzone strong{font-size:1.02rem}.char-count{text-align:right;font-size:.8rem;color:var(--faint)}.job-progress{display:grid;gap:8px}.job-progress.compact{gap:6px}.job-progress-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.progress-track{height:6px;border-radius:999px;background:#dfe5ea;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-deep),#14a08c);transition:width .35s var(--ease)}.empty{padding:32px 12px;text-align:center;color:var(--muted);font-size:.92rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2,.section-head h3{margin:0;font-size:1.05rem}.risk-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elevated);margin-bottom:4px}.risk-banner.pass{background:var(--ok-soft);border-color:#abefc6}.risk-banner.suggest_edit{background:var(--warn-soft);border-color:#fedf89}.risk-banner.high_risk{background:var(--danger-soft);border-color:#fecdca}.segment-list{display:grid;gap:6px;max-height:380px;overflow:auto;padding-right:2px}.segment-row{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease}.segment-row.active,.segment-row:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--brand-soft)}.segment-time{color:var(--faint);font-size:.78rem;font-variant-numeric:tabular-nums}.toolbar{gap:8px;flex-wrap:wrap}.switch-row,.toolbar{display:flex;align-items:center}.switch-row{justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.switch-row:last-child{border-bottom:none}.skeleton{height:14px;border-radius:8px;background:linear-gradient(90deg,#e4e9ee,#f4f6f8,#e4e9ee);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.footer-note{margin-top:4px;font-size:.8rem;color:var(--faint);line-height:1.5}.copied-tip{font-size:.82rem;color:var(--ok);font-weight:500}video{width:100%;border-radius:var(--radius);background:#0f1418;max-height:420px}.compose-head{display:grid;gap:6px;margin-bottom:4px}.task-rail .section-head{margin-bottom:14px}.task-count{font-size:.8rem;color:var(--faint);font-variant-numeric:tabular-nums}.install-steps{margin:0;padding:0 0 0 1.15rem;display:grid;gap:12px;color:var(--ink);line-height:1.55}.install-steps li::marker{color:var(--brand);font-weight:700}.safari-bar-demo{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px 16px;background:var(--bg-elevated)}.safari-bar-demo__hint{font-size:.78rem;color:var(--muted);margin-bottom:10px}.safari-bar-demo__row{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem;color:var(--muted)}.safari-bar-demo__share{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;border-radius:10px;background:var(--brand);color:#fff;font-weight:700;box-shadow:0 0 0 5px var(--brand-soft)}@media (max-width:900px){.login-wrap{grid-template-columns:1fr}.login-brand{min-height:220px;padding:28px 24px}.login-brand-foot{display:none}}@media (max-width:640px){.shell{padding:14px 14px 64px}.nav{margin-bottom:20px;align-items:center}.tabs{grid-template-columns:repeat(3,1fr)}.tab{padding:10px 4px;font-size:.82rem}.user-chip{display:none}.segment-row{grid-template-columns:1fr}.panel{padding:18px 16px}}