
:root{
	--bg:#0f1720;
	--card:#071427;
	--accent:#06b6d4;
	--muted:#94a3b8;
	--glass: rgba(255,255,255,0.03);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#041025,#071427);color:#e6eef6;-webkit-font-smoothing:antialiased}
.container{max-width:820px;margin:18px auto;padding:16px}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.015));border-radius:16px;padding:14px;box-shadow:0 8px 30px rgba(2,6,23,0.6);border:1px solid rgba(255,255,255,0.03)}
.card-head{padding:6px 4px 12px}
.card-head h1{margin:0;font-size:1.25rem;font-weight:700}
.subtitle{margin:6px 0 0;color:var(--muted);font-size:0.95rem}
.upload-label{display:block;margin-top:12px;padding:14px;border-radius:12px;text-align:center;font-weight:600;color:var(--accent);border:1px dashed rgba(6,182,212,0.12);background:var(--glass)}
.upload-label input{display:none}
.upload-inner{padding:6px 8px}
.image-wrap{max-height:60vh;overflow:hidden;border-radius:12px;margin-top:12px;background:#02101a;display:flex;align-items:center;justify-content:center}
.crop-image{max-width:100%;height:auto;display:block}
.preview{margin-top:8px}
.controls{display:flex;gap:10px;margin-top:12px}
.controls.single{justify-content:center}
button{padding:12px 14px;border-radius:12px;border:0;font-weight:700;color:#042a30;background:var(--accent);box-shadow:0 6px 18px rgba(6,182,212,0.12);display:inline-flex;align-items:center}
.primary{background:linear-gradient(90deg,var(--accent),#28d1e2);color:#012028}
.primary:disabled{opacity:0.5}
.hint{font-size:0.85rem;color:var(--muted);text-align:center;margin-top:12px}
.result{margin-top:16px;background:linear-gradient(90deg,rgba(255,255,255,0.02),transparent);padding:12px;border-radius:12px}
#result-img{width:100%;height:auto;border-radius:8px;border:2px solid rgba(255,255,255,0.04);margin-top:8px}
pre{background:transparent;color:#cfeff6;padding:10px;border-radius:8px;overflow:auto;margin-top:8px}

@media(min-width:640px){.container{padding:24px}.card-head h1{font-size:1.45rem}}
