@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/InstrumentSans-Regular.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/InstrumentSans-Medium.ttf") format("truetype");font-weight:500;font-display:swap}@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/InstrumentSans-SemiBold.ttf") format("truetype");font-weight:600 800;font-display:swap}
:root{--ink:#0b2832;--navy:#081e28;--muted:#506a72;--line:#dbe5e7;--mist:#f3f7f8;--mint:#95efa9;--cyan:#4dd9e3;--white:#fff;--focus:#178599;--field-line:#839ba3;--selected:#e8f4f2;color-scheme:light;font-family:"Instrument Sans",Inter,Arial,sans-serif;color:var(--ink);background:var(--mist)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:8px 12px}button:hover{background:var(--selected)}button:disabled{cursor:default;opacity:.5}input,select{border:1px solid var(--line);background:white;border-radius:6px;padding:9px;color:inherit;min-width:0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button.primary{background:var(--ink);color:white;border-color:var(--ink)}label{display:grid;gap:6px;font-size:13px}h2{font-size:19px;margin:0}.app-header{display:flex;gap:16px;align-items:center;padding:15px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.app-brand{font-size:25px;letter-spacing:-1px;min-width:150px}.app-brand span{color:var(--ink)}.app-brand small{font-size:10px;display:block;letter-spacing:1.6px;text-transform:uppercase}.header-project{display:grid;gap:3px;min-width:0}.header-project strong{font-size:15px}.header-project span{font-size:12px;color:var(--muted)}.local-account{margin-left:auto;font-size:11px;max-width:210px}.app-layout{display:grid;grid-template-columns:270px minmax(0,1fr);align-items:start}.app-layout.collapsed{grid-template-columns:minmax(0,1fr)}.app-layout.collapsed #project-tree{display:none}#project-tree{padding:18px 12px;background:var(--mist);min-height:calc(100vh - 92px);position:sticky;top:91px;max-height:calc(100vh - 91px);overflow:auto;border-right:1px solid var(--line)}.tree-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}#tree-content details{margin:5px 0}#tree-content summary{font-size:12px;padding:6px;cursor:pointer;overflow-wrap:anywhere}#tree-content details>div{margin-left:12px;border-left:1px solid var(--line);padding-left:5px}#tree-content button{width:100%;font-size:12px;text-align:left;padding:6px 8px;border-color:transparent;background:transparent;margin:2px 0;overflow-wrap:anywhere}#tree-content button[aria-current=true]{background:var(--selected);border-color:var(--cyan);color:var(--ink)}#tree-content .tree-room{font-size:11px;color:var(--muted)}#catalog-toggle{margin-top:18px;width:100%;font-size:12px}#workspace{min-width:0;padding:20px}.project-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:14px;font-size:12px}.project-actions span{margin-left:auto;color:var(--muted)}.banner{padding:12px 22px;background:#fff0db;border-bottom:1px solid #ebcc9b;font-size:13px}.banner button{margin-left:12px;font-size:12px}.dialog-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.dialog-title button{padding:3px 9px}dialog{width:510px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 70px #0b283233;padding:24px;color:var(--ink)}dialog::backdrop{background:#081e2850}dialog form,dialog>label{display:grid;gap:14px}dialog form{gap:14px}dialog p{font-size:13px}.version-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.version-row small{display:block;color:var(--muted)}.catalog-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.catalog-row img{width:64px;height:64px;object-fit:contain}.catalog-row small{display:block;color:var(--muted)}.catalog-row button{font-size:12px}.catalog-blank{width:64px;height:64px}#catalog-dialog{width:760px}#catalog-list{max-height:60vh;overflow:auto;margin-top:12px}#cs-port-editor{border-radius:10px;font-family:inherit}#cs-port-editor .pe-header{display:none}#cs-port-editor .pe-context{display:none}#cs-port-editor .pe-nav{border-radius:10px 10px 0 0}#cs-port-editor .pe-sensor{padding:0;background:white;border:0}#cs-port-editor .pe-sensor-edit{height:100%;width:100%;position:relative;padding:0;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:start}#cs-port-editor .pe-sensor-edit img{width:100%;height:54px;object-fit:contain;display:block}#cs-port-editor .pe-sensor-edit strong{font-size:10px;padding:2px;background:white}#cs-port-editor .pe-sensor-preview{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:8px;margin-top:6px}#cs-port-editor .pe-sensor-preview img{width:64px;height:64px;object-fit:contain}#cs-port-editor .pe-sensor-preview strong{font-size:12px}#cs-port-editor .pe-marker-sensor img{display:block;width:100%;height:auto}#cs-port-editor .pe-marker[data-type=sensor]{background:white}#cs-port-editor .pe-board{grid-template-columns:210px minmax(0,1fr)}#cs-port-editor .pe-node-caption button{font-size:12px}.readonly #cs-port-editor{opacity:.95}.readonly .pe-status{display:none}.readonly .project-actions #add-product{display:none}@media(max-width:1000px){.app-layout{grid-template-columns:230px minmax(0,1fr)}#workspace{padding:12px}#cs-port-editor .pe-board{grid-template-columns:170px minmax(0,1fr)}}@media(max-width:760px){.app-header{padding:12px;gap:10px;flex-wrap:wrap}.app-brand{font-size:20px;min-width:115px}.local-account{max-width:175px}.header-project{width:calc(100% - 50px);order:4}.app-layout{grid-template-columns:1fr}#project-tree{position:relative;top:0;min-height:0;max-height:300px;border-bottom:1px solid var(--line);border-right:0}.app-layout.collapsed #project-tree{display:none}#workspace{padding:10px}#cs-port-editor .pe-board{grid-template-columns:1fr}#cs-port-editor .pe-library{grid-column:1;grid-row:1;position:static}#cs-port-editor .pe-plan-column{grid-column:1;grid-row:2}.catalog-row{grid-template-columns:48px minmax(0,1fr) auto}.catalog-row img,.catalog-blank{width:48px;height:48px}}
/* Keep hidden controls hidden even when their component uses grid/flex. */
[hidden]{display:none!important}
.cloud-account{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:11px}.cloud-account span{color:var(--muted)}.cloud-account a{color:var(--ink);text-decoration:none}.cloud-account button{font-size:11px}#cloud-operation-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;border:1px solid var(--cyan);border-radius:10px;padding:13px 20px;box-shadow:0 8px 25px #081e2833;z-index:10000;font-size:13px}@media(max-width:850px){.cloud-account{flex-wrap:wrap;gap:8px}.cloud-account span{display:none}}

/* CleanShield website palette: apps/website/src/styles/site.css. */
input,select,textarea{border-color:var(--field-line);accent-color:var(--ink)}button.primary:hover:not(:disabled){background:#194958;border-color:#194958}.app-brand img{display:block;width:166px;height:auto}.app-brand small{margin-top:5px;color:var(--muted)}a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:760px){.app-brand img{width:138px}}
