.character-creator{position:fixed;inset:0;z-index:95;display:flex;justify-content:flex-end;align-items:center;padding:22px;background:linear-gradient(90deg,rgba(253,243,222,.04) 25%,rgba(253,243,222,.22) 60%,rgba(242,226,203,.73));font-family:inherit;color:#5b514b}.character-creator[hidden]{display:none}.creator-card{width:min(440px,47vw);max-height:calc(100dvh - 44px);display:flex;flex-direction:column;border:1px solid #fff9e9;border-radius:28px;background:rgba(255,249,236,.96);box-shadow:0 18px 75px #63514028;overflow:hidden}.creator-card header{display:flex;gap:12px;padding:24px 26px 14px}.creator-eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#9b856e}.creator-card h2{font-family:Georgia,serif;font-size:28px;line-height:1.13;margin:9px 0}.creator-card header p{font-size:13px;margin:0;color:#8a786b}.creator-card button{font:inherit;cursor:pointer}.creator-close{align-self:flex-start;margin-left:auto;background:#efe2cf;border:0;border-radius:50%;width:30px;height:30px;font-size:24px!important}.creator-scroll{padding:0 26px 12px;overflow:auto;overscroll-behavior:contain}.creator-name{font-size:12px;font-weight:700;display:block}.creator-name input{box-sizing:border-box;width:100%;margin-top:7px;padding:10px 13px;background:#fffdf6;border:1px solid #ded0bc;border-radius:12px;font:inherit;font-size:16px;color:#665243}.creator-card fieldset{border:0;padding:0;margin:17px 0}.creator-card legend{font-size:12px;font-weight:700;margin-bottom:9px}.creator-outfits{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.creator-outfits button{min-height:65px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:#f2eadd;border:1.5px solid transparent;border-radius:12px;padding:6px 2px;color:#66574a}.creator-outfits button>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--outfit-color);color:#fff8e9;font-size:16px}.creator-outfits small{font-size:9px;line-height:1.2}.creator-outfits [aria-pressed=true],.creator-expressions [aria-pressed=true]{border-color:#af786e;background:#f4ddcf;box-shadow:0 0 0 1px #af786e22}.creator-swatches{display:flex;gap:9px;flex-wrap:wrap}.creator-swatch{width:30px;height:30px;border:3px solid #fff8e9;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #d8c6ae;color:#7f6c59}.creator-swatch[aria-pressed=true]{box-shadow:0 0 0 2px #94695a;transform:scale(1.07)}.creator-original{background:linear-gradient(135deg,#e7c9a7,#fcf4e4)}.creator-expressions{display:flex;gap:7px}.creator-expressions button{flex:1;padding:9px 4px;background:#f2eadd;border:1.5px solid transparent;border-radius:10px;font-size:12px}.creator-size{display:block;font-size:12px;font-weight:700}.creator-size output{float:right;color:#a27966}.creator-size input{display:block;width:100%;accent-color:#aa8272;margin:10px 0}.creator-size>span{display:block;font-size:10px;font-weight:400;color:#a08f7e}.creator-size>span>span{float:right}.creator-hint{font-size:11px;line-height:1.5;color:#998878;margin:16px 0 0}.creator-card footer{padding:14px 22px 18px;display:flex;gap:10px;border-top:1px solid #ebdfcd;flex-shrink:0}.creator-card footer button{border:0;border-radius:14px;background:transparent;font-size:11px;color:#8c7b6d;padding:10px}.creator-card footer .creator-confirm{margin-left:auto;background:#a87568;color:#fff8e7;padding:12px 18px;font-size:14px;font-weight:700}.creator-preview-note{position:absolute;left:calc((100% - min(440px, 47vw))/2);bottom:13%;transform:translateX(-50%);text-align:center;color:#65594f;text-shadow:0 1px 7px #fff6da;pointer-events:none}.creator-preview-note>span{font-size:11px;letter-spacing:2px;text-transform:uppercase}.creator-preview-note p{font-family:Georgia,serif;font-size:29px;margin:7px}.creator-preview-note>div{display:flex;align-items:center;gap:14px;font-size:11px}.creator-preview-note button{pointer-events:auto;border:1px solid #ead7bf;background:#fff3dfdb;border-radius:50%;width:35px;height:35px;font-size:21px;color:#7d6653}.creator-launch{position:fixed;left:18px;bottom:82px;z-index:24;padding:9px 13px;border:1px solid #e1cfb7;border-radius:18px;background:#fff3e0ed;color:#7c6657;font:600 12px inherit;box-shadow:0 4px 14px #58443216;cursor:pointer}.creator-launch[hidden]{display:none}.creator-card button:focus-visible,.creator-card input:focus-visible,.creator-preview-note button:focus-visible{outline:3px solid #769a93;outline-offset:3px}@media(max-width:720px){.character-creator{padding:0;align-items:flex-end;background:linear-gradient(0deg,#eee0c5aa,transparent 65%)}.creator-card{width:100%;max-height:57dvh;border-radius:24px 24px 0 0}.creator-card header{padding:15px 20px 10px}.creator-card h2{font-size:22px;margin:5px 0}.creator-card header p{display:none}.creator-scroll{padding:0 20px 10px}.creator-preview-note{left:50%;top:28%;bottom:auto}.creator-preview-note p{font-size:22px}.creator-preview-note>span{display:none}.creator-card footer{padding:10px 20px}.creator-outfits small{font-size:10px}.creator-launch{bottom:145px;left:12px}}

body[data-editing-character=true] .hud,body[data-editing-character=true] #journal,body[data-editing-character=true] #festival-journal,body[data-editing-character=true] #place,body[data-editing-character=true] #controls,body[data-editing-character=true] #touch-controls,body[data-editing-character=true] .companion-launch,body[data-editing-character=true] #companion-button,body[data-editing-character=true] #resident-observer-tracking{visibility:hidden}

body[data-editing-character=true] .companion-shortcut{visibility:hidden}

.creator-launch{left:22px;bottom:88px;min-width:138px;height:42px}.companion-shortcut{left:22px;bottom:140px;min-width:138px;height:42px}@media(max-width:720px){.creator-launch{left:14px;bottom:152px;height:40px;min-width:128px}.companion-shortcut{left:14px;bottom:202px;height:40px;min-width:128px}}

.creator-detail-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.creator-detail-options button{padding:10px 7px;background:#f0e7d9;border:1.5px solid transparent;border-radius:11px;font-size:11px;min-height:42px}.creator-detail-options [aria-pressed=true]{background:#efdbcd;border-color:#ad7c70}.creator-expressions{flex-wrap:wrap}.creator-expressions button{flex:1 1 28%;min-height:42px}

/* The transparent stage receives drags; the options remain a normal scrollable card. */
.creator-rotate-surface{position:absolute;left:0;top:0;cursor:grab;touch-action:none;user-select:none;z-index:0}.creator-rotate-surface.is-dragging{cursor:grabbing}.creator-rotate-surface:focus-visible{outline:2px dashed #a7896b88;outline-offset:-12px;border-radius:24px}.creator-card{position:relative;z-index:2}.creator-preview-note{left:var(--preview-center,30%);bottom:35px;z-index:1}.creator-preview-note>div{justify-content:center}.creator-preview-note>span{font-size:9px}.creator-preview-note p{font-size:25px}@media(max-width:720px){.creator-preview-note{top:auto;bottom:calc(57dvh + 9px);left:50%}.creator-preview-note p{display:none}.creator-preview-note>div{font-size:9px;gap:9px}.creator-preview-note button{width:28px;height:28px;font-size:17px}}
body[data-playing-activity=true] .creator-launch,body[data-playing-activity=true] .companion-shortcut,body[data-playing-activity=true] #festival-journal{visibility:hidden}

.creator-outfit-detail{font-size:11px;line-height:1.5;color:#887565;margin:10px 2px 2px;min-height:32px}.creator-outfits button:hover{background:#eadbca}.creator-outfits [aria-pressed=true] small{font-weight:700}

/* v59 · Der Creator soll Spaß machen, Stufe C: die Freude beim Würfeln (der Würfel im Knopf dreht sich, der Knopf hüpft). Die Bewegungen
   liegen hier und nicht in CREATOR_STIL, weil work/w59-creator-3d/kontrast.test.mjs dort jede Regel als Knopfregel liest. */
@keyframes creator-wuerfel-dreh{from{transform:rotate(-10deg)}to{transform:rotate(710deg)}}
@keyframes creator-wuerfel-hops{0%{transform:translateY(0)}35%{transform:translateY(-6px) scale(1.05)}70%{transform:translateY(0)}}

/* v59 · Der Creator soll Spaß machen, Stufe D: die Blütenblätter bei „Das bin ich ♡“ (character-creator.js streueBlueten). Ein
   Feld über allem (im body, weil der Host den Creator gleich schließt), je Blatt eigene Richtung, Drehung, Farbe und Dauer
   über Variablen; sie steigen weich auf und segeln dann hinunter. Lautlos, ohne Zeigerereignisse, nach 2,4 s wieder weg. */
.creator-blueten{position:fixed;inset:0;z-index:300;pointer-events:none;overflow:hidden}
.creator-blueten i{position:absolute;display:block;width:var(--gr,10px);height:calc(var(--gr,10px)*1.4);margin:-7px 0 0 -5px;background:var(--farbe,#f7b8c4);border-radius:100% 0 100% 0;box-shadow:inset -1px -1px 2px #0000000f;opacity:0;animation:creator-bluete var(--dauer,1700ms) cubic-bezier(.2,.75,.4,1) var(--verz,0ms) both}
@keyframes creator-bluete{0%{transform:translate(0,0) rotate(0deg) scale(.25);opacity:0}10%{opacity:1}45%{transform:translate(calc(var(--dx)*.72),var(--dy)) rotate(calc(var(--dreh)*.45)) scale(1);opacity:1;animation-timing-function:cubic-bezier(.5,0,.8,.6)}100%{transform:translate(var(--dx),calc(var(--dy) + 280px)) rotate(var(--dreh)) scale(.85);opacity:0}}
@media(prefers-reduced-motion:reduce){.creator-blueten{display:none}}

/* v59 · Creator I.4 (24.09.2026): Der Name ist Pflicht — fehlt er bei „Das bin ich ♡“, leuchtet das Feld einmal weich auf. */
.character-creator .creator-name.ist-fehlt{animation:creator-name-leuchten 1.4s ease-out}
@keyframes creator-name-leuchten{0%{box-shadow:0 0 0 0 #f3b5aa00}25%{box-shadow:0 0 0 6px #f3b5aacc}100%{box-shadow:0 0 0 0 #f3b5aa00}}
@media(prefers-reduced-motion:reduce){.character-creator .creator-name.ist-fehlt{animation:none;box-shadow:0 0 0 3px #f3b5aa99}}
