.tl-controls { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:20px; }
.tl-controls > *, .tl-preview, .tl-event, .tl-field { min-width:0; }
.tl-event { border:1px solid var(--line); border-radius:8px; padding:12px; margin:12px 0; }
.tl-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.tl-event input,.tl-event textarea,#tl-tool input,#tl-tool select { max-width:100%; min-width:0; box-sizing:border-box; }
.tl-event textarea { width:100%; }
#tl-title,#tl-subtitle { display:block; width:100%; margin-top:4px; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; font-weight:400; background:#fff; color:var(--fg); }
.tl-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:10px 0; }
.tl-file { max-width:230px; }
.tl-error { color:var(--bad); overflow-wrap:anywhere; }
.tl-frame { border:1px solid var(--line); border-radius:8px; max-width:100%; max-height:75vh; overflow:auto; background:white; }
#tl-chart svg { display:block; max-width:none; }
@media(max-width:800px) { .tl-controls { grid-template-columns:minmax(0,1fr); } }
@media(max-width:450px) { .tl-event-grid { grid-template-columns:minmax(0,1fr); } }
@page { size:A4 landscape; margin:10mm; }
@media print {
  .site-header,.site-footer,.other-tools,.ad-card,.ad-slot,main > :not(#tl-tool),.tl-controls,.tl-preview > :not(.tl-frame) { display:none!important; }
  html,body,main.wrap { padding:0!important; margin:0!important; max-width:none!important; background:white!important; }
  #tl-tool,.tl-preview { border:0!important; padding:0!important; margin:0!important; box-shadow:none!important; }
  .tl-frame { border:0; overflow:visible; max-height:none; width:277mm; height:189mm; }
  #tl-chart { width:100%; height:100%; }
  #tl-chart svg { width:100%!important; height:100%!important; break-inside:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
