/* Regie: one semantic palette for the desktop, editor windows and public website. */
.sou-app{color-scheme:light dark;--canvas:light-dark(#f4f3f0,#181918);--surface:light-dark(#fffefa,#222320);--raised:light-dark(#eae9e3,#2e302a);--border-subtle:light-dark(#dcded5,#3e4238);--border-control:light-dark(#828779,#858c7d);--text:light-dark(#242722,#f2f1e9);--secondary:light-dark(#62675d,#b2b8ac);--muted:var(--secondary);--accent:light-dark(#edaa2f,#efb64b);--accent-ink:light-dark(#885000,#efb64b);--accent-hover:light-dark(#e0a029,#e3ac43);--accent-pressed:light-dark(#d49624,#d6a03c);--accent-subtle:light-dark(#fff0d3,#3a3020);--on-accent:#271d10;--success:light-dark(#346b44,#9bc9a1);--warning:light-dark(#7e5c15,#e1bf76);--danger:light-dark(#a93535,#ee9797);--info:light-dark(#346685,#98b9cf);--brand-surface:#20221f;--brand-text:#f2f1e9;--brand-secondary:#b2b8ac;--radius:7px;--sidebar-width:11.25rem;--control-height:2.375rem;font-family:"Segoe UI",Arial,system-ui,sans-serif;font-size:.875rem;line-height:1.5;color:var(--text);background:var(--canvas);min-height:100vh;margin:0}
.sou-app *{box-sizing:border-box}
.sou-app h1{font-size:1.5625rem;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:0 0 .5rem}
.sou-app h2{font-size:1.0625rem;line-height:1.4;font-weight:600;letter-spacing:-.01em;margin:0 0 .75rem}
.sou-app p{color:var(--secondary);line-height:1.5;margin:.75rem 0;overflow-wrap:anywhere}
.sou-app a{color:var(--text);text-underline-offset:3px}
.sou-app button,.sou-app input,.sou-app select,.sou-app textarea{font:inherit;min-height:var(--control-height);border:1px solid var(--border-control);border-radius:var(--radius);padding:.5rem .75rem;color:var(--text);background:var(--surface);max-width:100%}
.sou-app button{cursor:pointer;font-weight:500;transition:background-color 120ms;white-space:normal;line-height:1.4;overflow-wrap:anywhere;border-color:var(--border-subtle)}
.sou-app button:hover:enabled{background:var(--raised)}
.sou-app button:active:enabled{background:var(--canvas)}
.sou-app button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}
.sou-app button.primary:hover:enabled{background:var(--accent-hover)}
.sou-app button.primary:active:enabled{background:var(--accent-pressed)}
.sou-app button:disabled,.sou-app button.button-danger:disabled,.sou-app button.danger:disabled,.sou-app button.button-subtle:disabled{color:var(--muted);background:var(--raised);border-color:var(--border-subtle);cursor:not-allowed;opacity:.65}
.sou-app :focus-visible{outline:2px solid var(--text);outline-offset:3px}
.sou-app :disabled{cursor:not-allowed}
.sou-app input[type=checkbox],.sou-app input[type=radio]{width:1.125rem;height:1.125rem;min-height:0;accent-color:var(--accent);flex:none}
.sou-app textarea{resize:vertical;min-height:6rem;line-height:1.5}
.sou-app input::file-selector-button{font:inherit;min-height:1.75rem;margin-right:.75rem;background:var(--raised);color:var(--text);border:0;border-radius:2px;padding:.25rem .5rem;cursor:pointer}
.sou-app label{display:grid;gap:.5rem;color:var(--secondary);margin:1rem 0}
.sou-app input,.sou-app select,.sou-app textarea{width:100%;min-width:0;background:var(--surface)}
/* Native select popups need explicit foreground/background pairs, including group labels. */
.sou-app select :is(option,optgroup){color:var(--text);background-color:var(--surface)}
.sou-app select :is(option,optgroup):disabled{color:var(--muted)}
@media(forced-colors:active){.sou-app select :is(option,optgroup){color:CanvasText;background-color:Canvas}.sou-app select :is(option,optgroup):disabled{color:GrayText}}
.sou-app input::placeholder{color:var(--muted)}
.sou-app .card{background:transparent;border:0;border-top:1px solid var(--border-subtle);border-radius:0;padding:1rem 0;margin-bottom:1.5rem;min-width:0}
.sou-app .actions{display:flex;align-items:end;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.sou-app .eyebrow{color:var(--muted);font-size:.6875rem;line-height:1.125rem;letter-spacing:.08em;margin-bottom:.5rem}
.sou-app .page-heading{margin-bottom:1.5rem}
.sou-app .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.sou-app .stat h2{font-size:1.5rem;line-height:2rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sou-app code,.sou-app pre{font-family:Consolas,monospace;font-variant-ligatures:none;font-size:.8125rem;overflow-wrap:anywhere;white-space:pre-wrap}
.sou-app summary{cursor:pointer;min-height:var(--control-height);padding:.5rem 0}
.sou-app .brand{font-size:1.5rem;font-weight:700;letter-spacing:-.04em;color:var(--text);text-decoration:none}
.sou-app .brand span{color:inherit}
.sou-app .brand-emblem{display:inline-flex;align-items:center;flex-shrink:0}
.sou-app .brand-emblem img{display:block;width:48px;height:48px;object-fit:contain}
.sou-app .topbar{display:flex;gap:1.25rem;align-items:center;min-height:4.5rem;padding:.5rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border-subtle)}
.sou-app .topbar .context{color:var(--secondary);font-size:.8125rem}
.sou-app .sidebar{background:var(--surface);padding:.75rem;border-right:1px solid var(--border-subtle)}
.sou-app .sidebar nav{display:grid;gap:1rem}
.sou-app .nav-group{display:grid;gap:.125rem;min-width:0}
.sou-app .nav-group button{width:100%}
.sou-app .nav-group button span{min-width:0}
.sou-app .sidebar button.navigation-toggle{display:none}
.sou-app .sidebar a,.sou-app .sidebar button{display:flex;align-items:center;text-align:left;text-decoration:none;color:var(--secondary);border:0;border-left:3px solid transparent;border-radius:4px;padding:.5rem .75rem;min-height:2.5rem;background:transparent;font-size:.8125rem}
.sou-app .sidebar .active{background:var(--accent-subtle);border-left-color:var(--accent);color:var(--text);font-weight:600}
.sou-app .shell-body{display:grid;grid-template-columns:192px minmax(0,1fr);min-height:calc(100vh - 3.5rem)}
.sou-app main{padding:1.5rem;min-width:0}
/* Keep desktop chrome outside the workspace scroll container. */
.sou-app .desktop-shell{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.sou-app .desktop-shell>.shell-body{min-height:0;overflow:hidden}
.sou-app .desktop-shell>.shell-body>main{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.sou-app .desktop-shell>.shell-body>.sidebar{min-height:0;overflow:auto}
@media(max-width:767px){.sou-app .desktop-shell>.shell-body{grid-template-rows:auto minmax(0,1fr)}}
.sou-app .info{min-width:0}
.sou-app .emblem{display:block;width:320px;max-width:100%;height:auto;margin:2rem auto}
.sou-app .info figure{margin:0;padding:1rem 0}
.sou-app .status-success{color:var(--success)}
.sou-app .status-warning{color:var(--warning)}
.sou-app .status-danger{color:var(--danger)}
.sou-app .status-neutral{color:var(--muted)}
.sou-app .status-label{font-weight:600;font-variant-numeric:tabular-nums}
.sou-app #blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:2px solid var(--danger);color:var(--text);padding:1rem;z-index:100}
@media(max-width:1000px){.sou-app .stats{grid-template-columns:1fr}}
@media(max-width:767px){.sou-app .shell-body{grid-template-columns:1fr}.sou-app .sidebar{border-right:0;border-bottom:1px solid var(--border-subtle);padding:.5rem 1rem}.sou-app .sidebar nav{display:flex;flex-wrap:wrap}.sou-app main{padding:1rem}.sou-app .topbar{padding:.75rem 1rem;gap:.75rem}.sou-app .actions button{flex:1 1 12rem}}
@media(pointer:coarse){.sou-app{--control-height:2.75rem}}
@media(prefers-reduced-motion:reduce){.sou-app *{transition:none!important;animation:none!important}}
@media(forced-colors:active){.sou-app button,.sou-app input,.sou-app select,.sou-app textarea{border-color:ButtonText}.sou-app .sidebar .active{border-color:Highlight}.sou-app :focus-visible{outline-color:Highlight}}

/* Operational workspace: relationships are rows, not unrelated metric cards. */
.sou-app .work-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.sou-app .work-heading h1{margin:0}
.sou-app .work-heading button{min-width:0}
.sou-app .work-panel{border:0;border-top:1px solid var(--border-subtle);border-radius:0;background:transparent;margin-bottom:1.5rem;min-width:0}
.sou-app .connection-row{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr) minmax(12rem,auto);align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .connection-row:last-child{border-bottom:0}
.sou-app .connection-row h2,.sou-app .panel-heading h2{font-size:1rem;line-height:1.5rem;margin:0}
.sou-app .support{color:var(--muted);font-size:.8125rem;line-height:1.25rem;overflow-wrap:anywhere}
.sou-app .row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;gap:.5rem}
.sou-app .row-actions button{min-width:0}
.sou-app .panel-heading{display:flex;align-items:center;justify-content:space-between;padding:1rem 0 .5rem;gap:1rem}
.sou-app .match-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:.5rem 0 1rem;gap:1.5rem}
.sou-app .match-facts dt{color:var(--muted);font-size:.8125rem;margin-bottom:.5rem}
.sou-app .match-facts dd{font-size:1.125rem;font-weight:600;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sou-app .empty-state{padding:1.5rem 0;margin:0;color:var(--muted)}
.sou-app .setup>summary{padding:.75rem 0;font-weight:600}
.sou-app .setup-content{padding:0 0 1rem}
.sou-app .setup-content>h2:not(:first-child){border-top:1px solid var(--border-subtle);padding-top:1rem;margin-top:1.5rem}
.sou-app .setup pre{max-height:28rem;overflow:auto}
.sou-app .operation-message{border-left:2px solid var(--info);padding:.5rem 1rem;margin:1rem 0}
@media(max-width:1100px){.sou-app .connection-row{grid-template-columns:minmax(9rem,1fr) minmax(9rem,1fr)}.sou-app .row-actions{grid-column:1/-1;justify-content:flex-start}.sou-app .match-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.sou-app .connection-row{grid-template-columns:1fr;gap:.75rem}.sou-app .row-actions button{min-width:0;width:100%}.sou-app .match-facts{grid-template-columns:1fr 1fr;gap:1rem}.sou-app .work-heading button{width:100%}}

.sou-app .cast-management{min-width:0}

.sou-app .cast-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;padding:1rem 0;border-bottom:1px solid var(--border-subtle);margin-bottom:1rem}
.sou-app .cast-management label{display:flex;flex-direction:column;gap:.4rem;max-width:100%;font-size:.875rem}
.sou-app .cast-management label.coach-check{flex-direction:row;align-items:center;min-height:var(--control-height);gap:.5rem;cursor:pointer}
.sou-app .coach-check input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--accent);flex:none}

.sou-app input[type=file]{width:100%;max-width:32rem}
.sou-app .cast-preview{width:48px;height:48px;object-fit:contain}
.sou-app .cast-list-entry{padding:1rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .cast-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sou-app .cast-list-entry h2{border:0;padding:0;margin:0 0 .4rem}
.sou-app .cast-list-entry small{color:var(--secondary);font-weight:400;margin-left:.6rem}
.sou-app .cast-roster{list-style:none;margin:.7rem 0 0;padding:0 0 0 1rem}
.sou-app .cast-roster li{display:flex;gap:1rem;flex-wrap:wrap;padding:.3rem 0}
.sou-app .cast-editor{padding:1.5rem;width:100%;box-sizing:border-box;overflow:auto;height:100vh;display:flex;flex-direction:column}
.sou-app .cast-editor>*{flex-shrink:0}
.sou-app .cast-editor>.editor-fields{flex:1 0 auto}
.sou-app .cast-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;align-items:end}
.sou-app .cast-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:sticky;bottom:-1.5rem;padding:1rem 0;background:var(--canvas);border-top:1px solid var(--border-subtle);margin-top:2rem;flex-wrap:wrap;z-index:4}
.sou-app .cast-editor-actions>.actions{margin:0 0 0 auto}
/* Shared collection controls; wrapping depends on available workspace width. */

.sou-app .data-list{min-width:0;container-type:inline-size}
.sou-app .list-toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.5rem .75rem;padding:0 0 .5rem}
.sou-app .list-toolbar label{margin:0;min-width:0;font-size:.8125rem}
.sou-app label.list-search{position:relative;display:flex;flex-direction:row;align-items:center;flex:0 1 24rem;max-width:100%}
.sou-app .list-search>.sou-icon{position:absolute;left:.75rem;margin:0;color:var(--muted)}
.sou-app .list-search input{padding-left:2.4rem;width:100%}
.sou-app .list-options{min-width:0;max-width:100%;font-size:.8125rem}
.sou-app .list-options>summary{padding:.5rem .65rem;min-height:var(--control-height);color:var(--secondary)}
.sou-app .list-options-fields{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem .65rem .75rem;border-bottom:1px solid var(--border-subtle)}
.sou-app .list-options-fields label{flex:1 1 9rem}
.sou-app .list-options-active{color:var(--text);font-weight:600}
.sou-app button.list-tools-toggle{min-height:2rem;padding:.25rem 0;font-size:.8125rem;margin:0 0 .5rem}
.sou-app .list-count{font-size:.75rem;margin:.25rem 0 .65rem;color:var(--muted)}
.sou-app .list-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}
.sou-app .list-summary .list-count{margin:0}
.sou-app .list-page-shortcuts{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--secondary)}
.sou-app .list-page-shortcuts button{min-height:2rem;padding:.3rem .5rem}
.sou-app .list-item{min-width:0;overflow-wrap:anywhere}
.sou-app .list-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-subtle);font-size:.8125rem}
.sou-app .list-pagination label{display:flex;align-items:center;gap:.5rem;margin:0}
.sou-app .list-pagination select{width:auto}
.sou-app .list-pagination nav{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.sou-app .list-pagination span{font-variant-numeric:tabular-nums}

.sou-app .data-list .row-actions button{min-width:0;flex:0 1 auto}
.sou-app .cast-list-heading>div:first-child{flex:1 1 16rem;min-width:0}
.sou-app .cast-list-heading>.row-actions{flex:0 1 auto}
.sou-app .data-list .connection-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.sou-app .data-list .connection-row>.support{grid-column:1}
.sou-app .data-list .connection-row>.row-actions{grid-column:2;grid-row:1/3}
.sou-app .roster-details{margin-top:.5rem}
.sou-app .player-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}
@container(max-width:600px){.sou-app .data-list .connection-row{display:flex;flex-direction:column;align-items:stretch}.sou-app .cast-list-heading>.row-actions{flex:1 1 100%}.sou-app .list-pagination nav{width:100%}.sou-app .row-actions{justify-content:flex-start}}

/* Pick/Ban is a spatial selection surface, not a paginated management list. */
.sou-app .veto-team-picker{display:flex;flex-wrap:wrap;gap:.5rem}
.sou-app .veto-team-picker button{flex:1 1 10rem;min-width:0;border-left:3px solid transparent}
.sou-app .veto-team-picker button.selected{border-left-color:var(--accent);background:var(--raised);font-weight:700}
.sou-app .veto-guidance{margin:.75rem 0 .25rem}
.sou-app .veto-status{min-height:2.75rem;color:var(--secondary);font-size:.8125rem;padding:.25rem 0 .75rem}
.sou-app .veto-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.75rem}
.sou-app .veto-map{min-width:0;border:1px solid var(--border-subtle);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}
.sou-app .veto-map-name{font-size:1rem;overflow-wrap:anywhere}
.sou-app .veto-map-state{min-height:3rem;overflow-wrap:anywhere;color:var(--secondary)}
.sou-app .veto-map-state small{display:block}
.sou-app .veto-map.assigned{background:var(--surface)}
.sou-app .veto-map-actions{display:flex;gap:.35rem;margin-top:auto;flex-wrap:wrap}
.sou-app .veto-map-actions button{flex:1 1 auto;min-width:0;padding:.4rem .5rem}
.sou-app .veto-play-order{display:flex;flex-wrap:wrap;gap:.5rem}
.sou-app .veto-play-order .player-summary{flex:1 1 12rem;min-width:0;align-items:center}
.sou-app .veto-details{margin-top:1rem;border-top:1px solid var(--border-subtle)}
/* Map artwork is decorative; text and controls remain on sharp foreground layers. */
.sou-app .veto-map{position:relative;isolation:isolate;overflow:hidden;min-height:205px;background:var(--surface)}
.sou-app .veto-map-backdrop{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);object-fit:cover;filter:blur(3px);opacity:.28;z-index:-1;pointer-events:none}
.sou-app .map-identity{display:flex;align-items:center;gap:.75rem;min-width:0}
.sou-app .map-identity>div{min-width:0;overflow-wrap:anywhere}
.sou-app .map-logo{width:56px;height:56px;object-fit:contain;flex:0 0 56px}
.sou-app .veto-map .map-identity{min-height:56px}
.sou-app .veto-map-state{color:var(--text)}
.sou-app .veto-map-actions button{background:var(--surface)}
.sou-app .map-art-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.5rem;margin-block:1rem}
.sou-app .map-art-editor section{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.sou-app .map-art-editor h2{margin:0}
.sou-app .map-art-editor input[type=file]{max-width:100%;min-width:0}
.sou-app .map-art-editor label{width:100%;min-width:0}
.sou-app .map-logo-preview{height:150px;width:100%;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border-subtle)}
.sou-app .map-logo-preview img{max-width:90%;max-height:128px;object-fit:contain}
.sou-app .map-background-preview{width:100%;height:150px;object-fit:cover;border:1px solid var(--border-subtle)}
/* Keep choice labels independent of the column layout used by form fields. */
.sou-app .cast-management label.pool-name-field{width:100%;max-width:36rem}
.sou-app .pool-map-picker{width:100%;min-width:0}
.sou-app .pool-map-picker .list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:.5rem}
.sou-app .cast-management label.pool-map-option{display:grid;grid-template-columns:20px 48px minmax(0,1fr);align-items:center;gap:.75rem;flex-direction:row;margin:0;padding:.75rem;min-height:80px;height:100%;box-sizing:border-box;border:1px solid var(--border-subtle);border-left:3px solid transparent;cursor:pointer;text-align:left}
.sou-app .pool-map-option:hover{background:var(--surface)}
.sou-app .cast-management label.pool-map-option.selected{border-left-color:var(--accent);background:var(--raised)}
.sou-app .pool-map-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.sou-app .pool-map-option input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--accent)}
.sou-app .pool-map-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center}
.sou-app .pool-map-logo .map-logo{width:48px;height:48px;flex-basis:48px}
.sou-app .pool-map-text{min-width:0;overflow-wrap:anywhere}
.sou-app .pool-map-text strong{display:block;color:var(--text)}
.sou-app .pool-map-text small{display:block;color:var(--secondary)}

.sou-app .veto-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.sou-app .veto-map-actions button{white-space:normal;overflow-wrap:anywhere}
.sou-app .veto-map-actions button span{display:block;font-size:.75rem;font-weight:400;color:var(--secondary)}
.sou-app .veto-map-actions button strong{display:block}
.sou-app .veto-map-actions .veto-decider,.sou-app .veto-map-actions>button:only-child{grid-column:1/-1}
/* Local Tabler outline symbols inherit text color; labels remain accessible. */
.sou-app .sou-icon{display:inline-block;width:1.125rem;height:1.125rem;flex:0 0 auto;vertical-align:-.2em;margin-inline-end:.4rem;pointer-events:none}
.sou-app button.icon-only>.sou-icon{margin-inline-end:0}
.sou-app .sidebar button .sou-icon{width:1.25rem;height:1.25rem;margin-inline-end:.65rem}
.sou-app .veto-map-actions button strong .sou-icon{width:1rem;height:1rem}
.sou-app .map-result-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(3,minmax(110px,1fr));gap:.75rem;align-items:center;border-top:1px solid var(--border-subtle);padding:1rem 0}
.sou-app .map-result-row label{margin:0;min-width:0}
@media(max-width:700px){.sou-app .map-result-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sou-app .map-result-row>strong{grid-column:1/-1}}

/* Package-defined HUD controls share the manager's neutral form styling. */
.hud-panel-editor { min-height:100%; }
.hud-panel-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; padding: 24px 0; }
.hud-panel-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.hud-panel-field input:not([type=checkbox]), .hud-panel-field select { width: 100%; min-width: 0; }
.sou-app label.hud-panel-check { display: flex; align-items: center; gap: 10px; min-height:var(--control-height); padding-top:1.5rem; }
.hud-panel-check input { flex: 0 0 auto; }
.hud-panel-images { display: flex; flex-wrap: wrap; gap: 12px; }
.hud-panel-images > div { display: flex; flex-direction: column; gap: 6px; }
.hud-panel-images img { width: 100px; height: 72px; object-fit: contain; background: var(--surface); }
.hud-panel-footer { position: sticky; bottom: 0; padding: 16px 0; background: var(--canvas); border-top: 1px solid var(--border-subtle); flex-wrap: wrap; }

/* Observer by yaibo follows the shared manager surface and control styles. */
.yaibo-settings { display: flex; flex-wrap: wrap; gap: 16px; margin: 12px 0; border: 0; padding: 0; }
.yaibo-settings label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.yaibo-settings input[type="checkbox"] { width: auto; }
.yaibo-settings input[type="number"] { max-width: 130px; }

/* Yaibo: one operating action, compact readiness, secondary setup on demand. */
.sou-app .yaibo-page { min-width:0; }
.sou-app .yaibo-operation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:16px 0; }
.sou-app .yaibo-operation-copy { flex:1 1 280px; min-width:0; }
.sou-app .yaibo-operation h2 { font-size:20px; line-height:1.4; margin:6px 0; }
.sou-app .yaibo-operation p { margin:0; }
.sou-app .yaibo-eyebrow { color:var(--secondary); font-size:13px; }
.sou-app .yaibo-feedback { margin:0 0 16px; overflow-wrap:anywhere; }
.sou-app .yaibo-readiness { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:16px 0; border-block:1px solid var(--border-subtle); }
.sou-app .yaibo-readiness div { display:flex; flex-direction:column; gap:4px; }
.sou-app .yaibo-readiness span { font-size:13px; color:var(--secondary); }
.sou-app .yaibo-readiness strong { font-weight:500; }
.sou-app .yaibo-cameras { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
.sou-app label.yaibo-camera { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; margin:0; border-bottom:1px solid var(--border-subtle); cursor:pointer; }
.sou-app .yaibo-camera strong,.sou-app .yaibo-camera small { display:block; }
.sou-app .yaibo-camera strong { font-weight:500; }
.sou-app .yaibo-camera small { color:var(--secondary); margin-top:4px; }
.sou-app .yaibo-switch { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.sou-app .yaibo-switch input[type=checkbox] { appearance:none; width:38px; height:22px; min-height:0; padding:0; margin:0; border-radius:20px; border:1px solid var(--border-control); background:var(--surface); cursor:pointer; }
.sou-app .yaibo-switch input:before { content:""; display:block; width:14px; height:14px; margin:3px; background:var(--secondary); border-radius:50%; }
.sou-app .yaibo-switch input:checked { border-color:var(--accent); }
.sou-app .yaibo-switch input:checked:before { background:var(--accent); transform:translateX(16px); }
.sou-app .yaibo-switch input:disabled { opacity:.5; cursor:wait; }
.sou-app .yaibo-switch>span { min-width:24px; font-size:13px; }
.sou-app .yaibo-details summary { cursor:pointer; font-weight:500; padding:8px 0; }
.sou-app .yaibo-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:16px 0; margin:0; border:0; }
.sou-app .yaibo-fields label,.sou-app .yaibo-path { display:flex; flex-direction:column; gap:6px; min-width:0; }
.sou-app .yaibo-fields input { width:100%; max-width:220px; box-sizing:border-box; }
.sou-app .yaibo-advanced { margin-bottom:16px; }
.sou-app .yaibo-path { margin:16px 0; }
.sou-app .yaibo-account-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-top:16px; }
.sou-app .yaibo-login { padding:16px 0; border-top:1px solid var(--border-subtle); }
.sou-app .yaibo-login p { overflow-wrap:anywhere; }
.sou-app .yaibo-code { font-size:22px; letter-spacing:.12em; padding-right:12px; }
@media(max-width:640px) { .sou-app .yaibo-cameras,.sou-app .yaibo-fields { grid-template-columns:1fr; } .sou-app .yaibo-readiness { gap:12px; grid-template-columns:1fr; } .sou-app .yaibo-readiness div { flex-direction:row; justify-content:space-between; gap:12px; } }
@media(forced-colors:active) { .sou-app .yaibo-switch input[type=checkbox] { appearance:auto; } .sou-app .yaibo-switch input:before { display:none; } }
.sou-app .hud-identity{display:flex;align-items:center;gap:.75rem;min-width:0}.sou-app .hud-identity img{width:56px;height:56px;object-fit:contain;flex-shrink:0}.sou-app .hud-identity>div{min-width:0;overflow-wrap:anywhere}
/* Launch settings and configuration library are adjacent tasks. */
.sou-app .launcher-page{min-width:0;container-type:inline-size}
.sou-app .launcher-layout{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr);gap:3rem;align-items:start}
.sou-app .launcher-start{min-width:0}
.sou-app .launcher-start>h2{margin:0 0 1.25rem}
.sou-app .launcher-form,.sou-app .launcher-configs{border:0;padding:0;margin:0;min-width:0}
.sou-app .launcher-configs{padding-left:2rem;border-left:1px solid var(--border-subtle)}
.sou-app .launcher-field{display:grid;gap:.5rem;margin:0 0 1.1rem}
.sou-app .launcher-field>label{margin:0}
.sou-app .launcher-path-entry{display:flex;align-items:center;gap:.5rem;min-width:0}
.sou-app .launcher-path-entry input{flex:1;min-width:0}
.sou-app .launcher-path-entry button{flex:none}
.sou-app label.launcher-check{display:flex;align-items:center;gap:.65rem;margin:.5rem 0;min-height:2rem;cursor:pointer}
.sou-app .launcher-check input[type=checkbox]{margin:0;padding:0;flex:none}
.sou-app .launcher-draft-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.sou-app .launcher-draft-actions .actions{margin:0}
.sou-app .launcher-start-actions{margin:1.5rem 0}
.sou-app .launcher-start-actions>.primary{min-width:13rem}
.sou-app .launcher-start-actions>.support{margin:.75rem 0;max-width:32rem}
.sou-app .launcher-advanced{border-top:1px solid var(--border-subtle);padding-top:.5rem;margin-top:1.25rem}
.sou-app .launcher-advanced>summary{font-size:.8125rem;color:var(--secondary)}
.sou-app .startup-config-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;flex-wrap:wrap}
.sou-app .startup-config-heading h2{margin:0}
.sou-app .startup-config-heading button{font-size:.8125rem;min-height:2.25rem}
.sou-app .startup-config-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.75rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .startup-config-row>strong{font-weight:500}
.sou-app .startup-config-row .row-actions{gap:.6rem}
.sou-app .startup-config-row button{font-size:.8125rem;min-height:2.25rem}
.sou-app .config-selection{color:var(--muted);font-size:.75rem}
.sou-app .startup-config-editor>label{margin:0 0 1rem}
.sou-app .startup-config-editor textarea{width:100%;min-height:20rem;resize:vertical;font:.8125rem/1.6 Consolas,monospace;tab-size:4}
.sou-app .startup-config-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sou-app .startup-config-actions .actions{margin:0}
@container(max-width:780px){.sou-app .launcher-layout,.sou-app .launcher-layout.is-editing-config{grid-template-columns:1fr;gap:2rem}.sou-app .launcher-configs{padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--border-subtle)}}
.sou-app .match-import{min-width:0}
.sou-app .match-import summary{cursor:pointer;font-weight:600}
.sou-app .match-import fieldset:not(.form-section){border:0;padding:0;margin:0;min-width:0}
.sou-app .import-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin:1rem 0}
.sou-app .cast-management label.import-check,.sou-app .match-import label.import-check{flex-direction:row;align-items:center}
.sou-app .match-import p{overflow-wrap:anywhere}

/* Active match is an immediate control surface; retain the shared veto behavior. */
.sou-app .active-match-settings{display:flex;align-items:start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.sou-app .match-details-grid{align-items:start}
.sou-app .active-match-settings label{margin:0;min-width:130px;flex:1}
.sou-app .active-match-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.sou-app .active-match-heading>strong{font-size:1.6rem;white-space:nowrap}
.sou-app .active-sides,.sou-app .active-import{padding:.75rem 0;border-bottom:1px solid var(--border-subtle);margin-bottom:.75rem}
.sou-app .active-sides .row-actions{flex-wrap:wrap;gap:1rem}
.sou-app .active-match .veto-map-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:.45rem}
.sou-app .active-match .veto-map{padding:.6rem;min-height:0}
.sou-app .active-match .map-identity{min-height:32px;gap:.4rem}
.sou-app .active-match .map-logo{width:32px;height:32px}
.sou-app .active-match .veto-map-actions{gap:.25rem}
.sou-app .active-match .veto-map-actions button{padding:.25rem;font-size:.8rem}
.sou-app .active-match .veto-map-actions button span{font-size:.7rem}
.sou-app .active-match .veto-play-order{display:flex;flex-wrap:wrap;gap:.5rem}
.sou-app .active-match .veto-play-order .player-summary{gap:.5rem;flex:1 1 180px}

.sou-app .data-list .hud-subview-row{margin-left:1.5rem}
.sou-app .hud-subview-row h3{margin:0;font-size:.95rem;font-weight:600}

.sou-app .competition-detail{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle,#3b3b3b)}
.sou-app .competition-picker{min-width:0;border:0;border-top:1px solid var(--border-subtle,#3b3b3b);padding:1rem 0;margin:1rem 0}
.sou-app .competition-picker legend{font-weight:600;padding:0 .5rem 0 0}
.sou-app .competition-detail .cast-list-heading>div:first-child{min-width:0;overflow-wrap:anywhere}
.sou-app .competition-picker select{max-width:100%;min-width:0}

/* Competition navigation: one scope and one collection at a time. */
.sou-app .competition-management{min-width:0}
.sou-app .competition-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex-shrink:0}
.sou-app .competition-actions button{min-width:0}
.sou-app .competition-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .4rem;margin:0 0 1.25rem;color:var(--muted);font-size:.8125rem}
.sou-app .competition-breadcrumb button{border:0;background:transparent;min-height:2rem;padding:.25rem .35rem;color:var(--secondary);text-align:left;overflow-wrap:anywhere}
.sou-app .competition-breadcrumb button[aria-current=page]{color:var(--text);font-weight:600}
.sou-app .competition-content-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sou-app .competition-content-heading h2{font-size:1rem;margin:0}
.sou-app .competition-content-heading p{font-size:.8125rem;color:var(--muted);margin:.3rem 0 0}
.sou-app .competition-entry{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;padding:1rem .5rem}
.sou-app .competition-entry-name{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1;overflow-wrap:anywhere}
.sou-app .competition-entry-name strong{font-weight:600;color:var(--text)}
.sou-app .competition-entry-name small{font-size:.8125rem;font-weight:400;color:var(--muted)}
.sou-app .competition-entry-count{font-size:.8125rem;color:var(--secondary);white-space:nowrap;font-variant-numeric:tabular-nums}
.sou-app .competition-entry>.sou-icon{margin:0;color:var(--muted)}
.sou-app .competition-match{display:flex;align-items:center;gap:1rem;padding:1rem .5rem;border-bottom:1px solid var(--border-subtle)}
.sou-app .competition-active{margin-left:.75rem;color:var(--secondary)}
.sou-app .competition-more{position:relative}
.sou-app .competition-more summary{min-height:var(--control-height);padding:.5rem .75rem;color:var(--secondary)}
.sou-app .competition-more[open]>button{position:absolute;right:0;top:100%;z-index:5;min-width:12rem;background:var(--surface);text-align:left}
.sou-app .competition-confirm{padding:1rem 0;margin-bottom:1rem;border-block:1px solid var(--border-subtle)}
.sou-app .competition-confirm p{margin:0 0 .75rem}
.sou-app .competition-management .list-toolbar{gap:.75rem}
@media(max-width:700px){.sou-app .competition-match{align-items:flex-start;flex-direction:column}.sou-app .competition-actions{flex-shrink:1}.sou-app .competition-entry{gap:.5rem}.sou-app .competition-content-heading{align-items:flex-start}.sou-app .competition-management .competition-content-heading>.competition-actions{width:100%}}

/* Wettbewerbslogos: lokale Bilder ohne zusätzliche Kartenfläche. */
.competition-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.competition-logo { width: 48px; height: 48px; object-fit: contain; flex-shrink: 0; }
.competition-entry .competition-logo { width: 40px; height: 40px; }
.competition-logo-editor { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px; margin: 24px 0; }
.competition-logo-editor > img { width: 96px; height: 96px; object-fit: contain; }
.competition-logo-editor > div { flex: 1 1 240px; min-width: 0; }
.competition-logo-editor label { margin: 0; }

.competition-sponsors-editor { margin: 24px 0; }
.competition-sponsor-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.competition-sponsor-row > img { width: 72px; height: 72px; object-fit: contain; flex-shrink: 0; }
.competition-sponsor-row > label { flex: 1 1 180px; min-width: 0; }
.competition-sponsor-row input { max-width: 100%; }
.sou-app .cloud-management{min-width:0}
.sou-app .cloud-content{padding:0;margin:0;border:0;min-width:0}
.sou-app .cloud-content textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-control);border-radius:4px;padding:.6rem .75rem;width:100%;max-width:48rem;min-height:5rem;resize:vertical}
.sou-app .cloud-content>h2{margin:1.5rem 0 .75rem;padding:0;border:0;font-size:1rem}
.sou-app .cloud-content>h2:first-child{margin-top:0}
.sou-app .cloud-content>h3{margin-top:1.75rem}
.sou-app .cloud-content>p{max-width:52rem}
.sou-app .cloud-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.sou-app .cloud-section-heading h2{margin:0;border:0;padding:0;font-size:1.125rem}
.sou-app .cloud-section-heading p{margin:.3rem 0 0}
.sou-app .cloud-disclosure{padding:1rem 0;border-top:1px solid var(--border-subtle)}
.sou-app .cloud-disclosure>summary{padding:.25rem 0;font-weight:500;min-height:2rem}
.sou-app .cloud-disclosure[open]>summary{margin-bottom:.75rem}
.sou-app .cloud-disclosure>label{max-width:32rem}
.sou-app .cloud-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1rem 0;max-width:64rem}
.sou-app .cloud-form label{display:grid;gap:.4rem;flex:1 1 14rem;margin:0;min-width:0}
.sou-app .cloud-form button{flex:0 0 auto}
.sou-app .cloud-management .list-item{padding:1rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .cloud-management .list-item h2{font-size:1rem;border:0;padding:0;margin:0 0 .4rem}
.sou-app .cloud-management .list-item p{margin:.4rem 0 .75rem}
.sou-app .cloud-management .list-item>button{margin:.25rem .5rem .25rem 0}
.sou-app .cloud-management .list-item>p>button{margin:.25rem 0 .25rem .5rem}
.sou-app .cloud-management .text-action{border:0;background:transparent;padding-left:0;margin-bottom:1rem;color:var(--secondary)}
.sou-app .organization-context{justify-content:space-between;gap:1rem;margin:0 0 1rem}
.sou-app .organization-tabs{margin-bottom:1.5rem}
.sou-app .cloud-section-heading h3{margin:0;font-size:1rem}
.sou-app .organization-location{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0 0 .75rem}
.sou-app .organization-location .text-action{margin:0}
.sou-app .organization-location h2{margin:0;padding:0;border:0;font-size:1.125rem}
.sou-app .organization-location p{margin:0 0 0 auto;color:var(--secondary);font-size:.8125rem}
.sou-app .organization-location>span{color:var(--muted)}
.sou-app .organization-member-row{display:grid;grid-template-columns:minmax(12rem,1fr) 12rem 12rem 9rem;gap:1.5rem;align-items:center}
.sou-app .organization-member-identity{min-width:0}
.sou-app .organization-member-identity h3{margin:0;font-size:.9375rem;overflow-wrap:anywhere}
.sou-app .organization-member-identity p{margin:.25rem 0 0}
.sou-app .cloud-management label.organization-member-role{display:grid;gap:.35rem;margin:0;color:var(--secondary);font-size:.8125rem}
.sou-app .cloud-management label.organization-member-publisher{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin:0;font-size:.875rem}
.sou-app .organization-member-publisher input{width:1.1rem;height:1.1rem;flex:0 0 auto}
.sou-app .workspace-member-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(10rem,14rem) minmax(12rem,1fr);gap:1.5rem;align-items:center}
.sou-app .cloud-management .workspace-member-row>p{margin:0}
.sou-app .member-actions{justify-self:end;position:relative}
.sou-app .member-actions summary{color:var(--secondary);min-height:var(--control-height);padding:.5rem 0}
.sou-app .member-actions[open]{min-width:12rem}
.sou-app .member-actions .actions{margin:.5rem 0 0}
@media(max-width:1100px){.sou-app .organization-member-row{grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr);gap:1rem}.sou-app .member-actions{justify-self:start}.sou-app .workspace-member-row{grid-template-columns:minmax(10rem,1fr) minmax(10rem,14rem)}.sou-app .workspace-member-row>p{grid-column:1/-1}}
@media(max-width:600px){.sou-app :is(.organization-member-row,.workspace-member-row){grid-template-columns:minmax(0,1fr)}.sou-app .organization-member-role{max-width:24rem}}
.sou-app .cloud-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.sou-app .cloud-compare pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem;overflow:auto}
.sou-app main.cloud-login{width:min(100%,34rem);margin:0 auto;padding:clamp(3rem,15vh,10rem) 2rem 2rem}
.sou-app .cloud-login>img{display:block;margin-bottom:1.75rem}
.sou-app .cloud-login h1{margin-bottom:.75rem}
.sou-app .cloud-login p{line-height:1.65}
.sou-app .cloud-login .actions{margin:1.5rem 0 2rem;gap:.75rem}
.sou-app .login-help{border-top:1px solid var(--border-subtle);padding-top:.75rem;font-size:.8125rem;color:var(--secondary)}
.sou-app .login-updates{margin-top:1rem;border-top:1px solid var(--border-subtle);padding-top:.75rem;font-size:.8125rem;color:var(--secondary)}
.sou-app .login-updates summary{overflow-wrap:anywhere}
.sou-app .login-updates summary span{margin-left:.75rem;color:var(--muted)}
.sou-app .login-updates .actions{margin:1rem 0 0;flex-wrap:wrap}
.sou-app .login-updates button{white-space:normal}
@media(forced-colors:active){.sou-app .view-tabs .active{border-bottom-color:Highlight}.sou-app .status-dot{background:CanvasText}}

/* Layout primitives. All manager pages share these; no page-specific width/offset. */
.sou-app [hidden]{display:none!important}
.sou-app h3{font-size:.9375rem;line-height:1.4;font-weight:600;margin:0 0 .5rem}
.sou-app .page-content{width:100%;min-width:0;container:workspace / inline-size}
.sou-app .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:0;padding:0 0 1.25rem;margin:0 0 1.5rem;border-bottom:1px solid var(--border-subtle)}
.sou-app .page-header-identity{display:flex;align-items:center;gap:1rem;min-width:0;flex:1}
.sou-app .page-header-copy{min-width:0}
.sou-app .page-header h1{font-size:1.5625rem;line-height:1.25;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.sou-app .page-header p{font-size:.8125rem;line-height:1.25rem;color:var(--muted);margin:.25rem 0 0}
.sou-app .page-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;flex:0 1 auto}
.sou-app .workspace-picker{display:grid;gap:.25rem;flex:0 1 22rem;min-width:0;margin:0;font-size:.75rem}
.sou-app .workspace-picker select{font-size:.875rem}
.sou-app .sync-summary{margin-left:auto;display:flex;align-items:center;gap:.5rem;border-color:transparent;background:transparent;font-size:.8125rem;color:var(--secondary);text-align:left;min-width:0}
.sou-app .status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--muted);flex:none}
.sou-app .status-dot.online{background:var(--success)}
.sou-app .status-dot.offline{background:var(--warning)}
.sou-app .sidebar .nav-heading{font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:.25rem .85rem .4rem}
.sou-app .view-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1.5rem;border-bottom:1px solid var(--border-subtle)}
.sou-app .view-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:.65rem .85rem;color:var(--secondary)}
.sou-app .view-tabs :is(.active,.selected){border-bottom-color:var(--accent);color:var(--text);font-weight:600}
.sou-app .view-tabs button span{margin-left:.5rem;color:var(--muted);font-size:.8125rem}
.sou-app .cast-form-grid label,.sou-app .hud-panel-fields label,.sou-app .import-fields label{margin:0}
.sou-app .actions label{margin:0;min-width:min(100%,12rem)}
.sou-app .data-list :is(h2,h3){margin:0 0 .25rem;padding:0;border:0;font-size:1rem;line-height:1.5rem}
.sou-app .data-list .list-item p{margin:.35rem 0}
.sou-app .cast-editor>h2{margin:1.5rem 0 .75rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}
@media(max-width:900px){.sou-app .page-header{align-items:flex-start;flex-wrap:wrap}.sou-app .page-header-actions{justify-content:flex-start}.sou-app .sync-summary{max-width:12rem}}
@media(max-width:767px){.sou-app .topbar{flex-wrap:wrap}.sou-app .workspace-picker{flex:1 1 12rem}.sou-app .sync-summary{flex-basis:100%;max-width:none;margin:0;padding:.25rem 0;min-height:1.75rem}.sou-app .desktop-shell>.shell-body>.sidebar{max-height:12rem}.sou-app .sidebar .desktop-navigation{display:flex;gap:1rem;flex-wrap:nowrap;align-items:flex-start}.sou-app .nav-group{flex:1 0 11rem}.sou-app .sidebar .nav-heading{margin:.25rem .75rem}.sou-app .page-header{min-height:0}.sou-app .page-header-identity{flex-basis:100%}.sou-app .cloud-compare{grid-template-columns:1fr}.sou-app main.cloud-login{padding:2rem 1rem}}

/* Shared feedback, action hierarchy and form groups. */
.sou-app .skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border-control);transform:translateY(-200%)}
.sou-app .skip-link:focus{transform:translateY(0)}
.sou-app button.button-subtle{border-color:transparent;background:transparent;color:var(--secondary)}
.sou-app button.button-subtle:hover:enabled{background:var(--raised);color:var(--text)}
.sou-app button.button-danger,.sou-app button.danger{border-color:transparent;background:transparent;color:var(--danger)}
.sou-app button.button-danger:hover:enabled,.sou-app button.danger:hover:enabled{border-color:var(--danger);background:var(--surface)}
.sou-app .error-message,.sou-app .operation-message.is-error{border-left:3px solid var(--danger);padding:.75rem 1rem;color:var(--text);background:var(--surface);margin:1rem 0}
.sou-app .operation-message.is-success{border-left-color:var(--success)}
.sou-app .operation-message.is-warning{border-left-color:var(--warning)}
.sou-app .form-section{border:0;border-top:1px solid var(--border-subtle);padding:1.25rem 0;margin:0 0 1rem;min-width:0}
.sou-app fieldset.form-section>legend{font-size:1rem;font-weight:600;padding:0 .75rem 0 0;color:var(--text)}
.sou-app .form-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.sou-app .form-section-heading :is(h2,h3){margin:0}
.sou-app .editor-fields{border:0;padding:0;margin:0;min-width:0}
.sou-app .cast-editor>.editor-fields>.form-section:first-child{border-top:0;padding-top:0}
.sou-app .page-header+.work-panel{border-top:0}
.sou-app .editor-save-state{font-size:.8125rem;color:var(--secondary);margin:0;display:flex;align-items:center;gap:.5rem}
.sou-app .inline-confirmation{margin:.75rem 0;padding:1rem;border-left:3px solid var(--warning);background:var(--surface)}
.sou-app .inline-confirmation>p:first-child{margin-top:0}
.sou-app .inline-confirmation .actions{margin-bottom:0}
.sou-app .operation-progress{padding:1rem;margin:1rem 0;border:1px solid var(--border-subtle);border-left:3px solid var(--info);background:var(--surface);min-width:0}
.sou-app .operation-progress-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}
.sou-app .operation-progress-heading p{margin:0}
.sou-app .operation-progress-meter,.sou-app .operation-progress progress{display:block;width:100%;height:.5rem;appearance:none;border:0;border-radius:2px;overflow:hidden;accent-color:var(--info);background:var(--raised)}
.sou-app .operation-progress progress::-webkit-progress-bar{background:var(--raised)}
.sou-app .operation-progress progress::-webkit-progress-value{background:var(--info)}
.sou-app .operation-progress-meter.is-indeterminate>span{display:block;width:25%;height:100%;background:var(--info);animation:sou-progress 1.6s ease-in-out infinite alternate}
@keyframes sou-progress{from{transform:translateX(0)}to{transform:translateX(300%)}}
@media(prefers-reduced-motion:reduce){.sou-app .operation-progress-meter.is-indeterminate>span{animation:none;transform:translateX(150%)}}
.sou-app .operation-progress-detail{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;color:var(--secondary);margin:.5rem 0 0;font-variant-numeric:tabular-nums}
.sou-app .import-steps{list-style:none;display:flex;flex-wrap:wrap;gap:1.5rem;padding:0;margin:0 0 1.5rem;border-bottom:1px solid var(--border-subtle)}
.sou-app .import-steps li{padding:0 0 .75rem;color:var(--muted);border-bottom:2px solid transparent}
.sou-app .import-steps li.current{color:var(--text);border-color:var(--accent);font-weight:600}
.sou-app .import-steps li.complete{color:var(--text)}
.sou-app .import-connection{margin:1rem 0;padding:1rem 0;border-top:1px solid var(--border-subtle)}
.sou-app .active-side-status{display:flex;gap:1.5rem;flex-wrap:wrap;margin:.75rem 0}
.sou-app .active-side-status>strong{flex:1 1 12rem;min-width:0}
.sou-app .segmented-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}
.sou-app .segmented-actions button{border-color:var(--border-subtle);color:var(--secondary)}
.sou-app .segmented-actions button.selected,.sou-app .segmented-actions button[aria-pressed=true]{border-color:var(--border-control);background:var(--raised);color:var(--text)}
.sou-app .hud-release-list{margin:.5rem 0 1rem 1rem;padding:1rem 0 0 1rem;border-left:2px solid var(--border-subtle)}
.sou-app .hud-release-list .cast-list-heading{padding:.75rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .hud-output-row,.sou-app .hud-overlay-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:.75rem 0}
.sou-app .hud-output-row>div:first-child{min-width:0;flex:1 1 12rem}
.sou-app .hud-output-row .row-actions{justify-content:flex-start}
.sou-app .hud-output-row h3{margin:0}
.sou-app .hud-package-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem}
.sou-app .hud-package-options{font-size:.8125rem;border-top:1px solid var(--border-subtle);padding:.25rem 0;margin-bottom:1rem}
.sou-app .hud-overlay-status{margin-top:1rem;border-top:1px solid var(--border-subtle)}
@container workspace (min-width:80rem){
    .sou-app .installed-hud-collection>.data-list>.list-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,38rem),1fr));column-gap:2rem;align-items:start}
    .sou-app .installed-hud-collection>.data-list>.list-items>.list-item{min-width:0}
}
@media(max-width:480px){.sou-app .cast-editor{padding:1rem}.sou-app .cast-editor-actions{bottom:-1rem}.sou-app .cast-editor-actions>.actions{flex:1 1 100%;margin-left:0}.sou-app .cast-editor-actions .actions button{flex:1 1 8rem}}
@media(max-width:767px){.sou-app .sidebar button.navigation-toggle{display:flex;width:100%;min-height:2.5rem}.sou-app .sidebar .desktop-navigation{display:none}.sou-app .sidebar .desktop-navigation.is-expanded{display:flex;padding-top:.5rem}.sou-app .desktop-shell>.shell-body>.sidebar{max-height:min(50vh,22rem)}}

/* Collections and detail forms use adjacent columns, not repeated full-width forms. */
.sou-app .team-list-identity>span{font-size:.8125rem;color:var(--muted)}
.sou-app .unassigned-collection{width:100%;min-width:0}
.sou-app .unassigned-player-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,18rem);align-items:center;gap:1.5rem;padding:.55rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .player-list-identity{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.sou-app .player-list-identity strong{font-weight:500}
.sou-app .player-list-identity :is(code,small){font-size:.75rem;color:var(--muted)}
.sou-app .player-team-assignment{margin:0;min-width:0}
.sou-app .player-team-assignment select{width:100%}
.sou-app .team-details-editor{max-width:60rem}
.sou-app .team-roster-layout{display:grid;grid-template-columns:minmax(16rem,20rem) minmax(0,1fr);gap:2rem;align-items:start}
.sou-app .team-roster-list{padding-right:1.5rem;border-right:1px solid var(--border-subtle);min-width:0}
.sou-app .team-roster-list .form-section-heading{gap:.5rem}
.sou-app .team-roster-list .form-section-heading button{font-size:.8125rem;min-height:2.25rem;padding:.4rem .6rem}
.sou-app .team-roster-list .list-toolbar{gap:.25rem}
.sou-app .team-roster-list .list-search{flex-basis:100%}
.sou-app .team-roster-list .list-count{margin-bottom:.5rem}
.sou-app .team-roster-list .list-pagination{gap:.5rem}
.sou-app .team-roster-list .list-pagination :is(button,select){font-size:.75rem;padding:.4rem;min-height:2rem}
.sou-app button.roster-select-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;text-align:left;background:transparent;border:0;border-left:3px solid transparent;border-radius:3px}
.sou-app button.roster-select-row.selected{background:var(--raised);border-left-color:var(--accent)}
.sou-app .roster-player-identity{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.sou-app .roster-player-identity strong{font-size:.875rem;font-weight:600}
.sou-app .roster-player-identity small{font-size:.75rem;color:var(--muted);font-weight:400}
.sou-app .roster-select-row>.sou-icon{margin:0}
.sou-app .team-player-editor{min-width:0;max-width:64rem}
.sou-app .team-player-editor>.form-section-heading{margin-bottom:1.25rem;align-items:center}
.sou-app .team-player-editor .cast-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:54rem}
.sou-app .team-player-editor .coach-check{margin:1rem 0 .5rem}
.sou-app .editor-media-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:1.25rem;margin-top:1.5rem}
.sou-app .editor-media-preview{width:96px;height:96px;object-fit:contain;flex:none}
.sou-app .editor-media-controls{min-width:0;flex:0 1 32rem}
.sou-app .editor-media-controls>label{margin:0 0 .5rem}
.sou-app .editor-media-controls input[type=file]{max-width:100%}
.sou-app .editor-media-controls .support{margin:.5rem 0}
@media(max-width:760px){.sou-app .team-roster-layout{grid-template-columns:1fr;gap:1.5rem}.sou-app .team-roster-list{padding:0 0 1rem;border-right:0;border-bottom:1px solid var(--border-subtle)}.sou-app .team-roster-list .list-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.25rem}.sou-app .team-player-editor .cast-form-grid{grid-template-columns:1fr}.sou-app .unassigned-player-row{grid-template-columns:minmax(0,1fr) minmax(10rem,14rem);gap:1rem}}
@media(max-width:450px){.sou-app .unassigned-player-row{grid-template-columns:1fr;gap:.5rem}.sou-app label.player-team-assignment{max-width:20rem}}

/* Transient feedback is outside the document flow, once per desktop/editor window. */
.sou-app .toast-region{position:fixed;inset:auto 1rem 1rem auto;z-index:80;display:flex;flex-direction:column;gap:.75rem;width:min(26rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;pointer-events:none;scrollbar-gutter:stable;padding:.2rem}
.sou-app .toast{--toast-color:var(--info);position:relative;display:grid;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:start;gap:.65rem;padding:1rem;background:var(--surface);color:var(--text);border:1px solid var(--border-control);border-left:3px solid var(--toast-color);border-radius:6px;pointer-events:auto;min-width:0;flex-shrink:0}
.sou-app .toast--success{--toast-color:var(--success)}
.sou-app .toast--warning{--toast-color:var(--warning)}
.sou-app .toast--error{--toast-color:var(--danger)}
.sou-app .toast-icon{color:var(--toast-color);display:flex;align-items:center;margin-top:.125rem}
.sou-app .toast-icon .sou-icon{margin:0;width:1.25rem;height:1.25rem;flex:none}
.sou-app .toast-body{min-width:0;overflow-wrap:anywhere}
.sou-app .toast-title{display:block;margin:0;font-size:.875rem;line-height:1.4;font-weight:600}
.sou-app .toast-text{font-size:.8125rem;line-height:1.5;margin:.3rem 0 0;color:var(--secondary);white-space:pre-line;overflow-wrap:anywhere}
.sou-app .toast-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.sou-app .toast-actions button{min-height:2rem;padding:.35rem .65rem;font-size:.8125rem}
.sou-app button.toast-dismiss{display:inline-flex;align-items:center;justify-content:center;padding:.2rem;min-height:1.75rem;width:1.75rem;border:1px solid transparent;background:transparent;color:var(--secondary);margin:-.25rem -.35rem 0 0;flex:none}
.sou-app button.toast-dismiss:hover{background:var(--raised);color:var(--text)}
.sou-app button.toast-dismiss .sou-icon{margin:0;width:1rem;height:1rem}
.sou-app .toast-lifetime{position:absolute;inset:auto 0 0;height:3px;overflow:hidden;border-radius:0 0 5px 5px;background:var(--raised);pointer-events:none}
.sou-app .toast-lifetime>span{display:block;width:100%;height:100%;background:var(--toast-color);transform-origin:left center}
.sou-app .toast :is(progress,.operation-progress-meter){margin:.75rem 0 0;display:block;width:100%;height:.375rem;border:0;border-radius:2px;overflow:hidden;accent-color:var(--info);background:var(--raised)}
.sou-app .toast progress::-webkit-progress-bar{background:var(--raised)}
.sou-app .toast progress::-webkit-progress-value{background:var(--info)}
.sou-app .toast .operation-progress-detail{margin:.45rem 0 0;font-size:.75rem;line-height:1.4}
.sou-app .sync-summary-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media(max-width:480px){.sou-app .toast-region{inset:auto .5rem .5rem auto;width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.sou-app .toast{padding:.8rem;gap:.5rem}.sou-app .toast-actions button{flex:none}}
@media(forced-colors:active){.sou-app .toast{border:1px solid CanvasText}.sou-app .toast-icon{color:CanvasText}.sou-app button.toast-dismiss{border-color:ButtonText}.sou-app .toast-lifetime{background:Canvas}.sou-app .toast-lifetime>span{background:Highlight;forced-color-adjust:none}}

/* Regie application chrome; original artwork is displayed without modifying the PNG. */
.sou-app .sou-wordmark{display:block;flex:none;width:112px;height:28px;background:url("brand/sou-wordmark-icon.png") center/112px 112px no-repeat}
.sou-app .brand-plate{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:128px;min-height:40px;padding:6px 8px;background:var(--brand-surface);border-radius:3px;text-decoration:none}
.sou-app .topbar{background:var(--surface);color:var(--text);gap:1.5rem;min-height:4.1875rem;padding:0 1.25rem 0 0}
.sou-app .brand-name{border-left:1px solid var(--border-subtle);padding-left:1.25rem;color:var(--brand-secondary);font-size:.75rem;flex-shrink:0}
.sou-app .topbar .workspace-picker{flex:0 1 18rem;gap:.2rem;font-size:.75rem;color:var(--secondary)}
.sou-app .topbar .workspace-picker select{min-height:2rem;padding:.25rem .5rem;background:var(--surface);font-size:.8125rem}
.sou-app .workspace-current{min-width:0;max-width:20rem;font-size:.8125rem;color:var(--secondary);overflow-wrap:anywhere}
.sou-app .topbar-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-left:auto;min-width:0}
.sou-app .topbar .sync-summary{margin:0;max-width:12rem;font-size:.8125rem;min-height:2.375rem;padding:.3rem .25rem;color:var(--secondary)}
.sou-app .topbar .account-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.375rem;padding:.35rem .6rem;border-color:transparent;font-size:.8125rem;flex-shrink:0;background:transparent;color:var(--text)}
.sou-app .topbar .account-shortcut .sou-icon{margin:0;width:1rem;height:1rem}
.sou-app .sidebar{padding:1.25rem .6rem .75rem}
.sou-app .sidebar .desktop-navigation{display:flex;flex-direction:column;min-height:100%;gap:1.5rem}
.sou-app .desktop-navigation>.nav-group:last-child{margin-top:auto;padding-top:.75rem}
.sou-app .sidebar .nav-heading{margin:0 .75rem .5rem;font-size:.625rem;letter-spacing:.12em}
.sou-app .sidebar button{min-height:2.375rem;border-radius:2px;padding:.5rem .65rem;font-weight:400}
.sou-app .sidebar button.active{font-weight:600}
.sou-app .sidebar button .sou-icon{width:1.0625rem;height:1.0625rem;margin-right:.5rem;flex:none}
.sou-app .desktop-statusbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 1.25rem;font-size:.6875rem;border-top:1px solid var(--border-subtle);background:var(--surface);color:var(--muted);min-width:0}
.sou-app .desktop-statusbar>span{display:flex;align-items:center;min-width:0;gap:.4rem;overflow-wrap:anywhere}
.sou-app .desktop-statusbar .sou-icon{width:.875rem;height:.875rem;margin:0;flex:none}
.sou-app .desktop-shell main{padding:1.75rem}
.sou-app .view-tabs{gap:1.5rem}
.sou-app .view-tabs button{padding:.7rem 0;font-size:.8125rem}
.sou-app .view-tabs button.active{font-weight:600}
.sou-app .login-brand{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-bottom:3rem}
.sou-app .login-brand>span:last-child{font-size:.75rem;color:var(--muted)}
.sou-app main.cloud-login{width:min(100%,38rem);padding-top:clamp(3rem,11vh,7rem)}
.sou-app .cloud-login h1{font-size:1.875rem;letter-spacing:-.03em}
.sou-app .cloud-login>.eyebrow{margin:0 0 .75rem}
.sou-app .about-brand{padding:1.5rem 0 2rem}
.sou-app .about-brand .brand-plate{padding:1.25rem}
.sou-app .about-brand .sou-wordmark{width:224px;height:56px;background-size:224px 224px}
.sou-app .about-brand p{margin:.75rem 0 0;font-size:.8125rem}
.sou-app .loading .brand-plate{margin-bottom:1.25rem}
.sou-app .toast{border-color:var(--border-subtle);border-left-color:var(--toast-color);border-radius:3px;box-shadow:0 5px 20px light-dark(#00000014,#00000038)}
.sou-app .toast-lifetime{border-radius:0 0 2px 2px}
@media(max-width:1250px){.sou-app .topbar .brand-name{display:none}}
@media(max-width:1000px){.sou-app .topbar{gap:1rem}.sou-app .shell-body{grid-template-columns:180px minmax(0,1fr)}.sou-app .desktop-shell main{padding:1.25rem}.sou-app .topbar .workspace-picker{flex-basis:16rem}}
@media(max-width:767px){.sou-app .shell-body{grid-template-columns:minmax(0,1fr)}.sou-app .topbar{padding:.6rem .75rem;gap:.5rem .75rem}.sou-app .topbar>.workspace-picker,.sou-app .topbar>.workspace-current{order:3;flex:1 1 100%;max-width:none}.sou-app .topbar .workspace-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem}.sou-app .topbar .sync-summary{flex-basis:auto;min-height:2rem;max-width:none}.sou-app .sync-summary-text{display:none}.sou-app .sidebar{padding:.4rem .75rem}.sou-app .sidebar .desktop-navigation{display:none;min-height:0;gap:1rem}.sou-app .sidebar .desktop-navigation.is-expanded{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));padding:.75rem 0}.sou-app .nav-group{flex:none}.sou-app .desktop-navigation>.nav-group:last-child{margin:0;padding:0}.sou-app .desktop-shell main{padding:1.25rem 1rem}.sou-app .desktop-statusbar{padding:.45rem .75rem}.sou-app .desktop-statusbar>span:last-child{display:none}.sou-app .page-header h1{font-size:1.375rem}.sou-app .view-tabs{gap:1rem}}
@media(max-width:400px){.sou-app .topbar-account-actions{gap:.25rem}.sou-app .topbar .account-shortcut{font-size:.6875rem;padding:.35rem .45rem}.sou-app .topbar .account-shortcut .sou-icon{display:none}.sou-app .topbar .brand-plate{min-width:120px}.sou-app .login-brand{margin-bottom:2rem}}
@media(pointer:coarse){.sou-app .topbar :is(button,select),.sou-app .sidebar button{min-height:2.75rem}}
@media(forced-colors:active){.sou-app .brand-plate,.sou-app .sou-wordmark{forced-color-adjust:none}.sou-app .topbar{color-scheme:light dark}.sou-app .sidebar button.active{border-left-color:Highlight}.sou-app .toast{border-color:CanvasText}}

/* Presentation website: Regie uses the shared product palette with editorial proportions. */
.sou-app.sou-site{--control-height:2.625rem;font-family:"Segoe UI",Arial,sans-serif;font-size:.9375rem;line-height:1.55;display:flex;flex-direction:column;min-height:100vh}
.sou-site :is(h1,h2,h3,p){margin:0}
.sou-site h1,.sou-site h2,.sou-site h3{color:var(--text)}
.sou-site p{color:var(--secondary);line-height:1.65}
.sou-site a{text-underline-offset:4px}
.sou-site .site-icon{width:1rem;height:1rem;flex:none;vertical-align:middle}
.sou-site .site-header,.sou-site .site-footer{width:calc(100% - 4rem);max-width:61rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.sou-site .site-header{min-height:5.625rem;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}
.sou-site .site-brand{display:inline-flex;align-items:center;justify-content:center;flex:none;width:9rem;height:3.125rem;border-radius:var(--radius);background:var(--brand-surface);text-decoration:none}
.sou-site .site-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:1.375rem;font-size:.8125rem}
.sou-site .site-header nav>a:not(.site-button){padding:.5rem 0;text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center}
.sou-site .site-header nav>a:hover{text-decoration:underline}
.sou-site main.site-main{width:100%;max-width:65rem;margin:0 auto;padding:0 2rem;flex:1}
.sou-site .site-kicker{font-size:.75rem;line-height:1.5;letter-spacing:.075em;text-transform:uppercase;color:var(--secondary);font-weight:600}
.sou-site .site-brand-caption{text-transform:none;letter-spacing:.025em}
.sou-site .site-intro{padding:3.875rem 0 2.375rem}
.sou-site .site-intro h1{font-size:clamp(2.5rem,7.4vw,4.5rem);line-height:1.02;font-weight:650;letter-spacing:-.065em;margin:1.25rem 0 1.5625rem;max-width:48rem}
.sou-site .site-intro h1 span{display:block}
.sou-site .site-intro-bottom{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.25rem;align-items:end}
.sou-site .site-lead{font-size:1.0625rem;line-height:1.65;max-width:32rem}
.sou-site .site-intro-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.8125rem;padding-bottom:3px}
.sou-site .support{font-size:.75rem;line-height:1.55;color:var(--secondary)}
.sou-site .site-button,.sou-site button{display:inline-flex;align-items:center;justify-content:center;gap:.5625rem;min-height:var(--control-height);padding:.625rem .9375rem;border:1px solid var(--border-control);border-radius:3px;background:var(--surface);font-size:.8125rem;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;color:var(--text)}
.sou-site .site-button:hover{background:var(--raised);text-decoration:none}
.sou-site .site-button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.sou-site .site-button.primary:hover{background:var(--accent-hover)}
.sou-site .site-button.primary:active{background:var(--accent-pressed)}
.sou-site .site-text-link{display:inline-flex;gap:.5rem;align-items:center;font-size:.8125rem;font-weight:600;text-decoration:underline}
.sou-site .site-product{margin:0;padding:.375rem 0 2.9375rem}
.sou-site .site-product figcaption,.sou-site .site-product-caption{display:flex;justify-content:space-between;gap:.75rem;font-size:.75rem;color:var(--secondary)}
.sou-site .site-product figcaption{margin-bottom:.75rem}
.sou-site .site-product-caption{padding-top:.75rem}
.sou-site .site-product-window{background:var(--surface);border:1px solid var(--border-subtle);border-radius:3px}
.sou-site .site-product-bar{display:flex;align-items:center;justify-content:space-between;gap:.9375rem;padding:.75rem 1.0625rem;border-bottom:1px solid var(--border-subtle);font-size:.6875rem;color:var(--secondary)}
.sou-site .site-product-bar>div{display:flex;align-items:center;gap:.9375rem}
.sou-site .site-product-bar .site-brand{width:6rem;height:2rem}
.sou-site .site-product-bar .sou-wordmark{width:5rem;height:1.25rem;background-size:5rem 5rem}
.sou-site .site-product-body{display:grid;grid-template-columns:7rem minmax(0,1fr);min-height:20.625rem}
.sou-site .site-product-nav{display:flex;flex-direction:column;gap:3px;padding:1.0625rem .5625rem;border-right:1px solid var(--border-subtle)}
.sou-site .site-product-nav>span{display:flex;align-items:center;gap:.5rem;padding:.625rem .5625rem;border-left:2px solid transparent;border-radius:2px;color:var(--secondary);font-size:.75rem}
.sou-site .site-product-nav .site-icon{width:.875rem;height:.875rem}
.sou-site .site-product-nav .site-product-selected{border-left-color:var(--accent);background:var(--raised);color:var(--text);font-weight:600}
.sou-site .site-product-content{padding:1.375rem;min-width:0}
.sou-site .site-product-content .site-kicker{font-size:.6875rem;letter-spacing:.04em;font-weight:400}
.sou-site .site-product-content h2{font-size:1.375rem;line-height:1.3;letter-spacing:-.025em;margin:.3125rem 0 .5rem}
.sou-site .site-product-content h2>span{font-size:.75rem;font-weight:400;color:var(--secondary);letter-spacing:0;margin:0 .375rem}
.sou-site .site-product-meta{font-size:.75rem}
.sou-site .site-product-maps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:1.375rem 0 1.0625rem;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.sou-site .site-product-maps li{padding:.8125rem .75rem;border-right:1px solid var(--border-subtle)}
.sou-site .site-product-maps li:first-child{padding-left:0}
.sou-site .site-product-maps li:last-child{border-right:0}
.sou-site .site-product-maps small{display:block;font-size:.6875rem;color:var(--secondary);margin-bottom:.375rem}
.sou-site .site-product-maps strong{font-size:.8125rem;font-weight:600}
.sou-site .site-product-output{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sou-site .site-product-output strong{font-size:.75rem;font-weight:600;display:block}
.sou-site .site-product-output span{display:block;font-size:.6875rem;color:var(--secondary);margin-top:3px}
.sou-site .site-product-output p{font-size:.75rem}
.sou-site .site-feature{border-top:1px solid var(--border-subtle);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.8125rem;padding:2.5rem 0}
.sou-site .site-feature h2{font-size:1.8125rem;line-height:1.14;font-weight:600;letter-spacing:-.04em;margin-top:.8125rem}
.sou-site .site-feature-copy>p{font-size:.9375rem;line-height:1.7}
.sou-site .site-feature-copy .site-feature-detail{display:flex;align-items:center;gap:.625rem;margin-top:1.0625rem;font-size:.75rem;color:var(--text)}
.sou-site .site-feature-detail .site-icon{color:var(--secondary)}
.sou-site .site-workflow{list-style:none;margin:1.375rem 0 0;padding:.9375rem 0;display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);font-size:.75rem;flex-wrap:wrap}
.sou-site .site-workflow li:not(:last-child)::after{content:'→';margin-left:.75rem;color:var(--secondary)}
.sou-site .site-workflow li:last-child{font-weight:600}
.sou-site .site-start{background:var(--surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:2.375rem 1.875rem;margin:.5rem 0 2.75rem}
.sou-site .site-start-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}
.sou-site .site-start h2{font-size:1.9375rem;font-weight:600;line-height:1.15;letter-spacing:-.04em;margin:.75rem 0 0}
.sou-site .site-steps{list-style:none;counter-reset:site-steps;padding:0;margin:1.75rem 0 0}
.sou-site .site-steps li{counter-increment:site-steps;display:grid;grid-template-columns:1.875rem minmax(0,1fr);column-gap:.75rem;padding:.9375rem 0;border-top:1px solid var(--border-subtle)}
.sou-site .site-steps li::before{content:counter(site-steps,decimal-leading-zero);font-size:.75rem;color:var(--secondary);padding-top:3px}
.sou-site .site-steps strong{font-size:.875rem;font-weight:600}
.sou-site .site-steps p{font-size:.8125rem;line-height:1.6;margin-top:.25rem}
.sou-site .site-faq{padding:0 0 2.5rem}
.sou-site .site-faq h2{font-size:1.4375rem;letter-spacing:-.025em;margin-bottom:1.125rem}
.sou-site .site-faq details{border-top:1px solid var(--border-subtle);padding:.4375rem 0}
.sou-site .site-faq details:last-child{border-bottom:1px solid var(--border-subtle)}
.sou-site .site-faq summary{font-size:.875rem;font-weight:500;min-height:2.75rem;padding:.5rem 0;line-height:1.8}
.sou-site .site-faq details p{font-size:.8125rem;max-width:38rem;margin:.3125rem 0 .875rem;line-height:1.65}
.sou-site .site-footer{padding:1.6875rem 0 1.875rem;border-top:1px solid var(--border-subtle);flex-wrap:wrap}
.sou-site .site-footer-brand{display:flex;align-items:center;gap:.9375rem}
.sou-site .site-footer .site-brand{width:7rem;height:2.5rem}
.sou-site .site-footer .sou-wordmark{width:5.5rem;height:1.375rem;background-size:5.5rem 5.5rem}
.sou-site .site-footer p{font-size:.6875rem}
.sou-site .site-footer nav{display:flex;gap:1.0625rem;flex-wrap:wrap;font-size:.75rem}
.sou-site .site-footer a:not(.site-brand){text-decoration:none;padding:.5rem 0}
.sou-site .site-footer a:hover{text-decoration:underline}
.sou-site .site-footer .site-footer-legal{flex-basis:100%;padding-top:.75rem;border-top:1px solid var(--border-subtle)}
.sou-site .site-footer-legal a{min-height:2.75rem;display:inline-flex;align-items:center}
html.cookie-modal-open{overflow:hidden}
.sou-site .site-cookie-notice{width:calc(100% - 2rem);max-width:39rem;max-height:calc(100dvh - 2rem);margin:auto;padding:1.75rem;border:1px solid var(--border-subtle);border-radius:5px;background:var(--surface);color:var(--text);box-shadow:0 1.5rem 5rem #0004;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
.sou-site .site-cookie-notice:not([open]){display:none}
.sou-site .site-cookie-notice::backdrop{background:rgb(10 12 14 / 65%)}
.sou-site .site-cookie-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.sou-site .site-cookie-notice h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.035em;margin:.375rem 0 0;font-weight:600}
.sou-site .site-cookie-close{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:2.75rem;min-height:2.75rem;padding:0;font-size:1.5rem;line-height:1}
.sou-site .site-cookie-notice p{font-size:.875rem;line-height:1.7;margin:0 0 1rem;color:var(--secondary)}
.sou-site .site-cookie-details{border-block:1px solid var(--border-subtle);margin:1.25rem 0}
.sou-site .site-cookie-details summary{cursor:pointer;min-height:2.75rem;align-content:center;padding:.5rem 0;font-size:.875rem;font-weight:600}
.sou-site .site-cookie-details dl{font-size:.8125rem;line-height:1.65;margin:.5rem 0 1rem}
.sou-site .site-cookie-details dl>div+div{margin-top:.875rem}
.sou-site .site-cookie-details dt{font-weight:600;margin-bottom:.125rem}
.sou-site .site-cookie-details dd{margin:0;color:var(--secondary)}
.sou-site .site-cookie-details code{font-size:.85em;white-space:normal;overflow-wrap:anywhere}
.sou-site .site-cookie-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.sou-site .site-cookie-actions button{flex:1 1 14rem;min-height:2.75rem;white-space:normal;line-height:1.5;padding:.6875rem .75rem;font-size:.8125rem}
.sou-site .site-cookie-links{display:flex;gap:0 1.25rem;flex-wrap:wrap;margin-top:1rem;font-size:.8125rem}
.sou-site .site-cookie-links a{display:inline-flex;align-items:center;min-height:2.75rem}
.sou-site .site-cookie-fallback{max-width:61rem;margin:0 auto;padding:1rem;font-size:.875rem}
.sou-site [data-cookie-reset][hidden]{display:none}
.sou-site .site-legal{max-width:48rem;margin:0 auto;padding:3.5rem 0 4rem;overflow-wrap:anywhere}
.sou-site .site-legal section{margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--border-subtle)}
.sou-site .site-legal h2{font-size:1.25rem;line-height:1.4;margin:0 0 1rem;scroll-margin-top:1.5rem}
.sou-site .site-legal h3{font-size:1rem;line-height:1.5;margin:1.5rem 0 .75rem}
.sou-site .site-legal p,.sou-site .site-legal li,.sou-site .site-legal address,.sou-site .site-legal dl{font-size:.9375rem;line-height:1.75}
.sou-site .site-legal p{margin:0 0 1rem}
.sou-site .site-legal ul,.sou-site .site-legal ol{padding-left:1.5rem;margin:0 0 1rem}
.sou-site .site-legal address{font-style:normal;margin:0 0 1rem}
.sou-site .site-legal address span{display:block}
.sou-site .site-legal-lines{white-space:pre-line}
.sou-site .site-legal-facts{margin:0 0 1.25rem}
.sou-site .site-legal-facts>div{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:.375rem 1.25rem;padding:.5rem 0}
.sou-site .site-legal-facts dt{font-weight:600}
.sou-site .site-legal-facts dd{margin:0}
.sou-site .site-legal code{white-space:normal;overflow-wrap:anywhere;font-size:.85em}
.sou-site .site-legal-draft{padding:1rem 1.25rem;background:var(--surface);border-left:3px solid var(--accent);margin-bottom:2rem}
.sou-site .site-legal-draft p{margin:.5rem 0 0;font-size:.875rem}
.sou-site .site-legal-related{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap;margin-top:2rem!important}
.sou-site .site-legal-related a,.sou-site .site-legal nav a{display:inline-flex;align-items:center;min-height:2.75rem}
.sou-site .site-legal nav{margin-bottom:2rem}
.sou-site .site-legal-contents{border-block:1px solid var(--border-subtle);padding:.5rem 0}
.sou-site .site-legal-contents summary{cursor:pointer;min-height:2.75rem;align-content:center;font-weight:600}
.sou-site .site-legal-contents nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;margin:0;padding:.5rem 0;font-size:.875rem}
.sou-site .site-legal-objection{border-left:3px solid var(--accent);padding:.25rem 1.25rem;background:var(--surface);margin:1.5rem 0}
@media(max-width:620px){.sou-site .site-legal-contents nav{grid-template-columns:1fr}}
@media(max-width:620px){.sou-site .site-legal{padding-top:2.5rem}.sou-site .site-legal-facts>div{grid-template-columns:1fr;gap:.125rem}}
@media(max-width:440px){.sou-site .site-cookie-notice{padding:1rem}.sou-site .site-cookie-notice h2{font-size:1.25rem}}
@media print{html.cookie-modal-open{overflow:visible}.sou-site .site-cookie-notice,.sou-site [data-cookie-reset]{display:none}.sou-site .site-cookie-notice::backdrop{display:none}.sou-site .site-legal{max-width:none;padding:0}.sou-site .site-legal section{break-inside:auto}}
.sou-site .site-account{max-width:29rem;margin:0 auto;padding:3.75rem 0 4.5rem}
.sou-site .site-account-wide{max-width:54rem}
.sou-site .site-account-heading{margin-bottom:2.25rem}
.sou-site .site-account-heading h1{font-size:2.625rem;line-height:1.1;font-weight:600;letter-spacing:-.05em;margin:.875rem 0 1.125rem;overflow-wrap:anywhere}
.sou-site .site-account-email{overflow-wrap:anywhere}
.sou-site .site-account-section{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:2.5rem;border-top:1px solid var(--border-subtle);padding:1.875rem 0}
.sou-site .site-account-section h2{font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:-.015em}
.sou-site .site-account-section p{margin:0 0 1rem;font-size:.875rem}
.sou-site .site-account-section>div{min-width:0}
.sou-site .site-facts{margin:0 0 1.25rem}
.sou-site .site-facts>div{display:grid;grid-template-columns:minmax(7.5rem,.8fr) minmax(0,1.2fr);gap:1rem;padding:.5rem 0;font-size:.8125rem}
.sou-site .site-facts>div:first-child{padding-top:0}
.sou-site .site-facts dt{color:var(--secondary)}
.sou-site .site-facts dd{margin:0;overflow-wrap:anywhere}
.sou-site .site-status{display:flex;align-items:center;gap:.4375rem;font-weight:500}
.sou-site .site-status-ready{color:var(--success)}
.sou-site .site-status-blocked{color:var(--danger)}
.sou-site .site-status .site-icon{width:.9375rem;height:.9375rem}
.sou-site .site-release-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.sou-site .site-account .site-empty .site-status{color:var(--text);font-weight:600}
.sou-site .site-signout{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}
.sou-site .site-signout button{background:transparent;font-weight:400}
.sou-site .site-auth{padding-top:3.75rem}
.sou-site .site-auth-content>p{font-size:.875rem;margin:0 0 1.5rem}
.sou-site .site-auth-content>form{display:grid;gap:1.125rem;margin:0}
.sou-site .site-auth-content label{display:grid;gap:.4375rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--text)}
.sou-site .site-auth-content input{padding:.6875rem .75rem;border-radius:3px;font-size:1rem}
.sou-site .site-auth-content p.support{margin:0;font-size:.75rem;line-height:1.6}
.sou-site .site-auth-content form>button{width:100%}
.sou-site .site-auth-content .actions{align-items:center;gap:1rem;margin:0}
.sou-site .site-auth-content .actions button{flex:none}
.sou-site .site-auth-content .actions>a{font-size:.8125rem}
.sou-site .site-account-links{display:flex;gap:.25rem 1.25rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);font-size:.8125rem}
.sou-site .site-account-links>a{display:inline-flex;align-items:center;min-height:2.75rem}
.sou-site .site-skip{position:absolute;top:-10rem;left:1rem;padding:1rem;background:var(--surface);z-index:10}
.sou-site .site-skip:focus{top:1rem}
.sou-site [role=alert]{border-left:2px solid var(--danger);padding-left:1rem}
@media(max-width:700px){.sou-site .site-account-section{grid-template-columns:1fr;gap:1rem}.sou-site .site-account-section h2{font-size:1.0625rem}.sou-site .site-account-heading h1{font-size:2.375rem}}
@media(max-width:620px){.sou-site .site-header,.sou-site .site-footer{width:calc(100% - 2.75rem)}.sou-site main.site-main{padding:0 1.375rem}.sou-site .site-header{gap:.875rem}.sou-site .site-header nav{gap:.8125rem}.sou-site .site-nav-features{display:none}.sou-site .site-intro{padding-top:2.625rem}.sou-site .site-intro-bottom{grid-template-columns:1fr;gap:1.4375rem}.sou-site .site-intro-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:1.0625rem}.sou-site .site-intro-actions .support{flex-basis:100%}.sou-site .site-feature{gap:1.75rem}.sou-site .site-product-body{grid-template-columns:1fr}.sou-site .site-product-nav{flex-direction:row;border-right:0;border-bottom:1px solid var(--border-subtle);padding:.375rem .625rem;gap:.5rem}.sou-site .site-product-nav>span{border-left:0;border-bottom:2px solid transparent;padding:.5rem .625rem}.sou-site .site-product-nav .site-product-selected{border-left-color:transparent;border-bottom-color:var(--accent)}.sou-site .site-product-content{padding:1.25rem}.sou-site .site-start{padding:1.75rem 1.375rem}.sou-site .site-start-heading{flex-direction:column;gap:1.375rem}.sou-site .site-footer-brand{flex-wrap:wrap}.sou-site .site-account{padding:2.75rem 0 3rem}}
@media(max-width:440px){.sou-site .site-header,.sou-site .site-footer{width:calc(100% - 2rem)}.sou-site main.site-main{padding:0 1rem}.sou-site .site-header{min-height:5rem;gap:.625rem}.sou-site .site-header>.site-brand{width:7.1875rem;height:2.6875rem}.sou-site .site-header>.site-brand .sou-wordmark{width:6rem;height:1.5rem;background-size:6rem 6rem}.sou-site .site-header nav{gap:.625rem;font-size:.75rem}.sou-site .site-header nav .site-button{padding:.5625rem .625rem;font-size:.75rem;min-height:2.25rem}.sou-site .site-intro h1{font-size:2.625rem;letter-spacing:-.06em;margin-top:1.0625rem}.sou-site .site-intro{padding-top:2.1875rem}.sou-site .site-lead{font-size:.9375rem}.sou-site .site-product figcaption,.sou-site .site-product-caption{flex-direction:column;gap:3px}.sou-site .site-product-bar{padding:.6875rem .75rem}.sou-site .site-product-bar>div{gap:.625rem}.sou-site .site-product-bar>span{display:none}.sou-site .site-product-content{padding:1.0625rem .8125rem}.sou-site .site-product-content h2{font-size:1.25rem}.sou-site .site-product-nav{gap:3px;padding:.375rem}.sou-site .site-product-nav>span{padding:.5rem;font-size:.6875rem}.sou-site .site-product-maps li{padding:.75rem .5rem}.sou-site .site-product-maps strong{font-size:.75rem}.sou-site .site-feature{grid-template-columns:1fr;gap:1.125rem;padding:1.875rem 0}.sou-site .site-feature-copy>p{font-size:.875rem}.sou-site .site-start{padding:1.625rem 1.0625rem}.sou-site .site-start h2{font-size:1.8125rem}.sou-site .site-facts>div{grid-template-columns:1fr;gap:.25rem}.sou-site .site-account-heading h1{font-size:2rem}.sou-site .site-account-links{gap:.75rem 1rem}}
@media(pointer:coarse){.sou-site :is(button,.site-button){min-height:2.75rem}}
@media(forced-colors:active){.sou-site .site-button{border-color:ButtonText}.sou-site .site-product-selected{border-color:Highlight}.sou-site .site-brand{forced-color-adjust:none}.sou-site .site-status{color:CanvasText}}

/* Regie cast workspace */
.sou-app .regie-cast .page-header{margin-bottom:1rem;border-bottom:0;padding-bottom:0}
.sou-app .regie-cast-match{border-block:1px solid var(--border-subtle);padding:1.1rem 0 1rem}
.sou-app .regie-cast-context{display:flex;align-items:center;gap:.5rem 1.25rem;flex-wrap:wrap;color:var(--muted);font-size:.75rem}
.sou-app .regie-cast-context>span:first-child{color:var(--secondary);font-weight:600;overflow-wrap:anywhere}
.sou-app .regie-cast-state{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}
.sou-app .regie-cast-state:before{content:"";width:.35rem;height:.35rem;flex:none;border-radius:50%;background:currentColor}
.sou-app .regie-cast-opponents{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1.5rem;align-items:center;margin:1.5rem 0}
.sou-app .regie-cast-team{display:flex;gap:.75rem;align-items:center;min-width:0}
.sou-app .regie-cast-team>div{min-width:0}
.sou-app .regie-cast-team:last-child{flex-direction:row-reverse;text-align:right}
.sou-app .regie-cast-team h2{font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 .35rem;overflow-wrap:anywhere}
.sou-app .regie-cast-team .support{font-size:.75rem}
.sou-app .regie-cast-team-mark{min-width:2.5rem;max-width:4rem;min-height:2.75rem;padding:.4rem;display:grid;place-items:center;flex:none;background:var(--raised);border:1px solid var(--border-subtle);border-radius:3px;font-weight:600;font-size:1rem;color:var(--secondary);overflow-wrap:anywhere}
.sou-app .regie-cast-team-mark img{width:2rem;height:2rem;object-fit:contain}
.sou-app .regie-cast-score{display:grid;justify-items:center;gap:.3rem;color:var(--muted);font-size:.6875rem}
.sou-app .regie-cast-score strong{color:var(--text);font-size:1.7rem;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.sou-app .regie-cast-score strong span{color:var(--muted);padding:0 .2rem}
.sou-app .regie-cast-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-size:.75rem}
.sou-app .regie-cast-meta>span{display:flex;gap:.4rem;align-items:center}
.sou-app .regie-cast-meta button{min-height:2.25rem;font-size:.875rem;padding:.35rem .5rem}
.sou-app .regie-cast-tabs{margin:0 0 1.5rem;gap:1.75rem;border-bottom:1px solid var(--border-subtle);padding:0}
.sou-app .regie-cast-tabs button{border:0;border-radius:0;border-bottom:2px solid transparent;background:transparent;padding:.75rem 0;min-height:2.8rem;color:var(--muted)}
.sou-app .regie-cast-tabs button.active{border-bottom-color:var(--accent);color:var(--text);background:transparent}
.sou-app .regie-cast-workspace{display:grid;grid-template-columns:minmax(0,1fr) clamp(15rem,18vw,22rem);gap:1.75rem;align-items:start}
.sou-app .regie-cast-main{min-width:0;container:regie-main / inline-size}
.sou-app .regie-cast-main>section[hidden]{display:none}
.sou-app .regie-cast-section-heading{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}
.sou-app .regie-cast-section-heading h2{margin:0;font-size:.9375rem}
.sou-app .regie-cast-section-heading button{font-size:.875rem;min-height:2.25rem;padding:.35rem .5rem}
.sou-app .regie-cast-map-series{list-style:none;margin:0;padding:0}
.sou-app .regie-cast-map-series li{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .regie-cast-map-series li:first-child{padding-top:.25rem}
.sou-app .regie-cast-map-series li>div{display:grid;gap:.25rem;min-width:0}
.sou-app .regie-cast-map-series strong{font-weight:600;overflow-wrap:anywhere}
.sou-app .regie-cast-map-series .support{font-size:.75rem}
.sou-app .regie-cast-map-number{color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.sou-app .regie-cast-map-score{text-align:right;font-variant-numeric:tabular-nums}
.sou-app .regie-cast-caption{display:flex;gap:.5rem;align-items:flex-start;font-size:.75rem;margin-top:1rem}
.sou-app .regie-cast-caption>.sou-icon{flex:none;width:1rem;height:1rem;margin-top:.1rem}
.sou-app .regie-cast-settings{margin-top:1.75rem;border-block:1px solid var(--border-subtle);padding:.25rem 0}
.sou-app .regie-cast-settings>summary{font-size:.8125rem;align-items:center}
.sou-app .regie-cast .active-match-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}
.sou-app .regie-cast .active-match-settings>label{margin:.75rem 0}
.sou-app .regie-cast-output{min-width:0;border-left:1px solid var(--border-subtle);padding-left:1.5rem}
.sou-app .regie-cast-output .regie-cast-output-action{display:flex;justify-content:center;width:100%;gap:.5rem;margin:.5rem 0;font-size:.875rem;min-height:2.5rem;padding:.5rem .6rem}
.sou-app .regie-cast-output .regie-cast-output-action.button-subtle{justify-content:flex-start;padding-left:0;padding-right:0}
.sou-app .regie-cast-output .regie-cast-hud-picker{margin:.75rem 0 .4rem;font-size:.8125rem;gap:.4rem}
.sou-app .regie-cast-hud-picker select{font-size:.8125rem;min-height:2.25rem}
.sou-app .regie-cast-version{margin:.4rem 0 1rem;font-size:.6875rem}
.sou-app .regie-cast-output-state{display:flex;align-items:center;gap:.5rem;color:var(--secondary);font-size:.8125rem;margin:1rem 0 .75rem}
.sou-app .regie-cast-connections{border-top:1px solid var(--border-subtle);margin-top:1.5rem;padding-top:1.25rem}
.sou-app .regie-cast-connections h2{font-size:.9375rem}
.sou-app .regie-cast-connections dl{display:grid;gap:.75rem;margin:1rem 0}
.sou-app .regie-cast-connections dl>div{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem;font-size:.8125rem}
.sou-app .regie-cast-connections dd{margin:0 0 0 auto;text-align:right;overflow-wrap:anywhere;font-size:.8125rem;color:var(--secondary)}
.sou-app .regie-cast-connections dd.status-success{color:var(--success)}
.sou-app .regie-cast-rosters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:1.75rem}
.sou-app .regie-cast-roster{min-width:0}
.sou-app .regie-cast-roster h2{overflow-wrap:anywhere}
.sou-app .regie-cast-roster ul{list-style:none;padding:0;margin:0}
.sou-app .regie-cast-roster li{display:flex;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border-subtle);padding:.65rem 0;font-size:.8125rem}
.sou-app .regie-cast-roster li>span:first-child{overflow-wrap:anywhere}
.sou-app .regie-cast-roster li .support{font-size:.6875rem;flex:none}
.sou-app .regie-cast .map-result-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;padding:1rem 0;align-items:end}
.sou-app .regie-cast .map-result-row>strong{grid-column:1/-1;font-size:.875rem}
.sou-app .regie-cast .map-result-row>label{margin:.25rem 0;font-size:.8125rem}
.sou-app .regie-cast .map-result-row :is(input,select){font-size:.875rem}
.sou-app .regie-cast .map-result-row>button{grid-column:1/-1;justify-self:start;font-size:.8125rem}
.sou-app .regie-cast .map-results{container:regie-results / inline-size;min-width:0}
@container regie-results (min-width:34rem){.sou-app .regie-cast .map-result-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sou-app .regie-cast .veto-map-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
/* Use the available workspace width, including maximized and ultrawide windows. */
@container regie-main (min-width:60rem){
    .sou-app .regie-cast-map-series{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem}
    .sou-app .regie-cast-map-series li,.sou-app .regie-cast-map-series li:first-child{padding:1rem 0;align-items:start}
    .sou-app .regie-cast .active-match-settings{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
}
@container regie-main (min-width:90rem){
    .sou-app .regie-cast-planning{display:grid;grid-template-columns:minmax(0,2fr) minmax(22rem,1fr);gap:2rem;align-items:start}
    .sou-app .regie-cast-planning>.map-results{padding-left:2rem;border-left:1px solid var(--border-subtle);min-width:0}
}
@media(max-width:980px){.sou-app .regie-cast-workspace{grid-template-columns:minmax(0,1fr)}.sou-app .regie-cast-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--border-subtle)}.sou-app .regie-cast-connections{margin:0;padding:0 0 0 1.5rem;border-top:0;border-left:1px solid var(--border-subtle)}}
@media(max-width:600px){.sou-app .regie-cast-opponents{gap:.75rem}.sou-app .regie-cast-team-mark{display:none}.sou-app .regie-cast-team h2{font-size:1.15rem}.sou-app .regie-cast-score strong{font-size:1.4rem}.sou-app .regie-cast-state{margin-left:0}.sou-app .regie-cast-context{gap:.4rem .75rem}.sou-app .regie-cast-tabs{gap:1.3rem}.sou-app .regie-cast-output{grid-template-columns:1fr}.sou-app .regie-cast-connections{padding:1.25rem 0 0;border-left:0;border-top:1px solid var(--border-subtle)}.sou-app .regie-cast-rosters{grid-template-columns:1fr}.sou-app .regie-cast .active-match-settings{grid-template-columns:1fr}.sou-app .regie-cast-meta button{min-height:2.25rem}}
@media(pointer:coarse){.sou-app .regie-cast button{min-height:2.75rem!important}}

/* Operational controls stay readable and reachable in short or narrow windows. */
.sou-app .regie-cast-output-jump{display:none}
.sou-site .site-header nav>a:is([aria-current=page],[aria-current=location]){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.5rem}

/* Public handbook. The article measure stays readable while navigation uses wider screens. */
.sou-docs .site-header,.sou-docs .site-footer{max-width:94rem}
.sou-docs main.site-main{max-width:98rem}
.sou-site .docs-index{max-width:72rem;margin:0 auto;padding:3rem 0}
.sou-site .docs-intro{max-width:48rem;margin-bottom:1.75rem}
.sou-site .docs-intro h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.05em;line-height:1.1;margin:.75rem 0 1rem}
.sou-site .docs-search{max-width:48rem;margin-bottom:2.5rem}
.sou-site .docs-search label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}
.sou-site .docs-search>div,.sou-site .docs-quick-search{display:flex;gap:.625rem}
.sou-site .docs-search input,.sou-site .docs-quick-search input{width:100%;min-width:0;flex:1;min-height:2.75rem;padding:.625rem .75rem}
.sou-site .docs-search button,.sou-site .docs-quick-search button{flex-shrink:0}
.sou-site .docs-start-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:3rem}
.sou-site .docs-start-links a{padding:1.25rem 1rem;text-decoration:none;min-width:0}
.sou-site .docs-start-links a:first-child{padding-left:0}
.sou-site .docs-start-links a:hover strong{text-decoration:underline}
.sou-site .docs-start-links strong,.sou-site .docs-start-links span{display:block}
.sou-site .docs-start-links span{color:var(--secondary);font-size:.875rem;margin-top:.375rem}
.sou-site .docs-topics>h2{font-size:1.5rem;margin-bottom:1rem}
.sou-site .docs-topic-group{display:grid;grid-template-columns:minmax(10rem,.7fr) minmax(0,2fr);gap:2rem;border-top:1px solid var(--border-subtle);padding:1.75rem 0}
.sou-site .docs-topic-group h3{font-size:1rem;font-weight:600}
.sou-site .docs-topic-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}
.sou-site .docs-topic-group a{display:block;min-height:2.75rem;padding:.5rem;font-weight:600;text-decoration:none;border-radius:3px}
.sou-site .docs-topic-group a>span:first-child{text-decoration:underline}
.sou-site .docs-topic-group a:hover{background:var(--surface)}
.sou-site .docs-topic-description{display:block;color:var(--secondary);font-size:.875rem;line-height:1.65;font-weight:400;margin-top:.375rem}
.sou-site .docs-results{margin:0 0 2.5rem;border-top:1px solid var(--border-subtle);padding-top:1.5rem;max-width:52rem;overflow-wrap:anywhere}
.sou-site .docs-results h2{font-size:1.375rem;margin-bottom:1rem}
.sou-site .docs-results ol{list-style:none;padding:0;margin:0 0 1rem}
.sou-site .docs-results li{padding:1.25rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-site .docs-results h3{font-size:1.125rem;margin:.25rem 0 .5rem}
.sou-site .docs-results .docs-result-group{font-size:.75rem}
.sou-site .docs-layout{display:grid;grid-template-columns:14rem minmax(0,1fr) 13rem;grid-template-areas:"chapters article outline";gap:2.5rem;padding:2rem 0 3rem;align-items:start}
.sou-site .docs-sidebar,.sou-site .docs-outline{position:sticky;top:1.25rem;max-height:calc(100vh - 2.5rem);overflow-y:auto;scrollbar-gutter:stable;padding-right:.625rem;font-size:.8125rem}
.sou-site .docs-sidebar{grid-area:chapters;border-right:1px solid var(--border-subtle)}
.sou-site .docs-outline{grid-area:outline}
.sou-site .docs-nav-group{margin-top:.625rem}
.sou-site .docs-nav-group>summary{font-size:.8125rem;font-weight:600;min-height:2.75rem;padding:.75rem .375rem;cursor:pointer}
.sou-site .docs-nav-group ul,.sou-site .docs-outline ol,.sou-site .docs-mobile-toc ol{list-style:none;margin:0;padding:0}
.sou-site .docs-nav-group a,.sou-site .docs-overview-link{display:block;padding:.5rem .625rem;line-height:1.45;text-decoration:none;border-left:2px solid transparent}
.sou-site .docs-nav-group a:hover,.sou-site .docs-overview-link:hover{background:var(--raised)}
.sou-site .docs-sidebar a[aria-current=page],.sou-site .docs-mobile-nav a[aria-current=page]{border-left-color:var(--accent);background:var(--raised);font-weight:600;color:var(--text)}
.sou-site .docs-content{grid-area:article;min-width:0;width:100%;max-width:48rem;margin:0 auto}
.sou-site .docs-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8125rem;color:var(--secondary);margin-bottom:1.5rem}
.sou-site .docs-article-heading h1{font-size:clamp(1.875rem,3.4vw,2.75rem);line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere;margin-bottom:1rem}
.sou-site .docs-article-heading>p{font-size:1rem}
.sou-site .docs-article-heading .docs-meta{font-size:.75rem;margin-top:1rem}
.sou-site .docs-quick-search{margin:1.5rem 0 2rem}
.sou-site .docs-outline h2{font-size:.8125rem;font-weight:600;margin:0 0 .75rem}
.sou-site .docs-outline a,.sou-site .docs-mobile-toc a{display:block;padding:.375rem 0;text-decoration:none;line-height:1.45;color:var(--secondary);overflow-wrap:anywhere}
.sou-site .docs-outline a:hover,.sou-site .docs-mobile-toc a:hover{text-decoration:underline;color:var(--text)}
.sou-site .docs-subheading{padding-left:.875rem;font-size:.75rem}
.sou-site .docs-tools,.sou-site .docs-reading-nav,.sou-site .docs-mobile-skip{display:none}
.sou-site .docs-prose{font-size:1rem;line-height:1.75;overflow-wrap:anywhere;max-width:76ch}
.sou-site .docs-prose :is(h2,h3,h4){scroll-margin-top:1.5rem;line-height:1.3}
.sou-site .docs-prose h2{font-size:1.5rem;letter-spacing:-.02em;margin:2.75rem 0 1rem;border-top:1px solid var(--border-subtle);padding-top:1.5rem}
.sou-site .docs-prose h3{font-size:1.125rem;margin:1.75rem 0 .75rem}
.sou-site .docs-prose h4{font-size:1rem;margin:1.25rem 0 .625rem}
.sou-site .docs-prose p{margin:.75rem 0;line-height:1.75}
.sou-site .docs-prose :is(ul,ol){margin:.875rem 0 1.25rem;padding-left:1.5rem}
.sou-site .docs-prose li{margin:.5rem 0;padding-left:.125rem}
.sou-site .docs-prose dt{font-weight:600;margin-top:1rem}
.sou-site .docs-prose dd{margin:.375rem 0 1rem 1rem}
.sou-site .docs-prose :is(code,kbd,samp){font-family:Consolas,monospace;font-size:.875em;overflow-wrap:anywhere}
.sou-site .docs-prose :not(pre)>code{background:var(--raised);padding:.125rem .25rem;border-radius:3px}
.sou-site .docs-prose pre{padding:1rem;border:1px solid var(--border-subtle);background:var(--surface);overflow-x:auto;max-width:100%;line-height:1.6;white-space:pre-wrap;tab-size:2;margin:1.25rem 0}
.sou-site .docs-table{max-width:100%;overflow-x:auto;margin:1.25rem 0;overscroll-behavior-inline:contain;scrollbar-color:var(--border-control) var(--surface)}
.sou-site .docs-prose table{width:100%;border-collapse:collapse;margin:0;font-size:.875rem;line-height:1.6}
.sou-site .docs-prose :is(th,td){padding:.75rem;text-align:left;vertical-align:top;border:1px solid var(--border-subtle);min-width:9rem}
.sou-site .docs-prose :is(th,td):last-child{min-width:18rem}
.sou-site .docs-prose th{background:var(--surface);font-weight:600}
.sou-site .docs-prose blockquote,.sou-site .docs-prose aside{margin:1.25rem 0;padding:.5rem 1rem;border-left:3px solid var(--accent);background:var(--surface)}
.sou-site .docs-screenshot{margin:1.5rem 0 2rem;min-width:0;max-width:100%}
.sou-site .docs-screenshot>a{display:block;border:1px solid var(--border-control);border-radius:4px;background:var(--surface);cursor:zoom-in}
.sou-site .docs-screenshot>a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.sou-site .docs-screenshot img{display:block;width:100%;max-width:100%;height:auto;border-radius:3px}
.sou-site .docs-screenshot figcaption{margin-top:.625rem;color:var(--secondary);font-size:.8125rem;line-height:1.65}
.sou-site .docs-screenshot figcaption>a{display:flex;align-items:center;min-height:2.75rem;width:fit-content}
.sou-site .docs-pagination{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;border-top:1px solid var(--border-subtle);margin-top:3rem;padding-top:1.5rem}
.sou-site .docs-pagination a{flex:1;min-width:10rem;text-decoration:none;overflow-wrap:anywhere}
.sou-site .docs-pagination a:hover strong{text-decoration:underline}
.sou-site .docs-pagination span,.sou-site .docs-pagination strong{display:block}
.sou-site .docs-pagination span{font-size:.75rem;color:var(--secondary);margin-bottom:.375rem}
.sou-site .docs-back-top{display:inline-block;margin-top:1.5rem;padding:.5rem 0;font-size:.875rem}
.sou-site .docs-quick-search .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1250px){
    .sou-site .docs-layout{grid-template-columns:13rem minmax(0,1fr);grid-template-areas:"chapters article";gap:2rem}
    .sou-site .docs-outline,.sou-site .docs-desktop-skip{display:none}
    .sou-site .docs-mobile-skip{display:block}
    .sou-site .docs-tools{display:flex;gap:.75rem;flex-wrap:wrap;border-block:1px solid var(--border-subtle);margin-bottom:1.5rem;scroll-margin-top:1rem}
    .sou-site .docs-tools>details{flex:1;min-width:0}
    .sou-site .docs-tools>details[open]{flex-basis:100%;order:1}
    .sou-site .docs-tools>details>summary{min-height:2.75rem;cursor:pointer;padding:.75rem .25rem;font-size:.875rem}
    .sou-site .docs-mobile-nav{display:none}
    .sou-site .docs-tool-menu{max-height:40vh;max-height:40dvh;overflow:auto;overscroll-behavior:contain;padding:.5rem .75rem 1rem .25rem;border-top:1px solid var(--border-subtle)}
    .sou-site .docs-tool-menu a{min-height:2.75rem;display:flex;align-items:center}
    .sou-site .docs-reading-nav{display:flex;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:4;background:var(--canvas);border-bottom:1px solid var(--border-subtle);margin:0 0 1.5rem;padding:.25rem 0;font-size:.8125rem}
    .sou-site .docs-reading-nav a{min-height:2.75rem;display:inline-flex;align-items:center}
    .sou-site .docs-prose :is(h2,h3,h4){scroll-margin-top:5rem}
}
@media(max-width:850px){.sou-site .docs-layout{display:block;padding-top:1.5rem}.sou-site .docs-sidebar{display:none}.sou-site .docs-mobile-nav{display:block}.sou-site .docs-topic-group{grid-template-columns:1fr;gap:1rem}.sou-site .docs-index{padding-top:2rem}}
@media(max-width:620px){.sou-site .docs-start-links{grid-template-columns:1fr}.sou-site .docs-start-links a{padding:1rem 0}.sou-site .docs-start-links a+a{border-top:1px solid var(--border-subtle)}.sou-site .docs-topic-group ul{grid-template-columns:1fr}.sou-site .docs-prose{font-size:.9375rem}.sou-site .docs-search>div,.sou-site .docs-quick-search{flex-wrap:wrap}.sou-site .docs-search input,.sou-site .docs-quick-search input{flex-basis:100%}.sou-site .docs-intro{margin-bottom:1.5rem}.sou-site .docs-prose h2{font-size:1.375rem}.sou-site .site-header{padding-block:.75rem}.sou-site .site-header nav{row-gap:.125rem}}
@media(max-width:620px){.sou-site .site-header{padding-block:.75rem;row-gap:.5rem}.sou-site .site-header nav{flex:1 0 100%;justify-content:space-between;gap:.5rem}.sou-site .site-header nav>a.site-button{min-height:2.75rem}.sou-site .site-header nav>a.site-nav-features{display:none}.sou-site .site-footer nav>a{min-height:2.75rem;display:inline-flex;align-items:center}}
@media print{.sou-docs .site-header,.sou-docs .site-footer,.sou-docs .site-skip,.sou-docs .docs-sidebar,.sou-docs .docs-outline,.sou-docs .docs-tools,.sou-docs .docs-reading-nav,.sou-docs .docs-quick-search,.sou-docs .docs-pagination,.sou-docs .docs-back-top{display:none}.sou-docs main.site-main,.sou-docs .docs-content{max-width:none;padding:0}.sou-docs .docs-layout{display:block}.sou-docs .docs-table{overflow:visible}.sou-docs .docs-prose :is(th,td){min-width:0}.sou-docs .docs-prose pre{white-space:pre-wrap}.sou-docs{color-scheme:light}}
@media print{.sou-docs .docs-screenshot{break-inside:avoid}.sou-docs .docs-screenshot>a{border-color:#aaa}.sou-docs .docs-screenshot img{max-height:18cm;object-fit:contain}.sou-docs .docs-screenshot figcaption{color:#444}}
@media(max-height:800px) and (min-width:768px){
    .sou-app .topbar{min-height:4rem;padding:.4rem 1.25rem}
    .sou-app .sidebar{padding-top:.65rem}
    .sou-app .sidebar .desktop-navigation{gap:.75rem}
    .sou-app .sidebar .nav-heading{margin-bottom:.25rem}
    .sou-app .sidebar button{min-height:2.25rem;padding:.35rem .65rem}
    .sou-app .desktop-navigation>.nav-group:last-child{padding-top:0}
    .sou-app .desktop-shell main{padding-top:1rem}
    .sou-app .regie-cast .page-header{margin-bottom:.65rem}
    .sou-app .regie-cast-match{padding:.65rem 0}
    .sou-app .regie-cast-opponents{margin:.65rem 0}
    .sou-app .regie-cast-team h2{font-size:1.25rem}
    .sou-app .regie-cast-tabs{margin-bottom:.875rem}
    .sou-app .regie-cast-tabs button{min-height:2.5rem;padding:.5rem 0}
}
@media(min-width:981px){
    .sou-app .regie-cast-output{position:sticky;top:0;max-height:calc(100dvh - 11rem);overflow-y:auto;scrollbar-gutter:stable;padding-bottom:1rem}
}
@media(max-width:980px){
    .sou-app .regie-cast-output-jump{display:inline-flex;align-items:center;min-height:2.5rem;margin-left:auto;font-size:.875rem}
    .sou-app .regie-cast-output{scroll-margin-top:1rem}
}
@media(max-width:767px){.sou-app .topbar .sync-summary{min-width:2.5rem;justify-content:center}}
@media(pointer:coarse){
    .sou-app .sidebar button,.sou-app .regie-cast-output-jump,.sou-app button.list-tools-toggle,.sou-app .list-page-shortcuts button,.sou-app .toast-actions button{min-height:2.75rem}
    .sou-app .topbar .sync-summary,.sou-app .list-page-shortcuts button{min-width:2.75rem}
    .sou-app button.toast-dismiss{width:2.75rem;min-height:2.75rem}
}

/* Approved desktop evolution: one workspace with supporting navigation and output. */
.sou-app .shell-body{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sou-app .topbar>.brand-plate{width:var(--sidebar-width);align-self:stretch;min-height:4.125rem;border-radius:0}
.sou-app .topbar .sou-wordmark{width:88px;height:32px;background-size:88px 88px}
.sou-app .topbar .brand-name{display:none}
.sou-app .sidebar{padding:1rem .75rem;background:var(--surface)}
.sou-app .sidebar button{border-radius:var(--radius);font-size:.875rem;min-height:2.5rem}
.sou-app .sidebar button.active{background:var(--accent-subtle);color:var(--accent-ink)}
.sou-app .sidebar .desktop-navigation{min-height:0;gap:1rem}
.sou-app .desktop-navigation>.navigation-sections,.sou-app .desktop-navigation>.navigation-sections:last-child{display:grid;gap:.125rem;margin:0;padding:0;border:0;min-width:0}
.sou-app .sidebar .navigation-sections .nav-heading{margin:0 .625rem .25rem;font-size:.6875rem;line-height:1.5;letter-spacing:.08em;font-weight:600}
.sou-app .sidebar .navigation-sections button{font-size:.8125rem;min-height:2.375rem;padding:.375rem .625rem}
.sou-app .sidebar .navigation-sections button.active{color:var(--accent-ink);background:var(--accent-subtle)}
.sou-app .desktop-shell main{padding:1.5rem;container:workspace / inline-size}
.sou-app .page-content{width:100%;max-width:none}
.sou-app .regie-cast-workspace{grid-template-columns:minmax(0,1fr) clamp(16rem,20vw,22rem);gap:1.5rem}
.sou-app .regie-cast-output{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.25rem;min-width:0}
.sou-app .regie-cast-output .regie-cast-section-heading{margin-bottom:.75rem}
.sou-app .regie-cast-output .regie-cast-hud-picker{font-size:.875rem;margin:.75rem 0}
.sou-app .regie-cast-hud-picker select{font-size:.875rem;min-height:var(--control-height)}
.sou-app .regie-cast-output .regie-cast-output-action{border-radius:var(--radius)}
.sou-app .regie-cast-output-details{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:.25rem}
.sou-app .regie-cast-output-details>summary{font-size:.875rem;font-weight:600;min-height:2.75rem}
.sou-app .regie-cast-output-details .regie-cast-version{font-size:.75rem;margin:.5rem 0 1rem}
.sou-app .regie-cast-match{border-top:0;padding:0 0 1rem}
.sou-app .regie-cast-opponents{margin:.875rem 0;gap:1rem}
.sou-app .regie-cast-team h2{font-size:clamp(1.125rem,1.4vw,1.625rem)}
.sou-app .regie-cast-context{font-size:.8125rem}
.sou-app .regie-cast-meta{font-size:.8125rem}
.sou-app .regie-cast-tabs{margin-bottom:1.25rem;gap:1.5rem}
.sou-app .regie-cast-tab-list{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;min-width:0}
.sou-app .regie-cast-map-series{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden}
.sou-app .regie-cast-map-series li,.sou-app .regie-cast-map-series li:first-child{padding:.875rem 1rem}
.sou-app .regie-cast-map-series li:last-child{border-bottom:0}
.sou-app .regie-cast-map-series .support{font-size:.8125rem}
.sou-app .regie-cast-map-score{max-width:12rem;overflow-wrap:anywhere}
.sou-app .regie-cast-overview-grid{display:grid;gap:1.5rem;min-width:0}
.sou-app .regie-cast-overview-grid>section{min-width:0}
.sou-app .regie-cast-team-overview .regie-cast-rosters{gap:1.5rem;margin-bottom:0}
.sou-app .regie-cast-roster li{font-size:.875rem}
.sou-app .regie-cast-roster li .support{font-size:.75rem}
@container regie-main (min-width:56rem){
    .sou-app .regie-cast-overview-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2rem}
    .sou-app .regie-cast-overview-grid .regie-cast-map-series{display:block}
}
/* Match selection never changes the active cast until its explicit action. */
.sou-app .match-library-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(20rem,30%,28rem);gap:1.75rem;align-items:start}
.sou-app .match-library-list{min-width:0;container:match-list / inline-size}
.sou-app .match-library-detail{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.5rem;min-width:0;position:sticky;top:0;max-height:calc(100dvh - 14rem);overflow:auto;scrollbar-gutter:stable}
.sou-app .match-library-detail h2{font-size:1.375rem;line-height:1.3;overflow-wrap:anywhere;margin:.5rem 0 1rem}
.sou-app .match-library-detail h3{font-size:.9375rem;margin:1.25rem 0 .75rem}
.sou-app .match-library-detail dl{margin:1rem 0;display:grid;gap:.75rem}
.sou-app .match-library-detail dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:.75rem}
.sou-app .match-library-detail dt{color:var(--secondary);font-size:.8125rem}
.sou-app .match-library-detail dd{margin:0;overflow-wrap:anywhere;font-size:.875rem;text-align:right}
.sou-app .match-library-detail .actions{align-items:stretch}
.sou-app .match-library-detail .actions>button{flex:1 1 auto}
.sou-app .match-library-detail-actions{display:flex;gap:.625rem;flex-wrap:wrap;align-items:center;margin:1rem 0}
.sou-app .match-library-detail-actions>button{flex:1 1 auto}
.sou-app .match-library-detail-jump{display:none}
.sou-app .match-library-row{display:grid;grid-template-columns:minmax(0,1fr) 7rem 3.5rem 7rem;gap:1rem;align-items:center;width:100%;text-align:left;padding:1rem .875rem;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;background:transparent;font-weight:400}
.sou-app .match-library-row.selected{background:var(--accent-subtle);box-shadow:inset 3px 0 var(--accent-ink)}
.sou-app .match-library-identity{min-width:0;display:grid;gap:.25rem}
.sou-app .match-library-identity strong{font-weight:600;font-size:.9375rem}
.sou-app .match-library-identity>span{font-size:.8125rem;color:var(--secondary)}
.sou-app .match-library-start,.sou-app .match-library-format,.sou-app .match-library-state{font-size:.8125rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sou-app .match-library-start,.sou-app .match-library-format{display:grid;gap:.25rem}
.sou-app .match-library-start>span,.sou-app .match-library-format>span{color:var(--secondary)}
.sou-app .match-library-state.is-active{color:var(--accent-ink);font-weight:600}
.sou-app .match-library-maps{list-style:none;margin:.75rem 0;padding:0}
.sou-app .match-library-maps li{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere}
.sou-app .list-search-hint{font-size:.75rem;color:var(--secondary);white-space:nowrap}
@container match-list (max-width:42rem){
    .sou-app .match-library-row{grid-template-columns:minmax(0,1fr) 7rem;gap:.5rem 1rem}
    .sou-app .match-library-identity{grid-row:span 2}
    .sou-app .match-library-format{display:none}
}
@container workspace (max-width:58rem){
    .sou-app .match-library-layout{grid-template-columns:minmax(0,1fr)}
    .sou-app .match-library-detail{position:static;max-height:none;overflow:visible}
    .sou-app .match-library-detail-jump{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.8125rem}
}
@media(min-width:1920px){.sou-app .desktop-shell main{padding:1.75rem 2.25rem}.sou-app .regie-cast-workspace{gap:2rem}}
@media(max-width:1100px) and (min-width:768px){.sou-app{--sidebar-width:10rem}.sou-app .topbar{gap:1rem}.sou-app .desktop-shell main{padding:1.25rem}}
@media(max-width:980px){
    .sou-app .regie-cast-workspace{grid-template-columns:minmax(0,1fr)}
    .sou-app .regie-cast-output{position:static;max-height:none;overflow:visible;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:767px){
    .sou-app .shell-body{grid-template-columns:minmax(0,1fr)}
    .sou-app .topbar{padding:.5rem .75rem;gap:.5rem .75rem;flex-wrap:wrap}
    .sou-app .topbar>.brand-plate{width:auto;min-width:7rem;min-height:2.75rem;align-self:center;border-radius:var(--radius)}
    .sou-app .topbar .workspace-picker,.sou-app .topbar>.workspace-current{margin:0;max-width:none}
    .sou-app .desktop-shell main{padding:1rem}
    .sou-app .sidebar{padding:.375rem .75rem}
    .sou-app .regie-cast .page-header-identity{flex-basis:auto}
    .sou-app .regie-cast-workspace{gap:1.25rem}
    .sou-app .sidebar .desktop-navigation.is-expanded{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;align-items:start;padding:.75rem 0}
    .sou-app .navigation-sections>button{width:100%}
}
@media(max-width:600px){.sou-app .regie-cast-output{grid-template-columns:minmax(0,1fr)}.sou-app .regie-cast-overview-grid{gap:1.25rem}.sou-app .match-library-detail{padding:1rem}}
@media(max-width:440px){.sou-app .regie-cast .page-header-identity{flex-basis:100%}}
@media(max-height:800px) and (min-width:768px){
    .sou-app .topbar{min-height:3.75rem;padding:0 1.25rem 0 0}
    .sou-app .topbar>.brand-plate{min-height:3.75rem}
    .sou-app .desktop-shell main{padding-top:1rem}
    .sou-app .regie-cast-match{padding-top:0}
    .sou-app .regie-cast-output{padding:1rem}
    .sou-app .regie-cast-output-state{margin:.75rem 0}
}
/* Follow available text space as well as window pixels, including enlarged fonts. */
@container workspace (max-width:46rem){
    .sou-app .regie-cast-workspace{grid-template-columns:minmax(0,1fr)}
    .sou-app .regie-cast-output{display:grid;position:static;max-height:none;overflow:visible;grid-template-columns:minmax(0,1fr);scroll-margin-top:1rem}
    .sou-app .regie-cast-connections{margin-top:1.5rem;padding:1.25rem 0 0;border-left:0;border-top:1px solid var(--border-subtle)}
    .sou-app .regie-cast-output-jump{display:inline-flex;align-items:center;min-height:2.75rem;margin-left:auto;font-size:.875rem}
}
@container regie-main (max-width:32rem){
    .sou-app .regie-cast-rosters,.sou-app .regie-cast .active-match-settings{grid-template-columns:minmax(0,1fr)}
    .sou-app .regie-cast-team-mark{display:none}
}
@container regie-main (max-width:24rem){
    .sou-app .regie-cast-opponents{grid-template-columns:minmax(0,1fr);gap:.75rem}
    .sou-app .regie-cast-team:last-child{flex-direction:row;text-align:left}
    .sou-app .regie-cast-score{text-align:left}
}
@media(pointer:coarse){.sou-app{--control-height:2.75rem}.sou-app .sidebar button,.sou-app .sidebar .navigation-sections button,.sou-app .topbar :is(button,select){min-height:2.75rem}}
@media(forced-colors:active){.sou-app .match-library-row.selected,.sou-app .desktop-navigation button[aria-current=page]{outline:2px solid Highlight;outline-offset:-2px}.sou-app .regie-cast-output,.sou-app .match-library-detail{border-color:CanvasText}}

/* Complete desktop workspaces and modeless editors share the same surface hierarchy. */
.sou-app :is(.library-surface,.editor-group,.hud-session-toolbar,.yaibo-session,.yaibo-camera-workspace,.yaibo-settings-column,.connections-status,.connections-game,.cloud-workspace-main,.cloud-workspace-tools,.cloud-account-summary,.cloud-account-session,.about-product,.about-keyboard,.import-source,.import-options,.import-review){background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.25rem;min-width:0;margin:0}
.sou-app :is(.library-workspace,.library-surface,.editor-layout,.editor-group,.hud-panel-workspace,.hud-panel-content,.cloud-workspace-layout,.cloud-account-grid,.cloud-settings-grid,.yaibo-workspace,.connections-workspace,.import-workspace,.about-workspace)>*{min-width:0}
.sou-app .library-surface{container:library / inline-size}
.sou-app .library-surface .list-toolbar{padding-bottom:.875rem}
.sou-app .library-surface .list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,34rem),1fr));gap:0 1.5rem;align-items:start}
.sou-app .library-record{padding:1rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .library-record-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(6rem,auto) auto;gap:1rem;align-items:center}
.sou-app .library-record-identity{display:flex;gap:.875rem;align-items:center;min-width:0}
.sou-app .library-record-identity>div{min-width:0}
.sou-app .library-record-identity h2{font-size:1rem;margin:0}
.sou-app .library-record-identity small{display:block;margin:.25rem 0 0}
.sou-app .library-record-meta{display:grid;gap:.25rem;font-size:.8125rem;color:var(--secondary)}
.sou-app .library-record-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.sou-app .library-record-actions button{min-width:0}
.sou-app .library-record-description{margin:.625rem 0 0;font-size:.8125rem}
.sou-app .library-surface .competition-entry{border-radius:var(--radius);padding:1rem .75rem}
.sou-app .library-competition-collection .competition-content-heading{margin-top:1rem}
.sou-app .library-competition-collection .competition-match{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sou-app .library-view-heading:focus{outline:none}
@container library (max-width:46rem){.sou-app .library-record-main{grid-template-columns:minmax(0,1fr) auto}.sou-app .library-record-actions{grid-column:1/-1;justify-content:flex-start}}
@container library (max-width:22rem){.sou-app .library-record-main{grid-template-columns:minmax(0,1fr)}.sou-app .library-record-meta{display:flex;gap:.75rem;flex-wrap:wrap}}
.sou-app .cast-editor{container:editor / inline-size;height:100dvh;padding:1.25rem;scroll-padding-block:1rem 7rem;scrollbar-gutter:stable;overscroll-behavior:contain}
.sou-app .editor-layout{display:grid;gap:1.25rem;align-items:start}
.sou-app .editor-group>h2{margin-bottom:1rem}
.sou-app .editor-group .form-section{border:0;padding:0;margin:0}
.sou-app .editor-group>.support:first-of-type{margin-top:0}
.sou-app .editor-workspace-fields{padding:0;border:0;min-width:0}
.sou-app .editor-layout :is(.cast-form-grid,.match-details-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.sou-app .editor-wide{grid-column:1/-1}
.sou-app .editor-match-planning{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}
.sou-app .editor-team-layout>.team-roster-layout{width:100%}
.sou-app .editor-team-layout .team-roster-layout{gap:1.25rem}
.sou-app .editor-team-layout :is(.team-roster-list,.team-player-editor){background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.25rem}
.sou-app .editor-team-layout>.team-details-editor .cast-form-grid{max-width:64rem}
.sou-app .editor-map-layout .map-art-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.25rem}
.sou-app .editor-map-layout .map-background-preview{width:100%;max-width:32rem}
.sou-app .editor-classification-layout .editor-primary{max-width:80rem}
.sou-app .cast-editor-actions{bottom:-1.25rem;gap:.625rem;padding:1rem 0;margin-top:1.25rem;box-shadow:0 -8px 12px -12px var(--secondary)}
.sou-app .cast-editor-actions button{flex:0 1 auto}
.sou-app .hud-panel-workspace{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1.25rem;align-items:start;flex:1 0 auto}
.sou-app .hud-panel-navigation{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;border:0;position:sticky;top:0;max-height:calc(100dvh - 12rem);overflow:auto;align-items:stretch;background:var(--canvas)}
.sou-app .hud-panel-navigation button{width:100%;text-align:left;justify-content:flex-start;border:1px solid transparent;border-radius:var(--radius);padding:.625rem .75rem}
.sou-app .hud-panel-navigation button.selected{border-color:var(--border-subtle);background:var(--accent-subtle);color:var(--accent-ink)}
.sou-app .hud-panel-content{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.25rem}
.sou-app .hud-panel-fields{padding:0;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.sou-app .hud-panel-content .form-section{margin-top:1.5rem}
.sou-app .hud-panel-section-picker{display:none}
@container editor (min-width:56rem){.sou-app :is(.editor-match-layout,.editor-map-layout,.editor-competition-layout){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sou-app .editor-pool-layout{grid-template-columns:minmax(18rem,.4fr) minmax(0,1fr)}}
@container editor (min-width:80rem){.sou-app .editor-match-planning{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
@container editor (max-width:42rem){.sou-app .hud-panel-workspace{grid-template-columns:minmax(0,1fr)}.sou-app .hud-panel-navigation{display:none}.sou-app .hud-panel-section-picker{display:grid;margin-top:0}.sou-app .cast-editor-actions>.actions{margin-left:0}.sou-app .cast-editor-actions>.editor-save-state{width:100%}}
.sou-app .hud-session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.sou-app .hud-session-toolbar .actions{margin:0}
.sou-app .hud-package-output{display:flex;align-items:end;gap:.75rem 1rem;flex-wrap:wrap;padding:.875rem 0}
.sou-app .hud-view-picker{flex:1 1 14rem;max-width:28rem;margin:0}
.sou-app .hud-package-output>.actions{margin:0;flex:0 1 auto}
.sou-app .hud-management .data-list>.list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,42rem),1fr));gap:0 1.5rem}
.sou-app .installed-hud-collection>.data-list>.list-items>.list-item{padding:1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:1rem}
.sou-app .launcher-layout{gap:1.5rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.sou-app .launcher-start,.sou-app .launcher-configs{padding:1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius)}
.sou-app .launcher-start{margin:0}
.sou-app .launcher-launch-summary{padding:0;margin:-.5rem 0 1.25rem}
.sou-app .launcher-launch-summary>p{margin:0}
.sou-app .startup-config-editor-head{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}
.sou-app .startup-config-editor-head>label{flex:1 1 15rem;margin:0}
.sou-app .startup-config-editor-head>.actions{margin:0}
.sou-app .startup-config-source textarea{min-height:14rem;height:clamp(14rem,45vh,36rem);font-family:Consolas,monospace;white-space:pre;overflow:auto}
.sou-app .yaibo-session{margin-bottom:1.25rem}
.sou-app .yaibo-session .yaibo-operation{padding-top:0}
.sou-app .yaibo-session .yaibo-readiness{border-bottom:0;padding-bottom:0}
.sou-app .yaibo-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.sou-app .yaibo-settings-column .yaibo-details{margin:0}
.sou-app .connections-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.25rem;align-items:start;margin-bottom:1.25rem}
.sou-app .connections-status{container:connections / inline-size}
.sou-app .connections-status .connection-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}
.sou-app .connections-status .connection-row>:last-child{grid-column:1/-1;justify-content:flex-start}
.sou-app .connections-game .match-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
.sou-app .connections-game .panel-heading{padding-top:0}
.sou-app .cloud-workspace-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(17rem,.7fr);gap:1.25rem;align-items:start}
.sou-app .cloud-workspace-main>.card,.sou-app .cloud-workspace-tools>.card{border:0;padding:0;margin:0}
.sou-app .cloud-workspace-tools>details+details{margin-top:1rem;border-top:1px solid var(--border-subtle);padding-top:.75rem}
.sou-app .cloud-account-grid,.sou-app .cloud-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}
.sou-app #cloud-panel-organizations,.sou-app #staff-panel-accounts{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.25rem}
.sou-app #cloud-panel-organizations>.cloud-section-heading{margin-top:0}
.sou-app #cloud-panel-organizations>.data-list .list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,32rem),1fr));gap:0 1.5rem}
@container (max-width:58rem){.sou-app .organization-member-row,.sou-app .workspace-member-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.sou-app .workspace-member-row>p{grid-column:1/-1}}
@container (max-width:36rem){.sou-app .organization-member-row,.sou-app .workspace-member-row,.sou-app .unassigned-player-row{grid-template-columns:minmax(0,1fr);gap:.75rem}.sou-app .organization-member-role{max-width:24rem}}
.sou-app .cloud-account-facts,.sou-app .update-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem;margin:0 0 1.25rem}
.sou-app :is(.cloud-account-facts,.update-facts) dt{color:var(--secondary);font-size:.8125rem;margin-bottom:.375rem}
.sou-app :is(.cloud-account-facts,.update-facts) dd{margin:0;overflow-wrap:anywhere;font-weight:600}
.sou-app .staff-account-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sou-app .staff-review{padding:1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius)}
.sou-app .staff-review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}
.sou-app .staff-review-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end}
.sou-app .cloud-hud-entry{padding:1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius)}
.sou-app .cloud-hud-versions{margin-top:1rem}
.sou-app .cloud-hud-version{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 0;border-top:1px solid var(--border-subtle)}
.sou-app .cloud-hud-version>.actions{margin:0}
.sou-app .cloud-hud-access,.sou-app .cloud-hud-create{padding:1.25rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);margin-top:1.25rem}
.sou-app .cloud-hud-grants .actions{margin:.5rem 0}
.sou-app .cloud-hud-grants{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.5rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border-subtle)}
.sou-app .cloud-hud-grants>div{min-width:0}
.sou-app .cloud-hud-management .list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,38rem),1fr));gap:1rem}
.sou-app .update-release-notes{white-space:pre-line}
.sou-app main.cloud-login{width:100%;max-width:none;padding:clamp(1.5rem,7vh,5rem) clamp(1rem,5vw,6rem)}
.sou-app .cloud-login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:start;max-width:84rem;margin-inline:auto}
.sou-app .cloud-login-intro{max-width:42rem}
.sou-app .cloud-login-access{max-width:38rem;width:100%;padding:1.5rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius)}
.sou-app .desktop-update-panel{margin-top:1.5rem}
.sou-app .update-release{padding:.875rem 0;border-top:1px solid var(--border-subtle)}
.sou-app .about-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.sou-app .about-brand{justify-content:flex-start;margin:0 0 1.5rem}
.sou-app .about-brand .brand-plate{width:min(100%,16.5rem);max-width:100%;display:block}
.sou-app .about-brand .sou-wordmark{width:100%;height:auto;aspect-ratio:4/1;background-size:100% auto}
.sou-app .keyboard-reference{margin:0}
.sou-app .keyboard-reference>div{display:grid;grid-template-columns:minmax(9rem,.7fr) minmax(0,1fr);gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--border-subtle)}
.sou-app .keyboard-reference>div:last-child{border:0;padding-bottom:0}
.sou-app .keyboard-reference dt{font-size:.8125rem}
.sou-app .keyboard-reference dd{margin:0;color:var(--secondary)}
.sou-app kbd{font:inherit;border:1px solid var(--border-subtle);border-radius:3px;padding:.125rem .25rem;white-space:nowrap;background:var(--raised)}
.sou-app .import-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}
.sou-app .import-source-column{min-width:0}
.sou-app .import-source{padding-top:.5rem}
.sou-app .import-source legend{font-size:1rem;font-weight:600;padding:.5rem}
.sou-app .import-options,.sou-app .import-review{border-radius:var(--radius)}
.sou-app .import-options>h2:first-child,.sou-app .import-review>h2:first-child{scroll-margin-top:1rem}
.sou-app .import-options .import-fields,.sou-app .import-source .import-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.sou-app .import-review .player-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.sou-app .import-review .player-summary>small{grid-column:1;grid-row:2}
.sou-app .import-review .player-summary>label{grid-column:2;grid-row:1/3;display:flex;align-items:center;margin:0}
@container workspace (min-width:74rem){.sou-app .import-workspace{grid-template-columns:minmax(18rem,.6fr) minmax(0,1fr)}.sou-app .import-review{grid-column:1/-1}.sou-app .import-review .list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,28rem),1fr));gap:0 1.5rem}}
@container workspace (max-width:58rem){.sou-app :is(.launcher-layout,.launcher-layout.is-editing-config,.yaibo-workspace,.connections-workspace,.cloud-workspace-layout,.cloud-account-grid,.cloud-settings-grid,.about-workspace,.cloud-hud-grants){grid-template-columns:minmax(0,1fr)}.sou-app .launcher-configs{padding:1.25rem}.sou-app .staff-review-body{grid-template-columns:minmax(0,1fr)}}
@container workspace (max-width:36rem){.sou-app .yaibo-cameras,.sou-app .yaibo-readiness{grid-template-columns:minmax(0,1fr)}.sou-app .keyboard-reference>div{grid-template-columns:minmax(0,1fr);gap:.5rem}}
@container connections (max-width:28rem){.sou-app .connection-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.sou-app .cloud-login-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.sou-app .cloud-login-access{max-width:none}.sou-app .cloud-login-intro{max-width:none}}
@media(max-width:480px){.sou-app :is(.library-surface,.editor-group,.hud-panel-content,.launcher-start,.launcher-configs,.yaibo-session,.yaibo-camera-workspace,.yaibo-settings-column,.cloud-workspace-main,.cloud-workspace-tools,.cloud-account-summary,.cloud-account-session,.connections-status,.connections-game,.about-product,.about-keyboard,.import-source,.import-options,.import-review){padding:1rem}.sou-app .cast-editor{padding:1rem}.sou-app .cast-editor-actions{bottom:-1rem}.sou-app .hud-package-output>.actions{width:100%}}
@media(max-height:540px){.sou-app .cast-editor-actions{position:static}.sou-app .hud-panel-navigation{position:static;max-height:none}}
@media(forced-colors:active){.sou-app :is(.editor-group,.library-surface,.hud-panel-content,.cloud-hud-entry,.cloud-account-summary,.cloud-account-session){border-color:CanvasText}.sou-app [role=tab][aria-selected=true]{outline:2px solid Highlight;outline-offset:-2px}.sou-app .yaibo-switch input:checked:before{background:Highlight}}

/* Shared desktop header: original brand, workspace context and direct account actions. */
.sou-app .topbar.desktop-header{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr) auto;gap:1.25rem;min-height:4.25rem;padding:0 1.5rem 0 0;align-items:center}
.sou-app .desktop-header>.brand-plate{width:100%;min-width:0;min-height:4.25rem;align-self:stretch;border-radius:0;border-right:1px solid var(--border-subtle)}
.sou-app .desktop-header .header-workspace{display:flex;align-items:center;gap:.625rem;min-width:0;max-width:22rem;padding:.5rem 0}
.sou-app .desktop-header .header-workspace-icon{display:flex;flex:none;color:var(--secondary)}
.sou-app .desktop-header .header-workspace-icon .sou-icon{width:1.125rem;height:1.125rem;margin:0;stroke-width:1.5}
.sou-app .desktop-header .header-workspace-copy{display:grid;gap:.125rem;min-width:0;flex:1}
.sou-app .desktop-header .workspace-name{font-size:.875rem;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.sou-app .desktop-header .workspace-select{font-size:.875rem;line-height:1.4;font-weight:600;min-height:2rem;padding:.25rem .375rem;margin-left:-.375rem;width:calc(100% + .375rem);max-width:calc(100% + .375rem);color:var(--text);background-color:var(--surface);border-color:transparent;text-overflow:ellipsis;cursor:pointer}
.sou-app .desktop-header .workspace-select:hover:enabled{background-color:var(--raised);border-color:var(--border-subtle)}
.sou-app .desktop-header .workspace-select:focus-visible{border-color:var(--border-control)}
.sou-app .desktop-header .workspace-select:disabled{cursor:wait;opacity:.65}
.sou-app .desktop-header .workspace-context{color:var(--secondary);font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
.sou-app .desktop-header .topbar-account-actions{margin:0;gap:.75rem;min-width:0;flex-wrap:wrap}
.sou-app .desktop-header .sync-summary,.sou-app .desktop-header .account-shortcut{min-height:2.5rem;max-width:none;min-width:0;padding:.375rem .5rem;font-size:.8125rem;font-weight:400;border:1px solid transparent;display:inline-flex;align-items:center;gap:.5rem;flex-basis:auto;justify-content:center}
.sou-app .desktop-header .sync-summary-text{display:inline;white-space:normal;overflow:visible;text-overflow:clip}
.sou-app .desktop-header .topbar-account-actions .sou-icon{display:block;width:1rem;height:1rem;stroke-width:1.5;flex:none;margin:0}
.sou-app .desktop-header .sync-is-connected .sou-icon{color:var(--success)}
.sou-app .desktop-header .sync-is-attention .sou-icon{color:var(--warning)}
.sou-app .desktop-header .sync-is-running .sou-icon{color:var(--info)}
.sou-app .desktop-header .topbar-account-actions button:hover:enabled{border-color:var(--border-subtle);background:var(--raised)}
@media(max-width:60rem){.sou-app .topbar.desktop-header{gap:1rem;padding-right:1rem}.sou-app .desktop-header .topbar-account-actions{gap:.25rem}}
@media(max-width:48rem){
    .sou-app .topbar.desktop-header{grid-template-columns:min(8rem,30vw) minmax(0,1fr);gap:0 1rem;padding:0 .75rem 0 0}
    .sou-app .desktop-header>.brand-plate{grid-column:1;grid-row:1;min-height:4.25rem}
    .sou-app .desktop-header .header-workspace{grid-column:2;grid-row:1;max-width:none}
    .sou-app .desktop-header .topbar-account-actions{grid-column:1/-1;justify-content:space-between;margin-left:.75rem;padding:.25rem 0;border-top:1px solid var(--border-subtle)}
}
@media(pointer:coarse){.sou-app .desktop-header :is(.workspace-select,.sync-summary,.account-shortcut){min-height:2.75rem}}
@media(forced-colors:active){.sou-app .desktop-header .workspace-select{border-color:ButtonText}.sou-app .desktop-header>.brand-plate{border-color:CanvasText}}

/* Website family: editorial reading widths, a real product image and clear entry points. */
.sou-site .site-header,.sou-site .site-footer{max-width:80rem}
.sou-site main.site-main{max-width:84rem}
.sou-docs .site-header,.sou-docs .site-footer{max-width:94rem}
.sou-docs main.site-main{max-width:98rem}
.sou-site :is(.site-button,button,.site-auth-content input,.site-product-window,.site-cookie-notice){border-radius:var(--radius)}
.sou-site .site-header>.site-brand{border-radius:0 0 var(--radius) var(--radius);align-self:flex-start;height:4.125rem}
.sou-site .site-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center;padding:4rem 0 3.5rem}
.sou-site .site-hero .site-intro{padding:0}
.sou-site .site-hero .site-intro h1{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.06;letter-spacing:-.055em;margin:1rem 0 1.5rem;font-weight:600}
.sou-site .site-hero .site-intro h1 span{color:var(--accent-ink)}
.sou-site .site-hero .site-intro-bottom{display:block}
.sou-site .site-hero .site-intro-actions{margin-top:1.5rem;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.875rem 1.25rem}
.sou-site .site-hero .site-intro-actions .support{flex-basis:100%}
.sou-site .site-hero .site-product{padding:0;min-width:0}
.sou-site .site-product-shot{display:block;width:100%;height:auto;border:1px solid var(--border-subtle);border-radius:var(--radius)}
.sou-site .site-product>a{display:block;border-radius:var(--radius)}
.sou-site .site-product img{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border-subtle)}
.sou-site .site-product figcaption{margin:.75rem 0 0;line-height:1.65;flex-wrap:wrap}
.sou-site .site-benefit-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;border-block:1px solid var(--border-subtle);padding:1.375rem 0;margin:0;list-style:none;font-size:.875rem;color:var(--secondary)}
.sou-site .site-benefit-strip li{display:flex;gap:.25rem;flex-wrap:wrap}
.sou-site .site-hero-support{margin-top:1rem;font-size:.8125rem;color:var(--secondary)}
.sou-site .site-benefit-strip strong{color:var(--text)}
.sou-site .site-features{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;padding:3.5rem 0}
.sou-site .site-features>div{min-width:0}
.sou-site .site-features h2{font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.2;letter-spacing:-.035em;margin:.875rem 0 1.25rem}
.sou-site .site-features>div>p{max-width:36ch}
.sou-site .site-capability{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--border-subtle);padding:0 0 1.5rem;margin-bottom:1.5rem}
.sou-site .site-capability:last-child{margin:0;border:0;padding-bottom:0}
.sou-site .site-capability>.site-icon{margin-top:.25rem;color:var(--accent-ink);width:1.25rem;height:1.25rem}
.sou-site .site-capability h3{font-size:1.0625rem;line-height:1.4;margin:0 0 .5rem}
.sou-site .site-capability-copy{min-width:0}
.sou-site .site-capability-copy p{font-size:.9375rem;line-height:1.7}
.sou-site .site-capability-copy a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.8125rem;font-weight:600}
.sou-site .site-start{border:1px solid var(--border-subtle);border-radius:var(--radius)}
.sou-site .site-account-section{gap:2rem}
.sou-site .docs-nav-group a,.sou-site .docs-overview-link{border-radius:var(--radius)}
.sou-site .docs-sidebar a[aria-current=page],.sou-site .docs-mobile-nav a[aria-current=page]{background:var(--accent-subtle);color:var(--accent-ink)}
@media(max-width:1000px){.sou-site .site-hero{gap:2rem}.sou-site .site-features{gap:2.5rem}}
@media(max-width:850px){.sou-site .site-hero{grid-template-columns:minmax(0,1fr);gap:2rem;padding:2.5rem 0}.sou-site .site-hero .site-intro h1{font-size:clamp(2.5rem,7vw,3.75rem)}.sou-site .site-hero .site-lead{max-width:42rem}.sou-site .site-features{grid-template-columns:minmax(0,1fr);gap:2rem;padding:2.5rem 0}}
@media(max-width:620px){.sou-site .site-header>.site-brand{align-self:center;height:3rem;border-radius:var(--radius)}.sou-site .site-benefit-strip{display:grid;gap:.75rem}.sou-site .site-features>div>p{max-width:none}}
@media(max-width:440px){.sou-site .site-hero{padding:2rem 0}.sou-site .site-hero .site-intro h1{font-size:2.5rem}.sou-site .site-capability{gap:.625rem;grid-template-columns:1.25rem minmax(0,1fr)}}
