:root{font-family:Segoe UI,Arial,sans-serif;color:#183040;background:#f4f7fa;font-synthesis:none;line-height:1.5;font-size:16px;--ink:#183040;--muted:#526778;--accent:#145fa2;--border:#cbd6df;--surface:#fff;--danger:#a92533}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border:1px solid #a8bccc;border-radius:6px;color:var(--ink);background:#fff;text-decoration:none;cursor:pointer;min-height:44px;font-weight:600}button:hover,.button:hover{border-color:var(--accent);background:#eef5fb}button:disabled{cursor:not-allowed;opacity:.55}.primary,button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}.danger{color:var(--danger);border-color:#d4a5aa}.quiet{background:transparent;border-color:transparent}a{color:var(--accent);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #237bc2;outline-offset:3px}input,select,textarea{border:1px solid #9eafbc;border-radius:5px;background:#fff;color:var(--ink);padding:.6rem .75rem;max-width:100%;min-height:44px}input[type=checkbox]{min-height:20px;min-width:20px}label{display:grid;gap:.35rem;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2;font-weight:650;letter-spacing:-.025em}h2{font-size:1.3rem}h3{font-size:1.05rem}p{max-width:76ch}.muted,small{color:var(--muted)}small{font-size:.85rem}code{overflow-wrap:anywhere;font-size:.9em}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;background:#eff3f6;padding:1rem;border-radius:5px}details{margin:1rem 0}summary{cursor:pointer;font-weight:600;min-height:32px}.skip-link{position:absolute;top:-100px;left:12px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2.5rem;background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;color:var(--ink)}.brand>span:last-child{display:grid;font-size:.8rem;line-height:1.3}.brand strong{font-size:1.15rem}.brand-mark{display:grid;place-items:center;width:38px;height:42px;background:#145fa2;color:#fff;font-weight:800;font-size:1.6rem;border-radius:3px 13px 3px 3px}.account{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.workspace-bar{padding:.7rem 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#e8f0f6;border-bottom:1px solid var(--border)}nav{display:flex;flex-wrap:wrap;gap:.5rem}nav a{padding:.55rem .8rem;text-decoration:none;font-weight:600;color:var(--ink)}nav a[aria-current=page]{background:#fff;border-radius:5px;box-shadow:0 1px 3px #213e5315}.workspace-bar label{display:flex;align-items:center;font-size:.85rem}.workspace{max-width:1440px;margin:0 auto;padding:2rem 2.5rem;min-height:65vh}.app-footer{padding:1.5rem 2.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.5rem}.panel{background:#fff;border:1px solid var(--border);border-radius:9px;padding:1.5rem;margin-bottom:1.25rem}.signin{max-width:680px;margin:6vh auto;padding:2.5rem}.signin .button{margin:.5rem 0 1.5rem}.form-stack{display:grid;gap:1rem;max-width:700px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:.8rem 0}.notice{padding:1rem 1.2rem;border-left:4px solid #3674a3;background:#eaf3fa;border-radius:3px;margin:1rem 0}.notice p:last-child{margin-bottom:0}.notice.error,.error{border-color:var(--danger);background:#fff0f1;color:#75202b}.notice.warning{border-color:#aa7b13;background:#fff8e5}.status{display:inline-block;padding:.2rem .6rem;border-radius:5px;background:#edf2f6;font-weight:600;font-size:.9rem}.detail-list{display:grid;grid-template-columns:minmax(110px,.4fr) 1fr;gap:.55rem 1rem}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left}th{color:var(--muted);font-size:.85rem;font-weight:600;background:#f0f5f8}th,td{padding:.8rem;border-bottom:1px solid var(--border);vertical-align:top}td button{font-size:.85rem}.loading{padding:2rem;text-align:center;color:var(--muted)}fieldset{border:1px solid var(--border);border-radius:6px;padding:1rem;margin:1rem 0}legend{font-weight:600;padding:0 .4rem}ul{padding-left:1.3rem}.empty-state{padding:2rem;border:1px dashed var(--border);text-align:center}dialog{border:1px solid var(--border);border-radius:9px;max-width:min(92vw,650px);padding:2rem}dialog::backdrop{background:#162c4066}.editor-layout,.command-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1.25rem}.polygon-editor{min-width:0}.polygon-editor svg{display:block;width:100%;max-height:68vh;touch-action:none;background:#e7edf2;border:1px solid var(--border);border-radius:5px}.reference-list{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.reference-list button[aria-pressed=true]{border-color:var(--accent);background:#e3f0fc}.editor-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.target-list{display:grid;gap:.7rem}.target-list label{font-size:.9rem}.operation-list{display:grid;gap:1rem}.operation{border:1px solid var(--border);padding:1rem;border-radius:6px}.state-strip{display:flex;flex-wrap:wrap;gap:1.2rem;padding:1rem;background:#edf3f8}.state-strip>div{flex:1;min-width:130px}.state-strip strong{display:block}.danger-zone{border-color:#d6afb3}.row{display:flex;flex-wrap:wrap;gap:.75rem}.row>*{flex:1;min-width:140px}[role=status]{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.app-header{padding:1rem}.account{max-width:48%;flex-wrap:wrap;justify-content:flex-end;overflow-wrap:anywhere}.workspace-bar{padding:.75rem 1rem;align-items:stretch;flex-direction:column}.workspace-bar label{justify-content:space-between}.workspace{padding:1.3rem 1rem}.panel,.app-footer{padding:1rem}.editor-layout,.command-layout{grid-template-columns:1fr}.signin{padding:1.5rem;margin:2vh auto}.detail-list{grid-template-columns:1fr;gap:.2rem}.detail-list dd{margin-bottom:.75rem}nav a{padding:.5rem .55rem}.page-header{margin-bottom:1rem}th,td{padding:.6rem}.actions>*{flex-grow:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.page-heading,.section-heading,.section-header{display:flex;align-items:start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.toolbar{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.table-scroll{overflow:auto}.identifier{display:block;overflow-wrap:anywhere;font-size:.85rem;color:var(--muted)}.device-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.operating-report{display:grid;gap:.3rem}.freshness,.last-reported{display:block;font-size:.85rem;color:var(--muted)}.permission-list{display:flex;gap:.6rem 1.2rem;flex-wrap:wrap;list-style:none;padding:0}.checkbox-label{display:flex;align-items:start;gap:.75rem;margin:1rem 0}.checkbox-label input{flex:none}.receipt-fields>div{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:1rem;border-bottom:1px solid var(--border);padding:.45rem 0}.receipt-fields dt{color:var(--muted)}.receipt-fields dd{margin:0;overflow-wrap:anywhere}.operation-row{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:6px}.authoring-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.2rem}.reference-list ul{list-style:none;padding:0;width:100%}.reference-list li{display:grid;gap:.4rem;margin-bottom:.8rem}.reference-list button{justify-content:start;overflow-wrap:anywhere}.reference-detail{min-width:0}.reference-canvas{min-height:220px;display:grid;place-items:center;background:#edf2f6;margin:1rem 0}.vertex-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem}.vertex-controls button{font-size:.85rem;margin-top:.4rem}.vertex-controls fieldset{min-width:0}.target-list{margin:1rem 0}.target-list button[aria-pressed=true]{background:#e3f0fc;border-color:var(--accent)}.device-actions{border:0;margin:0;padding:0}.device-actions>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.authoring-layout,.device-state-grid{grid-template-columns:1fr}.receipt-fields>div{grid-template-columns:1fr;gap:.2rem}.reference-list ul{display:flex;gap:.5rem;overflow:auto}.reference-list li{min-width:180px}.toolbar label{width:100%}}
