html,body,#root{height:100%;margin:0;font-family:system-ui,sans-serif}.app{height:100%;display:flex}.viewer{flex:1;min-width:0;position:relative;overflow:hidden}.viewer canvas{display:block}.panel{box-sizing:border-box;border-left:1px solid #ccc;width:280px;padding:16px;overflow-y:auto}.panel label{flex-direction:column;gap:4px;font-size:14px;display:flex}.panel [role=alert]{color:#8a1c1c;background:#fde8e8;border-radius:4px;margin-top:12px;padding:8px}.panel ul{flex-wrap:wrap;gap:6px;margin:16px 0;padding:0;list-style:none;display:flex}.panel button[aria-pressed=true]{color:#fff;background:#e07a2f}.panel dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;display:grid}.panel dt{color:#666}.panel dd{text-align:right;margin:0}.panel .history{gap:6px;margin-top:12px;display:flex}.panel .opening-form{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 8px;display:grid}.panel .opening-form p{color:#8a1c1c;grid-column:1/-1;margin:0;font-size:13px}.panel .opening-form button{grid-column:1/-1}.panel .openings{margin:8px 0;display:block}.panel .openings li{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.panel .opening-form input{box-sizing:border-box;width:100%;min-width:0}
