:root{--bg:#f5f5f7;--bg-elev:#fbfbfd;--card:#fff;--ink:#1d1d1f;--ink-soft:#424245;--ink-faint:#86868b;--line:#e3e3e6;--line-soft:#ededf0;--accent:#0071e3;--accent-deep:#0058b8;--danger:#d70015;--ok:#34c759;--radius-lg:22px;--radius:16px;--radius-sm:11px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 8px 30px #00000012;--shadow-lg:0 20px 60px #0000001a;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", system-ui, sans-serif;--ease:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:-.01em;line-height:1.47}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:rise .7s var(--ease) both}.reveal:nth-child(2){animation-delay:60ms}.reveal:nth-child(3){animation-delay:.12s}.reveal:nth-child(4){animation-delay:.18s}.topbar{z-index:10;-webkit-backdrop-filter:saturate(180%)blur(20px);background:#f5f5f7b8;justify-content:space-between;align-items:center;max-width:1040px;height:52px;margin:0 auto 28px;padding:0 8px;display:flex;position:sticky;top:0}.topbar__back,.topbar__link{color:var(--ink-soft);transition:background .2s var(--ease), color .2s var(--ease);border-radius:980px;padding:7px 12px;font-size:14.5px;font-weight:500}.topbar__back:hover,.topbar__link:hover{color:var(--ink);background:#0000000d}.topbar__link{color:var(--accent)}.topbar__right{align-items:center;gap:10px;min-width:0;display:flex}.model-select{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);white-space:nowrap;background:#ffffffb8;border-radius:980px;align-items:center;gap:8px;padding:4px 8px 4px 12px;font-size:13.5px;font-weight:500;display:inline-flex}.model-select select{min-width:92px;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:980px;outline:none}.model-select select:disabled{color:var(--ink-faint);cursor:not-allowed}.primary-btn{color:#fff;background:var(--accent);transition:transform .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease);border-radius:980px;align-self:flex-start;padding:13px 26px;font-size:16px;font-weight:500}.primary-btn:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 8px 20px #0071e347}.primary-btn:active:not(:disabled){transform:scale(.98)}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.ghost-btn{color:var(--accent);transition:background .18s var(--ease), transform .18s var(--ease);background:#0071e31a;border-radius:980px;padding:9px 18px;font-size:14.5px;font-weight:500}.ghost-btn:hover{background:#0071e329}.ghost-btn:active{transform:scale(.97)}.ghost-btn--sm{padding:6px 14px;font-size:13px}.ghost-btn--danger{color:var(--danger);background:#d7001514}.ghost-btn--danger:hover{background:#d7001524}.dashboard,.history{max-width:1040px;margin:0 auto;padding:28px 22px 96px;position:relative}.analysis{max-width:none;margin:0 auto;padding:24px clamp(12px,2vw,24px) 96px;position:relative}.analysis__shell{grid-template-columns:188px minmax(0,1fr);align-items:start;gap:22px;width:100%;max-width:1840px;margin:0 auto;display:grid}.analysis__main{min-width:0}.analysis .topbar{max-width:none;margin-bottom:28px;padding:0}.section-nav{z-index:9;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffc7;flex-direction:column;gap:10px;padding:14px;display:flex;position:sticky;top:24px}.section-nav__title{color:var(--ink-faint);padding:0 8px;font-size:12.5px;font-weight:600}.section-nav__list{flex-direction:column;gap:4px;display:flex}.section-nav__item{border-radius:var(--radius-sm);min-height:38px;color:var(--ink-soft);transition:background .18s var(--ease), color .18s var(--ease);align-items:center;padding:8px 10px;font-size:14px;font-weight:500;display:flex}.section-nav__item:hover{color:var(--ink);background:#0000000d}.section-nav__item.is-active{background:var(--ink);color:#fff}.dash-header{text-align:center;padding:56px 0 60px}.dash-header__eyebrow{letter-spacing:.02em;color:var(--accent);text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.dash-header__eyebrow .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.dash-header__title{letter-spacing:-.03em;margin:22px 0 0;font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.05}.dash-header__title em{background:linear-gradient(120deg,#0071e3,#42a5f5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.dash-header__lead{max-width:600px;color:var(--ink-faint);margin:22px auto 0;font-size:19px;line-height:1.5}.dash-header__meta{color:var(--ink-faint);align-items:center;gap:16px;margin-top:30px;font-size:14.5px;display:inline-flex}.dash-header__meta b{color:var(--ink);font-weight:600}.dash-header__meta .sep{background:var(--line);width:1px;height:13px}.sections{flex-direction:column;gap:52px;display:flex}.section{scroll-margin-top:72px}.section__head{align-items:baseline;gap:14px;margin-bottom:20px;display:flex}.section__index{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.section__title{letter-spacing:-.02em;font-size:24px;font-weight:600}.section__rule{background:var(--line);flex:1;height:1px}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.feature-card{text-align:left;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .28s var(--ease), box-shadow .28s var(--ease);flex-direction:column;align-items:flex-start;gap:10px;padding:26px 26px 24px;display:flex}.feature-card.is-live{cursor:pointer}.feature-card.is-live:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.feature-card.is-soon{opacity:.58;cursor:not-allowed}.feature-card__top{justify-content:space-between;align-items:center;width:100%;display:flex}.feature-card__name{letter-spacing:-.01em;font-size:18px;font-weight:600}.feature-card__arrow{color:var(--accent);transition:transform .28s var(--ease);font-size:18px}.feature-card.is-live:hover .feature-card__arrow{transform:translate(3px,-3px)}.feature-card__badge{color:var(--ink-faint);background:var(--line-soft);border-radius:980px;padding:4px 10px;font-size:11.5px;font-weight:600}.feature-card__desc{color:var(--ink-faint);font-size:14.5px;line-height:1.45}.feature-card__cta{color:var(--accent);margin-top:6px;font-size:13.5px;font-weight:600}.dash-footer{text-align:center;color:var(--ink-faint);margin-top:72px;font-size:13px}.analysis__head,.history__head{margin-bottom:32px}.analysis__head,.analysis .panel{max-width:1040px;margin-left:auto;margin-right:auto}.analysis--report .analysis__head{display:none}.analysis__tag{color:var(--accent);margin-bottom:14px;font-size:13px;font-weight:600;display:inline-block}.analysis__title{letter-spacing:-.03em;font-size:clamp(32px,4.5vw,48px);font-weight:700;line-height:1.08}.analysis__lead{max-width:600px;color:var(--ink-faint);margin-top:16px;font-size:18px;line-height:1.5}.panel{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:22px;padding:32px;display:flex}.upload-zone{flex-direction:column;gap:16px;display:flex}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--bg-elev);cursor:pointer;transition:border-color .22s var(--ease), background .22s var(--ease), transform .22s var(--ease);flex-direction:column;align-items:center;gap:8px;padding:52px 24px;display:flex}.dropzone:hover,.dropzone.is-dragging{border-color:var(--accent);background:#0071e30a}.dropzone.is-dragging{transform:scale(1.01)}.dropzone__mark{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;font-size:26px;font-weight:300;line-height:1;display:grid}.dropzone__title{margin-top:6px;font-size:16.5px;font-weight:600}.dropzone__hint{color:var(--ink-faint);font-size:13.5px}.file-list{flex-direction:column;gap:8px;list-style:none;display:flex}.file-list__item{background:var(--bg-elev);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 16px;display:flex}.file-list__name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14.5px;font-weight:500;overflow:hidden}.file-list__size{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px}.file-list__remove{color:var(--danger);transition:background .18s var(--ease);border-radius:980px;padding:4px 10px;font-size:13px}.file-list__remove:hover{background:#d7001514}.progress__stages{gap:12px;display:flex}.stage{border-radius:var(--radius-sm);background:var(--bg-elev);transition:background .3s var(--ease);flex:1;align-items:center;gap:10px;padding:14px 16px;display:flex}.stage__dot{background:var(--line);width:26px;height:26px;color:var(--ink-faint);transition:all .3s var(--ease);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.stage__label{color:var(--ink-faint);font-size:14.5px;font-weight:500}.stage.active{background:#0071e314}.stage.active .stage__dot{background:var(--accent);color:#fff}.stage.active .stage__label{color:var(--ink)}.stage.done .stage__dot{background:var(--ok);color:#fff}.progress__bar{background:var(--line-soft);border-radius:980px;height:6px;overflow:hidden}.progress__fill{height:100%;transition:width .6s var(--ease);background:linear-gradient(90deg,#0071e3,#42a5f5);border-radius:980px}.progress__caption{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:14px}.error-box h3{color:var(--danger);font-size:19px;font-weight:600}.error-box p{color:var(--ink-soft);word-break:break-word;font-size:14.5px}.report{flex-direction:column;gap:16px;display:flex}.report__bar{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.report__ready{align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.report__ready:before{content:"";background:var(--ok);border-radius:50%;width:9px;height:9px}.report__actions{gap:10px;display:flex}.report__frame{border-radius:var(--radius-lg);width:100%;min-height:80vh;box-shadow:var(--shadow);background:#fff;border:none;display:block;overflow:hidden}.history__err{color:var(--danger);font-size:14.5px}.history__empty{text-align:center;color:var(--ink-faint);flex-direction:column;align-items:center;gap:20px;padding:80px 24px;font-size:17px;display:flex}.history__empty .primary-btn{align-self:center}.history__list{flex-direction:column;gap:12px;list-style:none;display:flex}.history-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease), box-shadow .22s var(--ease);align-items:center;gap:16px;padding:18px 22px;display:flex}.history-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.history-card__main{cursor:pointer;flex:1;min-width:0}.history-card__top{align-items:center;gap:12px;margin-bottom:6px;display:flex}.history-card__time{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px}.history-card__files{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.history-card__actions{flex-shrink:0;gap:8px;display:flex}.status-pill{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:980px;padding:4px 11px;font-size:12px;font-weight:600}.status-pill--done{color:#1a7a33;background:#34c75924}.status-pill--error{color:var(--danger);background:#d700151a}.status-pill--queued,.status-pill--cleaning,.status-pill--analyzing,.status-pill--rendering{color:var(--accent-deep);background:#0071e31f}.auth-checking{min-height:100vh;color:var(--ink-faint);background:var(--bg);place-items:center;font-size:17px;display:grid}.login{background:radial-gradient(120% 80% at 50% 0%, #fff 0%, var(--bg) 55%);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.login__beian{text-align:center;color:var(--ink-faint);font-size:12px;position:absolute;bottom:18px;left:0;right:0}.login__beian a{color:inherit;text-decoration:none}.login__beian a:hover{color:var(--ink-soft)}.login__card{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);animation:rise .7s var(--ease) both;flex-direction:column;gap:14px;padding:44px 38px;display:flex}.login__eyebrow{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.login__eyebrow .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.login__title{letter-spacing:-.02em;margin-top:4px;font-size:28px;font-weight:700}.login__lead{color:var(--ink-faint);margin-bottom:6px;font-size:15px;line-height:1.5}.login__input{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--ink);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);outline:none;padding:14px 16px;font-family:inherit;font-size:16px}.login__input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #0071e326}.login__error{color:var(--danger);font-size:13.5px;font-weight:500}.login .primary-btn{text-align:center;align-self:stretch;margin-top:4px}.option-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.option-tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev);cursor:pointer;align-items:flex-start;gap:12px;padding:16px;display:flex}.option-tile input{accent-color:var(--accent);margin-top:3px}.option-tile__main{flex-direction:column;gap:3px;min-width:0;display:flex}.option-tile__main b{font-size:15px}.option-tile__main small,.output-list__item small,.question__message,.question__notice{color:var(--ink-faint);font-size:13px;line-height:1.4}.segmented{border:1px solid var(--line);background:var(--bg-elev);border-radius:980px;width:fit-content;padding:4px;display:inline-flex}.segmented button{min-width:72px;color:var(--ink-soft);border-radius:980px;padding:8px 14px;font-size:14px}.segmented button.is-active{background:var(--ink);color:#fff}.advanced{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev)}.advanced summary{cursor:pointer;padding:14px 16px;font-size:14px;font-weight:600}.template-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0 16px 16px;display:grid}.template-field{color:var(--ink-soft);flex-direction:column;gap:8px;font-size:13px;display:flex}.template-field input{font:inherit;max-width:100%}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(12px);background:#00000038;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);background:var(--card);width:min(760px,100%);max-height:min(760px,90vh);box-shadow:var(--shadow-lg);flex-direction:column;gap:18px;padding:28px;display:flex;overflow:auto}.modal__head h2{font-size:25px;line-height:1.15}.question-list{flex-direction:column;gap:12px;display:flex}.question{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--bg-elev);flex-direction:column;gap:7px;padding:14px;display:flex}.question__label{font-size:14.5px;font-weight:600}.question input,.question select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:9px 11px}.modal__actions{justify-content:flex-end;gap:10px;display:flex}.output-list{flex-direction:column;gap:10px;list-style:none;display:flex}.output-list__item{border-radius:var(--radius-sm);background:var(--bg-elev);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.output-list__item span,.history-card__type{flex-direction:column;gap:2px;display:flex}.history-card__type{color:var(--accent);margin-top:8px;font-size:13px;font-weight:600}@media (width<=640px){.dashboard,.analysis,.history{padding:16px 16px 64px}.analysis__shell{flex-direction:column;gap:14px;display:flex}.analysis .topbar{margin-bottom:20px}.section-nav{border-radius:var(--radius-sm);padding:10px;position:static}.section-nav__title{display:none}.section-nav__list{flex-direction:row;gap:6px;padding-bottom:2px;overflow-x:auto}.section-nav__item{white-space:nowrap;flex:none;min-height:34px;padding:7px 10px}.feature-grid{grid-template-columns:1fr}.topbar__right{gap:6px}.model-select{padding-left:8px}.model-select span{display:none}.progress__stages{flex-direction:column}.history-card{flex-direction:column;align-items:stretch}.report__frame{min-height:70vh}.option-grid,.template-grid{grid-template-columns:1fr}.output-list__item{flex-direction:column;align-items:stretch}.modal{padding:22px}}
