:root{font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#13264a;background:#edf2f8;font-synthesis:none;--ink: #13264a;--muted: #687892;--line: #d7e0eb;--line-strong: #becadd;--surface: #ffffff;--surface-soft: #f7f9fc;--blue: #1769e8;--blue-soft: #eaf2ff;--green: #20a66a;--green-soft: #e9f8f0;--amber: #dc8a06;--amber-soft: #fff7df;--red: #df4253;--red-soft: #fff0f2}*{box-sizing:border-box}html{background:#edf2f8}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 20% -10%,rgba(255,255,255,.92),transparent 35rem),#edf2f8}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid rgba(23,105,232,.35);outline-offset:2px}.app-shell{width:min(100%,1500px);min-height:100vh;margin:0 auto;background:var(--surface);border-inline:1px solid var(--line);box-shadow:0 16px 60px #273c5c14}.topbar{min-height:66px;padding:0 22px;display:grid;grid-template-columns:minmax(470px,1fr) auto 130px;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand-block{display:flex;align-items:center;gap:22px;min-width:0}.brand-block h1{margin:0;font-size:25px;line-height:1;letter-spacing:-.035em;white-space:nowrap}.privacy-status{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:14px;white-space:nowrap}.preset-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.meta-divider{width:1px;height:19px;background:var(--line-strong)}.language-button{justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;cursor:pointer}.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 7%;border-bottom:1px solid var(--line);background:#fafcffcc}.step{display:flex;align-items:center;gap:10px;color:#7b879a;font-size:14px;position:relative}.step:not(:last-child):after{content:"";height:1px;background:var(--line-strong);flex:1;margin:0 18px}.step.active{color:var(--blue);font-weight:700}.step.active:after{background:var(--blue)}.step.complete{color:#52647e}.step-index{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:999px;color:#fff;background:#8a95a7;font-size:13px;font-weight:700;flex:0 0 auto}.step.active .step-index{background:var(--blue);box-shadow:0 0 0 5px var(--blue-soft)}.step.complete .step-index{background:#70809a}.source-strip{min-height:72px;padding:10px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--surface)}.source-list{display:flex;gap:8px;flex:1;overflow-x:auto}.source-chip{min-width:190px;padding:5px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;text-align:left}.source-chip.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-soft)}.source-chip img{width:48px;height:42px;object-fit:cover;border-radius:5px}.source-chip span:not(.chip-remove){display:grid;min-width:0}.source-chip strong{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.source-chip small{color:var(--muted);font-size:11px;margin-top:3px}.chip-remove{margin-left:auto;padding:6px;display:grid;border-radius:4px}.secondary-button,.outline-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;cursor:pointer;white-space:nowrap}.secondary-button{min-height:39px;padding:0 13px;border:1px solid var(--blue);background:#fff;color:var(--blue);font-weight:650}.outline-button{min-height:38px;padding:0 13px;border:1px solid var(--line-strong);background:#fff;color:var(--ink)}.text-button{min-height:34px;padding:0 8px;border:0;background:transparent;color:var(--blue)}.supported-copy{color:var(--muted);font-size:11px;max-width:110px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.notice{margin:10px 16px 0;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #bcd3f6;border-radius:7px;background:var(--blue-soft);color:#28588f;font-size:13px}.notice button{display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.notice-download{margin-left:10px;display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-weight:750;text-decoration:none}.notice-download:hover{text-decoration:underline}.workspace{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(360px,1fr);min-height:660px;border-bottom:1px solid var(--line)}.output-table-region{min-width:0;border-right:1px solid var(--line)}.table-toolbar{min-height:46px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.table-toolbar>div{display:flex;align-items:baseline;gap:9px}.table-toolbar strong{font-size:14px}.table-toolbar span{color:var(--muted);font-size:12px}.output-table{width:100%;overflow-x:auto}.output-row{width:100%;min-width:760px;min-height:94px;padding:0 14px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.8fr) minmax(112px,.85fr) minmax(90px,.55fr) minmax(112px,.75fr) minmax(88px,.6fr);align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;font-size:13px;cursor:pointer}.output-row:hover{background:#f9fbfe}.output-row.active{position:relative;background:linear-gradient(90deg,#edf4ff,#f8fbff);box-shadow:inset 3px 0 var(--blue)}.output-row.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-block:1px solid #9dc2fb}.output-head{min-height:44px;color:var(--muted);background:#f9fbfd;font-size:12px;cursor:default}.output-head:hover{background:#f9fbfd}.output-name{display:flex;align-items:center;gap:9px;min-width:0}.output-name input{width:17px;height:17px;accent-color:var(--blue)}.ratio-label{font-weight:750;color:var(--ink);min-width:32px}.thumb{width:86px;height:56px;display:grid;place-items:center;overflow:hidden;background:#eef2f6;border-radius:5px}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-story img{width:33px}.output-row select{max-width:104px;min-height:33px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 7px;color:var(--ink)}.status-pill{width:fit-content;min-height:28px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;border-radius:5px;font-weight:650;font-size:12px}.status-pill.pass{color:#16784e;background:var(--green-soft);border:1px solid #b9e4ce}.status-pill.warning{color:#a36300;background:var(--amber-soft);border:1px solid #efd58f}.qa-panel{min-width:0;background:#fbfcfe}.qa-heading,.qa-meta{min-height:46px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.qa-heading>div{display:grid;gap:2px}.qa-heading strong{font-size:14px}.qa-heading span{color:var(--muted);font-size:11px}.qa-ratio{color:var(--blue)!important;font-size:14px!important;font-weight:800}.qa-meta{min-height:48px;justify-content:flex-start;gap:11px;font-size:12px}.qa-meta span{color:var(--muted)}.large-preview{width:min(82%,330px);margin:18px auto 13px;position:relative;overflow:hidden;background:#eee9e0;border:1px solid #e0ab39;cursor:crosshair}.large-preview img{width:100%;height:100%;display:block;background:#f4efe7}.safe-zone{position:absolute;border:2px dashed rgba(255,255,255,.92);box-shadow:0 0 0 999px #1627430d;pointer-events:none}.focus-marker{position:absolute;color:#f1bc00;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));pointer-events:none}.preview-legend{min-height:42px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:16px;border-block:1px solid var(--line);color:var(--muted);font-size:10px}.preview-legend span{display:inline-flex;align-items:center;gap:5px}.preview-legend i{width:19px;height:15px;display:inline-block}.legend-safe{border:1px dashed #9da9bb}.legend-edge{border:1px solid #e4ac35}.warning-detail{padding:16px}.warning-detail.has-warning{color:#8b5909}.warning-detail.clear{color:#16784e}.warning-title{display:flex;align-items:flex-start;gap:10px}.warning-title strong{display:block;color:var(--ink);font-size:15px}.warning-title p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.warning-actions{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.focus-controls{display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,30px)}.focus-controls button{border:1px solid var(--line-strong);background:#fff;display:grid;place-items:center;cursor:pointer}.focus-controls button:nth-child(1){grid-column:2}.focus-controls button:nth-child(2){grid-column:1;grid-row:2}.focus-controls button:nth-child(3){grid-column:2;grid-row:2}.focus-controls button:nth-child(4){grid-column:3;grid-row:2}.focus-controls button:nth-child(5){grid-column:2;grid-row:3}.summary-bar{min-height:112px;padding:14px 16px;display:grid;grid-template-columns:1.35fr 1.2fr minmax(245px,.72fr);align-items:stretch;gap:14px;background:#fff}.summary-results,.package-summary{padding-right:14px;display:flex;align-items:center;gap:10px;border-right:1px solid var(--line)}.summary-results>span,.package-summary>span{align-self:flex-start;color:var(--muted);font-size:11px}.summary-stat{min-width:105px;min-height:64px;padding:8px 10px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;column-gap:8px;align-items:center;border-radius:7px}.summary-stat svg{grid-row:1 / 3}.summary-stat small{font-size:11px}.summary-stat strong{font-size:23px;line-height:1}.summary-stat.pass{color:var(--green);border:1px solid #b9e4ce;background:var(--green-soft)}.summary-stat.warning{color:var(--amber);border:1px solid #efd58f;background:var(--amber-soft)}.summary-stat.failed{color:var(--red);border:1px solid #f2c6cd;background:var(--red-soft)}.package-summary{flex-wrap:wrap;align-content:center}.package-summary>div{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}.package-summary strong{color:var(--ink)}.export-block{display:flex;flex-direction:column;justify-content:center;gap:7px}.primary-button{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:7px;background:var(--blue);color:#fff;font-weight:750;cursor:pointer;box-shadow:0 8px 18px #1769e82e}.primary-button:disabled{opacity:.7;cursor:wait}.export-block small{color:var(--muted);font-size:10px;line-height:1.4;text-align:center}.spec-notice{margin:0;padding:9px 16px 13px;color:var(--muted);background:#fff;font-size:10px;text-align:center}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0e1e376b}.custom-dialog{width:min(100%,390px);padding:20px;display:grid;gap:15px;border-radius:12px;background:#fff;box-shadow:0 22px 70px #0f25464d}.dialog-title{display:flex;align-items:center;justify-content:space-between}.dialog-title h2{margin:0;font-size:19px}.dialog-title button{border:0;background:transparent;cursor:pointer}.custom-dialog label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.custom-dialog input{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;color:var(--ink)}@media(max-width:980px){.app-shell{border:0}.topbar{grid-template-columns:1fr auto;padding:12px 16px}.preset-meta{grid-column:1 / -1;grid-row:2;justify-self:start}.language-button{grid-column:2;grid-row:1}.brand-block{display:grid;gap:7px}.workspace{grid-template-columns:1fr}.output-table-region{border-right:0}.qa-panel{border-top:1px solid var(--line)}.summary-bar{grid-template-columns:1fr}.summary-results,.package-summary{border-right:0;border-bottom:1px solid var(--line);padding:10px 0 15px}}@media(max-width:620px){.topbar{min-height:92px;gap:8px}.brand-block h1{font-size:20px}.privacy-status{font-size:11px}.preset-meta{gap:8px;font-size:10px}.language-button{min-height:34px;font-size:12px}.stepper{padding:13px 12px;gap:4px}.step{justify-content:center}.step span:last-child,.step:not(:last-child):after{display:none}.step-index{width:28px;height:28px}.source-strip{flex-wrap:wrap}.source-list{flex-basis:100%}.source-chip{min-width:155px}.supported-copy{max-width:none}.workspace{min-height:0}.output-table{padding:10px}.output-head{display:none}.output-row{min-width:0;min-height:84px;margin-bottom:8px;padding:9px;grid-template-columns:1.3fr 72px auto;grid-template-areas:"name preview status" "dims preview mode";border:1px solid var(--line);border-radius:8px;gap:6px 10px}.output-name{grid-area:name}.output-row>span:nth-child(2){grid-area:preview}.output-row>span:nth-child(3){grid-area:dims;font-size:11px;color:var(--muted)}.output-row>span:nth-child(4){display:none}.output-row>span:nth-child(5){grid-area:mode;justify-self:start}.output-row>span:nth-child(6){grid-area:status}.output-row select{min-height:29px;font-size:11px}.thumb{width:72px;height:58px}.qa-panel{padding-bottom:4px}.large-preview{max-width:82%}.preview-legend{flex-wrap:wrap;height:auto;padding:9px}.summary-bar{padding:12px}.summary-results{display:grid;grid-template-columns:repeat(3,1fr)}.summary-results>span{grid-column:1 / -1}.summary-stat{min-width:0;grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center}.summary-stat svg{grid-row:auto;justify-self:center}.package-summary>span{flex-basis:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
