@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_c8daab{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_c8daab{--font-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#f6f6f2;--surface:#ffffff;--ink:#17191b;--muted:#5d6369;--faint:#8b9096;--border:#d8dad3;--border-strong:#17191b;--accent:#0b7c3e;--accent-hover:#096632;--accent-soft:#e7f3ec;--danger:#b42318;--danger-soft:#fdeceb;--radius:6px;--font-sans-stack:var(--font-sans),"Helvetica Neue",Arial,sans-serif;--font-mono-stack:var(--font-mono),"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans-stack);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header .wrap{justify-content:space-between;height:56px}.logo,.site-header .wrap{display:flex;align-items:center}.logo{font-family:var(--font-sans-stack);font-weight:700;font-size:18px;color:var(--ink);letter-spacing:0;line-height:1}.logo:hover{text-decoration:none}.logo-word{display:inline-flex;align-items:baseline}.logo-word-img{color:var(--accent);margin:0 1px}.main-nav{display:flex;gap:22px}.main-nav a{color:var(--muted);font-size:14px;font-weight:500}.main-nav a:hover{color:var(--ink);text-decoration:none}.hero{padding:44px 0 12px;text-align:center}.hero h1{font-size:clamp(28px,4.4vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0 0 10px}.hero .sub{color:var(--muted);font-size:17px;max-width:620px;margin:0 auto}.hero .badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.badge{font-family:var(--font-mono-stack);font-size:12px;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:100px;padding:4px 12px}.badge b{color:var(--accent);font-weight:600}.tool-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:24px;margin:28px 0 8px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px}@media (max-width:800px){.tool-grid{grid-template-columns:1fr}}.field-label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono-stack);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.field-label .count{font-weight:400;color:var(--faint);text-transform:none;letter-spacing:0}.prompt-textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-family:var(--font-sans-stack);font-size:15px;line-height:1.5;padding:12px}.prompt-textarea:focus{outline:none;border-color:var(--accent);background:var(--surface)}.ratio-row{display:flex;flex-wrap:wrap;gap:8px}.ratio-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:7px 11px;font-family:var(--font-mono-stack);font-size:12.5px;color:var(--muted);cursor:pointer}.ratio-pill .box{border:1.5px solid;border-radius:2px;display:inline-block}.ratio-pill:hover{border-color:var(--ink);color:var(--ink)}.ratio-pill[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);background:var(--bg);border-radius:100px;padding:5px 12px;font-size:12.5px;color:var(--muted);cursor:pointer;font-family:var(--font-sans-stack)}.chip:hover{border-color:var(--accent);color:var(--accent)}.generate-btn{width:100%;margin-top:20px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-family:var(--font-sans-stack);font-size:16px;font-weight:600;padding:13px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.generate-btn:hover:not(:disabled){background:var(--accent-hover)}.generate-btn:disabled{opacity:.55;cursor:not-allowed}.error-note{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 12px;border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);font-size:13.5px}.result-frame{position:relative;width:100%;border:1px dashed var(--border);border-radius:var(--radius);background:repeating-conic-gradient(var(--bg) 0 25%,var(--surface) 0 50%) 0 0 /24px 24px;overflow:hidden;display:grid;place-items:center;transition:aspect-ratio .2s ease}.result-empty{display:grid;grid-gap:6px;gap:6px;justify-items:center;color:var(--faint);font-size:13.5px;padding:24px;text-align:center}.result-empty .glyph{font-family:var(--font-mono-stack);font-size:20px;color:var(--border)}.result-media{position:absolute;inset:0}.zoom-btn{position:relative;width:100%;height:100%;border:none;padding:0;background:none;cursor:zoom-in}.zoom-btn img{width:100%;height:100%;object-fit:cover}.zoom-hint{position:absolute;right:10px;bottom:10px;width:30px;height:30px;display:grid;place-items:center;background:rgba(23,25,27,.72);color:#fff;border-radius:4px;font-size:15px}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.btn-primary-sm,.btn-secondary{border-radius:var(--radius);font-family:var(--font-sans-stack);font-size:14px;font-weight:600;padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-primary-sm{border:1px solid var(--accent);background:var(--accent);color:#fff}.btn-primary-sm:hover{background:var(--accent-hover);text-decoration:none}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--ink)}.btn-secondary:hover{border-color:var(--ink);text-decoration:none}.demo-note,.keep-note{margin-top:10px;font-size:12.5px;color:var(--faint)}.demo-note{display:flex;gap:6px;align-items:baseline}.powered-by{margin:18px 0 0;font-family:var(--font-mono-stack);font-size:11.5px;color:var(--faint);text-align:center}.live-progress{display:grid;grid-gap:10px;gap:10px;justify-items:center;width:min(320px,80%)}.lp-timer{font-family:var(--font-mono-stack);font-size:26px;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lp-bar{width:100%;height:6px;background:var(--border);overflow:hidden}.lp-bar,.lp-fill{border-radius:100px}.lp-fill{height:100%;width:0;background:var(--accent);transition:width .3s linear}.lp-status{font-size:13px;color:var(--muted)}.lp-queue{font-family:var(--font-mono-stack);font-size:11.5px;color:var(--faint)}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(15,17,19,.9);display:grid;place-items:center;padding:4vh 4vw;cursor:zoom-out}.lightbox img{max-width:100%;max-height:92vh;border-radius:4px;cursor:default}.lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:1px solid rgba(255,255,255,.4);border-radius:4px;background:none;color:#fff;font-size:17px;cursor:pointer}.dropzone{display:grid;grid-gap:6px;gap:6px;justify-items:center;text-align:center;padding:36px 20px;border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer}.dropzone.is-over,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dz-icon{font-size:20px;color:var(--accent)}.dz-title{font-weight:600;font-size:15px}.dz-hint{font-size:12.5px;color:var(--faint)}.dz-sample{margin-top:8px;border:1px solid var(--border);background:var(--surface);border-radius:100px;padding:5px 14px;font-size:12.5px;color:var(--muted);cursor:pointer}.dz-sample:hover{border-color:var(--accent);color:var(--accent)}.dz-preview{position:relative;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dz-preview img{width:100%;max-height:320px;object-fit:contain;background:var(--bg)}.replace-btn{position:absolute;top:10px;right:10px;border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer}.edited-filter{filter:saturate(1.25) contrast(1.08) brightness(1.03)}.section{padding:44px 0 8px}.section-head{margin-bottom:22px}.section-kicker{font-family:var(--font-mono-stack);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 6px}.section-head h2{font-size:clamp(21px,2.8vw,27px);font-weight:700;letter-spacing:-.02em;margin:0}.section-head p{color:var(--muted);margin:8px 0 0;max-width:640px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}@media (max-width:800px){.feature-grid{grid-template-columns:1fr}}.feature{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px}.feature .f-key{font-family:var(--font-mono-stack);font-size:11px;color:var(--faint);margin-bottom:10px}.feature h3{font-size:15.5px;font-weight:600;margin:0 0 6px}.feature p{font-size:13.5px;color:var(--muted);margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;counter-reset:step}@media (max-width:800px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:520px){.steps{grid-template-columns:1fr}}.step{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px}.step:before{counter-increment:step;content:"0" counter(step);font-family:var(--font-mono-stack);font-size:12px;font-weight:600;color:var(--accent);display:block;margin-bottom:10px}.step h3{font-size:15px;font-weight:600;margin:0 0 6px}.step p{font-size:13.5px;color:var(--muted);margin:0}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}@media (max-width:800px){.example-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.example-grid{grid-template-columns:1fr}}.example{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.example img{aspect-ratio:1/1;object-fit:cover;width:100%;height:auto}.example figcaption{padding:12px 14px}.example .ex-prompt{font-size:13px;color:var(--muted);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.example .ex-try{font-family:var(--font-mono-stack);font-size:12px;font-weight:600;color:var(--accent);background:none;border:none;padding:0;cursor:pointer}.example .ex-try:hover{text-decoration:underline}.faq-list{display:grid;grid-gap:10px;gap:10px;max-width:760px}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.faq-item summary{padding:14px 16px;font-weight:600;font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-mono-stack);color:var(--faint);flex-shrink:0}.faq-item[open] summary:after{content:"−"}.faq-item .faq-a{padding:0 16px 14px;font-size:14px;color:var(--muted);margin:0}.crosslink{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.crosslink h2{font-size:17px;margin:0 0 4px}.crosslink p{font-size:13.5px;color:var(--muted);margin:0}.prose{max-width:720px;padding:40px 0 20px}.prose h1{font-size:clamp(26px,3.6vw,34px);letter-spacing:-.02em;margin:0 0 6px}.prose .updated{font-family:var(--font-mono-stack);font-size:12px;color:var(--faint);margin-bottom:26px}.prose h2{font-size:19px;margin:30px 0 8px}.prose li,.prose p{font-size:15px;color:var(--muted)}.prose strong{color:var(--ink)}.site-footer{margin-top:56px;border-top:1px solid var(--border);background:var(--surface);padding:28px 0}.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}.footer-nav{display:flex;flex-wrap:wrap;gap:18px}.footer-nav a{color:var(--muted);font-size:13.5px}.footer-nav a:hover{color:var(--ink)}.footer-note{font-family:var(--font-mono-stack);font-size:12px;color:var(--faint)}.notfound{text-align:center;padding:90px 0}.notfound .code{font-family:var(--font-mono-stack);font-size:60px;font-weight:600;color:var(--border);margin:0}