@font-face{font-family:__Fraunces_9e76a7;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:__Fraunces_9e76a7;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:__Fraunces_9e76a7;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:__Fraunces_9e76a7;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:__Fraunces_9e76a7;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:__Fraunces_9e76a7;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:__Fraunces_9e76a7;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:__Fraunces_9e76a7;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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:__Fraunces_9e76a7;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:__Fraunces_Fallback_9e76a7;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_9e76a7{font-family:__Fraunces_9e76a7,__Fraunces_Fallback_9e76a7;font-style:normal}.__variable_9e76a7{--font-display:"__Fraunces_9e76a7","__Fraunces_Fallback_9e76a7"}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-sans:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{--bg:#0c0c0e;--bg-2:#121215;--panel:#161619;--panel-2:#1c1c21;--ink:#f4f4f2;--muted:#9a9aa2;--faint:#6a6a72;--line:hsla(0,0%,100%,.09);--line-2:hsla(0,0%,100%,.16);--accent:#e7b57e;--accent-soft:hsla(31,69%,70%,.14);--accent-ink:#1b1206;--danger:#f2999a;--on-primary:#101012;--radius:20px;--display:var(--font-display),"Iowan Old Style","Palatino Linotype",Palatino,Georgia,ui-serif,serif;--sans:var(--font-sans),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}:root[data-theme=light]{--bg:#f4f2ee;--bg-2:#eae8e2;--panel:#fff;--panel-2:#f2f0ea;--ink:#1b1a17;--muted:#63605a;--faint:#9a958c;--line:rgba(0,0,0,.1);--line-2:rgba(0,0,0,.17);--accent:#b06d2c;--accent-soft:rgba(176,109,44,.12);--danger:#c0362f;--on-primary:#f7f5f1}:root[data-theme=light] body{background-image:radial-gradient(900px 500px at 82% -8%,rgba(176,109,44,.07),transparent 60%),radial-gradient(700px 500px at 8% 0,rgba(0,0,0,.03),transparent 55%)}:root[data-theme=light] .site-header{background:hsla(40,21%,95%,.82)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 500px at 82% -8%,hsla(31,69%,70%,.08),transparent 60%),radial-gradient(700px 500px at 8% 0,hsla(0,0%,100%,.04),transparent 55%);background-attachment:fixed}a{color:inherit}button,input,select{font:inherit}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 32px;background:rgba(12,12,14,.72);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:600;text-decoration:none;font-size:18px;letter-spacing:.28em;text-indent:.28em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:var(--accent);border:1px solid var(--line-2);border-radius:10px;background:var(--accent-soft)}.nav-links{display:flex;gap:26px;color:var(--muted);font-weight:500;font-size:13px;letter-spacing:.04em}.nav-links a{transition:color .15s}.nav-links a:hover{color:var(--ink)}.ghost-link,.header-cta,.nav-links a,.primary-link{text-decoration:none}.header-cta,.primary-button,.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--ink);color:var(--on-primary);padding:12px 20px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}.header-right{display:flex;align-items:center;gap:14px}.theme-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-2);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.theme-toggle:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.header-cta:hover,.primary-button:hover,.primary-link:hover{transform:translateY(-1px);box-shadow:0 14px 40px hsla(31,69%,70%,.18)}.primary-button:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.ghost-button,.ghost-link,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--ink);padding:12px 20px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.ghost-button:hover,.ghost-link:hover,.secondary-button:hover{border-color:var(--accent);background:var(--accent-soft)}.secondary-button:disabled{opacity:.4;cursor:not-allowed}.hero{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:56px;gap:56px;align-items:center;max-width:1180px;margin:0 auto;padding:96px 32px 56px}.eyebrow{margin:0 0 18px;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:22px;max-width:780px;font-size:clamp(46px,7vw,88px);line-height:.98;letter-spacing:-.02em}h1,h2{font-family:var(--display);font-weight:300}h2{max-width:760px;font-size:clamp(30px,4vw,50px);line-height:1.04;letter-spacing:-.015em}h3{font-weight:600;letter-spacing:.01em}.hero-text{max-width:560px;color:var(--muted);font-size:18px;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-card{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--panel),var(--bg-2));box-shadow:0 40px 90px rgba(0,0,0,.55),inset 0 1px 0 hsla(0,0%,100%,.04)}.sample-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;min-height:380px}.sample-grid div{position:relative;display:flex;align-items:flex-end;padding:12px;border-radius:14px;border:1px solid var(--line);background-size:cover;background-position:top;color:#f2f2f0;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;filter:grayscale(.35) contrast(1.02);box-shadow:inset 0 -60px 50px -30px rgba(0,0,0,.85)}.sample-grid div:first-child{background-image:url(/samples/01_reference.png)}.sample-grid div:nth-child(2){background-image:url(/samples/02_basic_shapes.png);background-position:50%}.sample-grid div:nth-child(3){background-image:url(/samples/03_proportions.png)}.sample-grid div:nth-child(4){background-image:url(/samples/05_shadow_map.png)}.generator-card,.section{max-width:1180px;margin:56px auto;padding:44px 32px}.generator-card{border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,var(--panel),var(--bg-2));box-shadow:0 40px 90px rgba(0,0,0,.45)}.generator-header p{max-width:620px;color:var(--muted);line-height:1.75}.generator-grid{display:grid;grid-template-columns:380px 1fr;grid-gap:26px;gap:26px;margin-top:34px}.result-panel,.upload-panel{border:1px solid var(--line);border-radius:20px;background:var(--bg);padding:20px}.upload-box{position:relative;display:grid;place-items:center;min-height:300px;border:1px dashed var(--line-2);border-radius:16px;background:var(--panel);cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s}.upload-box:hover{border-color:var(--accent);background:var(--panel-2)}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-placeholder{display:grid;place-items:center;grid-gap:8px;gap:8px;text-align:center;color:var(--muted)}.upload-placeholder svg{color:var(--accent)}.upload-placeholder strong{color:var(--ink);font-weight:600}.upload-placeholder small{color:var(--faint);letter-spacing:.04em}.preview-image{width:100%;height:100%;max-height:420px;object-fit:cover}.file-name{margin:12px 0 0;color:var(--muted);font-size:13px}.style-list{margin:24px 0}.style-list h3{margin-bottom:8px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.check-row{display:flex;align-items:center;gap:12px;padding:12px 0;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}.check-row input,.output-option input{width:17px;height:17px;accent-color:var(--accent)}.result-panel{min-height:540px}.empty-result{display:grid;place-items:center;align-content:center;grid-gap:6px;gap:6px;height:100%;min-height:460px;text-align:center;color:var(--faint)}.empty-result svg{color:var(--line-2)}.empty-result h3{color:var(--muted);font-weight:500}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.prompt-box,.prompt-preview{margin-top:18px;color:var(--muted)}.prompt-box summary,.prompt-preview summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:13px;letter-spacing:.02em}.prompt-box pre,.prompt-preview pre{overflow:auto;white-space:pre-wrap;margin-top:12px;padding:16px;border-radius:12px;background:#000;border:1px solid var(--line);color:#d9d9d6;font-size:12px;line-height:1.65}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-top:34px}.feature-grid article,.roadmap-item{padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--panel),var(--bg-2));transition:border-color .2s,transform .2s}.feature-grid article:hover{border-color:var(--line-2);transform:translateY(-2px)}.feature-grid svg,.roadmap-item svg{color:var(--accent)}.feature-grid h3{margin:14px 0 8px}.feature-grid p{color:var(--muted);line-height:1.65;font-size:14px}.alt{border:1px solid var(--line);border-radius:28px;background:var(--bg-2)}.roadmap{display:grid;grid-gap:12px;gap:12px;margin-top:26px}.roadmap-item{gap:12px;font-weight:500;color:var(--muted)}.roadmap-item,footer{display:flex;align-items:center}footer{justify-content:center;gap:14px;padding:52px 32px;color:var(--faint);border-top:1px solid var(--line)}footer strong{color:var(--ink);letter-spacing:.24em;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.add-file-shell{display:grid;grid-template-columns:minmax(340px,.85fr) 1.15fr;grid-gap:40px;gap:40px;align-items:start;max-width:1280px;margin:0 auto;padding:72px 32px}.add-file-input .eyebrow{margin-bottom:8px}.add-file-input h1{font-size:clamp(30px,3vw,44px);line-height:1.05;margin-bottom:12px}.add-file-input>p{max-width:460px;color:var(--muted);font-size:16px;line-height:1.6;margin-bottom:22px}.add-file-output{margin-top:4px}.upload-rules{display:grid;grid-gap:12px;gap:12px;margin-top:22px}.upload-rules div{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:500}.upload-rules svg{color:var(--accent)}.add-file-card{padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--panel),var(--bg-2));box-shadow:0 40px 90px rgba(0,0,0,.45)}.drop-zone{position:relative;display:grid;place-items:center;min-height:390px;border:1px dashed var(--line-2);border-radius:18px;background:var(--bg);overflow:hidden;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.drop-zone.drag-active,.drop-zone:hover{border-color:var(--accent);background:var(--panel);transform:translateY(-1px)}.drop-zone input{position:absolute;inset:0;opacity:0;pointer-events:none}.drop-zone img{width:100%;height:100%;max-height:520px;object-fit:contain;background:#000}.drop-content{display:grid;place-items:center;grid-gap:12px;gap:12px;padding:32px;text-align:center;color:var(--muted)}.drop-content strong{color:var(--ink);font-size:19px;font-weight:600}.drop-content small{max-width:320px;line-height:1.5;color:var(--faint)}.drop-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--line-2)}.remove-file{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink);background:rgba(0,0,0,.6);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.upload-error{margin:12px 0 0;color:var(--danger);font-weight:500;font-size:14px}.file-summary{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.file-summary svg{color:var(--accent)}.file-summary div{display:grid;grid-gap:2px;gap:2px}.file-summary strong{font-weight:600}.file-summary span{color:var(--faint);font-size:13px}.output-selector{margin-top:28px}.output-selector h2{margin-bottom:16px;font-size:22px;font-family:var(--sans);font-weight:600;letter-spacing:0}.output-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.output-option{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--muted);font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.output-option:hover{border-color:var(--line-2);color:var(--ink)}.add-file-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px}.provider-picker{display:flex;flex-direction:column;gap:8px;margin:8px 0}.provider-picker label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.provider-picker select{width:100%;padding:12px 14px;font-size:14px;color:var(--ink);border:1px solid var(--line-2);border-radius:12px;background:var(--panel);cursor:pointer}.provider-picker select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.provider-picker option{background:#161619;color:var(--ink)}.spin{animation:face-spin .9s linear infinite}@keyframes face-spin{to{transform:rotate(1turn)}}.provider-note{margin:0 0 16px;padding:11px 14px;font-size:12.5px;line-height:1.5;color:var(--muted);background:var(--accent-soft);border:1px solid var(--line-2);border-radius:10px}.sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:16px;gap:16px}.sheet-card{margin:0;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--panel);box-shadow:0 18px 40px rgba(0,0,0,.5)}.sheet-card img{display:block;width:100%;height:190px;object-fit:cover;object-position:center top;background:#fff}.sheet-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;font-size:12px;font-weight:500;color:var(--muted);border-top:1px solid var(--line)}.sheet-download{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--accent);border:1px solid var(--line-2);border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .15s}.sheet-download:hover{background:var(--accent-soft)}.add-file-result{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}@media (max-width:900px){.generator-grid,.hero{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}.add-file-shell{grid-template-columns:1fr}.add-file-input{position:static}}@media (max-width:560px){.add-file-shell,.generator-card,.hero,.section,.site-header{padding-left:18px;padding-right:18px}.header-cta{display:none}.feature-grid,.output-grid{grid-template-columns:1fr}.add-file-actions{justify-content:stretch}.add-file-actions button{width:100%}footer{flex-direction:column;text-align:center}}.gallery-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:14px}.gallery-tools .secondary-button{padding:9px 15px;font-size:13px}.sheet-view{position:relative;display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in}.sheet-view img{display:block;width:100%;height:190px;object-fit:cover;object-position:center top}.sheet-zoom{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--ink);background:rgba(0,0,0,.55);opacity:0;transition:opacity .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet-view:focus-visible .sheet-zoom,.sheet-view:hover .sheet-zoom{opacity:1}.sheet-download{cursor:pointer;background:transparent}.add-file-result.rendering{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:500}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-2);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.icon-button:hover{background:var(--accent-soft);border-color:var(--accent)}.lightbox{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:rgba(6,6,8,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:face-fade .15s ease-out}@keyframes face-fade{0%{opacity:0}to{opacity:1}}.lightbox-inner{display:flex;flex-direction:column;gap:14px;max-width:min(920px,92vw);width:100%}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ink);font-weight:600;letter-spacing:.02em}.lightbox-actions{display:flex;align-items:center;gap:10px}.lightbox-inner>img{width:100%;max-height:78vh;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--line-2);box-shadow:0 30px 80px rgba(0,0,0,.6)}.lightbox{color-scheme:dark}.lightbox-bar{color:#f4f4f2}.lightbox .icon-button,.lightbox .secondary-button{color:#f4f4f2;border-color:hsla(0,0%,100%,.24);background:transparent}.lightbox .icon-button:hover,.lightbox .secondary-button:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.45)}.result-error{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:14px;color:var(--danger);background:rgba(192,54,47,.08);border:1px solid rgba(192,54,47,.28);font-weight:500;line-height:1.5}.result-error svg{flex:0 0 auto;margin-top:1px}.empty-result.error-result,.empty-result.error-result svg{color:var(--danger)}.empty-result.error-result h3{color:var(--ink)}.empty-result.error-result p{max-width:340px;color:var(--muted)}.section.history{padding-top:96px}.history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}.history-empty{display:grid;place-items:center;grid-gap:8px;gap:8px;padding:60px 20px;text-align:center;color:var(--faint);border:1px dashed var(--line-2);border-radius:20px}.history-empty svg{color:var(--line-2)}.history-empty h3{color:var(--muted);font-weight:500}.history-empty p{max-width:360px}.history-empty .primary-link{margin-top:10px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px}.history-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--bg-2))}.history-thumb{position:relative;display:block;width:100%;height:170px;padding:0;border:0;background:#fff;cursor:pointer}.history-thumb img{width:100%;height:100%;object-fit:cover;object-position:center top}.history-count{position:absolute;top:10px;right:10px;min-width:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;color:var(--ink);background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.history-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px}.history-meta>div:first-child{display:grid;grid-gap:3px;gap:3px;min-width:0}.history-meta strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta span{color:var(--faint);font-size:12px}.history-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.icon-button.small{width:32px;height:32px;border-radius:8px}.history-open{margin-bottom:32px;padding:20px;border:1px solid var(--line-2);border-radius:20px;background:var(--bg-2)}.history-open-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;color:var(--muted);font-size:13px;font-weight:500}.history-open-bar span{display:inline-flex;align-items:center;gap:8px}.face-analysis{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.fa-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fa-title{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.fa-title svg,.fa-toggle{color:var(--accent)}.fa-toggle{padding:5px 12px;font-size:12px;font-weight:600;background:transparent;border:1px solid var(--line-2);border-radius:999px;cursor:pointer}.fa-toggle:hover{background:var(--accent-soft)}.fa-stage{position:relative;display:flex;justify-content:center;border-radius:12px;overflow:hidden;background:#000}.fa-stage>img{display:block;max-width:100%;max-height:460px;object-fit:contain}.fa-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fa-svg .fa-box{fill:none;stroke:var(--accent);stroke-width:2;opacity:.9}.fa-svg .fa-axis{stroke:var(--accent);stroke-width:1.4;stroke-dasharray:6 6;opacity:.7}.fa-svg .fa-line{stroke:#fff;stroke-width:1.4;stroke-dasharray:5 5;opacity:.75}.fa-svg .fa-label{fill:#fff;font-weight:600;paint-order:stroke;stroke:rgba(0,0,0,.7);stroke-width:3px;dominant-baseline:middle}.fa-svg .fa-feature{fill:none;stroke:var(--accent);stroke-width:1.4;opacity:.55}.fa-svg circle{fill:var(--accent);opacity:.75}.fa-overlay-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;color:#f4f4f2;background:rgba(0,0,0,.55);font-weight:500;font-size:14px}.fa-readout{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fa-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:999px;background:var(--panel)}.fa-pill.ok{color:var(--accent);border-color:var(--line-2)}.intent-block{margin-top:26px}.intent-block h2{margin-bottom:14px;font-size:20px;font-family:var(--sans);font-weight:600;letter-spacing:0}.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.intent-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s}.intent-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.intent-card svg{color:var(--faint);transition:color .15s}.intent-card strong{color:var(--ink);font-size:14px;font-weight:600}.intent-card span{font-size:12px;line-height:1.35}.intent-card.active{border-color:var(--accent);background:var(--accent-soft)}.intent-card.active svg{color:var(--accent)}.control-label{margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.intent-hint{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.intent-hint strong{color:var(--ink);font-weight:600}.intent-hint.warn{padding:10px 12px;border-radius:10px;color:var(--danger);background:rgba(192,54,47,.08);border:1px solid rgba(192,54,47,.24)}.output-selector{margin-top:22px}@media (max-width:560px){.intent-grid{grid-template-columns:1fr 1fr}}.preset-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}.preset-bar select{flex:1 1 160px;min-width:140px;padding:9px 12px;font-size:13px;color:var(--ink);border:1px solid var(--line-2);border-radius:10px;background:var(--panel);cursor:pointer}.preset-bar .sheet-download{cursor:pointer}.compare{position:relative;border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--line-2);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:ew-resize}.compare,.compare-base{width:100%;max-height:78vh}.compare-base{display:block;object-fit:contain;background:#fff}.compare-top{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111}.compare-divider{position:absolute;top:0;bottom:0;width:2px;background:hsla(0,0%,100%,.9);transform:translateX(-1px);pointer-events:none}.compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;background:rgba(0,0,0,.7);font-size:13px;letter-spacing:2px}.compare-handle,.compare-tag{border-radius:999px;color:#fff}.compare-tag{position:absolute;bottom:10px;padding:3px 9px;font-size:11px;font-weight:600;letter-spacing:.06em;background:rgba(0,0,0,.55);pointer-events:none}.compare-tag.left{left:10px}.compare-tag.right{right:10px}.secondary-button.is-on{border-color:var(--accent);background:var(--accent-soft)}.lineart-controls{margin-top:8px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.lineart-controls>summary{cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.lineart-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:14px}.lineart-grid .provider-picker{margin:0}@media (max-width:560px){.lineart-grid{grid-template-columns:1fr}}.photo-adjust{margin-top:8px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.photo-adjust>summary{cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.adjust-body{display:grid;grid-template-columns:minmax(0,200px) 1fr;grid-gap:18px;gap:18px;margin-top:14px}.adjust-preview{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg-soft,#0000000d);align-self:start}.adjust-preview img{display:block;width:100%;height:auto}.adjust-badge{position:absolute;left:6px;bottom:6px;font-size:10px;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.6);color:#fff}.adjust-controls{display:flex;flex-direction:column;gap:12px}.adjust-modes{display:inline-flex;gap:6px}.adjust-modes button{flex:1 1;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.adjust-modes button.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.adjust-slider{display:flex;flex-direction:column;gap:5px}.adjust-slider>span{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.adjust-slider em{font-style:normal;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adjust-slider input[type=range]{width:100%;accent-color:var(--accent)}.adjust-slider.disabled{opacity:.4}.adjust-actions{display:inline-flex;gap:8px;margin-top:2px}@media (max-width:560px){.adjust-body{grid-template-columns:1fr}.adjust-preview{max-width:220px}}.sheet-actions{display:inline-flex;align-items:center;gap:6px}.section.learn{padding-top:96px}.learn-lead{max-width:680px;color:var(--muted);font-size:17px;line-height:1.75;margin-bottom:32px}.skill-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px;margin-bottom:40px}.skill-card{position:relative;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--panel),var(--bg-2))}.skill-num{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-soft);border:1px solid var(--line-2);margin-bottom:10px}.skill-card h3{margin-bottom:8px}.skill-card p{color:var(--muted);font-size:13.5px;line-height:1.6}.skill-cue{margin-top:10px;color:var(--faint);font-style:italic}.learn-studio{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--panel),var(--bg-2));padding:24px}.learn-drop{min-height:260px}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-top:20px}.exercise-card{margin:0;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--panel)}.exercise-card img{display:block;width:100%;height:190px;object-fit:cover;object-position:center top;background:#fff}.exercise-card figcaption{padding:12px 13px;display:grid;grid-gap:4px;gap:4px}.exercise-card figcaption strong{font-size:13px;font-weight:600}.exercise-card figcaption span{color:var(--faint);font-size:12px;line-height:1.5}.coach{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.coach-head{margin-bottom:10px}.coach-title{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.coach-title svg{color:var(--accent)}.coach-lead{max-width:620px;color:var(--muted);line-height:1.7;margin-bottom:14px}.coach-input{width:100%;padding:12px 14px;margin-bottom:12px;font-size:14px;color:var(--ink);border:1px solid var(--line-2);border-radius:12px;background:var(--bg)}.coach-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.coach-note{margin-top:10px;color:var(--faint);font-size:13px}.coach-feedback{margin-top:16px;padding:18px;border:1px solid var(--line-2);border-radius:14px;background:var(--bg);color:var(--ink);line-height:1.7}.coach-feedback p{margin-bottom:12px}.coach-feedback p:last-child{margin-bottom:0}.coach code{background:var(--accent-soft);padding:1px 5px;border-radius:5px;font-size:.9em}.coach-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.coach-chip{padding:7px 13px;font-size:12.5px;font-weight:500;color:var(--ink);background:var(--panel);border:1px solid var(--line-2);border-radius:999px;cursor:pointer;transition:border-color .15s,background .15s}.coach-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.coach-chip:disabled{opacity:.45;cursor:not-allowed}.feature-walkthrough{margin:8px 0 40px}.feature-tip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.feature-tip{display:grid;grid-gap:5px;gap:5px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.feature-tip strong{font-size:13px;font-weight:600}.feature-tip span{color:var(--muted);font-size:13px;line-height:1.6}.mobile-menu{display:none}.mobile-menu-btn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-2);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}.mobile-menu-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.35)}.mobile-menu-panel{position:absolute;top:calc(100% + 8px);right:18px;z-index:50;display:flex;flex-direction:column;gap:4px;min-width:200px;padding:10px;border:1px solid var(--line-2);border-radius:14px;background:var(--panel);box-shadow:0 24px 60px rgba(0,0,0,.45)}.mobile-menu-panel a{padding:12px 14px;border-radius:10px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none}.mobile-menu-panel a:hover{background:var(--accent-soft)}.mobile-menu-cta{margin-top:4px;text-align:center;color:var(--on-primary)!important;background:var(--ink);font-weight:600!important}@media (max-width:720px){.header-cta,.nav-links{display:none}.mobile-menu{display:block}}.doors-section{padding-top:8px}.doors{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.door{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,var(--panel),var(--bg-2));text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}.door:hover{border-color:var(--accent);transform:translateY(-2px)}.door svg{color:var(--accent)}.door h3{margin:6px 0 2px}.door p{color:var(--muted);font-size:14px;line-height:1.65;flex:1 1}.door-go{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;color:var(--accent)}@media (max-width:820px){.doors{grid-template-columns:1fr}}.history-filters{display:flex;align-items:center;gap:10px;margin-bottom:20px}.coach-chip.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.coach-chip{display:inline-flex;align-items:center;gap:6px}.history-engine{padding:7px 12px;font-size:13px;color:var(--ink);border:1px solid var(--line-2);border-radius:999px;background:var(--panel);cursor:pointer}.history-count-label{margin-left:auto;color:var(--faint);font-size:12px}.history-fav{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:rgba(0,0,0,.5);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:.85}.history-fav.on{color:var(--accent)}.history-fav.on svg{fill:var(--accent)}.learn-mode-toggle{display:inline-flex;gap:8px;margin:18px 0 4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}.lesson{margin-top:20px}.lesson-progress{display:flex;align-items:center;gap:10px;margin-bottom:22px}.lesson-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.lesson-dot.current{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.lesson-dot.done{border-color:var(--accent);color:#fff;background:var(--accent)}.lesson-step{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;align-items:start}.lesson-copy h3{font-family:var(--display);font-weight:300;font-size:clamp(24px,3vw,34px);margin-bottom:12px}.lesson-idea{color:var(--muted);line-height:1.75;margin-bottom:12px}.lesson-figure{margin:0;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:var(--panel)}.lesson-figure img{display:block;width:100%;max-height:380px;object-fit:contain;background:#fff}.lesson-figure figcaption{padding:12px 14px;color:var(--muted);font-size:13px;line-height:1.6}.lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}@media (max-width:720px){.lesson-step{grid-template-columns:1fr}}.section.comic{padding-top:96px}.comic-mode{display:inline-flex;gap:6px;margin:24px 0 6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.comic-mode button{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.comic-mode button.active{background:var(--accent);color:var(--on-primary,#fff)}.comic-describe{display:flex;flex-direction:column;gap:14px;max-width:760px;margin:18px 0 8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.comic-situation{min-height:84px;resize:vertical;font-family:inherit;line-height:1.5}.comic-describe-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.comic-describe .provider-picker{margin:0}.comic-generate{align-self:flex-start}.comic-panel-script{display:flex;flex-direction:column;gap:4px;font-size:12.5px;line-height:1.4}.comic-panel-script .comic-scene{color:var(--faint)}.comic-panel-script .comic-speech{font-weight:600}.comic-panel-script .comic-caption{color:var(--muted);font-style:italic}@media (max-width:560px){.comic-describe-row{grid-template-columns:1fr}}.comic-character{margin:24px 0 4px}.comic-char-drop{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;width:100%;justify-content:center;border:1.5px dashed var(--line);border-radius:14px;background:var(--bg);color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.comic-char-drop:hover{border-color:var(--accent);color:var(--accent)}.comic-char-loaded{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.comic-char-loaded img{width:54px;height:54px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.comic-char-loaded>div{flex:1 1;display:flex;flex-direction:column;gap:2px}.comic-char-loaded strong{display:inline-flex;align-items:center;gap:6px;font-size:14px}.comic-char-loaded span{font-size:12.5px;color:var(--faint)}.comic-meta{display:grid;grid-template-columns:1fr 1fr 1.4fr;grid-gap:14px;gap:14px;margin:28px 0}.comic-meta .coach-input,.comic-meta .provider-picker{margin:0}.comic-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.comic-panel{display:grid;grid-gap:8px;gap:8px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--panel),var(--bg-2))}.comic-panel-head{display:flex;align-items:center;justify-content:space-between}.comic-panel-head strong{font-size:13px}.comic-panel .coach-input{margin:0;padding:9px 11px;font-size:13px}.comic-panel .sheet-download{justify-content:center;margin-top:2px}.comic-preview{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#fff;color:var(--faint);font-size:12px}.comic-preview img{width:100%;height:100%;object-fit:contain}.comic-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}@media (max-width:720px){.comic-meta{grid-template-columns:1fr}}