.generation-panel{border-top:1px solid #e2e5d9;margin-top:22px;padding-top:18px}.generation-panel h3{margin:0 0 10px}.generation-panel p{font-size:13px;line-height:1.55;color:#667166}.generation-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.55;margin:16px 0}.generation-consent input{flex:0 0 auto;margin-top:4px}.generation-panel .primary{width:100%}.creation-history{display:none;margin:28px 0}.creation-history>h2{font-size:24px}.creation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.creation-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #e2e5d9;border-radius:20px;background:#fffef9}.creation-card img{width:100%;height:190px;object-fit:contain;background:white;border-radius:12px}.creation-card p,.creation-card small{font-size:13px;line-height:1.5;margin:0}.creation-card label{font-size:13px}.creation-card input[type=text]{width:100%;padding:10px;border:1px solid #d8dfcf;border-radius:10px;font:inherit}.creation-card a{font-size:12px;text-decoration:underline}.generated-status{font-size:13px;line-height:1.6;padding:12px 18px;max-height:140px;overflow:auto;background:#fffbef;border-radius:14px;margin-top:12px}.generated-status:empty{display:none}body[data-view=draw] .creation-history,body[data-view=island] .creation-history{display:block}body[data-view=island] .creation-history{padding:0 20px 30px}@media(max-width:600px){.creation-grid{grid-template-columns:1fr}.creation-card img{height:240px}}
body[data-view=draw] main>section.creation-history{display:block!important}body[data-view=island] .generated-status{position:absolute;z-index:6;top:120px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);pointer-events:none;box-shadow:0 8px 30px #29433022}
.generation-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:28px;padding:24px;background:#fffef9;color:#354338;box-shadow:0 24px 90px #25352933}.generation-dialog::backdrop{background:#26342b70;backdrop-filter:blur(5px)}.generation-dismiss{display:block;margin-left:auto;margin-bottom:14px}.generation-dialog h2{font-size:27px;line-height:1.15;margin:12px 0 18px}.generation-dialog p{line-height:1.6}.generation-dialog .creation-card{border:0;padding:0;background:transparent}.generation-dialog .creation-card img{height:min(35dvh,300px)}.generation-dialog .creation-card .pill{width:100%;justify-content:center}.generation-dialog .generation-new{display:block;width:100%;margin-top:18px;padding:14px}.generation-orbit{margin:24px auto;width:80px;height:80px;display:grid;place-items:center;font-size:48px;color:#7956d6;background:#efe7fc;border-radius:28px;animation:murlik-wait 2s ease-in-out infinite}.generation-dialog-message{text-align:center}.generation-orbit+h2{text-align:center}.generation-wait-note{font-size:13px;color:#697566;text-align:center}@keyframes murlik-wait{50%{transform:rotate(15deg) scale(1.08);border-radius:40px}}@media(prefers-reduced-motion:reduce){.generation-orbit{animation:none}}@media(max-width:600px){.generation-dialog{padding:18px;border-radius:22px}.generation-dialog h2{font-size:24px}}
.actor-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.actor-name{position:absolute;top:0;left:0;pointer-events:auto;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 10px;border:1px solid #fff8;border-radius:16px;background:#fffdf1e8;color:#43513b;box-shadow:0 2px 8px #23392518;font-size:12px;font-weight:700;will-change:transform}.actor-name[hidden]{display:none}.actor-hearts{position:absolute;pointer-events:none}.actor-hearts span{position:absolute;color:#ec7296;font-size:22px;opacity:0;--shift:calc((var(--i) - 2.5)*15px)}.actor-hearts.playing span{animation:murlik-heart 1.5s ease-out both;animation-delay:calc(var(--i)*.08s)}@keyframes murlik-heart{0%{transform:translate(-50%,-15px) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(var(--shift),-100px) scale(1.1);opacity:0}}.murlik-library{display:none;padding-bottom:40px}body[data-view=murliks] main>:not(.game-toolbar):not(.murlik-library){display:none!important}body[data-view=murliks] .murlik-library{display:block!important}.murlik-library h2{margin:32px 0 20px}.murlik-library .creation-card h3{margin:0}.murlik-library form{display:grid;gap:10px}.murlik-library form .pill{width:100%;justify-content:center}.library-status,.library-empty{color:#74806e;font-size:14px}.library-empty{grid-column:1/-1}.murlik-library .creation-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}@media(max-width:600px){.actor-name{font-size:11px;padding:4px 8px;max-width:130px}.murlik-library .creation-grid{grid-template-columns:1fr}body[data-view=murliks] .game-toolbar>div{width:100%}}@media(prefers-reduced-motion:reduce){.actor-hearts.playing span{animation:none}.actor-hearts.playing span:first-child{opacity:1;transform:translate(-50%,-35px)}}
.actor-name{transition:none;backface-visibility:hidden}.actor-hearts{left:0;top:0;will-change:transform}.actor-hearts span{font-size:27px;--shift:calc((var(--i) - 5.5)*10px)}.actor-hearts.playing span{animation-delay:calc(var(--i)*.04s)}
.actor-hearts{position:absolute;inset:0;transform:none;will-change:auto}.actor-hearts span{left:0;top:0;font-size:27px;line-height:1;animation:none!important;transition:none;will-change:transform,opacity}.actor-hearts span[hidden]{display:none}

/* Friendly workshop: one main action, parent permission and optional saving. */
body[data-view=draw],body[data-view=worlds],body[data-view=murliks]{background:radial-gradient(ellipse at 8% 12%,#ffffffb8 0,transparent 32%),radial-gradient(ellipse at 95% 75%,#e3edb7 0,transparent 38%),linear-gradient(175deg,#dff0f8 0,#eef2df 55%,#f4ecd9 100%);background-attachment:fixed}
body[data-view=draw] main{max-width:1040px}
body[data-view=draw] .workshop-title{display:grid;grid-template-columns:1fr;gap:10px;margin:20px auto 24px;max-width:790px;text-align:center}
body[data-view=draw] .workshop-title h2{font-size:clamp(28px,5vw,40px);line-height:1.15;color:#51406c;margin:10px 0 0}
body[data-view=draw] .workshop-title>p{font-size:15px;line-height:1.6;color:#697564;margin:0}
.creation-path{list-style:none;padding:6px;margin:12px auto 0;display:flex;gap:5px;width:min(100%,420px);border:2px solid #fff;border-radius:25px;background:#ffffffa8;box-shadow:0 5px 0 #78996c15}
.creation-path li{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:700;color:#8b8394;padding:11px 5px;border-radius:19px}
.creation-path li[aria-current]{background:#e9dffa;color:#7650aa}.creation-path li>span{font-size:20px}
body[data-view=draw] .editor.card{border:2px solid #fff;background:#fffdf8;border-radius:30px;box-shadow:0 8px 0 #91a66d24,0 18px 45px #4d6e5a12;padding:25px}
body[data-view=draw] .card-heading h2{font-size:20px;line-height:1.3;color:#524169}body[data-view=draw] .card-heading .step{display:none}
body[data-view=draw] .photo-source-actions button{min-height:52px;box-shadow:0 4px 0 #9479b729;font-size:15px}
body[data-view=draw] .tabs{margin:20px 0 16px;background:#ede7f5}body[data-view=draw] .tabs button{font-size:14px;min-height:48px}
body[data-view=draw] .paper{border:2px solid #e5dbef;border-radius:20px}
body[data-view=draw] .swatch{width:34px;height:34px;border-width:4px}
body[data-view=draw] #palette{gap:8px}body[data-view=draw] .icon-button{width:44px;height:44px;font-size:23px}
body[data-view=draw] .tools{gap:14px;margin-top:18px}
body[data-view=draw] .size-label{font-size:13px;gap:10px}body[data-view=draw] .size-label input{width:100px;min-height:40px}
body[data-view=draw] .paper-actions{font-size:12px;align-items:center;flex-wrap:wrap;gap:8px}
body[data-view=draw] .paper-actions .text-button{font-size:13px;min-height:44px;padding:10px}
.generation-panel{border:0;border-radius:24px;background:#f0e9fb;padding:22px;margin-top:22px}
.prepare-heading{display:flex;gap:14px;align-items:flex-start}.prepare-heading>span{display:grid;place-items:center;flex:0 0 44px;height:44px;background:#fff9e6;border-radius:16px;color:#bd8c34;font-size:28px}
.prepare-heading h3{font-size:23px;line-height:1.2;color:#594073;margin:2px 0 10px}.prepare-heading p{font-size:14px;line-height:1.65;color:#776585;margin:0}
.parent-permission{background:#fffcf6;border:1px solid #e0d4ed;border-radius:18px;padding:17px;margin:20px 0}
.parent-permission>strong{font-size:16px;color:#5b4970}.parent-permission>p{font-size:13px;color:#887b94;margin:7px 0}
.parent-permission .generation-consent{gap:12px;font-size:14px;line-height:1.65;margin:14px 0;color:#5d526a;cursor:pointer}
.generation-consent input{width:22px;height:22px;accent-color:#7956ce;margin-top:1px}
.processing-details{font-size:12px;line-height:1.7;color:#887b94}.processing-details summary{cursor:pointer;min-height:40px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.processing-details p{font-size:12px;color:#887b94}
.generation-panel #prepare-character{min-height:58px;justify-content:center;font-size:17px;border-radius:20px;background:#7852cf;box-shadow:0 5px 0 #5935a8;color:white;padding:16px 12px}
.generation-panel #prepare-character:disabled{box-shadow:none;background:#bdb1cf;opacity:1;color:#fff}
.generation-panel .prepare-help{font-size:12px;text-align:center;color:#7c698b;margin:14px 0 8px}
.generation-panel #generation-config{font-size:12px;line-height:1.6;color:#796987;text-align:center;margin:0}
body[data-view=draw] .editor-bottom{border-top:0;margin-top:15px;padding-top:5px}
body[data-view=draw] #save{background:transparent;color:#7c6c8e;box-shadow:none;border:1px solid #ded3e8;justify-content:center;gap:10px;min-height:46px;font-size:13px;border-radius:15px}
body[data-view=draw] .editor-bottom p{font-size:12px;line-height:1.6;color:#8f8397}
body[data-view=draw] .saved-section,body[data-view=draw] .creation-history{padding:22px;background:#ffffffb8;border:2px solid #fff;border-radius:25px;margin:30px 0}
body[data-view=draw] .saved-item{min-width:155px;width:155px}.saved-item button{min-height:44px}
.generation-dialog{background:#fffdf6;color:#514166;border:3px solid #fff;box-shadow:0 10px 0 #74876333,0 24px 90px #25352933}
.generation-dialog h2{color:#594173}.generation-dialog .generation-dismiss{min-height:44px;font-size:13px;padding:10px}
.murlik-name-field{display:grid;gap:8px;color:#7e6c8b;font-size:13px!important}.murlik-name-field input{min-height:48px}
.generation-dialog .creation-card .pill{font-size:15px;min-height:54px}
body[data-view=worlds] .worlds-heading h1,body[data-view=murliks] .worlds-heading h1{color:#58416d;text-shadow:0 3px #fff9}
body[data-view=worlds] .world-choice{border:3px solid #fff8ef;box-shadow:0 8px 0 #9baa6f42,0 18px 45px #4d6e5a1a}
body[data-view=worlds] .world-choice .pill{min-height:56px;box-shadow:0 5px 0 #5b3da4}
@media(max-width:600px){
 body[data-view=draw] main{padding:0 12px}body[data-view=draw] .editor.card{padding:17px;border-radius:25px}
 body[data-view=draw] .workshop-title{margin:12px 0 22px}.creation-path{margin-top:8px}.creation-path li{font-size:12px;gap:5px}
 body[data-view=draw] .card-heading h2{font-size:18px}.generation-panel{padding:17px;margin-top:20px;border-radius:21px}
 .prepare-heading{gap:10px}.prepare-heading h3{font-size:22px}.prepare-heading>span{flex-basis:36px;height:36px;border-radius:13px;font-size:24px}
 .parent-permission{padding:15px}.parent-permission .generation-consent{font-size:13px}
 body[data-view=draw] .size-label{width:100%;justify-content:flex-end}.generation-panel #prepare-character{font-size:16px}
 body[data-view=draw] .saved-section,body[data-view=draw] .creation-history{padding:17px}
 body[data-view=draw] .game-toolbar{gap:9px;padding:14px 0}body[data-view=draw] .game-toolbar>div{gap:6px}body[data-view=draw] .game-toolbar .nav-link{min-height:44px;font-size:12px;padding:8px}
 body[data-view=draw] .game-toolbar [data-workshop],body[data-view=draw] .return-island{display:none}
}

.generation-diagnostics{font-size:12px;line-height:1.6;color:#8b7a98;margin-top:10px}.generation-diagnostics summary{cursor:pointer;min-height:40px;display:flex;align-items:center;justify-content:center}.generation-diagnostics p{font-size:12px;color:#8b7a98}.generation-diagnostics summary::before,.processing-details summary::before{content:"＋";margin-right:7px}.generation-diagnostics[open] summary::before,.processing-details[open] summary::before{content:"−"}
.generation-dialog.is-preparing{text-align:center}.creation-magic{position:relative;width:220px;height:180px;margin:4px auto 18px}.magic-paper{position:absolute;width:130px;height:140px;left:39px;top:18px;padding:14px;background:#fff;border:2px solid #ebdff3;border-radius:15px;box-shadow:0 7px 0 #e5d5ec;transform:rotate(-8deg)}.magic-paper img{width:100%;height:100%;object-fit:contain;display:block}.magic-doodle{width:100%;height:100%}.magic-pencil{position:absolute;right:3px;bottom:5px;animation:magic-pencil-draw 3s ease-in-out infinite}.magic-pencil>.magic-icon{width:85px;height:85px}.magic-spark{position:absolute;font-size:29px;color:#ac80d6;animation:magic-spark-glow 2.8s ease-in-out infinite}.spark-a{left:5px;top:20px;color:#e9b345}.spark-b{right:0;top:22px;animation-delay:-.8s}.spark-c{left:5px;bottom:15px;animation-delay:-1.6s;font-size:19px}.spark-d{right:36px;top:0;color:#e8b449;animation-delay:-2.1s;font-size:22px}.magic-caption{display:block;font-size:9px;letter-spacing:2px;color:#a18aab;font-weight:700}.generation-dialog.is-preparing h2{text-align:center;margin:14px 0 15px}.generation-dialog.is-preparing .generation-dialog-message{font-size:14px;color:#8b759c}.magic-stages{display:flex;align-items:center;justify-content:center;gap:11px;margin:24px 0;font-size:12px;color:#b3a4b9}.magic-stages strong{padding:10px 17px;background:#f0e5fa;border:1px solid #dfcaef;border-radius:14px;color:#8055a6}.generation-dialog.is-preparing .generation-wait-note{font-size:12px;line-height:1.8;color:#97839c;margin-bottom:12px}@keyframes magic-pencil-draw{0%,100%{transform:translate(0,0) rotate(-9deg)}35%{transform:translate(-18px,-9px) rotate(0deg)}65%{transform:translate(-9px,4px) rotate(-14deg)}}@keyframes magic-spark-glow{0%,100%{opacity:.4;transform:translateY(3px) scale(.8)}50%{opacity:1;transform:translateY(-5px) scale(1)}}@media(prefers-reduced-motion:reduce){.magic-pencil,.magic-spark{animation:none}}@media(max-width:500px){.creation-magic{transform:scale(.9);margin:0 auto 6px;height:170px}.generation-dialog.is-preparing h2{font-size:23px}.magic-stages{gap:8px;font-size:11px;margin:20px 0}.generation-dialog.is-preparing .generation-wait-note{font-size:11px}}
.generation-dialog[data-state=image_ready]{background:radial-gradient(ellipse at top left,#fff1bd,transparent 45%),linear-gradient(145deg,#fffcf2,#f7efff);border:3px solid white;border-radius:32px;box-shadow:0 8px 0 #c4abd44d,0 24px 80px #25352940}.generation-dialog[data-state=image_ready] h2{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-weight:900;letter-spacing:-.7px;font-size:30px;color:#76509c;margin:16px 0 12px}.generation-dialog .result-ready-badge{background:#ffe69a;color:#956d31;border:2px solid #fff3c9;border-radius:12px 16px 12px 16px;padding:8px 13px;font-size:11px;box-shadow:0 3px 0 #e1bd6e;font-weight:800}.generation-dialog[data-state=image_ready] .result-intro{font-size:13px;color:#a085ad}.generation-dialog[data-state=image_ready] .result-preview-tabs{border:2px solid white;background:#e8daf5;box-shadow:0 3px 0 #cfb8e0;border-radius:18px;padding:5px;gap:6px}.generation-dialog[data-state=image_ready] .result-preview-tabs button{min-height:44px;font-size:12px;font-weight:800;border-radius:13px;color:#9b7eb2}.generation-dialog[data-state=image_ready] .result-preview-tabs button[aria-pressed=true]{background:#fffdf7;color:#7b52a2;box-shadow:0 2px 0 #dac8e6}.generation-dialog[data-state=image_ready] .creation-card>img{background:#fff;border:3px solid #f0d48c;border-radius:25px;box-shadow:0 5px 0 #d5b37133;padding:8px}.generation-dialog[data-state=image_ready] .result-name-field{border:0!important;padding:0!important;margin-top:22px!important}.generation-dialog[data-state=image_ready] .result-name-heading strong{font-size:14px;color:#8a609f}.generation-dialog[data-state=image_ready] .result-name-field input{border:2px solid #dfcbee;border-radius:16px;min-height:50px;padding:12px 15px;background:#fff;box-shadow:0 3px 0 #e1d1eb;font-size:14px}.generation-dialog[data-state=image_ready] .result-name-field input:focus{border-color:#b58cdb;outline:2px solid #f2db98;outline-offset:3px}.generation-dialog .result-animate{display:flex;align-items:center;justify-content:center;gap:15px;background:linear-gradient(150deg,#ab7fe5,#8655c8);border:2px solid #c8a9f0;border-top-color:#e5ccff;border-radius:21px;box-shadow:0 5px 0 #613b98,inset 0 2px 0 #d2b2f2;min-height:58px;font-size:17px;font-weight:850}.result-coin-cost{display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#fff1b7;font-weight:900;flex:none}.result-coin-cost .coin-icon{width:32px;height:32px;display:block}.result-coin-cost>span{font-size:20px}.generation-dialog .result-animate:active{transform:translateY(3px);box-shadow:0 2px 0 #613b98}.generation-dialog[data-state=image_ready] .generation-new{min-height:50px;border:2px solid #efda9d;background:linear-gradient(150deg,#fff7df,#ffe8af);box-shadow:0 3px 0 #dcbf7f;color:#93703b;font-size:14px;font-weight:750;border-radius:17px}.generation-dialog[data-state=image_ready] .generation-new:before{content:'✎';font-size:19px;margin-right:8px}.generation-dialog .result-action-note{line-height:1.5;color:#a18aaa;font-size:10px}.generation-dismiss{border-radius:14px!important}
@media(max-width:500px){.generation-dialog[data-state=image_ready]{border-radius:27px;padding:18px}.generation-dialog[data-state=image_ready] h2{font-size:25px}.generation-dialog .result-ready-badge{font-size:10px;padding:7px 10px}.generation-dialog .result-animate{font-size:14px;gap:10px;min-height:54px}.result-coin-cost .coin-icon{width:29px;height:29px}.result-coin-cost>span{font-size:18px}.generation-dialog[data-state=image_ready] .creation-card>img{border-radius:21px}}
