@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}html{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}html::-webkit-scrollbar{display:none}:root,[data-theme=light]{--color-text:#1a1a1a;--color-text-muted:#555;--color-text-subtle:#9a9a9a;--color-bg:#fafaf7;--color-bg-elevated:#fff;--color-bg-muted:#efefe8;--color-bg-strong:#e5e5dc;--color-border:#dedede;--color-border-strong:#a8a8a8;--color-accent:#fa5d29;--color-accent-hover:#e54d1c;--color-accent-2:#fff083;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--checker-light:#fff;--checker-dark:#e9e9e9;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 32px #0000001f}[data-theme=dark]{--color-text:#f5f5f5;--color-text-muted:#a8a8a8;--color-text-subtle:#6b6b6b;--color-bg:#0d0d0d;--color-bg-elevated:#161616;--color-bg-muted:#1f1f1f;--color-bg-strong:#2a2a2a;--color-border:#2a2a2a;--color-border-strong:#404040;--color-accent:#fa5d29;--color-accent-hover:#ff6f3e;--color-accent-2:#fff083;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--checker-light:#3a3a3a;--checker-dark:#2a2a2a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 32px #0009}.preload *{transition:none!important}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}body{min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--color-text);font-weight:700;line-height:1.1}a{color:inherit;text-decoration:none}a:hover{color:var(--color-accent)}.btn,.btn *,.footer-col a,.breadcrumbs a,.nav-link,.mobile-menu-content a,.faq-q,.template-info a,.tutorial-card a,.showcase-item,.hero-tile{text-decoration:none}.footer-col a:hover,.breadcrumbs a:hover,.nav-link:hover,.mobile-menu-content a:hover{color:var(--color-accent)}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{color:inherit;font-family:inherit}.display-xl{letter-spacing:-.04em;font-size:clamp(2.5rem,8vw,6rem);font-weight:800;line-height:.95}.display-lg{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.05}.display-md{letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.15}.mono{font-family:JetBrains Mono,monospace}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);font-size:11px;font-weight:600}.theme-toggle-btn{border:1px solid var(--color-border);background:0 0;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative;overflow:hidden}.theme-toggle-btn:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.theme-toggle-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle-btn svg{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s;position:absolute}.theme-toggle-btn .icon-sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle-btn .icon-moon{opacity:0;transform:rotate(-90deg)scale(0)}[data-theme=dark] .theme-toggle-btn .icon-sun{opacity:0;transform:rotate(90deg)scale(0)}[data-theme=dark] .theme-toggle-btn .icon-moon{opacity:1;transform:rotate(0)scale(1)}.toggle-switch{flex-shrink:0;width:48px;height:28px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:var(--color-border-strong);border-radius:28px;transition:background .2s ease-out;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--color-accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:0 0 0 3px #fa5d294d}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10000;background:var(--color-accent);color:#fff;border-radius:0 0 8px 8px;padding:8px 16px;font-size:14px;font-weight:600;transition:top .16s;position:absolute;top:-100%;left:8px}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}.btn{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .16s,border-color .16s,transform .16s,color .16s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text);background:0 0}.btn-ghost:hover{background:var(--color-bg-muted)}.btn-dark{background:var(--color-text);color:var(--color-bg)}.btn-dark:hover{transform:translateY(-1px)}.btn-sm{border-radius:8px;min-height:36px;padding:8px 14px;font-size:13px}.btn-lg{padding:14px 24px;font-size:16px}.btn-icon{width:40px;height:40px;min-height:40px;padding:0}.btn-block{width:100%}.site-header{z-index:80;background:var(--color-bg);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--color-bg)80%,transparent)}}.site-header{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.nav-container{justify-content:space-between;align-items:center;max-width:1440px;height:68px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:800;display:flex}.nav-logo-mark{background:#000;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{color:var(--color-text-muted);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:color .16s,background .16s}.nav-link:hover,.nav-link.active{color:var(--color-text);background:var(--color-bg-muted)}.nav-actions{align-items:center;gap:10px;display:flex}.mobile-menu-btn{border:1px solid var(--color-border);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:none}.mobile-menu-btn:hover{background:var(--color-bg-muted)}@media(max-width:900px){.nav-links{display:none}.desktop-only{display:none!important}.mobile-menu-btn{display:flex}}.mobile-menu{z-index:100;background:var(--color-bg);flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;transform:translate(100%)}.mobile-menu.open{transform:translate(0)}.mobile-menu-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:68px;padding:16px 24px;display:flex}.mobile-menu-content{flex-direction:column;flex:1;gap:4px;padding:24px;display:flex;overflow-y:auto}.mobile-menu-content a{letter-spacing:-.01em;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 16px;font-size:20px;font-weight:600;display:flex}.mobile-menu-content a:hover,.mobile-menu-content a.active{background:var(--color-bg-muted);color:var(--color-accent)}.mobile-theme-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;padding:20px 16px;display:flex}.breadcrumbs{width:100%;max-width:1440px;margin:0 auto;padding:12px 24px 0}.breadcrumbs ol{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13px;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:8px;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:var(--color-text-subtle);font-size:12px}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent)}.breadcrumbs li[aria-current=page]{color:var(--color-text);font-weight:600}.page-section{padding:80px 24px}.container{max-width:1440px;margin:0 auto}.container-narrow{max-width:720px;margin:0 auto}@media(max-width:768px){.page-section{padding:48px 20px}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-wrap{flex-direction:column;flex:1;animation:.333s ease-out pageEnter;display:flex}.hero{padding:100px 24px 80px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;max-width:1440px;margin:0 auto;display:grid}.hero-eyebrow{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:20px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.hero-eyebrow .dot{background:var(--color-success);border-radius:50%;width:6px;height:6px}.hero-title{letter-spacing:-.03em;margin-bottom:20px;font-size:clamp(2.2rem,5.5vw,3.5rem);font-weight:800;line-height:1.05}.hero-title .accent{color:var(--color-accent);font-family:Inter,serif;font-style:italic;font-weight:400}.hero-sub{color:var(--color-text-muted);max-width:540px;margin-bottom:32px;font-size:18px;line-height:1.6}.hero-cta{flex-wrap:wrap;gap:12px;margin-bottom:40px;display:flex}.hero-meta{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);gap:12px;padding-top:32px;display:grid}.hero-meta-item{background:var(--color-bg-muted);text-align:center;border-radius:12px;padding:16px}.hero-meta-item .label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:6px;font-size:11px}.hero-meta-item .value{font-size:20px;font-weight:700;line-height:1.3}@media(max-width:600px){.hero-meta{grid-template-columns:1fr}}.hero-visual{aspect-ratio:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px;margin-left:auto;display:grid;position:relative}.hero-tile{background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-accent);border-radius:16px;justify-content:center;align-items:center;transition:transform .3s,background .2s;display:flex}.hero-tile:hover{background:var(--color-bg-muted);transform:scale(1.05)}.hero-tile.featured{background:var(--color-accent);color:#fff;border-color:var(--color-accent);grid-area:span 2/span 2}@media(max-width:900px){.hero{padding:60px 20px 40px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{max-width:100%;margin:0 auto}}.feature-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}@media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.feature-grid{grid-template-columns:1fr;display:grid}.feature-carousel-track{cursor:grab;gap:16px;padding:4px max(16px,50vw - 200px);display:flex}.feature-carousel-track:active{cursor:grabbing}.feature-carousel-track .feature-card{flex:0 0 min(100vw - 48px,380px);padding:20px}}.feature-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:16px;padding:28px;transition:border-color .2s,transform .2s,box-shadow .2s}.feature-card:hover{border-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.feature-card .icon{background:var(--color-bg-muted);width:44px;height:44px;color:var(--color-accent);border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.feature-card h3{margin-bottom:8px;font-size:16px}.feature-card p{color:var(--color-text-muted);font-size:14px;line-height:1.55}.showcase-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:40px;display:grid}@media(max-width:480px){.showcase-strip{grid-template-columns:repeat(2,1fr)}}.showcase-item{aspect-ratio:1;background:var(--color-bg-muted);color:inherit;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.showcase-item:hover{border-color:var(--color-accent);transform:scale(1.02)}.showcase-item svg{width:50%;height:50%;color:var(--color-accent)}.showcase-label{color:var(--color-text);margin-top:8px;font-size:13px;font-weight:600}.site-footer{border-top:1px solid var(--color-border);background:var(--color-bg);margin-top:auto;padding:60px 24px 30px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:40px;max-width:1440px;margin:0 auto;display:grid}.footer-brand p{color:var(--color-text-muted);max-width:320px;margin-top:12px;font-size:14px}.footer-col h4{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:16px;font-size:12px;font-weight:600}.footer-col ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-col a{color:var(--color-text);font-size:14px}.footer-col a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-border);max-width:1440px;color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:40px auto 0;padding-top:20px;font-size:13px;display:flex}@media(max-width:640px){.footer-bottom{text-align:center;flex-direction:column;align-items:center;gap:4px}}@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr 1fr;gap:16px}.footer-brand{grid-column:1/-1}.footer-col h4{margin-bottom:8px;font-size:12px}.footer-col ul{gap:4px}.footer-col li a{font-size:12px}}.editor-shell{background:var(--color-bg-muted);grid-template-columns:320px 1fr 320px;height:calc(100dvh - 68px);min-height:500px;display:grid}.editor-panel{background:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;display:flex;overflow:hidden}.editor-panel.right{border-right:none;border-left:1px solid var(--color-border)}.panel-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.panel-header h3{text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-weight:700}.panel-content{flex:1;padding:16px;overflow-y:auto}.panel-section{margin-bottom:24px}.panel-section:last-child{margin-bottom:0}.panel-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:12px;font-size:11px;font-weight:600}.editor-canvas-wrap{background:var(--color-bg-muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.loading-spinner{min-height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.loading-spinner:before{content:"";border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.canvas-stage{background:linear-gradient(45deg,var(--checker-dark)25%,transparent 25%),linear-gradient(-45deg,var(--checker-dark)25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker-dark)75%),linear-gradient(-45deg,transparent 75%,var(--checker-dark)75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;background-color:var(--checker-light);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);touch-action:none;border-radius:4px;position:relative;overflow:hidden}.sample-image-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:4;background:var(--color-accent);color:#fff;border-radius:20px;padding:6px 18px;font-size:13px;font-weight:600;transition:opacity .2s,background .2s;position:absolute;top:16px;left:16px}.sample-image-toggle:hover{opacity:.85}.sample-image-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sample-image-toggle.loaded{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border)}.sample-image-toggle.loaded:hover{background:var(--color-bg-muted)}@media(max-width:1024px){.sample-image-toggle{display:none}}.canvas-empty-state{text-align:center;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px dashed var(--color-border);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:16px;padding:40px;transition:background .16s;display:flex}.canvas-empty-state:hover{background:var(--color-bg-elevated);border-color:var(--color-accent)}.canvas-empty-state:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.canvas-empty-state svg{opacity:.35;width:56px;height:56px}.canvas-empty-state h2{color:var(--color-text);font-size:20px}.canvas-empty-state p{max-width:300px;font-size:14px;line-height:1.5}.canvas-dropzone{border:2px dashed var(--color-border-strong);pointer-events:none;opacity:0;border-radius:16px;justify-content:center;align-items:center;transition:opacity .16s,border-color .16s,background .16s;display:flex;position:absolute;inset:16px}.canvas-dropzone.active{opacity:1;background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.canvas-dropzone.active{background:color-mix(in srgb,var(--color-accent)10%,transparent)}}.canvas-dropzone.active{border-color:var(--color-accent)}.canvas-toolbar{background:var(--color-bg-elevated);gap:4px;padding:5px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.canvas-toolbar{background:color-mix(in srgb,var(--color-bg-elevated)88%,transparent)}}.canvas-toolbar{-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);z-index:5;border-radius:12px;max-width:calc(100% - 24px);box-shadow:0 2px 12px #00000014}.canvas-toolbar button{width:34px;height:34px;color:var(--color-text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.canvas-toolbar button:hover{background:var(--color-bg-muted);color:var(--color-text)}.canvas-toolbar button:active{background:var(--color-bg-strong);transform:scale(.95)}.canvas-toolbar .zoom-val{text-align:center;font-variant-numeric:tabular-nums;min-width:52px;color:var(--color-text);flex-shrink:0;padding:0 8px;font-size:12px;font-weight:600}.canvas-toolbar .divider{background:var(--color-border);opacity:.5;flex-shrink:0;width:1px;margin:6px 2px}@media(max-width:1024px){.canvas-toolbar{top:max(8px,env(safe-area-inset-top,8px));border-radius:10px;gap:2px;max-width:calc(100% - 16px);padding:4px;box-shadow:0 2px 8px #0000001a}.canvas-toolbar button{border-radius:7px;width:30px;height:30px}.canvas-toolbar .zoom-val{min-width:40px;padding:0 6px;font-size:11px}.canvas-toolbar .divider{margin:4px 1px}}@media(max-width:380px){.canvas-toolbar{gap:1px;padding:3px}.canvas-toolbar button{width:28px;height:28px}.canvas-toolbar button svg{width:14px;height:14px}.canvas-toolbar .zoom-val{min-width:34px;padding:0 4px;font-size:10px}.canvas-toolbar .divider{margin:3px 1px}}.image-strip{background:var(--color-bg-elevated);gap:8px;padding:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.image-strip{background:color-mix(in srgb,var(--color-bg-elevated)90%,transparent)}}.image-strip{-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);z-index:5;border-radius:14px;max-width:calc(100% - 32px);overflow-x:auto;box-shadow:0 2px 12px #0000001a}.image-strip-thumb{cursor:pointer;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:44px;height:44px;position:relative;overflow:hidden}.image-strip-thumb.active{border-color:var(--color-accent)}.image-strip-thumb img{object-fit:cover;width:100%;height:100%}.image-strip-thumb .close-btn{background:var(--color-danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:none;position:absolute;top:-4px;right:-4px}.image-strip-thumb:hover .close-btn{display:flex}.image-strip-add{border:2px dashed var(--color-border-strong);width:44px;height:44px;color:var(--color-text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.image-strip-add:hover{color:var(--color-accent);border-color:var(--color-accent)}.slider-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.slider-row:last-child{margin-bottom:0}.slider-head{justify-content:space-between;align-items:baseline;display:flex}.slider-head label{color:var(--color-text-muted);font-size:12px;font-weight:500}.slider-head .val{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:12px;font-weight:600}input[type=range]{appearance:none;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:3px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-text);cursor:pointer;border:2px solid var(--color-bg-elevated);border-radius:50%;width:18px;height:18px;transition:transform .12s,background .12s;box-shadow:0 1px 4px #0003}input[type=range]::-webkit-slider-thumb:hover{background:var(--color-accent);transform:scale(1.15)}input[type=range]::-webkit-slider-thumb:active{background:var(--color-accent);transform:scale(1.2)}input[type=range]::-moz-range-thumb{background:var(--color-text);cursor:pointer;border:2px solid var(--color-bg-elevated);border-radius:50%;width:18px;height:18px}.input-base{background:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:8px;padding:10px 12px;font-size:14px;transition:border .16s}.input-base:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent);outline:none}@supports (color:color-mix(in lab,red,red)){.input-base:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent)20%,transparent)}}.select-base{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23999' d='M6 8L0 0h12z'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.color-row{align-items:center;gap:8px;display:flex}.color-swatch{border:1px solid var(--color-border);cursor:pointer;border-radius:8px;flex-shrink:0;width:32px;height:32px;position:relative;overflow:hidden}input[type=color]{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;width:32px;height:32px;padding:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:7px}.toggle-row{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle-row label{font-size:13px;font-weight:500}.shape-grid{scrollbar-width:none;-ms-overflow-style:none;grid-template-columns:repeat(4,1fr);align-content:start;gap:6px;display:grid;overflow-y:auto}.shape-grid::-webkit-scrollbar{display:none}.shape-item{aspect-ratio:1;background:var(--color-bg);border:2px solid var(--color-border);cursor:pointer;color:var(--color-text);border-radius:10px;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.shape-item:hover{border-color:var(--color-text);background:var(--color-bg-muted);transform:scale(1.04)}.shape-item:active{transform:scale(.96)}.shape-item.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 8px #fa5d294d}.shape-item svg{width:100%;height:100%}@media(max-width:1024px){.shape-grid{grid-template-columns:repeat(4,1fr);gap:8px}.shape-item{border-radius:12px;padding:10px}}.cat-tabs{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.cat-tab{background:var(--color-bg-muted);color:var(--color-text-muted);text-align:left;border-radius:8px;width:100%;padding:8px 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.cat-tab.active{background:var(--color-text);color:var(--color-bg)}.cat-tab:hover:not(.active){background:var(--color-bg-strong);color:var(--color-text)}@media(max-width:1024px){.cat-tabs{border-bottom:1px solid var(--color-border);flex-flow:wrap;gap:6px;margin-bottom:14px;padding-bottom:12px}.cat-tab{border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:20px;width:auto;padding:7px 14px;font-size:12px}.cat-tab.active{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.cat-tab:hover:not(.active){border-color:var(--color-text-muted)}}.format-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.format-pill{background:var(--color-bg);border:1.5px solid var(--color-border);text-align:center;border-radius:8px;padding:10px 8px;font-size:12px;font-weight:600;transition:all .15s}.format-pill:active{transform:scale(.96)}.format-pill.active{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);box-shadow:0 1px 4px #0000001a}.filter-presets{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ratio-presets{gap:4px;display:flex}.ratio-presets .filter-preset{border-radius:6px;flex:1;min-width:0;padding:4px 2px}.ratio-presets .filter-preset-swatch{aspect-ratio:1;color:#fff;border:1px solid var(--color-border);border-radius:4px;justify-content:center;align-items:center;width:100%;font-size:13px;display:flex}.filter-preset{background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;transition:border-color .15s,background .15s,transform .1s;display:flex}.filter-preset:hover{border-color:var(--color-text-muted)}.filter-preset:active{transform:scale(.97)}.filter-preset.active{border-color:var(--color-accent,var(--color-text));background:var(--color-bg-muted);box-shadow:0 0 0 1px var(--color-accent,var(--color-text)) inset}.filter-preset-swatch{aspect-ratio:1;border:1px solid var(--color-border);border-radius:6px;width:100%;display:block}.filter-preset-label{color:var(--color-text);letter-spacing:.02em;font-size:11px;font-weight:600}.preview-tile{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.preview-tile .thumb{border:1px solid var(--color-border);background:linear-gradient(45deg,var(--checker-dark)25%,transparent 25%),linear-gradient(-45deg,var(--checker-dark)25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker-dark)75%),linear-gradient(-45deg,transparent 75%,var(--checker-dark)75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;background-color:var(--checker-light);border-radius:8px;justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.preview-tile .thumb canvas,.preview-tile .thumb img{max-width:100%;max-height:100%;display:block}.preview-tile .meta{width:100%;color:var(--color-text-muted);justify-content:space-between;font-size:13px;display:flex}.preview-tile .meta strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:14px}.svg-dropzone{border:2px dashed var(--color-border-strong);text-align:center;color:var(--color-text-muted);cursor:pointer;border-radius:10px;padding:16px;font-size:12px;transition:all .16s}.svg-dropzone:hover,.svg-dropzone.dragover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.svg-dropzone:hover,.svg-dropzone.dragover{background:color-mix(in srgb,var(--color-accent)5%,transparent)}}@media(max-width:1024px){.editor-shell{grid-template-rows:1fr;grid-template-columns:1fr;height:100dvh}.editor-panel{display:none}.editor-canvas-wrap{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.image-strip{bottom:72px}.editor-shell:has(.mobile-controls-drawer)>.editor-content .image-strip{display:none}.image-strip-thumb .close-btn{display:flex}body:has(.editor-shell) .site-header{display:none}body:has(.editor-shell):not(.mobile-editor-drawer-open) .site-header{display:block}body:has(.editor-shell):not(.mobile-editor-drawer-open) .editor-shell{height:calc(100dvh - 68px)}}.mobile-tabbar{z-index:80;background:var(--color-bg-elevated);display:none;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.mobile-tabbar{background:color-mix(in srgb,var(--color-bg-elevated)92%,transparent)}}.mobile-tabbar{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);padding:4px 12px max(8px,env(safe-area-inset-bottom))}.mobile-tabbar-row{background:var(--color-bg-muted);border-radius:12px;grid-template-columns:repeat(4,1fr);max-width:400px;margin:0 auto;padding:4px;display:grid}.mobile-tab{color:var(--color-text-muted);letter-spacing:.02em;border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-height:48px;padding:8px 4px;font-size:10px;font-weight:600;transition:color .15s,background .15s;display:flex}.mobile-tab.active{color:var(--color-accent);background:var(--color-bg-elevated);box-shadow:0 1px 3px #00000014}.mobile-tab svg{width:20px;height:20px}@media(max-width:1024px){.mobile-tabbar{display:block}}.fab-stack{z-index:55;flex-direction:column;gap:8px;display:none;position:fixed;bottom:80px;right:16px}.fab{background:var(--color-text);width:48px;height:48px;color:var(--color-bg);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;display:flex}.fab.accent{background:var(--color-accent);color:#fff}@media(max-width:1024px){.fab-stack{display:flex}}.mobile-controls-drawer{top:0;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:75;background:var(--color-bg-elevated);flex-direction:column;animation:.2s ease-out drawerSlideUp;display:none;position:fixed}@keyframes drawerSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.mobile-controls-drawer{display:flex}}.mobile-controls-drawer-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px 10px;display:flex}.mobile-controls-drawer-header h3{letter-spacing:-.01em;font-size:15px;font-weight:700}.mobile-drawer-stage-wrap{touch-action:none;border:1px solid var(--color-border);width:min(100vw - 48px,340px);height:min(100vw - 48px,340px);max-height:calc(100vh - 340px);box-shadow:var(--shadow-lg);border-radius:4px;justify-content:center;align-items:center;margin:4px auto;display:flex;overflow:hidden}.mobile-drawer-stage-wrap .canvas-stage{box-shadow:none;border:none}.mobile-drawer-canvas-section{flex-shrink:0;padding:0}.mobile-drawer-canvas-section .image-strip{max-width:100%;margin:0 auto;padding-top:4px;padding-bottom:4px;position:static;transform:none}.mobile-drawer-panels-section{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:12px 16px 24px;overflow-y:auto}@media(max-width:1024px)and (max-height:500px){.mobile-controls-drawer{max-height:40dvh}}@media(max-width:480px){.mobile-controls-drawer-header{padding:10px 16px 8px}}.mobile-export-info-bar{background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;font-size:12px;font-weight:500;display:flex}.mobile-export-info-item{white-space:nowrap;align-items:center;gap:4px;display:flex}.mobile-export-info-item strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700}.mobile-export-info-size{color:var(--color-accent);font-size:13px;font-weight:700}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.template-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);cursor:pointer;border-radius:16px;transition:border .2s,transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #0000000a}.template-card:hover{border-color:var(--color-text);transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.template-thumb{aspect-ratio:4/3;border-radius:16px 16px 0 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.template-thumb svg{width:65%;height:65%}.template-info{padding:16px}.template-info h4{margin-bottom:4px;font-size:15px}.template-info .meta{color:var(--color-text-muted);gap:6px;font-size:12px;display:flex}.template-info .meta span:not(:last-child):after{content:"•";color:var(--color-text-subtle);margin-left:6px}.faq-list{flex-direction:column;gap:8px;display:flex}.faq-item{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.faq-q{text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 20px;font-size:15px;font-weight:600;display:flex}.faq-q:hover{background:var(--color-bg-muted)}.faq-icon{width:24px;height:24px;color:var(--color-text-muted);flex-shrink:0;transition:transform .2s}.faq-item.open .faq-icon{color:var(--color-accent);transform:rotate(45deg)}.faq-a{color:var(--color-text-muted);padding:0 20px 20px;font-size:14px;line-height:1.65;display:none}.faq-item.open .faq-a{display:block}.table-wrap{overflow-x:auto}.platform-table{border-collapse:collapse;width:100%;font-size:14px}.platform-table thead{display:none}.platform-table tbody{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.platform-table tr{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:4px;padding:20px;display:flex}.platform-table td{color:var(--color-text-muted);font-size:13px;line-height:1.5}.platform-table td:first-child{color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.platform-table td:last-child{color:var(--color-text-subtle);font-size:12px}.platform-table td:last-child:before{content:"Best shape: "}.platform-table td:last-child{font-weight:600}@media(min-width:768px){.platform-table thead{display:table-header-group}.platform-table tbody{display:table-row-group}.platform-table tr{background:0 0;border:none;border-radius:0;padding:0;display:table-row}.platform-table td,.platform-table th{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px}.platform-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:11px;font-weight:600}.platform-table td:first-child{text-transform:none;letter-spacing:normal;color:var(--color-text);font-size:14px;font-weight:600}.platform-table td:last-child{color:var(--color-text-muted);font-size:13px;font-weight:400}.platform-table td:last-child:before{content:none}.platform-table tbody tr:hover{background:var(--color-bg-muted)}}.tutorial-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px;display:grid}.tutorial-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:16px;padding:28px;transition:border .2s,transform .2s}.tutorial-card:hover{border-color:var(--color-text);transform:translateY(-2px)}.tutorial-card .num{color:var(--color-text-muted);letter-spacing:.1em;margin-bottom:12px;font-size:11px;font-weight:600}.tutorial-card h3{margin-bottom:10px;font-size:19px}.tutorial-card p{color:var(--color-text-muted);margin-bottom:16px;font-size:14px;line-height:1.6}.tutorial-card .meta{color:var(--color-text-subtle);gap:12px;font-size:12px;display:flex}.tutorial-card{cursor:pointer}.blog-content{color:var(--color-text);overflow-wrap:break-word;word-break:break-word;line-height:1.8}.blog-content h2{letter-spacing:-.02em;margin:40px 0 16px;font-size:24px;font-weight:700;line-height:1.3}.blog-content h2:first-of-type{margin-top:0}.blog-content h3{margin:28px 0 10px;font-size:18px;font-weight:600;line-height:1.3}.blog-content p{color:var(--color-text-muted);margin-bottom:16px;font-size:15px;line-height:1.8}.blog-content ul{margin:0 0 20px;padding-left:24px}.blog-content ul li{color:var(--color-text-muted);margin-bottom:6px;font-size:15px;line-height:1.7}.blog-content ul li strong{color:var(--color-text)}.blog-content a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.blog-content a:hover{opacity:.8}.blog-content .btn{text-decoration:none}.blog-content .tip{background:var(--color-bg-muted);border-left:4px solid var(--color-accent);color:var(--color-text-muted);border-radius:10px;margin:24px 0;padding:16px 20px;font-size:14px;line-height:1.7}.blog-content hr{border:none;border-top:1px solid var(--color-border);margin:48px 0}.tutorial-overlay{z-index:90;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.tutorial-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:20px;width:100%;max-width:640px;max-height:85vh;padding:32px 36px;animation:.25s slideUp;position:relative;overflow-y:auto}.tutorial-modal-close{background:var(--color-bg-muted);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:16px;right:16px}.tutorial-modal-close:hover{background:var(--color-bg-strong);color:var(--color-text)}.tutorial-modal-header{margin-bottom:24px}.tutorial-modal-header .num{color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:8px;font-size:12px}.tutorial-modal-header h2{margin-bottom:10px;font-size:24px}.tutorial-modal-header .desc{color:var(--color-text-muted);font-size:15px;line-height:1.6}.tutorial-modal-body h4{margin:20px 0 8px;font-size:16px}.tutorial-modal-body p{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;line-height:1.7}.tutorial-modal-body .tip{margin-top:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.tutorial-overlay{align-items:flex-end;padding:12px}.tutorial-modal{border-radius:20px 20px 0 0;max-height:90vh;padding:24px 20px}}.about-hero h1{margin-bottom:20px;font-size:clamp(2rem,5vw,4rem)}.about-content{grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;display:grid}.about-content h2{margin-bottom:16px;font-size:24px}.about-content p{color:var(--color-text-muted);margin-bottom:16px;font-size:15px;line-height:1.7}.stack-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;display:grid}.stack-item{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:10px;padding:14px 16px}.stack-item .name{font-size:14px;font-weight:600}.stack-item .desc{color:var(--color-text-muted);margin-top:2px;font-size:12px}@media(max-width:768px){.about-content{grid-template-columns:1fr;gap:40px}}.panel-disabled{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}.toast-host{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-lg);text-align:center;border-radius:10px;align-items:center;gap:10px;max-width:420px;padding:12px 18px;font-size:13px;font-weight:500;animation:.24s cubic-bezier(.4,0,.2,1) toastIn;display:flex}.toast.success{background:var(--color-success);color:#fff}.toast.danger{background:var(--color-danger);color:#fff}.toast.info{background:var(--color-info);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.toast-host{top:12px;left:50%;transform:translate(-50%)}.toast{max-width:none}}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-accent{color:var(--color-accent)}.hide{display:none!important}.divider{background:var(--color-border);border:0;height:1px;margin:16px 0}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.no-select{-webkit-user-select:none;user-select:none}.export-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.export-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:20px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;padding:32px;animation:.25s slideUp;display:flex;position:relative}.export-modal-close{background:var(--color-bg-muted);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:16px;right:16px}.export-modal-close:hover{background:var(--color-bg-strong);color:var(--color-text)}.export-modal-preview{background:linear-gradient(45deg,var(--checker-dark)25%,transparent 25%),linear-gradient(-45deg,var(--checker-dark)25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--checker-dark)75%),linear-gradient(-45deg,transparent 75%,var(--checker-dark)75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;background-color:var(--checker-light);border-radius:12px;justify-content:center;align-items:center;width:100%;max-height:400px;display:flex;overflow:hidden}.export-modal-preview img{object-fit:contain;max-width:100%;max-height:400px;display:block}.export-modal-meta{width:100%;color:var(--color-text-muted);justify-content:space-between;font-size:13px;display:flex}.export-modal-estimate{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}html,body{overflow-x:hidden}img,svg,video,canvas,audio,iframe,embed,object{max-width:100%;height:auto}.blog-content,.hero-sub,.shape-page-text,.feature-card p,.faq-a,.tutorial-card p,.about-text p,.footer-text,.template-info,.tutorial-modal-body p,.faq-q span,.contact-form p{overflow-wrap:break-word;word-break:break-word}@media(pointer:coarse){.nav-link{padding:10px 14px}.mobile-menu-btn,.theme-toggle-btn{width:44px;height:44px}.btn-icon{width:44px;height:44px;min-height:44px}.faq-q{min-height:48px}.shape-item,.cat-tab,.format-pill,.filter-preset{min-height:44px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px}input[type=range]::-moz-range-thumb{width:20px;height:20px}}.howto-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;align-items:flex-start;gap:16px;padding:24px;display:flex}.howto-num{color:var(--color-accent);flex-shrink:0;min-width:40px;font-size:32px;font-weight:800;line-height:1}.howto-card h3{margin-bottom:4px;font-size:18px}.howto-card p{color:var(--color-text-muted);margin:0;font-size:15px}.contact-form-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:20px;flex-direction:column;gap:20px;padding:32px 36px 36px;display:flex}.image-strip{flex-wrap:nowrap}@media(min-width:1280px){.editor-shell{grid-template-columns:340px 1fr 340px}}@media(min-width:1440px){.editor-shell{grid-template-columns:360px 1fr 360px}}@media(max-width:480px){.nav-container{padding:0 16px}.breadcrumbs{padding:10px 16px 0}.breadcrumbs ol{gap:6px;font-size:12px}.hero{padding:40px 16px 32px}.hero-title{font-size:clamp(1.6rem,7vw,2.2rem)}.hero-sub{margin-bottom:24px;font-size:15px}.hero-cta{flex-direction:column}.hero-cta .btn{justify-content:center;width:100%}.hero-meta{grid-template-columns:1fr;gap:8px}.hero-meta-item{padding:12px}.hero-meta-item .value{font-size:17px}.hero-visual{gap:6px}.hero-tile{border-radius:10px}.showcase-strip{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.showcase-item{border-radius:12px;padding:8px}.showcase-item svg{width:38%;height:38%}.showcase-label{margin-top:3px;font-size:10px}.eyebrow{letter-spacing:.08em;margin-bottom:6px;font-size:11px}.page-section{padding:28px 16px}.page-section:has(.btn-primary.btn-lg){min-height:220px;padding:32px 16px}.page-section:has(.btn-primary.btn-lg) h2{margin-bottom:8px!important;font-size:clamp(1.4rem,6vw,2rem)!important}.page-section:has(.btn-primary.btn-lg) p{margin-bottom:20px!important;font-size:14px!important}.page-section:has(.btn-primary.btn-lg) .btn-lg{padding:12px 20px!important;font-size:14px!important}.page-section>.container>div[style*=margin-bottom]{margin-bottom:24px!important}.display-lg{font-size:clamp(1.5rem,6vw,2rem)}.display-md{font-size:clamp(1.2rem,4vw,1.5rem)}.container{padding:0}.feature-grid{gap:16px}.feature-card{padding:20px}.feature-card .icon{width:36px;height:36px}.feature-card h3{font-size:14px}.feature-card p{font-size:13px}.site-footer{padding:32px 16px 20px}.footer-grid{gap:20px}.footer-brand p{margin-top:8px;font-size:13px}.footer-col a{font-size:13px}.footer-bottom{margin-top:24px;padding-top:12px;font-size:12px}.tutorial-card{padding:20px}.tutorial-card h3{font-size:17px}.about-content{gap:32px;margin-top:32px}.about-content h2{font-size:20px}.about-hero h1{font-size:clamp(1.5rem,5vw,2rem)}.blog-content{padding:0}.blog-content h2{margin:28px 0 12px;font-size:20px}.blog-content p,.blog-content ul li{font-size:14px}.faq-q{padding:12px 14px;font-size:13px}.faq-a{padding:0 14px 14px;font-size:12px}.container-narrow>div[style*=margin-bottom]{margin-bottom:20px!important}.container-narrow>div[style*=margin-bottom]>.text-muted{font-size:13px!important}.export-modal{margin:0 12px;padding:24px 20px}.tutorial-modal{padding:20px 16px}.tutorial-modal-header h2{font-size:20px}.canvas-empty-state{padding:24px}.canvas-empty-state h2{font-size:18px}.canvas-empty-state p{font-size:13px}.canvas-empty-state svg{width:48px;height:48px}.mobile-menu-content{padding:16px}.mobile-menu-content a{padding:14px 12px;font-size:18px}.howto-card{flex-direction:column;gap:8px;padding:16px}.howto-num{min-width:28px;font-size:20px}.howto-card h3{font-size:16px}.howto-card p{font-size:14px}.contact-form-card{border-radius:16px;padding:20px 16px 24px}.image-strip{gap:6px;padding:6px}.image-strip-thumb,.image-strip-add{width:36px;height:36px}.templates-grid{grid-template-columns:repeat(3,1fr);gap:10px}.template-card{border-radius:12px}.template-thumb{border-radius:12px 12px 0 0}.template-thumb svg{width:50%;height:50%}.template-info{padding:10px}.template-info h4{font-size:13px}.template-info .meta{gap:4px;font-size:11px}.stack-grid{grid-template-columns:1fr}.tutorial-grid{gap:16px}.platform-table{margin-top:0}.platform-table tbody{grid-template-columns:1fr;gap:8px}.platform-table tr{gap:2px;padding:12px}.platform-table td{font-size:12px}.platform-table td:first-child{text-transform:none;letter-spacing:normal;font-size:12px}.page-section>.container>div>.text-muted{font-size:14px!important}.page-section>.container>div[style*=margin-bottom]>.display-md{margin-bottom:6px!important}.shape-grid{grid-template-columns:repeat(3,1fr);gap:6px}.shape-item{border-width:1.5px;border-radius:8px;padding:6px}.format-grid{grid-template-columns:repeat(2,1fr)}.bottom-sheet-body{padding:12px 16px 24px}.bottom-sheet-header{padding:6px 16px 10px}.live-preview{gap:10px;padding:10px}.live-preview-canvas{width:60px;height:60px}.fab-stack{bottom:74px;right:12px}.fab{width:44px;height:44px}.sample-image-toggle{display:none}}@media(min-width:481px)and (max-width:768px){.nav-container{padding:0 20px}.hero{padding:60px 20px 48px}.hero-title{font-size:clamp(1.8rem,5vw,2.5rem)}.hero-sub{font-size:16px}.hero-cta .btn{padding:10px 16px;font-size:13px}.page-section{padding:48px 20px}.display-lg{font-size:clamp(1.8rem,4vw,2.5rem)}.site-footer{padding:48px 20px 28px}.tutorial-modal{padding:24px 20px}.templates-grid{grid-template-columns:repeat(2,1fr)}.contact-form-card{padding:28px 24px 32px}.howto-card{padding:20px}}@media(min-width:769px)and (max-width:1024px){.hero-grid{gap:40px}.feature-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.templates-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1025px)and (max-width:1279px){.editor-shell{grid-template-columns:280px 1fr 280px}.panel-content{padding:12px}.shape-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.hero-visual{grid-template-columns:repeat(3,1fr)}}@media(max-width:400px){.hero-meta-item .value{font-size:15px}.btn{min-height:40px;padding:10px 16px;font-size:13px}.btn-sm{min-height:32px;padding:6px 10px;font-size:12px}.howto-card{flex-direction:column;gap:8px}.howto-num{min-width:unset}.templates-grid{gap:8px}.template-info{padding:8px}.template-info h4{font-size:12px}.template-thumb svg{width:45%;height:45%}.tutorial-card{padding:16px}.tutorial-card h3{font-size:15px}.tutorial-card p{font-size:12px}.feature-card{border-radius:12px;padding:16px}.showcase-strip{gap:8px}.showcase-item{border-radius:12px}.showcase-label{font-size:11px}}@media(max-height:500px)and (orientation:landscape){.editor-canvas-wrap{padding-bottom:0}.mobile-tabbar{padding:4px 0 max(4px,env(safe-area-inset-bottom))}.mobile-tab{min-height:44px;padding:4px}.mobile-tab svg{width:18px;height:18px}.bottom-sheet{height:70vh;max-height:70vh}.bottom-sheet.compact{height:40vh;max-height:40vh}.canvas-toolbar{top:8px}.image-strip{bottom:8px}.hero{padding:32px 20px 24px}.page-section{padding:32px 20px}}@media(min-width:1920px){.container,.hero-grid,.nav-container,.footer-grid{max-width:1600px}.editor-shell{grid-template-columns:380px 1fr 380px}}@supports (padding:env(safe-area-inset-bottom)){.site-footer{padding-bottom:calc(30px + env(safe-area-inset-bottom))}.mobile-menu-content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.export-modal-overlay{padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left)}}.editor-info-text{z-index:1;background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;border-radius:8px;max-width:480px;padding:10px 16px;font-size:12px;line-height:1.5;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}@media(max-width:1024px){.editor-info-text{max-width:calc(100% - 32px);padding:10px 14px;font-size:12px;bottom:72px}}@media(max-width:520px){.editor-info-text{max-width:calc(100% - 24px);padding:8px 12px;font-size:11px;line-height:1.4;bottom:68px}}@media print{.site-header,.mobile-menu,.mobile-tabbar,.fab-stack,.canvas-toolbar,.editor-info-text,.bottom-sheet,.bottom-sheet-overlay{display:none!important}.page-section{padding:24px 0}body{color:#000;background:#fff}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
