:root{color-scheme:light;--font-sans: "SF Pro Display", "SF Pro Text", "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;font-family:var(--font-sans);--bg-page: #f2f4f8;--bg-page-deep: #ebeff5;--bg-panel: rgba(255, 255, 255, .94);--bg-panel-strong: #ffffff;--bg-panel-soft: #f7f8fb;--bg-panel-overlay: rgba(252, 252, 253, .98);--bg-blocking: #fff0f1;--bg-warning: #fff7eb;--bg-ok: #ebf5ef;--border-base: rgba(15, 23, 42, .08);--border-drag: rgba(10, 100, 232, .24);--border-strong: rgba(15, 23, 42, .16);--border-accent: rgba(10, 100, 232, .18);--text-primary: #0f1728;--text-secondary: #4b5565;--text-tertiary: #7d8695;--text-danger: #a95359;--text-warning: #9a6a12;--text-info: #0a64e8;--accent: #0a64e8;--accent-strong: #0453c7;--accent-deep: #003a96;--danger: #c97379;--warning: #d2a244;--success: #5e8c72;--shadow-soft: 0 20px 42px rgba(15, 23, 42, .06);--shadow-panel: 0 28px 60px rgba(15, 23, 42, .08);--shadow-modal: 0 40px 82px rgba(15, 23, 42, .12);--focus-ring: rgba(10, 100, 232, .12);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 28px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.75rem;--text-2xl: 2.75rem;--motion-fast: .16s;--motion-base: .24s;--motion-slow: .42s;--ease-standard: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.96),transparent 30%),radial-gradient(circle at 84% 10%,rgba(214,225,245,.48),transparent 26%),linear-gradient(180deg,#fbfcfe 0%,var(--bg-page) 50%,var(--bg-page-deep) 100%);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}textarea{resize:none}p,h1,h2,h3{margin:0}a{color:inherit}.minimal-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:clamp(2.5rem,8vw,4.75rem) var(--space-5);overflow:hidden;isolation:isolate}.minimal-page:before{content:"";position:absolute;inset:4% 10% auto;height:min(24rem,38vw);border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.72),transparent 68%);filter:blur(20px);opacity:.8;pointer-events:none}.minimal-hero{position:relative;isolation:isolate;width:min(100%,54rem);display:grid;gap:clamp(1rem,2.6vw,1.45rem);justify-items:center;padding:clamp(1.6rem,4vw,2.6rem) clamp(.4rem,3vw,1rem);--ambient-pointer-x: 50%;--ambient-pointer-y: 42%;--ambient-shift-x: 0px;--ambient-shift-y: 0px}.minimal-logo{position:relative;z-index:1;color:var(--text-primary);letter-spacing:0;margin:0;font-size:3.4rem;font-weight:780;line-height:1.05;text-shadow:0 1px 0 rgba(255,255,255,.75)}.hero-ambient{position:absolute;top:-18%;right:-16%;bottom:-24%;left:-16%;z-index:0;overflow:hidden;pointer-events:none}.hero-ambient__layer,.hero-ambient__grain{position:absolute;top:0;right:0;bottom:0;left:0}.hero-ambient__layer--wash{background:radial-gradient(circle at 16% 18%,rgba(161,214,255,.42),transparent 30%),radial-gradient(circle at 82% 16%,rgba(255,255,255,.9),transparent 34%),radial-gradient(circle at 50% 84%,rgba(206,227,245,.42),transparent 36%);transform:translate3d(calc(var(--ambient-shift-x) * .35),calc(var(--ambient-shift-y) * .35),0);opacity:.94;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-slow) var(--ease-standard)}.hero-ambient__layer--drift{background:linear-gradient(135deg,#ffffff8a,#e2effc38 42%,#fff0 72%),radial-gradient(circle at 62% 32%,rgba(152,212,255,.18),transparent 28%),radial-gradient(circle at 32% 70%,rgba(255,255,255,.56),transparent 26%);filter:blur(7px);opacity:.62;animation:ambient-drift 20s var(--ease-standard) infinite alternate}.hero-ambient__layer--halo{background:radial-gradient(circle at var(--ambient-pointer-x) var(--ambient-pointer-y),rgba(255,255,255,.84),rgba(166,215,255,.3) 19%,rgba(166,215,255,.12) 28%,transparent 56%);transform:translate3d(calc(var(--ambient-shift-x) * .9),calc(var(--ambient-shift-y) * .9),0);filter:blur(10px);opacity:.38;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.hero-ambient__grain{background:linear-gradient(115deg,rgba(255,255,255,.26),transparent 36%),linear-gradient(295deg,rgba(214,233,250,.14),transparent 34%);mix-blend-mode:soft-light;opacity:.65}.composer-shell{position:relative;z-index:1;width:min(100%,43rem);display:grid;gap:.8rem}.composer{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;min-height:4.35rem;padding:.78rem .86rem}.composer-progress{min-height:2.85rem;display:grid;align-items:center}.composer-textarea,.composer-file-pill{width:100%;min-height:2rem}.composer-meta{width:100%;min-height:1.55rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:0 .4rem}.inline-error{position:relative;z-index:1;width:min(100%,43rem);min-height:2.4rem;text-align:left}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-5);background:#eef5fcb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20}.precheck-modal{width:min(100%,72rem);max-height:min(88vh,56rem);display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--space-5);overflow:hidden;padding:var(--space-6);border:1px solid var(--border-strong);border-radius:24px;background:var(--bg-panel-overlay);box-shadow:var(--shadow-modal)}.precheck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);overflow:auto;padding-right:var(--space-1)}@media (max-width: 820px){.minimal-page{padding:clamp(1.75rem,10vw,3.4rem) var(--space-4)}.minimal-hero{gap:.95rem;padding:1.35rem 0 1rem}.minimal-logo{font-size:2.65rem}.hero-ambient{top:-12%;right:-12%;bottom:-18%;left:-12%}.composer{min-height:4rem;gap:.58rem;padding:.72rem}.composer-meta{grid-template-columns:1fr;gap:.35rem;align-items:flex-start}.precheck-grid{grid-template-columns:1fr}.precheck-modal{padding:var(--space-5)}}@media (max-width: 560px){.minimal-page{place-items:start center;padding-top:max(14vh,4.8rem)}.minimal-hero{width:min(100%,30rem);gap:.8rem;padding-top:0}.minimal-logo{font-size:2.15rem}.composer-shell,.inline-error{width:100%}}.button{border:1px solid transparent;border-radius:999px;transition:transform var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{padding:.9rem 1.45rem;background:linear-gradient(180deg,#1677ff,#0a64e8);color:#fff;font-weight:650;box-shadow:0 16px 28px #0a64e833}.button-subtle{padding:.9rem 1.25rem;border-color:#0f172a14;background:#ffffffc7;color:var(--text-secondary);font-weight:560}.button:hover:not(:disabled){transform:translateY(-1px)}.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.inline-error{min-height:2rem}.inline-error p,.inline-error span{display:inline-flex;align-items:center;gap:.7rem}.inline-error p{margin:0;padding:.75rem .9rem;border-radius:18px;background:#fff5f5eb;border:1px solid rgba(201,84,84,.12);color:#7f2f2f;font-size:.95rem;line-height:1.45}.inline-error button,.wave-progress-cancel{border:0;border-radius:999px;background:#11182714;color:inherit;cursor:pointer;font:inherit;font-weight:600}.inline-error button{padding:.35rem .75rem}.wave-progress{display:grid;gap:.9rem}.wave-progress-track{position:relative;overflow:hidden;height:.7rem;border-radius:999px;background:#0f172a14}.wave-progress-fill{position:relative;height:100%;min-width:1.5rem;border-radius:inherit;background:linear-gradient(90deg,#3898ff,#0a64e8);transition:width .18s linear}.wave-progress-ripple{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.4) 0,transparent 28%),radial-gradient(circle at 54% 50%,rgba(255,255,255,.3) 0,transparent 24%),radial-gradient(circle at 82% 50%,rgba(255,255,255,.4) 0,transparent 24%);animation:wave-slide 2.4s linear infinite}.wave-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--text-secondary)}.wave-progress-meta strong{font-size:.98rem;font-weight:600}.wave-progress-cancel{justify-self:end;padding:.5rem .9rem}@keyframes wave-slide{0%{transform:translate(-8%)}to{transform:translate(8%)}}@media (prefers-reduced-motion: reduce){.button,.wave-progress-fill{transition-duration:1ms}.wave-progress-ripple{animation:none}}.formatter-page{min-height:100vh;background:radial-gradient(circle at 50% -18%,rgba(207,226,255,.72),transparent 34rem),radial-gradient(circle at 18% 28%,rgba(236,247,255,.76),transparent 26rem),linear-gradient(180deg,#fbfcff,#f6f8fb 54%,#eef3f8)}.portal-nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;width:min(100%,1180px);min-height:52px;margin:0 auto;padding:0 1.25rem;background:#fbfcffb8;border-bottom:1px solid rgba(15,23,42,.055);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.portal-brand,.portal-nav-links a,.hero-actions a{text-decoration:none}.portal-brand{color:#101318;font-size:.96rem;font-weight:680}.portal-nav-links{display:flex;align-items:center;gap:clamp(.9rem,2.8vw,1.8rem);color:#10131894;font-size:.82rem}.portal-nav-links a{transition:color var(--motion-fast) var(--ease-standard)}.portal-nav-links a:hover{color:#06c}.formatter-hero{position:relative;isolation:isolate;overflow:clip;width:min(100%,1180px);margin:0 auto;display:grid;gap:clamp(2.2rem,4.8vw,4rem);padding:clamp(5rem,9vw,8.4rem) 1.25rem 5rem;--ambient-pointer-x: 50%;--ambient-pointer-y: 42%;--ambient-shift-x: 0px;--ambient-shift-y: 0px}.formatter-hero-copy{position:relative;z-index:1;display:grid;justify-items:center;gap:1.05rem;text-align:center}.formatter-eyebrow{margin:0;color:#1013187a;font-size:.84rem;font-weight:620}.formatter-title{max-width:860px;margin:0;color:#101318;font-size:clamp(4rem,7.2vw,6.9rem);font-weight:700;line-height:.98;letter-spacing:0;text-wrap:balance}.formatter-subtitle{max-width:600px;margin:0;color:#10131899;font-size:clamp(1.04rem,1.7vw,1.22rem);line-height:1.68;text-wrap:balance}.hero-actions{display:flex;justify-content:center;align-items:center;gap:.8rem;margin-top:.3rem}.formatter-surface{position:relative;z-index:1;width:min(100%,980px);margin:0 auto;display:grid;gap:.9rem;padding:.85rem;border:1px solid rgba(15,23,42,.055);border-radius:26px;background:#ffffffbd;box-shadow:inset 0 1px #ffffffdb,0 28px 68px #1f2d4813;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-composer{display:grid;gap:.85rem}.portal-composer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:.85rem}.requirement-panel,.upload-panel,.result-panel,.guide-item{border:1px solid rgba(15,23,42,.05);background:#ffffffa8;box-shadow:inset 0 1px #fffc}.requirement-panel,.upload-panel{display:grid;align-content:start;gap:.95rem;min-height:17.5rem;padding:clamp(1.05rem,2.2vw,1.35rem);border-radius:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;min-height:2rem}.panel-heading h2,.result-panel-heading h2,.analysis-state h2,.guide-hero h1,.guide-item h2,.issue-group-card h3{margin:0;color:#101318;letter-spacing:0}.panel-heading h2{font-size:1.05rem;line-height:1.15;font-weight:670}.requirement-textarea{width:100%;min-height:142px;max-height:260px;border:0;outline:0;resize:none;border-radius:17px;padding:1rem 1.05rem;background:#f4f7fbc7;color:#101318;font-size:.98rem;line-height:1.68;box-shadow:inset 0 0 0 1px #0f172a0a;transition:box-shadow var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.requirement-textarea:focus{background:#fffffff5;box-shadow:inset 0 0 0 1px #0071e33d,0 0 0 5px #0071e313}.requirement-textarea::placeholder{color:#10131857}.requirement-actions,.composer-command-bar,.result-actions,.result-summary-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem}.requirement-actions span,.composer-command-bar p,.agent-boundary-note{color:#10131875;font-size:.86rem}.dropzone{width:100%;min-height:12.7rem;display:grid;place-items:center;border:1px dashed rgba(0,113,227,.28);border-radius:19px;background:linear-gradient(180deg,#f8fbffeb,#f3f7fccc),#f7f9fc;color:#101318;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.dropzone:hover:not(:disabled),.dropzone[data-drag-active=true]{transform:translateY(-1px);border-color:#0071e380;box-shadow:0 18px 36px #234c8c12}.dropzone:disabled{cursor:not-allowed;opacity:.62}.dropzone-empty,.file-card{display:grid;justify-items:center;gap:.44rem;text-align:center}.dropzone-empty strong,.file-card strong{font-size:1.02rem;font-weight:680}.dropzone-empty small,.file-card small{color:#1013187a;font-size:.88rem;line-height:1.45}.file-card{width:min(100%,22rem);grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;text-align:left}.file-card strong{display:block;overflow-wrap:anywhere}.file-icon{display:inline-grid;place-items:center;width:3.8rem;height:3.8rem;border-radius:16px;background:#eaf3ff;color:#06c;font-size:.74rem;font-weight:760}.composer-command-bar{min-height:4rem;padding:.85rem .95rem;border-radius:18px}.composer-command-bar p{margin:0}.composer-command-actions,.result-actions{display:flex;align-items:center;gap:.65rem}.primary-action,.secondary-action,.ghost-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;font:inherit;font-weight:640;text-decoration:none;transition:transform var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.primary-action{min-height:2.82rem;padding:0 1.35rem;background:#0071e3;color:#fff;box-shadow:0 12px 24px #0071e338}.secondary-action,.ghost-button{min-height:2.64rem;padding:0 1.05rem;background:#1013180f;color:#101318b3}.ghost-button{min-height:2.25rem;padding:0 .82rem;background:#0071e314;color:#06c;font-size:.88rem}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.ghost-button:hover:not(:disabled){transform:translateY(-1px)}.primary-action:disabled,.secondary-action:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.inline-error{min-height:0}.result-panel{width:min(100%,980px);margin:0 auto;display:grid;gap:1.1rem;min-height:12rem;padding:clamp(1.35rem,3vw,1.8rem);border-radius:24px}.result-panel-active{background:#ffffffad;box-shadow:inset 0 1px #fffc,0 22px 52px #1f2d480f}.result-panel-heading{display:grid;gap:.42rem}.result-panel-heading span{color:#06c;font-size:.78rem;font-weight:720}.result-panel-heading h2,.analysis-state h2{font-size:clamp(1.65rem,3.6vw,2.55rem);line-height:1.08}.result-panel-heading p,.analysis-state p,.issue-group-card p,.guide-hero p,.guide-item p{margin:0;color:#1013188f;line-height:1.66}.quiet-result{min-height:8rem;align-content:center;justify-items:center;text-align:center}.analysis-state{display:flex;align-items:center;gap:1rem;min-height:9rem}.analysis-orb{width:3rem;height:3rem;flex:0 0 auto;border-radius:999px;background:radial-gradient(circle at 35% 30%,#fff,#84bdff 36%,#0071e3);box-shadow:0 0 0 9px #0071e313;animation:analysis-pulse 1.6s var(--ease-standard) infinite alternate}.result-summary-strip{justify-content:flex-start;flex-wrap:wrap}.result-summary-strip span{display:inline-flex;min-height:2.2rem;align-items:center;padding:0 .8rem;border-radius:999px;background:#0071e314;color:#06c;font-size:.84rem;font-weight:660}.issue-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.72rem}.issue-group-card{min-height:7.6rem;display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-radius:17px;background:#f6f8fcd1;box-shadow:inset 0 0 0 1px #0f172a0a}.issue-group-card[data-empty=true]{opacity:.58}.issue-group-card h3{font-size:.98rem}.issue-group-card p{margin-top:.44rem;display:-webkit-box;overflow:hidden;font-size:.86rem;-webkit-line-clamp:3;-webkit-box-orient:vertical}.issue-group-card>span{display:inline-grid;place-items:center;width:1.95rem;height:1.95rem;flex:0 0 auto;border-radius:999px;background:#fff;color:#1013189e;font-size:.82rem;font-weight:720}.agent-boundary-note{padding:.92rem 1rem;border-radius:16px;background:#fff8ebb3;color:#5f4212d1;line-height:1.58}.guide-page{background:radial-gradient(circle at 50% -14%,rgba(207,226,255,.76),transparent 32rem),linear-gradient(180deg,#fbfcff,#f6f8fb)}.guide-shell{width:min(100%,980px);margin:0 auto;display:grid;gap:clamp(2rem,5vw,4rem);padding:clamp(4.5rem,9vw,7rem) 1.25rem 5rem}.guide-hero{display:grid;justify-items:center;gap:1rem;text-align:center}.guide-hero h1{max-width:760px;font-size:clamp(3rem,6vw,5.4rem);line-height:1;font-weight:700}.guide-hero p{max-width:620px;font-size:1.08rem}.guide-list{display:grid;gap:.8rem}.guide-item{display:grid;grid-template-columns:minmax(12rem,.36fr) minmax(0,1fr);gap:1.4rem;padding:clamp(1.1rem,2.4vw,1.45rem);border-radius:20px}.guide-item h2{font-size:1.05rem;font-weight:680}@keyframes analysis-pulse{0%{transform:scale(.96);opacity:.74}to{transform:scale(1.02);opacity:1}}@media (max-width: 860px){.portal-composer-grid,.issue-group-grid,.guide-item{grid-template-columns:1fr}.requirement-panel,.upload-panel{min-height:auto}}@media (max-width: 640px){.portal-nav{min-height:50px;padding:0 1rem}.portal-nav-links{gap:.85rem;font-size:.78rem}.portal-nav-links a:nth-child(3),.portal-nav-links a:nth-child(4){display:none}.formatter-hero{gap:2rem;padding:4.2rem .85rem 3.2rem}.formatter-title{font-size:clamp(3.15rem,15vw,4.25rem)}.formatter-surface,.result-panel{border-radius:22px}.hero-actions,.composer-command-bar,.requirement-actions,.result-actions{align-items:stretch;flex-direction:column}.composer-command-actions,.result-actions,.hero-actions,.primary-action,.secondary-action{width:100%}.analysis-state{align-items:flex-start}}@media (prefers-reduced-motion: reduce){.analysis-orb{animation:none}}
