:root { color-scheme: light; --ink:#13231d; --cream:#f2efe5; --paper:#fffdf7; --accent:#c84b31; --line:#b8b4a8; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"Noto Sans SC","Microsoft YaHei",sans-serif; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.2; background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(19,35,29,.05) 4px); }
.shell { width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:68px 0 90px; position:relative; }
.hero { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; border-top:2px solid var(--ink); padding-top:22px; margin-bottom:50px; }
.hero .eyebrow { grid-column:1/-1; }
h1 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,5.4vw,72px); line-height:1.08; letter-spacing:-.035em; font-weight:500; }
.lead { font-size:18px; line-height:1.8; max-width:440px; margin:0 0 8px; }
.eyebrow { margin:0; font-size:12px; font-weight:800; letter-spacing:.2em; color:var(--accent); }
.workbench { background:var(--paper); border:1px solid var(--line); padding:28px; box-shadow:12px 12px 0 var(--ink); }
.upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.upload-card { position:relative; min-height:260px; border:1px dashed var(--ink); padding:24px; display:flex; flex-direction:column; cursor:pointer; overflow:hidden; transition:.2s ease; }
.upload-card:hover { background:#f7e7d7; transform:translateY(-2px); }
.upload-card input { position:absolute; opacity:0; pointer-events:none; }
.number { font:italic 42px Georgia,serif; color:var(--accent); }
.upload-title { margin-top:auto; font-size:25px; font-weight:800; }
.upload-hint { margin-top:7px; color:#5f665f; }
.upload-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none; }
.upload-card.has-image img { display:block; }
.upload-card.has-image::after { content:"点击更换"; position:absolute; right:12px; bottom:12px; padding:7px 10px; background:rgba(19,35,29,.86); color:white; font-size:12px; }
.controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
.mode-control { display:flex; border:1px solid var(--ink); }
.mode-control input { position:absolute; opacity:0; }
.mode-control span { display:block; padding:13px 18px; cursor:pointer; }
.mode-control input:checked + span { background:var(--ink); color:white; }
button { border:1px solid var(--ink); background:var(--paper); color:var(--ink); padding:13px 20px; font:inherit; font-weight:750; cursor:pointer; }
button:hover { background:#f7e7d7; }
.primary { background:var(--accent); color:white; border-color:var(--accent); min-width:220px; }
.primary:disabled { opacity:.55; cursor:wait; }
.status { min-height:24px; margin:18px 0 0; color:var(--accent); font-weight:700; }
.result { margin-top:64px; }
.result-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:20px; }
h2 { margin:8px 0 0; font:500 40px Georgia,"Songti SC",serif; }
.downloads { display:flex; gap:10px; }
.paper { width:min(720px,100%); margin:0 auto; padding:18px; background:#d7d3c7; }
.paper img { display:block; width:100%; box-shadow:0 10px 32px rgba(19,35,29,.25); }
@media (max-width:720px) {
  .shell { padding-top:34px; }
  .hero { grid-template-columns:1fr; gap:24px; }
  .hero .eyebrow { grid-column:auto; }
  h1 { font-size:clamp(34px,10.5vw,50px); line-height:1.12; letter-spacing:-.025em; }
  .upload-grid { grid-template-columns:1fr; }
  .upload-card { min-height:210px; }
  .controls,.result-heading { align-items:stretch; flex-direction:column; }
  .mode-control { width:100%; }
  .mode-control label { flex:1; text-align:center; }
  .primary { width:100%; }
  .downloads { width:100%; }
  .downloads button { flex:1; }
  .workbench { padding:18px; box-shadow:7px 7px 0 var(--ink); }
}
