/* Hallmark · macrostructure: workbench · modern-minimal · existing ScreenFlow dark palette · operational workspace.
 * design-system: design.md · designed-as-app · enrichment: none.
 * Pre-emit critique: Philosophy 4 / Hierarchy 4 / Execution 4 / Specificity 4 / Restraint 5 / Variety 3.
 */
html,body{overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body)}
body{font-size:var(--text-base);line-height:1.5}
body:has(#workspace[hidden]) .sidebar{background:var(--color-paper)}
.sidebar{width:228px;padding:var(--space-xl) var(--space-lg);background:var(--color-paper-2);border-color:var(--color-rule)}
.brand{gap:var(--space-md);font-size:20px;letter-spacing:-.5px;min-height:36px}
.brand svg{width:26px;height:26px;stroke:var(--color-link)}
.space{margin:var(--space-2xl) 0 var(--space-xl);padding:var(--space-md);font-size:var(--text-sm);background:var(--color-paper);border-color:var(--color-rule);border-radius:var(--radius-input);overflow-wrap:anywhere}
.sidebar nav{gap:var(--space-xs)}
.nav{min-height:44px;gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-base);border-radius:var(--radius-input);color:var(--color-ink-2)}
.nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.nav.active{background:var(--color-accent-soft);color:var(--color-ink)}
.nav.active:before{display:none}
.profile{gap:var(--space-sm);padding-top:var(--space-lg);font-size:var(--text-xs)}
.avatar{width:32px;height:32px;border-radius:var(--radius-input);background:var(--color-paper-3);font-size:var(--text-xs);flex-shrink:0}
main{margin-left:228px;padding:var(--space-xl) var(--space-2xl) 0;min-width:0}
.demo{font-size:var(--text-xs);letter-spacing:0;margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-rule);color:var(--color-ink-2)}
.demo .dot{display:none}.demo-note{color:var(--color-ink-2)}
header{align-items:center;gap:var(--space-lg)}header>div{min-width:0}
h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0}
h1{font-size:var(--text-display);line-height:1.2;letter-spacing:-.7px;margin-bottom:var(--space-sm);font-weight:650}
header p{font-size:var(--text-base);line-height:1.5;color:var(--color-ink-2)}
button,input,select,textarea{font-family:var(--font-body);font-size:var(--text-base)}
button{white-space:nowrap}button:disabled{cursor:not-allowed}
.primary,.secondary,.danger{min-height:40px;font-size:var(--text-sm);border-radius:var(--radius-input);padding:var(--space-sm) var(--space-lg);box-shadow:none}
.primary,.timeline-dialog #timeline-start{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink);box-shadow:none}
.primary span{font-size:20px}
.secondary{background:var(--color-paper-2);border-color:var(--color-rule);color:var(--color-ink)}
.danger,.timeline-dialog #timeline-stop{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-bg);box-shadow:none}
.text-button{color:var(--color-link);font-size:var(--text-sm)}
input,select,textarea,.auth-card input,.timeline-dialog input,.timeline-dialog select{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-input);padding:10px var(--space-md);min-height:40px;max-width:100%}
input::placeholder,textarea::placeholder{color:var(--color-ink-2)}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--color-accent)}
textarea{resize:vertical}label{margin-top:var(--space-lg);font-size:var(--text-sm)}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
button:active:not(:disabled){filter:brightness(.93)}
.stats{margin:var(--space-xl) 0;gap:var(--space-lg);font-size:var(--text-sm);color:var(--color-ink-2)}
.stats>span{padding:0 var(--space-lg) 0 0;border-color:var(--color-rule)}.stats b{font-weight:650;font-variant-numeric:tabular-nums;color:var(--color-ink)}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--space-lg)}
.card,.room-card,.screen-card{background:var(--color-paper-2);border-color:var(--color-rule);border-radius:var(--radius-card);box-shadow:none;transition:border-color var(--dur-short) var(--ease-out)}
.card{padding:var(--space-xl);min-height:184px}.card:hover{transform:none}
.block-symbol{width:36px;height:36px;display:grid;place-items:center;background:var(--color-paper-3);border-radius:var(--radius-input);color:var(--color-link);margin-bottom:var(--space-xl)}
.block-symbol svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.card h2{font-size:var(--text-lg);margin-bottom:var(--space-sm);padding-right:var(--space-lg)}
.meta,.status{font-size:var(--text-xs);color:var(--color-ink-2)}
.status{margin-top:var(--space-lg);padding-top:var(--space-md)}
.card .more{color:var(--color-ink-2)}
.block-menu{background:var(--color-paper-3);border-color:var(--color-rule)}
.settings,.empty,.library-empty{background:var(--color-paper-2);border-color:var(--color-rule);border-radius:var(--radius-card)}
.settings{max-width:760px;margin-top:var(--space-xl)}
.settings-grid{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--space-md);margin:var(--space-xl) 0 0}
.settings-grid dt{color:var(--color-ink-2)}.settings-grid dd{margin:0;overflow-wrap:anywhere}
footer{padding:var(--space-3xl) 0 var(--space-xl);color:var(--color-ink-2);font-size:var(--text-xs)}
.auth-card{width:min(440px,100%)}.auth-card h1{font-size:var(--text-display)}.auth-intro{font-size:var(--text-base)}
.eyebrow{color:var(--color-ink-2);letter-spacing:.08em}.auth-card .eyebrow{margin-bottom:var(--space-lg)}
dialog,.timeline-dialog,.remote-dialog{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-rule);border-radius:var(--radius-card);padding:var(--space-xl);max-width:calc(100% - 24px)}
dialog::backdrop{background:var(--color-backdrop);backdrop-filter:none}
.dialog-heading h2{font-size:20px}.dialog-heading{margin-bottom:var(--space-md)}dialog p{color:var(--color-ink-2)}
.dialog-actions{gap:var(--space-sm);flex-wrap:wrap}.icon{min-width:36px;min-height:36px;color:var(--color-ink-2)}
.form-error,.error-banner,.remote-dialog .form-error,.timeline-dialog .form-error{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}
.toast{background:var(--color-paper-3);border-color:var(--color-rule);color:var(--color-ink);font-size:var(--text-sm)}
.library-toolbar{gap:var(--space-lg);margin-top:var(--space-xl)}.library-search{min-width:0}.library-buttons{gap:var(--space-sm)}
.library-location{margin:var(--space-lg) 0;font-size:var(--text-xs);gap:var(--space-md)}
#breadcrumbs{min-width:0;flex-wrap:wrap;gap:var(--space-xs)}#breadcrumbs button{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.asset-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--space-lg)}
.asset-card,.folder-tile{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-rule);border-radius:var(--radius-card)}
.asset-preview{height:140px;background:var(--color-paper-3);color:var(--color-ink-2)}.asset-symbol{color:var(--color-ink-2);font-size:32px}.asset-info{padding:var(--space-lg)}
.asset-info h2{font-size:var(--text-base)}.asset-info p{font-size:var(--text-xs)}
.asset-badge{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule)}
.folder-open{font-size:var(--text-sm)}.file-picker,#upload-queue{background:var(--color-paper);border-color:var(--color-rule);color:var(--color-ink-2)}
.file-trash,.variant-row,.material-danger-zone{border-color:var(--color-rule)}
.control-toolbar{margin-top:var(--space-xl)}.room-open{padding:var(--space-xl);text-align:left}.room-symbol{font-size:24px;color:var(--color-link)}
.room-open h2{font-size:var(--text-lg)}.room-open p{font-size:var(--text-sm)}.room-open small{font-size:var(--text-xs);color:var(--color-ink-2)}
.room-program{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-rule);border-radius:var(--radius-card);padding:var(--space-xl)}
.room-program h2{font-size:20px}.screen-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:var(--space-lg)}
.screen-card{padding:var(--space-lg)}.screen-card .screen-now small{font-size:10px;letter-spacing:.05em;color:var(--color-ink-2)}
.display-shape{background:var(--color-paper);border-color:var(--color-rule);color:var(--color-ink-2)}
.screen-card .display-shape{height:64px;border-width:1px}.screen-card .screen-profile{font-variant-numeric:tabular-nums}
.screen-card .screen-actions{gap:var(--space-xs)}.screen-actions .text-button{padding:var(--space-sm)}
.device-status,.delivery{font-size:var(--text-xs);border-radius:4px}
.device-status.online,.delivery-playing{background:var(--color-success-bg);color:var(--color-success)}
.device-status,.delivery-pending,.delivery-ready{background:var(--color-warning-bg);color:var(--color-warning)}
.delivery-error,.delivery-offline{background:var(--color-error-bg);color:var(--color-error)}
.timeline-transport,.timeline-library,.timeline-inspector,.timeline-targets{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule);box-shadow:none}
.timeline-transport{top:-24px}.timeline-targets p{color:var(--color-ink-2)}
.timeline-footer,.remote-bottom{background:var(--color-paper-2);color:var(--color-ink);border-color:var(--color-rule);box-shadow:none;bottom:-24px}
.timeline-track{background:var(--color-paper);border-color:var(--color-rule)}
.clip-body{background:var(--color-paper-3);border-color:var(--color-rule)}
.timeline-clip.selected .clip-body{background:var(--color-accent-soft);outline-color:var(--color-focus);box-shadow:none}
.timeline-asset{border-color:var(--color-rule)}
.remote-head .eyebrow{font-size:var(--text-base);color:var(--color-ink)}.remote-head p{color:var(--color-ink-2)}
.remote-tab,.remote-now,.remote-material{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule);border-radius:var(--radius-input)}
.remote-tab.active,.remote-material.on-air{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:none}
.remote-now strong{font-size:var(--text-lg)}.remote-library-heading h2{font-size:20px}.remote-delivery span{background:var(--color-paper-3);color:var(--color-ink-2)}
.remote-filters input,.remote-filters select{background:var(--color-paper)}.remote-picker{border-color:var(--color-rule)}
.remote-materials{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.remote-on-air{background:var(--color-accent);color:var(--color-accent-ink)}
.remote-bottom button{font-size:var(--text-sm)}
@media(hover:hover){.primary:hover{background:var(--color-accent);filter:brightness(1.1)}.secondary:hover,.nav:hover,.block-menu button:hover,.timeline-asset:hover{background:var(--color-paper-3)}.card:hover,.asset-card:hover,.screen-card:hover{border-color:var(--color-ink-2)}.remote-material:hover{background:var(--color-paper-3);border-color:var(--color-link)}}
@media(pointer:coarse){button,.primary,.secondary,.danger,input,select{min-height:44px}input[type=checkbox]{min-height:0}}
@media(max-width:960px){.sidebar{width:196px;padding:var(--space-xl) var(--space-md)}main{margin-left:196px;padding:var(--space-xl)}.brand{font-size:18px;gap:var(--space-sm)}.editor-layout{grid-template-columns:minmax(0,1fr)}.timeline-assets{height:200px}}
@media(max-width:650px){.sidebar{width:100%;position:static;padding:var(--space-lg);border-bottom:1px solid var(--color-rule)}main{margin-left:0;padding:var(--space-xl) var(--space-lg) 0}.brand{font-size:20px}.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-lg);gap:var(--space-xs)}.nav{justify-content:center;padding:var(--space-sm) var(--space-xs);gap:6px;font-size:var(--text-xs)}.nav svg{width:16px;height:16px}.profile{margin-top:var(--space-lg);padding-top:var(--space-md)}.profile-info{display:flex;align-items:center;gap:var(--space-md);flex:1}.profile-info>span{max-width:180px;flex:1}.profile-info .text-button{margin-left:auto}.demo{margin-bottom:var(--space-xl)}.demo-note{display:none}header{flex-direction:column;align-items:flex-start}h1{font-size:26px}.header-actions{margin-left:0;flex-wrap:wrap}.cards,.screen-grid{grid-template-columns:minmax(0,1fr)}.stats{gap:var(--space-sm);flex-wrap:wrap}.stats>span{padding-right:var(--space-sm)}.asset-grid,.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.asset-preview{height:100px}.asset-info{padding:var(--space-md)}.library-search{flex-wrap:wrap;width:100%}.library-search input{width:100%;flex-basis:100%}.library-search select{width:100%}.library-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.library-buttons button{padding:var(--space-sm);font-size:var(--text-xs)}.room-program{padding:var(--space-lg)}.control-toolbar{flex-wrap:wrap}.settings-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.settings-grid dd{margin-bottom:var(--space-md)}dialog,.timeline-dialog,.remote-dialog{padding:var(--space-lg);max-width:calc(100% - 16px)}.timeline-transport{top:-16px}.timeline-footer,.remote-bottom{bottom:-16px}.remote-now{flex-wrap:wrap}.remote-delivery{max-width:100%;width:100%}.remote-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.remote-filters input{grid-column:1/-1}.remote-materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.remote-bottom{grid-template-columns:minmax(0,1fr)}.remote-bottom button{width:100%}.timeline-footer>div{flex-wrap:wrap}.timeline-footer button{min-width:0}.timeline-heading>label{flex-wrap:wrap}.timeline-connections .delivery-row strong{min-width:0}.toast{left:50%;max-width:calc(100% - 24px)}footer{flex-wrap:wrap;gap:var(--space-md)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Responsive corrections verified against the live test UI. */
.room-card{padding:0}.room-open{white-space:normal;min-width:0}.room-open h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-open small{display:block;overflow-wrap:anywhere}
.library-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.library-filters select{min-width:0;width:100%;padding-inline:var(--space-sm)}
.timeline-library{min-width:0}.timeline-asset>div{min-width:0}#timeline-add-selected{max-width:100%;padding-inline:var(--space-sm)}
.remote-tabs{min-width:0}.remote-head>div{min-width:0}.remote-dialog button:disabled{cursor:not-allowed}
@media(max-width:650px){.remote-head{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.remote-head .eyebrow{font-size:var(--text-sm)}.timeline-footer>div{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.timeline-footer button{width:100%}.clip-actions{flex-wrap:wrap}.timeline-heading h3{overflow-wrap:anywhere;min-width:0}.program-buttons{max-width:100%}}

/* Кинетика: outlined wordmark, independent of installed fonts. */
.brand-logo{display:block;width:180px;max-width:100%;height:auto}.remote-head .eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.remote-brand{display:block;width:160px;height:auto;max-width:100%}
@media(max-width:960px){.brand-logo{width:168px}}
