/* SolaimanLipi is loaded as a web font; fallback if the external CDN is blocked. */
@font-face{font-family:'SolaimanLipi';src:url('https://cdn.jsdelivr.net/gh/qnabangla/font-solaimanlipi@main/SolaimanLipi.woff2') format('woff2'),url('https://cdn.jsdelivr.net/gh/qnabangla/font-solaimanlipi@main/SolaimanLipi.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap;}
:root{--main:#194bb5;--navy:#142349;--muted:#667085;--border:#e8ebf3}*{box-sizing:border-box}body{font-family:'SolaimanLipi','Noto Sans Bengali',system-ui,sans-serif;background:linear-gradient(180deg,#eff6ff 0%,#fff 48%);color:var(--navy);min-height:100vh}.site-nav{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 14px #172c5108}.navbar-brand{color:var(--navy);font-size:1.15rem}.navbar-brand small{font-size:.67rem;color:#65748c;letter-spacing:.02em}.hero-chip{display:inline-block;padding:7px 16px;background:#fff1e2;color:#cb601a;border-radius:99px;font-weight:700;font-size:.85rem}.hero h1{font-weight:800;font-size:clamp(1.7rem,4vw,2.8rem);margin:13px 0}.hero h1 span{color:var(--main)}.hero p{color:var(--muted);max-width:660px;margin:auto}.editor-card{border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 35px #27365a12;background:#fff}.canvas-wrap{position:relative;max-width:560px;width:100%;margin:auto;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px #e5e7eb;background:repeating-conic-gradient(#f1f4f8 0% 25%,white 0% 50%) 50% / 24px 24px;touch-action:none;cursor:grab}.canvas-wrap.dragging{cursor:grabbing}.canvas-wrap canvas{width:100%;height:auto;display:block;aspect-ratio:1;touch-action:none}.canvas-hint{pointer-events:none;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;text-align:center;width:78%;gap:5px;color:#44516b;text-shadow:0 1px #fff}.canvas-hint small{font-size:.8rem}.hint-icon{font-size:2.4rem}.canvas-hint.hidden{display:none}.upload-button{border-radius:12px;padding:11px;font-weight:700;cursor:pointer}.btn-success{background:#17834c;border-color:#17834c;border-radius:12px;font-weight:700}.btn-outline-secondary{border-radius:12px}.frame-choice{display:block;width:100%;border:2px solid #ebedf5;background:#fff;border-radius:14px;padding:8px;color:var(--navy);text-align:center;transition:all .18s}.frame-choice:hover,.frame-choice.active{border-color:var(--main);background:#f0f6ff;box-shadow:0 2px 10px #194bb522}.frame-thumbnail{display:block;aspect-ratio:1;background:repeating-conic-gradient(#f1f4f8 0% 25%,white 0% 50%) 50%/16px 16px;border-radius:9px;overflow:hidden}.frame-thumbnail img{width:100%;height:100%;object-fit:contain}.frame-label{display:block;padding-top:8px;font-weight:700;font-size:.81rem;overflow-wrap:anywhere}.steps-card{background:#eef5ff;border:1px solid #d7e8ff;border-radius:18px;padding:20px;font-size:.89rem;color:#43506c}#statusMessage.error{color:#c12b2b}#statusMessage.success{color:#167446}.auth-card{max-width:470px;margin:6vh auto 0}.admin-card{border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 30px #27365a10}.admin-thumbs{height:76px;width:76px;object-fit:contain;background:#eef2f6;border-radius:8px}.table td{vertical-align:middle}button:focus-visible,.frame-choice:focus-visible{outline:3px solid #ffad37;outline-offset:2px}@media(max-width:575px){.hero{margin-top:20px!important}.editor-card{padding:15px!important}.canvas-hint{font-size:.8rem}.hero p{font-size:.9rem}}

body,button,input,select,textarea,.btn,.form-control,.form-label,.badge,.navbar{font-family:'SolaimanLipi','Noto Sans Bengali',sans-serif;}
/* V1.3: modern responsive editor and management console */
:root{--main:#2353be;--navy:#152748;--border:#e4e9f4}
body{background:linear-gradient(150deg,#eef5ff 0%,#f7faff 36%,#ffffff 76%)}
.site-nav{position:relative;z-index:2}
.hero{padding:14px 0}
.hero h1{letter-spacing:-.025em}
.editor-card,.admin-card{box-shadow:0 18px 50px rgba(23,45,86,.08);border-radius:22px}
.tools-panel{background:#f5f8ff;border:1px solid #e2eaf9;border-radius:16px;padding:18px}
.tools-panel .form-range{cursor:pointer}
.canvas-wrap{border-radius:22px;box-shadow:0 14px 38px #1d346229}
.frame-choice.active{transform:translateY(-2px);box-shadow:0 8px 25px #2353be25}
.dashboard-kicker{display:inline-block;color:#2759c3;font:700 .75rem/1.5 system-ui,sans-serif;letter-spacing:.11em}
.dashboard-version{border:1px solid #cad8f5;border-radius:30px;background:#eaf2ff;color:#2b54af;padding:10px 15px;font-size:.85rem;font-weight:700}
.metric-card{background:white;border:1px solid var(--border);border-radius:19px;padding:20px 24px;min-height:155px;box-shadow:0 9px 28px #294b7810}
.metric-icon{width:41px;height:41px;border-radius:13px;display:grid;place-items:center;font-size:1.35rem;font-family:system-ui;font-weight:800;margin-bottom:12px}
.metric-icon.blue{background:#e9efff;color:#2c56c0}.metric-icon.green{background:#e4f8eb;color:#218652}.metric-icon.orange{background:#fff1dd;color:#b6781f}
.metric-number{font:800 1.85rem/1.1 system-ui,sans-serif;color:#172a4d}.metric-title{color:#63738e;font-size:.9rem;margin-top:7px}
.section-icon{display:grid;place-items:center;border-radius:12px;width:43px;height:43px;background:#edf4ff;font-size:1.4rem;margin-bottom:13px}
.admin-upload-preview,.preview-checker,.admin-frame-art{background:repeating-conic-gradient(#e9ecf2 0 25%,#fff 0 50%) 0 0/20px 20px}
.admin-upload-preview{min-height:165px;border:1px dashed #b9c9e2;border-radius:14px;display:grid;place-items:center;text-align:center;color:#67758d;padding:12px;font-size:.9rem}
.admin-upload-preview img{max-height:220px;max-width:100%;object-fit:contain}
.admin-upload-preview img[hidden],.admin-upload-preview span[hidden]{display:none}
.admin-frame-list{display:flex;flex-direction:column;gap:12px}
.admin-frame-row{display:flex;gap:14px;align-items:center;padding:13px;border:1px solid #e7edf7;border-radius:15px;background:#fff}
.admin-frame-art{border-radius:11px;overflow:hidden;flex:0 0 90px;width:90px;height:90px}
.admin-frame-art img{width:100%;height:100%;object-fit:contain}
.admin-frame-meta{min-width:0;flex:1}.admin-frame-meta h3{overflow-wrap:anywhere}
.admin-frame-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:88px}
.preview-checker{border-radius:14px;overflow:hidden;max-width:440px;margin:auto}
.preview-checker img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:575px){.metric-card{padding:15px;min-height:145px}.admin-frame-row{flex-wrap:wrap}.admin-frame-meta{flex-basis:calc(100% - 106px)}.admin-frame-actions{width:100%;flex-direction:row}.admin-frame-actions>*,.admin-frame-actions form{flex:1}.admin-frame-actions button{width:100%}.tools-panel{padding:13px}.dashboard-version{font-size:.75rem}}
