/* EVE Werkstatt (01.10.2026, Messe): heller Hausstil aus den Variablen der Werkzeug-Tafel v2 (miniapps.css).
   Text ≥ 14 px, Touch ≥ 48 px. Die gebaute App sitzt in einem weißen Rahmen; auf der Bühne fast vollflächig. */
.eve-miniapps .mapp-werkstatt{--ws-green:var(--mapp-green,#19be84);--ws-green-ink:var(--mapp-green-ink,#08734f);--ws-ink:var(--mapp-ink,#232328);--ws-sub:var(--mapp-sub,#596769);--ws-line:var(--mapp-line,#2323281a);--ws-card:var(--mapp-card,#fff);--ws-wash:var(--mapp-wash,#19be8417)}

/* Leer */
.eve-miniapps .mapp-ws-empty{display:flex;flex-direction:column;gap:12px;padding:4px 0 6px}
.eve-miniapps .mapp-ws-lead{margin:0;font-family:var(--mapp-display,inherit);font-size:30px;font-weight:700;line-height:1.1;color:var(--ws-ink)}
.eve-miniapps .mapp-ws-prompt{width:100%;min-height:96px;padding:14px 16px;border:1.5px solid #8a9895;border-radius:18px;background:var(--ws-card);color:var(--ws-ink);font:inherit;font-size:18px;line-height:1.4;resize:vertical}
.eve-miniapps .mapp-ws-prompt:focus-visible{outline:2px solid var(--ws-green-ink);outline-offset:2px;border-color:var(--ws-green)}
.eve-miniapps .mapp-ws-prompt::placeholder{color:#75827f}
.eve-miniapps .mapp-ws-build{min-height:56px;font-size:18px}
.eve-miniapps .mapp-ws-chips{display:flex;flex-wrap:wrap;gap:8px}
.eve-miniapps .mapp-ws-chips button,.eve-miniapps .mapp-ws-recent button{min-height:48px;padding:10px 16px;border:1px solid var(--ws-line);border-radius:99px;background:var(--ws-card);color:var(--ws-ink);font-size:15px;line-height:1.2;transition:background-color .15s,box-shadow .15s,transform .12s}
.eve-miniapps .mapp-ws-chips button:hover,.eve-miniapps .mapp-ws-recent button:hover{background:var(--ws-wash);box-shadow:inset 0 0 0 1px var(--ws-green)}
.eve-miniapps .mapp-ws-chips button:active,.eve-miniapps .mapp-ws-recent button:active{transform:scale(.97)}

/* Kopf der fertigen App */
.eve-miniapps .mapp-ws-head{margin:0 0 10px}
.eve-miniapps .mapp-ws-title{margin:0;font-family:var(--mapp-display,inherit);font-size:26px;font-weight:700;line-height:1.15;color:var(--ws-ink);overflow-wrap:anywhere}
.eve-miniapps .mapp-ws-summary{margin:4px 0 0;font-size:16px;line-height:1.4;color:var(--ws-sub)}

/* Bühne der App: Rahmen + Baustelle */
.eve-miniapps .mapp-ws-body{position:relative;min-height:340px;border-radius:22px;background:var(--ws-card);box-shadow:inset 0 0 0 1px var(--ws-line),0 14px 40px -24px #21302a55;overflow:hidden}
.eve-miniapps .mapp-ws-frame{position:absolute;inset:0}
.eve-miniapps .mapp-ws-iframe{display:block;width:100%;height:100%;border:0;background:#f5f7f9}
.eve-miniapps .mapp-ws-body[data-mode=ready],.eve-miniapps .mapp-ws-body[data-mode=refine]{height:min(56vh,520px)}
.eve-miniapps .mapp-ws-body[data-mode=refine] .mapp-ws-iframe{filter:saturate(.6) blur(1.5px);opacity:.55;transition:opacity .3s,filter .3s}

/* Baustelle: Stufen, Code, Wunsch, Sekunden */
.eve-miniapps .mapp-ws-forge{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px;min-height:340px;background:linear-gradient(180deg,#fbfcfd 0%,#f1f5f4 100%)}
.eve-miniapps .mapp-ws-forge.over{position:absolute;inset:auto 14px 14px 14px;min-height:0;border-radius:18px;box-shadow:0 18px 50px -20px #21302a66,inset 0 0 0 1px var(--ws-line);background:#fbfcfdf2}
.eve-miniapps .mapp-ws-forge.over .mapp-ws-code{height:120px}
.eve-miniapps .mapp-ws-forge.over{max-height:calc(100% - 28px);overflow:hidden}
.eve-miniapps .mapp-ws-steps{display:flex;gap:6px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.eve-miniapps .mapp-ws-steps li{display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 12px;border-radius:99px;font-size:15px;color:var(--ws-sub);background:#2323280a;transition:background-color .3s,color .3s}
.eve-miniapps .mapp-ws-steps li::before{content:'';width:9px;height:9px;border-radius:50%;background:#23232833}
.eve-miniapps .mapp-ws-steps li[data-state=done]{color:var(--ws-green-ink);background:var(--ws-wash)}
.eve-miniapps .mapp-ws-steps li[data-state=done]::before{background:var(--ws-green)}
.eve-miniapps .mapp-ws-steps li[data-state=active]{color:var(--ws-ink);font-weight:600;background:var(--ws-card);box-shadow:inset 0 0 0 1.5px var(--ws-green)}
.eve-miniapps .mapp-ws-steps li[data-state=active]::before{background:var(--ws-green);box-shadow:0 0 0 0 #19be8499;animation:mapp-ws-pulse 1.4s ease-out infinite}
.eve-miniapps .mapp-ws-code{position:relative;height:216px;overflow:hidden;padding:12px 14px;border-radius:14px;background:var(--ws-card);box-shadow:inset 0 0 0 1px var(--ws-line);font-family:ui-monospace,'Cascadia Mono',Consolas,'SFMono-Regular',monospace;font-size:15px;line-height:24px;color:var(--ws-ink);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 34px);mask-image:linear-gradient(180deg,transparent 0,#000 34px)}
.eve-miniapps .mapp-ws-line{display:flex;gap:12px;white-space:pre;animation:mapp-ws-type .55s steps(24,end) both}
.eve-miniapps .mapp-ws-line:last-child::after{content:'';display:inline-block;width:9px;height:18px;margin:3px 0 0 2px;background:var(--ws-green);animation:mapp-ws-caret .8s steps(1) infinite}
.eve-miniapps .mapp-ws-line code{font:inherit;color:inherit;overflow:hidden;text-overflow:clip}
.eve-miniapps .mapp-ws-line.check code{color:var(--ws-green-ink);font-weight:600}
.eve-miniapps .mapp-ws-ln{flex:none;width:22px;text-align:right;color:#9ea4a5}
.eve-miniapps .mapp-ws-wish{margin:0;font-size:16px;line-height:1.4;color:var(--ws-ink);overflow-wrap:anywhere}
.eve-miniapps .mapp-ws-clock{margin:0;font-family:var(--mapp-display,inherit);font-size:22px;font-weight:700;color:var(--ws-green-ink);font-variant-numeric:tabular-nums}
.eve-miniapps .mapp-ws-forge.over .mapp-ws-wish{font-size:15px}

/* Fehler, Ändern, Knopfzeile, Zuletzt */
.eve-miniapps .mapp-ws-error{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:#fff4ef;color:#8a3a14;font-size:15px;line-height:1.4}
.eve-miniapps .mapp-ws-change{display:flex;gap:8px;margin:12px 0 0}
.eve-miniapps .mapp-ws-change input{flex:1;min-width:0;min-height:52px;font-size:17px;background:var(--ws-card)}
.eve-miniapps .mapp-ws-change .mapp-primary{width:auto;flex:none;padding:12px 22px}
.eve-miniapps .mapp-ws-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.eve-miniapps .mapp-ws-actions .mapp-secondary{min-height:52px;padding:12px 20px;font-size:16px;font-weight:500;background:var(--ws-card)}
.eve-miniapps .mapp-ws-actions .mapp-secondary[aria-expanded=true]{background:var(--ws-wash);border-color:var(--ws-green);color:var(--ws-green-ink)}
.eve-miniapps .mapp-ws-recent{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0}
.eve-miniapps .mapp-ws-recent-label{font-size:14px;color:var(--ws-sub);margin-right:2px}
.eve-miniapps .mapp-ws-recent button{font-size:14px}
.eve-miniapps .mapp-ws-foot{margin-top:12px}

/* Bühne: fast vollflächig */
body[data-stage=werkstatt] .eve-miniapps .mapp-surface{width:min(97vw,1240px)}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-body[data-mode=ready],
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-body[data-mode=refine]{height:calc(100dvh - 300px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:360px}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-forge:not(.over){min-height:calc(100dvh - 330px)}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-code{height:min(46vh,420px);font-size:18px;line-height:30px}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-forge.over .mapp-ws-code{height:150px;font-size:15px;line-height:24px}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-steps li{font-size:17px;min-height:42px;padding:8px 16px}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-wish{font-size:20px}
body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-foot{display:none}
@media(max-width:700px){
 .eve-miniapps .mapp-ws-lead{font-size:26px}
 .eve-miniapps .mapp-ws-body[data-mode=ready],.eve-miniapps .mapp-ws-body[data-mode=refine]{height:min(62dvh,560px)}
 body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-body[data-mode=ready],body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-body[data-mode=refine]{height:calc(100dvh - 24svh - 270px);min-height:300px}
 .eve-miniapps .mapp-ws-actions .mapp-secondary{flex:1 1 0;min-width:0;padding:12px 8px;font-size:15px}
 .eve-miniapps .mapp-ws-forge.over{inset:auto 10px 10px 10px;padding:12px;gap:8px}
 .eve-miniapps .mapp-ws-forge.over .mapp-ws-code{display:none}
 .eve-miniapps .mapp-ws-forge.over .mapp-ws-steps li{font-size:14px;min-height:34px;padding:5px 10px}
 .eve-miniapps .mapp-ws-title{font-size:22px}
 .eve-miniapps .mapp-ws-forge:not(.over),body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-forge:not(.over){min-height:0;padding:14px}
 .eve-miniapps .mapp-ws-code,body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-code{height:192px;font-size:14px;line-height:23px}
 .eve-miniapps .mapp-ws-steps li,body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-steps li{font-size:15px;min-height:36px;padding:6px 12px}
 body[data-stage=werkstatt] .eve-miniapps .mapp-werkstatt .mapp-ws-wish{font-size:16px}
}

@keyframes mapp-ws-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes mapp-ws-caret{50%{opacity:0}}
@keyframes mapp-ws-pulse{0%{box-shadow:0 0 0 0 #19be8499}100%{box-shadow:0 0 0 9px #19be8400}}
@media(prefers-reduced-motion:reduce){.eve-miniapps .mapp-ws-line,.eve-miniapps .mapp-ws-line::after,.eve-miniapps .mapp-ws-steps li::before{animation:none!important}}
