@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
.fusion-form>.fusion-facing{flex:0 0 100%;min-width:0;max-width:100%}.fusion-facing select{max-width:360px;margin:0;padding:14px;font:inherit;background:#fff}.fusion-facing .note{max-width:650px;margin:10px 0 0;line-height:1.6}
.fusion-form{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:24px 0}.fusion-form>div{flex:1;min-width:200px}.fusion-form label{display:block;letter-spacing:0;font-size:12px;margin-bottom:10px}.fusion-form input,.share-row input{width:100%;min-width:0;border:1px solid #b5bda6;border-radius:8px;padding:14px;font:inherit;background:#fff;color:#243024}.invitation-parents{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.invitation-parents article{background:#f7f8ef}.invitation-parents a{font-size:12px;text-decoration:underline}.approval-state{color:#385929!important}#invitation-card{background:#eef3df;margin-top:24px}#invitation-card>.section-title{margin-bottom:10px}#invitation-state{margin:0}#fusion-status{font-size:14px;line-height:1.6}#invitation-card .controls button{margin-left:0}.share-row{display:flex;gap:12px;margin:10px 0 18px}.share-row button{white-space:nowrap}.secondary{background:#dfe5d2;color:#33452a}#approval-review{border-top:1px solid #c9d2bb;margin-top:25px;padding-top:20px}#approval-message{font:12px/1.7 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#fafbf6;padding:18px;border-radius:10px;max-height:330px;overflow:auto}.consent{display:block;letter-spacing:0;font-size:13px;line-height:1.6;margin:18px 0}#ready-note{padding:18px;background:#d9f478;border-radius:10px;font-size:13px;line-height:1.6}#my-invitations{margin-top:26px}summary{cursor:pointer}.invitation-item{display:block;padding:14px;border-bottom:1px solid #d5d7c8;font-size:13px}#invitation-list{margin-top:12px;color:#626c59}@media(max-width:600px){.invitation-parents{grid-template-columns:1fr}.share-row{flex-direction:column}.fusion-form button{width:100%}}
[hidden]{display:none!important}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #80994c;outline-offset:4px}#holder{background:#edf1e3}#holder>p{max-width:700px;line-height:1.6}#token-id{padding:12px;border:1px solid #b5bda6;border-radius:8px;font:inherit;max-width:210px;background:#fff}#holder .controls button{margin-left:0}.token-list{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.token-list button{padding:10px 15px;background:#d9f478;color:#243024}#verified-chog{max-width:470px;margin-top:24px;background:#fafbf4}#chog-art{height:280px;background:#edf1e3;font-size:30px}#chog-art img{height:100%;width:100%;object-fit:contain}#chog-proof{overflow-wrap:anywhere}#chog-link{text-decoration:underline;font-size:13px}
:root{font-family:'DM Sans',sans-serif;color:#243024;background:#f7f6ed;--green:#d9f478;--line:#d5d7c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}header,main,footer{max-width:1240px;margin:auto}header{display:flex;align-items:center;gap:32px;padding:28px 40px;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font:700 28px 'Space Grotesk',sans-serif;margin-right:auto}.badge{border:1px solid var(--line);border-radius:30px;padding:9px 14px;font-size:12px}.intro{padding:90px 40px 85px;background:radial-gradient(ellipse at 90% 40%,#e4efb6,transparent 55%)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}h1{font:500 clamp(48px,7vw,88px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-5px;margin:24px 0}h1 em{font-style:normal;color:#627e30}.intro p{max-width:450px;line-height:1.7;color:#66705f}.button,button{display:inline-block;border:0;background:#263326;color:white;padding:17px 24px;border-radius:9px;font:600 14px 'DM Sans',sans-serif;cursor:pointer}.intro .button{margin-top:22px}.note{display:block;font-size:12px;margin-top:18px;color:#737d6a}section:not(.intro){padding:55px 40px;border-top:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}h2{font:500 34px/1.15 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:14px 0}.section-title p,article p{font-size:13px;color:#6d7567}.lab{display:grid;grid-template-columns:1fr 40px 1fr 1.15fr;gap:18px;align-items:center}article{background:#eeefe4;border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}label{font-size:11px;letter-spacing:1px}select{width:100%;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:7px;background:#f8f9f1;color:inherit}.portrait{height:200px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.portrait svg{width:180px;height:180px}.plus{text-align:center;font-size:35px;color:#6d853c}.result{background:var(--green);text-align:center;align-self:stretch}.empty{font:70px 'Space Grotesk',sans-serif;color:#7e9c46}h3{font-family:'Space Grotesk',sans-serif}.controls{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:25px}.controls label{letter-spacing:0;font-size:13px}.controls button{margin-left:auto}#status{font-size:12px;color:#707866;line-height:1.5}.family-card{padding:20px;border:1px solid var(--line);border-radius:12px;margin-top:12px;display:flex;gap:24px;align-items:center}.family-card strong{margin-left:auto}.empty-family{padding:35px;border:1px dashed var(--line);border-radius:12px;color:#737c68}.manifesto p{max-width:590px;line-height:1.8;color:#6d7567}footer{padding:28px 40px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px}@media(max-width:760px){header{padding:20px;flex-wrap:wrap;gap:15px}header .badge{display:none}h1{letter-spacing:-3px}.intro,section:not(.intro){padding:40px 20px}.lab{grid-template-columns:1fr}.plus{height:30px}.section-title{align-items:start;flex-direction:column}.controls{gap:16px}.controls button{width:100%}.family-card{flex-wrap:wrap}.family-card strong{margin-left:0}footer{padding:25px 20px;gap:20px}}

.wallet-browser-help{padding:20px;border:1px solid #b5bda6;border-radius:14px;background:#fafbf4;max-width:650px;margin:22px 0}.wallet-browser-help p{font-size:13px;line-height:1.7}.wallet-browser-help .note{font-size:12px;line-height:1.7}.wallet-browser-help a{font-size:13px}@media(max-width:760px){.wallet-browser-help .button{width:100%;text-align:center}}

#generated-result{margin:28px 0 0;max-width:620px}#generated-image{display:block;width:100%;max-height:620px;object-fit:contain;background:#f7f6ed;border-radius:16px;border:1px solid var(--line)}#artwork-caption{font-size:13px;line-height:1.6;margin:16px 0}#generation-note{padding:18px;border:1px solid var(--line);border-radius:10px}#live-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:24px}.gallery-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:#eeefe4}.gallery-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#f7f6ed;border-radius:10px}.gallery-card p{font-size:13px}

.token-previews{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.token-previews article{max-width:440px;background:#eef3df}.parent-art{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#e6ebdc;border-radius:12px;margin:16px 0;overflow:hidden;font-size:32px}.parent-art img{width:100%;height:100%;object-fit:contain}.token-previews h3{margin-bottom:8px}.invitation-art{display:block;width:100%;height:220px;object-fit:contain;background:#e6ebdc;border-radius:12px;margin:14px 0}@media(max-width:600px){.token-previews{grid-template-columns:1fr}.token-previews article{max-width:none}}

.fusion-form .fusion-policy{flex-basis:100%;display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6;margin:0}.fusion-policy input{width:auto;flex:none;accent-color:#627e30}

/* Chogchemy identity: cream canvas, ink outlines, lime and pink parent accents. */
:root{--ink:#243024;--green:#D9F478;--pink:#E5A3B7;--cream:#F7F6ED;--sage:#EEF3DF;color:var(--ink);background:var(--cream)}
.skip-link{position:absolute;left:20px;top:-100px;z-index:10;padding:12px 18px;background:var(--ink);color:var(--cream);border-radius:8px}.skip-link:focus{top:12px}
header{gap:24px;padding-top:22px;padding-bottom:22px}.brand{position:relative;display:block;flex:none;width:260px;height:48px;overflow:hidden;margin-right:auto}.brand img{position:absolute;top:50%;left:0;transform:translateY(-50%);display:block;width:100%;height:auto}.family-nav{font-size:14px;white-space:nowrap}
.intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;align-items:center;padding:68px 40px;background:var(--cream)}.intro-copy{min-width:0}.intro h1{font-size:clamp(48px,6vw,78px);line-height:1.06;letter-spacing:-3.5px;margin:24px 0}.intro h1 em{color:var(--ink);background:linear-gradient(transparent 65%,var(--pink) 65%,var(--pink) 93%,transparent 93%)}.intro p{max-width:470px;line-height:1.8;color:#56624f}.intro-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.intro .button{margin-top:0;background:var(--green);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.sample-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}.intro .note{max-width:470px;line-height:1.7;color:#56624f}
.intro-mark{margin:0 auto;width:100%;max-width:350px;border:2px solid var(--ink);border-radius:34px;background:var(--sage);box-shadow:8px 8px 0 var(--pink);transform:rotate(-3deg);overflow:hidden}.intro-mark img{display:block;width:100%;height:auto}.intro-mark figcaption{padding:16px 18px;border-top:2px solid var(--ink);font-size:10px;font-weight:700;letter-spacing:1.3px;text-align:center;background:var(--cream);line-height:1.6}
.button,button{background:var(--ink)}.secondary{background:#dfe5d2;color:var(--ink)}.result,#ready-note,.token-list button{background:var(--green);color:var(--ink)}#holder,#invitation-card,.token-previews article{background:var(--sage)}#parent-preview-a{border-top:5px solid var(--green)}#parent-preview-b{border-top:5px solid var(--pink)}.studio-banner{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:20px;margin-bottom:40px}.manifesto p{max-width:660px}
footer{align-items:center;gap:24px}.footer-brand{width:190px;height:42px}footer p{margin:0;text-align:right;line-height:1.8}footer p span{color:#56624f}
@media(max-width:900px){.intro{gap:28px}.intro h1{font-size:60px;letter-spacing:-2.5px}.intro-mark{max-width:280px}header{gap:18px}.brand{width:230px}}
@media(max-width:760px){.intro{grid-template-columns:1fr;padding:42px 20px;gap:38px}.intro h1{font-size:clamp(44px,10vw,70px);letter-spacing:-2px}.intro-mark{max-width:300px}.intro-actions{gap:20px}.intro .button{padding:15px 18px}.intro-mark figcaption{letter-spacing:1px}.studio-banner{margin-bottom:28px;border-radius:12px}footer{align-items:start}.footer-brand{width:180px}}
@media(max-width:600px){header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:20px}.brand{grid-column:1/-1;width:240px;height:46px}.family-nav{grid-row:2;font-size:12px}#connect-wallet{grid-row:2;padding:13px 16px;font-size:13px}.intro-mark{width:calc(100% - 12px)}footer{flex-direction:column;gap:14px}.footer-brand{width:180px;height:40px}footer p{text-align:left}.intro-actions{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Finished character pages share the studio identity and remain useful without a wallet. */
.character-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.character-page .character-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;padding:56px 40px}.character-art{margin:0}.character-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:2px solid var(--ink);border-radius:28px;background:var(--sage);box-shadow:7px 7px 0 var(--pink)}.character-art figcaption{font-size:12px;line-height:1.7;color:#56624f;margin:20px 0 0}.character-copy{min-width:0}.character-copy h1{font-size:clamp(36px,4.2vw,54px);letter-spacing:-2px;line-height:1.1;margin:22px 0}.character-copy>p{font-size:15px;line-height:1.8;color:#56624f}.character-copy .character-pair{font:600 23px 'Space Grotesk',sans-serif;color:var(--ink)}.character-approval{display:inline-block;line-height:1.7;background:var(--sage)}.text-link{text-decoration:underline;text-underline-offset:4px;font-size:13px}.lineage-parent.parent-a{border-top:5px solid var(--green)}.lineage-parent.parent-b{border-top:5px solid var(--pink)}.holder-address{display:block;font-family:monospace;margin-top:7px}.character-lineage .note,.character-details .note{line-height:1.8;max-width:820px}.character-details dl{margin:28px 0}.character-details dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.character-details dt{font-weight:600}.character-details dd{margin:0;overflow-wrap:anywhere}.artwork-digest{font-family:monospace}.character-details>.button{margin-top:20px}.character-missing{min-height:60vh}.character-missing h1{font-size:clamp(40px,7vw,74px);letter-spacing:-3px}.character-missing p{max-width:580px;line-height:1.8;margin-bottom:28px}
@media(max-width:760px){.character-page .character-hero{grid-template-columns:1fr;padding:40px 20px;gap:36px}.character-art{max-width:560px}.character-copy h1{font-size:44px}.character-details dl>div{grid-template-columns:1fr;gap:4px}.character-actions .button,.character-actions button{width:100%;text-align:center}.character-page header .button{padding:13px 16px;font-size:12px}.character-page header .family-nav{white-space:normal}.character-page header .brand{width:220px}}

.selected-parent-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-parent-heading button{padding:10px 12px;font-size:12px}.record-details{margin:20px 0;padding:14px 16px;border:1px solid var(--line);border-radius:10px}.record-details summary{cursor:pointer;font-size:13px;font-weight:600}.record-details .note{overflow-wrap:anywhere;line-height:1.8}.record-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.demo-intro h1{font-size:clamp(44px,6vw,72px);line-height:1.1;letter-spacing:-2px}.demo-intro p{max-width:650px;line-height:1.8}.demo-page header .button{font-size:13px}.demo-page #lab{padding-top:30px}

/* A saved child's first family story. */
.universe-intro{background:var(--sage)}.universe-intro p{max-width:690px;line-height:1.8}.family-comic-section{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}.family-comic-section>p{line-height:1.8;max-width:760px}.family-comic-section h3{font-size:30px;letter-spacing:-1px}.comic-chapters{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}.comic-chapters li{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.comic-chapters span{display:block;font-size:11px;letter-spacing:2px;color:#627e30;margin-bottom:14px}.comic-chapters strong{font-size:17px}.comic-chapters p{font-size:13px;line-height:1.7;margin-bottom:0}.comic-art{margin:30px 0 0;max-width:800px}.comic-art img,#comic-image{display:block;width:100%;height:auto;border:2px solid var(--ink);border-radius:16px;background:var(--cream)}.comic-art figcaption,#comic-caption{font-size:12px;line-height:1.8;margin-top:14px}#comic-result{margin:24px 0;max-width:800px}#comic-status{line-height:1.8}#family-comic-studio #generate-comic{background:var(--green);color:var(--ink);border:2px solid var(--ink)}.family-roots{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;font-size:13px}.family-roots a{padding:12px 16px;background:var(--sage);border:1px solid var(--line);border-radius:30px}#family-comic{background:var(--sage);margin-top:0}.family-comic-section .record-details{max-width:800px}.family-comic-section dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px;line-height:1.8}.family-comic-section dt{font-weight:600}.family-comic-section dd{margin:0;overflow-wrap:anywhere}.comic-gallery-badge{display:inline-block;background:var(--pink);color:var(--ink);border-radius:20px;padding:6px 10px;font-size:11px}
@media(max-width:600px){.comic-chapters{grid-template-columns:1fr}.comic-chapters li{padding:16px}.comic-chapters span{margin-bottom:8px}.family-comic-section dl>div{grid-template-columns:1fr;gap:4px}.family-comic-section h3{font-size:26px}.family-comic-section .character-actions>*{width:100%;text-align:center}.family-roots{gap:8px}.family-roots a{padding:10px 12px}}

/* Clear steps, visible saved work and separate child/comic actions. */
.header-links{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600}
.studio-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:26px 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.studio-steps a{display:flex;gap:15px;padding:20px;border:1px solid var(--line);border-radius:14px;align-items:flex-start}
.studio-steps a[aria-current="step"]{background:var(--green);border-color:var(--ink)}
.studio-steps a>span{font:600 20px 'Space Grotesk',sans-serif}.studio-steps strong{font-size:15px}.studio-steps p{font-size:12px;line-height:1.6;margin:8px 0 0}
.saved-creations{background:var(--cream)}.saved-creations>p,#my-invitations>p{font-size:14px;line-height:1.7}.saved-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.invitation-item{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--sage);font-size:13px}.invitation-item:hover{border-color:var(--ink)}.invitation-item strong{font-size:16px;color:var(--ink)}.saved-action{font-size:12px;font-weight:700;color:var(--ink);margin-top:4px}
.drawing-usage{padding:18px 20px;background:var(--sage);border:1px solid var(--line);border-radius:12px;margin-top:20px}.drawing-usage p{margin:8px 0 0;font-size:13px;line-height:1.7}
.next-step{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;border:1px solid var(--ink);border-radius:14px;background:var(--green);margin:24px 0}.next-step h3{font-size:22px;margin:10px 0}.next-step p{max-width:520px;font-size:14px;line-height:1.7;margin:0}.next-step .button{flex-shrink:0}
#child-budget,#comic-budget{padding:14px 16px;background:var(--cream);border:1px solid var(--line);border-radius:10px;color:var(--ink);line-height:1.7}#comic-error{padding:16px;border:1px solid var(--pink);border-radius:10px;background:#fff0f4;color:#742841;line-height:1.7}.simple-about p{max-width:710px;line-height:1.8}#family-comic-studio{scroll-margin-top:24px}#my-creations,#holder,#fusion{scroll-margin-top:20px}
@media(max-width:760px){.studio-steps{padding:20px;grid-template-columns:1fr;gap:10px}.studio-steps a{padding:16px}.saved-list{grid-template-columns:1fr}.next-step{flex-direction:column;align-items:stretch;padding:20px}.next-step .button{text-align:center}.header-links{gap:16px}}
@media(max-width:600px){.header-links{grid-column:1;grid-row:2;gap:16px;font-size:12px}.header-links .family-nav{font-size:12px}#connect-wallet{grid-column:2}.next-step h3{font-size:21px}}
/* Saved family episodes share the existing comic layout. */
.episode-studio { margin-top: 3rem; padding-top: 2rem; border-top: 2px solid #d9dfce; }
.episode-studio select { width: 100%; max-width: 36rem; padding: 1rem; border: 1px solid #aeb7a2; border-radius: 12px; background: #fff; color: #243125; font: inherit; }
.episode-studio label { display: block; margin-bottom: .75rem; }
.episode-list { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.episode-card { padding: 1.5rem; background: #f7f6ed; border: 1px solid #d9dfce; border-radius: 18px; }
.episode-card h4 { font-size: 1.3rem; margin: 0 0 1rem; }
.episode-card img { display: block; max-width: 100%; width: 760px; height: auto; border-radius: 14px; margin-top: 1rem; }
.sticker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.sticker-card { min-width: 0; padding: 1rem; background: #fff; border: 1px solid #d9dfce; border-radius: 18px; }
.sticker-card img { width: 100%; height: auto; display: block; background-color: #f7f6ed; background-image: linear-gradient(45deg,#e7eadf 25%,transparent 25%),linear-gradient(-45deg,#e7eadf 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e7eadf 75%),linear-gradient(-45deg,transparent 75%,#e7eadf 75%); background-size: 20px 20px; background-position: 0 0,0 10px,10px -10px,-10px 0; border-radius: 12px; }
.sticker-card h3,.sticker-card h4 { margin: .75rem 0; font-size: 1rem; overflow-wrap: anywhere; }
@media (max-width: 700px) { .sticker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sticker-card { padding: .6rem; } }
