:root{--bg:#f8f9fa;--paper:#ffffff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--gold:#374151;--soft:#f3f4f6;--radius:16px;font-family:'Thmanyah Sans',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::selection{background:#e2d9cc;color:#111827}input,textarea{caret-color:#374151}a{text-underline-offset:3px}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.45;cursor:wait}:focus{outline:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #374151;outline-offset:2px}input:not([type=range]):focus,select:focus,textarea:focus{outline:none;border-color:#803e4b;box-shadow:0 0 0 3px rgba(128,62,75,0.15)}select:not(.sr-only){appearance:none;-webkit-appearance:none;background-color:#ffffff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:16px 16px;padding-left:36px;cursor:pointer;border-radius:9px;border:1px solid var(--line);transition:border-color 0.15s ease,box-shadow 0.15s ease}[dir=ltr] select:not(.sr-only){background-position:right 12px center;padding-right:36px;padding-left:12px}select:not(.sr-only):hover{border-color:#cbd5e1}@supports (appearance:base-select){select:not(.sr-only){appearance:base-select}}input[type=range]:focus,input[type=range]:focus-visible{outline:none;box-shadow:none;border:none}button,input,select,textarea{min-height:44px}button{border:0;background:none}button,summary{touch-action:manipulation}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;z-index:100;background:white;padding:12px}.skip-link:focus{top:0}.header{height:82px;border-bottom:1px solid var(--line);background:rgba(248,249,250,.97);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));gap:20px}.brand{font-family:'Thmanyah Serif Display',serif;font-size:36px;display:flex;align-items:center;gap:18px;white-space:nowrap}.brand span{font-family:'Thmanyah Sans',sans-serif;font-size:12px;color:var(--muted);border-right:1px solid var(--line);padding-right:18px}.header nav{display:flex;align-items:center;gap:24px;font-size:14px}.primary-button,.outline-button,.small-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;font-weight:600}.primary-button,.small-button{background:var(--ink);color:white}.outline-button{border:1px solid #e5e7eb;background:white}.small-button{font-size:13px;padding:9px 16px}.quiet{color:var(--muted);padding:8px 6px;font-size:14px}.quiet:hover{color:var(--ink)}.wide{width:100%;margin-top:12px}.muted{font-size:13px;color:var(--muted)}.hero{text-align:center;padding:58px 20px 30px}.eyebrow{font-size:12px;letter-spacing:.04em;color:var(--gold)}h1,h2,p{margin-top:0}.hero h1{font-family:'Thmanyah Serif Display',serif;font-size:clamp(32px,4vw,50px);font-weight:400;line-height:1.4;margin:16px 0}.hero p{color:var(--muted);font-size:15px;line-height:1.9}.catalog-filters{max-width:1100px;margin:0 auto;padding:0 24px}.pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pill{border:1px solid var(--line);border-radius:100px;padding:10px 18px;white-space:nowrap;font-size:14px;background:white}.pill[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:23px 0}.swatches{display:flex;align-items:center;gap:8px;max-width:100%;overflow-x:auto;padding:5px}.swatch{min-width:30px;min-height:30px;width:30px;height:30px;border:4px solid var(--bg);border-radius:50%;outline:1px solid var(--line);flex-shrink:0}.swatch[aria-pressed=true]{outline:2px solid var(--ink)}.gallery-frame{overflow:hidden}.template-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:30px max(24px,calc((100vw - 350px)/2)) 36px;scrollbar-width:none;align-items:start;direction:rtl}.template-track::-webkit-scrollbar{display:none}.template-card{scroll-snap-align:center;flex:0 0 310px;padding:0;transition:transform .2s}.template-card.active{transform:translateY(-10px)}.template-image{background:#e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(17,24,39,0.07);aspect-ratio:9/16;position:relative}.template-image canvas{width:100%;height:100%;display:block}.template-image .loading{position:absolute;inset:40% 15px auto;font-size:13px;text-align:center;color:var(--muted)}.template-caption{display:flex;justify-content:space-between;align-items:center;margin:16px 2px 12px;gap:12px}.template-caption h2{font-size:22px;font-weight:500;margin:0}.choose-button{width:100%;border:1px solid var(--line);border-radius:10px;background:white;padding:10px;font-size:14px}.template-card.active .choose-button{background:var(--ink);color:white;border-color:var(--ink)}.gallery-actions{display:flex;align-items:center;justify-content:center;gap:18px}.round-button{width:44px;height:44px;border-radius:50%;background:white;border:1px solid var(--line);font-size:23px}.privacy-note{text-align:center;font-size:12px;color:var(--muted);padding:28px 20px 50px;line-height:1.8}.empty{text-align:center;padding:60px 20px;color:var(--muted)}#editor{max-width:1260px;margin:auto;padding:38px 24px}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.editor-heading h1{font-size:30px;font-weight:500;margin:10px 0}.editor-heading p{font-size:14px;color:var(--muted);margin-bottom:0}.workspace{display:grid;grid-template-columns:minmax(290px,440px) minmax(0,1fr);gap:34px;align-items:start}.preview-column{position:sticky;top:20px;display:flex;align-items:center;flex-direction:column;gap:12px;min-width:0}.preview-frame{position:relative;max-width:100%;width:min(410px,calc((100svh - 170px)*.5625));aspect-ratio:9/16;background:#eceff1;box-shadow:0 12px 42px #22222214;overflow:hidden;border-radius:4px}.preview-frame canvas{width:100%;height:100%;display:block}.preview-status{font-size:12px;color:var(--muted);min-height:20px;text-align:center}.preview-actions{display:flex;justify-content:space-between;width:100%;align-items:center}.layer-overlay{position:absolute;inset:0;pointer-events:none}.layer-hit{position:absolute;min-height:0;min-width:0;padding:0;pointer-events:auto;touch-action:none;border:1px solid transparent;background:transparent;border-radius:0}.layer-hit:hover{border:1px dashed #6b7280}.layer-hit.selected{border:1.5px solid #111827;background:rgba(17,24,39,0.06)}.layer-hit.selected:after{content:'';position:absolute;width:7px;height:7px;background:white;border:1px solid #111827;bottom:-4px;left:-4px}.tools-column{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.session-note{font-size:12px;line-height:1.7;padding:12px 18px;background:var(--soft);color:var(--muted)}.tool-tabs{display:flex;border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:2}.tool-tabs button{flex:1;font-size:13px;padding:14px 5px;border-bottom:2px solid transparent}.tool-tabs [aria-selected=true]{border-color:#111827;color:#111827;font-weight:700}[role=tabpanel]{padding:22px}.panel-intro{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-bottom:17px}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:10px 12px;min-width:0;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.field input:not([type=checkbox]):focus,.field select:focus,.field textarea:focus{border-color:#9ca3af;outline:none;box-shadow:0 0 0 3px rgba(156,163,175,0.2)}.field textarea{resize:vertical;min-height:76px;line-height:1.7}.field input[type=range]{padding:0;border:0;accent-color:var(--gold)}.field input[type=color]{padding:4px;height:44px}.field input[type=number]{direction:ltr}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-field{display:flex;align-items:center;gap:10px;font-size:13px;margin:8px 0 16px;line-height:1.7}.check-field input{width:20px;min-height:20px;height:20px;accent-color:var(--gold)}.history-actions{display:flex;gap:15px;justify-content:space-between;margin-bottom:16px;border-bottom:1px solid var(--line)}.section-label{font-size:13px;font-weight:600;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.calendar{border:1px solid var(--line);border-radius:10px;padding:12px;margin:4px 0 18px}.calendar summary{cursor:pointer;font-size:13px;min-height:35px}.calendar-mode{display:flex;gap:12px}.calendar-mode button{font-size:13px}.calendar-title{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.calendar-title select{width:auto;min-width:0;border:1px solid var(--line);padding:4px;border-radius:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;direction:rtl}.calendar-grid button,.calendar-grid span{min-width:0;min-height:36px;text-align:center;display:grid;place-items:center;font-size:12px;border-radius:6px}.calendar-grid button:hover{background:var(--soft)}.calendar-grid [aria-pressed=true]{background:var(--ink);color:white}.date-output{font-size:12px;line-height:1.8;white-space:pre-line;padding:8px;color:var(--gold)}.upload-box{display:grid;place-items:center;text-align:center;min-height:150px;border:1px dashed #9ca3af;border-radius:12px;padding:20px;gap:14px;font-size:14px;background:var(--bg);line-height:1.8}.upload-box input{max-width:100%;font-size:12px}.notice{max-width:100%;border:1px solid #d1d5db;color:#374151;background:#f3f4f6;padding:14px 18px;border-radius:12px;font-size:13px;line-height:1.9;margin:18px auto;white-space:pre-line}.error{background:#fff1ed;border-color:#e4b9aa;color:#8d3524}.editor-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;margin-top:18px;border-top:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:44px max(24px,calc((100vw - 1200px)/2)) 24px;margin-top:30px;display:grid;grid-template-columns:1fr 2fr;gap:30px 65px;background:#f3f4f6}.footer-brand{font-family:'Thmanyah Serif Display',serif;font-size:38px}.footer-brand span{display:block;font-family:'Thmanyah Sans',sans-serif;font-size:13px;margin-top:10px;color:var(--muted)}footer h2{font-size:22px;font-weight:500}footer p{font-size:13px;line-height:2;color:var(--muted)}footer summary{cursor:pointer;font-size:13px;min-height:44px}footer details p{padding-top:10px}#contact-links a{display:inline-block;text-decoration:underline;margin-left:20px;font-size:13px}.footer-bottom{grid-column:1/-1;font-size:12px;border-top:1px solid #e5e7eb;padding-top:18px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;max-height:94svh;max-width:94vw;padding:16px;background:var(--bg)}dialog::backdrop{background:rgba(17,24,39,0.7)}dialog img{display:block;max-width:100%;max-height:76svh;width:auto;margin:16px auto}dialog p{font-size:12px;color:var(--muted);text-align:center}.toast{position:fixed;bottom:90px;right:50%;transform:translateX(50%);max-width:90vw;background:var(--ink);color:white;padding:12px 22px;border-radius:10px;font-size:13px;z-index:20;text-align:center;box-shadow:0 8px 30px #0002}.admin-shell{max-width:1320px;margin:auto;padding:30px 24px}.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.admin-layout{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:30px}.admin-controls{background:white;padding:24px;border:1px solid var(--line);border-radius:16px}.admin-controls h2{font-size:20px}.admin-preview{position:sticky;top:20px;align-self:start}.asset-tools{margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.asset-tools details{padding:12px 0}.asset-tools summary{cursor:pointer}.admin-label{margin-top:20px}.error-text{font-size:12px;color:#9b392a}.bound-help{font-size:12px;line-height:1.8;color:var(--muted)}
@media(max-width:760px){.header{height:68px;padding:0 16px;gap:10px}.brand{font-size:29px}.brand span{display:none}.header nav{gap:12px;font-size:12px}.header nav .quiet{font-size:12px}.hero{padding:30px 20px 16px}.hero h1{font-size:32px;margin:10px 0}.hero p{font-size:13px}.catalog-filters{padding:0 16px}.pills{justify-content:start;flex-wrap:nowrap;overflow-x:auto;padding:5px 0 10px;scrollbar-width:none}.pill{font-size:12px;padding:8px 14px;min-height:40px}.filter-row{justify-content:start;gap:10px;padding:8px 0}.swatches{max-width:calc(100% - 75px)}.template-track{gap:18px;padding:22px calc((100vw - min(66vw,290px))/2) 24px}.template-card{flex-basis:min(66vw,290px)}.template-caption h2{font-size:18px}.template-caption .muted{font-size:11px}.gallery-actions{margin-top:0}.privacy-note{padding:20px 20px 25px}.editor-heading{margin-bottom:16px}.editor-heading h1{font-size:23px;margin:7px 0}.editor-heading .outline-button{font-size:12px;padding:8px 12px}#editor{padding:24px 12px}.workspace{display:flex;flex-direction:column;gap:16px}.preview-column{position:sticky;top:0;z-index:5;background:var(--bg);width:100%;padding:8px 0;gap:5px;border-bottom:1px solid var(--line)}.preview-frame{width:auto;height:clamp(180px,34svh,320px);max-width:100%}.preview-status{font-size:11px;min-height:16px}.preview-actions{justify-content:center;gap:18px}.preview-actions .quiet{min-height:32px;font-size:12px;padding:4px}.tools-column{width:100%}[role=tabpanel]{padding:16px}.session-note{padding:10px 14px;font-size:11px}.tool-tabs button{font-size:12px}.editor-bottom{position:sticky;bottom:0;z-index:6;background:var(--bg);padding:12px 4px calc(12px + env(safe-area-inset-bottom));margin:0;border-top:1px solid var(--line)}.editor-bottom .muted{font-size:11px}.editor-bottom .primary-button{font-size:13px;padding:12px 16px}footer{grid-template-columns:1fr;padding:30px 20px 24px;gap:24px}.footer-brand{font-size:30px}.footer-brand span{margin-top:4px}.admin-shell{padding:20px 12px}.admin-layout{display:flex;flex-direction:column}.admin-preview{position:relative;top:0}.admin-controls{width:100%;padding:18px}.admin-bar{flex-wrap:wrap}.admin-bar h1{font-size:24px}.calendar-grid button{min-height:40px}.field-row{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-height:550px) and (max-width:760px){.preview-frame{height:150px}.preview-status{display:none}.preview-column{position:relative}}
.preview-frame{width:min(410px,calc((100svh - 170px)*var(--ratio,.5625)))}
@media(max-width:760px){.preview-frame{width:min(100%,calc(clamp(180px,34svh,320px)*var(--ratio,.5625)));height:auto}.admin-preview .preview-frame{width:min(100%,420px)}}

/* Canvas-only alignment aids; these never enter the exported image. */
.alignment-guides{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:hidden}.alignment-guides span{position:absolute;display:none;background:#13a8e0;box-shadow:0 0 0 .5px #fff9;pointer-events:none}.alignment-guides.show-x .center-guide-x{display:block;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}.alignment-guides.show-y .center-guide-y{display:block;top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
.center-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.center-actions button{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;font-size:12px;white-space:nowrap}.center-actions svg{flex:none;color:var(--gold)}
