*{box-sizing:border-box}body{margin:0;background:#faf6ef;color:#302e29;font:16px system-ui,-apple-system,sans-serif}main{max-width:1120px;margin:auto;padding:26px}header,.topline{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:25px;font-weight:800;text-decoration:none;color:inherit;letter-spacing:-1px}.brand span{color:#b16c43}.badge{font-size:12px;border:1px solid #d6d3c8;border-radius:99px;padding:8px 13px;color:#596359}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(40px,6vw,68px);line-height:1.08;letter-spacing:-2px;margin:12px 0 20px}h2{font-size:21px;letter-spacing:-.4px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#647164;margin-top:38px}.intro{font-size:18px;color:#676b61;line-height:1.6;max-width:640px}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.card{background:#fffefb;border:1px solid #e3ded3;border-radius:22px;padding:26px;box-shadow:0 5px 25px #302e2904}.step{display:inline-grid;place-items:center;width:28px;height:28px;font-size:14px;background:#eee9de;border-radius:50%;margin-right:8px}.drop{display:grid;place-items:center;text-align:center;min-height:240px;border:2px dashed #cfcfc0;border-radius:14px;background:#f5f5ed;cursor:pointer;color:#596851;line-height:2}.drop img{max-width:100%;max-height:320px;object-fit:contain;border-radius:12px}.drop strong{font-size:18px}input[type=file]{width:100%;margin:18px 0;font:inherit}fieldset{border:0;padding:0;margin:0}.choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #deded2;border-radius:14px;padding:18px;margin:14px 0;cursor:pointer}.choice:has(input:checked){background:#edf2e7;border-color:#66815f}.choice input{margin-top:5px;accent-color:#42694b}.choice strong{display:block;font-size:17px}.choice small{display:block;line-height:1.5;margin-top:7px;color:#676b61}.budget{background:#f6eee0;padding:14px 17px;border-radius:12px;display:grid;gap:4px;font-size:14px}.budget span{color:#726653}.consent{display:flex;gap:12px;font-size:13px;line-height:1.5;margin:18px 0}.consent input{width:20px;min-width:20px;accent-color:#42694b}button,.download{border:0;border-radius:12px;padding:16px 20px;font:600 16px system-ui;background:#3d634b;color:white;cursor:pointer;text-decoration:none;display:inline-block}button span{margin-left:12px}#generate,#login-form button{width:100%;display:flex;justify-content:space-between}button:disabled{opacity:.45;cursor:not-allowed}.quiet{padding:8px 12px;color:#526252;background:transparent;font-size:14px}.muted{font-size:13px;line-height:1.6;color:#75786e}.progress{display:flex;align-items:center;gap:22px;background:#eaf0e3;padding:22px;border-radius:18px}.spark{font-size:45px;color:#7f9466;animation:breathe 2s infinite}.progress h2{margin:0}.progress p{line-height:1.5;margin:8px 0 0}.gallery{margin:35px 0}.result{background:#fffefb;border:1px solid #e3ded3;border-radius:20px;padding:20px;margin:16px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pair figure{margin:0}.pair img{width:100%;height:290px;object-fit:contain;background:#f5f3ed;border-radius:12px}.pair figcaption{font-size:12px;color:#73756b;padding:8px 0}.result-actions{display:flex;gap:12px;align-items:center;margin-top:15px}.result-actions button{background:transparent;color:#865745;font-size:13px}.privacy{line-height:1.7;font-size:14px;color:#6d7167;margin:30px 0}.privacy summary{cursor:pointer;font-weight:700}footer{border-top:1px solid #dddccf;padding-top:20px;margin-top:30px;font-size:12px;color:#73756b}#message{color:#9c3826;line-height:1.5}#login-form{max-width:420px;margin:30px 0}input[type=password]{width:100%;padding:13px;margin:12px 0 18px;border:1px solid #cccdbf;border-radius:10px;font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}:focus-visible{outline:3px solid #bc844c;outline-offset:4px}@keyframes breathe{50%{transform:scale(1.12);opacity:.5}}@media(prefers-reduced-motion:reduce){.spark{animation:none}}@media(max-width:680px){main{padding:18px}.workspace{grid-template-columns:1fr;gap:16px}.card{padding:20px}.badge{font-size:10px}.brand{font-size:22px}.pair img{height:180px}.topline{flex-wrap:wrap}h1{letter-spacing:-1.3px}.gallery>.topline .muted{font-size:11px}}
/* Shared visual language of the existing iPhone prototype: Magisch / Sanft / Papier. */
.appearance{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12px;margin:18px 0}.appearance select{font:inherit;padding:9px 12px;border:1px solid #d6d3c8;border-radius:12px;background:transparent;color:inherit}body[data-theme=aurora]{background:radial-gradient(ellipse at 12% 0%,#302056 0,transparent 42%),radial-gradient(ellipse at 92% 36%,#361c40 0,transparent 42%),#0b0717;color:#f7f4ff}body[data-theme=aurora] h1{font-family:system-ui;font-weight:800;letter-spacing:-2.5px;background:linear-gradient(110deg,#fff,#cebdff 55%,#ffa8d5);background-clip:text;color:transparent}body[data-theme=aurora] .card,body[data-theme=aurora] .result{background:#191127d9;border-color:#ffffff20;box-shadow:0 14px 50px #0002}body[data-theme=aurora] .intro,body[data-theme=aurora] .choice small,body[data-theme=aurora] .muted,body[data-theme=aurora] .privacy,body[data-theme=aurora] .pair figcaption{color:#b9afd0}body[data-theme=aurora] .eyebrow{color:#bb9efa}body[data-theme=aurora] .badge,body[data-theme=aurora] .appearance select{border-color:#ffffff30;color:#d7cdea}body[data-theme=aurora] select option{background:#191127;color:#eee}body[data-theme=aurora] button:not(.quiet),body[data-theme=aurora] .download{background:linear-gradient(115deg,#8b6bff,#d9559b);color:#fff;box-shadow:0 8px 26px #8b6bff22}body[data-theme=aurora] .quiet,body[data-theme=aurora] .result-actions button{color:#c5b7df;background:transparent;box-shadow:none}body[data-theme=aurora] .drop,body[data-theme=aurora] .pair img{background:#ffffff05;border-color:#ffffff26;color:#c8bae2}body[data-theme=aurora] .choice{border-color:#ffffff22}body[data-theme=aurora] .choice:has(input:checked){border-color:#ad88ff;background:#9b73ff18}body[data-theme=aurora] .budget{background:#f5bd5b13}body[data-theme=aurora] .budget span{color:#d7bd98}body[data-theme=aurora] .step{background:#b38eff22;color:#d8c4ff}body[data-theme=aurora] .progress{background:linear-gradient(120deg,#412b63,#322445)}body[data-theme=aurora] input[type=password],body[data-theme=aurora] input[type=number]{background:#ffffff0a;color:#fff;border-color:#ffffff33}body[data-theme=aurora] footer{border-color:#ffffff20;color:#978da9}body[data-theme=paper]{background:#cebd9c;color:#34291b}body[data-theme=paper] .card,body[data-theme=paper] .result{background:#f0e6d1;border-color:#a79472;border-radius:20px 14px 22px 13px}body[data-theme=paper] h1{font-family:Georgia,serif;color:#3d3829}body[data-theme=paper] button:not(.quiet),body[data-theme=paper] .download{background:#2f6e8f}body[data-theme=paper] .drop{background:#e6d8ba;border-color:#b09a73}body[data-theme=paper] .choice:has(input:checked){background:#4e8c6a1a;border-color:#4e8c6a}dialog{width:min(640px,94vw);border:1px solid #ffffff30;border-radius:25px;padding:25px;background:#1d1430;color:#f7f4ff;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#090412cc;backdrop-filter:blur(8px)}dialog p{color:#c6b9dc;line-height:1.5}dialog .quiet{color:#d3c7e7}dialog input[type=number]{display:block;padding:14px;width:100%;margin:15px 0;font:inherit;border:1px solid #87749d;border-radius:10px}#parent-error{color:#ffb7a1}.reveal-stage{position:relative;margin:20px 0;line-height:0;min-height:180px}.reveal-stage img{width:100%;border-radius:15px}.reveal-stage canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:15px;touch-action:none}#stardust{min-width:72px;min-height:72px;border-radius:50%;padding:0;font-size:42px}.dust-pop{position:fixed;pointer-events:none;font-size:32px;color:#ffc24b;z-index:999;animation:dustfly .8s ease-out forwards}@keyframes dustfly{to{transform:translateY(-90px) scale(.3) rotate(70deg);opacity:0}}@media(prefers-reduced-motion:reduce){.dust-pop{animation:none}}@media(max-width:680px){.appearance{justify-content:flex-start;margin:18px 0 8px}.eyebrow{margin-top:24px}.choice{min-height:100px}#generate{min-height:60px}dialog{padding:20px}}
.result-actions{flex-wrap:wrap}.workspace>*,.pair>*{min-width:0}dialog .reveal-stage img{max-height:52vh;object-fit:contain}input[type=file]::file-selector-button{border:1px solid #9b88af;border-radius:9px;padding:10px 12px;background:transparent;color:inherit;font:inherit;cursor:pointer}body[data-theme=aurora] input[type=file]::file-selector-button{color:#e9defb}

#name-form{margin-top:24px;border-top:1px solid #ffffff30;padding-top:20px}#name-form label{font-size:19px;font-weight:700}.name-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.name-row input{min-width:0;flex:1 1 200px;border:1px solid #ffffff40;background:#ffffff10;color:#fff;padding:14px;border-radius:12px;font:inherit}.name-row input::placeholder{color:#c6b9dc}.art-title{font-family:Georgia,serif;font-size:28px;margin:5px 0 15px}#name-status{color:#dfccff}

.journey-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.journey-nav [aria-current=page]{background:#9b73ff22}.home-card{max-width:740px;margin:24px 0}.home-card p{line-height:1.65}.home-card .eyebrow{margin-top:0}.journey-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin:24px 0;padding-left:24px}.workspace{display:block;max-width:760px}.workspace #next-style{width:100%;margin-top:12px}#finish-art{display:block;margin-top:15px}#journey-title{max-width:850px}@media(max-width:680px){.journey-steps{grid-template-columns:1fr}.journey-nav button{min-height:48px}}

.choice-content{display:block;min-width:0;width:100%}.style-example{display:block;width:100%;height:180px;object-fit:contain;background:#ffffff08;border-radius:10px;margin:0 0 14px}#journey-style fieldset{display:grid;grid-template-columns:1fr 1fr;gap:14px}#journey-style .choice{margin:12px 0}#journey-style .choice strong{line-height:1.4}@media(max-width:520px){#journey-style fieldset{grid-template-columns:1fr}.style-example{height:155px}}

#voice-panel{border-top:1px solid #ffffff30;margin-top:24px;padding-top:15px}#voice-panel audio{width:100%;margin:12px 0}.voice-actions{display:flex;flex-wrap:wrap;gap:10px}#voice-record,#voice-stop{min-height:60px}#voice-stop{background:#ad385d}#voice-status{min-height:24px}

/* Viewing mode limits app actions; browser/device controls remain available. */
.child-toolbar{display:none}#enter-child{margin:0 0 10px}.child-help{margin-bottom:28px}
body[data-child=on] header,body[data-child=on] .appearance,body[data-child=on] #workshop>.topline,body[data-child=on] .journey-nav,body[data-child=on] .privacy,body[data-child=on] #enter-child,body[data-child=on] .child-help,body[data-child=on] footer{display:none}
body[data-child=on] .child-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin:10px 0 24px}
body[data-child=on] .child-toolbar span{font-size:22px;font-weight:700}body[data-child=on] .child-toolbar button{min-height:60px}
body[data-child=on] .result-actions button{min-height:64px;width:100%;font-size:23px}
body[data-child=on] #name-form,body[data-child=on] #voice-record,body[data-child=on] #voice-stop,body[data-child=on] #voice-download,body[data-child=on] #voice-delete,body[data-child=on] #voice-panel>p,body[data-child=on] #voice-status{display:none}
body[data-child=on] #close-reveal,body[data-child=on] #reveal-now{min-height:64px}
body[data-child=on] #voice-listen{display:block;min-height:64px;width:100%;font-size:23px}
