
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --color-text-primary:#102A5C;--color-text-secondary:#556987;--color-text-tertiary:#8FA3C2;
  --color-background-primary:#ffffff;--color-background-secondary:#F4F8FF;
  --color-border-primary:#102A5C;--color-border-secondary:#C8D5EA;--color-border-tertiary:#E3EAF6;
  --color-brand:#244C9A;--color-brand-ink:#102A5C;--color-accent:#F5A400;
  --color-border-info:#A9C9F7;--color-background-info:#EEF6FF;--color-text-info:#1D5FAF;
  --color-border-warning:#F3C766;--color-background-warning:#FFF8E6;--color-text-warning:#875400;
  --color-background-success:#ECFDF5;--color-border-success:#6EE7B7;--color-text-success:#065F46;
  --color-background-danger:#FFF0F2;--color-border-danger:#FFB5BD;--color-text-danger:#B42332;
  --shadow-card:0 10px 24px rgba(16,42,92,.06);
  --border-radius-sm:4px;--border-radius-md:6px;--border-radius-lg:8px;
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
body{font-family:var(--font-sans);background:#F6F9FE;color:var(--color-text-primary);padding:2rem 1rem 2.5rem;min-height:100vh;position:relative}
body:before{content:"";position:fixed;top:0;left:0;right:0;height:6px;background:var(--color-accent);z-index:1}
.page{max-width:860px;margin:0 auto}
.header{background:var(--color-brand-ink);border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);margin-bottom:1.25rem;overflow:hidden}
.header-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}
.brand-mark{width:34px;height:34px;border-radius:var(--border-radius-md);background:#FFFFFF;color:var(--color-brand-ink);display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:.04em}
.brand-text{min-width:0}
.brand-name{font-size:13px;font-weight:650;color:#FFFFFF;letter-spacing:.04em;text-transform:uppercase}
.brand-sub{font-size:12px;color:rgba(255,255,255,.68);margin-top:1px}
.doc-badge{font-size:12px;color:#FFFFFF;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:999px;padding:5px 9px;white-space:nowrap}
.header-main{padding:1.25rem}
.header h1{font-size:24px;font-weight:650;color:#FFFFFF;letter-spacing:0}
.header p{font-size:14px;color:rgba(255,255,255,.72);margin-top:6px;max-width:620px}
.section{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-left:3px solid var(--color-brand);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem;margin-bottom:.875rem}
.section-title{font-size:12px;font-weight:700;color:var(--color-brand-ink);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;display:flex;align-items:center;gap:7px}
.section-title i{font-size:15px;color:var(--color-brand)}
.section[data-autocollapse] .section-title{gap:8px;min-width:0}
.section-state{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;text-transform:none;letter-spacing:0}
.section-summary{font-size:12px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px}
.section.is-complete .section-summary{color:var(--color-text-success)}
.section-toggle{font-size:11px;padding:4px 7px;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);background:#fff;color:var(--color-text-primary);cursor:pointer;white-space:nowrap}
.section-toggle:hover{background:#F8FBFF;border-color:#9DB2D4}
.section-toggle[hidden]{display:none}
.section.is-collapsed{padding-top:1rem;padding-bottom:1rem}
.section.is-collapsed>.section-title{margin-bottom:0}
.section.is-collapsed>:not(.section-title){display:none!important}
.field{margin-bottom:.875rem}
.field:last-child{margin-bottom:0}
.fl{display:block;font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:4px}
.hint{font-weight:400;color:var(--color-text-secondary)}
input[type=text],input[type=url],input[type=date],input[type=number],select,textarea{
  width:100%;font-size:14px;padding:8px 10px;border:1px solid var(--color-border-secondary);
  border-radius:var(--border-radius-md);background:var(--color-background-primary);
  color:var(--color-text-primary);outline:none;transition:border-color .12s,box-shadow .12s,background .12s;font-family:var(--font-sans);
}
input:hover,select:hover,textarea:hover{border-color:#9DB2D4}
input:focus,select:focus,textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(36,76,154,.12)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-border-info);outline-offset:2px}
input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#E24B4A;box-shadow:0 0 0 2px rgba(226,75,74,.14)}
textarea{resize:vertical;min-height:68px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cb-group{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.cb-2col{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:2px}
.cbi{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:8px 10px;border-radius:var(--border-radius-md);border:1px solid var(--color-border-tertiary);background:#fff;transition:border-color .12s,background .12s,box-shadow .12s;user-select:none}
.cbi:hover{border-color:var(--color-border-secondary);background:#F8FBFF}
.cbi.on{border-color:var(--color-brand);background:var(--color-background-info);box-shadow:inset 3px 0 0 var(--color-brand)}
.cbi.is-invalid{border-color:#E24B4A;background:var(--color-background-danger)}
.cbi input{margin-top:2px;flex-shrink:0;pointer-events:none}
.cbt{font-size:14px;color:var(--color-text-primary)}
.cbt small{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:1px}
.brand-block{display:none}
.brand-block.active{display:block}
.divider{border:none;border-top:0.5px solid var(--color-border-tertiary);margin:.875rem 0}
.req{color:#FF4D5A}
.submit-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:stretch;gap:14px;margin-top:1.25rem;padding:1rem;background:#FFFFFF;border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card)}
.action-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.action-group-label{font-size:10px;font-weight:700;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em}
.action-group-help{font-size:12px;line-height:1.35;color:var(--color-text-secondary);max-width:230px}
.action-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.action-group.export{justify-self:stretch}
.action-group.final{justify-self:stretch}
.btn-sec{font-size:14px;padding:9px 12px;background:#FFFFFF;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 1px 1px rgba(31,36,33,.03);white-space:normal;text-align:center}
.btn-sec:hover{background:#F8FBFF;border-color:#9DB2D4}
.btn-pri{font-size:14px;padding:9px 18px;background:var(--color-brand);border:1px solid var(--color-brand);border-radius:var(--border-radius-md);color:#FFFFFF;cursor:pointer;font-weight:650;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 8px 18px rgba(36,76,154,.18);white-space:normal;text-align:center}
.btn-pri:hover{background:#1B3F86;border-color:#1B3F86}
.alert-w{background:var(--color-background-warning);border:1px solid var(--color-border-warning);border-radius:var(--border-radius-md);padding:.65rem .9rem;font-size:13px;color:var(--color-text-warning);display:flex;gap:7px;align-items:flex-start;margin-bottom:.75rem}
.alert-w i,.alert-i i{font-size:15px;flex-shrink:0;margin-top:1px}
.alert-i{background:var(--color-background-info);border:1px solid var(--color-border-info);border-radius:var(--border-radius-md);padding:.65rem .9rem;font-size:13px;color:var(--color-text-info);display:flex;gap:7px;align-items:flex-start;margin-bottom:.75rem}
.specs-section{background:#FFFDF7;border:1px solid #F0E0B6;border-left:3px solid var(--color-accent);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem;margin-bottom:.875rem}
.specs-empty{text-align:center;padding:1.25rem;font-size:13px;color:var(--color-text-tertiary)}
.specs-empty i{font-size:22px;display:block;margin-bottom:6px}
.combo-block{margin-bottom:1.25rem}
.combo-block:last-child{margin-bottom:0}
.combo-header{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:7px}
.combo-header i{font-size:16px;color:var(--color-text-secondary)}
.specs-orient{position:sticky;top:10px;z-index:3;background:#FFFDF7;border:1px solid #F0E0B6;border-radius:var(--border-radius-md);padding:.7rem;margin-bottom:.85rem;box-shadow:0 8px 18px rgba(16,42,92,.07)}
.specs-orient-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}
.specs-orient-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-brand-ink)}
.specs-actions{display:flex;gap:6px;flex-shrink:0}
.mini-btn{font-size:12px;padding:5px 8px;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);background:#fff;color:var(--color-text-primary);cursor:pointer}
.mini-btn:hover{background:#F8FBFF;border-color:#9DB2D4}
.specs-pills{display:flex;flex-wrap:wrap;gap:6px}
.spec-pill{border:1px solid var(--color-border-tertiary);background:#fff;border-radius:var(--border-radius-md);padding:7px 9px;cursor:pointer;display:flex;align-items:center;gap:7px;color:var(--color-text-primary);font-size:12px;text-align:left}
.spec-pill:hover{border-color:var(--color-brand);background:#F8FBFF}
.spec-pill i{font-size:14px;color:var(--color-brand)}
.spec-pill-main{font-weight:650}
.spec-pill-sub{font-size:11px;color:var(--color-text-secondary);margin-top:1px}
.platform-accordion{display:flex;flex-direction:column;gap:8px}
.platform-panel{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:#fff;overflow:hidden}
.platform-panel[open]{border-color:#B8C8E1;box-shadow:0 6px 16px rgba(16,42,92,.05)}
.platform-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 38px 12px 14px;background:#F8FBFF;position:relative}
.platform-summary::-webkit-details-marker{display:none}
.platform-summary:after{content:"+";font-size:18px;line-height:1;color:var(--color-brand);font-weight:400;position:absolute;right:14px;top:12px}
.platform-panel[open] .platform-summary:after{content:"-"}
.platform-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--color-brand-ink);min-width:0}
.platform-title i{font-size:17px;color:var(--color-brand)}
.platform-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-left:auto}
.platform-chip{font-size:11px;line-height:1;border-radius:999px;border:1px solid var(--color-border-tertiary);background:#fff;color:var(--color-text-secondary);padding:5px 7px;white-space:nowrap}
.platform-chip.ok{background:var(--color-background-success);border-color:var(--color-border-success);color:var(--color-text-success)}
.platform-chip.warn{background:var(--color-background-warning);border-color:var(--color-border-warning);color:var(--color-text-warning)}
.platform-chip.link{background:var(--color-background-info);border-color:var(--color-border-info);color:var(--color-text-info)}
.platform-body{padding:12px 14px 14px}
.format-strip{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:.75rem}
.format-chip{font-size:11px;border:1px solid var(--color-border-tertiary);border-radius:999px;padding:4px 7px;color:var(--color-text-secondary);background:#fff}
.platform-body .combo-block{border-top:1px solid var(--color-border-tertiary);padding-top:.85rem;margin-top:.85rem;margin-bottom:0}
.platform-body .combo-block:first-of-type{border-top:none;padding-top:0;margin-top:0}
.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-bottom:.75rem}
.size-card{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:.65rem .75rem}
.size-card .sn{font-size:12px;font-weight:500;color:var(--color-text-primary)}
.size-card .sp{font-size:13px;font-weight:650;color:var(--color-brand-ink);margin-top:2px}
.size-card .sno{font-size:11px;color:var(--color-text-secondary);margin-top:2px}
.copy-tbl{width:100%;border-collapse:collapse;font-size:13px;background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);overflow:hidden;margin-top:.5rem}
.copy-tbl th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-brand-ink);background:#EEF4FF;padding:6px 10px;text-align:left;border-bottom:1px solid var(--color-border-tertiary)}
.copy-tbl td{padding:7px 10px;border-bottom:1px solid var(--color-border-tertiary);color:var(--color-text-primary)}
.copy-tbl tr:last-child td{border-bottom:none}
.lim{font-weight:500;white-space:nowrap}
.lim.warn{color:#BA7517}
.sec-lbl{font-size:11px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:.75rem 0 .4rem}
.char-bar{height:3px;border-radius:2px;background:var(--color-border-tertiary);margin-top:3px;overflow:hidden}
.char-bar-fill{height:100%;border-radius:2px;background:#1D9E75;transition:width .1s,background .1s}
.char-info{font-size:11px;color:var(--color-text-tertiary);text-align:right;margin-top:2px}
.char-info.warn{color:#BA7517}
.char-info.over{color:#E24B4A}
.line-counts{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.line-count{font-size:11px;line-height:1;padding:4px 6px;border-radius:var(--border-radius-sm);background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary)}
.line-count.warn{background:var(--color-background-warning);border-color:var(--color-border-warning);color:var(--color-text-warning)}
.line-count.over{background:var(--color-background-danger);border-color:var(--color-border-danger);color:var(--color-text-danger)}
.upload-area{border:1px dashed var(--color-border-secondary);border-radius:var(--border-radius-md);padding:1.15rem;text-align:center;cursor:pointer;transition:background .12s,border-color .12s;position:relative;background:#F8FBFF}
.upload-area:hover{background:#EEF6FF;border-color:var(--color-brand)}
.upload-area.is-invalid{border-color:#E24B4A;background:var(--color-background-danger)}
.upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-area p{font-size:13px;color:var(--color-text-secondary);margin-top:4px}
.upload-area i{font-size:22px;color:var(--color-text-tertiary)}
.file-list{margin-top:.75rem;display:flex;flex-direction:column;gap:5px}
.file-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);font-size:13px}
.file-row i{font-size:14px;flex-shrink:0}
.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}
.file-status{font-size:11px;white-space:nowrap;font-weight:500}
.file-status.ok{color:#1D9E75}
.file-status.err{color:#E24B4A}
.file-status.checking{color:var(--color-text-secondary)}
.asset-checklist{margin-top:.75rem;display:none}
.asset-checklist.show{display:block}
.asset-grid{display:grid;grid-template-columns:1fr;gap:5px}
.asset-row{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);font-size:13px}
.asset-row i{font-size:14px;flex-shrink:0;margin-top:1px;color:var(--color-text-tertiary)}
.asset-row.ok{border-color:var(--color-border-success);background:var(--color-background-success)}
.asset-row.ok i{color:var(--color-text-success)}
.asset-row.link{border-color:var(--color-border-info);background:var(--color-background-info)}
.asset-row.link i{color:var(--color-text-info)}
.asset-row.missing{border-color:var(--color-border-warning);background:var(--color-background-warning)}
.asset-row.missing i{color:var(--color-text-warning)}
.asset-main{flex:1;min-width:0}
.asset-name{font-weight:500;color:var(--color-text-primary)}
.asset-meta{font-size:11px;color:var(--color-text-secondary);margin-top:1px}
.val-summary{border-radius:var(--border-radius-md);padding:.8rem 1rem;font-size:13px;margin-top:.75rem;display:none}
.val-summary.show{display:block}
.val-summary.ok{background:var(--color-background-success);border:1px solid var(--color-border-success);color:var(--color-text-success)}
.val-summary.err{background:var(--color-background-danger);border:1px solid var(--color-border-danger);color:var(--color-text-danger)}
@media(max-width:540px){
  body{padding:1rem .75rem}
  .header-top{align-items:flex-start;flex-direction:column;padding:1rem}
  .header-main{padding:1rem}
  .header h1{font-size:21px}
  .section,.specs-section{padding:1rem}
  .section-title{align-items:flex-start;flex-wrap:wrap}
  .section-state{width:100%;margin-left:22px;justify-content:flex-start}
  .section-summary{max-width:100%}
  .specs-orient{position:static}
  .specs-orient-top,.platform-summary{align-items:flex-start;flex-direction:column}
  .specs-actions{width:100%}
  .mini-btn{flex:1}
  .spec-pill{width:100%}
  .platform-meta{justify-content:flex-start;margin-left:0}
  .row2,.cb-2col{grid-template-columns:1fr}
  .submit-row{grid-template-columns:1fr;align-items:stretch;padding:.9rem}
  .action-group,.action-group.export,.action-group.final{justify-self:stretch}
  .action-buttons{display:grid;grid-template-columns:1fr;gap:7px}
  .btn-sec,.btn-pri{width:100%;justify-content:center}
}
