.tw-tb-window{position:fixed;z-index:2147483000;left:4vw;top:5vh;width:92vw;height:88vh;min-width:340px;min-height:300px;max-width:100vw;max-height:100vh;background:#f8f5ee;border:1px solid #cbbda8;border-radius:16px;box-shadow:0 18px 70px rgba(0,0,0,.35);display:none;overflow:hidden;resize:both;contain:layout paint style}
.tw-tb-window.is-open{display:flex;flex-direction:column}.tw-tb-window.is-max{left:0!important;top:0!important;width:100vw!important;height:100vh!important;border-radius:0;resize:none}
.tw-tb-titlebar{height:48px;flex:0 0 48px;background:#183d35;color:#fff;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:move;user-select:none;touch-action:none}.tw-tb-title{font:900 16px/1.2 system-ui,sans-serif;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-tb-winbtn{width:34px;height:34px;border:0;border-radius:9px;background:rgba(255,255,255,.14);color:#fff;font-size:18px;font-weight:900;cursor:pointer}.tw-tb-winbtn:hover{background:rgba(255,255,255,.25)}
.tw-tb-body{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0;flex:1}.tw-tb-nav{overflow:auto;padding:10px;background:#eee7dc;border-right:1px solid #d8cab7;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.tw-tb-nav button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 10px;border-radius:10px;margin:2px 0;font:800 14px/1.25 system-ui,sans-serif;color:#352c23;cursor:pointer}.tw-tb-nav button.active,.tw-tb-nav button:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}.tw-tb-content{overflow:auto;padding:16px;min-width:0;background:#fffdf8;font:15px/1.45 system-ui,sans-serif;color:#241d18;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.tw-tb-panel{display:none;max-width:1200px;margin:0 auto}.tw-tb-panel.active{display:block}.tw-tb-panel h2{margin:0 0 12px;font-size:24px}.tw-tb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tw-tb-card{border:1px solid #ded3c4;border-radius:14px;padding:14px;background:#fff}.tw-tb-input,.tw-tb-select,.tw-tb-textarea{width:100%;box-sizing:border-box;border:1px solid #cdbfae;border-radius:10px;padding:10px 11px;background:#fff;color:#211b16;font:16px/1.3 system-ui,sans-serif}.tw-tb-textarea{min-height:160px;resize:vertical}.tw-tb-button{border:0;border-radius:10px;padding:10px 14px;background:#176c5a;color:#fff;font-weight:900;cursor:pointer}.tw-tb-button.secondary{background:#e8dfd2;color:#332b23}.tw-tb-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tw-tb-result{margin-top:12px;padding:12px;border-radius:12px;background:#eef8f5;word-break:break-word;min-height:24px}.tw-tb-error{background:#fff0ed;color:#8a2418}.tw-tb-keypad{display:grid;grid-template-columns:repeat(5,minmax(48px,1fr));gap:7px;margin-top:10px}.tw-tb-keypad button{border:1px solid #d7cab8;border-radius:9px;padding:11px 5px;background:#fff;font-weight:800;cursor:pointer}.tw-tb-canvas-wrap{position:relative;height:calc(100vh - 250px);min-height:320px;border:1px solid #d8ccbb;border-radius:12px;overflow:hidden;background:#fff}.tw-tb-canvas-wrap canvas{width:100%;height:100%;display:block}.tw-tb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px}.tw-tb-stat{background:#f4efe7;border-radius:10px;padding:10px}.tw-tb-stat b{display:block;font-size:12px;color:#6b5d50}.tw-tb-markdown{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:calc(100vh - 210px);min-height:360px}.tw-tb-markdown textarea{height:100%;resize:none}.tw-tb-preview{overflow:auto;border:1px solid #d7cab8;border-radius:10px;padding:14px;background:#fff;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.tw-tb-preview pre{overflow:auto;background:#f2eee8;padding:10px;border-radius:8px}.tw-tb-preview img{max-width:100%}
.tw-tb-window.is-solo-tool .tw-tb-nav{display:none}
.tw-tb-window.is-solo-tool .tw-tb-body{grid-template-columns:minmax(0,1fr)}
.tw-tb-window.is-solo-tool .tw-tb-winbtn[data-act="smaller"],.tw-tb-window.is-solo-tool .tw-tb-winbtn[data-act="larger"]{display:none}
@media(max-width:700px){.tw-tb-window{left:0!important;top:0!important;width:100vw!important;height:100vh!important;border-radius:0;resize:none}.tw-tb-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.tw-tb-nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #d8cab7;padding:6px}.tw-tb-nav button{width:auto;white-space:nowrap;margin-right:4px}.tw-tb-content{padding:10px}.tw-tb-markdown{grid-template-columns:1fr;height:auto}.tw-tb-markdown textarea,.tw-tb-preview{min-height:320px}.tw-tb-canvas-wrap{height:55vh}}
.tw-ggb-panel{max-width:none!important;height:100%;min-height:620px}.tw-ggb-mount{height:calc(100% - 48px);min-height:560px}.tw-ggb-host{width:100%;height:100%;min-height:540px;overflow:hidden;background:#fff;border:1px solid #d7cab8;border-radius:12px}.tw-ggb-host>div{max-width:100%!important}.tw-geogebra-bubble{position:fixed;left:18px;bottom:76px;z-index:2147482100;width:52px;height:52px;border:0;border-radius:50%;background:linear-gradient(135deg,#6b4bd7,#2d7bdc);color:#fff;font:900 22px/1 system-ui,sans-serif;box-shadow:0 10px 28px rgba(45,71,150,.34);cursor:pointer;display:none;align-items:center;justify-content:center;touch-action:manipulation}.tw-geogebra-bubble.is-visible{display:flex}.tw-external-tool-btn{width:100%;border:0;background:linear-gradient(135deg,#6b4bd7,#2d7bdc);color:#fff;border-radius:12px;padding:10px;font-weight:900;cursor:pointer}
@media(max-width:700px){.tw-ggb-panel{min-height:calc(100vh - 120px)}.tw-ggb-mount{min-height:calc(100vh - 190px)}.tw-ggb-host{min-height:calc(100vh - 200px)}.tw-geogebra-bubble{left:10px;bottom:68px}}

/* V328: touch- und mobiloptimierte GeoGebra-Einbettung */
.tw-ggb-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;margin-bottom:6px}.tw-ggb-controls h2{flex:1 1 240px;margin:0}.tw-ggb-mode-label{display:flex;align-items:center;gap:6px;font-weight:800}.tw-ggb-mode{width:auto;min-width:160px;padding:8px 10px}.tw-ggb-host{overscroll-behavior:contain;touch-action:auto}.tw-ggb-host iframe,.tw-ggb-host canvas{max-width:100%}.tw-geogebra-bubble{min-width:52px;min-height:52px;-webkit-tap-highlight-color:transparent}
@media(pointer:coarse){.tw-tb-winbtn{width:42px;height:42px;font-size:21px}.tw-tb-titlebar{height:54px;flex-basis:54px}.tw-tb-nav button,.tw-tb-button,.tw-external-tool-btn{min-height:44px}.tw-geogebra-bubble{width:58px;height:58px;font-size:24px}.tw-ggb-controls .tw-tb-button,.tw-ggb-mode{min-height:44px}}
@media(max-width:700px){
 .tw-tb-window,.tw-tb-window.is-max{width:100dvw!important;height:100dvh!important;max-height:100dvh!important;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box}
 .tw-tb-titlebar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
 .tw-tb-body{min-height:0}.tw-tb-content{overflow:auto;padding:4px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.tw-tb-window.is-workspace-internal-scroll .tw-tb-content{overflow:hidden!important}.tw-ggb-panel{height:100%;min-height:0;display:flex!important;flex-direction:column}.tw-ggb-controls{flex:0 0 auto;padding:4px;margin:0}.tw-ggb-controls h2{font-size:18px;flex-basis:auto}.tw-ggb-mode-label{font-size:12px}.tw-ggb-mode{min-width:128px;max-width:42vw}.tw-ggb-controls .tw-tb-button{padding:8px 10px;font-size:13px}.tw-ggb-mount{flex:1 1 auto;height:auto!important;min-height:0!important;overflow:hidden}.tw-ggb-host{height:100%!important;min-height:0!important;border-radius:8px;border-width:1px}.tw-geogebra-bubble{left:max(10px,env(safe-area-inset-left));bottom:max(72px,calc(env(safe-area-inset-bottom) + 62px))}
}
@media(max-width:480px){.tw-ggb-controls h2{display:none}.tw-ggb-mode-label{flex:1 1 130px}.tw-ggb-mode{width:100%;max-width:none}.tw-ggb-controls .tw-tb-button{flex:1 1 auto}.tw-tb-nav{scrollbar-width:none}.tw-tb-nav::-webkit-scrollbar{display:none}}
@media(max-height:520px) and (orientation:landscape){.tw-tb-titlebar{height:46px;flex-basis:46px}.tw-tb-nav{padding:3px}.tw-tb-nav button{padding:7px 9px;min-height:38px}.tw-ggb-controls{padding:2px}.tw-ggb-controls .tw-tb-button,.tw-ggb-mode{min-height:38px}.tw-geogebra-bubble{bottom:max(10px,env(safe-area-inset-bottom))}}
/* V329: vollständige, lazy geladene Blockly-Integration */
.tw-blockly-panel{max-width:none!important;height:100%;min-height:620px;display:flex!important;flex-direction:column}.tw-blockly-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.tw-blockly-controls h2{flex:1 1 180px;margin:0}.tw-blockly-panel>.tw-tb-result{margin:0 0 6px;padding:7px 10px;min-height:0}.tw-blockly-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,30%);gap:8px;flex:1;min-height:0}.tw-blockly-mount{position:relative;min-height:500px;border:1px solid #d7cab8;border-radius:10px;overflow:hidden;background:#fff}.tw-blockly-area{position:absolute;inset:0}.tw-blockly-codewrap{display:flex;flex-direction:column;min-height:0;font-weight:800}.tw-blockly-codewrap span{padding:4px}.tw-blockly-codewrap textarea{flex:1;min-height:0;resize:none;font:13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.tw-blockly-bubble{position:fixed;left:80px;bottom:76px;z-index:2147482100;width:52px;height:52px;border:0;border-radius:50%;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;font:900 22px/1 system-ui,sans-serif;box-shadow:0 10px 28px rgba(190,100,15,.34);cursor:pointer;display:none;align-items:center;justify-content:center;touch-action:manipulation}.tw-blockly-bubble.is-visible{display:flex}.tw-external-tool-btn+.tw-external-tool-btn{margin-top:7px}
@media(pointer:coarse){.tw-blockly-bubble{width:58px;height:58px;font-size:24px}.tw-blockly-controls .tw-tb-button{min-height:44px}}
@media(max-width:700px){.tw-blockly-panel{height:100%;min-height:0}.tw-blockly-controls{padding:4px;margin:0;overflow-x:auto;flex-wrap:nowrap}.tw-blockly-controls h2{display:none}.tw-blockly-controls .tw-tb-button{white-space:nowrap;padding:8px 10px;font-size:13px}.tw-blockly-panel>.tw-tb-result{font-size:12px;margin:2px 4px}.tw-blockly-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(110px,24vh);padding:0 4px 4px}.tw-blockly-mount{min-height:0}.tw-blockly-codewrap textarea{min-height:80px}.tw-blockly-bubble{left:max(76px,calc(env(safe-area-inset-left) + 72px));bottom:max(72px,calc(env(safe-area-inset-bottom) + 62px))}}
@media(max-height:520px) and (orientation:landscape){.tw-blockly-layout{grid-template-columns:minmax(0,1fr) minmax(190px,28%);grid-template-rows:1fr}.tw-blockly-bubble{bottom:max(10px,env(safe-area-inset-bottom))}}
/* V330: vollständige, lazy geladene Excalidraw-Integration */
.tw-excalidraw-panel{max-width:none!important;height:100%;min-height:620px;display:flex!important;flex-direction:column;padding:0!important}.tw-excalidraw-mount,.tw-excalidraw-shell{height:100%;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.tw-excalidraw-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px;background:#f8f5ef;border-bottom:1px solid #ded5c8;flex:0 0 auto}.tw-excalidraw-actions button{border:0;border-radius:10px;padding:8px 11px;background:#5f4bb6;color:#fff;font-weight:850;cursor:pointer;min-height:38px}.tw-excalidraw-actions button.danger{background:#a6382a}.tw-excalidraw-actions span{font-size:12px;color:#60584e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 160px}.tw-excalidraw-canvas{position:relative;flex:1;min-height:0;overflow:hidden;background:#fff}.tw-excalidraw-canvas>.excalidraw{height:100%}.tw-excalidraw-bubble{position:fixed;left:142px;bottom:76px;z-index:2147482100;width:52px;height:52px;border:0;border-radius:50%;background:linear-gradient(135deg,#7655d9,#4b37a8);color:#fff;font:900 22px/1 system-ui,sans-serif;box-shadow:0 10px 28px rgba(72,48,150,.34);cursor:pointer;display:none;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tw-excalidraw-bubble.is-visible{display:flex}
@media(pointer:coarse){.tw-excalidraw-bubble{width:58px;height:58px;font-size:24px}.tw-excalidraw-actions button{min-height:44px}}
@media(max-width:700px){.tw-excalidraw-panel{height:100%;min-height:0}.tw-excalidraw-actions{overflow-x:auto;flex-wrap:nowrap;padding:5px calc(5px + env(safe-area-inset-right)) 5px calc(5px + env(safe-area-inset-left))}.tw-excalidraw-actions button{white-space:nowrap;padding:8px 10px}.tw-excalidraw-actions span{display:none}.tw-excalidraw-bubble{left:max(142px,calc(env(safe-area-inset-left) + 138px));bottom:max(72px,calc(env(safe-area-inset-bottom) + 62px))}.tw-excalidraw-canvas{padding-bottom:env(safe-area-inset-bottom)}}
@media(max-height:520px) and (orientation:landscape){.tw-excalidraw-actions{padding:3px}.tw-excalidraw-actions button{min-height:36px;padding:6px 9px}.tw-excalidraw-bubble{bottom:max(10px,env(safe-area-inset-bottom))}}

/* V332: zentrale Sammel-Bubble und Tool-Objekte */

/* V333: externe Tools ausschließlich in der linken Werkzeugleiste; keine globalen Launcher-Overlays. */
.tw-external-tools-list{display:grid;gap:7px}
.tw-external-tools-list .tw-external-tool-btn{margin:0;text-align:left}
.tw-tool-insert-btn{background:#8c4d16!important}
.tw-tool-insert-note{font-size:12px;color:#65594d}

/* V334: Unterrichtswerkzeuge in derselben integrierten Externe-Tools-Bubble. */
.tw-tb-toolhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tw-tb-toolhead h2{margin:0!important;flex:1 1 260px}
.tw-tb-insert-success{grid-column:1/-1}
.tw-external-tools-list{max-height:min(62vh,560px);overflow:auto;padding-right:2px}
@media(max-width:700px){
  .tw-tb-toolhead{margin-bottom:8px}
  .tw-tb-toolhead h2{font-size:20px;flex-basis:180px}
  .tw-tb-toolhead .tw-tb-button{min-height:44px}
}

/* V336: Formel-/Spracheingabe, Tabellenkalkulation und allgemeine Kalender-Einladungen */
.tw-formula-panel,.tw-sheet-panel,.tw-calendar-invite-panel{max-width:none!important;height:100%;min-height:0}
.tw-formula-shell{max-width:1050px;margin:0 auto;display:grid;gap:14px}.tw-formula-actions{justify-content:flex-end}.tw-formula-label{display:grid;gap:7px;font-weight:900}.tw-formula-field{display:block;width:100%;min-height:150px;box-sizing:border-box;border:2px solid #b9aa95;border-radius:16px;padding:20px;background:#fff;font-size:42px;overflow:auto}.tw-formula-speech{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;background:#f5efe6;border:1px solid #ded1c0;border-radius:14px;padding:12px}.tw-formula-speech label{display:grid;gap:5px;font-weight:850}.tw-formula-speech textarea{min-height:92px}.tw-formula-speech small{grid-column:1/-1;color:#675b50}
.tw-sheet-panel{display:flex!important;flex-direction:column}.tw-sheet-panel>div,.tw-sheet-shell{height:100%;min-height:0}.tw-sheet-shell{display:flex;flex-direction:column;gap:7px}.tw-sheet-actions{display:flex;gap:6px;align-items:center;overflow-x:auto;flex:0 0 auto;padding-bottom:2px}.tw-sheet-actions>.tw-tb-input{width:190px;min-width:150px}.tw-sheet-actions .tw-tb-button{white-space:nowrap;padding:8px 10px;min-height:38px}.tw-sheet-formulabar{display:grid;grid-template-columns:90px minmax(0,1fr);gap:6px;flex:0 0 auto}.tw-sheet-formulabar input{padding:7px 9px}.tw-sheet-grid{flex:1;min-height:260px;overflow:auto;border:1px solid #cfc3b3;border-radius:11px;background:#fff;overscroll-behavior:contain}.tw-sheet-table{border-collapse:separate;border-spacing:0;min-width:max-content;font:14px/1.2 system-ui,sans-serif}.tw-sheet-table th{position:sticky;z-index:3;background:#edf2ef;color:#33433e;font-weight:900;text-align:center;border-right:1px solid #ccd5d1;border-bottom:1px solid #bcc8c3;min-width:46px;height:31px}.tw-sheet-table thead th{top:0}.tw-sheet-table tbody th{left:0;z-index:2;background:#f2ede5}.tw-sheet-table thead th:first-child{left:0;z-index:4}.tw-sheet-table td{padding:0;border-right:1px solid #ded8cf;border-bottom:1px solid #ded8cf;background:#fff}.tw-sheet-table td.selected{outline:2px solid #176c5a;outline-offset:-2px}.tw-sheet-table td input{width:126px;height:34px;box-sizing:border-box;border:0;padding:5px 7px;background:transparent;font:14px/1.2 system-ui,sans-serif;outline:0}.tw-sheet-help{font-size:12px;color:#665b50;flex:0 0 auto}.tw-sheet-shell>.tw-tb-result{margin-top:0;padding:8px 10px;min-height:20px;flex:0 0 auto}
.tw-calendar-invite-shell{max-width:920px;margin:0 auto;display:grid;gap:12px}.tw-calendar-invite-shell code{background:#eee7dc;border-radius:5px;padding:2px 5px;font-family:ui-monospace,monospace}.tw-calendar-invite-shell p{margin:7px 0;color:#51473e}.tw-calendar-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:12px}.tw-calendar-address-row small{display:block;font-weight:850;color:#6a5c4f;margin-bottom:4px}.tw-calendar-address{border:1px dashed #8c7b67;border-radius:11px;background:#f7f1e7;padding:12px;font:800 16px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;user-select:all}.tw-calendar-steps{margin:8px 0 0;padding-left:22px}.tw-calendar-steps li{margin:6px 0}.tw-calendar-technical{background:#f7f4ee}
.tw-calendar-technical-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tw-calendar-info-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:2px solid #8c7b67;background:#fff;color:#6a5c4f;font:900 15px/1 ui-monospace,monospace;cursor:pointer;flex:none;padding:0}
.tw-calendar-info-btn:hover,.tw-calendar-info-btn:focus-visible{background:#8c7b67;color:#fff;outline:none}
.tw-calendar-info-overlay{position:fixed;inset:0;background:rgba(40,32,20,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:2147483647}
.tw-calendar-info-overlay.is-open{display:flex}
.tw-calendar-info-panel{background:#fffaf1;border-radius:18px;max-width:720px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:0}
.tw-calendar-info-head{position:sticky;top:0;background:#fffaf1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px 12px;border-bottom:1px solid #e7dcc9}
.tw-calendar-info-head h3{margin:0;font-size:19px;color:#3a3127}
.tw-calendar-info-close{border:0;background:#efe4d4;color:#3a3127;border-radius:10px;width:32px;height:32px;font:900 16px/1 sans-serif;cursor:pointer}
.tw-calendar-info-body{padding:8px 20px 22px;color:#40372c;font-size:14.5px;line-height:1.55}
.tw-calendar-info-body h4{margin:18px 0 6px;color:#8c5a1f;font-size:15px}
.tw-calendar-info-body h4:first-child{margin-top:6px}
.tw-calendar-info-body ol,.tw-calendar-info-body ul{margin:4px 0 10px;padding-left:22px}
.tw-calendar-info-body li{margin:5px 0}
.tw-calendar-info-body code{background:#eee7dc;border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:13px}
.tw-calendar-info-body table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:13.5px}
.tw-calendar-info-body table th,.tw-calendar-info-body table td{text-align:left;padding:6px 8px;border-bottom:1px solid #e7dcc9;vertical-align:top}
.tw-calendar-info-body table th{color:#6a5c4f}
.tw-calendar-info-note{background:#f0e9da;border-left:4px solid #8c5a1f;border-radius:8px;padding:9px 12px;margin:10px 0;font-size:13.5px}
@media(max-width:700px){.tw-formula-panel,.tw-sheet-panel,.tw-calendar-invite-panel{height:100%;overflow:auto}.tw-formula-shell{gap:8px}.tw-formula-field{min-height:118px;padding:12px;font-size:34px}.tw-formula-speech{grid-template-columns:1fr}.tw-formula-speech small{grid-column:auto}.tw-formula-actions{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}.tw-formula-actions .tw-tb-button{white-space:nowrap}.tw-sheet-panel{overflow:hidden}.tw-sheet-actions{padding:2px}.tw-sheet-actions .tw-tb-button{min-height:44px}.tw-sheet-formulabar{grid-template-columns:72px minmax(0,1fr)}.tw-sheet-grid{min-height:0}.tw-sheet-table td input{width:105px;height:40px}.tw-sheet-help{max-height:48px;overflow:auto}.tw-calendar-invite-shell{padding-bottom:env(safe-area-inset-bottom)}.tw-calendar-address-row{grid-template-columns:1fr}.tw-calendar-address-row .tw-tb-button{width:100%}}
.tw-protool{display:flex;flex-direction:column;gap:12px;min-height:100%}.tw-rich-toolbar,.tw-pro-grid,.tw-pro-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tw-rich-editor{min-height:420px;padding:24px;background:#fff;border:1px solid #cfc4b5;border-radius:14px;overflow:auto;font:18px/1.55 system-ui;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.tw-pro-grid label{display:grid;gap:4px;font-weight:700}.tw-pro-row{margin:7px 0}.tw-pro-row .tw-tb-input{flex:1;min-width:120px}.tw-pro-preview{background:#eee7dd;border-radius:16px;padding:10px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.tw-pro-preview img{display:block;max-width:100%;height:auto;margin:auto}

/* V348 Office-Ausbau */
.tw-page-settings{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 0}.tw-rich-editor{box-shadow:0 3px 18px rgba(0,0,0,.12);border:1px solid #d7d0c5}.tw-rich-editor table{border-collapse:collapse;width:100%}.tw-rich-editor td,.tw-rich-editor th{border:1px solid #777;padding:8px}.tw-rich-editor img{max-width:100%;height:auto}.tw-sheet-table input{min-width:90px}.tw-rich-toolbar{max-height:190px;overflow:auto}
@media print{body *{visibility:hidden}.tw-rich-editor,.tw-rich-editor *,.tw-sheet-grid,.tw-sheet-grid *{visibility:visible}.tw-rich-editor,.tw-sheet-grid{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:0}}

/* V500: einheitlich kompakte externe Werkzeuge */
.tw-tb-titlebar{height:40px;flex-basis:40px;padding:0 7px;gap:5px}.tw-tb-title{font-size:14px}.tw-tb-winbtn{width:29px;height:29px;border-radius:7px;font-size:16px}.tw-tb-body{grid-template-columns:162px minmax(0,1fr)}.tw-tb-nav{padding:6px}.tw-tb-nav button{padding:7px 8px;font-size:12px;border-radius:8px}.tw-tb-content{padding:8px}.tw-tb-panel h2{font-size:19px;margin-bottom:7px}.tw-tb-card{padding:8px;border-radius:10px}.tw-tb-grid{gap:7px}.tw-tb-row{gap:6px}.tw-tb-input,.tw-tb-select,.tw-tb-textarea{padding:6px 8px;border-radius:8px;font-size:14px}.tw-tb-button{padding:6px 9px;border-radius:8px;font-size:12px;min-height:30px}.tw-tb-result{margin-top:6px;padding:7px;min-height:18px}.tw-tb-keypad{gap:4px;margin-top:5px}.tw-tb-keypad button{padding:7px 4px}.tw-tb-canvas-wrap{height:calc(100vh - 180px);min-height:400px}.tw-tb-markdown{height:calc(100vh - 155px);gap:7px}.tw-tb-preview{padding:8px}.tw-pro-row{gap:5px!important;margin:3px 0!important}.tw-pro-grid{gap:6px!important}.tw-pro-preview{margin-top:6px!important;min-height:330px!important}.tw-formula-actions{margin-bottom:5px!important}.tw-formula-speech{gap:5px!important}.tw-sheet-toolbar{gap:4px!important}.tw-sheet-toolbar button{padding:5px 7px!important;font-size:11px!important}
@media(max-width:700px){.tw-tb-content{padding:5px}.tw-tb-button{min-height:36px}.tw-tb-canvas-wrap{height:62vh;min-height:360px}}

/* V501: Hochformat – Werkzeugauswahl als kompakte horizontale Leiste,
   damit die Arbeitsfläche nicht durch eine breite linke Spalte begrenzt wird. */
@media (max-width:700px) and (orientation:portrait){
  .tw-tb-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;min-width:0!important}
  .tw-tb-nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;width:auto!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;border-right:0!important;border-bottom:1px solid #d8cab7!important;padding:4px 5px!important;scrollbar-width:none!important}
  .tw-tb-nav::-webkit-scrollbar{display:none!important}
  .tw-tb-nav button{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;min-width:auto!important;min-height:36px!important;margin:0!important;padding:6px 9px!important;white-space:nowrap!important;font-size:12px!important}
  .tw-tb-content{grid-column:1!important;grid-row:2!important;min-width:0!important;width:auto!important;overflow:auto!important;padding:7px!important}
  .tw-tb-panel{min-width:0!important;width:100%!important;box-sizing:border-box!important}
}

/* V508: Texteditor Pro – große Dokumentseite, kompakte Office-Werkzeuggruppen */
.tw-editor-shell{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}
.tw-editor-quickbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:5px;border:1px solid #d7cbbb;border-radius:10px;background:#f7f2e9;position:sticky;top:0;z-index:8}
.tw-editor-select{width:auto!important;min-width:92px!important;max-width:170px;padding:5px 7px!important}
.tw-editor-small{min-width:64px!important;max-width:72px!important}
.tw-editor-icon,.tw-editor-action{border:1px solid #c9bcaa;border-radius:7px;background:#fff;color:#2c3935;font:850 12px/1 system-ui,sans-serif;min-height:30px;padding:5px 8px;cursor:pointer;white-space:nowrap}
.tw-editor-icon{min-width:31px;font-size:14px}.tw-editor-icon.wide{min-width:42px}.tw-editor-action:hover,.tw-editor-icon:hover{background:#e5f3ee;border-color:#76a99a}.tw-editor-action.danger{color:#8f2013;background:#fff1ee}
.tw-editor-color{display:inline-flex!important;align-items:center;gap:4px;background:#fff;border:1px solid #c9bcaa;border-radius:7px;padding:3px 5px!important;font-size:13px!important}
.tw-editor-color input[type=color]{width:25px;height:22px;border:0;padding:0;background:transparent}
.tw-editor-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.tw-editor-groups details{border:1px solid #d7cbbb;border-radius:9px;background:#fbf8f2;min-width:0}
.tw-editor-groups summary{cursor:pointer;padding:6px 9px;font:900 12px/1.2 system-ui;color:#3d4a45;user-select:none}
.tw-editor-groups details>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:0 6px 6px}
.tw-editor-groups label{display:inline-flex!important;align-items:center;gap:4px;font-size:11px!important;white-space:nowrap}
.tw-editor-number{width:66px!important;min-width:58px!important;padding:4px 6px!important}
.tw-editor-canvas{flex:1;min-height:calc(100vh - 285px);max-height:calc(100vh - 235px);overflow:auto;padding:18px;border:1px solid #cfc3b3;border-radius:12px;overscroll-behavior:contain;box-shadow:inset 0 1px 5px rgba(0,0,0,.06)}
.tw-editor-canvas .tw-rich-editor{width:100%;border-radius:3px!important;box-shadow:0 5px 24px rgba(0,0,0,.16)!important;outline:0;overflow:visible!important}
.tw-editor-canvas .tw-rich-editor:focus{box-shadow:0 5px 24px rgba(0,0,0,.16),0 0 0 3px rgba(23,108,90,.18)!important}
.tw-editor-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:#665b50;padding:0 4px}
.tw-mindmap-preview{min-height:430px!important;max-height:58vh;overflow:auto!important}
.tw-mindmap-preview svg{display:block;width:100%;min-width:820px;height:auto}
.tw-mindmap-preview [data-mm-add]{filter:drop-shadow(0 2px 2px rgba(0,0,0,.16))}

/* V508: visuelle Werkzeugbibliotheken */
.tw-sticker-palette{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))!important;max-height:min(58vh,560px)!important;gap:8px!important}
.tw-sticker-palette button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;padding:5px!important;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;overflow:hidden}
.tw-sticker-palette button:hover{border-color:#8db8aa!important;background:rgba(255,255,255,.5)!important}
.tw-sticker-palette img{display:block;width:62px;height:62px;object-fit:contain;background:transparent;border:0}
.tw-sticker-palette small{font-size:9px;line-height:1.1;max-width:100%;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-chart-slice-colors{display:grid;grid-template-columns:auto repeat(auto-fit,minmax(120px,1fr));gap:6px;align-items:center;margin:8px 0;padding:8px;border:1px solid #ded3c3;border-radius:10px;background:#faf7f1}
.tw-chart-slice-colors>b{font-size:12px}.tw-chart-slice-colors label{display:flex!important;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:7px;background:#fff}.tw-chart-slice-colors input{width:30px;height:25px;border:0;padding:0}
.tw-map-search-results{display:grid;gap:6px;margin:8px 0}.tw-map-hit{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid #d8cebf;border-radius:9px;background:#fff}.tw-map-hit>div{min-width:0;display:grid}.tw-map-hit small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#65594d}
.tw-element-info{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;margin:10px 0;padding:10px;border:1px solid #d8cebf;border-radius:12px;background:#faf7f1}.tw-element-info p{margin:4px 0;font-size:13px}.tw-element-tile{height:96px;border:2px solid #32423d;border-radius:10px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;padding:6px;box-sizing:border-box}.tw-element-tile small{font-weight:850}.tw-element-tile strong{grid-column:1/-1;text-align:center;font-size:40px;line-height:1}.tw-element-tile span{grid-column:1/-1;text-align:center;font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-shape-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px;max-height:min(62vh,620px);overflow:auto;padding:3px}.tw-shape-library button{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;text-align:left;gap:2px 7px;min-height:57px;padding:7px;border:1px solid #d8cebf;border-radius:9px;background:#fff;color:#25342f;cursor:pointer}.tw-shape-library button:hover{background:#e8f5f0;border-color:#75aa99}.tw-shape-library span{grid-row:1/3;font-size:28px;text-align:center}.tw-shape-library b{font-size:11px;line-height:1.15}.tw-shape-library small{font-size:9px;color:#72665a}

@media(max-width:900px){
  .tw-editor-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tw-editor-canvas{min-height:55vh;max-height:62vh;padding:10px}
  .tw-chart-slice-colors{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-chart-slice-colors>b{grid-column:1/-1}
}
@media(max-width:700px){
  .tw-editor-quickbar{flex-wrap:nowrap;overflow-x:auto;position:static;scrollbar-width:none}.tw-editor-quickbar::-webkit-scrollbar{display:none}
  .tw-editor-groups{display:flex;overflow-x:auto;align-items:flex-start}.tw-editor-groups details{flex:0 0 min(82vw,350px)}
  .tw-editor-canvas{padding:6px;min-height:58vh;max-height:64vh}.tw-editor-canvas .tw-rich-editor{padding:24px!important}
  .tw-editor-status span:last-child{display:none}.tw-mindmap-preview{min-height:360px;max-height:55vh}.tw-mindmap-preview svg{min-width:720px}
  .tw-element-info{grid-template-columns:88px minmax(0,1fr)}.tw-element-tile{height:82px}.tw-element-tile strong{font-size:32px}
  .tw-shape-library{grid-template-columns:repeat(2,minmax(0,1fr));max-height:58vh}.tw-map-hit{align-items:flex-start}.tw-map-hit .tw-tb-button{flex:0 0 auto}
}

/* V513.4 – skalierbare Schaltflächen der externen Tools */
:root{--tw-external-tool-scale:1.25}
.tw-external-size-control{
  margin:0 0 10px;padding:9px;border:1px solid #d8cdea;border-radius:13px;
  background:linear-gradient(180deg,#faf8ff,#f3effd);color:#4b4031
}
.tw-external-size-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px;font-weight:900}
.tw-external-size-label output{min-width:50px;text-align:right;color:#5b3fc4}
.tw-external-size-actions{display:grid;grid-template-columns:38px minmax(0,1fr) 38px auto;gap:6px;align-items:center}
.tw-external-size-actions button{
  min-height:38px;border:1px solid #cfc4ef;border-radius:10px;background:#fff;color:#4d3a8e;
  font:900 18px/1 system-ui,sans-serif;cursor:pointer;touch-action:manipulation
}
.tw-external-size-actions .tw-external-size-reset{padding:0 9px;font-size:11px;white-space:nowrap}
.tw-external-size-actions input{width:100%;accent-color:#6b4bd7}
.tw-external-tools-list{display:grid;grid-template-columns:1fr;gap:calc(7px * var(--tw-external-tool-scale))}
.tw-external-tools-list .tw-external-tool-btn{
  margin:0!important;
  min-height:calc(40px * var(--tw-external-tool-scale));
  padding:calc(9px * var(--tw-external-tool-scale)) calc(10px * var(--tw-external-tool-scale));
  border-radius:calc(10px * var(--tw-external-tool-scale));
  font-size:calc(13px * var(--tw-external-tool-scale));
  line-height:1.22;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(min-width:1100px){
  html[data-tw-external-tool-scale="80"] .tw-external-tools-list,
  html[data-tw-external-tool-scale="85"] .tw-external-tools-list,
  html[data-tw-external-tool-scale="90"] .tw-external-tools-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){.tw-external-size-actions{grid-template-columns:38px minmax(0,1fr) 38px}.tw-external-size-reset{grid-column:1/-1}}

/* V513.5 – echte Vollbild-Arbeitsfläche für große externe Werkzeuge */
.tw-tb-window.is-workspace-tool .tw-tb-content{
  min-height:0!important;
  padding:6px!important;
}
/* V402-FIX: overflow:hidden nur für Werkzeuge mit eigenem internen Scroll-
   Bereich (GeoGebra/Blockly/Excalidraw/Tabellenkalkulation/Texteditor).
   Mindmap, Kartentool, Diagramme, Concept Map, Baumdiagramm, Formen,
   Zeitstrahl und Zahlenstrahl haben keinen solchen internen Scroller und
   brauchen den normalen, scrollbaren Inhaltsbereich - sonst war ihr Inhalt
   auf kleinen/schmalen Displays unerreichbar abgeschnitten.
   */
.tw-tb-window.is-workspace-internal-scroll .tw-tb-content{
  overflow:hidden!important;
}
.tw-tb-window.is-workspace-tool:not(.is-workspace-internal-scroll) .tw-tb-content{
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
.tw-tb-window.is-workspace-tool .tw-tb-panel.active{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.tw-tb-window.is-workspace-tool:not(.is-workspace-internal-scroll) .tw-tb-panel.active{
  height:auto!important;
  min-height:100%!important;
}
.tw-tb-window.is-max.is-workspace-focus{
  inset:0!important;
  width:100dvw!important;
  height:100dvh!important;
  max-width:100dvw!important;
  max-height:100dvh!important;
}
.tw-tb-window.is-max.is-workspace-focus .tw-tb-body{
  grid-template-columns:minmax(0,1fr)!important;
}
.tw-tb-window.is-max.is-workspace-focus .tw-tb-nav{
  display:none!important;
}
.tw-tb-window.is-max.is-workspace-focus .tw-tb-content{
  grid-column:1!important;
  width:100%!important;
  height:100%!important;
  padding:4px!important;
}
.tw-ggb-panel{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
}
.tw-ggb-controls{
  flex:0 0 auto!important;
  min-height:44px!important;
  margin:0 0 4px!important;
  padding:3px 5px!important;
}
.tw-ggb-mount{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.tw-ggb-mount>#twGgbStatus{
  flex:0 0 auto!important;
  margin:0 0 4px!important;
  padding:6px 9px!important;
  min-height:0!important;
  font-size:12px!important;
}
.tw-ggb-host{
  position:relative!important;
  flex:1 1 auto!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
}
.tw-ggb-host>div,
.tw-ggb-host>.ggbApplet,
.tw-ggb-host>.applet_scaler{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
.tw-tb-window.is-workspace-focus .tw-ggb-mount>#twGgbStatus{
  position:absolute!important;
  z-index:20!important;
  top:6px!important;
  left:8px!important;
  right:auto!important;
  max-width:min(70%,720px)!important;
  margin:0!important;
  border-radius:10px!important;
  background:rgba(238,248,245,.91)!important;
  box-shadow:0 4px 14px rgba(20,45,70,.12)!important;
  pointer-events:none!important;
}
.tw-tb-window.is-workspace-focus .tw-ggb-host{
  height:100%!important;
}
@media (pointer:coarse), (max-width:1400px){
  .tw-tb-window.is-workspace-tool.is-max .tw-tb-titlebar{
    min-height:50px!important;
    height:50px!important;
    flex-basis:50px!important;
  }
}

/* Build 28: Werkzeugfelder wirklich transparent – kein Glas-/Milchhintergrund. */
.tw-tb-nav,
.tw-tb-content,
.tw-tb-card,
.tw-tb-result,
.tw-tb-stat,
.tw-tb-preview,
.tw-external-size-control,
.tw-editor-groups details,
.tw-chart-slice-colors,
.tw-element-info,
.tw-map-hit,
.tw-shape-library button,
.tw-sticker-palette button{
  background:transparent!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.tw-tb-nav button.active,
.tw-tb-nav button:hover{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:2px solid rgba(23,108,90,.32);
}
.tw-tb-window,
.tw-tb-panel,
.tw-tb-grid,
.tw-external-tools-list{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* V514.2 – Fachwerkzeuge vollständig erreichbar und displayadaptiv.
   Die Werkzeugliste nutzt nur noch den Scrollbereich ihres umgebenden Panels.
   Dadurch gibt es auf Touch-Geräten keinen blockierenden verschachtelten
   Scroller mehr. Große Werkzeuge übernehmen exakt die verfügbare Fensterhöhe. */
.tw-tb-window{
  box-sizing:border-box!important;
  max-width:min(100dvw,var(--tw-toolbox-viewport-width,100dvw))!important;
  max-height:min(100dvh,var(--tw-toolbox-viewport-height,100dvh))!important;
}
.tw-tb-body{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.tw-tb-nav,.tw-tb-content{
  min-width:0!important;
  min-height:0!important;
  scrollbar-gutter:stable;
}
.tw-tb-nav{
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
.tw-tb-content{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.tw-tb-window[data-active-tool] .tw-tb-panel.active,
.tw-tb-window[data-active-tool] .tw-tb-panel.active>*{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

/* Fachwerkzeugliste: kein eigener vertikaler Scroller mehr. Der Inspector bzw.
   die Werkzeugleiste scrollt als eine zusammenhängende Fläche bis zum Ende. */
.tw-external-tools-list{
  width:100%!important;
  max-width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
  grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr))!important;
  gap:clamp(5px,calc(7px * var(--tw-external-tool-scale)),12px)!important;
  align-items:stretch;
  box-sizing:border-box;
}
.tw-external-tools-list .tw-external-tool-btn{
  min-width:0!important;
  min-height:clamp(42px,calc(40px * var(--tw-external-tool-scale)),68px)!important;
  padding:clamp(8px,calc(9px * var(--tw-external-tool-scale)),15px) clamp(9px,calc(10px * var(--tw-external-tool-scale)),17px)!important;
  border-radius:clamp(9px,calc(10px * var(--tw-external-tool-scale)),15px)!important;
  font-size:clamp(12px,calc(13px * var(--tw-external-tool-scale)),18px)!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  touch-action:manipulation!important;
  box-sizing:border-box!important;
}
#twBoard49BubbleSectionPopup.tw-ui-inspector,
#twPBBoardToolbar{
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
}
#twBoard49BubbleSectionPopup [data-toolbar-section="external"],
#twPBBoardToolbar [data-toolbar-section="external"]{
  overflow:visible!important;
  min-height:min-content!important;
}

/* Interne Arbeitsflächen: lückenlose Höhenkette vom Fenster bis zum eigentlichen
   Tool. So funktionieren Tabellen, Editor, Blockly, GeoGebra, Excalidraw und
   Markdown unabhängig von Displayhöhe, Ausrichtung und gespeicherter Fenstergröße. */
.tw-tb-window.is-workspace-internal-scroll .tw-tb-content,
.tw-tb-window.is-workspace-internal-scroll .tw-tb-panel.active,
.tw-tb-window.is-workspace-internal-scroll .tw-tb-panel.active>#twSpreadsheetMount,
.tw-tb-window.is-workspace-internal-scroll .tw-tb-panel.active>#twProMount,
.tw-tb-window.is-workspace-internal-scroll .tw-tb-panel.active>#twGgbMount{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.tw-tb-window[data-active-tool="spreadsheet"] #twSpreadsheetMount,
.tw-tb-window[data-active-tool="spreadsheet"] .tw-sheet-shell,
.tw-tb-window[data-active-tool="texteditor"] #twProMount,
.tw-tb-window[data-active-tool="texteditor"] .tw-protool,
.tw-tb-window[data-active-tool="texteditor"] .tw-editor-shell{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.tw-tb-window[data-active-tool="texteditor"] .tw-editor-canvas{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
}
.tw-tb-window[data-active-tool="spreadsheet"] .tw-sheet-grid{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
}
.tw-tb-window[data-active-tool="notes"] .tw-tb-panel.active{
  display:flex!important;
  flex-direction:column!important;
}
.tw-tb-window[data-active-tool="notes"] .tw-tb-markdown{
  flex:1 1 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.tw-tb-window[data-active-tool="notes"] .tw-tb-markdown textarea,
.tw-tb-window[data-active-tool="notes"] .tw-tb-preview{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  overflow:auto!important;
}
.tw-tb-window[data-active-tool="blockly"] .tw-blockly-panel,
.tw-tb-window[data-active-tool="excalidraw"] .tw-excalidraw-panel{
  height:100%!important;
  min-height:0!important;
}

/* Alle übrigen Fachwerkzeuge bleiben in einem einzigen, zuverlässigen äußeren
   Scrollbereich. Starre vh-Höhen dürfen den unteren Inhalt nicht abschneiden. */
.tw-tb-window.is-workspace-tool:not(.is-workspace-internal-scroll) .tw-tb-content{
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.tw-tb-window.is-workspace-tool:not(.is-workspace-internal-scroll) .tw-tb-panel.active{
  height:auto!important;
  min-height:100%!important;
  overflow:visible!important;
}
.tw-tb-window.is-workspace-tool:not(.is-workspace-internal-scroll) .tw-protool,
.tw-tb-window.is-workspace-tool:not(.is-workspace-internal-scroll) .tw-vw{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  .tw-external-tools-list{grid-template-columns:repeat(auto-fit,minmax(min(155px,100%),1fr))!important}
  .tw-external-size-control{position:sticky;top:0;z-index:4;margin-bottom:7px!important}
}
@media(max-width:700px){
  .tw-tb-window,.tw-tb-window.is-max{
    left:0!important;top:0!important;
    width:100dvw!important;height:100dvh!important;
    max-width:100dvw!important;max-height:100dvh!important;
  }
  .tw-tb-nav{touch-action:pan-x!important;scrollbar-gutter:auto}
  .tw-tb-content{scrollbar-gutter:auto}
  .tw-external-tools-list{grid-template-columns:1fr!important}
  .tw-tb-window[data-active-tool="notes"] .tw-tb-markdown{grid-template-columns:1fr!important;grid-template-rows:minmax(180px,1fr) minmax(180px,1fr)!important}
}
@media(max-height:560px) and (orientation:landscape){
  .tw-tb-titlebar{height:42px!important;flex-basis:42px!important}
  .tw-tb-content{padding:4px!important}
  .tw-external-tools-list{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))!important}
  .tw-external-tools-list .tw-external-tool-btn{min-height:40px!important;padding:7px 9px!important;font-size:12px!important}
  .tw-tb-window[data-active-tool="notes"] .tw-tb-markdown{grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(0,1fr)!important}
}

/* V514.2 Touch-Nachbesserung: horizontale und zweidimensionale Arbeitsflächen
   dürfen nicht durch ein pan-y des Elterncontainers blockiert werden. */
.tw-tb-content{
  touch-action:pan-x pan-y!important;
}
.tw-tb-window.is-workspace-internal-scroll .tw-tb-content,
.tw-sheet-grid,
.tw-editor-canvas,
.tw-tb-markdown textarea,
.tw-tb-preview,
.tw-pro-preview,
.tw-vw-preview,
.tw-mindmap-preview,
.tw-shape-library,
.tw-sticker-palette{
  touch-action:pan-x pan-y!important;
}
.tw-ggb-host,
.tw-blockly-mount,
.tw-blockly-area,
.tw-excalidraw-mount,
.tw-excalidraw-canvas{
  touch-action:auto!important;
}
