/* Compact cherry: original palette, flat chrome, task-sized controls. */
:root{--ground:#190d12;--surface:#241319;--surface-raised:#2d1921;--accent:#dfa0af;--accent-hover:#edb9c5;--ink:#f2e8e6;--muted:#b79ba4;--line:#50313c;--line-quiet:#3a222c}
body{background:var(--ground)}
.page-shell{max-width:1280px;padding:0 40px}
.topbar,.signed-in .topbar{height:80px;margin-top:0;padding:0;gap:27px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.wordmark{font-size:30px;letter-spacing:-.015em}
.main-nav{min-width:0;height:100%;align-items:stretch;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{min-height:44px;min-width:44px;justify-content:center;padding:0 10px;border-radius:0;white-space:nowrap;font-size:13px;font-weight:500;background:transparent}
.main-nav a:hover,.main-nav a[aria-current]{background:transparent}
.main-nav a[aria-current]{color:var(--ink)}
.main-nav a::after{display:block;bottom:0}
.main-nav a:focus-visible{outline-offset:-3px}
.nav-new-cluster{flex-shrink:0;background:transparent}
.profile-trigger .avatar{outline:none}
.profile-trigger:hover .avatar,.topbar:has(.profile-popover:popover-open) .profile-trigger .avatar{outline:1px solid var(--accent);outline-offset:3px}
.login-panel{max-width:344px;padding:26px;border-radius:4px;background:var(--surface)}
.login-panel h1{font-size:32px;line-height:1.2;letter-spacing:-.01em;margin-bottom:24px}
#login-form input{height:44px;font-size:14px}
.login-submit{top:4px;right:4px;border-radius:3px}
.password-field input{padding-right:48px}
.workspace{padding:24px 0 48px}
.roblox-workspace{width:100%;min-height:calc(100svh - 128px);display:grid;place-items:center;text-align:center}
.roblox-workspace h1{font:700 34px/1.2 'Barlow Condensed',sans-serif;color:var(--muted);margin:0;letter-spacing:-.01em}
.feature-grid{gap:14px}
.feature-tile{display:flex;flex-direction:row;align-items:flex-start;gap:14px;min-height:128px;padding:20px 20px 38px;border-radius:4px;border-color:var(--line);background:var(--surface);transition:background .16s,border-color .16s}
.feature-tile:hover{background:var(--surface-raised);border-color:#795363;transform:none}
.feature-tile:active{transform:none}
.feature-glyph{width:34px;height:34px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--accent)}
.feature-glyph .icon{width:20px;height:20px;stroke-width:1.8}
.feature-tile:hover>.feature-glyph{background:transparent}
.feature-tile h2{font-size:14px;line-height:1.5;letter-spacing:0}
.feature-tile p{font-size:12px;line-height:1.65;margin-top:5px;-webkit-line-clamp:2}
.tile-arrow{top:auto;right:18px;bottom:16px;width:14px;height:14px;color:var(--muted)}
.feature-tile:hover .tile-arrow{transform:none;color:var(--accent)}
.view-heading{margin-bottom:24px;gap:20px}
.view-heading h1{font-size:32px;line-height:1.2;letter-spacing:-.01em}
.feature-title-group{gap:12px}
.feature-title-group>.feature-glyph{width:34px;height:34px;border-radius:3px}
.view-heading .button{min-height:44px;padding:10px 14px}
input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select{height:44px;padding:10px 12px;border-radius:3px;font-size:14px;background:var(--ground);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:var(--muted)}
.field{gap:9px;margin-bottom:20px}
.field label{font-weight:500}
.button{gap:10px;padding:10px 14px;font-size:12px;border-radius:3px}
dialog{border-radius:5px;background:var(--surface);box-shadow:0 18px 44px #10080c80}
.dialog-heading{padding:22px 24px;border-radius:3px 3px 0 0;background:var(--surface-raised);border-bottom:1px solid var(--line)}
.dialog-heading h2{font-size:30px;line-height:1.1;letter-spacing:-.01em}
.settings-body{padding:24px}
dialog .button{border-width:1px}
dialog .primary,dialog .primary:active{box-shadow:none}
.window-titlebar{border-radius:3px 3px 0 0;border-bottom:1px solid var(--line);background:var(--surface-raised)}
.window-titlebar h1{font-size:28px}
.window-close::before{border-radius:4px}
.window-body{padding:20px 24px 24px;border-radius:0 0 3px 3px}
.admin-toolbar{padding-bottom:14px;margin-bottom:4px;gap:16px;border-color:var(--line-quiet)}
.admin-toolbar .admin-tabs{max-width:100%;padding:0;gap:18px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border:0;border-radius:0;background:transparent}
.admin-toolbar .admin-tabs a{flex-shrink:0;min-height:44px;padding:8px 0 10px;border-radius:0;background:transparent;font-size:12px}
.admin-toolbar .admin-tabs a[aria-current]{background:transparent;color:var(--accent)}
.admin-toolbar .admin-tabs a[aria-current]::after{display:block;bottom:0}
.admin-row{gap:14px;padding:16px 0}
.admin-row strong{font-size:13px}
.row-meta{font-size:12px}
.admin-row .feature-glyph{width:32px;height:32px}
.user-choice{border-width:1px;border-radius:3px;padding:10px}
.user-choice[aria-pressed=true]{border-color:var(--line);background:var(--surface-raised)}
.directory-avatar{border:1px solid var(--line)}
.permission-copy{flex:1}
.access-option{gap:12px;border-radius:0;border-color:var(--line-quiet)}
.selection-mark{border-width:1px;border-radius:3px}
.access-actions{padding:14px 24px 18px;border-radius:0 0 3px 3px}
.category-picker{padding:4px;gap:4px;border-width:1px;border-radius:3px}
.category-picker span{border-radius:3px}
.profile-popover{border-radius:5px;background:var(--surface);box-shadow:0 12px 32px #10080c80}
.popover-account{padding:20px;border-color:var(--line-quiet)}
.popover-actions button{min-height:44px;border-radius:3px;font-size:12px}
.popover-actions button:hover{background:var(--surface-raised)}
.feature-editor-actions{padding:16px 24px 20px;border-radius:0 0 3px 3px}
.feature-card-preview{min-height:128px;pointer-events:none}
.feature-icon-trigger,.feature-icon-face{border-radius:3px}
.feature-icon-popover{border-width:1px;border-radius:5px}
.toast{border-radius:4px;background:var(--surface-raised);box-shadow:0 6px 18px #10080c60}
.admin-setting-row,.perm-row{border-radius:4px}
.admin-dock{border-radius:4px}
.bandit-panel,.linkly-panel,.obf-panel{border-radius:4px;background:var(--surface);border-color:var(--line)}
.bandit-panel-heading,.linkly-panel-heading{padding:16px 20px;background:transparent;border-color:var(--line-quiet)}
.bandit-panel-heading h2,.linkly-panel-heading h2{font-size:22px;letter-spacing:-.01em}
.bandit-webhook .bandit-panel-heading{padding:16px 20px}
.bandit-preview{padding:3px 8px;border-radius:3px}
.bandit-empty-add{background:var(--surface-raised)}
.linkly-result{background:var(--surface-raised)}
.linkly-row:hover .linkly-row-inner{background:var(--surface-raised)}
.linkly-code,.linkly-copy,.linkly-delete,.obf-select-btn,.obf-chip{border-radius:3px}
.obf-tabs{padding:0;gap:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;margin-bottom:20px}
.obf-tab{min-height:44px;padding:12px 8px;border-radius:0;font-size:12px;letter-spacing:0;text-transform:none}
.obf-tab.is-active{background:transparent;color:var(--accent)}
.obf-tab-thumb{display:block}
@container admin-content (min-width:560px){.user-directory{padding-right:16px;border-right:1px solid var(--line-quiet)}}
@media(max-width:950px){.page-shell{padding:0 32px}}
@media(max-width:700px){
 .page-shell{padding:0 24px}.topbar,.signed-in .topbar{height:80px;gap:20px;padding:0;margin:0;border-radius:0}
 .main-nav{gap:18px}.main-nav a{font-size:12px}.wordmark{font-size:28px}
 .workspace{padding:20px 0 40px}.feature-tile{min-height:120px;padding:18px 18px 36px;gap:14px}.feature-grid{gap:12px}
 .tile-arrow{right:18px;bottom:14px}.view-heading{gap:12px}.view-heading h1{font-size:30px}
 input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,#login-form input{font-size:16px}
 .settings-body{padding:22px 20px}.dialog-heading{padding:20px}.dialog-heading h2{font-size:28px}
 .window-body{padding:16px 20px 20px}.admin-toolbar .admin-tabs{gap:16px}.admin-toolbar .admin-tabs a{padding-inline:0}
 .settings-account{flex-wrap:wrap}.photo-button{margin-left:auto}.feature-card-preview{min-height:128px}
 .feature-editor-actions{padding:16px 20px 20px}.obf-tab .obf-tab-label{display:inline}
}
@media(max-width:560px){.obf-tab{font-size:11px;padding-inline:4px}.obf-tab .icon{display:none}}
@media(max-width:390px){.page-shell{padding:0 18px}.topbar,.signed-in .topbar{gap:16px}.wordmark{font-size:27px}.main-nav{gap:16px}}
@media(max-width:340px){.page-shell{padding:0 16px}.topbar,.signed-in .topbar{gap:12px}.wordmark{font-size:25px}.main-nav{gap:12px}.main-nav a{font-size:11px}}

/* Shared page rhythm and task-first layouts, 2026-10-30. */
.signed-in .main-nav a[aria-current=page]{color:var(--accent);font-weight:700}
.signed-in .main-nav a[aria-current=page]::after{left:10px;right:10px}
.signed-in .main-nav a:hover{color:var(--ink)}
#collection-heading{margin-bottom:24px}
#workspace-view[data-collection=programs] .feature-grid{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
#workspace-view[data-collection=programs] .feature-tile{min-height:88px;padding:20px 44px 20px 16px;align-items:center;border:0;border-bottom:1px solid var(--line-quiet);border-radius:0;background:transparent}
#workspace-view[data-collection=programs] .feature-tile:hover{background:var(--surface)}
#workspace-view[data-collection=programs] .tile-arrow{top:50%;bottom:auto;transform:translateY(-50%)}
#workspace-view[data-collection=programs] .feature-tile p{margin-top:3px}
.signed-in .empty-collection{padding:44px 0;text-align:left;border-top:1px solid var(--line-quiet)}
.signed-in .ai-workspace,.signed-in .vault-workspace{max-width:none}
.ai-title{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.signed-in .ai-endpoint{border:0;padding:24px;background:var(--surface);border-radius:4px}
.signed-in .ai-endpoint-body{padding:0}
.signed-in .ai-key-row{margin-top:20px;padding-top:16px}
.signed-in .ai-status-note{margin-top:16px}
.signed-in .ai-runtime-metrics{gap:24px}
.signed-in .ai-metric{padding:0 20px 0 0;border-right:1px solid var(--line-quiet)}
.signed-in .ai-metric:last-child{border-right:0;padding-right:0}
.signed-in .vault-layout{grid-template-columns:220px minmax(0,1fr)}
.signed-in .vault-directory{padding-right:20px}
.signed-in .vault-editor{padding-left:28px}
.signed-in #vault-content{min-height:280px;line-height:1.8}
.signed-in .vault-actions{margin-top:12px;padding-bottom:20px;border-bottom:1px solid var(--line-quiet)}
.signed-in .vault-attachments{border-top:0;margin-top:20px;padding-top:0}
.signed-in .vault-welcome{padding-top:48px;text-align:left}
.admin-window .admin-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;padding-bottom:16px}
.admin-window .admin-toolbar .admin-tabs{width:100%;gap:0 18px;flex-wrap:wrap;overflow:visible}
.admin-window .admin-toolbar .admin-actions{justify-self:end;margin:0}
.admin-window .admin-toolbar .admin-actions[hidden]{display:none}
.admin-window .user-choice[aria-pressed=true]{border-color:var(--accent)}
.admin-window .access-account{padding-bottom:16px}
.admin-window .access-option{padding-block:14px}
@media(max-width:760px){
 body.signed-in .topbar{height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:18px}
 body.signed-in .topbar .nav-divider{display:none}
 body.signed-in .topbar .wordmark{grid-column:1;grid-row:1}
 body.signed-in .topbar .profile-trigger{grid-column:2;grid-row:1;margin:0}
 body.signed-in .topbar .main-nav{grid-column:1/-1;grid-row:2;min-height:48px;gap:2px;justify-content:flex-start;width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 body.signed-in .topbar .main-nav a{flex-shrink:0;padding-inline:6px;min-width:44px;font-size:12px}
 .signed-in .ai-page-heading{align-items:flex-start;gap:16px;flex-wrap:wrap}
 .ai-title{gap:14px}
 .signed-in .ai-endpoint{padding:20px}
 .signed-in .vault-layout{grid-template-columns:1fr}
 .signed-in .vault-directory{padding-right:0}
 .signed-in .vault-editor{padding-left:0}
 .signed-in .vault-actions{gap:8px}
 .admin-window .admin-toolbar .admin-tabs{gap:16px}
}
@media(prefers-reduced-motion:reduce){.main-nav a::after,.feature-tile,.lab-start{transition:none}}

/* Per-user cluster access: a clear choice, saved explicitly. */
.permissions-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding-top:16px}
.permissions-directory{display:flex;flex-direction:column;gap:6px;padding-right:16px;border-right:1px solid var(--line-quiet);max-height:340px;overflow:auto;align-self:start}
.permission-user{display:grid;gap:4px;min-height:64px;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:4px;text-align:left;color:var(--ink)}
.permission-user strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}
.permission-user>span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.permission-user[aria-pressed=true]{border-color:var(--accent);background:var(--surface-raised)}
.permission-user:hover{background:var(--surface-raised)}
.permission-editor{min-width:0}
.permission-editor h2{font:700 26px/1.2 var(--display);margin:0 0 4px;overflow-wrap:anywhere}
.permission-editor h3{font:600 14px/1.5 var(--body);margin:28px 0 6px}
.cluster-permission{margin:20px 0 0;padding:0 0 20px;border:0;border-bottom:1px solid var(--line-quiet);min-width:0}
.cluster-permission legend{font-size:13px;font-weight:600;padding:0;margin-bottom:10px}
.cluster-choices{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:4px}
.cluster-choices label{position:relative;flex:1;min-width:0;cursor:var(--workspace-cursor,pointer)}
.cluster-choices input{position:absolute;width:1px;height:1px;opacity:0}
.cluster-choices span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;font-size:12px;color:var(--muted);border-radius:2px}
.cluster-choices input:checked+span{background:var(--accent);color:var(--ground);font-weight:700}
.cluster-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.permission-extra{margin-top:16px}
.permission-extra summary{min-height:44px;align-content:center;font-size:13px;color:var(--muted);cursor:var(--workspace-cursor,pointer)}
#permission-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}#permission-actions .form-message{margin:0}#permission-save{margin-left:auto;flex-shrink:0}
@container admin-content (max-width:560px){.permissions-layout{grid-template-columns:1fr;gap:20px}.permissions-directory{flex-direction:row;border-right:0;border-bottom:1px solid var(--line-quiet);padding:0 0 12px;max-height:none}.permission-user{min-width:130px}.permission-editor h3{margin-top:24px}}

.cluster-denied{max-width:540px;margin:64px auto;text-align:center}.cluster-denied h1{font:700 34px/1.2 var(--display);margin:0 0 18px}.cluster-denied p{font-size:14px;line-height:1.7}
