@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_231f96{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_231f96{--font-dm-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_f9c3d4{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_f9c3d4{--font-dm-mono:"DM Mono","DM Mono Fallback"}:root{--font-sans:var(--font-dm-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-dm-mono),ui-monospace,"SF Mono",Menlo,Consolas,monospace;--zw-ink:#191e1e;--zw-cream:#f3f1e7;--zw-violet:#7c00ff;--zw-lilac:#ad7fea;--zw-peach:#ff9f5a;--zw-flame:#f44321;--bg:#ffffff;--bg-subtle:#f8f7f2;--bg-muted:var(--zw-cream);--border:#e6e4da;--border-strong:#cbc8bb;--text:var(--zw-ink);--text-muted:#5b5f5f;--focus:var(--zw-violet);--danger:#b42318;--danger-bg:#fdf0ee;--success:#1c7a3e;--success-bg:#ecf7f0;--warn:#8a5a00;--accent:var(--zw-ink);--radius:10px;--radius-sm:6px;--shadow:0 1px 2px rgb(0 0 0/0.05),0 4px 16px rgb(0 0 0/0.04);--header-h:80px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2;letter-spacing:-.02em;margin:0}h1{font-size:clamp(1.9rem,1.4rem + 1.8vw,2.75rem);font-weight:800}p{margin:0}a{color:inherit;text-underline-offset:3px}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}main:focus{outline:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--text);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{top:12px}.muted{color:var(--text-muted)}.small{font-size:.875rem}.strong{font-weight:600}.mono{font-family:var(--font-mono)}.stack{display:grid;grid-gap:16px;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:600;font-size:.9375rem;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{min-height:34px;padding:6px 12px;font-size:.875rem}.btn-primary{background:var(--text);color:#fff}.btn-primary:hover:not(:disabled){background:#323838}.btn-secondary{background:var(--bg);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg-muted)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#f3c7c1}.btn-danger:hover:not(:disabled){background:#fbe1dd}label.btn:has(+input:focus-visible),label.btn:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}input:not([type=checkbox]):not([type=color]):not([type=file]):not(.inline-input),select,textarea:not(.inline-input){width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;font-size:.9375rem}textarea{resize:vertical;line-height:1.5}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:0;border-color:var(--focus)}input[type=color]{width:44px;height:40px;padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;flex:none}input[type=checkbox]{width:18px;height:18px;accent-color:var(--text)}.field{display:grid;grid-gap:6px;gap:6px;min-width:0}.field>label{font-size:.875rem;font-weight:600}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.hint{font-size:.8125rem;color:var(--text-muted)}.warn{color:var(--warn)}.check{display:flex;align-items:center;gap:10px;font-size:.9375rem;cursor:pointer}.form-error{color:var(--danger);font-size:.875rem}.inline-form{display:flex;gap:8px}.inline-form input{flex:1 1;min-width:0}.badge{display:inline-block;width:-moz-fit-content;width:fit-content;padding:2px 8px;border-radius:999px;background:var(--bg-muted);color:var(--text-muted);font-size:.75rem;font-weight:600}.badge-live{background:var(--success-bg);color:var(--success)}.thumb{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:var(--radius-sm);background:var(--bg-muted);overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain;padding:4px}.thumb-kind{font-size:.6875rem;font-weight:700;color:var(--text-muted)}.copy{display:inline-flex;align-items:center;gap:8px;padding:2px 6px;margin:-2px -6px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-family:var(--font-mono);font-size:.8125rem;cursor:pointer;text-align:left}.copy:hover{background:var(--bg-muted)}.copy-hint{font-family:var(--font-sans);font-size:.75rem;color:var(--text-muted);opacity:0;transition:opacity .15s}.copy:focus-visible .copy-hint,.copy:hover .copy-hint{opacity:1}.rich-text{display:grid;grid-gap:14px;gap:14px;max-width:68ch;color:#2a2a28}.rich-text ul{margin:0;padding-left:1.25em;display:grid;grid-gap:6px;gap:6px}.zawaya-logo{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--logo-src) no-repeat center /contain;mask:var(--logo-src) no-repeat center /contain}.zawaya-gradient{position:relative;isolation:isolate;background:radial-gradient(60% 70% at 0 85%,var(--zw-flame) 0,transparent 70%),radial-gradient(50% 60% at 20% 30%,var(--zw-peach) 0,transparent 70%),radial-gradient(55% 65% at 70% 35%,var(--zw-lilac) 0,transparent 75%),radial-gradient(45% 70% at 100% 40%,var(--zw-violet) 0,transparent 75%),linear-gradient(120deg,#f2793e,#c46fd0 55%,#8a3cf0)}.zawaya-gradient:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-logo{color:#fff}.center-page{min-height:100vh;display:grid;place-items:center;align-content:center;grid-gap:32px;gap:32px;padding:24px 16px}.center-page:not(.zawaya-gradient){background:var(--bg-subtle)}.portal .center-page{min-height:calc(100vh - var(--header-h))}.center-card{width:100%;max-width:400px;display:grid;grid-gap:16px;gap:16px;padding:32px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.center-card h1{font-size:1.5rem}.topbar{justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar,.wordmark{display:flex;align-items:center}.wordmark{gap:10px;font-weight:700;text-decoration:none}.wordmark-sub{font-weight:500;color:var(--text-muted);margin:4px 0 0 6px;padding-left:12px;border-left:1px solid var(--border-strong)}.topbar-end{display:flex;align-items:center;gap:12px}.studio-main{max-width:1120px;margin:0 auto;padding:40px 24px 80px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.page-head h1{margin-bottom:6px}.page-head .inline-form input{width:240px}.empty{padding:40px 24px;border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--text-muted);display:grid;grid-gap:8px;gap:8px}.brand-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.brand-card{display:grid;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;background:var(--bg);transition:border-color .15s,box-shadow .15s}.brand-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.brand-card-logo{display:grid;place-items:center;aspect-ratio:16/9;color:#fff;font-size:2.5rem;font-weight:800}.brand-card-logo img{max-width:60%;max-height:60%;object-fit:contain}.brand-card-body{display:grid;grid-gap:4px;gap:4px;padding:14px 16px 16px}.brand-card-name{font-weight:700;font-size:1.0625rem}.btn-accent{background:var(--zw-violet);color:#fff}.btn-accent:hover:not(:disabled){background:#6a00db}.icon-btn{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer;list-style:none}.icon-btn::-webkit-details-marker{display:none}.icon-btn:hover:not(:disabled){background:var(--bg-muted);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.editor{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 61px)}.editor-side{display:flex;flex-direction:column;gap:20px;padding:20px 14px;border-right:1px solid var(--border);background:var(--bg);position:-webkit-sticky;position:sticky;top:61px;height:calc(100vh - 61px);overflow-y:auto;overflow-x:hidden}.back-link{display:inline-flex;align-items:center;gap:4px;padding:0 6px;font-size:.8125rem;color:var(--text-muted);text-decoration:none}.back-link:hover{color:var(--text)}.side-brand{display:flex;align-items:center;gap:10px;padding:0 6px}.side-brand-logo{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:10px;border:1px solid var(--border);color:#fff;font-weight:700;overflow:hidden}.side-brand-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.side-brand-name{font-weight:700;line-height:1.2}.status{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-muted)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--border-strong)}.status.is-live{color:var(--success)}.status.is-live:before{background:var(--success)}.side-nav{display:flex;flex-direction:column;flex:1 1;gap:2px}.nav-heading{margin:0 0 4px;padding:0 10px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.nav-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:1px;gap:1px}.nav-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);text-decoration:none;font-size:.9375rem;color:var(--text)}.nav-link:hover{background:var(--bg-subtle)}.nav-link[aria-current=page]{background:var(--bg-muted);font-weight:600}.nav-add{display:flex;align-items:center;gap:6px;margin-top:4px;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:.9375rem;cursor:pointer;text-align:left}.nav-add:hover{background:var(--bg-subtle);color:var(--text)}.add-page-form{margin-top:4px}.nav-secondary{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.nav-secondary .nav-link{color:var(--text-muted)}.editor-main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.editor-topbar{display:flex;justify-content:flex-end;padding:12px 24px}.editor-content{flex:1 1;padding:0 32px 96px}.editor-content>h1{max-width:820px;margin:8px auto;font-size:2rem}.editor-content>:not(h1):not(.page-editor){max-width:820px;margin-left:auto;margin-right:auto}.editor-content>*+*{margin-top:20px}.page-editor{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:32px;gap:32px;max-width:1080px;margin:0 auto}.palette{position:-webkit-sticky;position:sticky;top:80px;align-self:start}.palette ul{list-style:none;margin:0;padding:8px 6px;display:grid;grid-gap:2px;gap:2px;border:1px solid var(--border);border-radius:14px;background:var(--bg);box-shadow:var(--shadow)}.palette-item{display:grid;justify-items:center;grid-gap:4px;gap:4px;width:100%;padding:8px 2px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;cursor:-webkit-grab;cursor:grab}.palette-item:hover{background:var(--bg-subtle)}.palette-item:active{cursor:-webkit-grabbing;cursor:grabbing}.palette-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.palette-item:hover .palette-icon{border-color:var(--zw-violet);color:var(--zw-violet)}.palette-label{font-size:.6875rem;color:var(--text-muted)}.canvas{min-width:0;min-height:60vh;padding-bottom:48px}.canvas-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-title-input{flex:1 1;min-width:0;padding:4px 0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;font-size:clamp(1.9rem,1.4rem + 1.8vw,2.75rem)!important;font-weight:700!important;letter-spacing:-.02em}.page-title-input:hover{border-bottom-color:var(--border)!important}.page-title-input:focus-visible{outline:none!important;border-bottom-color:var(--zw-violet)!important}.canvas-tools{display:flex;align-items:center;gap:4px}.save-state{font-size:.8125rem;color:var(--text-muted);white-space:nowrap;margin-right:6px}.save-state.is-error{color:var(--danger);white-space:normal;max-width:260px}.menu{position:relative}.menu>summary{list-style:none;cursor:pointer}.menu>summary::-webkit-details-marker{display:none}.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;padding:6px;display:grid;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px rgb(0 0 0/.12)}.menu-pop>button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:.875rem;text-align:left;cursor:pointer;color:var(--text)}.menu-pop>button:hover:not(:disabled){background:var(--bg-subtle)}.menu-pop>button:disabled{opacity:.4;cursor:default}.menu-pop>.is-danger{color:var(--danger)}.share-pop{width:340px;gap:16px;padding:16px}.share-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.share-link{display:grid;grid-gap:6px;gap:6px;min-width:0}.share-actions{display:flex;gap:8px;flex-wrap:wrap}.switch{position:relative;flex:none;cursor:pointer}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.switch span[aria-hidden]{display:block;width:40px;height:24px;border-radius:999px;background:var(--border-strong);transition:background .15s}.switch span[aria-hidden]:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgb(0 0 0/.2);transition:transform .15s}.switch input:checked+span{background:var(--success)}.switch input:checked+span:after{transform:translateX(16px)}.switch input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.copy-block{margin:0;padding:8px 10px;background:var(--bg-subtle);border:1px solid var(--border);width:100%;min-width:0;justify-content:space-between}.copy-block .copy-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-block .copy-hint{opacity:1}.eblocks{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.eblock{position:relative;padding:18px 20px;border:1px solid transparent;border-radius:12px;transition:border-color .12s,background .12s}.eblock:focus-within,.eblock:hover{border-color:var(--border)}.eblock:focus-within{border-color:#cdb3fb}.eblock-tools{position:absolute;top:-14px;right:12px;z-index:5;display:flex;align-items:center;gap:1px;padding:2px 4px;border:1px solid var(--border);border-radius:9px;background:var(--bg);box-shadow:var(--shadow);opacity:0;transition:opacity .12s}.eblock:focus-within .eblock-tools,.eblock:hover .eblock-tools{opacity:1}@media (hover:none){.eblock-tools{opacity:1}}.eblock-label{padding:0 8px 0 6px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.drag-handle{cursor:-webkit-grab;cursor:grab}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.drop-line{height:3px;margin:-2px 12px;border-radius:3px;background:var(--zw-violet);box-shadow:0 0 0 3px rgb(124 0 255/.15)}.canvas-empty{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:64px 24px;border:2px dashed var(--border-strong);border-radius:14px;color:var(--text-muted);text-align:center}.canvas.is-dropping .canvas-empty{border-color:var(--zw-violet);background:rgb(124 0 255/.04)}.canvas-hint{margin-top:24px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.upload-status{font-size:.8125rem;font-weight:600;color:var(--zw-violet)}.upload-status:empty{display:none}.inline-input,input.inline-input,textarea.inline-input{display:block;width:100%;min-height:0;padding:2px 4px;margin:0 0 0 -4px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;resize:none;overflow:hidden}.inline-input::placeholder{color:#a3a6a6}.inline-input:hover{background:rgb(0 0 0/.03)}.inline-input:focus-visible{outline:none;background:rgb(124 0 255/.05);border-color:rgb(124 0 255/.35)}textarea.rich-text{max-width:68ch;line-height:1.55}.format-hint{margin-top:6px;font-size:.75rem;color:var(--text-muted);display:none}.text-field:focus-within .format-hint{display:block}.eblock-heading textarea.block-heading-2,.eblock-heading textarea.block-heading-3{margin-top:0;font-weight:700;line-height:1.25;letter-spacing:-.02em}.eblock-heading textarea.block-heading-2{font-size:1.5rem}.eblock-heading textarea.block-heading-3{font-size:1.125rem}.typeface.is-editing textarea.typeface-sample{font-size:1.75rem;line-height:1.25}.typeface.is-editing input.typeface-family{font-size:1.25rem;font-weight:700}input.swatch-name{font-weight:700;font-size:1.0625rem}.remove-chip{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--border);border-radius:50%;background:var(--bg);color:var(--text);cursor:pointer;opacity:0;transition:opacity .12s;box-shadow:var(--shadow)}.is-editing:focus-within>.remove-chip,.is-editing:hover>.remove-chip,.remove-chip:focus-visible{opacity:1}@media (hover:none){.remove-chip{opacity:1}}.is-editing{position:relative}.add-tile{display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px;width:100%;height:100%;min-height:150px;padding:16px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;cursor:pointer;text-align:center}.add-tile:hover{border-color:var(--zw-violet);color:var(--zw-violet);background:rgb(124 0 255/.03)}.asset-block{border-radius:var(--radius);outline:2px dashed transparent;outline-offset:8px;transition:outline-color .12s}.asset-block.is-over,.block-image-frame.is-over,.dodont-frame.is-over,.empty-drop.is-over,.font-file.is-over{outline:2px dashed var(--zw-violet);outline-offset:4px;background-color:rgb(124 0 255/.04)}.file-card.is-editing .file-thumb{margin-bottom:8px}.empty-drop{border-radius:var(--radius)}.empty-drop-btn{display:grid;place-items:center;align-content:center;grid-gap:6px;gap:6px;width:100%;min-height:220px;padding:24px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-subtle);color:var(--text);font:inherit;cursor:pointer}.empty-drop-btn:hover{border-color:var(--zw-violet);color:var(--zw-violet)}.frame-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;opacity:0;transition:opacity .12s}.block-image-frame,.dodont-frame{position:relative}.block-image-frame:focus-within .frame-actions,.block-image-frame:hover .frame-actions,.dodont-frame:focus-within .frame-actions,.dodont-frame:hover .frame-actions{opacity:1}.caption-input{font-size:.875rem;color:var(--text-muted)}.block-options{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding-top:4px}.option-field{display:grid;grid-gap:4px;gap:4px;font-size:.75rem;font-weight:600;color:var(--text-muted);flex:1 1 220px}.option-field input{min-height:34px!important;font-size:.875rem!important;font-weight:400;color:var(--text)}.segmented{display:inline-flex;padding:2px;border-radius:8px;background:var(--bg-muted);width:-moz-fit-content;width:fit-content}.segmented button{padding:5px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--bg);color:var(--text);box-shadow:0 1px 2px rgb(0 0 0/.1)}.swatch.is-editing .swatch-color{position:relative;align-items:flex-end}.swatch-name:focus-visible,.swatch-name:hover{background:rgb(255 255 255/.18)!important}.swatch-pick{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgb(255 255 255/.85);color:var(--zw-ink);cursor:pointer}.swatch-pick:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.swatch.is-editing .swatch-values dd,.swatch.is-editing .swatch-values dd input{font-size:.8125rem}.dodont .add-tile,.swatches .add-tile{min-height:240px}.typeface.is-editing .typeface-family{font-size:1.25rem;font-weight:700}.font-file{display:flex;align-items:center;gap:12px;border-radius:var(--radius-sm)}.dodont-item.is-editing{padding-right:0}.dodont-frame.is-empty{padding:0;background:transparent}.dodont-frame.is-empty .empty-drop-btn{min-height:100%;height:100%}.dodont-item textarea{display:block;width:100%;padding:4px;border:1px solid transparent;border-radius:6px;background:transparent;font:inherit;resize:none;overflow:hidden}.dodont-item textarea:focus-visible,.dodont-item textarea:hover{background:rgb(0 0 0/.03)}.alt-input{min-height:32px!important;font-size:.8125rem!important}.asset-dialog{width:min(1040px,calc(100vw - 32px));height:min(720px,calc(100vh - 32px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 64px rgb(0 0 0/.25);color:var(--text);overflow:hidden}.asset-dialog::-webkit-backdrop{background:rgb(25 30 30/.45)}.asset-dialog::backdrop{background:rgb(25 30 30/.45)}.asset-dialog-inner{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.asset-dialog-head{display:flex;align-items:center;justify-content:center;padding:16px 20px;border-bottom:1px solid var(--border)}.asset-dialog-head h2{font-size:1.25rem}.asset-dialog-head .icon-btn{position:absolute;right:14px;top:12px}.asset-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0}.asset-dialog-library{display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}.asset-dialog-label{font-size:.875rem;font-weight:600}.asset-dialog-empty{padding:32px 0}.asset-dialog-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:16px;gap:16px}.asset-tile{display:grid;grid-gap:2px;gap:2px;width:100%;padding:0;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--text)}.asset-tile-thumb{position:relative;display:block;margin-bottom:6px;border-radius:10px;outline:2px solid transparent;outline-offset:2px}.asset-tile-thumb .thumb{width:100%;height:auto;aspect-ratio:1;border-radius:10px}.asset-tile-thumb .thumb img{padding:14px}.asset-tile:hover .asset-tile-thumb{outline-color:var(--border-strong)}.asset-tile[aria-pressed=true] .asset-tile-thumb{outline-color:var(--zw-violet)}.asset-tile-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--zw-violet);color:#fff}.asset-tile-name{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-tile-meta{font-size:.75rem;color:var(--text-muted)}.asset-dialog-side{display:flex;flex-direction:column;gap:12px;padding:20px;border-left:1px solid var(--border);background:var(--bg-subtle)}.upload-zone{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:32px 16px;border:1.5px dashed var(--border-strong);border-radius:12px;background:var(--bg);text-align:center;cursor:pointer}.upload-zone.is-over,.upload-zone:hover{border-color:var(--zw-violet);color:var(--zw-violet)}.upload-zone-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg-muted)}.upload-zone:has(+input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.asset-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.asset-dialog-dropping{position:absolute;inset:0;display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;background:rgb(124 0 255/.08);border:3px dashed var(--zw-violet);border-radius:16px;color:var(--zw-violet);font-weight:700;font-size:1.125rem;pointer-events:none}.settings-form{display:grid;grid-gap:24px;gap:24px}.settings-form fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:0;display:grid;grid-gap:16px;gap:16px}.settings-form legend{font-weight:700;padding:0 6px}.color-input,.prefix-input{display:flex;gap:8px;align-items:center}.prefix-input span{color:var(--text-muted);font-family:var(--font-mono)}.form-foot{display:flex;align-items:center;gap:16px}.danger-zone{display:grid;grid-gap:10px;gap:10px;justify-items:start;padding:20px;border:1px solid #f3c7c1;border-radius:var(--radius)}.danger-zone h2{font-size:1.0625rem}.dropzone{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:32px 16px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;background:var(--bg-subtle)}.dropzone.is-dragging{border-color:var(--zw-violet);background:rgb(124 0 255/.04)}.asset-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius)}.asset-row{display:flex;align-items:center;gap:14px;padding:10px 12px}.asset-row+.asset-row{border-top:1px solid var(--border)}.asset-row-body{display:grid;flex:1 1;min-width:0}.asset-row-body a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.asset-row-body a:hover{text-decoration:underline}.preview-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;padding:8px 16px;background:var(--zw-violet);color:#fff;font-size:.875rem}.preview-bar a{font-weight:600}.portal-header{justify-content:space-between;gap:16px;min-height:var(--header-h);padding:12px 48px;border-bottom:1px solid var(--border);background:var(--bg)}.portal-brand,.portal-header{display:flex;align-items:center}.portal-brand{gap:10px;text-decoration:none;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;min-width:0}.portal-studio{color:var(--text-muted);margin:4px 0 0 2px}.portal-slash{color:var(--border-strong);font-weight:400}.portal-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-logo{height:32px;width:auto;max-width:180px;object-fit:contain}.portal-actions{display:flex;align-items:center;gap:10px}.search{position:relative;width:240px}.search input[type=search]{padding-right:36px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23161616' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat right 12px center}.search-results{position:absolute;right:0;top:calc(100% + 6px);width:min(380px,calc(100vw - 32px));max-height:60vh;overflow-y:auto;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px rgb(0 0 0/.12);z-index:30}.search-results>p{padding:8px}.search-results ul{list-style:none;margin:0;padding:0}.search-results a{display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none}.search-results a:focus-visible,.search-results a:hover{background:var(--bg-subtle)}.search-section{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.search-snippet{font-size:.875rem}.portal-body{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - var(--header-h))}.portal-nav{padding:56px 28px;border-right:1px solid var(--border)}.portal-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px;position:-webkit-sticky;position:sticky;top:24px}.portal-nav a{display:block;padding:10px;border-radius:var(--radius-sm);text-decoration:none;font-weight:500}.portal-nav a:hover{background:var(--bg-subtle)}.portal-nav a[aria-current=page]{background:var(--bg-muted);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.portal-nav-toggle{display:none}.portal-content{display:grid;grid-template-rows:1fr auto;min-width:0}.portal-content main{padding:56px clamp(24px,6vw,96px) 64px;max-width:1120px;width:100%;margin:0 auto}.portal-article{display:grid;grid-gap:32px;gap:32px}.portal-tagline{font-size:.875rem;font-weight:600;color:var(--text-muted);margin-bottom:-20px}.blocks{display:grid;grid-gap:32px;gap:32px}.block-heading-2{font-size:1.5rem;font-weight:700;margin-top:16px}.block-heading-3{font-size:1.125rem;font-weight:700}.block-divider{border:0;border-top:1px solid var(--border);margin:8px 0;width:100%}.block-image{margin:0;display:grid;grid-gap:12px;gap:12px}.block-image-frame{display:grid;place-items:center;padding:clamp(24px,6vw,72px);border-radius:var(--radius);min-height:200px}.block-image-frame img{max-height:520px;object-fit:contain}.bg-none{padding:0;min-height:0}.bg-light{background:var(--bg-subtle)}.bg-dark{background:var(--zw-ink)}.bg-accent{background:var(--accent)}.block-image figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;color:var(--text-muted)}.swatches{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.swatch{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.swatch-color{display:flex;align-items:flex-end;height:150px;padding:14px 16px}.swatch-name{font-weight:700;font-size:1.0625rem}.swatch-values{margin:0;padding:12px 16px 14px;display:grid;grid-gap:6px;gap:6px}.swatch-values div{display:grid;grid-template-columns:64px 1fr;align-items:center}.swatch-values dt{font-size:.75rem;font-weight:700;color:var(--text-muted)}.swatch-values dd{margin:0}.typeface{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.typeface-specimen{display:grid;align-content:space-between;grid-gap:24px;gap:24px;padding:24px;background:var(--bg-subtle)}.typeface-aa{font-size:6rem;line-height:1;font-weight:500}.typeface-family{font-size:1.25rem;font-weight:700}.typeface-body{display:grid;align-content:start;justify-items:start;grid-gap:16px;gap:16px;padding:24px;min-width:0}.typeface-sample{font-size:1.75rem;line-height:1.25}.typeface-glyphs{font-size:1.0625rem;color:var(--text-muted);overflow-wrap:anywhere}.meta-list{margin:0}.meta-list div{display:flex;gap:12px}.meta-list dt{font-weight:700;font-size:.875rem}.meta-list dd{margin:0;font-size:.875rem}.file-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:24px;gap:24px}.file-card{display:grid;grid-gap:4px;gap:4px;text-decoration:none}.file-thumb{display:grid;place-items:center;aspect-ratio:1/.8;margin-bottom:8px;padding:12px;border-radius:var(--radius-sm);background:var(--bg-muted);overflow:hidden;transition:background .15s}.file-thumb img{width:100%;height:100%;object-fit:contain}.file-kind{font-size:1.25rem;font-weight:800;color:var(--text-muted)}.file-card:hover .file-thumb{background:var(--border)}.file-card:hover .file-name{text-decoration:underline}.file-name{font-size:.9375rem;overflow-wrap:anywhere}.file-meta{font-size:.8125rem;color:var(--text-muted)}.dodont{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:20px;gap:20px}.dodont-item{display:grid;grid-gap:10px;gap:10px;align-content:start;padding-top:10px;border-top:4px solid}.dodont-item.is-do{border-color:var(--success)}.dodont-item.is-dont{border-color:var(--danger)}.dodont-frame{display:grid;place-items:center;aspect-ratio:4/3;padding:16px;border-radius:var(--radius-sm);background:var(--bg-subtle)}.dodont-frame img{max-height:100%;object-fit:contain}.dodont-label{font-weight:700}.is-do .dodont-label{color:var(--success)}.is-dont .dodont-label{color:var(--danger)}.pager{display:flex;justify-content:space-between;gap:16px;margin-top:64px;padding-top:28px;border-top:1px solid var(--border)}.pager a{display:inline-flex;gap:8px;padding:8px 4px;font-weight:500;text-decoration:none}.pager a:hover{text-decoration:underline}.portal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:24px clamp(24px,6vw,96px) 32px;max-width:1120px;width:100%;margin:0 auto;font-size:.875rem;color:var(--text-muted)}@media (max-width:900px){.portal-header{padding:12px 16px;flex-wrap:wrap}.portal-brand{font-size:1.125rem}.portal-brand .portal-studio{height:17px!important;width:calc(17px * 250.71 / 41.63)!important}.portal-actions{width:100%}.search{flex:1 1;width:auto}.portal-body{grid-template-columns:1fr}.portal-nav{padding:12px 16px;border-right:0;border-bottom:1px solid var(--border)}.portal-nav-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);font:inherit;font-weight:600;cursor:pointer}.portal-nav ul{display:none;position:static;margin-top:8px}.portal-nav[data-open=true] ul{display:grid}.portal-content main{padding:32px 16px 48px}.portal-footer{padding:20px 16px 28px}.editor,.typeface{grid-template-columns:1fr}.editor-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.nav-secondary{margin-top:8px}.editor-content{padding:0 16px 64px}.page-editor{grid-template-columns:1fr;gap:16px}.palette{top:61px;z-index:10}.palette ul{display:flex;overflow-x:auto}.palette-item{min-width:64px}.eblock{padding:18px 8px}.asset-dialog-body{grid-template-columns:1fr;overflow-y:auto}.asset-dialog-side{border-left:0;border-top:1px solid var(--border);order:-1}.canvas-head{flex-wrap:wrap}.studio-main{padding:24px 16px 64px}.topbar{padding:10px 16px}.wordmark-sub{display:none}}@media (max-width:520px){.page-head .inline-form{width:100%}.page-head .inline-form input{width:auto;flex:1 1}.block-image figcaption{flex-direction:column;align-items:flex-start}.portal-actions{flex-wrap:wrap}.search{flex-basis:100%}}