:root{font-family:Inter,Arial,"Noto Sans Devanagari",sans-serif;color:#17243c;background:#f4f7fc;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1160px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid #dbe2ef}a{color:#1648be;text-underline-offset:4px}nav{display:flex;gap:24px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#17243c;font-weight:800;font-size:24px}.mark{background:#1447d4;color:white;border-radius:9px;padding:0 10px}main{padding:30px 28px}.intro{margin-bottom:28px}h1{font-size:clamp(26px,3.5vw,40px);line-height:1.35;margin:10px 0}h1 span{font-weight:500;color:#4f6180;font-size:.8em}.eyebrow,.step{font-size:12px;font-weight:800;letter-spacing:1.6px;color:#34598e}.workspace{display:grid;grid-template-columns:410px 1fr;gap:24px;align-items:start}.panel{border:1px solid #d5dfef;border-radius:18px;background:white;padding:24px;box-shadow:0 6px 20px #1b3b7010}.step{margin-bottom:16px}.modes{display:flex;background:#edf2fc;border-radius:10px;padding:4px;gap:4px}.modes button{flex:1;border:0}.modes button[aria-pressed=true]{background:#1447d4;color:white}.upload{margin:20px 0 0;display:block;padding:20px 14px;background:#f1f5ff;border:1px dashed #7394d7;border-radius:10px}.upload span{display:block;font-size:14px;color:#4f6180}input[type=file]{max-width:100%;font-size:14px;margin-top:12px}label{display:block;font-size:14px;font-weight:650;margin-bottom:13px}input:not([type=file]):not([type=range]),select{display:block;width:100%;font:inherit;font-size:16px;background:white;border:1px solid #91a0b8;border-radius:7px;padding:10px;margin-top:5px;color:#17243c}input[type=range]{display:block;width:100%;accent-color:#1447d4;min-height:24px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small{font-size:13px;color:#53617a}.actions{margin:15px 0}button,.primary{font:inherit;font-size:14px;font-weight:700;border:1px solid #aab8ce;background:#fff;color:#17345c;border-radius:8px;min-height:44px;padding:10px;cursor:pointer}button:hover{background:#e7eeff}.primary{display:block;background:#1447d4;color:white;border:0;text-align:center;width:100%;text-decoration:none}.primary:hover{background:#103bb2}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid #ed9700;outline-offset:3px}.stage{min-height:340px;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#eef2f7 0 25%,#f8faff 0 50%) 0/24px 24px;border-radius:10px;padding:20px;text-align:center}#empty{color:#526581}.frame-icon{font-size:70px;line-height:1}h2{font-size:22px;line-height:1.4}canvas{max-width:100%;max-height:390px;object-fit:contain;box-shadow:0 3px 15px #24354a22}#status{background:#eef3fd;border-left:3px solid #1447d4;padding:13px;margin-top:20px;overflow-wrap:anywhere}#status.error{background:#fff0ef;border-color:#b3261e;color:#8e201a}#result{border-top:1px solid #dbe2ef;margin-top:22px;padding-top:10px}#output{max-width:100%;max-height:260px;object-fit:contain;border:1px solid #d5dfef}aside{font-size:14px;margin-top:24px;color:#52617c}aside p{margin-bottom:0}.help{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;padding:40px 0;border-bottom:1px solid #d5dfef}.help li{margin-bottom:14px;padding-left:7px}.faq{max-width:850px;padding:22px 0}details{border-bottom:1px solid #d5dfef;padding:16px 0}summary{cursor:pointer;font-weight:650}footer{display:flex;flex-wrap:wrap;gap:24px;padding:25px 28px;font-size:14px;border-top:1px solid #d5dfef}footer span{margin-right:auto}.article{max-width:800px}.article section{margin:30px 0}.article h1{font-size:36px}[hidden]{display:none!important}@media(max-width:800px){.workspace{grid-template-columns:1fr}.help{grid-template-columns:1fr;gap:0}header{align-items:flex-start;padding:16px;gap:16px}nav{gap:12px;flex-wrap:wrap;font-size:14px}main{padding:22px 16px}.panel{padding:18px}.stage{min-height:250px}footer{padding:20px 16px}.intro p{font-size:15px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s}}
.workspace>*,.two>*,input,select{min-width:0}.upload{overflow-wrap:anywhere}input[type=file]{width:100%}@media(max-width:360px){header{flex-wrap:wrap}nav{width:100%;justify-content:space-between}.modes button{padding:8px 4px;font-size:13px}.two{gap:8px}}
