@font-face{font-family:Dana;src:url("assets/fonts/dana-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Dana;src:url("assets/fonts/dana-medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Dana;src:url("assets/fonts/dana-demibold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Dana;src:url("assets/fonts/dana-bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --bg:#f4f1ea;
  --surface:rgba(255,255,255,.88);
  --surface-solid:#fff;
  --ink:#252821;
  --muted:#777a70;
  --line:#e2dfd7;
  --accent:#33463a;
  --accent-2:#78947f;
  --accent-soft:#edf2ed;
  --danger:#9a4e36;
  --shadow:0 18px 55px rgba(44,48,39,.09);
  --radius:24px;
}

*{box-sizing:border-box}
html{min-width:320px;scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Dana,"Vazirmatn",Tahoma,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,label,input[type="range"]{touch-action:manipulation}
button{color:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ambient{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}
.ambient-one{width:380px;height:380px;top:-160px;right:-100px;background:radial-gradient(circle,rgba(177,196,180,.38),transparent 68%)}
.ambient-two{width:450px;height:450px;bottom:-230px;left:-130px;background:radial-gradient(circle,rgba(215,198,168,.28),transparent 68%)}

.topbar{height:92px;max-width:1540px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand-mark{width:48px;height:48px;border-radius:15px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 8px 24px rgba(51,70,58,.08)}
.brand-mark img{width:34px;height:28px;object-fit:contain}
.brand strong,.brand small{display:block}
.brand strong{font-size:15px;font-weight:700}
.brand small{font-size:11px;color:var(--muted);margin-top:1px}
.privacy-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(115,143,122,.28);border-radius:999px;background:rgba(255,255,255,.56);font-size:11px;color:#526158}
.privacy-dot{width:7px;height:7px;border-radius:50%;background:#73a27d;box-shadow:0 0 0 4px rgba(115,162,125,.12)}

.workspace{max-width:1540px;margin:0 auto;padding:0 32px 32px;display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:24px;align-items:start}
.editor-card,.preview-area{border:1px solid rgba(218,215,206,.95);background:var(--surface);box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.editor-card{border-radius:var(--radius);padding:24px;max-height:calc(100vh - 124px);overflow:auto;scrollbar-width:thin;scrollbar-color:#cbc8bf transparent}
.editor-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.eyebrow{display:block;color:var(--accent-2);font-weight:700;font-size:10px;letter-spacing:.04em;margin-bottom:5px}
h1{font-size:21px;line-height:1.5;margin:0;font-weight:700;letter-spacing:-.02em}
.step-badge{direction:ltr;min-width:40px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700}
.intro{margin:8px 0 19px;color:var(--muted);font-size:12px;line-height:1.8}

.control-section{border-top:1px solid var(--line)}
.section-toggle{width:100%;border:0;background:none;padding:16px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;font-size:13px}
.section-toggle span{display:flex;align-items:center;gap:9px}
.section-toggle b{font-size:10px;color:var(--accent-2);font-weight:600;direction:ltr}
.section-toggle svg{width:17px;height:17px;transition:transform .2s ease;color:#999c92}
.control-section.open .section-toggle svg{transform:rotate(180deg)}
.section-body{display:none;padding:0 0 18px}
.control-section:not(.open) .section-body{display:none!important}
.control-section.open .section-body{display:block;animation:reveal .22s ease both}
.control-section.open .section-body.advanced-grid{display:grid}
@keyframes reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.dropzone{position:relative;min-height:82px;border:1px dashed #c8cec5;border-radius:16px;background:#fafbf8;display:flex;align-items:center;gap:12px;padding:13px;cursor:pointer;transition:.2s ease}
.dropzone:hover,.dropzone.dragover{border-color:var(--accent-2);background:var(--accent-soft);transform:translateY(-1px)}
.dropzone input,.logo-upload input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.upload-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:var(--accent);background:#fff;border:1px solid var(--line)}
.upload-icon svg{width:21px;height:21px}
.drop-copy{min-width:0;display:block;flex:1}
.drop-copy strong,.drop-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop-copy strong{font-size:12px;font-weight:600}
.drop-copy small{margin-top:4px;font-size:9px;color:var(--muted)}
.choose-button,.empty-button{border-radius:9px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;padding:8px 11px}
.format-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:13px}
.format-option{position:relative;display:block;cursor:pointer}
.format-option input{position:absolute;opacity:0;inset:0;cursor:pointer}
.format-option span{display:block;padding:10px 7px;border-radius:11px;border:1px solid var(--line);background:#fff;text-align:center;transition:.2s ease}
.format-option strong,.format-option small{display:block}.format-option strong{font-size:11px;font-weight:600}.format-option small{margin-top:2px;color:var(--muted);font-size:8px;direction:ltr}
.format-option input:checked+span{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 7px 16px rgba(51,70,58,.13)}
.format-option input:checked+span small{color:rgba(255,255,255,.72)}

.field-grid,.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.field{display:block;min-width:0}
.field-wide{grid-column:1/-1}
.field>span{display:block;margin:0 2px 6px;font-size:10px;color:var(--muted)}
.field input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:12px;outline:0;transition:.2s ease}
.field input:focus{border-color:#91a397;box-shadow:0 0 0 3px rgba(120,148,127,.12)}
.logo-upload{position:relative;margin-top:13px;border:1px solid var(--line);border-radius:13px;padding:9px 10px;display:flex;align-items:center;gap:10px;cursor:pointer;background:#fff}
.logo-thumb{width:40px;height:40px;border-radius:9px;background:#f2f1ed;display:grid;place-items:center;overflow:hidden}
.logo-thumb img{width:34px;height:28px;object-fit:contain}
.logo-upload>span:nth-of-type(2){flex:1}
.logo-upload strong,.logo-upload small{display:block}
.logo-upload strong{font-size:11px}
.logo-upload small{font-size:9px;color:var(--muted);margin-top:2px}
.logo-upload>svg{width:17px;height:17px;color:#9a9d94}

.range-list{display:grid;gap:15px}
.range-control{display:block}
.range-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-bottom:7px;color:#55584f}
.range-head output{direction:ltr;color:var(--accent);font-size:10px;font-weight:600}
input[type="range"]{--fill:0%;appearance:none;-webkit-appearance:none;width:100%;height:4px;border-radius:999px;background:linear-gradient(to left,var(--accent) var(--fill),#dedfd9 var(--fill));outline:0;cursor:pointer}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--accent);box-shadow:0 2px 5px rgba(0,0,0,.15)}
input[type="range"]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:#fff;border:4px solid var(--accent);box-shadow:0 2px 5px rgba(0,0,0,.15)}
.drag-hint{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:11px;background:#f5f5f1;color:var(--muted);font-size:9px;line-height:1.7}
.drag-hint svg{width:16px;height:16px;flex:0 0 auto;color:var(--accent-2)}
.advanced-grid{margin-top:0}
.switch-row{display:flex;align-items:center;gap:10px;position:relative;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px}
.switch-row>span{flex:1}
.switch-row strong,.switch-row small{display:block}
.switch-row strong{font-size:11px}.switch-row small{font-size:9px;color:var(--muted);margin-top:2px}
.switch-row input{position:absolute;opacity:0}
.switch-row i{width:36px;height:20px;border-radius:999px;background:#d5d6d0;position:relative;transition:.2s}
.switch-row i:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:3px;right:3px;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch-row input:checked+i{background:var(--accent)}
.switch-row input:checked+i:after{transform:translateX(-16px)}

.editor-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.button{border:0;border-radius:12px;height:46px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;cursor:pointer;transition:.2s ease}
.button svg{width:17px;height:17px}
.button.primary{background:var(--accent);color:#fff;box-shadow:0 9px 22px rgba(51,70,58,.18)}
.button.primary:hover:not(:disabled){background:#293a2f;transform:translateY(-1px)}
.button.secondary{background:#eeede8;color:#55584f}
.button.secondary:hover{background:#e5e4dd}
.button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}

.preview-area{min-width:0;border-radius:var(--radius);padding:18px;min-height:calc(100vh - 124px);display:flex;flex-direction:column}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 3px 14px;font-size:11px;color:#565a51}
.preview-toolbar>div{display:flex;align-items:center;gap:8px}
.live-dot{width:7px;height:7px;border-radius:50%;background:#77a282;box-shadow:0 0 0 4px rgba(119,162,130,.12)}
.canvas-meta{direction:ltr!important;gap:6px!important}
.canvas-meta span{padding:5px 8px;border-radius:7px;background:#f0f0eb;color:#74776e;font-size:9px}
.canvas-stage{flex:1;min-height:0;display:grid;place-items:center;border-radius:18px;background-color:#e8e7e1;background-image:linear-gradient(45deg,#deddd7 25%,transparent 25%),linear-gradient(-45deg,#deddd7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#deddd7 75%),linear-gradient(-45deg,transparent 75%,#deddd7 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;padding:16px;overflow:hidden}
.canvas-shell{position:relative;flex:none;border-radius:13px;overflow:hidden;box-shadow:0 16px 40px rgba(27,31,26,.16);background:#f7f6f1}
canvas{display:block;width:100%;height:100%;background:#eeece6;cursor:grab;touch-action:none}
canvas.dragging{cursor:grabbing}
canvas.element-hover{cursor:move}
canvas:focus-visible{outline:3px solid rgba(120,148,127,.72);outline-offset:-3px}
.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;background:radial-gradient(circle at 50% 42%,#fff 0,#f6f4ee 72%);cursor:pointer;color:#565a51}
.empty-state.hidden{display:none}
.empty-art{width:70px;height:70px;border-radius:22px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;margin-bottom:6px;box-shadow:0 10px 26px rgba(51,70,58,.08)}
.empty-art svg{width:36px;height:36px;color:#87968b;stroke-width:1.4}
.empty-state strong{font-size:14px}.empty-state small{font-size:10px;color:var(--muted)}
.empty-button{margin-top:10px;padding:9px 16px}
.status-bar{margin-top:13px;min-height:54px;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:13px;border:1px solid var(--line);background:#fafaf7}
.status-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent)}
.status-icon svg{width:17px;height:17px}
.status-bar>span:last-child{min-width:0}
.status-bar strong,.status-bar small{display:block}
.status-bar strong{font-size:10px}.status-bar small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-bar.warning .status-icon{background:#f7eee8;color:var(--danger)}
.toast{position:fixed;bottom:24px;left:50%;z-index:20;transform:translate(-50%,20px);padding:11px 16px;border-radius:12px;background:#272c27;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:11px;opacity:0;pointer-events:none;transition:.25s ease}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (min-width:981px){
  .workspace{height:calc(100vh - 92px);padding-bottom:20px;align-items:stretch}
  .preview-area{height:100%;min-height:0;position:sticky;top:0}
  .canvas-stage{height:0}
}

@media (max-width:980px){
  .topbar{height:78px;padding:14px 18px}.workspace{padding:0 18px 24px;grid-template-columns:1fr}.preview-area{order:-1;min-height:auto}.canvas-stage{height:min(70vw,610px);min-height:0}.editor-card{max-height:none}.privacy-pill{display:none}
}
@media (max-width:560px){
  .topbar{padding:12px}.workspace{padding:0 10px 16px;gap:12px}.brand-mark{width:42px;height:42px}.preview-area{padding:10px;border-radius:18px}.canvas-stage{height:calc(100vw - 40px);min-height:0;padding:8px;border-radius:13px}.canvas-shell{border-radius:9px}.status-bar{display:none}.editor-card{padding:18px;border-radius:18px}.field-grid,.advanced-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.editor-actions{position:sticky;bottom:-18px;background:linear-gradient(transparent 0,#fff 22%);padding-top:26px;padding-bottom:3px;z-index:2}.drop-copy small{display:none}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
