:root{color:#e9efe8;font-synthesis:none;text-rendering:optimizelegibility;background:#101916;font-family:Georgia,Times New Roman,serif}body{min-width:320px;margin:0}html,body,#root{height:100%}body{background:#15211e;margin:0;overflow:hidden}button,input{font:inherit}*{box-sizing:border-box}.app-shell{color:#e9efe8;background:#15211e;flex-direction:column;height:100%;display:flex}header{border-bottom:1px solid #375047;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.eyebrow{color:#9fc8bc;letter-spacing:2px;font:10px/1 Segoe UI,sans-serif;display:block}h1{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}h1 i{color:#d9a83c;font-style:normal}.status{letter-spacing:1px;align-items:center;gap:7px;font:700 11px Segoe UI,sans-serif;display:flex}.header-right{align-items:center;gap:12px;display:flex}.lang-select{color:#cbe0d8;align-items:center;gap:6px;display:flex}.lang-select select{color:#e9efe8;background:#1c2d28;border:1px solid #48635b;border-radius:5px;padding:3px 6px;font:11px Segoe UI,sans-serif}.status-dot{background:#d5a63b;border-radius:50%;width:9px;height:9px}.status-dot.safe{background:#44c895}.status-dot.collision{background:#f15c4e}.workspace{flex:auto;align-items:stretch;min-height:0;display:flex}.side-panel{background:#1c2d28;flex-direction:column;flex:none;width:300px;max-width:46%;min-height:0;display:flex}.side-left{border-right:1px solid #375047}.side-right{border-left:1px solid #375047}.side-head{border-bottom:1px solid #334a43;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.side-head h2{margin:0;font-size:15px;font-weight:600}.side-title{letter-spacing:1.4px;text-transform:uppercase;color:#d8a93d;font:700 11px Segoe UI,sans-serif}.icon-btn{color:#cbe0d8;background:0 0;border:1px solid #48635b;border-radius:5px;padding:3px 5px;display:flex}.icon-btn:hover{color:#fff6dc;background:#355348}.side-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 12px 22px;overflow-y:auto}.menu-group{background:#1a2925;border:1px solid #334a43;border-radius:8px;margin-bottom:12px;overflow:hidden}.menu-header{color:#f3f0e5;background:#22352f;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;font:600 13px Segoe UI,sans-serif;display:flex}.menu-header .lbl{align-items:center;gap:8px;display:flex}.menu-header .chev{transition:transform .2s}.menu-header.open .chev{transform:rotate(180deg)}.menu-body{padding:4px 12px 10px}label{color:#b3c7c0;margin:9px 0;font:11px Segoe UI,sans-serif;display:block}label>div{align-items:center;gap:8px;margin-top:4px;display:flex}input[type=range]{accent-color:#daa63b;flex:1;min-width:0}output{color:#f8ead0;text-align:right;white-space:nowrap;width:62px;font-size:11px}button{cursor:pointer;color:#cbe0d8;font:12px Segoe UI,sans-serif}button:focus-visible{outline-offset:1px;outline:2px solid #d7a73d}.shape-row,.direction-row{gap:6px;margin:12px 0 6px;display:flex}.shape-row button,.direction-row button{background:0 0;border:1px solid #48635b;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 4px;display:flex}.command-row{gap:6px;margin:10px 0;display:flex}.command-row button{background:0 0;border:1px solid #48635b;border-radius:5px;flex:1;padding:7px 4px}button:hover,button.active,button.selected{color:#fff6dc;background:#355348;border-color:#d7a73d}.share-block{flex-direction:column;gap:8px;margin-top:6px;display:flex}.share-block button{background:#355348;border:1px solid #48635b;border-radius:5px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;display:flex}.share-block input{color:#a7cdc2;background:#13201c;border:1px solid #426158;border-radius:5px;width:100%;padding:6px;font:10px Segoe UI,sans-serif}.visual{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.viewport-toolbar{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.viewport-toolbar>*{pointer-events:auto}.hint{color:#c6dbd3;background:#13211dcc;border-radius:6px;align-items:center;gap:6px;padding:7px 9px;font:10px Segoe UI,sans-serif;display:flex}.view-tabs{background:#13211dcc;border-radius:6px;gap:4px;padding:3px;display:flex}.view-tabs button{background:0 0;border:0;border-radius:4px;padding:5px 9px}.toggles{z-index:3;background:#13211dcc;border-radius:6px;flex-wrap:wrap;gap:4px;max-width:calc(100% - 24px);padding:4px;display:flex;position:absolute;bottom:12px;left:12px}.toggles button{background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;display:flex}.edge-btn{z-index:6;color:#cbe0d8;background:#13211dcc;border:1px solid #48635b;border-radius:6px;padding:8px;position:absolute;top:50%;transform:translateY(-50%)}.edge-btn:hover{color:#fff6dc;background:#355348}.edge-btn.left{left:10px}.edge-btn.right{right:10px}.result-group{border-top:1px solid #3c554d;padding:10px 0}.result-group h3{color:#d8a93d;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 8px;font:700 9px Segoe UI,sans-serif}.result-group>div{color:#a9beb6;justify-content:space-between;gap:8px;margin:7px 0;font:11px Segoe UI,sans-serif;display:flex}.result-group strong{color:#f1f3ed;text-align:right;font-weight:600}.result-status strong{letter-spacing:1px}.result-status.safe strong{color:#56d4a5}.result-status.collision strong{color:#ff7566}.alerts{color:#efc8b7;border-left:2px solid #e45545;margin-top:8px;padding-left:10px;font:10px/1.4 Segoe UI,sans-serif}.alerts p{margin:0 0 6px}@media (width<=1180px){.side-panel{width:250px}}@media (width<=900px){.workspace{position:relative}.side-panel{z-index:8;width:270px;position:absolute;top:0;bottom:0;box-shadow:0 0 26px #0000008c}.side-left{left:0}.side-right{right:0}}@media (width<=600px){h1{font-size:19px}.hint{display:none}header{padding:6px 12px}.side-panel{width:min(85vw,270px)}.toggles button{padding:5px 6px}}.print-block{margin-top:8px}.print-block button{background:0 0;border:1px solid #d7a73d;border-radius:5px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;display:flex}.print-block button:hover{color:#fff6dc;background:#355348}.report{display:none}@media print{html,body,#root{height:auto;overflow:visible}body{background:#fff}.app-shell{display:none!important}.report{color:#111;background:#fff;max-width:100%;padding:24px 8px;font-family:Segoe UI,Arial,sans-serif;display:block}.report h2{color:#0b3d35;margin:0 0 4px;font-size:22px}.report h3{color:#b8860b;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid #d8a93d;margin:22px 0 10px;padding-bottom:4px;font-size:14px}.report-head p{color:#444;margin:0 0 8px;font-size:11px}.report-section{break-inside:avoid;margin-bottom:6px}.report-table{border-collapse:collapse;width:100%;font-size:10px}.report-table td,.report-table th{text-align:left;border:1px solid #bbb;padding:4px 6px}.report-table td:first-child{width:34%;font-weight:600}.report-table.steps-table td:first-child{width:auto;font-weight:400}.report-table.steps-table thead th{background:#f2e6c9}.report-table.steps-table tr:nth-child(2n){background:#f7f7f2}.situacao{font-weight:700}.situacao.safe{color:#0a7d42}.situacao.collision{color:#c1261c}.report-alerts{color:#7a2c12;margin-top:8px;font-size:10px}.report-alerts ul{margin:4px 0 0 16px;padding:0}.report-layouts{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.layout-item{break-inside:avoid;text-align:center;border:1px solid #ddd;width:11%;padding:3px 2px 4px}.layout-item svg{margin:0 auto;display:block}.layout-caption{color:#333;font-size:8px;line-height:1.25}.layout-caption strong{display:block}.layout-caption span{color:#555}.report-tech{color:#333;margin:0 0 0 16px;font-size:10px}.report-tech li{margin:3px 0}.report-foot{color:#777;border-top:1px solid #ccc;margin-top:18px;padding-top:6px;font-size:9px}.report-figure{background:#fff;border:1px solid #bbb;width:100%;height:auto;margin-top:8px}.report-note{color:#555;margin:6px 0 0;font-size:9px}.report-step-drawings{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.report-step-drawing{break-inside:avoid;page-break-inside:avoid;border:1px solid #ccc;padding:6px}.report-step-title{justify-content:space-between;gap:8px;margin-bottom:4px;font-size:10px;display:flex}.report-step-title span{color:#555}.report-step-svg{width:100%;height:auto;display:block}}
