/* Shared light theme: white surfaces, readable text and restrained motion. */
:root{color-scheme:light;--paper:#fff;--ink:#111111;--muted:#636363;--line:#e6e6e6;--red:#111111;--lime:#f4f4f4;--panel:#f8f8f8;--dark:#111111;--accent:#111111;--accent-soft:#f4f4f4;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
input{font:inherit}
button{font:inherit;cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip:rect(0,0,0,0);overflow:hidden}
.container{width:min(100%,1400px);padding-inline:clamp(22px,5.2vw,80px);margin-inline:auto}
h3{margin-top:0;font-size:21px;font-weight:500;letter-spacing:-.025em}
p{margin-top:0;color:var(--muted)}
.try-row{display:flex;align-items:center;gap:8px;margin-top:15px;flex-wrap:wrap}
.try-row>span{color:var(--muted);font-size:12px;margin-right:5px}
.hero-assurance{font-size:12px;margin-top:22px;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px}
.section-heading p{font-size:15px;margin-bottom:4px}
.steps-grid article{padding:25px;border-right:1px solid var(--line)}
.steps-grid article:last-child{border-right:0}
.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px}
.toolkit-grid article{padding:30px 24px;border-right:1px solid var(--line);transition:background .3s}
.toolkit-grid article:last-child{border-right:0}
.toolkit-grid article:hover{background:var(--panel)}
.final-cta .eyebrow{justify-content:center}
.final-cta h2{font-size:clamp(42px,5.3vw,74px);margin:25px 0 30px}
footer{padding:40px clamp(22px,5.2vw,80px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
footer>div{display:flex;gap:20px}
footer small{font-size:12px}
footer .brand{font-size:23px}
.panel-section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.basic-input{width:100%}
.prompt-example-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px;font-size:12px;color:var(--muted)}
.idea-panel h2{font-size:23px;margin-bottom:10px}
.idea-cards{display:grid;gap:8px}
.idea-choice small{font-size:12px;color:var(--muted);display:block;margin-top:4px}
.idea-choice>span:last-child{font:12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted)}
.advanced-body select{width:100%}
.select-row{display:flex;gap:8px;margin-top:9px}
.select-row>*{flex:1;min-width:0}
.reference-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ref-pill img{width:28px;height:28px;object-fit:cover}
.ref-pill span{max-width:130px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.ref-pill button{border:0;color:var(--muted);background:transparent;font-size:15px}
.create-actions{display:grid;gap:9px}
.result-frame>img{width:100%;height:100%;object-fit:contain;touch-action:none}
.result-caption{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:16px 0}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.refine-box .small-label{margin-top:0}
.refine-box button{margin-top:9px}
.studio-bottom{border-top:1px solid var(--line);padding-top:45px;margin-top:50px}
.studio-bottom h2{font-size:30px;margin-top:12px}
.inspiration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.inspiration-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}
.status-dot{width:5px;height:5px;border-radius:50%;background:var(--panel)}
.auth-story h1{font-size:clamp(43px,5vw,68px);margin:24px 0}
.auth-panel h2{font-size:25px;margin:20px 0 12px}
.auth-panel label{display:block;margin:18px 0 7px}
.auth-panel input:not([type=checkbox]){width:100%}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:20px;margin-bottom:22px}
.auth-message{margin-top:13px;min-height:18px}
.legal-main{padding-block:60px 70px;max-width:950px}
.legal-main h1{font-size:45px}
.legal-main h2{font-size:25px;margin-top:35px}
.workspace-page{padding-block:45px 70px}
.history-main{padding-block:45px 70px}
.page-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}
.page-title h1{font-size:39px;margin:9px 0}
.history-main h1{font-size:39px;margin:9px 0}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px;align-items:center}
.toolbar input{flex:1;min-width:160px}
.toolbar select{min-width:130px}
.toolbar button{white-space:nowrap}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.history-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.saved-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--panel)}
.saved-card>.saved-image{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--panel)}
.saved-info{padding:15px}
.saved-info p{font-size:12px;color:var(--muted);margin:6px 0}
.saved-info small{font-size:12px;color:var(--muted);margin:6px 0}
.card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}
.card-select{display:flex;gap:7px;align-items:center;padding:8px 12px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
.card-select input{accent-color:var(--accent)}
.empty-state h2{font-size:25px}
.empty-state p{font-size:12px}
.panel h2{font-size:25px;margin-bottom:15px}
.form-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.form-row label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:130px}
.data-table td{border-bottom:1px solid var(--line);padding:13px 8px;overflow-wrap:anywhere}
.table-wrap{overflow-x:auto}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}
.stat strong{display:block;font-size:32px;font-weight:400;letter-spacing:-.04em;margin-top:10px}
.credit-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.credit-pack h2{font-size:25px}
.credit-pack strong{font-size:35px;font-weight:400}
.credit-pack small{color:var(--muted);font-size:12px}
.credit-pack button{margin-top:20px;width:100%}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-card h2{font-size:23px;margin-bottom:12px}
.project-assets{display:flex;gap:12px;flex-wrap:wrap}
.project-assets img{height:90px;object-fit:contain;width:100%;background:var(--panel)}
.project-assets figcaption{font-size:12px;padding-top:8px;overflow-wrap:anywhere}
.dialog h2{font-size:28px}
.dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dialog-grid figure{margin:0}
.dialog-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--panel)}
.dialog label{display:block;margin-bottom:7px}
.dialog input{width:100%;margin-bottom:15px}
.dialog textarea{width:100%;margin-bottom:15px}
.small-preview{max-width:300px;aspect-ratio:16/9;border:1px solid var(--line);margin:20px auto}
.small-preview img{width:100%;height:100%;object-fit:contain}
.editor-grid input{width:100%;padding:7px}
.editor-grid input[type=range]{accent-color:var(--accent);padding:0}
.editor-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.result-frame.is-small{max-width:300px;margin-inline:auto}
.draft-state{font-size:12px;color:var(--muted);margin:8px 0}
.feedback-form textarea{width:100%;margin-block:12px}
.feedback-form select{margin-bottom:12px}
.feedback-form .primary-button{width:100%}
.faq-list details{padding:22px 0;border-bottom:1px solid var(--line)}
.faq-list p{margin-top:15px;max-width:800px}
.help-main{max-width:1000px}
.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.version-list{list-style:none;margin:0;padding:0}
.simple-layout{padding-block:65px}
.simple-layout h1{font-size:50px}
.simple-layout h2{font-size:28px}
.simple-layout ul{color:var(--muted);line-height:1.9}
.reveal-ready [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal-ready [data-reveal].in-view{opacity:1;transform:translateY(0)}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px}
h1{margin-top:0;letter-spacing:-.055em;line-height:1.06;font-weight:500}
h2{margin-top:0;letter-spacing:-.055em;line-height:1.06;font-weight:500}
a:hover{color:var(--accent)}
:focus-visible{outline-offset:4px;outline:3px solid var(--accent)}
.announcement{padding:10px 20px;text-align:center;border-bottom:1px solid var(--line);font-size:12px;display:flex;justify-content:center;align-items:center;gap:10px;background:var(--accent-soft);border-color:#e6e6e6;color:#505050}
.announcement a{color:#333333;text-decoration:underline;text-underline-offset:3px}
.live-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:none}
.site-header{min-height:80px;padding:0 clamp(22px,5.2vw,80px);display:flex;align-items:center;gap:30px;justify-content:space-between;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:#ffffffef}
.brand{font-size:25px;font-weight:700;letter-spacing:-1.1px;display:inline-flex;align-items:center;white-space:nowrap;color:var(--ink)}
.brand>span:first-of-type{color:var(--accent)}
.brand-stop{color:var(--accent)}
.footer-red{color:var(--accent)}
.site-nav{display:flex;gap:28px;align-items:center;font-size:14px}
.nav-actions{display:flex;align-items:center;gap:23px;font-size:14px}
.text-link{font-size:14px}
.top-cta{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--line);padding:13px 20px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;background:var(--ink);color:#fff;border-color:var(--ink);font-size:14px;border-radius:5px}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--line);padding:13px 20px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;background:var(--ink);color:#fff;border-color:var(--ink);font-size:14px;border-radius:5px}
.top-cta:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 16px #11111119}
.primary-button:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 16px #11111119}
.static-cta{background:var(--accent-soft);border-color:#e6e6e6;color:#333333;font-size:12px}
.eyebrow{text-transform:uppercase;display:flex;align-items:center;gap:10px;font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:var(--accent)}
.mini-heading{text-transform:uppercase;display:flex;align-items:center;gap:10px;font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:var(--accent)}
.overline{text-transform:uppercase;display:flex;align-items:center;gap:10px;font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:var(--accent)}
.hero-copy h1>span{color:var(--accent)}
.final-cta h2>span{color:var(--accent)}
.lead{margin-bottom:28px;font-size:18px;max-width:470px;line-height:1.7}
.idea-form{display:flex;border:1px solid var(--line);padding:5px;max-width:500px;background:#fff;border-color:#d1d1d1;border-radius:6px;box-shadow:0 4px 16px #11111105}
.idea-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #11111114}
.idea-form input{flex:1;min-width:0;outline:0;padding:12px;background:transparent!important;border:0!important;font-size:15px}
.idea-form button{padding:12px 17px;border:0;display:flex;align-items:center;gap:22px;font-weight:600;background:var(--accent);color:#fff;border-radius:4px;font-size:14px}
.idea-form button:hover{background:#333333}
.try-row button{font-size:12px;border:1px solid var(--line);padding:5px 9px;background:var(--panel);border-radius:4px;color:#555555}
.try-row button:hover{border-color:var(--accent);color:var(--accent)}
.feature-strip{border-block:1px solid var(--line);padding:22px 5%;display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;color:var(--muted);background:#fafafa;font-size:13px}
.feature-strip span:before{content:'✓';color:var(--accent);margin-right:10px}
.section-block{border-bottom:1px solid var(--line);padding-block:90px}
.section-heading h2{margin:18px 0 0;font-size:clamp(34px,3.6vw,50px)}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden}
.toolkit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden}
.step-number{display:inline-flex;justify-content:center;align-items:center;width:27px;height:27px;background:var(--accent-soft);color:var(--accent);border-radius:50%;font:600 12px Arial,Helvetica,sans-serif}
.step-visual{height:190px;margin-block:20px 28px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid var(--line);gap:12px;overflow:hidden;border-radius:4px;background:var(--panel)}
.visual-prompt>span{font-size:25px;letter-spacing:-1px;color:var(--ink)}
.step-visual small{color:var(--muted);letter-spacing:.05em;font:12px Arial,Helvetica,sans-serif}
.typing-caret{animation:blink 1.3s steps(2) infinite;font-style:normal;color:var(--accent)}
.visual-export>span{font-size:48px;color:var(--accent)}
.visual-stack img{width:85%;transform:none;border-radius:3px;box-shadow:0 5px 16px #1111110d}
.visual-export{background-size:25px 25px;background-image:none}
.steps-grid h3{font-size:20px}
.steps-grid p{line-height:1.75;margin-bottom:5px;font-size:14px}
.toolkit-grid p{line-height:1.75;margin-bottom:5px;font-size:14px}
.example-card{background:none;border:0;padding:0;color:var(--ink);text-align:left;overflow:hidden;border-radius:5px}
.example-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s;border-radius:5px}
.example-card:hover img{transform:scale(1.025);filter:none}
.example-card>span{display:flex;justify-content:space-between;align-items:center;padding-top:16px;font-size:16px;font-weight:600}
.example-card small{letter-spacing:.05em;color:var(--muted);font:12px Arial,Helvetica,sans-serif}
.arrow-link{color:var(--accent);font-size:14px}
.toolkit-grid h3{font-size:19px}
.tool-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);font-size:20px;background:var(--accent-soft);border-color:#e6e6e6;color:var(--accent);border-radius:6px;margin-bottom:28px}
.final-cta{padding-block:110px;text-align:center;background:radial-gradient(ellipse at 50% 100%,#f4f4f4,transparent 68%)}
.final-cta p{margin-top:17px;font-size:13px}
.ticker{justify-content:space-between;padding:14px clamp(22px,5.2vw,80px);border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.1em;font:12px/1.5 Arial,Helvetica,sans-serif;display:none}
.red-mark{width:12px;height:3px;background:var(--accent)}
.studio-main{padding-bottom:50px;padding-top:38px}
.studio-intro{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}
.studio-intro h1{margin:12px 0;font-size:40px}
.studio-intro h1 em{font-style:normal;color:var(--accent)}
.auth-story em{font-style:normal;color:var(--accent)}
.studio-intro p{font-size:15px;margin-bottom:0}
.studio-intro-meta{font:12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);display:none}
.studio-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:32px;align-items:start}
.studio-controls{border:1px solid var(--line);padding:25px;background:#fff;border-radius:7px}
.section-step{display:flex;justify-content:space-between;gap:10px;color:var(--muted);margin-bottom:22px;font:600 12px Arial,Helvetica,sans-serif;letter-spacing:0}
.section-step>span:first-child{color:var(--accent)}
.big-label{display:block;letter-spacing:-.03em;margin-bottom:12px;font-size:21px;font-weight:600}
textarea{font:inherit;border:1px solid var(--line);color:var(--ink);padding:11px 12px;max-width:100%;resize:vertical;min-height:68px;line-height:1.65;width:100%;background:#fff;border-color:#d4d4d4;border-radius:5px}
input:not([type=checkbox]):not([type=radio]){border:1px solid var(--line);color:var(--ink);padding:11px 12px;max-width:100%;background:#fff;border-color:#d4d4d4;border-radius:5px}
select{font:inherit;border:1px solid var(--line);color:var(--ink);padding:11px 12px;max-width:100%;background:#fff;border-color:#d4d4d4;border-radius:5px}
input::placeholder{color:#757575;opacity:1}
textarea::placeholder{color:#757575;opacity:1}
label{font-size:14px}
.small-label{display:block;margin:20px 0 9px;font:600 13px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);letter-spacing:0;text-transform:none}
.small-label span{float:right;color:var(--muted);font-weight:400}
.prompt-example-row button{background:transparent;border:0;padding:3px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--accent);border-bottom-color:#cccccc}
.field-note{line-height:1.7;font-size:13px}
.idea-panel p{line-height:1.7;font-size:13px}
.field-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.idea-choice{display:flex;gap:10px;justify-content:space-between;text-align:left;border:1px solid var(--line);padding:12px;background:#fff;border-radius:5px;color:var(--ink)}
.idea-choice strong{display:block;font-size:14px;font-weight:600}
.idea-choice.active{background:var(--accent-soft);border-color:var(--accent)}
.options summary{display:flex;justify-content:space-between;cursor:pointer;font-size:15px;font-weight:600}
.options summary .plus{font-size:17px;color:var(--accent)}
.checkline{display:flex;align-items:center;gap:9px;margin-top:17px;color:var(--muted);font-size:13px}
input[type=checkbox]{accent-color:var(--accent)}
input[type=radio]{accent-color:var(--accent)}
.ref-buttons{display:flex;gap:6px;flex-wrap:wrap}
.ref-buttons button{border:1px solid var(--line);padding:9px 12px;transition:background .2s,border .2s;background:#fff;border-color:#d8d8d8;color:#454545;font-size:13px;border-radius:5px}
.secondary-action{border:1px solid var(--line);padding:9px 12px;transition:background .2s,border .2s;background:#fff;border-color:#d8d8d8;color:#454545;font-size:13px;border-radius:5px}
.quiet-button{border:1px solid var(--line);padding:9px 12px;transition:background .2s,border .2s;background:#fff;border-color:#d8d8d8;color:#454545;font-size:13px;border-radius:5px}
.ref-buttons button:hover{background:var(--accent-soft);border-color:#999999;color:var(--accent)}
.secondary-action:hover{background:var(--accent-soft);border-color:#999999;color:var(--accent)}
.quiet-button:hover{background:var(--accent-soft);border-color:#999999;color:var(--accent)}
.ref-pill{display:flex;gap:7px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:4px;max-width:100%;font-size:12px;border-radius:4px}
.project-picker{margin-top:22px;background:var(--panel);border:1px solid var(--line);padding:14px;border-radius:5px}
.project-picker summary{cursor:pointer;font-size:13px;color:#515151}
.project-picker .small-label{margin-top:14px}
.project-picker .field-note{margin-bottom:0;font-size:12px}
.generate-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--line);padding:13px 20px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;width:100%;color:#fff;border-radius:5px;background:var(--accent);border-color:var(--accent);font-size:15px}
.generate-button:hover{transform:translateY(-2px);color:#fff;box-shadow:0 5px 16px #11111119;background:#333333;border-color:#333333}
.studio-notice{margin:15px 0 0;line-height:1.8;min-height:22px;font-size:13px}
.studio-notice.bad{color:#b12c43}
.error{color:#b12c43}
.studio-notice.ok{color:#287347}
.success{color:#287347}
.studio-result{min-width:0;align-self:start;position:sticky;top:110px;padding:22px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}
.result-heading{display:flex;justify-content:space-between;color:var(--muted);margin:0 0 12px;font:13px Arial,Helvetica,sans-serif;letter-spacing:0;gap:10px;margin-bottom:14px}
.result-heading>span:first-child{color:var(--ink);font-weight:600}
.result-frame{position:relative;border:1px solid var(--line);aspect-ratio:16/9;overflow:hidden;display:flex;align-items:center;justify-content:center;border-color:#dcdcdc;border-radius:5px;background:#f0f0f0}
.progress-shade{position:absolute;inset:0;backdrop-filter:blur(5px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:30px;text-align:center;background:#fffffff0;color:var(--ink);font-size:14px}
.loading-spinner{width:28px;height:28px;border:2px solid var(--line);border-radius:50%;animation:spin 1s linear infinite;border-color:#dedede;border-top-color:var(--accent)}
.result-caption strong{font-size:15px;font-weight:600}
.result-caption p{margin:5px 0 0;font-size:13px}
.result-sample{padding:4px 6px;border:1px solid var(--line);color:var(--muted);font:11px Arial,Helvetica,sans-serif;background:#fff;border-color:#d8d8d8;border-radius:4px}
.result-actions button{border:1px solid var(--line);padding:12px;display:flex;justify-content:space-between;border-color:#d4d4d4;border-radius:5px;background:#fff;color:var(--ink);font-size:14px}
.result-actions button:first-child{background:var(--ink);border-color:var(--ink);color:#fff}
.refine-box{border:1px solid var(--line);margin-top:14px;padding:15px;background:#fff;border-radius:5px}
.studio-reminder{font-size:12px;color:var(--muted);display:flex;gap:10px;padding:20px 0;padding-bottom:0}
.inspiration-grid button{padding:0;text-align:left;background:transparent;border:1px solid var(--line);border-radius:5px;overflow:hidden;color:var(--ink)}
.inspiration-grid span{display:block;padding:12px;font-size:14px}
.header-status{color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap;font:12px Arial,Helvetica,sans-serif}
.status-dot.on{background:#298250}
.status-dot.off{background:#bd344d}
.account-credit{border:1px solid var(--line);padding:7px 10px;white-space:nowrap;background:var(--accent-soft);border-color:#dedede;border-radius:5px;color:#333333;font-size:13px}
.account-menu-link{font-size:13px}
.account-logout{color:var(--muted);border:0;background:transparent;white-space:nowrap;font-size:13px}
.studio-header .site-nav{display:none}
.studio-header .account-menu-link{display:none}
.studio-header .brand{margin-right:auto}
.auth-main{display:grid;grid-template-columns:1fr 1fr;gap:70px;min-height:70vh;padding-block:70px}
.auth-story p{max-width:390px;line-height:1.8;font-size:16px}
.auth-example{max-width:410px;margin-top:28px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.auth-example span{display:block;padding:12px 16px;color:var(--muted);font-size:12px}
.auth-panel{padding:35px;border:1px solid var(--line);max-width:520px;width:100%;align-self:start;background:#fff;border-radius:7px;box-shadow:0 10px 35px #11111105}
.auth-panel p{line-height:1.8;font-size:14px}
.auth-panel form>button{border:1px solid var(--line);padding:11px 14px;width:100%;margin-top:19px;font-weight:600;background:var(--accent);border-color:var(--accent);color:#fff;border-radius:5px;font-size:14px}
.auth-panel #signed-in>button{border:1px solid var(--line);padding:11px 14px;width:100%;margin-top:19px;font-weight:600;background:var(--accent);border-color:var(--accent);color:#fff;border-radius:5px;font-size:14px}
.auth-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:8px 0 14px;font-size:14px}
.auth-tabs button.active{color:var(--accent);border-color:var(--accent)}
.auth-foot{color:var(--muted);margin-top:20px;line-height:1.8;font-size:13px}
.auth-panel details{margin-top:25px;font-size:13px}
.auth-foot a{color:var(--accent)}
.legal-main a{color:var(--accent)}
.legal-main p{line-height:1.9;color:var(--muted);font-size:15px}
.legal-main li{line-height:1.9;color:var(--muted);font-size:15px}
.workspace-nav{display:flex;padding:0 clamp(22px,5.2vw,80px);border-bottom:1px solid var(--line);overflow:auto;background:#fff;gap:30px}
.workspace-nav a{white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;font-size:14px;margin-right:0;padding:16px 0}
.workspace-nav a[aria-current=page]{color:var(--accent);border-color:var(--accent);font-weight:600}
.workspace-nav .owner-link{margin-left:auto;color:var(--accent)}
.page-title p{margin-bottom:0;font-size:14px}
.saved-card{border:1px solid var(--line);min-width:0;transition:border .2s;background:#fff;border-radius:6px;overflow:hidden}
.saved-card:hover{border-color:#999999}
.saved-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600}
.card-actions button{border:1px solid var(--line);padding:5px 8px;background:#fff;border-color:#dcdcdc;border-radius:4px;color:#515151;font-size:12px}
.card-actions a{border:1px solid var(--line);padding:5px 8px;background:#fff;border-color:#dcdcdc;border-radius:4px;color:#515151;font-size:12px}
.favorite-on{color:#986317!important;background:#fff9e9!important}
.empty-state{padding:60px 25px;text-align:center;border:1px dashed var(--line);background:var(--panel);grid-column:1/-1;border-radius:6px}
.panel{border:1px solid var(--line);padding:25px;margin-bottom:22px;background:#fff;border-radius:6px}
.project-card{padding:23px;border:1px solid var(--line);background:#fff;border-radius:6px}
.credit-pack{border:1px solid var(--line);padding:28px;background:#fff;border-radius:6px}
.panel p{font-size:14px}
.project-card p{overflow-wrap:anywhere;font-size:14px}
.project-card a{font-size:14px;color:var(--accent)}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:13px 8px;overflow-wrap:anywhere;font:600 12px Arial,Helvetica,sans-serif;text-transform:none}
.data-table button{padding:5px 8px;font-size:12px}
.stat{padding:20px;border:1px solid var(--line);background:var(--panel);border-radius:5px}
.stat span{color:var(--muted);font:13px Arial,Helvetica,sans-serif;text-transform:none}
.notice-banner{padding:15px 18px;border:1px solid var(--line);margin-bottom:25px;background:#f7f7f7;border-color:#e3e3e3;border-radius:5px;color:#505050;font-size:14px}
.project-assets figure{margin:0;width:150px;border:1px solid var(--line);padding:8px;border-radius:5px}
.dialog{border:1px solid var(--line);width:min(94vw,900px);max-height:90vh;padding:28px;background:#fff;color:var(--ink);border-color:#d8d8d8;border-radius:8px;box-shadow:0 25px 100px #11111126}
.dialog::backdrop{background:#11111166;backdrop-filter:blur(5px)}
.dialog-close{float:right;border:1px solid var(--line);color:var(--muted);padding:5px 12px;background:#fff;border-color:#d8d8d8;border-radius:4px}
.dialog-grid figcaption{padding-top:9px;font-size:14px}
.editor-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;gap:14px}
.editor-grid label{color:var(--muted);font-size:12px}
.job-elapsed{color:var(--muted);min-height:15px;font:12px Arial,Helvetica,sans-serif}
.onboarding{border:1px solid var(--line);background:var(--panel);font-size:12px;margin-bottom:22px;display:flex;gap:15px;align-items:center;border-radius:5px;padding:15px 18px}
.onboarding p{margin:0;flex:1;font-size:13px}
.help-fab{position:fixed;bottom:22px;right:24px;z-index:30;border:1px solid var(--line);padding:10px 15px;background:#fff;border-color:#d4d4d4;border-radius:6px;color:#454545;font-size:13px;box-shadow:0 4px 20px #1111110d}
.help-fab:hover{background:var(--accent-soft);color:var(--accent)}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 22px;max-width:90vw;border:1px solid var(--line);box-shadow:0 10px 35px #11111110;z-index:60;background:#fff;color:var(--ink);border-color:#cccccc;border-radius:5px;font-size:14px}
.faq-list summary{cursor:pointer;color:var(--ink);font-size:18px}
.status-message{color:var(--muted);min-height:20px;font-size:14px}
.version-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.version-list a{color:var(--accent)}
.simple-layout p{font-size:15px}
.mobile-toggle{display:none;border:1px solid var(--line);padding:8px 11px;background:#fff;border-color:#d4d4d4;color:var(--ink);border-radius:4px;font-size:13px}
@keyframes spin{to{transform:rotate(360deg)}
}
@keyframes blink{50%{opacity:0}
}
@media(max-width:1150px){
.site-header{gap:20px}
.site-nav{gap:18px}
.studio-header .site-nav{display:none}
.toolkit-grid{grid-template-columns:repeat(2,1fr)}
.toolkit-grid article:nth-child(2){border-right:0}
.toolkit-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.history-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio-controls{padding:20px}
.studio-main{padding-inline:28px}
.stat-grid{grid-template-columns:repeat(2,1fr)}
.studio-grid{gap:22px}
}
@media(max-width:800px){
.site-header{min-height:70px;padding-inline:22px;gap:15px}
.site-header .site-nav{display:none}
.nav-actions .text-link{display:none}
.brand{font-size:23px}
.announcement{font-size:12px;padding:9px 15px;gap:7px}
.announcement>.live-dot{display:none}
.section-heading{align-items:start;gap:20px;margin-bottom:28px}
.section-heading p{display:none}
.steps-grid{grid-template-columns:1fr}
.steps-grid article{border-right:0;border-bottom:1px solid var(--line);padding:25px}
.steps-grid article:last-child{border-bottom:0}
.step-visual{max-width:400px;height:210px}
.example-grid{gap:26px 15px}
.example-card small{display:none}
.toolkit-grid article{padding:22px}
.toolkit-grid h3{font-size:17px}
.final-cta{padding-block:80px}
.feature-strip{justify-content:center;font-size:12px}
.feature-strip span:nth-child(n+3){display:none}
.studio-grid{grid-template-columns:1fr}
.studio-intro-meta{display:none}
.studio-header{flex-wrap:wrap;gap:12px;padding-block:15px}
.studio-header .brand{margin-right:auto}
.studio-header .header-status{display:none}
.studio-header .account-menu-link{display:none}
.auth-story h1{font-size:44px;margin-block:15px}
.auth-panel{max-width:none;padding:25px}
.workspace-nav .owner-link{margin-left:0}
.credit-packs{grid-template-columns:1fr}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.split-layout{grid-template-columns:1fr}
.page-title h1{font-size:33px}
.history-main h1{font-size:33px}
.page-title{align-items:start}
.dialog{padding:20px}
.dialog-grid{grid-template-columns:1fr}
.ticker{font-size:12px;padding-inline:22px}
.ticker>span:last-child{display:none}
.inspiration-grid{gap:9px}
.legal-main h1{font-size:35px}
footer{gap:20px;padding:30px 22px}
footer>span{display:none}
.mobile-toggle{display:block;margin-left:auto}
.nav-actions{gap:0}
.top-cta{padding:10px 14px;gap:14px;font-size:13px}
.lead{max-width:520px;font-size:17px}
.section-block{padding-block:60px}
.section-heading h2{font-size:36px}
.example-card>span{font-size:14px}
.final-cta h2{font-size:44px}
.studio-result{position:static;padding:18px}
.studio-intro h1{font-size:35px}
.studio-main{padding-inline:22px;padding-top:28px}
.studio-header .account-credit{font-size:12px}
.studio-header .account-logout{font-size:12px}
.auth-main{grid-template-columns:1fr;gap:30px;padding-block:40px}
.auth-story p{max-width:100%;font-size:15px}
.auth-example{display:none}
.workspace-nav{padding-inline:22px;gap:25px}
.workspace-nav a{margin-right:18px;padding-right:0;font-size:13px;padding-block:14px}
.inspiration-grid span{padding:9px;font-size:12px}
.help-fab{bottom:14px;right:14px;padding:8px 12px;font-size:12px}
.site-header .site-nav.nav-open{display:flex;position:absolute;top:100%;left:0;right:0;border-bottom:1px solid var(--line);padding:24px;gap:22px;flex-direction:column;align-items:start;background:#fff;border-color:var(--line);box-shadow:0 10px 20px #11111108}
}
@media(max-width:480px){
.library-grid{grid-template-columns:1fr}
.history-items{grid-template-columns:1fr}
.project-grid{grid-template-columns:1fr}
.example-grid{grid-template-columns:1fr}
.toolbar{gap:8px}
.toolbar>*{max-width:100%}
.toolbar select{min-width:0;flex:1}
.toolbar input{flex-basis:100%}
.toolkit-grid{grid-template-columns:1fr}
.toolkit-grid article{border-right:0;border-bottom:1px solid var(--line)}
.toolkit-grid article:last-child{border-bottom:0}
.tool-icon{margin-bottom:22px}
.section-heading{flex-direction:column;gap:18px}
.page-title{flex-direction:column;gap:18px}
.stat-grid{gap:10px}
.stat{padding:15px}
.stat strong{font-size:25px}
.eyebrow{font-size:12px}
.feature-strip span{font-size:12px}
.result-actions{gap:7px}
.auth-panel{padding:22px}
.simple-layout h1{font-size:38px}
.workspace-page{padding-top:30px}
.credit-pack{padding:23px}
.dialog h2{font-size:24px}
.site-header{gap:10px;padding-inline:18px}
.site-header .brand{font-size:21px}
.site-header .brand-symbol{width:16px;margin-right:7px}
.site-header .top-cta{padding:10px 12px;gap:10px;font-size:12px}
.mobile-toggle{padding:7px 8px;font-size:12px}
.idea-form button{padding:12px;font-size:13px;gap:9px}
.hero-assurance{font-size:11px}
.studio-controls{padding:18px}
.onboarding{align-items:start}
.onboarding .quiet-button{white-space:nowrap}
.editor-grid{gap:10px}
.select-row{flex-wrap:wrap}
.example-card>span{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
.reveal-ready [data-reveal]{opacity:1;transform:none}
*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;animation-delay:0ms!important;transition-delay:0ms!important}
}

/* Monochrome identity and homepage. */
.brand{gap:10px;letter-spacing:-.7px}
.brand-icon{width:29px;height:29px;flex:0 0 auto}
.brand-word{font-size:21px;font-weight:800;line-height:1;letter-spacing:-.7px;color:var(--ink)}
.site-header .brand{font-size:21px}
footer .brand-icon{width:25px;height:25px}
footer .brand-word{font-size:19px}
.home-hero{display:block;text-align:center;min-height:550px;padding-block:82px 80px;overflow:hidden}
.hero-copy{max-width:950px;margin-inline:auto}
.hero-copy .eyebrow{justify-content:center;color:var(--muted);letter-spacing:.09em}
.hero-copy h1{font-size:clamp(52px,6vw,84px);font-weight:500;line-height:1.02;letter-spacing:-.065em;margin:23px 0 25px}
.hero-copy h1>span{color:var(--ink)}
.hero-copy .lead{max-width:560px;margin:0 auto 27px;font-size:17px;line-height:1.7}
.hero-copy .idea-form{max-width:600px;margin-inline:auto;padding:6px;border-radius:8px;box-shadow:0 4px 20px #00000005;text-align:left}
.hero-copy .idea-form input{padding:13px 16px;font-size:15px}
.hero-copy .idea-form button{border-radius:5px;padding:13px 21px}
.hero-copy .try-row{justify-content:center;margin-top:16px}
.hero-assurance{margin:19px 0 0}
body[data-page=home] #work{padding-top:58px}
body[data-page=home] #work .section-heading{margin-bottom:28px}
body[data-page=home] .example-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body[data-page=home] .example-card>span{font-size:14px;gap:8px}
body[data-page=home] .example-card small{font-size:16px}
.final-cta{background:#fafafa}
@media(max-width:1000px){body[data-page=home] .example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.home-hero{min-height:0;padding-block:65px}.hero-copy h1{font-size:clamp(42px,7.5vw,66px)}.hero-copy .lead{font-size:16px}.brand-icon{width:26px;height:26px}.brand-word{font-size:19px}}
@media(max-width:480px){.home-hero{padding-block:55px}.hero-copy h1{font-size:43px;line-height:1.07}.hero-copy .eyebrow{font-size:10px}.hero-copy .idea-form input{padding:12px 9px;font-size:14px}.hero-copy .idea-form button{padding:12px;font-size:13px;gap:8px}.site-header .brand{gap:7px}.brand-icon{width:24px;height:24px}.brand-word{font-size:17px;letter-spacing:-.7px}.site-header{gap:8px}body[data-page=home] .example-grid{gap:24px 12px}body[data-page=home] .example-card>span{font-size:12px}body[data-page=home] #work{padding-top:40px}.hero-assurance{font-size:11px}}

/* Feed and small-size preview */
.pv-dialog{width:min(96vw,1100px)}
.pv-controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:14px 0}
.pv-controls label{display:flex;gap:6px;align-items:center;margin:0}
.pv-controls input,.pv-controls select{width:auto;margin:0}
.pv-feed{margin-bottom:22px;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#111}
.pv-feed.pv-dark{background:#232527;color:#f2f2f2;border-color:#333}
.pv-grid{display:grid;grid-template-columns:repeat(var(--pv-cols,4),minmax(0,1fr));gap:14px;margin-top:12px}
.pv-media{aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#ddd}
.pv-media img{width:100%;height:100%;object-fit:cover;display:block}
.pv-media.pv-hl{outline:3px solid #2f80ed;outline-offset:2px}
.pv-name{font-weight:700;font-size:13px;margin:7px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-stats{font-size:11px;opacity:.65}
.pv-sizes{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;margin-top:12px}
.pv-sizes figure{margin:0}
.pv-sizes img{display:block;object-fit:cover;border:1px solid var(--line)}
.pv-sizes figcaption{font-size:11px;color:var(--muted);margin-top:5px}
.pv-square img{aspect-ratio:1}
.pv-note{font-size:11px;color:inherit;opacity:.65;margin:12px 0 0}

/* Credits page and payment confirmation: same editorial style as the homepage */
.cp-eyebrow,.ty-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#444}
.cp-eyebrow::before,.ty-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:#111}
.cp-hero{text-align:center;max-width:820px;margin:8px auto 30px}
.cp-hero h1{font-size:clamp(46px,7.6vw,88px);font-weight:400;line-height:.98;letter-spacing:-.06em;margin:22px 0 20px}
.cp-hero h1 span{display:block;animation:cp-up .8s backwards cubic-bezier(.2,.8,.2,1)}
.cp-hero h1 span+span{animation-delay:.12s}
@keyframes cp-up{from{opacity:0;transform:translateY(22px)}}
.cp-lead{font-size:17px;color:#636363;margin:0 auto 22px;max-width:520px;animation:cp-up .8s .25s backwards cubic-bezier(.2,.8,.2,1)}
.cp-balance{display:inline-flex;align-items:baseline;gap:10px;padding:9px 16px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;color:#636363;animation:cp-up .8s .35s backwards cubic-bezier(.2,.8,.2,1)}
.cp-balance strong{font-size:18px;font-weight:600;letter-spacing:-.02em;color:#111}
.cp-marquee{overflow:hidden;margin:0 calc(-1 * clamp(22px,5.2vw,80px)) 44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.cp-track{display:flex;width:max-content;animation:cp-scroll 60s linear infinite}
.cp-marquee:hover .cp-track{animation-play-state:paused}
.cp-track img{height:150px;width:auto;aspect-ratio:16/9;object-fit:cover;border-radius:4px;border:1px solid var(--line);margin-right:14px;flex:none}
@keyframes cp-scroll{to{transform:translateX(-50%)}}
.cp-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;margin:0 0 26px}
.cp-card{position:relative;display:flex;flex-direction:column;padding:30px 28px 28px;border:1px solid var(--line);border-radius:6px;background:#fff;animation:cp-up .8s var(--d,0s) backwards cubic-bezier(.2,.8,.2,1);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
.cp-card:hover{transform:translateY(-4px);border-color:#111}
.cp-pop{border:2px solid #111;padding:29px 27px 27px}
.cp-label{display:inline-flex;align-self:flex-start;margin-bottom:16px;padding:6px 9px;border-radius:3px;background:#111;color:#fff;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.09em}
.cp-label-soft{background:#f2f2f2;color:#111;border:1px solid #dcdcdc}
.cp-name{font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#636363}
.cp-price{font-size:60px;font-weight:400;letter-spacing:-.06em;line-height:1;margin:14px 0 10px;font-variant-numeric:tabular-nums}
.cp-credits{font-size:14px;color:#636363}
.cp-gets{margin:24px 0 18px;padding:16px 18px;border-radius:4px;background:#f7f7f7;border:1px solid #efefef}
.cp-gets strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.02em}
.cp-gets span{font-size:13px;color:#636363}
.cp-list{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:9px;font-size:14px;color:#333}
.cp-list li{display:flex;gap:10px;align-items:baseline}
.cp-list li::before{content:"✓";font-size:12px;color:#111}
.cp-buy{margin-top:auto;width:100%;padding:15px 20px;font-size:15px}
.cp-pop .cp-buy{background:#111;border-color:#111;color:#fff}
.cp-pop .cp-buy:hover{background:#2c2c2c}
.cp-soon{opacity:.75}.cp-soon .cp-price{color:#c4c4c4}
.cp-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;padding:0;margin:0 0 54px;font-size:14px;color:#555}
.cp-trust li{display:flex;gap:8px;align-items:center;animation:cp-up .7s .5s backwards}
.cp-trust li::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#111;color:#fff;font-size:12px}
.cp-how-wrap{margin-bottom:30px}
.cp-how-wrap .cp-eyebrow{justify-content:flex-start;margin-bottom:10px}
.cp-how-wrap h2{font-size:clamp(32px,4.4vw,48px);font-weight:400;letter-spacing:-.055em;line-height:1;margin:0 0 10px}
.cp-how-wrap p{color:#636363;margin-bottom:0}
.cp-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 0}
.cp-chip{border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff;display:grid;gap:4px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
.cp-chip:hover{transform:translateY(-3px);border-color:#111}
.cp-chip strong{font-size:14px;font-weight:600;letter-spacing:.02em}
.cp-chip span{font-size:30px;font-weight:400;letter-spacing:-.05em}
.cp-chip small{color:#636363;font-size:12px}
.cp-fine{max-width:760px;margin:0 0 34px;font-size:12px;color:#777}
@media(max-width:900px){.cp-packs{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.cp-how{grid-template-columns:1fr}}
/* payment confirmation: a calm full page, like a receipt */
.ty-lock{overflow:hidden}
.ty-page{position:fixed;inset:0;z-index:1000;background:#fff;overflow-y:auto;animation:ty-in .35s both}
@keyframes ty-in{from{opacity:0}}
.ty-bar{position:fixed;top:0;left:0;height:2px;width:100%;background:#111;transform-origin:left;animation:ty-bar 1.1s .1s cubic-bezier(.6,.05,.2,1) both;z-index:2}
@keyframes ty-bar{from{transform:scaleX(0)}}
.ty-wait .ty-bar{animation:ty-slide 1.4s ease-in-out infinite;width:40%}
@keyframes ty-slide{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.ty-top{display:flex;justify-content:space-between;align-items:center;padding:18px clamp(22px,5.2vw,80px);border-bottom:1px solid var(--line)}
.ty-top .brand{pointer-events:none}
.ty-close{border:1px solid var(--line);background:#fff;border-radius:6px;padding:9px 14px;font-size:13px}
.ty-close:hover{border-color:#111}
.ty-main{width:min(100%,600px);margin:0 auto;padding:clamp(40px,8vh,84px) 22px 70px;text-align:center}
.ty-main h1{font-size:clamp(56px,10vw,104px);font-weight:400;line-height:.96;letter-spacing:-.065em;margin:22px 0 14px;animation:ty-up .8s .15s backwards cubic-bezier(.2,.8,.2,1)}
.ty-lead{font-size:17px;color:#636363;margin:0 0 30px;animation:ty-up .8s .3s backwards cubic-bezier(.2,.8,.2,1)}
@keyframes ty-up{from{opacity:0;transform:translateY(20px)}}
.ty-gain{font-size:clamp(44px,8vw,68px);font-weight:400;letter-spacing:-.06em;line-height:1;margin:0 0 28px;font-variant-numeric:tabular-nums;animation:ty-up .8s .4s backwards cubic-bezier(.2,.8,.2,1)}
.ty-receipt{border:1px solid var(--line);border-radius:6px;text-align:left;margin-bottom:12px}
.ty-row{display:flex;justify-content:space-between;gap:20px;padding:14px 18px;font-size:14px;animation:ty-up .6s backwards cubic-bezier(.2,.8,.2,1)}
.ty-row+.ty-row{border-top:1px solid var(--line)}
.ty-row span{color:#636363}.ty-row strong{font-weight:600;text-align:right}
.ty-note{font-size:13px;color:#777;margin:0 0 26px;animation:ty-up .6s .9s backwards}
.ty-saved strong{color:#111}
.ty-maker{display:grid;grid-template-columns:auto 1fr;gap:16px;text-align:left;margin:0 0 30px;padding:22px;border:1px solid var(--line);border-radius:6px;background:#f7f7f7;animation:ty-up .7s .8s backwards}
.ty-maker img{width:34px;height:34px;margin-top:2px}
.ty-maker .ty-eyebrow{justify-content:flex-start;margin-bottom:10px}
.ty-maker p{font-size:15px;line-height:1.6;color:#2b2b2b;margin:0 0 10px}
.ty-maker p:last-child{margin-bottom:0}
.ty-maker .ty-sign{font-weight:600;color:#111}
.ty-maker a{color:#111}
.ty-first{font-size:clamp(28px,4.4vw,40px);font-weight:400;letter-spacing:-.05em;line-height:1.02;margin:0 0 8px;text-align:left}
.ty-steps{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 16px;padding:0;list-style:none;counter-reset:s;font-size:13px;color:#636363;text-align:left}
.ty-steps li{counter-increment:s;display:flex;gap:7px;align-items:center}
.ty-steps li::before{content:counter(s);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid #bdbdbd;font-size:11px;color:#444}

.ty-slots-wrap{margin:30px 0 34px;text-align:left;animation:ty-up .7s .9s backwards}
.ty-slots-title{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:12px;font-size:14px}
.ty-slots-title strong{font-size:17px;font-weight:600;letter-spacing:-.02em}
.ty-slots-title span{color:#636363;font-size:13px}
.ty-slots{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.ty-slot{aspect-ratio:16/9;border:1px solid #d9d9d9;border-radius:3px;background:#fafafa;animation:ty-pop .45s backwards cubic-bezier(.2,.8,.2,1)}
.ty-slot-first{border:2px solid #111;background:#111;color:#fff;display:grid;place-items:center;font-size:14px;line-height:1}
@keyframes ty-pop{from{opacity:0;transform:scale(.6)}}
.ty-idea-wrap{text-align:left;animation:ty-up .7s 1.3s backwards}
.ty-idea{display:flex;gap:8px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff;transition:border-color .2s}
.ty-idea:focus-within{border-color:#111}
.ty-idea input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:10px 12px;font-size:15px;font-family:inherit}
.ty-create{padding:12px 18px;font-size:15px;background:#111;border-color:#111;color:#fff;white-space:nowrap}
.ty-create:hover{background:#2c2c2c}
.ty-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;font-size:12px;color:#777}
.ty-chips a{padding:5px 10px;border:1px solid var(--line);border-radius:4px;background:#f7f7f7;color:#333;text-decoration:none}
.ty-chips a:hover{border-color:#111}
.ty-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;padding:0;margin:34px 0 0;font-size:13px;color:#555;animation:ty-up .6s 1.5s backwards}
.ty-trust li{display:flex;gap:8px;align-items:center}
.ty-trust li::before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#111;color:#fff;font-size:11px}
.ty-back{display:inline-block;margin:26px 0 0;font-size:14px;color:#333;background:none;border:0;border-bottom:1px solid #111;padding:0 0 2px;animation:ty-up .6s 1.6s backwards}
.ty-page:focus{outline:none}
@media(max-width:560px){.ty-maker{grid-template-columns:1fr}.ty-slots{grid-template-columns:repeat(6,minmax(0,1fr))}.ty-idea{flex-direction:column}.ty-create{width:100%}}
@media(prefers-reduced-motion:reduce){.cp-hero h1 span,.cp-lead,.cp-balance,.cp-card,.ty-page,.ty-bar,.ty-main h1,.ty-lead,.ty-gain,.ty-row,.ty-note,.ty-back,.ty-slots-wrap,.ty-slot,.ty-idea-wrap,.ty-trust,.ty-maker{animation:none!important}.cp-track{animation:none}.cp-card,.cp-chip{transition:none}}

/* in-studio top-up (shown only when a render needs more credits than you have) */
.studio-buy{margin:14px 0 0;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff}
.studio-buy h3{margin:0 0 6px;font-size:18px;font-weight:600}
.studio-buy p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}
.studio-buy .buy-row{display:flex;flex-wrap:wrap;gap:8px}
.studio-buy .buy-row .primary-button{gap:10px}
.studio-buy .buy-alt{margin-top:10px;display:flex;gap:14px;flex-wrap:wrap;font-size:13px}
.studio-buy .buy-alt button,.studio-buy .buy-alt a{padding:0;margin:0;color:var(--ink);text-decoration:underline;font-size:13px;background:none;border:0}
/* public gallery */
.gallery-lead{color:var(--muted);margin:-6px 0 26px;max-width:620px;line-height:1.7}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.gallery-item{margin:0}
.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.gallery-item figcaption{margin-top:9px;font-size:13px;color:var(--muted);line-height:1.5}
.gallery-cta{margin:40px 0 10px}

/* Thumbnail fonts (open-licence, self-hosted; licences in /fonts) and the text and sticker editor */
@font-face{font-family:"Luckiest Guy";src:url(/fonts/LuckiestGuy-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Lilita One";src:url(/fonts/LilitaOne-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Titan One";src:url(/fonts/TitanOne-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Bangers";src:url(/fonts/Bangers-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Fredoka";src:url(/fonts/Fredoka.ttf) format("truetype");font-weight:300 700;font-display:swap}
.layer-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.layer-chip{border:1px solid var(--line);background:#fff;border-radius:5px;padding:6px 9px;font-size:12px;color:var(--ink)}
.layer-chip.active{background:var(--accent-soft);border-color:var(--accent)}
.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.sticker-choice{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--line);border-radius:5px;padding:5px;background:#8fd0ff;color:var(--ink);font-size:11px}
.sticker-choice canvas{width:100%;height:auto;aspect-ratio:16/9}
.sticker-choice span{background:#fff;border-radius:3px;padding:1px 5px}
#caption-text{margin-top:12px;resize:vertical}
#caption-color{height:38px;padding:2px}
.layer-box{position:absolute;border:2px dashed var(--accent);border-radius:3px;pointer-events:none;box-shadow:0 0 0 1px #fff8}
/* Studio layout: idea, scene and options on the left, the preview pinned on the right, text tools under the steps.
   On phones the order is steps, then the preview, then the text tools. */
@media(min-width:801px){
.studio-grid>.studio-controls:first-child{grid-column:1;grid-row:1}
.studio-grid>.studio-result{grid-column:2;grid-row:1/span 2}
.studio-grid>.studio-text{grid-column:1;grid-row:2}
}
.studio-text .section-step{margin-bottom:6px}
.studio-text #text-step-note{margin-top:0}
#scene-intro .secondary-action{width:100%;margin-top:4px}
#scene-step:has(#ideas-panel:not([hidden])) #scene-intro{display:none}
.more-actions{margin-top:12px}
.more-actions summary{cursor:pointer;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;padding:6px 0;list-style:none}
.more-actions summary::-webkit-details-marker{display:none}
.more-actions[open] .plus{transform:rotate(45deg)}
.more-actions .editor-tools{margin-top:8px}
@media(max-width:800px){.help-fab .help-fab-label{display:none}.help-fab{padding:8px 13px;border-radius:999px}}
.more-actions summary .plus{font-size:17px;color:var(--accent);transition:transform .2s}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
