:root,[data-theme=dark]{color-scheme:dark;--charcoal: #1c1b19;--bone: #ece6d9;--bg: #141311;--panel: #1c1b19;--line: #2f2d29;--text: #ece6d9;--muted: #9c968a;--field: #171614;--hover: #252320;--chip: #282622;--primary: #ece6d9;--primary-hover: #f6f1e7;--primary-text: #1c1b19;--info: #c9c2b3;--info-bg: rgba(236, 230, 217, .08);--ok: #b5c9a6;--ok-bg: rgba(181, 201, 166, .1);--warn: #dcb88c;--warn-bg: rgba(220, 184, 140, .1);--danger: #e2a59c;--danger-bg: rgba(226, 165, 156, .1);--accent: #ece6d9;--ring: rgba(236, 230, 217, .22);--glow: rgba(236, 230, 217, .07);--shadow: 0 1px 0 rgba(236, 230, 217, .04) inset, 0 10px 30px rgba(0, 0, 0, .4);--radius: 14px;font-family:Inter,SF Pro Text,Segoe UI,system-ui,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}[data-theme=light]{color-scheme:light;--bg: #f1ece2;--panel: #faf7f1;--line: #e0d9cb;--text: #1c1b19;--muted: #6b665d;--field: #fdfbf7;--hover: #ebe5d9;--chip: #e8e1d3;--primary: #1c1b19;--primary-hover: #2c2a27;--primary-text: #f3eee4;--info: #3d3a35;--info-bg: #e8e2d5;--ok: #3f5a33;--ok-bg: #e5eadc;--warn: #8a5a22;--warn-bg: #f3e8d6;--danger: #9a3a2e;--danger-bg: #f5e3de;--accent: #1c1b19;--ring: rgba(28, 27, 25, .16);--glow: rgba(28, 27, 25, .05);--shadow: 0 1px 2px rgba(28, 27, 25, .05), 0 10px 28px rgba(28, 27, 25, .07)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);line-height:1.45}button,input,select,textarea{font:inherit}textarea{resize:vertical}button{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s}button:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}a{color:var(--accent)}::selection{background:var(--ring)}h1,h2,h3{margin:0 0 8px;font-weight:650;letter-spacing:-.01em}h1{font-size:24px;letter-spacing:-.02em}h2{font-size:16px}h3{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.app-shell{display:grid;grid-template-columns:256px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.sidebar{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;min-width:0;--side: #121110;--side-text: #ece6d9;--side-muted: #857f74;--side-line: #262421;background:radial-gradient(420px 260px at 0% 0%,rgba(236,230,217,.08),transparent 70%),var(--side);color:var(--side-text);border-right:1px solid var(--side-line);padding:22px 14px;display:flex;flex-direction:column;gap:22px}.brand-block{display:flex;flex-direction:column;gap:2px;padding:2px 10px 2px 52px;position:relative;min-height:40px;justify-content:center}.brand-block:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:11px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5l6 2.3v4.5c0 3.8-2.6 6-6 6.8-3.4-.8-6-3-6-6.8V7.3L12 5z' fill='none' stroke='%231c1b19' stroke-width='1.8'/%3E%3Cpath d='M9.5 12l1.8 1.8 3.2-3.3' fill='none' stroke='%231c1b19' stroke-width='1.8'/%3E%3C/svg%3E") center / 20px no-repeat,linear-gradient(135deg,#f6f1e7,#cfc6b4);box-shadow:0 8px 20px #00000073,0 0 0 1px #ffffff59 inset}.brand-block strong{font-size:15px;letter-spacing:-.01em}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--side-muted, var(--muted))}.sidebar strong{color:var(--side-text)}.sidebar nav{display:flex;flex-direction:column;gap:16px;flex:1;overflow:auto}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--side-muted);padding:0 12px 4px}.sidebar nav a{display:flex;align-items:center;gap:10px;text-align:left;text-decoration:none;border:0;background:transparent;color:#bdb6a9;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:500;position:relative;transition:background .15s,color .15s}.sidebar nav a:hover{background:#ece6d90d;color:var(--side-text)}.sidebar nav a i{width:16px;text-align:center;color:var(--side-muted);transition:color .15s}.sidebar nav a.active{background:linear-gradient(90deg,#ece6d924,#ece6d908);color:var(--side-text);box-shadow:inset 0 0 0 1px #ece6d91f}.sidebar nav a.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--side-text);box-shadow:0 0 12px #ece6d980}.sidebar nav a.active i{color:var(--side-text)}.sidebar .ghost{color:#bdb6a9;border-color:var(--side-line);background:#ece6d905}.sidebar .ghost:hover{background:#ece6d912;color:var(--side-text)}.sidebar .user-meta strong{color:var(--side-text)}.sidebar .user-meta span{color:var(--side-muted)}button[data-tip],a[data-tip]{position:relative}button[data-tip]:hover:after,button[data-tip]:focus-visible:after,a[data-tip]:hover:after{content:attr(data-tip);position:absolute;z-index:50;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:220px;padding:6px 9px;border-radius:8px;background:#1c1b19;color:#ece6d9;border:1px solid #34312c;font-size:12px;font-weight:500;line-height:1.35;white-space:normal;text-align:left;pointer-events:none;box-shadow:0 6px 16px #0000002e}button i,a.ghost i{margin-right:6px}button i:last-child,a.ghost i:last-child{margin-right:0;margin-left:6px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px}.icon-button:hover{background:var(--hover)}.icon-button i{margin:0}.segment button{display:inline-flex;align-items:center;gap:8px}.segment button i{margin:0;color:var(--muted)}.segment button.active i{color:inherit}.sidebar-foot{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#ece6d908;border:1px solid var(--side-line)}.sidebar-foot .ghost{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 10px;border-radius:10px}.sidebar-foot .ghost i{margin:0;width:16px;text-align:center;color:var(--side-muted)}.sidebar-foot .account-switch{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{display:flex;flex-direction:column;gap:1px;font-size:12px;padding:2px 4px 8px 48px;position:relative;min-height:38px;justify-content:center;border-bottom:1px solid var(--side-line);margin-bottom:2px}.user-meta .user-avatar{position:absolute;left:4px;top:2px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;color:#ece6d9;box-shadow:0 0 0 2px #121110,0 0 0 3px #ece6d959}.sidebar-foot .account-switch{display:flex;align-items:center;gap:10px;min-width:0}.switch-avatar{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;color:#ece6d9;box-shadow:0 0 0 1px #ece6d933}.switch-mail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.user-meta strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta span{color:var(--side-muted, var(--muted))}.workspace{position:relative;padding:32px 40px 56px;overflow:auto;min-width:0;min-height:0;height:100%;overscroll-behavior:contain}.sidebar nav{min-height:0}.sidebar-foot{flex:none}.stack{display:flex;flex-direction:column;gap:20px}.page{width:100%;animation:page-in .25s ease backwards}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head,.section-head,.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-head{margin-bottom:6px;align-items:flex-end}.page-head h1{margin-bottom:4px}.page-head p{margin:0;max-width:72ch}.page-head .actions{flex:none}.card h3:not(:first-child){margin-top:24px}.card>.hint:last-child,.card>p:last-child{margin-bottom:0}.card .pager{margin-top:14px}.section-head{margin-bottom:12px}.section-head h2,.section-head h3{margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.form-card,.table-card{padding:20px}.table-card{overflow-x:auto}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px;margin:0 0 14px}.path{font-size:12px;color:var(--muted);word-break:break-all}.small{font-size:12px;margin-top:4px}.end{text-align:right}.filters{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}@media(max-width:800px){.filters{grid-template-columns:1fr}}.grid-2,.grid-3,.split{display:grid;gap:16px;align-items:start}section.grid-2{align-items:stretch}.drawer-body .stack>p{margin:0}.auth-password input{width:100%}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.split{grid-template-columns:1.4fr 1fr}.mobile-bar,.nav-backdrop{display:none}body.nav-open{overflow:hidden}@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.split,.grid-2,.grid-3,.app-grid,.kind-grid,.perm-grid{grid-template-columns:1fr}.mobile-bar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:#121110e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #262421;color:#ece6d9}.mobile-bar .icon-button{width:44px;height:44px;flex:none;color:#ece6d9;border-color:#34312c}.mobile-bar-title{display:flex;flex-direction:column;min-width:0}.mobile-bar-title .eyebrow{color:#857f74}.mobile-bar-title strong{font-size:16px;line-height:1.2}.nav-backdrop{display:block;position:fixed;inset:0;z-index:40;border:0;padding:0;background:#060a0e8c}.sidebar{position:fixed;z-index:45;top:0;left:0;bottom:0;width:min(300px,86vw);transform:translate(-105%);transition:transform .2s ease;overflow:auto;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.app-shell.nav-open .sidebar{transform:translate(0)}.workspace{min-width:0;padding:16px 14px max(28px,env(safe-area-inset-bottom))}.page-head,.section-head,.form-actions{flex-direction:column;align-items:stretch}.page-head .actions,.section-head .actions,.form-actions .actions{width:100%;justify-content:stretch}.page-head .actions>*,.form-actions>input,.form-actions>select,.form-actions>button,.form-actions>.actions{width:100%}.form-actions>.actions{display:flex;flex-direction:column}.segment{width:100%;max-width:100%;overflow-x:auto}.segment button{white-space:nowrap;flex:none}.facts{grid-template-columns:1fr;gap:2px}.facts dt{margin-top:8px}.card,.form-card{padding:14px}.table-card{padding:12px}td.row-actions{white-space:normal}.page-head{align-items:stretch}.table-card table{min-width:560px}input,select,textarea{font-size:16px;width:100%}.filter-bar{padding:12px}.filter-bar label{min-width:0}.filter-count{white-space:normal;padding-bottom:0}.drawer,.drawer.wide{width:100%;border-left:0}.drawer-head,.drawer-foot,.drawer-body{padding-left:14px;padding-right:14px}.confirm-card{margin:8px}.stack>.primary,.stack>.ghost,.stack>.danger,.stack>.warn{width:100%}pre{max-width:100%}h1{font-size:20px}}@media(hover:none){button[data-tip]:hover:after,a[data-tip]:hover:after{content:none}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text)}label.check input{width:auto}.stack.tight{gap:8px}.auth-links{display:flex;justify-content:space-between;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border-radius:999px;padding:3px 10px;font-size:12px}button.chip{cursor:pointer;border:1px solid transparent;color:inherit}button.chip[aria-pressed=false]{opacity:.4}.chip button{border:0;background:transparent;color:var(--muted);padding:0}table.compact td{padding:9px 8px;font-size:13px}td.nowrap,th.nowrap{white-space:nowrap}td.clip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge+.badge,.small .badge{margin-left:6px}.badge.private,.badge.info{background:var(--info-bg);color:var(--info)}.access-box{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}.access-box p{margin:0}.role-row{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px}.router-card{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.router-card p{margin:2px 0}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.app-card{display:flex;flex-direction:column;gap:14px;padding:18px;position:relative;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s,box-shadow .18s}.app-card:before{content:"";position:absolute;inset:-1px 18px auto;height:2px;border-radius:0 0 2px 2px;background:var(--muted);opacity:.5}.app-card.is-up:before{background:var(--ok);opacity:.9}.app-card.is-warn:before{background:var(--warn);opacity:.9}.app-card.is-down:before{background:var(--danger);opacity:.7}.app-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--text),transparent 70%);background:radial-gradient(280px 120px at 50% 0%,var(--glow),transparent 70%),var(--panel);box-shadow:var(--shadow),0 0 0 4px var(--ring)}.app-card-head{display:flex;align-items:center;gap:12px;min-width:0}.app-avatar{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:17px;color:#ece6d9;box-shadow:0 0 0 1px #ece6d91f inset,0 6px 14px #00000040}.app-card-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.app-card-title a{color:var(--text);text-decoration:none;font-weight:650;font-size:16px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-card-title a:hover{text-decoration:underline;text-underline-offset:3px}.app-card-title span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-state{flex:none;display:inline-flex;align-items:center;gap:6px;position:relative;font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--chip);color:var(--muted)}.app-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.app-state.is-up{background:var(--ok-bg);color:var(--ok)}.app-state.is-up:before{box-shadow:0 0 0 3px color-mix(in srgb,var(--ok),transparent 75%);animation:app-pulse 2.4s ease-in-out infinite}.app-state.is-warn{background:var(--warn-bg);color:var(--warn)}.app-state.is-down{background:var(--danger-bg);color:var(--danger)}.app-state[data-tip]:hover:after{content:attr(data-tip);position:absolute;z-index:50;top:calc(100% + 8px);right:0;width:max-content;max-width:220px;padding:6px 9px;border-radius:8px;background:#1c1b19;color:#ece6d9;border:1px solid #34312c;font-size:12px;font-weight:500;pointer-events:none}@keyframes app-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ok),transparent 90%)}}.app-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.app-meta .badge+span{margin-left:4px}.app-card-main{display:flex;gap:8px}.app-open{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.app-open i,.app-card-ops button i{margin:0}.app-card-main .icon-button{width:40px;height:auto;flex:none}.app-card-ops{display:flex;flex-wrap:wrap;gap:6px}.app-card-ops button{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:13px}.ghost.danger-text{color:var(--danger)}.ghost.danger-text:hover:not(:disabled){background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger),transparent 60%)}.app-card-links{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--line)}.app-card-links>span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:auto}.app-card-links .icon-button{width:32px;height:32px;border-color:transparent;color:var(--muted);text-decoration:none;border-radius:8px}.app-card-links .icon-button:hover{color:var(--text);background:var(--hover);border-color:var(--line)}a.icon-button{text-decoration:none}.portal-search{width:200px}.portal-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 22px}.portal-empty>i{font-size:26px;color:var(--muted);margin-bottom:6px}.portal-empty p{max-width:46ch;margin:0 0 10px}.drawer-foot>a.ghost{display:inline-flex;align-items:center;gap:6px}.drawer-foot>a.ghost i{margin:0}.app-card,.app-card-links{min-width:0}@media(max-width:900px){.app-grid{grid-template-columns:minmax(0,1fr)}.app-card{padding:16px}.portal-search{width:100%}.app-card-links{justify-content:space-between}.app-card-links .icon-button{width:40px;height:40px}}@media(max-width:420px){.app-card-links>span{display:none}}@media(prefers-reduced-motion:reduce){.app-state.is-up:before{animation:none}.app-card:hover{transform:none}}.log-modal{width:min(880px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.log-tail{margin:0;padding:16px;overflow:auto;flex:1;min-height:240px;max-height:60vh;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}input,select,textarea{background:var(--field);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:10px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--line),var(--text) 18%)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}a.ghost{display:inline-block;text-decoration:none}.ghost,.primary,.danger,.warn,.info{border:1px solid var(--line);background:transparent;color:var(--text);padding:9px 14px;border-radius:10px;font-weight:550;font-size:14px}.ghost:hover{background:var(--hover)}.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--primary),#fff 8%),var(--primary));border-color:transparent;color:var(--primary-text);box-shadow:0 1px #fff3 inset,0 6px 16px #00000047}.primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger),transparent 60%);color:var(--danger)}.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn),transparent 60%);color:var(--warn)}.info{background:var(--info-bg);border-color:color-mix(in srgb,var(--info),transparent 60%);color:var(--info)}.danger:hover,.warn:hover,.info:hover{filter:brightness(1.08)}button:disabled{opacity:.55;cursor:default;transform:none}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td code,.banner code,.facts code{word-break:break-all}td.row-actions{white-space:nowrap;text-align:right;width:1%}td.row-actions>*+*{margin-left:6px}.error-text{color:var(--danger)}th{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb,var(--panel),var(--bg) 40%);position:sticky;top:0;z-index:1}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--chip);color:var(--muted);white-space:nowrap;vertical-align:middle;line-height:1.4}.badge.ok:before,.badge.published:before,.badge.error:before,.badge.off:before,.badge.draft:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok,.badge.published{background:var(--ok-bg);color:var(--ok)}tr.row-live td{background:var(--ok-bg)}.badge.off,.badge.draft{background:var(--warn-bg);color:var(--warn)}.badge.error{background:var(--danger-bg);color:var(--danger)}.actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.kind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px}.kind-card{text-align:left;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--text);display:flex;flex-direction:column;gap:8px;min-height:120px}.kind-card p{margin:0;font-size:12px;color:var(--muted)}.kind-card:hover{border-color:color-mix(in srgb,var(--primary),transparent 50%)}.kind-card.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary),transparent 90%);box-shadow:0 0 0 3px var(--ring)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{border:1px solid var(--line);background:var(--field);color:var(--text);padding:6px 10px;border-radius:999px}.pill:hover{border-color:color-mix(in srgb,var(--primary),transparent 50%)}.pill.selected{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.banner{padding:11px 14px;border-radius:12px;border:1px solid transparent;font-size:14px}.banner.error{border-color:color-mix(in srgb,var(--danger),transparent 70%)}.banner.error{background:var(--danger-bg);color:var(--danger)}.banner.warn{background:var(--warn-bg);color:var(--warn);word-break:break-all}.banner.info{background:var(--info-bg);color:var(--info)}.banner.sticky{margin-bottom:16px}.join-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.join-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--field)}.join-row strong{display:block}.join-row span{display:block;color:var(--muted);font-size:13px}.join-actions{display:flex;gap:8px;flex:none}.join-ask{display:flex;gap:8px;align-items:end}.join-ask label{flex:1;margin:0}.join-ask input{width:100%}.banner.warn.join-banner{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.join-banner-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.join-banner-head p{margin:0}@media(max-width:860px){.join-row,.join-ask{flex-direction:column;align-items:stretch}}.steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}pre{margin:0;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:14px;overflow:auto;font-size:12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}tr.row-selected{background:var(--hover)}tbody tr.row-link{cursor:pointer}.stat{font-size:30px;font-weight:700;margin:4px 0;letter-spacing:-.02em}.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:6px}.crumb-sep{margin-right:6px}.crumb-current{color:var(--text)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.filter-bar label{min-width:160px;flex:1}.filter-bar>button{flex:none}.form-actions>:only-child{margin-left:auto}.form-actions>input{flex:1;min-width:0}.banner.warn{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}.banner.warn>p{margin:0;flex:1;min-width:0}.filter-bar input,.filter-bar select{width:100%}.filter-count{font-size:12px;color:var(--muted);padding-bottom:10px;white-space:nowrap}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-strip.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.facts{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin:0}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.stat-strip.cols-4 strong{font-size:18px;line-height:1.3}.stat-strip>div{background:radial-gradient(200px 90px at 100% 0%,color-mix(in srgb,var(--primary),transparent 88%),transparent 70%),var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow)}.stat-strip span,.stat-strip em{font-size:12px;color:var(--muted);font-style:normal;font-weight:500}.stat-strip strong{font-size:26px;font-weight:700;letter-spacing:-.02em}.segment{display:inline-flex;gap:4px;padding:4px;background:var(--field);border:1px solid var(--line);border-radius:12px;width:fit-content}.segment button{border:0;background:transparent;color:var(--muted);padding:7px 14px;border-radius:9px;font-weight:550;font-size:13px}.segment button:hover:not(.active){color:var(--text);background:var(--hover)}.segment button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0003,0 0 0 1px var(--line)}.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:#06080e8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;animation:fade-in .18s ease both}.drawer{width:min(440px,100%);height:100%;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-20px 0 50px #0006;animation:drawer-in .22s cubic-bezier(.2,.8,.2,1) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.drawer.wide{width:min(640px,100%)}.drawer-head,.drawer-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px}.drawer-head{border-bottom:1px solid var(--line)}.drawer-foot{border-top:1px solid var(--line)}.drawer-foot>.actions:only-child{margin-left:auto}.drawer-body{flex:1;overflow:auto;padding:20px}tbody tr.row-link:hover{background:var(--hover)}.confirm-backdrop{align-items:center;justify-content:center;padding:16px}.confirm-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px #0006;animation:pop-in .2s cubic-bezier(.2,.8,.2,1) both}@keyframes pop-in{0%{transform:scale(.97) translateY(4px);opacity:0}to{transform:none;opacity:1}}.confirm-card.danger{border-color:var(--danger)}.confirm-card.warn{border-color:var(--warn)}.confirm-card h2.danger{color:var(--danger)}.confirm-card h2.warn{color:var(--warn)}@media(max-width:800px){.stat-strip,.stat-strip.cols-4{grid-template-columns:1fr}}.auth-page{color-scheme:light;container:auth / inline-size;--a-bg: #efe9dd;--a-bg-to: #e2d9c8;--a-surface: #faf7f1;--a-card: rgba(250, 247, 241, .82);--a-card-border: rgba(255, 255, 255, .65);--a-field: #fdfbf7;--a-hover: #ede7db;--a-line: #e0d9cb;--a-line-strong: #d8d0c0;--a-text: #1c1b19;--a-muted: #6b665d;--a-on-bg: #1c1b19;--a-on-bg-muted: #6b665d;--a-chip: transparent;--a-primary: #1c1b19;--a-primary-text: #f3eee4;--a-ring: rgba(28, 27, 25, .14);--a-radius: 12px;--a-radius-lg: 22px;--a-font: inherit;--a-heading-font: var(--a-font);--a-overlay: .3;--a-image: none;--a-image-position: center;--a-danger: #9a3a2e;--a-ok: #3f5a33;min-height:100vh;min-height:100dvh;background:radial-gradient(900px 520px at 12% -8%,rgba(28,27,25,.1),transparent 60%),radial-gradient(760px 480px at 100% 0%,rgba(255,255,255,.7),transparent 62%),radial-gradient(900px 600px at 50% 110%,rgba(28,27,25,.08),transparent 60%),var(--a-bg);color:var(--a-text);font-family:var(--a-font);position:relative;overflow:hidden}.auth-shell{position:relative;z-index:1;min-height:inherit;height:100%;display:grid;justify-items:center;align-items:start;padding:40px 16px}.auth-shell>.auth-main{margin-block:auto}.auth-page:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(28,27,25,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(28,27,25,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%)}.auth-main{width:min(432px,100%);display:flex;flex-direction:column;align-items:stretch;gap:18px;position:relative;animation:auth-in .35s cubic-bezier(.2,.8,.2,1) both}@keyframes auth-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:650;font-size:15px;color:var(--a-on-bg);letter-spacing:-.01em}.auth-logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#34322e,#141311);color:#ece6d9;box-shadow:0 10px 24px #1c1b1959,0 0 0 1px #ffffff14 inset}.auth-card{background:var(--a-card);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--a-card-border);border-radius:var(--a-radius-lg);padding:30px 30px 24px;box-shadow:0 0 0 1px #1c1b190f,0 2px 4px #1c1b190a,0 24px 60px #1c1b1924;display:flex;flex-direction:column;gap:16px}.auth-card h1{font-size:24px;font-weight:700;margin:0;color:var(--a-text);letter-spacing:-.025em;font-family:var(--a-heading-font)}.auth-subtitle{margin:-8px 0 2px;color:var(--a-muted);font-size:14px;line-height:1.5}.auth-app{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--a-line);border-radius:var(--a-radius);background:var(--a-field)}.auth-app>div{display:flex;flex-direction:column;line-height:1.25;min-width:0}.auth-app strong{font-size:15px;color:var(--a-text)}.auth-app-label{font-size:12px;color:var(--a-muted)}.auth-app-host{font-size:12px;color:var(--a-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis}.auth-app-avatar{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,#34322e,#1c1b19);color:#ece6d9;box-shadow:0 0 0 1px #ffffff14 inset}.auth-form{display:flex;flex-direction:column;gap:14px}.autofill-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.auth-qr{display:flex;flex-direction:column;align-items:center;gap:10px}.auth-qr img{border-radius:12px;background:#fff;padding:8px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--a-text);font-weight:550}.auth-field small{font-weight:400;color:var(--a-muted);font-size:12px}.auth-page input{width:100%;background:var(--a-field);color:var(--a-text);border:1px solid var(--a-line-strong);border-radius:var(--a-radius);padding:12px 14px;font-size:15px;font-weight:400;box-shadow:0 1px 2px #1c1b190a;transition:border-color .15s,box-shadow .15s}.auth-page input:hover{border-color:var(--a-muted)}.auth-page input:focus{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 4px var(--a-ring)}.auth-password{position:relative;display:block}.auth-password input{padding-right:44px}.auth-reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--a-muted);display:grid;place-items:center}.auth-reveal:hover{background:var(--a-hover);color:var(--a-text)}.auth-reveal:focus-visible{outline:none;box-shadow:0 0 0 3px var(--a-ring)}.auth-caps{color:#b54708!important}.auth-inline-error{color:var(--a-danger);font-size:12px;margin-top:-8px}.auth-strength{display:flex;flex-direction:column;gap:4px}.auth-strength-bar{height:4px;border-radius:999px;background:var(--a-line);overflow:hidden;display:block}.auth-strength-bar>span{display:block;height:100%;width:10%;background:var(--a-danger);transition:width .2s,background .2s}.auth-strength[data-level="1"] .auth-strength-bar>span{width:35%;background:#d92d20}.auth-strength[data-level="2"] .auth-strength-bar>span{width:65%;background:#dc6803}.auth-strength[data-level="3"] .auth-strength-bar>span{width:100%;background:var(--a-ok)}.auth-submit{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:var(--a-radius);padding:13px 16px;font-size:15px;font-weight:600;letter-spacing:-.005em;font-family:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--a-primary),#fff 14%),var(--a-primary) 60%,color-mix(in srgb,var(--a-primary),#000 10%));color:var(--a-primary-text);box-shadow:0 1px #ffffff1f inset,0 10px 24px #1c1b194d;transition:transform .15s,box-shadow .15s,filter .15s}.auth-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.15);box-shadow:0 1px #ffffff1f inset,0 14px 30px #1c1b1961}.auth-submit:active:not(:disabled){transform:none}.auth-submit:focus-visible{outline:none;box-shadow:0 0 0 4px var(--a-ring)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-alert{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;font-size:13.5px;line-height:1.45;border:1px solid;animation:auth-in .2s ease both}.auth-alert svg{flex:none;margin-top:2px}.auth-alert.error{background:#f7e7e2;border-color:#e8c7bf;color:var(--a-danger)}.auth-alert.info{background:#ece6d9;border-color:#d8d0c0;color:var(--a-text)}.auth-alert.success{background:#e8ecdf;border-color:#cbd5bd;color:var(--a-ok)}.auth-saved{display:flex;flex-direction:column;gap:8px}.auth-saved-label{margin:0;font-size:13px;font-weight:600;color:var(--a-muted)}.auth-or{display:flex;align-items:center;gap:10px;margin:4px 0 0;color:var(--a-muted);font-size:12px;font-weight:600}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--a-line)}.auth-external-list{display:flex;flex-direction:column;gap:10px}.auth-external{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--a-line);background:var(--a-field);border-radius:var(--a-radius);padding:12px 14px;color:var(--a-text);font-weight:600;text-decoration:none;box-shadow:0 1px 2px #1c1b190a;transition:border-color .15s,box-shadow .15s,transform .15s}.auth-external i{font-size:17px;width:20px;text-align:center}.auth-external:hover{border-color:#1c1b1973;box-shadow:0 0 0 4px var(--a-ring),0 8px 20px #1c1b191a;transform:translateY(-1px)}.auth-external:focus-visible{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 4px var(--a-ring)}.account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.account-list li{display:flex;align-items:stretch;gap:6px;animation:auth-in .3s ease both}.account-list li:nth-child(2){animation-delay:.04s}.account-list li:nth-child(3){animation-delay:.08s}.account-list li:nth-child(4){animation-delay:.12s}.account-list li:nth-child(5){animation-delay:.16s}.account-row{flex:1;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;cursor:pointer;border:1px solid var(--a-line);background:var(--a-field);border-radius:var(--a-radius);padding:12px 14px;color:var(--a-text);min-width:0;box-shadow:0 1px 2px #1c1b190a;transition:border-color .15s,box-shadow .15s,transform .15s}.account-row:hover:not(:disabled){border-color:#1c1b1973;box-shadow:0 0 0 4px var(--a-ring),0 8px 20px #1c1b191a;transform:translateY(-1px)}.account-row:hover:not(:disabled) .account-go{color:var(--a-primary);transform:translate(2px)}.account-row:focus-visible{outline:none;border-color:var(--a-primary);box-shadow:0 0 0 4px var(--a-ring)}.account-row:disabled{opacity:.7}.account-row-static{cursor:default;background:var(--a-hover);box-shadow:none}.account-row-static .account-avatar{opacity:.6}.account-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:15px;color:#ece6d9;background:linear-gradient(135deg,#34322e,#1c1b19);box-shadow:0 0 0 2px var(--a-field),0 0 0 3px var(--a-line)}.account-mail{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.account-go{color:var(--a-muted);font-size:20px;line-height:1;transition:color .15s,transform .15s}.account-row-static .account-go{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;background:var(--a-hover);color:var(--a-muted)}.account-remove{width:40px;border:1px solid transparent;border-radius:var(--a-radius);background:transparent;color:var(--a-muted);font-size:20px;line-height:1;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.account-remove:hover{background:var(--a-hover);color:var(--a-text)}.account-add{margin-top:2px;width:100%;border:1px dashed var(--a-line-strong);background:transparent;color:var(--a-primary);font:inherit;font-weight:600;font-size:14px;padding:12px;border-radius:var(--a-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s}.account-add:before{content:"+";font-size:18px;line-height:1;font-weight:500}.account-add:hover{background:var(--a-hover);border-color:var(--a-muted)}.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;padding-top:2px}.auth-links a,.auth-links button{color:var(--a-primary);text-decoration:none;font-weight:550;text-underline-offset:3px}.auth-links a:hover,.auth-links button:hover{text-decoration:underline}.auth-links button{background:none;border:0;padding:0;font:inherit;cursor:pointer}.auth-waiting{display:flex;align-items:center;gap:10px;color:var(--a-muted);margin:4px 0 8px}.auth-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:auth-spin .7s linear infinite}.auth-waiting .auth-spinner{color:var(--a-primary)}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-trust{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--a-on-bg-muted);padding:0 6px}.auth-trust svg{flex:none;margin-top:1px}.auth-trust.official svg{color:var(--a-ok)}.auth-trust.unknown{color:var(--a-danger)}.auth-trust strong{color:var(--a-on-bg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.auth-trust.unknown strong{color:var(--a-danger)}.auth-footnote{margin:0;text-align:center;font-size:12px;color:var(--a-on-bg-muted);opacity:.85}.auth-page.themed{background:var(--a-bg)}.auth-page.themed:before{display:none}.auth-page.bg-gradient{background:linear-gradient(135deg,var(--a-bg),var(--a-bg-to))}.auth-page.is-preview{min-height:0;height:100%}.auth-backdrop,.auth-hero-media{position:absolute;inset:0;background:var(--a-image) var(--a-image-position) / cover no-repeat,var(--a-placeholder, var(--a-bg))}.auth-backdrop:after,.auth-hero-media:after{content:"";position:absolute;inset:0;background:var(--a-bg);opacity:var(--a-overlay)}.auth-page.themed .auth-trust{background:var(--a-chip);border-radius:var(--a-radius);padding:10px 12px}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-minimal) :is(.auth-brand,.auth-trust,.auth-footnote){background:var(--a-chip);color:var(--a-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-minimal) .auth-trust{color:var(--a-muted)}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-minimal) .auth-trust strong{color:var(--a-text)}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-minimal) :is(.auth-brand,.auth-footnote){width:fit-content;margin-inline:auto;border-radius:999px;opacity:1}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-minimal) .auth-brand{padding:5px 14px 5px 5px}.auth-page.bg-image:is(.layout-centered,.layout-floating,.layout-minimal) .auth-footnote{padding:6px 12px}.auth-page.card-solid .auth-card{background:var(--a-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--a-line)}.auth-page.card-outline .auth-card{background:color-mix(in srgb,var(--a-surface) 55%,transparent);border:1.5px solid var(--a-line-strong);box-shadow:none}.auth-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--a-bg),var(--a-bg-to));color:var(--a-on-bg)}.auth-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,color-mix(in srgb,var(--a-bg) 72%,transparent),transparent 62%)}.auth-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;max-width:560px;padding:clamp(28px,5cqw,64px)}.auth-hero-content h2{margin:0;color:inherit;font-family:var(--a-heading-font);font-size:clamp(26px,3.2cqw,46px);line-height:1.08;letter-spacing:-.025em}.auth-hero-content p{margin:0;font-size:clamp(14px,1.3cqw,17px);line-height:1.5;opacity:.86;max-width:46ch}.auth-hero-content .app-logo{border-radius:16px;margin-bottom:6px}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);place-items:stretch;padding:0}.auth-page.layout-split-reverse .auth-shell{grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr)}.auth-page.layout-split-reverse .auth-hero{order:2}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell>.auth-main{margin-block:0;width:100%;justify-content:center;align-items:center;padding:48px clamp(24px,5cqw,72px);background:var(--a-surface);--a-on-bg: var(--a-text);--a-on-bg-muted: var(--a-muted)}.auth-page:is(.layout-split,.layout-split-reverse) .auth-main>*{width:min(400px,100%)}.auth-page:is(.layout-split,.layout-split-reverse,.layout-minimal) .auth-card{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.auth-page.layout-floating .auth-shell{justify-items:end;padding:40px clamp(20px,7cqw,110px)}.auth-page.layout-minimal .auth-shell{justify-items:start;padding:32px clamp(24px,9cqw,150px)}.auth-page.layout-minimal .auth-main{width:min(420px,100%);gap:16px}.auth-page.layout-minimal .auth-brand{justify-content:flex-start}.auth-page.layout-minimal .auth-card{gap:18px}.auth-page.layout-minimal .auth-card h1{font-size:clamp(22px,2.4cqw,30px)}.auth-page.layout-minimal :is(.auth-card h1,.auth-field,.auth-app strong){color:var(--a-on-bg)}.auth-page.layout-minimal :is(.auth-subtitle,.auth-field small,.auth-waiting){color:var(--a-on-bg-muted)}.auth-intro{display:flex;flex-direction:column;gap:10px;color:var(--a-on-bg)}.auth-intro h2{margin:0;font-family:var(--a-heading-font);font-size:clamp(28px,3.4cqw,46px);line-height:1.04;letter-spacing:-.03em;color:inherit}.auth-intro p{margin:0;font-size:16px;line-height:1.5;opacity:.82}@container auth (max-width: 820px){.auth-shell{padding:20px 14px max(20px,env(safe-area-inset-bottom))}.auth-card{padding:22px 16px 18px}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;padding:0}.auth-page.layout-split-reverse .auth-hero{order:0}.auth-hero{min-height:190px}.auth-hero-content{padding:22px 20px;gap:8px}.auth-hero-content h2{font-size:24px}.auth-page:is(.layout-split,.layout-split-reverse) .auth-shell>.auth-main{padding:26px 18px 30px}.auth-page:is(.layout-floating,.layout-minimal) .auth-shell{justify-items:center;padding:24px 16px}.auth-intro h2{font-size:30px}}.ops-dock{position:fixed;right:16px;bottom:16px;z-index:30;width:min(320px,calc(100vw - 32px));background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 12px 8px}.ops-dock strong{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ops-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ops-dock .ops-clear{width:auto;padding:2px 8px;font-size:12px;color:var(--muted)}.ops-dock .ops-clear:hover{color:var(--text)}.workspace{scroll-padding-bottom:180px}.ops-dock ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ops-dock button{width:100%;text-align:left;display:flex;gap:8px;align-items:flex-start;background:transparent;color:inherit;border:0;padding:6px;border-radius:8px;cursor:pointer;font:inherit}.ops-dock button:hover{background:var(--hover)}.ops-dock b{display:block;font-size:13px}.ops-dock small{display:block;color:var(--muted);font-size:12px}.ops-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:var(--warn)}.ops-dot.ok{background:var(--ok)}.ops-dot.error{background:var(--danger)}.ops-dot.running{background:var(--warn);box-shadow:0 0 0 4px var(--warn-bg)}.op-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.op-steps li{display:flex;gap:8px;align-items:center;font-size:14px}.op-steps .ops-dot{margin-top:0}.toasts{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:min(420px,calc(100vw - 24px))}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;width:100%;padding:10px 10px 10px 14px;border-radius:12px;font-size:14px;background:var(--panel);color:var(--text);border:1px solid color-mix(in srgb,var(--ok),transparent 55%);box-shadow:0 12px 32px #00000059;animation:toast-in .22s cubic-bezier(.2,.8,.2,1) both}.toast>i{color:var(--ok);margin:0}.toast>span{flex:1;min-width:0}.toast button{border:0;background:transparent;color:var(--muted);padding:4px 6px;border-radius:8px}.toast button:hover{color:var(--text);background:var(--hover)}.toast button i{margin:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.toasts{bottom:max(16px,env(safe-area-inset-bottom))}}.app-logo{display:inline-grid;place-items:center;flex:none;border-radius:10px;font-weight:700;color:#ece6d9;line-height:1}img.app-logo{object-fit:contain;box-sizing:border-box;background:#fbf8f2;box-shadow:0 0 0 1px #1c1b191a inset}img.app-logo.bare{background:transparent;box-shadow:none}.page-title-row{display:flex;align-items:center;gap:14px;min-width:0}.page-title-row h1{margin-bottom:2px}.page-logo{border-radius:14px;box-shadow:0 8px 20px #00000038}img.page-logo{box-shadow:0 0 0 1px #1c1b191a inset,0 8px 20px #00000038}.service-cell{display:flex;align-items:flex-start;gap:12px;min-width:0}.service-cell .app-logo{margin-top:2px;border-radius:9px}.palette li .app-logo{border-radius:6px}.logo-panel{display:flex;flex-direction:column;gap:16px}.logo-drop{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:16px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--field);transition:border-color .15s,background .15s}.logo-drop.dragging{border-color:var(--primary);background:color-mix(in srgb,var(--primary),transparent 92%)}.logo-stages{display:flex;gap:10px}.logo-stage{position:relative;display:grid;place-items:center;width:120px;height:120px;border-radius:14px;border:1px solid var(--line)}.logo-stage.light{background:#f3eee4}.logo-stage.dark{background:#141311;border-color:#2f2d29}.logo-stage .app-logo{border-radius:18px}.logo-stage[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;padding:6px 9px;border-radius:8px;font-size:12px;z-index:50;pointer-events:none;background:#1c1b19;color:#ece6d9;border:1px solid #34312c}.logo-drop-text{display:flex;flex-direction:column;gap:8px;flex:1;min-width:240px}.logo-drop-text .actions{justify-content:flex-start}.logo-sizes{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.logo-sizes figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.logo-sizes figcaption{font-size:11px;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace}.logo-sizes .app-logo{border-radius:22%}.logo-urls{display:flex;flex-direction:column;gap:8px}.logo-url-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.logo-url-row>span{width:56px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted)}.logo-url-row .pill{padding:4px 9px;font-size:12px;font-family:JetBrains Mono,ui-monospace,monospace}@media(max-width:900px){.logo-stage{width:96px;height:96px}.logo-url-row>span{width:100%}}.appearance{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:24px;align-items:start}.appearance-controls{display:flex;flex-direction:column;gap:22px;min-width:0}.appearance-controls section{display:flex;flex-direction:column;gap:10px}.appearance-controls h3,.appearance-controls .hint{margin:0}.appearance-side{position:sticky;top:0;display:flex;flex-direction:column;gap:12px;min-width:0}.appearance-side-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.appearance-side-head a.ghost{display:inline-flex;align-items:center;gap:6px}.appearance-side-head a.ghost i,.appearance-side-head .segment i{margin:0}.appearance-preview{width:100%;display:flex;justify-content:center}.appearance-stage{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--field)}.appearance-frame{position:absolute;top:0;left:0;transform-origin:top left;overflow:hidden}.layout-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.layout-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--text)}.layout-option:hover{border-color:color-mix(in srgb,var(--primary),transparent 50%)}.layout-option.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.layout-option strong{font-size:12.5px}.layout-option small{font-size:11px;color:var(--muted)}.layout-thumb{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:7px;overflow:hidden;margin-bottom:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--text),transparent 88%),color-mix(in srgb,var(--text),transparent 94%))}.layout-thumb i,.layout-thumb b{position:absolute;display:block}.layout-thumb i{background:linear-gradient(160deg,#d9825b,#7a4b8f);opacity:0}.layout-thumb b{background:var(--panel);border:1px solid var(--line);border-radius:3px;width:34%;height:58%;top:21%;left:33%}.thumb-split i{opacity:1;inset:0 45% 0 0}.thumb-split b{left:62%;width:28%;border:0;background:transparent;box-shadow:inset 0 2px 0 var(--muted),inset 0 -2px 0 var(--muted);height:30%;top:35%}.thumb-split-reverse i{opacity:1;inset:0 0 0 45%}.thumb-split-reverse b{left:10%;width:28%;border:0;background:transparent;box-shadow:inset 0 2px 0 var(--muted),inset 0 -2px 0 var(--muted);height:30%;top:35%}.thumb-floating i{opacity:1;inset:0}.thumb-floating b{left:58%;width:32%}.thumb-minimal b{left:12%;width:34%;border:0;background:transparent;box-shadow:inset 0 3px 0 var(--text),inset 0 -2px 0 var(--muted);height:34%;top:33%}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:12.5px;border:1px solid var(--line);border-radius:999px;background:var(--field);color:var(--text)}.preset:hover{border-color:color-mix(in srgb,var(--primary),transparent 50%)}.preset>span{position:relative;width:30px;height:22px;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.preset>span i{position:absolute;inset:5px 11px 5px 5px;border-radius:3px}.preset>span b{position:absolute;right:5px;top:7px;width:7px;height:7px;border-radius:50%}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.color-input{display:flex;align-items:center;gap:6px}.color-input input[type=color]{width:38px;height:38px;flex:none;padding:3px;border-radius:10px;cursor:pointer}.color-input input:not([type=color]){flex:1;min-width:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.bg-image-box{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--line);border-radius:12px}.bg-image-box .actions{justify-content:flex-start}.bg-image-thumb{height:110px;border-radius:10px;background-size:cover;background-position:center;border:1px solid var(--line)}.bg-image-box input[type=range]{padding:0;accent-color:var(--primary)}.appearance-pair{display:grid;gap:12px}.appearance-pair>div{display:flex;flex-direction:column;gap:6px}.appearance-bar{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding:12px;margin:0 -4px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel),transparent 6%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appearance-bar .actions{justify-content:flex-start}@media(max-width:1180px){.appearance{grid-template-columns:minmax(0,1fr)}.appearance-side{position:static;order:-1}}kbd{font:600 11px/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;padding:3px 6px;border-radius:6px;border:1px solid var(--line);background:var(--field);color:var(--muted)}.palette-trigger{display:flex;align-items:center;gap:8px;width:100%;margin-top:-8px;padding:8px 10px;border-radius:10px;font-size:13px;text-align:left;border:1px solid var(--side-line);background:#ece6d908;color:var(--side-muted)}.palette-trigger:hover{background:#ece6d912;color:var(--side-text)}.palette-trigger i{margin:0;width:16px;text-align:center}.palette-trigger kbd{margin-left:auto;background:transparent;border-color:var(--side-line);color:var(--side-muted)}.mobile-bar .mobile-search{margin-left:auto}.palette-backdrop{z-index:70;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}.palette{width:min(560px,100%);max-height:70vh;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #00000073;animation:pop-in .18s cubic-bezier(.2,.8,.2,1) both}.palette-input{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.palette-input>i{color:var(--muted);margin:0}.palette-input input,.palette-input input:hover,.palette-input input:focus{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:8px 0;font-size:15px}.palette ul{list-style:none;margin:0;padding:6px;overflow:auto}.palette li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:14px}.palette li i{width:16px;text-align:center;color:var(--muted);margin:0}.palette li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette li small{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.palette li[aria-selected=true]{background:var(--hover)}.palette li[aria-selected=true] i{color:var(--text)}.palette li.palette-empty{color:var(--muted);cursor:default}@media(max-width:900px){.palette-backdrop{padding-top:max(12px,env(safe-area-inset-top))}.palette-input input{width:auto}}.skeleton{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--chip),var(--hover),var(--chip));background-size:200% 100%;animation:skeleton-shine 1.2s ease-in-out infinite}.skeleton+.skeleton{margin-top:8px}.skeleton.short{width:45%}.skeleton-card{display:flex;flex-direction:column;gap:4px}@keyframes skeleton-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation-duration:2s}.toast,.skeleton,.palette,.auth-main,.auth-alert,.account-list li,.page,.drawer,.drawer-backdrop,.confirm-card{animation:none}}.dns-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.dns-hint>span{flex:1;min-width:220px}.confirm-card code{font-size:12px}
