:root{--paper:#f7f6f2;--ink:#223534;--muted:#77817e;--line:#e0e4dc;--green:#355d4d;--blue:#528baa;--orange:#bf8755;--purple:#9273ad;--side:238px;--shadow:0 8px 28px #20312b0c;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:7px;transition:background .15s}button:hover{background:#eaf0e8}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #528baa;outline-offset:2px}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#274b3c}.danger{color:#a4453d}input,select,textarea{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:11px;max-width:100%}input[type=checkbox]{width:auto}textarea{resize:vertical;line-height:1.55}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal}h1{font-size:35px;letter-spacing:-1px;margin:7px 0 10px}h2{font-size:30px;margin:12px 0}p{line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--muted);margin:0}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:#edf0e9;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 17px 20px;z-index:10;overflow:auto}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-family:Georgia,serif;font-size:15px;letter-spacing:.8px;margin:0 0 39px 5px}.brand-icon{background:#355d4d;color:white;font-size:27px;border-radius:10px;padding:8px 11px;line-height:1}.brand small{font:8px Arial,sans-serif;letter-spacing:1.4px;display:block;margin-top:6px}.sidebar-label{font-size:9px;letter-spacing:1.6px;color:#899289;margin:0 12px 12px}.section-gap{margin-top:34px}.nav{background:transparent;border:0;text-align:left;padding:12px 15px;margin-bottom:4px}.nav span{font-size:19px;width:29px;display:inline-block;vertical-align:middle}.nav.active{background:#dde5d9;color:#274b3c;font-weight:600}.act-item{display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;padding:11px 13px;width:100%;text-align:left;font-size:12px}.act-item.selected{color:#355d4d;font-weight:700;background:#e1e8dc}.act-item span{font-size:10px;color:#7c867a}.level-toggle{border:0;background:transparent;text-align:left;width:100%;padding:10px 12px;font-size:12px;display:flex;align-items:center;gap:10px}.level-toggle.off{opacity:.35}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.level-0{--accent:var(--blue);--tint:#edf5f8}.level-1{--accent:var(--orange);--tint:#faf1e7}.level-2{--accent:var(--purple);--tint:#f4eff9}.dot{background:var(--accent)}.sidebar-footer{margin-top:auto;padding:36px 10px 0;display:grid;gap:12px}.sidebar-footer button{background:transparent;padding:0;border:0;text-align:left;font-size:11px;color:#6f7c72}.sidebar-footer small{font-size:9px;color:#9ca398;margin-top:10px}main{margin-left:var(--side);height:100dvh;display:flex;flex-direction:column}.topbar{height:65px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#fafbf7;gap:15px}.breadcrumb{font-size:9px;letter-spacing:1.6px;color:#8b968e;white-space:nowrap}.breadcrumb span{margin:0 12px;color:#b6bdb5}.breadcrumb strong{font-size:11px;letter-spacing:.3px;color:#4f6258}.top-actions{display:flex;align-items:center;gap:9px}.top-actions button{padding:7px 10px;font-size:11px;background:transparent}#save-state{font-size:10px;color:#70876d;margin-right:9px;max-width:230px}#save-state.warning{color:#a36a30}#save-state.error{color:#a4453d}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:29px 33px 24px;gap:20px;flex-shrink:0}.page-heading p:last-child{font-size:12px;color:#899087;margin:0}.heading-actions{display:flex;gap:10px}.heading-actions button{white-space:nowrap}.toolbar{padding:12px 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:19px;background:#fbfcf9;flex-shrink:0}.search-wrap{flex-direction:row;gap:8px;align-items:center;font-size:19px}.search-wrap input{font-size:11px;background:transparent;border:0;padding:8px;width:200px;font-weight:normal}.toolbar label:not(.search-wrap){font-size:10px;flex-direction:row;align-items:center;gap:8px;color:#7d867d;white-space:nowrap}.toolbar select{padding:6px;max-width:135px;font-size:11px;background:transparent}.toolbar-right{display:flex;gap:8px;margin-left:auto;align-items:center}.toolbar button{padding:7px 10px;font-size:11px}.toolbar .compact{font-weight:normal}#visible-count{font-size:10px;white-space:nowrap;color:#92998f}#canvas-wrap{position:relative;flex:1;min-height:200px;overflow:hidden}#canvas{position:absolute;inset:0;touch-action:none;background-color:#f5f5ef;background-image:radial-gradient(#cbd3c4 1px,transparent 1px);background-size:22px 22px;overflow:hidden;cursor:grab}#canvas.panning{cursor:grabbing}#world{position:absolute;left:0;top:0;transform-origin:0 0}.macro{position:absolute;border:1px solid #d4ddd0;border-radius:13px;background:#eaf0e37d;min-height:270px}.macro-head{position:absolute;inset:0 0 auto 0;min-height:90px;padding:18px 20px;cursor:grab;touch-action:none;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #d4ddd0}.macro-head small{font-size:9px;letter-spacing:1.7px;color:#7e8c78}.macro-head h3{font-family:Georgia,serif;font-weight:normal;font-size:20px;margin:7px 0 0;max-width:390px;line-height:1.25}.macro-head button{background:transparent;font-size:16px;border:0;padding:3px;align-self:flex-start}.macro-summary{position:absolute;bottom:10px;left:20px;right:20px;font-size:10px;color:#8b9785;pointer-events:none}.scene-card{position:absolute;width:230px;height:180px;background:#fffefa;border:1px solid #e0e2d7;border-top:3px solid var(--accent);border-radius:8px;box-shadow:var(--shadow);padding:0 14px 12px;cursor:pointer;overflow:hidden}.scene-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #20312b1a}.scene-card .drag-handle{height:23px;cursor:grab;text-align:center;font-size:13px;color:#b7beb2;letter-spacing:2px;touch-action:none;margin:0 -14px}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.6px;color:#8a9388;margin:0 0 9px}.card-meta .badge{background:var(--tint);color:var(--accent);padding:3px 6px;border-radius:3px;letter-spacing:0}.scene-card h3{font-size:13px;line-height:1.35;font-weight:600;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-card p{font-size:10px;line-height:1.55;color:#828b7e;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{position:absolute;bottom:10px;left:14px;right:14px;display:flex;gap:8px;font-size:9px;justify-content:space-between;color:#738170;background:#fffefa;padding-top:6px}.card-bottom span{max-width:100px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.scene-card.filtered{opacity:.15;pointer-events:none}.dragging{opacity:.85;z-index:50!important;box-shadow:0 14px 34px #273e3326}.drop-target{outline:3px solid #688c68;outline-offset:5px}.canvas-hint{position:absolute;left:22px;bottom:19px;font-size:10px;color:#919a8c;background:#f5f5efeb;padding:8px 12px;border-radius:6px;pointer-events:none}.zoom-controls{position:absolute;right:22px;bottom:19px;display:flex;gap:0;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.zoom-controls button{border:0;border-radius:0;padding:9px 12px}.zoom-controls span{display:flex;align-items:center;font-size:10px;padding:0 6px;min-width:48px;justify-content:center}.overlay{position:fixed;inset:0;background:#15281f33;z-index:30}.editor{position:fixed;inset:0 0 0 auto;background:#fbfcf9;width:490px;max-width:100%;z-index:31;box-shadow:-10px 0 40px #18281e14;overflow:auto}.editor-top{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.5px;color:#768a76}.editor-top button{font-size:24px;background:transparent;border:0;padding:0 6px}#editor-form{padding:25px;display:grid;gap:19px}#scene-fields,#macro-fields{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.form-hint{font-size:11px;color:#8c9686;margin:0;line-height:1.6}.error{color:#a4453d;font-size:12px;min-height:18px}dialog{border:1px solid var(--line);padding:30px;background:#fbfcf9;color:var(--ink);border-radius:15px;max-width:min(600px,94vw);box-shadow:0 20px 100px #15291d33}dialog::backdrop{background:#20362b66;backdrop-filter:blur(3px)}#auth{width:410px}#auth form{display:grid;gap:17px}#auth p{font-size:13px;color:#7e887b;margin:0}.auth-mark{font-family:Georgia,serif;font-size:37px;background:#355d4d;color:white;border-radius:10px;padding:12px 17px;justify-self:start}#auth h2{font-size:36px;margin:0}.help-body p{font-size:13px;color:#71816f}.help-body{position:relative}.close-help{position:absolute;right:0;top:0;border:0;font-size:22px;background:transparent;padding:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:70;background:#294d3c;color:white;border-radius:8px;padding:13px 20px;font-size:12px;max-width:85vw;box-shadow:var(--shadow)}#sequence{overflow:auto;padding:24px 32px 70px;flex:1}.sequence-macro{margin:0 0 30px;max-width:1050px}.sequence-macro-header{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.sequence-macro-header h2{font-size:24px;margin:0;flex:1}.sequence-macro-header span{font-size:10px;color:#8a9584}.sequence-card{display:flex;gap:18px;padding:17px 18px;border:1px solid var(--line);border-left:4px solid var(--accent);background:white;border-radius:7px;margin:10px 0;align-items:flex-start}.sequence-card .sequence-grip{cursor:grab;color:#b6beb0;font-size:18px;padding-top:2px}.sequence-card .scene-text{flex:1;min-width:0}.sequence-card h3{font-size:14px;margin:0 0 7px}.sequence-card p{font-size:12px;color:#7b8775;margin:6px 0;white-space:pre-wrap}.sequence-card .scene-tags{font-size:10px;color:var(--accent);margin-bottom:8px}.sequence-buttons{display:flex;gap:5px;flex-shrink:0}.sequence-buttons button{font-size:12px;padding:7px 9px}.empty{padding:22px;border:1px dashed #cfd7c8;border-radius:7px;color:#899580;font-size:12px}.drag-over{outline:2px solid #66876c}#mobile-menu{display:none}#print-root{display:none}
@media(max-width:1150px){:root{--side:205px}.topbar{padding:0 19px}.page-heading{padding:22px}.toolbar{padding:10px 20px;gap:10px}.toolbar .compact{display:none}#visible-count{display:none}.search-wrap input{width:150px}.page-heading h1{font-size:29px}.heading-actions button{font-size:12px;padding:10px}.top-actions #save-now{display:none}.canvas-hint{max-width:45%;line-height:1.6}.brand{font-size:12px}}
@media(max-width:800px){:root{--side:0px}.sidebar{width:235px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none;box-shadow:10px 0 40px #20382a44}#mobile-menu{display:block;border:0;padding:8px;background:transparent}.topbar{padding:0 10px;gap:6px;height:58px}.breadcrumb{font-size:8px}.breadcrumb span{margin:0 4px}.top-actions{gap:4px}.top-actions button{font-size:10px;padding:7px}#save-state{font-size:9px;max-width:95px;margin-right:0}.page-heading{padding:20px 17px;align-items:flex-start;gap:10px}.page-heading h1{font-size:26px}.page-heading p:last-child{max-width:240px;line-height:1.5}.heading-actions{flex-direction:column;gap:6px}.heading-actions button{padding:8px;font-size:11px}.eyebrow{font-size:8px}.toolbar{padding:8px 12px;flex-wrap:wrap;gap:6px}.toolbar-right{margin-left:auto}.toolbar #arrange{display:none}.toolbar select{max-width:85px}.search-wrap input{width:145px}.canvas-hint{display:none}.zoom-controls{bottom:13px;right:13px}.zoom-controls button{padding:10px}#sequence{padding:12px 15px 60px}.sequence-macro-header h2{font-size:20px}.sequence-card{gap:10px;padding:12px 10px}.sequence-buttons{flex-direction:column}.sequence-card .scene-tags{line-height:1.6}.sequence-card p{font-size:12px}.breadcrumb strong{font-size:10px}.form-grid{grid-template-columns:1fr}.editor{width:100%}}
@media print{@page{size:A4;margin:16mm}body{background:white;font:10pt Arial,sans-serif;color:#111}#app,.editor,.overlay,dialog,#toast{display:none!important}#print-root{display:block!important}#print-root h1{font:25pt Georgia,serif;margin:0 0 8pt}#print-root .print-subtitle{font-size:9pt;color:#666;margin-bottom:20pt}#print-root h2{font:17pt Georgia,serif;break-after:avoid;margin:22pt 0 10pt}#print-root .print-macro-description{font-size:10pt;white-space:pre-wrap;line-height:1.5}#print-root article{border:1px solid #bbb;border-left:4px solid var(--accent);padding:10pt 12pt;margin:0 0 10pt;break-inside:avoid}#print-root h3{font-size:12pt;margin:0 0 6pt}#print-root p{font-size:10pt;line-height:1.5;white-space:pre-wrap;margin:6pt 0}#print-root .print-tags{font-size:8pt;color:#555}#print-root .print-notes{font-size:9pt;color:#555}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Sichtbarer Startstatus: verhindert eine leere Seite, falls JavaScript oder PHP nicht startet. */
.boot-status{box-sizing:border-box;max-width:720px;margin:12vh auto;padding:28px 32px;border:1px solid #d8d3c8;border-radius:16px;background:#fff;color:#292722;box-shadow:0 18px 60px rgba(35,31,24,.09);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}.boot-status strong,.boot-status span{display:block}.boot-status strong{font-size:1.2rem;margin-bottom:8px}.boot-status span{color:#686258}
