
.essential-page{background:linear-gradient(180deg,#fbfcfe,#f4f7fb);color:#19304d}
.essential-shell{padding:28px 0 64px}
.essential-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center;padding:34px 38px;border:1px solid #dbe6f1;border-radius:24px;background:radial-gradient(circle at 88% 16%,rgba(61,138,237,.17),transparent 28%),linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 18px 48px rgba(39,75,118,.10)}
.essential-kicker{color:#3679c7;font-size:10px;font-weight:900;letter-spacing:.13em}
.essential-hero h1{margin:8px 0 10px;font-family:Georgia,serif;font-size:50px;letter-spacing:-1.6px;color:#18375c}
.essential-hero p{margin:0;color:#617187;font-size:17px;line-height:1.6}
.essential-art{display:grid;place-items:center;font-size:100px;filter:drop-shadow(0 18px 22px rgba(48,77,117,.16))}
.tool-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:18px;margin-top:20px}
.tool-panel{padding:22px;border:1px solid #dfe7f0;border-radius:20px;background:#fff;box-shadow:0 11px 30px rgba(36,66,104,.07)}
.tool-panel h2{margin-top:0;color:#1d416a}.tool-panel p{color:#66768a;font-size:13px;line-height:1.55}
.field{margin:13px 0}.field label{display:block;margin-bottom:6px;color:#5e7085;font-size:12px;font-weight:800}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #d8e2ed;border-radius:11px;background:#fff;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#4b91df;box-shadow:0 0 0 3px rgba(75,145,223,.11)}
.primary-action{width:100%;border:0;border-radius:11px;background:#3478cf;color:#fff;padding:13px 17px;font-weight:800;cursor:pointer}
.secondary-action{width:100%;margin-top:9px;border:1px solid #cedbea;border-radius:11px;background:#fff;color:#2f629a;padding:11px;font-weight:800;cursor:pointer}
.result-box{min-height:180px;padding:16px;border:1px dashed #c9d6e5;border-radius:15px;background:#f9fbfd;color:#617186;overflow:auto}
.result-box strong{color:#264c77}.result-box pre{white-space:pre-wrap;word-break:break-word;margin:0}
.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:12px;border:1px solid #e2e8ef;border-radius:12px;background:#fff}.metric span{display:block;color:#778395;font-size:10px}.metric strong{display:block;margin-top:4px;color:#284e78}
.preview-canvas{max-width:100%;display:block;margin:auto;border-radius:12px}.drop-zone{min-height:190px;display:grid;place-items:center;border:1.5px dashed #b9cce1;border-radius:16px;background:#f8fbff;text-align:center;cursor:pointer}.drop-zone input{display:none}
.swatch{height:160px;border-radius:16px;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.palette button{height:58px;border:0;border-radius:10px;cursor:pointer}
.password-display{padding:17px;border-radius:14px;background:#102037;color:#eaf4ff;font-family:monospace;font-size:20px;word-break:break-all}
.strength-track{height:8px;border-radius:99px;background:#e5e9ef;overflow:hidden;margin-top:10px}.strength-fill{height:100%;width:0;background:#3478cf;transition:.2s}
.split-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.markdown-output{min-height:300px;padding:16px;border:1px solid #e0e7ef;border-radius:12px;background:#fff}.markdown-output h1,.markdown-output h2,.markdown-output h3{color:#18375c}.markdown-output code{background:#eef3f8;padding:2px 5px;border-radius:5px}
.qr-image,.barcode-svg{max-width:100%;display:block;margin:12px auto;background:#fff;padding:10px;border-radius:12px}
.notice{margin-top:12px;padding:12px;border-radius:12px;background:#fff8e8;color:#7a5a16;font-size:12px}
@media(max-width:900px){.essential-hero{grid-template-columns:1fr}.essential-art{display:none}.tool-workspace{grid-template-columns:1fr}}
@media(max-width:650px){.essential-hero{padding:28px 22px}.essential-hero h1{font-size:40px}.split-preview{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}}

/* UsefulFox image compressor drag/drop state */
.drop-zone.is-dragging{outline:3px solid rgba(249,115,22,.28);background:rgba(249,115,22,.06)}
