*{box-sizing:border-box}html,body{width:100%;max-width:100%}body{color:#0f1f3d;background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 44%,#e4f2ff 100%);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0969f614,#0000 38%,#2dadff1f),repeating-linear-gradient(0deg,#ffffff42 0 1px,#0000 1px 42px);position:fixed;inset:0}#root{width:100%;max-width:100%;overflow-x:hidden}.page{width:auto;max-width:100%;min-height:100vh;padding:48px 16px;overflow-x:hidden}.shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffffff0,#ffffffd6);border:1px solid #ffffffe0;border-radius:8px;width:100%;min-width:0;max-width:1120px;margin:0 auto;padding:42px;position:relative;overflow:hidden;box-shadow:0 24px 70px #1a4a8424}.shell:before,.admin-shell:before,.admin-login:before{content:"";background:linear-gradient(90deg,#0969f6,#29b6ff 58%,#73d2ff);height:5px;position:absolute;inset:0 0 auto}.ant-typography{overflow-wrap:anywhere}.ant-btn{justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex;box-shadow:0 6px 16px #0f264d0f}.ant-btn-primary{background:linear-gradient(135deg,#0969f6,#0c8cff);box-shadow:0 12px 24px #0969f638}.ant-btn-default{background:#ffffffd1;border-color:#0f305d24}.ant-alert{border-radius:8px;box-shadow:0 14px 28px #172c5014}.header{min-width:0;margin-bottom:32px}.topbar,.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.header h1.ant-typography{color:#071a44;letter-spacing:0;margin:0 0 10px;font-size:44px;font-weight:800;line-height:1.12}.app-title span{color:#0969f6}.lead{color:#2c3d5c;width:100%;max-width:760px;font-size:18px;line-height:1.7}.feature-nav{background:#e6f0fdc7;border:1px solid #185ba61a;border-radius:8px;gap:4px;width:100%;margin-top:24px;padding:5px;display:flex;overflow-x:auto}.feature-nav button{color:#52627d;min-width:132px;min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;display:inline-flex}.feature-nav button:hover{color:#0969f6;background:#ffffff9e}.feature-nav button.active{color:#fff;background:linear-gradient(135deg,#0969f6,#0c8cff);box-shadow:0 8px 18px #0969f633}.generator-panel{background:linear-gradient(#f7fcfff5,#f0f8ffc7);border:1px solid #0969f629;border-radius:8px;gap:20px;padding:28px;display:grid}.generator-heading{align-items:center;gap:14px;display:flex}.generator-heading h3.ant-typography{color:#10244b;margin:0 0 3px;font-size:21px}.generator-panel textarea.ant-input{color:#17233f;resize:vertical;padding:18px;font-size:16px;line-height:1.7}.generator-examples{min-height:30px}.user-chip{color:#52627d;background:#f7fbffd6;border:1px solid #1262be1f;border-radius:8px;align-items:center;min-height:34px;padding:0 12px;display:inline-flex}.mcp-token-panel{border:1px solid var(--line);background:#f7fbff;border-radius:8px;gap:10px;padding:14px;display:grid}.mcp-token-panel.fresh{background:#eef6ff;border-color:#1677ff}.full{width:100%}.upload-zone{background:linear-gradient(#f7fcfff5,#f0f8ffc7);border-radius:8px;overflow:hidden;border-color:#0969f633!important}.upload-zone .ant-upload{padding:52px 16px;border-color:#0969f633!important}.upload-zone .ant-upload-drag-icon .anticon{color:#0969f6;filter:drop-shadow(0 10px 18px #0969f638)}.upload-zone .ant-upload-text{color:#10244b;font-weight:700}.upload-zone .ant-upload-hint{color:#6d7d95}.mode-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.mode-card{color:#10244b;text-align:left;cursor:pointer;background:#f8fcffd1;border:1px solid #1b5aa624;border-radius:8px;align-items:center;gap:14px;min-height:96px;padding:18px 20px;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s;display:flex}.mode-card:hover{border-color:#0969f66b;transform:translateY(-1px);box-shadow:0 14px 36px #0969f61f}.mode-card.active{background:linear-gradient(#ecf6fffa,#f8fcfff0);border-color:#0969f6b8;box-shadow:0 18px 42px #0969f629,inset 0 3px #0969f6}.mode-icon{color:#0969f6;background:#eaf3ff;border-radius:8px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.mode-card.active .mode-icon{color:#fff;background:#0969f6}.mode-card b,.mode-card small{display:block}.mode-card b{font-size:19px;line-height:1.35}.mode-card small{color:#637188;margin-top:5px;font-size:14px;line-height:1.5}.compare-upload-grid{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:14px;display:grid}.compare-upload-slot .ant-upload{min-height:220px;position:relative}.compare-upload-slot .ant-typography{margin-bottom:8px}.compare-upload-slot .ant-upload-drag-icon,.compare-upload-slot .ant-typography,.compare-upload-slot .compare-upload-action{transition:opacity .2s,transform .2s}.compare-upload-slot.has-file .compare-upload-action{opacity:0;transform:translateY(6px)}.compare-upload-slot:hover .ant-upload,.compare-upload-slot:focus-within .ant-upload{background:linear-gradient(#e8f5fff5,#f6fbfff5);border-color:#0969f6b8!important}.compare-upload-slot.has-file:hover .ant-upload-drag-icon,.compare-upload-slot.has-file:focus-within .ant-upload-drag-icon{opacity:.32}.compare-upload-slot.has-file:hover .ant-typography,.compare-upload-slot.has-file:focus-within .ant-typography{opacity:.42}.compare-upload-slot.has-file:hover .compare-upload-action,.compare-upload-slot.has-file:focus-within .compare-upload-action{opacity:1;transform:translateY(0)}.compare-upload-action{color:#fff;background:linear-gradient(135deg,#0969f6,#0c8cff);border:1px solid #0969f62e;border-radius:8px;justify-content:center;align-items:center;min-height:38px;margin-top:10px;padding:0 18px;font-weight:700;display:inline-flex;box-shadow:0 12px 24px #0969f638}.format-upload-slot .ant-upload{min-height:260px}.format-upload-slot.has-file .compare-upload-action{opacity:0;transform:translateY(6px)}.format-upload-slot:hover .ant-upload,.format-upload-slot:focus-within .ant-upload{background:linear-gradient(#e8f5fff5,#f6fbfff5);border-color:#0969f6b8!important}.format-upload-slot.has-file:hover .compare-upload-action,.format-upload-slot.has-file:focus-within .compare-upload-action{opacity:1;transform:translateY(0)}.compare-swap{justify-content:center;display:flex}.role-line,.progress-head,.result-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.contract-editor-shell{flex-direction:column;gap:16px;width:100%;display:flex}.generation-trust{background:#f7fbff;border:1px solid;border-left-width:5px;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;display:flex}.generation-trust-success{color:#17643b;background:#f2fbf6;border-color:#9fd8b9}.generation-trust-warning{color:#80520b;background:#fff9e9;border-color:#efca79}.generation-trust-danger{color:#a22d2d;background:#fff4f3;border-color:#efabab}.generation-trust-verdict{align-items:center;gap:14px;min-width:0;display:flex}.generation-trust-icon{background:#ffffffb8;border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.generation-trust-label,.generation-trust-verdict strong,.generation-trust-verdict small{display:block}.generation-trust-label{opacity:.76;margin-bottom:2px;font-size:13px;font-weight:700}.generation-trust-verdict strong{color:currentColor;font-size:20px;line-height:1.35}.generation-trust-verdict small{color:#5d687a;margin-top:3px;font-size:13px;line-height:1.55}.generation-trust-counts{border-left:1px solid #1f36581f;flex:none;grid-template-columns:repeat(3,minmax(72px,auto));display:grid}.generation-trust-summary{grid-template-columns:repeat(2,minmax(112px,auto))}.generation-trust-counts span{color:#5d687a;text-align:center;padding:0 16px;font-size:12px}.generation-trust-counts b{color:currentColor;margin-bottom:2px;font-size:20px;line-height:1.2;display:block}.generation-evidence{color:#173057;border-top:1px solid #1f36581f;width:100%}.generation-evidence summary{color:#0f67d8;cursor:pointer;align-items:center;gap:8px;width:fit-content;padding-top:14px;font-size:14px;font-weight:700;list-style:none;display:flex}.generation-evidence summary::-webkit-details-marker{display:none}.generation-evidence-body{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px;padding-top:16px;display:grid}.generation-evidence-body>section{min-width:0}.generation-evidence-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.generation-evidence-heading strong{color:#10284f;font-size:15px}.generation-evidence-heading span{color:#6b778b;font-size:12px}.protection-list,.authority-source-list{gap:8px;display:grid}.protection-item{background:#ffffffc2;border:1px solid #dbe7f5;border-radius:6px;padding:12px 14px}.protection-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.protection-title strong{color:#10284f}.protection-item p{color:#44536a;margin:7px 0 0;font-size:13px;line-height:1.6}.protection-item small{color:#6b778b;margin-top:7px;line-height:1.5;display:block}.authority-source-list a{color:#173057;background:#ffffffc2;border:1px solid #dbe7f5;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;text-decoration:none;display:flex}.authority-source-list a:hover{color:#0f67d8;border-color:#7db6ff}.authority-source-list strong,.authority-source-list small{display:block}.authority-source-list small{color:#6b778b;margin-top:3px;font-size:11px}.contract-editor-toolbar{background:#f8fbff;border:1px solid #dbe7f5;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.contract-editor-toolbar .ant-typography{margin:0}.contract-editor-host{background:#fff;border:1px solid #dbe7f5;width:100%;height:clamp(680px,78dvh,960px);min-height:680px;overflow:hidden}.contract-editor-mount,.contract-editor-host iframe{border:0;min-height:100%;display:block;width:100%!important;height:100%!important}@media (width<=768px){.contract-editor-toolbar{flex-direction:column;align-items:stretch}.contract-editor-host{height:max(560px,76dvh);min-height:560px}.generation-trust{flex-direction:column;align-items:stretch;gap:14px}.generation-trust-counts{border-top:1px solid #1f36581f;border-left:0;grid-template-columns:repeat(3,1fr);padding-top:12px}.generation-trust-counts span{padding:0 8px}.generation-evidence-body{grid-template-columns:1fr}.generation-evidence-heading{flex-direction:column;align-items:flex-start;gap:3px}}.result-actions{justify-content:flex-start}.role-line{background:#f7fbffc7;border:1px solid #134b8b14;border-radius:8px;padding:18px}.ant-segmented{background:#e3efffb8;border-radius:8px;padding:4px}.ant-segmented .ant-segmented-item{border-radius:6px}.ant-table-wrapper{background:#ffffffdb;border:1px solid #15498614;border-radius:8px;overflow:hidden}.ant-table{background:0 0}.ant-table-thead>tr>th{color:#10244b!important;background:linear-gradient(#f7fbff,#f1f7ff)!important;font-weight:800!important}.ant-table-tbody>tr>td{color:#17233f;border-bottom-color:#134b8b14!important}.ant-progress-line{margin:8px 0}.ant-progress .ant-progress-bg{background:linear-gradient(90deg,#0969f6,#2bb8ff)}.risk{font-weight:700}.risk.high{color:#cf1322}.risk.medium{color:#d46b08}.risk.notice{color:#52657a}.admin-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffffff2,#ffffffdb);border:1px solid #ffffffe6;border-radius:8px;width:100%;min-width:0;max-width:1440px;margin:0 auto;padding:34px;position:relative;overflow:hidden;box-shadow:0 24px 70px #1a4a8424}.admin-login{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffffff2,#ffffffdb);border:1px solid #ffffffe6;border-radius:8px;width:100%;min-width:0;max-width:420px;margin:96px auto 0;padding:34px;position:relative;overflow:hidden;box-shadow:0 24px 70px #1a4a8424}.admin-title{letter-spacing:0;color:#071a44!important;font-weight:800!important}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 20px;display:grid}.stats .ant-statistic{background:linear-gradient(#f7fbffeb,#ffffffd1);border:1px solid #134b8b14;border-radius:6px;padding:16px}.stats .ant-statistic-title{color:#64738c;font-weight:600}.stats .ant-statistic-content{color:#0d2554;font-weight:800}.mobile-file-list{gap:12px;display:grid}.mobile-file-card{background:#ffffffd6;border:1px solid #134b8b14;border-radius:8px;gap:12px;padding:16px;display:grid;box-shadow:0 12px 26px #1e4b7e14}.mobile-file-main{gap:4px;min-width:0;display:grid}.mobile-file-controls{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.mobile-role-select{width:100%}.risk-grid{background:#f1f7ffeb;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;font-size:13px;display:grid}.legal-page{color:#17233f}.legal-shell{max-width:920px}.legal-sections{gap:18px;margin-top:30px;display:grid}.legal-section{background:#ffffffbd;border:1px solid #134b8b14;border-radius:8px;padding:18px}.legal-section h2.ant-typography{color:#10244b;margin:0 0 8px;font-size:18px;font-weight:800}.legal-section .ant-typography{color:#394967;margin-bottom:0;line-height:1.8}.ant-modal-content{border:1px solid #ffffffe6;overflow:hidden;background:linear-gradient(#fffffffa,#f7fbfff5)!important;border-radius:8px!important;box-shadow:0 28px 80px #0f2f5e3d!important}.ant-modal-header{background:0 0!important}.ant-modal-title{color:#071a44!important;font-size:22px!important;font-weight:800!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector{box-shadow:none!important;border-color:#0f305d24!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector{border-color:#0969f6!important;box-shadow:0 0 0 3px #0969f61f!important}@media (width<=640px){.feature-nav{margin-top:16px}.feature-nav button{min-width:112px;padding:0 12px}.generator-panel{padding:18px}.generator-heading{align-items:flex-start}.page{padding:12px 0}.shell{border-left:0;border-right:0;border-radius:0;width:100%;max-width:100%;padding:24px 16px}.shell,.header,.lead,.upload-zone,.role-line,.ant-space,.ant-alert,.ant-progress,.ant-table-wrapper{min-width:0;max-width:100%}.ant-space.full{display:flex}.header h1.ant-typography{font-size:32px;line-height:1.15}.lead{font-size:16px}.admin-shell,.admin-login{border-left:0;border-right:0;border-radius:0;max-width:100%;padding:24px 16px}.stats{grid-template-columns:repeat(2,minmax(120px,1fr))}.topbar,.admin-head,.role-line,.progress-head,.result-actions{flex-direction:column;align-items:stretch;width:100%;min-width:0}.topbar{overflow:hidden}.topbar>*,.admin-head>*,.role-line>*,.progress-head>*,.result-actions>*{min-width:0;max-width:100%}.topbar .ant-space,.result-actions .ant-btn,.progress-head .ant-btn,.role-line .ant-segmented,.shell>.ant-space>.ant-btn-primary{width:100%}.topbar .ant-space{display:grid}.role-line .ant-segmented{width:100%;max-width:100%;display:block;overflow:hidden}.role-line .ant-segmented-group,.role-line .ant-segmented-item{width:100%;min-width:0}.role-line .ant-segmented-group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.role-line .ant-segmented-item-label{text-overflow:ellipsis;white-space:nowrap;min-height:32px;line-height:32px;overflow:hidden}.topbar .ant-space-item,.topbar .ant-btn{width:100%;max-width:100%}.header{margin-bottom:22px}.header .ant-typography{margin-bottom:0}.upload-zone .ant-upload{padding:32px 10px}.compare-upload-grid{grid-template-columns:1fr}.compare-upload-slot.has-file .compare-upload-action{opacity:1;transform:none}.mode-card-grid{grid-template-columns:1fr;gap:10px}.mode-card{min-height:82px;padding:14px}.compare-swap{order:2}.upload-zone .ant-upload-drag-icon{margin-bottom:10px}.upload-zone .ant-upload-text{font-size:16px}.ant-alert{align-items:flex-start}.ant-modal{max-width:calc(100vw - 20px)}.ant-modal .ant-modal-footer{grid-template-columns:1fr;gap:8px;display:grid}.ant-modal .ant-modal-footer .ant-btn{width:100%;margin-inline-start:0!important}.admin-login{margin-top:28px}.admin-shell .ant-table-wrapper{margin:0}}@media (width<=380px){.header h1.ant-typography{font-size:25px}.stats,.risk-grid{grid-template-columns:1fr}.mobile-file-controls{grid-template-columns:1fr auto}.mobile-file-controls .ant-btn{grid-column:2}}.contract-preview-frame{background:#eef1f5;border:1px solid #dce3ed;width:100%;height:75vh;min-height:480px;display:block}
