@font-face{font-family:Estedad;src:url(/fonts/Estedad-Thin.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-ExtraLight.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-ExtraBold.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Estedad;src:url(/fonts/Estedad-Black.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/Vazir-Thin-FD.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/Vazir-Light-FD.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/Vazir-FD.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/Vazir-Medium-FD.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/Vazir-Bold-FD.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IranNastaliq;src:url(/fonts/IranNastaliq.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}.er{font-family:var(--font-rubik),sans-serif;background:var(--background);color:var(--foreground);direction:rtl;flex-direction:column;min-height:100vh;display:flex}.er-hdr{border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--background)92%,transparent);backdrop-filter:blur(14px);z-index:50;justify-content:space-between;align-items:center;padding:13px 22px;display:flex;position:sticky;top:0}.er-logo{letter-spacing:.08em;color:var(--primary);font-size:1rem;font-weight:800}.er-hdr-r{align-items:center;gap:12px;display:flex}.dim-badge{color:var(--foreground);background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);letter-spacing:.02em;white-space:nowrap;direction:ltr;padding:3px 10px;font-size:.72rem}.dim-ratio{color:var(--muted-foreground)}.drag-hint{color:var(--muted-foreground);font-size:.65rem}.dl-btn{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);border-radius:var(--radius-md);cursor:pointer;padding:9px 20px;font-family:inherit;font-size:.82rem;font-weight:700;transition:opacity .2s,transform .15s,box-shadow .15s}.dl-btn:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-1px)}.dl-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.dl-btn--ld{opacity:.55;cursor:not-allowed}.er-body{flex-wrap:wrap;flex:1;align-items:flex-start;gap:18px;padding:20px;display:flex}.cv-wrap{direction:ltr;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:260px;display:flex;position:relative}.cv-wrap canvas{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-2xl);user-select:none;max-width:100%;display:block}.cv-badge{color:var(--muted-foreground);direction:rtl;font-size:.63rem}.ctrl{flex-direction:column;flex-shrink:0;gap:14px;width:300px;display:flex}.sec{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.sec-ttl{color:var(--muted-foreground);font-size:.72rem;font-weight:700}.sec-sub{color:var(--muted-foreground);font-size:.7rem}.tag{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin-left:5px;padding:1px 5px;font-size:.6rem}.plat-tabs{flex-wrap:wrap;gap:5px;display:flex}.plat-tab{background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:5px 9px;font-family:inherit;font-size:.68rem;transition:all .15s}.plat-tab:hover{color:var(--foreground);border-color:var(--ring);background:var(--accent)}.plat-tab--on{background:var(--accent);font-weight:700}.plat-badge{border-radius:var(--radius-sm);letter-spacing:.02em;border:1px solid;margin-left:5px;padding:1px 6px;font-size:.6rem;font-weight:700}.preset-list{flex-direction:column;gap:5px;max-height:200px;display:flex;overflow-y:auto}.preset-list::-webkit-scrollbar{width:4px}.bg-grid::-webkit-scrollbar{width:4px}.preset-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.bg-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.preset-card{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:right;color:var(--foreground);align-items:center;gap:10px;width:100%;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.preset-card:hover{border-color:var(--primary);background:var(--accent)}.preset-card--on{background:var(--accent);border-color:var(--primary)!important}.preset-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.preset-info{flex-direction:column;flex:1;display:flex}.preset-name{color:var(--foreground);font-size:.78rem}.preset-dim{color:var(--muted-foreground);text-align:right;direction:ltr;font-size:.62rem}.preset-ratio-vis{direction:ltr;flex-shrink:0;justify-content:flex-start;align-items:center;width:44px;display:flex}.ratio-box{border:1px solid var(--border);background:color-mix(in oklab,var(--primary)15%,transparent);border-radius:2px;min-width:6px;min-height:6px}.bg-search{background:var(--background);border:1px solid var(--input);color:var(--foreground);border-radius:var(--radius-sm);outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:.78rem;transition:border-color .18s}.bg-search::placeholder{color:var(--muted-foreground)}.bg-search:focus{border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in oklab,var(--ring)20%,transparent)}.bg-grid{grid-template-columns:repeat(6,1fr);gap:5px;max-height:140px;display:grid;overflow-y:auto}.bg-sw{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;color:#ffffffb3;border:2px solid #0000;justify-content:center;align-items:center;width:100%;font-size:.48rem;font-weight:700;transition:transform .13s,border-color .13s,box-shadow .13s;display:flex}.bg-sw:hover{transform:scale(1.08)}.bg-sw--on{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--primary)35%,transparent)}.fld{flex-direction:column;flex:1;gap:4px;display:flex}.fld-sm{max-width:72px}.fld label{color:var(--muted-foreground);letter-spacing:.02em;font-size:.63rem}.row2{align-items:flex-end;gap:8px;display:flex}.er input[type=text],.er input[type=number],.er select,.er textarea{background:var(--background);border:1px solid var(--input);color:var(--foreground);border-radius:var(--radius-sm);outline:none;width:100%;padding:7px 9px;font-family:inherit;font-size:.8rem;transition:border-color .18s,box-shadow .18s}.er input::placeholder,.er textarea::placeholder{color:var(--muted-foreground)}.er input:focus,.er select:focus,.er textarea:focus{border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in oklab,var(--ring)20%,transparent)}.er textarea{resize:vertical;min-height:54px}.er input[type=range]{-webkit-appearance:none;appearance:none;background:var(--border);cursor:pointer;border:none;border-radius:2px;height:4px;padding:0}.er input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary);border:2px solid var(--background);width:14px;height:14px;box-shadow:0 0 0 1px var(--primary);cursor:pointer;border-radius:50%}.er input[type=range]::-moz-range-thumb{background:var(--primary);border:2px solid var(--background);cursor:pointer;border-radius:50%;width:12px;height:12px}.aln-btns{gap:4px;display:flex}.aln-btns button{background:var(--background);border:1px solid var(--border);color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:6px 5px;font-family:inherit;font-size:.72rem;transition:all .13s}.aln-btns button:hover{color:var(--foreground);border-color:var(--ring)}.aln-btns button.on{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.toggle{cursor:pointer;user-select:none;color:var(--foreground);align-items:center;gap:6px;font-size:.8rem;display:flex}.toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);cursor:pointer}.clr-row{direction:ltr;justify-content:flex-end;align-items:center;gap:8px;display:flex}.clr-swatch{border-radius:var(--radius-sm);border:2px solid var(--border);cursor:pointer;flex-shrink:0;width:32px;height:32px;transition:border-color .15s}.clr-swatch:hover{border-color:var(--primary)}.clr-hex{color:var(--muted-foreground);font-size:.74rem;font-family:var(--font-mono),monospace}.cp-popup{z-index:200;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:220px;padding:12px;position:absolute;top:40px;left:auto;right:0}.cp-root{direction:ltr;flex-direction:column;gap:9px;display:flex}.cp-sv{border-radius:var(--radius-sm);cursor:crosshair;user-select:none;width:100%;height:128px;position:relative;overflow:hidden}.cp-sv-w{background:linear-gradient(90deg,#fff,#0000);position:absolute;inset:0}.cp-sv-b{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cp-cur{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.cp-hue{cursor:pointer;user-select:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:7px;height:14px;position:relative}.cp-hue-t{pointer-events:none;background:0 0;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:-2px;transform:translate(-50%);box-shadow:0 0 0 1px #00000080}.cp-hex-row{align-items:center;gap:8px;display:flex}.cp-prev{border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0;width:28px;height:28px}.cp-hex-in{background:var(--background);border:1px solid var(--input);color:var(--foreground);border-radius:var(--radius-sm);font-family:var(--font-mono),monospace;direction:ltr;outline:none;flex:1;padding:5px 8px;font-size:.78rem}.cp-hex-in:focus{border-color:var(--ring)}.cp-pal{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.cp-pb{aspect-ratio:1;cursor:pointer;border:1px solid #ffffff1a;border-radius:3px;width:100%;transition:transform .12s}.cp-pb:hover{transform:scale(1.18)}.pos-row{color:var(--muted-foreground);direction:ltr;align-items:center;gap:10px;font-size:.7rem;display:flex}.pos-reset{background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;direction:rtl;margin-left:0;margin-right:auto;padding:3px 8px;font-family:inherit;font-size:.67rem;transition:color .15s,border-color .15s,background .15s}.pos-reset:hover{color:var(--primary);border-color:var(--primary);background:var(--accent)}@media (max-width:760px){.er-hdr{padding:11px 14px}.er-hdr-r{gap:7px}.drag-hint{display:none}.dim-badge{font-size:.65rem}.dl-btn{padding:8px 12px}.er-body{flex-direction:column;padding:12px}.ctrl{width:100%}.bg-grid{grid-template-columns:repeat(8,1fr)}.preset-list{max-height:160px}}
