/* Codex, 2026-10-20. Design tokens derived from docs/design/concept.png. */
:root{font-family:"Noto Sans SC", "Microsoft YaHei", "PingFang SC", "SimHei", system-ui, sans-serif;color:#073d32;background:#fff;--muted:#74818b;--line:#dfe5e9;--green:#08a77b;--mint:#f0fcf7;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:#52616d;padding:12px 23px;font-size:16px;font-weight:600;transition:background .15s,transform .15s}button:hover:enabled{background:#edf7f2}button:active:enabled{transform:translateY(1px)}button:disabled{cursor:default;color:#a5adb4;background:#f1f3f5;border-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #0a956e;outline-offset:4px}header{border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:15px;color:#073d32;text-decoration:none;font-weight:750;font-size:24px;letter-spacing:.4px}.brand svg{width:30px;height:32px;stroke:#00a879;stroke-width:3.2;stroke-linecap:round;fill:none}.device-note{font-size:17px;color:#556773}main{width:90%;max-width:1320px;margin:auto}.intro{text-align:center;padding:39px 0 31px}h1{font-size:clamp(28px,3.5vw,50px);font-weight:750;letter-spacing:-1.8px;line-height:1.45;margin:0 0 12px}.intro p{margin:0;color:#64727c;font-size:21px;line-height:1.7}.drop-zone{background:var(--mint);border:1px dashed #81dec1;border-radius:13px;text-align:center;padding:37px 22px 33px;transition:background .15s}.drop-zone.dragging{background:#d5f7e8;border:2px solid var(--green)}.upload-icon{width:49px;height:49px;stroke:#008b66;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}.drop-zone h2{font-size:25px;letter-spacing:.2px;margin:18px 0 20px;font-weight:650}.primary{background:var(--green);color:white;border-color:var(--green);font-size:23px;padding:14px 39px;border-radius:10px}.primary:hover:enabled{background:#008d68}.drop-zone p{margin:22px 0 0;color:#73838c;font-size:17px;line-height:1.7}.queue{margin-top:31px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.queue-head{display:flex;justify-content:space-between;align-items:center;padding:17px 29px;gap:16px}.queue-label{display:flex;gap:28px;align-items:baseline}.queue-label h2{margin:0;font-size:23px;font-weight:650}.queue-label span{font-size:17px;color:var(--muted)}.queue-actions{display:flex;gap:14px}.queue-head button{padding:12px 23px}#empty{border-top:1px solid var(--line);padding:33px 20px 31px;text-align:center;color:#88949e}#empty svg{width:42px;height:47px;stroke:#a5afb6;fill:none;stroke-width:2.6;stroke-linejoin:round}#empty p{font-size:18px;margin:20px 0 0}#list{list-style:none;padding:0;margin:0}#list li{border-top:1px solid var(--line);padding:20px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px 24px}.file-name{font-size:17px;font-weight:600;overflow-wrap:anywhere}.file-detail{color:var(--muted);font-size:14px;line-height:1.7;margin-top:7px;overflow-wrap:anywhere}.file-state{margin-top:4px;font-size:15px;color:#52766b}.failed .file-state{color:#b0443b}.file-buttons{display:flex;align-items:center;gap:10px}.file-buttons a{color:#008461;font-size:15px;font-weight:600;text-decoration:none;border:1px solid #94d7bf;border-radius:7px;padding:8px 15px}.file-buttons button{padding:8px 15px;font-size:15px}.file-preview{grid-column:1/-1;max-width:100%;width:310px;height:34px}.file-progress{display:block;accent-color:var(--green);margin-top:8px;width:min(100%,400px);height:6px}.summary{margin:0;padding:13px 28px;background:#f6faf8;color:#61766c;font-size:14px;border-top:1px solid var(--line)}.notice{margin:16px 0 0;padding:12px 18px;background:#fff7ed;border-radius:7px;color:#985c14;font-size:14px;line-height:1.7}.principles{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);margin-top:37px;padding-top:25px;text-align:center}.principles>div+div{border-left:1px solid var(--line)}.principles h3{font-size:17px;margin:0 0 7px;font-weight:650}.principles p{font-size:16px;color:var(--muted);margin:0;line-height:1.7}footer{text-align:center;color:#929ca4;font-size:14px;margin:23px 0 24px;line-height:1.8}footer a{color:inherit;margin-left:12px} [hidden]{display:none!important}
@media(min-width:1440px){main{max-width:1320px}.intro{padding-top:39px}}
@media(max-width:700px){.header-inner{padding:18px 5%;gap:8px}.brand{font-size:18px;gap:9px}.brand svg{width:24px}.device-note{font-size:12px}.intro{padding:30px 0 23px}h1{font-size:29px;letter-spacing:-.6px;max-width:340px;margin:0 auto 12px}.intro p{font-size:15px;line-height:1.85}.drop-zone{padding:27px 15px}.drop-zone h2{font-size:19px;margin:14px 0 18px}.drop-zone p{font-size:12px;margin-top:18px}.primary{font-size:18px;padding:12px 30px}.queue{margin-top:23px}.queue-head{padding:16px;gap:12px;flex-wrap:wrap}.queue-label{gap:12px}.queue-label h2{font-size:19px}.queue-label span{font-size:13px}.queue-actions{margin-left:auto;gap:8px}.queue-head button{font-size:12px;padding:9px 10px}#empty{padding:28px 12px}#empty p{font-size:14px}#list li{padding:17px 16px;grid-template-columns:minmax(0,1fr)}.file-buttons{justify-content:flex-start}.file-name{font-size:15px}.file-detail{font-size:12px}.file-state{font-size:13px}.principles{gap:18px;grid-template-columns:1fr;margin-top:28px;text-align:left;padding-top:22px}.principles>div+div{border:0}.principles h3{font-size:15px;margin-bottom:3px}.principles p{font-size:13px}footer{font-size:11px;margin-top:22px}.summary{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
h1 span{display:inline-block}
@media(max-width:700px){h1{font-size:28px;line-height:1.6}}

/* Codex, 2026-10-20: optional format details; manual key UI removed 2026-10-21. */
.format-details{border:1px solid #e0e7e2;border-radius:12px;margin:12px 0;background:#fff;color:#52635a;font-size:14px}.format-details summary{cursor:pointer;padding:14px 18px}.format-content{padding:0 18px 12px;line-height:1.8}.format-content p{margin:8px 0}
