/* Refined studio surfaces: quiet grey by day, plum by night. */
.home-link{appearance:none;border:0;background:none;padding:0;margin:0;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;cursor:pointer;border-radius:4px}.home-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
/* Desktop loading animation explicitly requested, including reduced-motion desktops. */
@media(min-width:1001px){body[data-view="preparing"] #preparationScreen img{animation:kumi-preparing 2.4s ease-in-out infinite!important}}
/* Keep the functional loading indicator moving; reduced motion still stops mascot movement. */
body[data-view="preparing"] #preparationScreen .preparation-spinner{animation:preparation-spin 1.2s linear infinite!important}
.preparation-spinner{width:42px!important;height:42px!important;border-width:4px!important;border-color:#e2d6eb!important;border-top-color:#79518f!important;border-right-color:#79518f!important}
html[data-theme="dark"] .preparation-spinner{border-color:#533a65!important;border-top-color:#dfb9f5!important;border-right-color:#dfb9f5!important}
.hero h1{font-family:"Outfit","Trebuchet MS","Segoe UI",sans-serif;font-weight:500;letter-spacing:-.025em;line-height:1.18;font-size:clamp(29px,3.15vw,42px)}
@media(max-width:650px){.hero h1{font-size:30px;line-height:1.2;letter-spacing:-.02em}}
body[data-view="preparing"] #preparationScreen img{animation:kumi-preparing 2.4s ease-in-out infinite;transform-origin:50% 85%;filter:drop-shadow(0 10px 16px #9b73b744);will-change:transform}
@keyframes kumi-preparing{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){body[data-view="preparing"] #preparationScreen img{animation:none;will-change:auto}}
#preparationScreen{display:none;text-align:center;margin-top:26px;padding:46px 24px;min-height:440px}#preparationScreen img{display:block;width:160px;max-width:55%;margin:0 auto 20px}#preparationScreen p{font-size:17px;line-height:1.65;color:var(--muted);max-width:520px;margin:14px auto}.preparation-spinner{width:30px;height:30px;border:3px solid #cdbbdc;border-top-color:#805699;border-radius:50%;margin:0 auto 22px;animation:preparation-spin .9s linear infinite}@keyframes preparation-spin{to{transform:rotate(360deg)}}body[data-view="preparing"] #preparationScreen{display:block}body[data-view="preparing"] #resultCard,body[data-view="preparing"] .step-card,body[data-view="preparing"] .progress-shell,body[data-view="result"] .step-card,body[data-view="result"] .progress-shell{display:none!important}.edit-choices{margin-bottom:20px;padding:10px 16px;cursor:pointer}body[data-view="result"] #resultCard{animation:stepIn .25s ease}@media(prefers-reduced-motion:reduce){.preparation-spinner,body[data-view="result"] #resultCard{animation:none}}
.theme-track{display:inline-flex;align-items:center;width:38px;height:23px;padding:3px;border-radius:20px;background:#d7d0df;flex-shrink:0}.theme-track>span{width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #21122f33}.theme-toggle[aria-checked="true"] .theme-track{background:#a47bbe}.theme-toggle[aria-checked="true"] .theme-track>span{transform:translateX(15px)}
:root{--bg:#f1f2f5;--text:#292832;--muted:#64636e;--shadow:0 14px 40px rgba(36,30,48,.065)}
body{background:radial-gradient(ellipse at 90% 0%,#e9e6f0 0,transparent 48%),#f1f2f5;background-attachment:fixed}
.hero{padding:24px 28px;background:linear-gradient(120deg,#fafafd,#eeedf3);border:1px solid #dedee7;border-radius:22px;box-shadow:0 3px 12px #30264004}
.hero p{max-width:760px}.eyebrow{color:#695474}.powered-badge{color:#6e6178}
.card{border-color:#dddde6;box-shadow:var(--shadow)}
.step-card{border-top:3px solid #cbc2d7}
.step-mascot{background:radial-gradient(ellipse at 50% 70%,#e2d8ed 0,transparent 62%),radial-gradient(#8e7a9c24 .8px,transparent .8px),#f0edf4;background-size:auto,18px 18px,auto;border:1px solid #e4deeb}
.step-mascot .guide-copy{color:#4d3e59}.step-mascot .ai-label{color:#705880;border-color:#dcd2e4;background:#ffffffc9}
.lang{background:#e8e7ee;border-color:#d9d7e2}
.theme-toggle{border-color:#d7d3df;color:#5a4469}
.progress-track{background:#dedce6}.progress-fill{background:#816492}
.progress-row{color:#605269}.step{background:#f0eaf4;color:#6c4e7e;border-color:#e1d5e9}
.wizard-actions .next,.primary,.copy-bottom{background:#5f4273;border-color:#5f4273}
.primary:hover,.wizard-actions .next:hover,.copy-bottom:hover{background:#4d315f}
.choice:hover{background:#f9f7fb;border-color:#b8a6c4}
.choice.active{background:#f4eff8;border-color:#a58ab8;box-shadow:inset 3px 0 #87629d}
.choice.active::after{background:#78558e;border-color:#78558e}
.choice strong,.choice-copy strong{color:#43394c}
.review-box,.refine-panel{background:#f5f3f8;border-color:#e1dbe8}
.refine-panel strong{color:#614773}.refine-panel p{color:#6d6475}
.ratio-shape{background:#eee8f3;border-color:#a58bb6}
.ratio-copy,.ratio-copy em{color:#655270}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline-color:#c7b5d8;border-color:#8d69a4}
.promptbox{background:#292331;border-color:#292331}.copy-action{background:#4b3b59}
.footer{border-top:1px solid #dedde6;margin-top:28px}
html[data-theme="dark"]{--bg:#18121f;--text:#f0eaf5;--muted:#c4b6ce;--border:#51405f;--shadow:0 16px 44px #08050e35}
html[data-theme="dark"] body{background:radial-gradient(ellipse at 85% 0%,#362142 0,transparent 50%),#18121f}
html[data-theme="dark"] .hero{background:linear-gradient(120deg,#30203d,#241b30);border-color:#4f395f}
html[data-theme="dark"] :is(.card,.choice,.secondary,.theme-toggle){background:#261c30;border-color:#51405f;color:#f0eaf5}
html[data-theme="dark"] .step-card{border-top-color:#9673ae;box-shadow:var(--shadow)}
html[data-theme="dark"] :is(.hero p,.help,.privacy,.powered-badge,.footer,.footer strong,.footer-powered,.progress-row,label,.choice strong,.choice small,.choice-copy strong,.choice-copy small,.badge,.review-item strong,.review-item small,.refine-panel strong,.refine-panel p,.ai-consent,.copy-note,.sample-action,.eyebrow){color:#d3c6dd}
html[data-theme="dark"] :is(input,select,textarea){background:#1c1524;color:#f2eaf7;border-color:#6e547e}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#b6a5c3}
html[data-theme="dark"] :is(.review-box,.refine-panel,.ai-consent){background:#30223c;border-color:#554163}
html[data-theme="dark"] .step-mascot{background:radial-gradient(ellipse at 50% 75%,#50335f 0,transparent 65%),radial-gradient(#b998d12a .8px,transparent .8px),#32223f;background-size:auto,18px 18px,auto;border-color:#554163}
html[data-theme="dark"] .step-mascot .guide-copy{color:#eee2f5}
html[data-theme="dark"] :is(.step-mascot .ai-label,.step,.lang){background:#3d2a4c;border-color:#6d5080;color:#e7d3f4}
html[data-theme="dark"] .lang button{color:#dfcde9}
html[data-theme="dark"] .lang button.active{background:#6a487e;color:#fff}
html[data-theme="dark"] .choice:hover{background:#382644}
html[data-theme="dark"] .choice.active{background:#432e52;border-color:#b391c9;box-shadow:inset 3px 0 #ba97d0}
html[data-theme="dark"] :is(.ratio-demo,.wizard-actions,.footer){border-color:#554163}
html[data-theme="dark"] :is(.ratio-copy,.ratio-copy em,.ready){color:#e0cbee}
html[data-theme="dark"] .ratio-shape{background:#473153;border-color:#ae8fc2}
html[data-theme="dark"] :is(.primary,.wizard-actions .next,.copy-bottom){background:#d4b5e8;color:#2a1737;border-color:#d4b5e8}
html[data-theme="dark"] :is(.primary:hover,.wizard-actions .next:hover,.copy-bottom:hover){background:#e4cef2}
html[data-theme="dark"] .progress-track{background:#493554}
html[data-theme="dark"] .progress-fill{background:#ba95d0}
html[data-theme="dark"] .promptbox{background:#17101f;border-color:#51405f}
html[data-theme="dark"] .copy-action{background:#533c63;color:#fff}
@media(min-width:1001px){.hero-top{align-items:flex-start}.header-controls{padding-top:8px}.step-mascot{min-height:500px}.progress-shell{margin:26px 4px 20px}}
@media(max-width:650px){.hero{padding:20px;border-radius:18px}.step-mascot{background-size:auto,18px 18px,auto}.footer{margin-top:22px}}
