:root{--bg:#16130f;--bg-raise:#1f1a14;--paper:#f3ead9;--paper-dim:#e6dcc8;--ink:#1c1914;--ink-soft:#5c5348;--cream:#f7f1e6;--stamp:#c45c3e;--stamp-dark:#9e3f26;--brass:#c4a265;--line:#f3ead91f;--ok:#3f7a4e;--shadow:0 24px 50px #00000059;--sans:"Figtree", system-ui, sans-serif;--serif:"Fraunces", Georgia, serif}*,:before,:after{box-sizing:border-box}html,body{background:radial-gradient(1200px 500px at 10% -10%, #c4a2651f, transparent 50%), radial-gradient(900px 400px at 100% 0%, #c45c3e1a, transparent 45%), var(--bg);min-height:100%;color:var(--cream);font-family:var(--sans);margin:0}body{min-height:100vh}button,input,select{font:inherit}#app{width:min(1080px,100% - 32px);margin:0 auto;padding:36px 0 72px}.top{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.brand-title{align-items:center;gap:14px;display:flex}.brand-icon{border-radius:12px;flex-shrink:0;width:52px;height:52px;box-shadow:0 8px 20px #00000047}.brand h1{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:650;line-height:1}.brand p{color:var(--brass);margin:10px 0 0;font-size:1.02rem}.meta-chip{border:1px solid var(--line);background:var(--bg-raise);color:var(--paper-dim);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:.85rem}.layout{grid-template-columns:minmax(0,1fr);max-width:760px;display:grid}.panel{background:var(--bg-raise);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:20px}.drop{text-align:center;cursor:pointer;background:linear-gradient(#f3ead90a,#0000 40%),#18150f;border:1.5px dashed #f3ead947;border-radius:16px;padding:28px 18px;transition:border-color .15s,background .15s}.drop:hover,.drop.dragover{border-color:var(--brass);background:#1d1912}.drop h2{font-family:var(--serif);margin:0 0 6px;font-size:1.55rem}.drop p{color:var(--paper-dim);margin:0}.file-toolbar{color:var(--paper-dim);justify-content:space-between;align-items:center;gap:12px;margin:16px 0 8px;font-size:.9rem;display:flex}.toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.file-row{border:1px solid var(--line);cursor:grab;background:#18150f;border-radius:12px;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.file-row:active{cursor:grabbing}.file-row .grip{color:var(--brass);letter-spacing:1px;-webkit-user-select:none;user-select:none}.file-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.file-row span{color:var(--paper-dim);font-size:.82rem}.icon-btn{color:var(--paper-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 8px}.icon-btn:hover{color:var(--stamp);background:#c45c3e1f}.controls{gap:12px;margin-top:16px;display:grid}label.field{color:var(--paper-dim);gap:6px;font-size:.86rem;display:grid}input[type=text],select{color:var(--cream);border:1px solid var(--line);background:#18150f;border-radius:10px;padding:10px 12px}.presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.preset{text-align:left;color:var(--cream);border:1px solid var(--line);cursor:pointer;background:#18150f;border-radius:12px;padding:10px 12px}.preset small{color:var(--paper-dim);margin-top:2px;display:block}.preset.active{border-color:var(--stamp);background:#c45c3e24}.actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.btn{cursor:pointer;border:0;border-radius:999px;padding:11px 18px;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--stamp);color:#fff}.btn-primary:hover:not(:disabled){background:var(--stamp-dark)}.btn-ghost{color:var(--paper);border:1px solid var(--line);background:0 0}.status{min-height:1.4em;color:var(--brass);margin:12px 0 0;font-size:.95rem}.result{background:var(--paper);color:var(--ink);border-radius:16px;margin-top:16px;padding:16px;display:none}.result.show{display:block}.result h3{font-family:var(--serif);margin:0 0 8px}.stats{flex-wrap:wrap;gap:16px;font-size:.92rem;display:flex}.stats b{color:var(--stamp-dark)}.download-link{background:var(--stamp);color:#fff;border-radius:999px;align-items:center;margin-top:14px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.download-link:hover{background:var(--stamp-dark)}@media (width<=820px){.presets{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start}}
