:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe4;--bg-2:#e9f0dd;--card:#ffffffe0;--card-strong:#fff;--text:#17231d;--muted:#5d685f;--line:#d8ddcf;--line-strong:#c8d1bd;--accent:#1c8a64;--accent-2:#116247;--accent-3:#0e3d2c;--warm:#ffb24d;--warm-2:#ef8f1c;--shadow-soft:0 10px 30px #18251c14;--shadow-press:0 5px 14px #11342733}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 10% 5%, #ffbc5c3d, transparent 34%), radial-gradient(circle at 90% 0%, #489f7633, transparent 28%), radial-gradient(circle at 50% 120%, #0000000a, transparent 48%), linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif}.app{max-width:520px;min-height:100vh;margin:0 auto;padding:18px 14px 34px}.hero{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.hero h1{letter-spacing:-.02em;margin:2px 0 0;font-size:29px;line-height:1}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.card{background:var(--card);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffffb3;border-radius:18px;padding:16px}.card+.card{margin-top:12px}.section-header,.quota-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-header h2,.quota-header h2{margin:0;font-size:18px}.quota-header{margin-bottom:12px}.quota-grid,.profile-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quota-item{border:1px solid var(--line);background:linear-gradient(#fffffff2,#f7faf2f5);border-radius:14px;padding:10px}.quota-item-wide{grid-column:1/-1}.quota-label{color:var(--muted);font-size:12px}.quota-item strong{margin-top:6px;font-size:18px;line-height:1.2;display:block}.label{margin:10px 0 6px;font-size:13px;font-weight:700;display:block}.microcopy{color:var(--muted);margin:0 0 10px;font-size:12px}.pill{border:1px solid var(--line);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;background:#ffffffc7;border-radius:999px;align-items:center;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.pill-dirty{color:#5c3600;background:#ffc15e4d;border-color:#ef8f1c59}.settings-grid{grid-template-columns:1fr;gap:4px;display:grid}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.settings-summary{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.summary-chip{border:1px solid var(--line);color:var(--muted);background:#f8fbf5;border-radius:999px;align-items:center;padding:6px 9px;font-size:12px;display:inline-flex}select,input,button{width:100%;font:inherit}select,.search-input{border:1px solid var(--line-strong);color:var(--text);background:#ffffffeb;border-radius:12px;outline:none;padding:11px 12px;transition:box-shadow .12s,border-color .12s}select:focus,.search-input:focus{border-color:#1c8a6480;box-shadow:0 0 0 3px #1c8a641f}.toolbar{grid-template-columns:1fr auto;gap:8px;margin-bottom:10px;display:grid}.toolbar select{min-width:130px}.btn{cursor:pointer;border:0;border-radius:12px;padding:11px 12px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s,background-color .12s}.btn:hover{filter:saturate(1.05)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #11624729}.btn:disabled{cursor:default;opacity:.7;transform:none}.btn-primary{color:#fff;background:radial-gradient(circle at 18% 20%, #ffffff29, transparent 50%), linear-gradient(135deg, var(--accent-2), var(--accent));box-shadow:var(--shadow-press)}.btn-primary:hover{background:radial-gradient(circle at 18% 20%, #fff3, transparent 50%), linear-gradient(135deg, var(--accent-3), var(--accent-2))}.btn-secondary{color:var(--text);border:1px solid var(--line-strong);background:linear-gradient(#fff,#f3f7ed)}.btn-ghost{width:auto;color:var(--text);border:1px solid var(--line);background:#ffffffc7;box-shadow:inset 0 1px #ffffffbf}.btn-sm{border-radius:11px;padding:8px 10px;font-size:13px}.btn-chip{border:1px solid var(--line);color:var(--text);background:linear-gradient(#fff,#f5f8ef);padding:10px}.btn-chip-active{color:#fff;background:radial-gradient(circle at 14% 16%,#ffffff2e,#0000 56%),linear-gradient(135deg,#20795a,#15543d);border-color:#11624759;box-shadow:0 8px 16px #15543d33}.button-row{grid-template-columns:120px 1fr;gap:8px;margin-top:14px;display:grid}.status{min-height:18px;color:var(--muted);margin:10px 0 0;font-size:13px}.generate-card .microcopy:last-child{margin-top:8px}.upload-drop{border:1px dashed var(--line-strong);cursor:pointer;background:#ffffffd1;border-radius:14px;padding:12px;transition:border-color .12s,box-shadow .12s,background-color .12s;display:block;position:relative}.upload-drop:hover{border-color:#1c8a6459}.upload-drop:focus-within{border-color:#1c8a6480;box-shadow:0 0 0 3px #1c8a641f}.upload-drop-ready{background:linear-gradient(#ffffffeb,#f3faf3f2);border-style:solid;border-color:#1c8a6459}.file-input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-title{font-size:13px;font-weight:700;line-height:1.2;display:block}.upload-subtitle{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.2;display:block}.image-preview-wrap{border:1px solid var(--line);background:#ffffffd9;border-radius:14px;margin-top:10px;padding:8px}.image-preview{object-fit:contain;background:linear-gradient(#f8fbf5,#eef4e8);border-radius:10px;width:100%;max-height:220px;display:block}.palette-list{gap:8px;max-height:340px;padding-right:2px;display:grid;overflow:auto}.palette-row{border:1px solid var(--line);background:#ffffffd1;border-radius:13px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.palette-swatch{border:1px solid #0000001f;border-radius:9px;width:30px;height:30px;box-shadow:inset 0 0 0 1px #ffffff47}.palette-meta{min-width:0}.palette-name{font-size:13px;font-weight:700;line-height:1.2;display:block}.palette-code{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;display:block;overflow:hidden}.palette-index{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.palette-empty{border:1px dashed var(--line-strong);color:var(--muted);background:#f8fcf2cc;border-radius:12px;padding:11px;font-size:12px}@media (width<=420px){.hero h1{font-size:25px}.button-row,.toolbar{grid-template-columns:1fr}.preset-grid{grid-template-columns:1fr 1fr}}
