/* Wesen-Spielwelt (wesen-play.js). Panel ist hell, Schrift dunkel; Dunkelmodus unten. */
.nc-wplay-host{color:#0f172a;min-width:0;max-width:100%}
.nc-wp-tabs{max-width:100%}
.nc-wp-gt,.nc-wp-trow span,.nc-wp-card,.nc-wp-opt,.nc-wp-fb{min-width:0;overflow-wrap:break-word}
.nc-wp-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:2px 0 10px;padding-bottom:2px}
.nc-wp-tabs::-webkit-scrollbar{display:none}
.nc-wp-tab{position:relative;flex:none;display:flex;align-items:center;gap:4px;font:inherit;font-size:.74rem;font-weight:700;padding:7px 10px;min-height:36px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff;color:#334155;cursor:pointer}
.nc-wp-tab.is-on{background:#0f766e;border-color:#0f766e;color:#fff}
.nc-wp-dot{position:absolute;top:3px;right:4px;width:8px;height:8px;border-radius:50%;background:#e0119d}
.nc-wp-note{font-size:.78rem;font-weight:700;padding:8px 10px;border-radius:10px;background:#fef9c3;color:#713f12;margin-bottom:8px}
.nc-wp-event{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;background:linear-gradient(135deg,#fdf2f8,#ede9fe);margin-bottom:8px;font-size:.78rem;line-height:1.45}
.nc-wp-event>span{font-size:1.6rem;line-height:1}
.nc-wp-event b{display:block}
.nc-wp-sub{font-size:.74rem;color:#475569;line-height:1.45;margin:6px 0}
.nc-wp-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.nc-wp-row.is-split>*{flex:1 1 0}
.nc-wp-btn{font:inherit;font-weight:800;font-size:.8rem;border:0;border-radius:999px;padding:10px 16px;min-height:42px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#10b981,#0f766e)}
.nc-wp-btn.is-ghost{background:transparent;color:#475569;border:1px solid rgba(15,23,42,.15);font-weight:600;margin-top:6px}
.nc-wp-btn.is-l{background:linear-gradient(135deg,#94a3b8,#475569)}
.nc-wp-btn.is-r{background:linear-gradient(135deg,#f472b6,#c40d86)}
.nc-wp-games{display:flex;flex-direction:column;gap:8px}
.nc-wp-game-card{display:flex;gap:10px;align-items:center;text-align:left;font:inherit;padding:10px;border-radius:12px;border:1px solid rgba(15,118,110,.25);background:#f0fdfa;color:#0f172a;cursor:pointer}
.nc-wp-game-card:active{transform:scale(.98)}
.nc-wp-gi{font-size:1.7rem;flex:none;width:40px;text-align:center}
.nc-wp-gt{display:flex;flex-direction:column;font-size:.76rem;line-height:1.35}
.nc-wp-gt b{font-size:.86rem}
.nc-wp-gt small{color:#0f766e;font-weight:700;margin-top:2px}
.nc-wp-hud{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;font-weight:700;color:#0f766e;margin-bottom:6px;flex-wrap:wrap}
.nc-wp-catch{position:relative;height:300px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#e0f2fe,#ecfdf5 70%,#bbf7d0);touch-action:none;overscroll-behavior:contain;outline:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
.nc-wp-catch:focus-visible{box-shadow:0 0 0 3px #fde047}
.nc-wp-player{position:absolute;left:0;bottom:6%;font-size:2.4rem;line-height:1;filter:drop-shadow(0 4px 4px rgba(15,23,42,.25));will-change:transform;pointer-events:none}
.nc-wp-pface{display:inline-block}
.nc-wp-pface.is-wobble{animation:ncWpWobble .5s ease}
@keyframes ncWpWobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}
.nc-wp-item{position:absolute;top:0;will-change:transform;display:flex;flex-direction:column;align-items:center;font-size:1.5rem;line-height:1;pointer-events:none}
.nc-wp-item small{font-size:.58rem;font-weight:700;background:rgba(255,255,255,.85);padding:1px 5px;border-radius:999px;margin-top:2px;white-space:nowrap;color:#0f172a}
.nc-wp-item.is-bad small{background:#fee2e2;color:#9f1239}
.nc-wp-pop{position:absolute;bottom:22%;transform:translateX(-50%);font-weight:800;font-size:.9rem;pointer-events:none;animation:ncWpPop .8s ease-out forwards}
.nc-wp-pop.is-good{color:#059669}
.nc-wp-pop.is-bad{color:#9f1239;font-size:.75rem}
@keyframes ncWpPop{0%{opacity:0;transform:translate(-50%,6px)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-34px)}}
.nc-wp-hud{align-items:center}
.nc-wp-mute{width:36px;height:36px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#fff;cursor:pointer;font-size:1rem;flex:none}
.nc-wp-hint{font-size:.7rem;color:#64748b;margin-top:6px}
.nc-wp-card{padding:14px;border-radius:12px;background:#f8fafc;border:1px solid rgba(15,23,42,.1);font-size:.9rem;line-height:1.45;margin:6px 0}
.nc-wp-card.is-ok{background:#ecfdf5;border-color:#6ee7b7}
.nc-wp-card.is-hm{background:#fffbeb;border-color:#fcd34d}
.nc-wp-fb{font-size:.8rem;line-height:1.5;margin:6px 0}
.nc-wp-opts{display:flex;flex-direction:column;gap:6px}
.nc-wp-opt{font:inherit;font-size:.8rem;text-align:left;padding:10px 12px;min-height:44px;border-radius:12px;border:1px solid rgba(124,58,237,.3);background:#faf5ff;color:#0f172a;cursor:pointer;line-height:1.4}
.nc-wp-mem{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.nc-wp-mc{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;border-radius:12px;border:1px solid rgba(15,118,110,.3);background:linear-gradient(135deg,#0f766e,#134e4a);color:#fff;cursor:pointer;font-size:1.3rem;transition:transform .2s}
.nc-wp-mc small{font-size:.55rem;font-weight:700;text-align:center;line-height:1.1}
.nc-wp-mc.is-open{background:#fff;color:#0f172a;transform:rotateY(0)}
.nc-wp-mc.is-match{background:#ecfdf5;border-color:#10b981}
.nc-wp-tip{font-size:.76rem;line-height:1.45;margin:8px 0;min-height:2.2em;color:#0f766e;font-weight:600}
.nc-wp-end{text-align:center;padding:6px 0}
.nc-wp-end p{font-size:.8rem;line-height:1.5;margin:6px 0}
.nc-wp-end .nc-wp-row{justify-content:center}
.nc-wp-big{font-size:.95rem!important;font-weight:800}
.nc-wp-say{font-style:italic;color:#0f766e}
.nc-wp-gain{font-weight:800;color:#b45309}
.nc-wp-room{position:relative;height:230px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fef3c7 0%,#fde68a 58%,#d6a76b 58%,#c08552 100%)}
.nc-wp-room.is-winter{background:linear-gradient(180deg,#e0e7ff 0%,#c7d2fe 58%,#a78b6d 58%,#8b6a4c 100%)}
.nc-wp-room.is-spring{background:linear-gradient(180deg,#fce7f3 0%,#fbcfe8 58%,#d6a76b 58%,#c08552 100%)}
.nc-wp-ri,.nc-wp-rw{position:absolute;transform:translate(-50%,-50%);font-size:1.7rem;line-height:1}
.nc-wp-ri i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-style:normal}
.nc-wp-rw{font-size:2.4rem;filter:drop-shadow(0 4px 4px rgba(15,23,42,.3));animation:ncWpBob 3s ease-in-out infinite}
@keyframes ncWpBob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-58%)}}
.nc-wp-todo{margin-top:8px;font-size:.76rem}
.nc-wp-trow{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(15,23,42,.07)}
.nc-wp-trow small{color:#64748b;text-align:right}
.nc-wp-story{display:flex;flex-direction:column;gap:8px}
.nc-wp-ch{padding:10px 12px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a}
.nc-wp-ch.is-locked{background:#f8fafc;border-color:rgba(15,23,42,.08);opacity:.7}
.nc-wp-ch.is-new{box-shadow:0 0 0 3px rgba(224,17,157,.25)}
.nc-wp-ch-h{display:flex;align-items:center;gap:8px;font-size:.84rem}
.nc-wp-ch-h em{margin-left:auto;font-style:normal;font-size:.62rem;font-weight:800;padding:2px 7px;border-radius:999px;background:#e0119d;color:#fff}
.nc-wp-ch p{font-size:.78rem;line-height:1.5;margin:6px 0 0}
.nc-wp-letter{padding:16px;border-radius:12px;background:linear-gradient(180deg,#fff7ed,#fdf2f8);border:1px solid #fbcfe8;font-family:Georgia,'Times New Roman',serif}
.nc-wp-lh{font-family:inherit;font-weight:800;color:#0f766e;font-size:.82rem;margin-bottom:8px}
.nc-wp-letter p{font-size:.88rem;line-height:1.65;margin:0}
.nc-wp-forest-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:.86rem}
.nc-wp-forest-head span{font-size:.72rem;color:#64748b}
.nc-wp-bar{height:8px;border-radius:999px;background:rgba(15,118,110,.12);overflow:hidden;margin:6px 0}
.nc-wp-bar i{display:block;height:100%;background:linear-gradient(90deg,#86efac,#15803d)}
.nc-wp-forest{display:grid;grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:2px;padding:8px;border-radius:12px;background:linear-gradient(180deg,#ecfdf5,#d1fae5)}
.nc-wp-forest span{text-align:center;font-size:1rem;opacity:.35}
.nc-wp-forest span.is-on{opacity:1}
.nc-wp-helpers{display:flex;flex-wrap:wrap;gap:6px}
.nc-wp-chip{font-size:.76rem;padding:5px 10px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0}
.nc-wp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:8px 0}
.nc-wp-gcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:10px 6px;border-radius:12px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);min-width:0}
.nc-wp-gcard b{font-size:.82rem;overflow-wrap:anywhere}
.nc-wp-gcard small{font-size:.66rem;color:#64748b;overflow-wrap:anywhere}
.nc-wp-glook{font-size:2rem;line-height:1.1}
.nc-wp-gacts{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap;justify-content:center}
.nc-wp-greet{width:34px;height:34px;border-radius:50%;border:1px solid rgba(15,23,42,.12);background:#fff;cursor:pointer;font-size:1rem}
.nc-wp-greet:disabled{opacity:.4}
/* Jahreszeit über dem Wesen */
.nc-wp-season{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}
.nc-wp-season span{position:absolute;top:-10%;font-size:1rem;opacity:.85;animation:ncWpFall 9s linear infinite}
.nc-wp-season.is-summer span{top:auto;bottom:-10%;animation-name:ncWpRise}
.nc-wp-season.is-event span{font-size:1.2rem}
@keyframes ncWpFall{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(340px) rotate(200deg)}}
@keyframes ncWpRise{0%{transform:translateY(0);opacity:0}20%{opacity:.8}100%{transform:translateY(-320px);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .nc-wp-season span{animation:none;top:6%}
  .nc-wp-rw{animation:none}
  .nc-wp-player{transition:none}
}
html.nc-dark .nc-wplay-host{color:#ece8f5}
html.nc-dark :is(.nc-wp-tab,.nc-wp-game-card,.nc-wp-card,.nc-wp-opt,.nc-wp-gcard,.nc-wp-greet,.nc-wp-ch){background:#2b223d;color:#ece8f5;border-color:#554561}
html.nc-dark .nc-wp-tab.is-on{background:#0f766e;color:#fff}
html.nc-dark :is(.nc-wp-sub,.nc-wp-hint,.nc-wp-trow small,.nc-wp-gcard small){color:#cbd5e1}
html.nc-dark .nc-wp-letter{background:#2b223d;border-color:#7c4a6d}
html.nc-dark .nc-wp-letter p{color:#ece8f5}
