/* Story-Editor – Feuerwehr Hallbergmoos */
.page-story .story-main{width:min(1240px,100% - 32px);margin:24px auto 0;flex:1 0 auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.picker-title{font-family:var(--ui-display);text-transform:uppercase;font-size:clamp(1.7rem,4.5vw,2.4rem);margin:4px 0 6px;color:var(--ui-ink)}
.picker-lead{color:var(--ui-ink-2);margin:0 0 20px;max-width:720px;line-height:1.5}
.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.preset-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:16px;border:1.5px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-ink);cursor:pointer;text-align:left;font:inherit;transition:transform .14s,border-color .14s,box-shadow .14s;overflow:hidden}
.preset-card::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:var(--ui-red-soft)}
.preset-card:hover{transform:translateY(-2px);border-color:var(--ui-red);box-shadow:0 10px 24px -14px rgba(196,30,36,.7)}
.preset-card:focus-visible{outline:none;box-shadow:var(--ui-focus)}
.pc-emoji{font-size:2rem;line-height:1;position:relative;z-index:1}
.pc-name{font-family:var(--ui-display);font-weight:700;font-size:1.25rem;text-transform:uppercase;line-height:1.05;margin-top:6px}
.pc-recipe{font-size:.78rem;color:var(--ui-muted);line-height:1.35}
.preset-card.free{border-style:dashed;background:linear-gradient(135deg,rgba(242,169,0,.14),rgba(242,169,0,.03))}
.draft-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;margin:0 0 18px;border-radius:14px;background:rgba(242,169,0,.12);border:1px solid rgba(242,169,0,.4);color:var(--ui-ink);font-weight:600}
.draft-banner span{margin-right:auto}
.disabled-note{padding:30px;text-align:center;color:var(--ui-muted)}

/* Editor */
.editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:24px;align-items:start}
.editor-stage{position:sticky;top:96px;display:flex;flex-direction:column;align-items:center;gap:10px}
.stage-frame{background:repeating-conic-gradient(var(--ui-surface-2) 0% 25%,var(--ui-surface) 0% 50%) 0 0/20px 20px;border:1px solid var(--ui-line);border-radius:20px;padding:14px;display:flex;justify-content:center;width:100%}
#story-canvas{height:min(76vh,860px);width:auto;max-width:100%;aspect-ratio:9/16;border-radius:14px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6);touch-action:none;cursor:grab;background:#000}
#story-canvas:active{cursor:grabbing}
.stage-hint{font-size:.78rem;color:var(--ui-muted);text-align:center;margin:0}
.editor-panel{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px}
.panel-head{display:flex;align-items:center;gap:10px}
.panel-head h2{margin:0;font-family:var(--ui-display);text-transform:uppercase;font-size:1.35rem;color:var(--ui-ink)}
.admin-entry-note{margin:4px 0;padding:8px 12px;border-radius:10px;background:var(--ui-info-soft);color:var(--ui-ink);font-size:.85rem}
.panel-sec{padding:12px 0;border-top:1px solid var(--ui-line)}
.panel-sec h3{margin:0 0 10px;font-family:var(--ui-display);text-transform:uppercase;font-size:1.02rem;letter-spacing:.03em;color:var(--ui-ink)}
.panel-sec[hidden]{display:none}
.sec-hint{font-size:.78rem;color:var(--ui-muted);margin:8px 0 0}
.sf{position:relative;margin-bottom:10px}
.sf .label{display:block;margin-bottom:5px;font-size:.85rem}
.sf input,.sf textarea{width:100%}
.sf textarea{resize:vertical;min-height:70px}
.sf-count{position:absolute;right:0;top:2px;font-size:.7rem;color:var(--ui-muted)}
.photo-slots{display:grid;gap:8px}
.slot{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:8px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface-2)}
.slot-pick{position:relative;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:var(--ui-ink)}
.slot-pick input{position:absolute;opacity:0;width:1px!important;height:1px!important;padding:0!important;border:0!important;margin:0!important}
.slot-pick:focus-within{box-shadow:var(--ui-focus);border-radius:8px}
.slot-thumb{width:48px;height:48px;border-radius:9px;background:var(--ui-red) center/cover no-repeat;flex:0 0 48px;display:grid;place-items:center}
.slot-thumb:not([style])::after{content:"📷";font-size:1.3rem}
.slot-zoom{grid-column:1 / -1;display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--ui-muted)}
.slot-zoom input{flex:1;accent-color:var(--ui-red)}
.slot-remove{border:0;background:transparent;color:var(--ui-bad);font-size:1rem;cursor:pointer;width:34px;height:34px;border-radius:8px}
.slot-remove:hover{background:var(--ui-bad-soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.chip{border:1px solid var(--ui-line-strong);background:var(--ui-surface);color:var(--ui-ink);border-radius:99px;padding:8px 14px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}
.chip.active{background:var(--ui-red);border-color:var(--ui-red);color:#fff}
.mini-switch{display:inline-flex;align-items:center;gap:8px;margin:4px 14px 4px 0;font-size:.88rem;font-weight:500!important;cursor:pointer;color:var(--ui-ink)}
.mini-switch input{width:18px;height:18px}
.extra-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}
.sticker{height:44px;border-radius:10px;border:1px solid var(--ui-line);background:var(--ui-surface-2);font-size:1.4rem;cursor:pointer;display:grid;place-items:center;padding:0}
.sticker img{height:32px}
.sticker:hover{border-color:var(--ui-red)}
.element-panel{margin-top:12px;padding:12px;border-radius:12px;border:1.5px solid var(--ui-signal);background:rgba(242,169,0,.06);display:grid;gap:8px}
.element-panel[hidden]{display:none}
.element-panel textarea{width:100%}
.element-panel input[type=range]{width:100%;accent-color:var(--ui-red)}
.swatches{display:flex;gap:8px;margin-top:6px}
.swatch{width:34px;height:34px;border-radius:50%;border:2px solid var(--ui-line-strong);cursor:pointer}
.swatch.active{outline:3px solid var(--ui-red);outline-offset:2px}
.el-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.panel-actions{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--ui-line)}
.panel-actions .btn-xl{width:100%;padding:15px!important;font-size:1.05rem!important;border-radius:13px!important}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.row-2 .btn[hidden]{display:none}
.row-2:has(.btn[hidden]){grid-template-columns:1fr}
.ghost-btn{border:1px solid var(--ui-line-strong);background:transparent;color:var(--ui-ink-2);border-radius:99px;padding:7px 14px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.ghost-btn:hover{color:var(--ui-red);border-color:var(--ui-red)}
.done{text-align:center;max-width:520px;margin:20px auto;display:flex;flex-direction:column;align-items:center;gap:10px}
.done h2{font-family:var(--ui-display);text-transform:uppercase;font-size:1.8rem;margin:6px 0 0;color:var(--ui-ink)}
.done p{color:var(--ui-ink-2)}
.done img{width:min(280px,70vw);border-radius:16px;box-shadow:var(--ui-shadow-lg);margin:10px 0}
.ready-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--ui-ok);color:#fff;box-shadow:0 0 0 8px var(--ui-ok-soft)}
.ready-badge svg{width:32px;height:32px}
.send-dialog .label{display:block;margin:12px 0 0;font-size:.85rem}
.send-dialog .ui-dialog-input{margin-top:6px}
.legal-mini{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.88rem;line-height:1.4;color:var(--ui-ink);cursor:pointer}
.legal-mini input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;accent-color:var(--ui-red)}
@media(max-width:900px){
  .editor{grid-template-columns:minmax(0,1fr);gap:14px}
  .editor-stage{position:static}
  #story-canvas{height:auto;width:100%;max-width:min(100%,calc(62vh * 0.5625))}
  .stage-frame{padding:8px;border-radius:16px}
  .editor-panel{padding:14px}
}
.editor-panel,.editor-stage,.panel-sec,#fields{min-width:0}
.incident-pick{display:block;width:100%!important;max-width:100%;min-width:0;text-overflow:ellipsis}
/* Smileys */
.emoji-bar{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;max-height:148px;overflow-y:auto;padding:2px;-webkit-overflow-scrolling:touch}
.emoji-btn{height:42px;border-radius:10px;border:1px solid var(--ui-line);background:var(--ui-surface-2);font-size:1.35rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;touch-action:manipulation}
.emoji-btn:hover,.emoji-btn:focus-visible{border-color:var(--ui-red,#d8232a)}
.emoji-btn:active{transform:scale(.92)}
.make-free{width:100%;margin-top:10px}
