@font-face{font-family:Manrope;src:url('fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/barlow-condensed.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{color-scheme:dark;--ground:#190d12;--surface:#241319;--surface-raised:#2d1921;--accent:#dfa0af;--accent-hover:#edb9c5;--ink:#f2e8e6;--muted:#b79ba4;--line:#50313c;--line-quiet:#3a222c;--error:#f4a7ab;--success:#b5c6a5;--body:Manrope,sans-serif;--display:'Barlow Condensed',sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{min-height:100%;scrollbar-color:var(--line) var(--ground);scrollbar-width:thin;scroll-padding-top:24px}
body{margin:0;background:var(--ground);color:var(--ink);font:500 14px/1.65 var(--body);min-height:100svh;caret-color:var(--accent)}
::selection{background:var(--accent);color:var(--ground)}
button,input,select,summary{font:inherit}
button,a,input,summary,label{ -webkit-tap-highlight-color:transparent}
button{cursor:var(--workspace-cursor,pointer)}
button:disabled{cursor:wait;opacity:.6}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{color:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible,.photo-button:has(+input:focus-visible){outline:2px solid var(--accent);outline-offset:5px}
input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,p{margin:0}
h1,h2{text-wrap:balance}
[hidden]{display:none!important}
.page-shell{max-width:1216px;padding:0 48px;margin:auto;min-height:100svh;display:flex;flex-direction:column}
.topbar{height:97px;display:flex;align-items:center;gap:27px;border-bottom:1px solid var(--line);position:relative;flex-shrink:0;transition:height .28s var(--ease)}
.signed-in .topbar{height:80px}
.wordmark{font:700 30px/1 var(--display);letter-spacing:-.015em;display:inline-flex;align-items:center}
.wordmark>span:first-child{color:var(--accent)}
.nav-divider{width:1px;height:23px;background:var(--line)}
.main-nav{height:100%;display:flex;align-items:stretch;gap:28px}
.main-nav a{position:relative;display:flex;align-items:center;font-size:13px;color:var(--muted);transition:color .18s}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--ink)}
.main-nav a::after{position:absolute;content:'';height:2px;background:var(--accent);bottom:-1px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.signed-in .main-nav a[aria-current]::after{transform:scaleX(1)}
body:not(.signed-in) .main-nav,body:not(.signed-in) .nav-divider{display:none}
.icon{display:inline-block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon.small{width:14px;height:14px}
.profile-trigger{margin-left:auto;display:flex;align-items:center;justify-content:center;border:0;background:none;padding:8px;color:var(--muted);border-radius:50%}
.avatar{height:38px;width:38px;border-radius:50%;background:#643344;display:inline-flex;align-items:center;justify-content:center;color:#f3c4cf;font:700 22px/1 var(--display);overflow:hidden;flex-shrink:0}
.avatar img{display:block;width:100%;height:100%;object-fit:cover}
.avatar.large{height:52px;width:52px;font-size:29px}
.profile-trigger:hover .avatar{outline:1px solid var(--accent);outline-offset:3px}
.profile-trigger .avatar{transition:transform .18s var(--ease),background .18s}
.profile-trigger:active .avatar{transform:scale(.92)}
.topbar:has(.profile-popover:popover-open) .profile-trigger .avatar{background:#7a4053;outline:1px solid var(--accent);outline-offset:3px}
.profile-popover{position:fixed;inset:auto;top:var(--popover-top,80px);right:var(--popover-right,48px);margin:0;padding:0;width:268px;max-width:calc(100vw - 32px);background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 40px #10080c80;transform-origin:top right;opacity:0;transform:translateY(-4px) scale(.96);transition:opacity .16s ease,transform .16s var(--ease),display .16s allow-discrete,overlay .16s allow-discrete}
.profile-popover:popover-open{opacity:1;transform:translateY(0) scale(1);transition-duration:.26s}
@starting-style{.profile-popover:popover-open{opacity:0;transform:translateY(-4px) scale(.96)}}
.popover-account{display:flex;gap:13px;align-items:center;padding:21px 20px;border-bottom:1px solid var(--line)}
.popover-account>div{min-width:0}
.popover-account strong{display:block;font-size:14px;overflow-wrap:anywhere;max-width:169px}
.role{display:block;margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.popover-actions{padding:7px}
.popover-actions button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:0;padding:12px;border-radius:3px;font-size:12px;transition:background .15s}
.popover-actions button:hover{background:#3a202a}
.popover-actions button:last-child{color:var(--accent)}
.action-arrow{margin-left:auto;color:var(--muted)}
main{flex:1;display:flex;flex-direction:column}
.login-layout{display:flex;justify-content:center;align-items:center;margin:auto 0;padding:48px 0 80px}
.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:29px 28px;max-width:360px;width:100%}
.login-panel h1{font:700 32px/1.2 var(--display);letter-spacing:-.01em;text-align:center;margin-bottom:24px}
.login-panel .field{margin-bottom:14px}
.login-panel .field:last-of-type{margin-bottom:0}
#login-form input{height:44px}
.login-panel .form-message:not(:empty){margin:14px 0 0}
.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.field label{font-size:12px;line-height:1.3;color:var(--ink)}
input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select{width:100%;height:47px;border:1px solid var(--line);background:var(--ground);color:var(--ink);border-radius:3px;padding:11px 13px;font-size:13px;transition:border-color .15s}
input::placeholder{color:#b497a0;opacity:1}
input:hover,select:hover{border-color:#795363}
.password-field{position:relative}
.password-field input{padding-right:47px}
.login-submit{display:flex;align-items:center;justify-content:center;position:absolute;right:4px;top:4px;width:36px;height:36px;padding:0;border-radius:3px;transition:background .18s,border-color .18s}
.login-submit::before{content:'';position:absolute;inset:-4px}
.login-submit[aria-busy=true] .icon{opacity:0}
.login-submit[aria-busy=true]::after{content:'';position:absolute;width:14px;height:14px;border:2px solid #190d1260;border-top-color:var(--ground);border-radius:50%;animation:sign-in-spin .7s linear infinite}
@keyframes sign-in-spin{to{transform:rotate(360deg)}}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:11px 18px;font-size:12px;line-height:1.5;font-weight:700;border-radius:3px;transition:background .18s,color .18s,border-color .18s}
.primary{background:var(--accent);border:1px solid var(--accent);color:var(--ground)}
.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}
.secondary:hover{background:var(--surface-raised);border-color:var(--muted)}
.full-width{width:100%;justify-content:space-between}
.form-message{font-size:12px;line-height:1.6;color:var(--error);overflow-wrap:anywhere}
.form-message:not(:empty){margin:0 0 16px}
.form-message.success{color:var(--success)}
.workspace{padding:22px 0 48px}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.feature-tile{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:126px;padding:21px 21px 39px;background:var(--surface);border:1px solid var(--line);border-radius:5px;transition:background .2s,border-color .2s}
.feature-tile:hover{background:var(--surface-raised);border-color:#906172}
.feature-tile>div{min-width:0}
.feature-tile h2{font:700 15px/1.5 var(--body);overflow-wrap:anywhere}
.feature-tile p{font-size:12px;color:var(--muted);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.feature-glyph{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);border:1px solid var(--line);border-radius:3px}
.feature-glyph .icon{width:22px;height:22px;stroke-width:2}
.tile-arrow{position:absolute;right:20px;bottom:17px;color:var(--muted);transition:transform .2s var(--ease),color .2s}
.feature-tile:hover .tile-arrow{transform:translateX(3px);color:var(--accent)}
.empty-collection{padding:62px 20px;text-align:center;font-size:13px;color:var(--muted)}
.view-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.view-heading h1{font:700 34px/1.2 var(--display);letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0}
.view-heading .button{flex-shrink:0;white-space:nowrap}
.back-arrow{transform:rotate(180deg)}
.feature-canvas{min-height:380px;border-top:1px solid var(--line-quiet)}
.admin-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:20px}
.admin-tabs a{position:relative;padding:9px 0 14px;font-size:13px;color:var(--muted);transition:color .18s}
.admin-tabs a:hover,.admin-tabs a[aria-current]{color:var(--ink)}
.admin-tabs a[aria-current]::after{content:'';position:absolute;height:2px;background:var(--accent);left:0;right:0;bottom:-1px}
.admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line-quiet)}
.admin-row>div{min-width:0}
.admin-row .admin-feature-copy{flex:1}
.admin-row>.feature-glyph{align-self:center}
.access-option>.feature-glyph{width:32px;height:32px;border:0;background:var(--ground)}
.access-option>.feature-glyph .icon{width:20px;height:20px}
.feature-title-group>.feature-glyph{width:36px;height:36px}
.admin-row strong{display:block;font-size:13px;overflow-wrap:anywhere}
.row-meta{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.empty-admin{color:var(--muted);font-size:13px;padding:20px 0}
.users-layout{display:flex;flex-direction:column;gap:24px}
.user-directory{display:flex;gap:8px;overflow:auto;padding:2px 2px 10px;scrollbar-width:thin}
.user-choice{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:184px;max-width:100%;padding:10px;border:2px solid transparent;border-radius:5px;background:transparent;text-align:left;transition:background .18s,border-color .18s}
.user-choice:hover{background:var(--surface-raised)}
.user-choice[aria-pressed=true]{background:var(--surface-raised);border-color:var(--accent)}
.directory-avatar{width:36px;height:36px;flex-shrink:0;border:2px solid var(--window-outline)}
.user-choice:not([aria-pressed=true]) .directory-avatar{background:var(--ground);color:var(--muted)}
.user-choice-copy{min-width:0}
.user-choice-copy strong{display:block;font-size:13px;overflow-wrap:anywhere}
.user-choice-copy>span{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
#access-form{min-width:0}
.access-account{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.access-account>div{min-width:0}
.access-account .avatar{width:44px;height:44px}
.access-account h2{font:700 28px/1.1 var(--display);overflow-wrap:anywhere}
.access-account p{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
@container admin-content (min-width:560px){.users-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}.user-directory{flex-direction:column;align-self:start;max-height:340px;padding:2px 12px 8px 2px;border-right:2px solid var(--window-outline)}.user-choice{width:100%;min-width:0}}
.access-actions{flex-shrink:0;padding:12px 24px 18px;background:var(--surface);border-top:1px solid var(--line-quiet);border-radius:0 0 5px 5px;opacity:1;transition:opacity .15s,display .15s allow-discrete}
.access-actions[hidden]{opacity:0;pointer-events:none}
@starting-style{.access-actions:not([hidden]){opacity:0}}
.admin-content{min-width:0}
.access-list{padding:0;border:0;margin:0 0 23px}
.access-list legend{font-size:12px;margin-bottom:10px}
.checkbox-row{display:flex;align-items:center;gap:12px;min-height:44px;font-size:12px;cursor:var(--workspace-cursor,pointer)}
.checkbox-row input{width:18px;height:18px;margin:0;accent-color:var(--accent);flex-shrink:0;cursor:var(--workspace-cursor,pointer)}
.access-option{position:relative;justify-content:space-between;padding:14px 12px;border-top:1px solid var(--line);transition:background .18s}
.access-option:last-child{border-bottom:1px solid var(--line-quiet)}
.access-option:hover,.access-option:has(input:checked){background:var(--surface-raised)}
.permission-copy{min-width:0;overflow-wrap:anywhere}
.permission-copy>span:first-child{font-size:13px;font-weight:700}
.permission-copy .row-meta{font-size:12px;margin-top:3px}
.selection-mark{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:2px solid var(--window-outline);border-radius:5px;background:var(--ground);box-shadow:inset 0 0 0 1px var(--muted);color:var(--ground);transition:background .18s}
.selection-mark .icon{opacity:0;stroke-width:2.4}
.access-option:has(input:checked) .selection-mark{background:var(--accent);box-shadow:none}
.access-option:has(input:checked) .selection-mark .icon{opacity:1}
.access-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.category-picker{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 20px;padding:6px;border:2px solid var(--window-outline);border-radius:5px;background:var(--ground)}
.category-picker legend{font-size:12px;margin-bottom:9px;padding:0}
.category-picker label{position:relative;cursor:var(--workspace-cursor,pointer)}
.category-picker span{display:flex;justify-content:center;align-items:center;min-height:40px;border-radius:3px;font-size:12px;font-weight:700;color:var(--muted);transition:background .18s,color .18s}
.category-picker label:has(input:checked) span{background:var(--accent);color:var(--ground)}
.category-picker label:hover span{color:var(--ink)}
.category-picker label:has(input:checked):hover span{color:var(--ground);background:var(--accent-hover)}
.category-picker label:has(input:focus-visible) span{outline:2px solid var(--accent);outline-offset:3px}
#feature-form>.checkbox-row{margin-bottom:20px}
.optional,.field-hint{font-size:11px;color:var(--muted)}
.field-hint{margin:0 0 23px}
dialog{--window-outline:var(--line);margin:auto;padding:0;width:480px;max-width:calc(100vw - 48px);max-height:calc(100svh - 56px);overflow:visible;border:2px solid var(--window-outline);border-radius:7px;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px #10080cb3;scrollbar-color:var(--line) var(--surface);opacity:0;transform:translateY(6px) scale(.985);transition:opacity .18s,transform .18s var(--ease),display .18s allow-discrete,overlay .18s allow-discrete}
dialog[open]{opacity:1;transform:translateY(0) scale(1);transition-duration:.28s}
dialog::backdrop{background:#10080cbf;opacity:0;transition:opacity .2s,display .2s allow-discrete,overlay .2s allow-discrete}
dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]{opacity:0;transform:translateY(6px) scale(.985)}dialog[open]::backdrop{opacity:0}}
.dialog-heading{position:relative;display:flex;align-items:center;justify-content:space-between;padding:23px 28px;border-bottom:2px solid var(--window-outline);border-radius:5px 5px 0 0;background:var(--surface-raised)}
.dialog-heading h2{font:700 36px/1 var(--display);letter-spacing:-.01em}
.dialog-heading h2 span{color:var(--accent)}
.admin-window{position:fixed;inset:auto;margin:0;z-index:20;width:760px;height:520px;max-width:calc(100vw - 48px);max-height:calc(100svh - 48px)}
.admin-window[open]{display:flex;flex-direction:column}
.window-titlebar{position:relative;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:64px;padding:0 24px;background:var(--surface-raised);border-bottom:2px solid var(--window-outline);border-radius:5px 5px 0 0;cursor:grab;touch-action:none;user-select:none}
.window-titlebar h1{font:700 28px/1 var(--display);letter-spacing:-.01em;padding:8px 0}
.window-titlebar h1:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.window-caption{display:flex;align-items:center;gap:12px;min-width:0}
.window-unsaved{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent)}
.window-close{position:absolute;top:-22px;right:-20px;z-index:4;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ground);cursor:var(--workspace-cursor,pointer)}
.window-close::before{content:'';position:absolute;inset:8px;background:var(--accent);border:2px solid var(--window-outline);border-radius:5px;box-shadow:0 3px 0 var(--window-outline);transform:rotate(8deg);transition:transform .2s var(--ease),background .2s}
.window-close .icon{position:relative;width:14px;height:14px;stroke-width:2.4}
.window-close:hover::before{background:var(--accent-hover);transform:rotate(0)}
.window-minimize{right:24px}
.window-minimize::before{transform:rotate(-4deg)}
.admin-window.is-folding{pointer-events:none}
.admin-snap-preview{position:fixed;z-index:19;pointer-events:none;border:2px dashed var(--accent);border-radius:7px}
.admin-dock{position:fixed;left:24px;bottom:24px;z-index:20;display:flex;align-items:center;justify-content:center;gap:12px;min-width:144px;min-height:48px;padding:10px 16px;border:2px solid var(--line);border-radius:6px;background:var(--surface-raised);color:var(--accent);box-shadow:0 8px 24px #10080c80;transition:background .18s,border-color .18s}
.admin-dock>span:first-of-type{font:700 22px/1 var(--display);color:var(--ink)}
.admin-dock[data-side=right]{left:auto;right:24px}
.admin-dock:hover{border-color:var(--accent);background:var(--surface)}
.window-body{container-type:inline-size;container-name:admin-content;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 24px 24px;border-radius:0 0 5px 5px}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:10px}
.admin-toolbar .admin-tabs{gap:4px;margin:0;align-items:center;padding:4px;border:2px solid var(--window-outline);border-radius:5px;background:var(--ground)}
.admin-toolbar .admin-tabs a{display:flex;align-items:center;min-height:34px;padding:4px 12px;border-radius:3px;transition:color .18s,background .18s}
.admin-toolbar .admin-tabs a[aria-current]{background:var(--surface-raised);color:var(--accent)}
.admin-toolbar .admin-tabs a[aria-current]::after{display:none}
.admin-toolbar .button{white-space:nowrap;gap:8px;flex-shrink:0}
@container admin-content (max-width:420px){.admin-toolbar{flex-wrap:wrap}.admin-actions{margin-left:auto}}
.admin-window #admin-users{padding-top:16px}
.window-resize{position:absolute;touch-action:none;z-index:2}
.edge-n,.edge-s{height:8px;left:12px;right:12px;cursor:ns-resize}
.edge-n{top:0}.edge-s{bottom:0}
.edge-e,.edge-w{width:8px;top:12px;bottom:12px;cursor:ew-resize}
.edge-e{right:0}.edge-w{left:0}
.corner-ne,.corner-se,.corner-sw,.corner-nw{width:14px;height:14px}
.corner-ne{right:0;top:24px;cursor:nesw-resize}.corner-se{right:0;bottom:0;cursor:nwse-resize}.corner-sw{left:0;bottom:0;cursor:nesw-resize}.corner-nw{left:0;top:0;cursor:nwse-resize}
.corner-se::after{content:'';position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted)}
.admin-window.is-manipulating{transition:none;user-select:none}
.admin-window.is-manipulating .window-titlebar{cursor:grabbing}
@media(max-width:480px){.window-titlebar{height:58px;padding-left:18px}.window-body{padding:14px 18px 20px}.access-actions{padding:12px 18px 18px}.admin-toolbar{gap:10px}.admin-toolbar .admin-tabs a{padding:4px 9px}.admin-toolbar .button{padding:10px}}
.settings-body{padding:27px 28px;max-height:calc(100svh - 144px);overflow:auto;overscroll-behavior:contain;border-radius:0 0 5px 5px}
#feature-dialog{width:760px}
#feature-dialog[open]{display:flex;flex-direction:column}
#feature-dialog>.dialog-heading{flex-shrink:0}
.feature-editor-form{display:flex;flex-direction:column;min-height:0}
.feature-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:24px 28px;overflow:auto;overscroll-behavior:contain;min-height:0}
.feature-editor-fields,.feature-editor-appearance{min-width:0}
.feature-visible{margin-top:4px}
.feature-preview-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;color:var(--muted)}
.feature-preview-label>span:last-child{color:var(--accent)}
.feature-card-preview{pointer-events:none;margin-bottom:24px}
.feature-icon-picker{padding:0;margin:0;border:0;min-width:0}
.feature-icon-label{display:block;font-size:12px;margin-bottom:10px}
.feature-icon-trigger{gap:10px;max-width:100%;min-width:166px;justify-content:flex-start}
.feature-icon-trigger>span:first-child{display:flex;color:var(--accent)}
.feature-icon-trigger .icon{width:22px;height:22px}
.feature-icon-change{margin-left:auto;padding-left:12px;font-weight:500;color:var(--muted)}
.feature-icon-popover{position:fixed;inset:auto;margin:0;width:322px;max-width:calc(100vw - 24px);padding:12px;background:var(--surface-raised);color:var(--ink);border:2px solid var(--line);border-radius:7px;box-shadow:0 12px 30px #10080c80;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s var(--ease),display .15s allow-discrete,overlay .15s allow-discrete}
.feature-icon-popover:popover-open{opacity:1;transform:translateY(0)}
.feature-icon-popover:not(:popover-open){pointer-events:none}
.feature-icon-popover-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;line-height:20px}
.feature-icon-popover-heading>span:last-child{color:var(--muted)}
.feature-icon-popover fieldset{border:0;margin:0;padding:0;min-width:0}
.feature-icon-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.feature-icon-choice{position:relative;min-width:0;cursor:var(--workspace-cursor,pointer)}
.feature-icon-face{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border-radius:5px;color:var(--accent);transition:color .15s,background .15s}
.feature-icon-face>.icon{width:22px;height:22px;color:inherit}
.feature-icon-choice:hover .feature-icon-face{background:var(--ground)}
.feature-icon-choice:has(input:checked) .feature-icon-face{background:var(--accent);color:var(--ground)}
.feature-icon-choice:has(input:focus-visible) .feature-icon-face{outline:2px solid var(--accent);outline-offset:3px}
@starting-style{.feature-icon-popover:popover-open{opacity:0;transform:translateY(4px)}}
@media(max-width:360px){.feature-icon-options{grid-template-columns:repeat(5,minmax(0,1fr))}}
.feature-editor-actions{flex-shrink:0;padding:16px 28px 20px;border-top:1px solid var(--line);border-radius:0 0 5px 5px;background:var(--surface)}
.feature-editor-actions>.form-message:empty{display:none}
.feature-editor-actions>div{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:700px){.feature-editor-body{grid-template-columns:1fr;gap:24px;padding:20px}.feature-editor-actions{padding:14px 20px 18px}.feature-card-preview{margin-bottom:20px}.admin-row{gap:12px}}
dialog .button{border:2px solid var(--window-outline)}
dialog .primary{box-shadow:0 2px 0 var(--window-outline)}
dialog .primary:active{transform:translateY(1px);box-shadow:0 1px 0 var(--window-outline)}
.settings-account{display:flex;align-items:center;gap:13px;margin-bottom:24px}
.settings-account>div{min-width:0;flex:1}
.settings-account strong{display:block;font-size:13px;overflow-wrap:anywhere}
.photo-button{font-size:10px;min-height:38px;white-space:nowrap;padding:8px 11px;cursor:var(--workspace-cursor,pointer);flex-shrink:0}
.profile-save-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.profile-save-row .form-message{margin:0}
.profile-save-row button{margin-left:auto;flex-shrink:0}
.password-settings{border-top:1px solid var(--line);margin-top:27px;padding-top:8px}
.password-settings summary{cursor:var(--workspace-cursor,pointer);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:51px;font-size:12px}
.password-settings summary::-webkit-details-marker{display:none}
.password-settings summary>span{display:inline-flex;align-items:center;gap:10px}
.password-settings summary>.icon{color:var(--muted);transition:transform .2s}
.password-settings[open] summary>.icon{transform:rotate(180deg)}
.password-settings form{padding-top:15px}
.toast{position:fixed;inset:auto;margin:0;bottom:24px;left:50%;transform:translate(-50%,4px);width:max-content;max-width:min(320px,calc(100vw - 32px));padding:12px 16px;background:var(--surface-raised);color:var(--ink);border:1px solid var(--accent);border-radius:4px;font-size:12px;line-height:1.6;overflow-wrap:anywhere;pointer-events:none;z-index:100;opacity:0;transition:opacity .16s,transform .16s var(--ease),display .16s allow-discrete,overlay .16s allow-discrete}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.toast.success{border-color:var(--success)}
.toast[data-anchor=pointer]{left:var(--toast-x,12px);top:var(--toast-y,12px);bottom:auto;transform:translateY(4px)}
.toast[data-anchor=pointer].is-visible{transform:translateY(0)}
.toast[data-anchor=pointer]::before{content:'';position:absolute;top:-5px;left:12px;width:8px;height:8px;background:var(--surface-raised);border-top:1px solid var(--accent);border-left:1px solid var(--accent);transform:rotate(45deg)}
.toast.success::before{border-color:var(--success)}
.toast[data-left-side=true]::before{left:auto;right:12px}
.toast[data-above=true]::before{top:auto;bottom:-5px;transform:rotate(225deg)}
@starting-style{.toast.is-visible{opacity:0}}
.admin-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.admin-toolbar .admin-delete{width:44px;min-height:44px;padding:10px;color:var(--accent)}
.admin-toolbar .admin-delete:disabled{opacity:.4;cursor:not-allowed}
.delete-user-account{display:flex;align-items:center;gap:12px;margin-bottom:20px;min-width:0}
.delete-user-account>div{min-width:0}
.delete-user-account strong,.delete-user-account span:not(.avatar){display:block;overflow-wrap:anywhere}
#delete-user-username{font-size:12px;color:var(--muted)}
#delete-user-description{font-size:13px;color:var(--muted);margin-bottom:24px}
.delete-user-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#unsaved-access-description{font-size:13px;color:var(--muted);margin:0 0 24px}
@media(hover:hover) and (pointer:fine) and (forced-colors:none){html{--workspace-cursor:url('cherry-cursor.svg?v=15') 3 3,auto}html,body,button,a,label,summary,select{cursor:var(--workspace-cursor)}input,textarea,[contenteditable=true]{cursor:url('cherry-text-cursor.svg') 16 16,text}button:disabled,input:disabled{cursor:not-allowed}}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:var(--accent);color:var(--ground);padding:10px;z-index:100}
.skip-link:focus{transform:none}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.profile-popover:not(:popover-open),dialog:not([open]),dialog:not([open])::backdrop{pointer-events:none}
@media(max-width:950px){.page-shell{padding:0 32px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page-shell{padding:0 24px}.topbar{height:80px;gap:20px}.main-nav{gap:23px}.login-layout{padding:40px 0 64px}.login-panel{padding:27px 24px}.workspace{padding:18px 0 40px}.feature-grid{grid-template-columns:1fr}.feature-tile{min-height:116px;padding:20px 18px 38px}.avatar{width:34px;height:34px}.view-heading h1{font-size:30px}.view-heading{gap:14px}.view-heading .button{padding:10px 12px}}
@media(max-width:390px){.page-shell{padding:0 18px}.topbar{gap:16px}.wordmark{font-size:27px}.main-nav{gap:19px}.main-nav a{font-size:12px}.settings-body{padding:24px 20px}.dialog-heading{padding:21px 20px}.settings-account{gap:10px}.settings-account .avatar{height:43px;width:43px}.photo-button{padding:7px 8px}.access-option{padding:13px 10px}.access-option .row-meta{font-size:10px}}
@media(max-width:340px){.topbar{gap:12px}.wordmark{font-size:25px}.main-nav{gap:12px}.main-nav a{font-size:11px}.profile-trigger{padding:6px}.avatar{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
