:root{--neu-bg:#f5f5f4;--neu-surface:#fff;--neu-surface-soft:#f1f5f9;--neu-muted:#eef2f7;--neu-text:#0f172a;--neu-text-sec:#475569;--neu-text-faint:#94a3b8;--neu-border:#e2e8f0;--neu-border-soft:#eef2f7;--neu-accent:#17191d;--neu-action:#2b2f36;--neu-action-dark:#17191d;--neu-action-soft:#e9e9e7;--neu-accent-soft:#e9e9e7;--neu-success:#16a34a;--neu-success-soft:#dcfce7;--neu-warning:#d97706;--neu-warning-soft:#fef3c7;--neu-destructive:#dc2626;--neu-destructive-soft:#fee2e2;--neu-info:#0284c7;--neu-info-soft:#e0f2fe;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-base:system-ui, -apple-system, "Segoe UI", Tahoma, Arial, sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a12;--shadow-lg:0 12px 32px #0f172a1f;--border-thin:1px solid var(--neu-border);--layout-max:1120px;--bp-sm:640px;--bp-md:1024px;--bp-lg:1440px;--app-canvas:#dddcda;--app-surface:#fff;--app-surface-subtle:#f4f4f2;--app-border:#e8e8e6;--app-border-strong:#d9d9d6;--sidebar-expanded:208px;--sidebar-collapsed:72px;--topbar-height:50px;--workspace-tab-height:34px;--button-height:34px;--input-height:36px;--icon-size-sm:14px;--icon-size-md:16px;--icon-size-lg:18px;--shell-radius-sm:6px;--shell-radius-md:8px;--shell-radius-lg:12px;--shell-shadow:0 1px 2px #0000000a;--shell-pad:12px;--workspace-pad:16px;--workspace-gap:12px;--control-focus-ring:0 0 0 3px #2b2f3629;--table-header-height:40px;--dialog-max-width:480px;--wash:#f4f4f2;--space-7:10px}*{box-sizing:border-box}body{font-family:var(--font-base);background:var(--neu-bg);color:var(--neu-text);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}:focus-visible{outline:2px solid var(--neu-action);outline-offset:2px}.shell{background:var(--app-surface);height:100dvh;padding:0;display:flex;overflow:clip}.shell-app{background:var(--app-surface);border:none;border-radius:0;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.shell-sidebar{width:var(--sidebar-expanded);background:var(--app-surface);border-inline-end:1px solid var(--app-border);padding:var(--space-3) var(--space-2);row-gap:var(--space-3);z-index:40;flex-shrink:0;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;position:fixed;inset-block:0;inset-inline-start:0;overflow:clip}.shell-nav-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent;min-height:0;overflow:hidden auto}.shell-nav-scroll:hover,.shell-nav-scroll:focus-within{scrollbar-color:#cfcfcb transparent}.shell-nav-scroll::-webkit-scrollbar{width:4px}.shell-nav-scroll::-webkit-scrollbar-track{background:0 0}.shell-nav-scroll::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}.shell-nav-scroll:hover::-webkit-scrollbar-thumb{background:#cfcfcb}.shell-nav-scroll:focus-within::-webkit-scrollbar-thumb{background:#cfcfcb}.shell-nav-scroll:active::-webkit-scrollbar-thumb{background:#b9b9b4}.rail-tip{background:var(--app-surface);color:var(--neu-text);border:1px solid var(--app-border-strong);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);white-space:nowrap;z-index:200;pointer-events:none;border-radius:4px;font-weight:500;position:fixed}.shell-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2);min-height:40px;display:flex}.shell-brand-icon{object-fit:contain;flex-shrink:0;width:32px;height:32px;display:none}.shell-brand-full{object-fit:contain;max-width:100%;height:32px;display:block}.shell-nav{gap:var(--space-3);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.shell-nav-group-label{font-size:var(--font-size-xs);letter-spacing:.06em;color:var(--neu-text-faint);padding:0 var(--space-3);margin:0 0 var(--space-1);white-space:nowrap;font-weight:700}.shell-nav-group ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shell-link{align-items:center;gap:var(--space-3);min-height:var(--button-height);padding:7px var(--space-3);border-radius:var(--shell-radius-sm);color:var(--neu-text-sec);font-size:var(--font-size-sm);white-space:nowrap;border:1px solid #0000;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.shell-link svg{width:var(--icon-size-lg);height:var(--icon-size-lg);color:var(--neu-text-faint);flex-shrink:0}.shell-link-label{text-overflow:ellipsis;overflow:hidden}.shell-link:hover{background:var(--neu-surface-soft);color:var(--neu-text)}.shell-link:hover svg{color:var(--neu-text-sec)}.shell-link.active{background:var(--neu-action-soft);color:var(--neu-action-dark);border-color:var(--app-border);font-weight:700}.shell-link.active svg{color:var(--neu-action)}.shell-link:focus-visible{outline:2px solid var(--neu-action);outline-offset:2px}.shell-sidebar-footer{border-top:1px solid var(--app-border);padding-top:var(--space-3);display:flex}.shell-collapse-toggle{justify-content:flex-start;width:100%}.shell[data-nav=collapsed] .shell-sidebar{width:var(--sidebar-collapsed);padding-inline:var(--space-2);align-items:stretch}.shell[data-nav=collapsed] .shell-brand{justify-content:center;padding:0}.shell[data-nav=collapsed] .shell-brand-full,.shell[data-nav=collapsed] .shell-nav-group-label,.shell[data-nav=collapsed] .shell-link-label{display:none}.shell[data-nav=collapsed] .shell-brand-icon{display:block}.shell[data-nav=collapsed] .shell-link,.shell[data-nav=collapsed] .shell-collapse-toggle{justify-content:center;padding-inline:0}.shell[data-nav=collapsed] .shell-collapse-toggle .shell-link-label{display:none}.shell-main{min-width:0;min-height:0;flex-direction:column;flex:1;margin-inline-start:var(--sidebar-expanded);display:flex}.shell[data-nav=collapsed] .shell-main{margin-inline-start:var(--sidebar-collapsed)}.shell-topbar{z-index:30;min-height:var(--topbar-height);height:var(--topbar-height);background:var(--app-surface);border-bottom:1px solid var(--app-border);padding:0 var(--space-4);align-items:center;gap:var(--space-2);display:flex;position:sticky;top:0}.shell-context{font-weight:700;font-size:var(--font-size-sm);color:var(--neu-text);white-space:nowrap;text-overflow:ellipsis;margin-inline-end:auto;overflow:hidden}.shell-title{font-weight:500;font-size:var(--font-size-xs);color:var(--neu-text-faint);white-space:nowrap}.shell-topbar-actions{align-items:center;gap:var(--space-1);display:flex}.shell-topbar-actions a{color:var(--neu-text-sec);font-size:var(--font-size-sm);align-items:center;gap:var(--space-1);padding:0 var(--space-2);min-height:var(--button-height);border-radius:var(--shell-radius-sm);font-weight:600;text-decoration:none;display:inline-flex}.shell-topbar-actions a:hover{color:var(--neu-text);background:var(--neu-surface-soft)}button.shell-drawer-toggle{display:none}.workspace{min-width:0;min-height:0;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;margin:0;display:flex;overflow:visible}.workspace-tabstrip{height:var(--workspace-tab-height);min-height:var(--workspace-tab-height);border-bottom:1px solid var(--app-border);background:0 0;align-items:stretch;display:flex}.workspace-tabstrip[data-empty=true]:empty:after{content:"";flex:1}.shell-content{min-width:0;min-height:0;padding:var(--space-5) var(--space-5) var(--space-8);width:100%;max-width:var(--layout-max);flex:1;margin:0 auto;overflow-y:auto}.shell-scrim{display:none}@media (width<=1024px){.shell-main,.shell[data-nav=collapsed] .shell-main{margin-inline-start:0}.shell-sidebar{inset-block:0;inset-inline-start:0;height:auto;width:var(--sidebar-expanded);box-shadow:var(--shadow-lg);border-inline-end:1px solid var(--app-border);transition:transform .2s;position:fixed;top:auto;transform:translate(100%)}.shell[data-nav=collapsed] .shell-sidebar{width:var(--sidebar-expanded);padding:var(--space-3) var(--space-2);align-items:stretch}.shell[data-nav=collapsed] .shell-brand-full,.shell[data-nav=collapsed] .shell-nav-group-label,.shell[data-nav=collapsed] .shell-link-label{display:revert}.shell[data-nav=collapsed] .shell-brand-icon{display:none}.shell[data-nav=collapsed] .shell-link,.shell[data-nav=collapsed] .shell-collapse-toggle,.shell[data-nav=collapsed] .shell-brand{justify-content:flex-start}[dir=ltr] .shell-sidebar{transform:translate(-100%)}.shell[data-drawer=open] .shell-sidebar{transform:translate(0)}.shell[data-drawer=open] .shell-scrim{z-index:35;cursor:pointer;background:#0f172a66;border:none;padding:0;display:block;position:fixed;inset:0}button.shell-drawer-toggle{display:inline-flex}.shell-sidebar-footer{display:none}.shell-content{padding:var(--space-4)}}@media (width<=640px){.shell-topbar{padding:0 var(--space-3)}.shell-title{font-size:var(--font-size-sm)}.shell-logout-label{display:none}.shell-content{padding:var(--space-3) var(--space-3) var(--space-6)}}.page{gap:var(--space-4);flex-direction:column;display:flex}.page-title{font-size:var(--font-size-xl);letter-spacing:-.01em;margin:0;font-weight:700}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--font-size-xl);margin:0;font-weight:700}.page-header p{margin:var(--space-1) 0 0;color:var(--neu-text-sec);font-size:var(--font-size-sm)}.page-header-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.card{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--shell-radius-md);padding:var(--workspace-pad)}.panel-title{margin:0 0 var(--space-3);font-size:var(--font-size-md);overflow-wrap:anywhere;font-weight:700}.section{border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.section-subtle{background:var(--app-surface-subtle);border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.section-title{font-size:var(--font-size-sm);color:var(--neu-text-sec);margin:0;font-weight:700}.toolbar{align-items:center;gap:var(--space-2);min-height:var(--button-height);flex-wrap:wrap;display:flex}.toolbar-end{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto;display:flex}.page-header-compact h1{font-size:var(--font-size-lg)}.page-header-compact{align-items:center}.card h2{margin:0 0 var(--space-3);font-size:var(--font-size-md);overflow-wrap:anywhere;font-weight:700}.card>p:first-of-type{margin-top:0}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);display:flex}.stat-icon{border-radius:var(--radius-sm);background:var(--neu-action-soft);width:44px;height:44px;color:var(--neu-action);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stat-icon svg{width:22px;height:22px}.stat-label{font-size:var(--font-size-sm);color:var(--neu-text-sec);margin:0}.stat-value{font-size:var(--font-size-xl);margin:0;font-weight:800}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--button-height);padding:0 var(--space-4);border-radius:var(--shell-radius-sm);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn svg{width:var(--icon-size-md);height:var(--icon-size-md);flex-shrink:0}.btn:active:not(:disabled){filter:brightness(.97)}.btn:focus-visible{outline:2px solid var(--neu-action);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--neu-action);border-color:var(--neu-action);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--neu-action-dark);border-color:var(--neu-action-dark)}.btn-secondary{background:var(--neu-surface);border-color:var(--neu-border);color:var(--neu-text)}.btn-secondary:hover:not(:disabled){background:var(--neu-surface-soft);border-color:var(--app-border-strong)}.btn-danger{background:var(--neu-destructive);border-color:var(--neu-destructive);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-ghost{color:var(--neu-action-dark);padding-inline:var(--space-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--neu-action-soft)}.btn-subtle{background:var(--neu-surface-soft);border-color:var(--neu-border);color:var(--neu-text-sec)}.btn-subtle:hover:not(:disabled){background:var(--neu-muted);color:var(--neu-text)}.btn-sm{min-height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.btn-icon{min-width:var(--button-height);padding:0 var(--space-2)}.btn-loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-sm);color:var(--neu-text);font-weight:600}.field-hint{font-size:var(--font-size-xs);color:var(--neu-text-faint);margin:0}.field-input,.field-select,.field-textarea{width:100%;min-height:var(--input-height);padding:0 var(--space-3);border:1px solid var(--neu-border);border-radius:var(--shell-radius-sm);background:var(--neu-surface);color:var(--neu-text);font-family:inherit;font-size:var(--font-size-md);transition:border-color .12s,box-shadow .12s}.field-textarea{min-height:96px;padding:var(--space-3);resize:vertical}.field-input::placeholder,.field-textarea::placeholder{color:var(--neu-text-faint)}.field-input:hover,.field-select:hover,.field-textarea:hover{border-color:var(--app-border-strong)}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--neu-action);box-shadow:var(--control-focus-ring);outline:none}.field-input:disabled,.field-select:disabled,.field-textarea:disabled{background:var(--neu-surface-soft);color:var(--neu-text-faint);cursor:not-allowed;opacity:.8}.field-input[aria-invalid=true],.field-select[aria-invalid=true],.field-textarea[aria-invalid=true]{border-color:var(--neu-destructive)}.field-error{font-size:var(--font-size-sm);color:var(--neu-destructive);margin:0}.field-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.field-row{grid-template-columns:1fr}}.search-input{align-items:center;display:flex;position:relative}.search-input svg{width:16px;height:16px;color:var(--neu-text-faint);pointer-events:none;position:absolute;inset-inline-start:var(--space-3)}.search-input .field-input{padding-inline-start:36px}.check-row,.switch-row{align-items:center;gap:var(--space-3);min-height:42px;font-size:var(--font-size-md);display:flex}.check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--neu-action)}.switch{flex-shrink:0;width:42px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch-track{border-radius:var(--radius-pill);background:var(--app-border-strong);transition:background .12s;position:absolute;inset:0}.switch-track:after{content:"";top:3px;width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .12s;position:absolute;inset-inline-start:3px}.switch input:checked+.switch-track{background:var(--neu-action)}.switch input:checked+.switch-track:after{transform:translate(-18px)}[dir=ltr] .switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--neu-action);outline-offset:2px}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #0000;padding:2px 10px;font-weight:700;display:inline-flex}.badge svg{width:12px;height:12px}.badge-neutral{background:var(--neu-surface-soft);color:var(--neu-text-sec);border-color:var(--neu-border)}.badge-primary{background:var(--neu-action-soft);color:var(--neu-action-dark);border-color:var(--app-border-strong)}.badge-success{background:var(--neu-success-soft);color:#15803d;border-color:#bbf7d0}.badge-warning{background:var(--neu-warning-soft);color:#b45309;border-color:#fde68a}.badge-danger{background:var(--neu-destructive-soft);color:#b91c1c;border-color:#fecaca}.badge-info{background:var(--neu-info-soft);color:#0369a1;border-color:#bae6fd}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot-live{background:var(--neu-success);box-shadow:0 0 0 3px var(--neu-success-soft)}.status-dot-dead{background:var(--neu-destructive);box-shadow:0 0 0 3px var(--neu-destructive-soft)}.status-dot-unknown{background:var(--app-border-strong)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-md);border:1px solid;align-items:flex-start;display:flex}.alert svg{flex-shrink:0;width:18px;height:18px;margin-top:2px}.alert-info{background:var(--neu-info-soft);color:#0c4a6e;border-color:#bae6fd}.alert-success{background:var(--neu-success-soft);color:#14532d;border-color:#bbf7d0}.alert-warning{background:var(--neu-warning-soft);color:#78350f;border-color:#fde68a}.alert-danger{background:var(--neu-destructive-soft);color:#7f1d1d;border-color:#fecaca}.state{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);padding:var(--space-8) var(--space-6);text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.state-title{font-size:var(--font-size-lg);margin:0;font-weight:700}.state-hint{color:var(--neu-text-sec);font-size:var(--font-size-md);max-width:460px;margin:0}.state .spinner{border:3px solid var(--neu-border);border-top-color:var(--neu-action);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite btn-spin}.skeleton-list{gap:var(--space-3);flex-direction:column;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--neu-muted) 25%, var(--neu-surface-soft) 50%, var(--neu-muted) 75%);background-size:200% 100%;min-height:16px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.skeleton-card{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.table-wrap{border:var(--border-thin);border-radius:var(--radius-md);background:var(--neu-surface);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-md);min-width:640px}.data-table th{text-align:start;font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--neu-text-sec);background:var(--neu-surface-soft);padding:0 var(--space-4);height:var(--table-header-height);border-bottom:var(--border-thin);white-space:nowrap;font-weight:700}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--neu-border-soft);vertical-align:middle;font-size:var(--font-size-sm)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--wash)}.data-table tbody tr.is-selected{background:var(--neu-action-soft)}.data-table-compact td{padding:var(--space-2) var(--space-3)}.list-stack{gap:var(--space-3);flex-direction:column;display:flex}.list-row{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.list-row-main{flex:1;min-width:200px}.list-row-title{font-weight:700;font-size:var(--font-size-md);overflow-wrap:anywhere;margin:0}.list-row-title a{color:inherit;text-decoration:none}.list-row-title a:hover{color:var(--neu-action-dark);text-decoration:underline}.list-row-meta{margin:var(--space-1) 0 0;color:var(--neu-text-sec);font-size:var(--font-size-sm);gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;display:flex}.list-row-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pagination{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.pagination-info{font-size:var(--font-size-sm);color:var(--neu-text-sec);margin-inline-end:var(--space-2)}.tabs{gap:var(--space-1);border-bottom:var(--border-thin);display:flex;overflow-x:auto}.tab{padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--font-size-md);color:var(--neu-text-sec);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.tab:hover{color:var(--neu-text)}.tab[aria-selected=true]{color:var(--neu-action-dark);border-bottom-color:var(--neu-action)}.tab:focus-visible{outline:2px solid var(--neu-action);outline-offset:-2px}.avatar{background:var(--neu-action-soft);width:40px;height:40px;color:var(--neu-action-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.avatar svg{width:20px;height:20px}.dropdown{display:inline-block;position:relative}.dropdown-menu{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:50;flex-direction:column;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0}.dropdown-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-md);color:var(--neu-text);cursor:pointer;text-align:start;background:0 0;border:none;text-decoration:none;display:flex}.dropdown-item:hover{background:var(--neu-surface-soft)}.dropdown-item svg{width:16px;height:16px;color:var(--neu-text-faint)}.auth-wrap{min-height:100vh;padding:var(--space-6) var(--space-4);background:radial-gradient(1200px 600px at 80% -10%, #e9e9e7 0%, var(--neu-bg) 60%);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-6)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.auth-title{font-size:var(--font-size-xl);margin:0;font-weight:800}.auth-sub{margin:var(--space-1) 0 var(--space-5);color:var(--neu-text-sec);font-size:var(--font-size-md)}.auth-links{margin-top:var(--space-4);gap:var(--space-2);font-size:var(--font-size-md);flex-direction:column;display:flex}.auth-links a{color:var(--neu-action-dark);font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.article{background:var(--neu-surface);border:var(--border-thin);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-8) var(--space-6);max-width:780px}.article h1{margin:0 0 var(--space-2);font-size:var(--font-size-2xl);line-height:1.4}.article-meta{color:var(--neu-text-sec);font-size:var(--font-size-sm);gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.article img{border-radius:var(--radius-sm);max-width:100%;height:auto}.article-body{white-space:pre-wrap;line-height:1.9}.danger-zone{border-radius:var(--radius-md);padding:var(--space-5);background:#fff7f7;border:1px solid #fecaca}.muted{color:var(--neu-text-sec)}.small{font-size:var(--font-size-sm)}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.icon-sm{width:var(--icon-size-sm);height:var(--icon-size-sm);flex-shrink:0}.icon-md{width:var(--icon-size-md);height:var(--icon-size-md);flex-shrink:0}.icon-lg{width:var(--icon-size-lg);height:var(--icon-size-lg);flex-shrink:0}.dialog-overlay{z-index:100;padding:var(--space-4);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--shell-radius-md);box-shadow:var(--shadow-lg);width:100%;max-width:var(--dialog-max-width);max-height:calc(100vh - var(--space-8));flex-direction:column;display:flex;overflow:hidden}.dialog-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--app-border)}.dialog-title{font-size:var(--font-size-md);margin:0;font-weight:700}.dialog-description{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--neu-text-sec)}.dialog-body{padding:var(--space-4) var(--space-5);font-size:var(--font-size-md);overflow-y:auto}.dialog-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--app-border);gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.dialog-danger .dialog-title{color:var(--neu-destructive)}.toast-stack{z-index:120;gap:var(--space-2);max-width:min(360px, calc(100vw - var(--space-8)));flex-direction:column;display:flex;position:fixed;inset-block-end:var(--space-4);inset-inline-end:var(--space-4)}.toast{align-items:flex-start;gap:var(--space-3);background:var(--app-surface);border:1px solid var(--app-border);border-inline-start:3px solid var(--neu-info);border-radius:var(--shell-radius-sm);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);display:flex}.toast svg{width:var(--icon-size-md);height:var(--icon-size-md);flex-shrink:0;margin-top:2px}.toast-success{border-inline-start-color:var(--neu-success)}.toast-error{border-inline-start-color:var(--neu-destructive)}.toast-warning{border-inline-start-color:var(--neu-warning)}.toast-info{border-inline-start-color:var(--neu-info)}.toast-title{font-weight:700;font-size:var(--font-size-sm);margin:0}.toast-message{margin:var(--space-1) 0 0;color:var(--neu-text-sec)}.toast-dismiss{flex-shrink:0;margin-inline-start:auto}.info-tip{color:var(--neu-text-faint);cursor:help;border-radius:var(--shell-radius-sm);align-items:center;display:inline-flex;position:relative}.info-tip svg{width:13px;height:13px}.info-tip:hover,.info-tip:focus-visible{color:var(--neu-text-sec)}.info-tip:focus-visible{outline:2px solid var(--neu-action);outline-offset:2px}.info-tip-bubble{inset-block-end:calc(100% + 6px);background:var(--app-surface);color:var(--neu-text);border:1px solid var(--app-border-strong);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);white-space:nowrap;z-index:60;pointer-events:none;border-radius:4px;font-weight:500;display:none;position:absolute;left:50%;transform:translate(-50%)}.info-tip:hover .info-tip-bubble,.info-tip:focus-visible .info-tip-bubble{display:block}.btn-dense{min-height:var(--button-height);height:var(--button-height);padding:0 var(--space-3);font-size:var(--font-size-sm)}.btn-dense svg{width:var(--icon-size-md);height:var(--icon-size-md)}.poster-context{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.poster-title{font-size:var(--font-size-lg);overflow-wrap:anywhere;margin:0;margin-inline-end:auto;font-weight:700}.poster-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.poster-tile{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--shell-radius-md);flex-direction:column;display:flex;overflow:hidden}.poster-tile:hover{border-color:var(--app-border-strong)}.poster-tile-thumb{aspect-ratio:16/10;object-fit:cover;background:var(--app-surface-subtle);width:100%;display:block}.poster-tile-empty{border-bottom:1px solid var(--app-border);background:var(--app-surface-subtle)}.poster-tile-body{padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.poster-tile-name{font-size:var(--font-size-md);overflow-wrap:anywhere;margin:0;font-weight:700}.poster-tile-actions{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.poster-empty{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.poster-dialog-form{gap:var(--space-3);flex-direction:column;display:flex}.poster-dialog-form .field:last-of-type{margin-bottom:0}.studio-topbar{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--app-border);flex-wrap:wrap;display:flex}.studio-topbar h1{font-size:var(--font-size-lg);margin:0;overflow-wrap:anywhere;margin-inline-end:auto;font-weight:700}.studio-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.studio-zoom{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--neu-text-sec);font-weight:600;display:inline-flex}.studio-grid{gap:var(--workspace-gap);grid-template-columns:220px minmax(0,1fr) 340px;align-items:start;display:grid}.studio-layers{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.layers-toggle{display:none}.layer-list{flex-direction:column;gap:2px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.layer-row{align-items:center;gap:var(--space-2);min-height:var(--button-height);padding:6px var(--space-2);border-radius:var(--shell-radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--neu-text-sec);border:1px solid #0000;font-weight:500;display:flex}.layer-row svg{width:var(--icon-size-md);height:var(--icon-size-md);color:var(--neu-text-faint);flex-shrink:0}.layer-row:hover{background:var(--neu-surface-soft);color:var(--neu-text)}.layer-row:focus-visible{outline:2px solid var(--neu-action);outline-offset:1px}.layer-selected{background:var(--neu-action-soft);border-color:var(--app-border-strong);color:var(--neu-text);font-weight:700}.layer-selected svg{color:var(--neu-action-dark)}.layer-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-save{gap:var(--space-2);border-top:1px solid var(--app-border);padding-top:var(--space-2);flex-direction:column;display:flex}.layer-save p{margin:0}.studio-field-selected{background:var(--app-surface-subtle);border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);padding:var(--space-2)}.type-section{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--app-border);font-size:var(--font-size-sm);color:var(--neu-text-sec);font-weight:700}.type-section:first-child{border-top:none;margin-top:0;padding-top:0}.type-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.type-inline{font-size:var(--font-size-sm);color:var(--neu-text-sec);flex-shrink:0;font-weight:600}.type-value{font-size:var(--font-size-xs);color:var(--neu-text-faint);white-space:nowrap;margin-inline-start:auto}.type-slider{min-width:120px;accent-color:var(--neu-action);flex:1}.seg{border:1px solid var(--app-border-strong);border-radius:var(--shell-radius-sm);display:inline-flex;overflow:hidden}.seg-btn{background:var(--app-surface);color:var(--neu-text-sec);font-family:inherit;font-size:var(--font-size-sm);padding:6px var(--space-3);cursor:pointer;white-space:nowrap;border:none;font-weight:600}.seg-btn+.seg-btn{border-inline-start:1px solid var(--app-border)}.seg-btn:hover{background:var(--neu-surface-soft);color:var(--neu-text)}.seg-btn:focus-visible{outline:2px solid var(--neu-action);outline-offset:-2px}.seg-active{background:var(--neu-text);color:var(--app-surface)}.seg-num{border:none;border-inline-start:1px solid var(--app-border);background:var(--app-surface);width:56px;color:var(--neu-text);font-family:inherit;font-size:var(--font-size-sm);padding:6px var(--space-1);text-align:center;font-weight:600}.seg-num:focus-visible{outline:2px solid var(--neu-action);outline-offset:-2px}.seg-unit{padding:0 var(--space-2);font-size:var(--font-size-xs);color:var(--neu-text-faint);border-inline-start:1px solid var(--app-border);align-items:center;display:inline-flex}.color-host{position:relative}.color-swatch-btn{border:1px solid var(--app-border-strong);border-radius:var(--shell-radius-sm);background:var(--app-surface);cursor:pointer;justify-content:center;align-items:center;width:36px;height:28px;padding:0;display:inline-flex}.color-trigger{width:auto;min-width:36px;height:28px;padding:0 var(--space-2);gap:var(--space-2)}.color-hex{font-size:var(--font-size-xs);color:var(--neu-text-sec);font-weight:600}.color-dot{border:1px solid #00000026;border-radius:4px;width:22px;height:16px}.color-pop{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);box-shadow:var(--shadow-md);padding:var(--space-2);z-index:60;gap:var(--space-2);flex-direction:column;min-width:176px;display:flex;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-start:0}.type-warn{font-size:var(--font-size-xs);color:var(--neu-warning);margin:0;font-weight:600}.studio-tools{min-width:0}.studio-inspector{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.studio-tabpanel{gap:var(--space-3);flex-direction:column;display:flex}.studio-field-group{gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--app-border);flex-direction:column;display:flex}.studio-field-group:last-child{border-bottom:none;padding-bottom:0}.studio-canvas{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.studio-canvas .poster-preview-wrap{border:1px solid var(--app-border);border-radius:var(--shell-radius-md);background:var(--app-surface-subtle);overflow:hidden}.studio-section-title{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--neu-text-sec);font-weight:700}.poster-file{gap:var(--space-2);font-size:var(--font-size-md);flex-wrap:wrap;align-items:center;display:flex}.template-grid{gap:var(--workspace-gap);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.template-canvas-col,.template-props,.template-props .field-row>*{min-width:0}.template-props input[type=file],.studio-tools input[type=file]{max-width:100%}.prop-group{padding:var(--space-3) 0;border-top:1px solid var(--app-border);gap:var(--space-3);flex-direction:column;display:flex}.prop-group:first-of-type{border-top:none;padding-top:0}@media (width<=1024px){.studio-grid,.template-grid{grid-template-columns:minmax(0,1fr)}.studio-grid .studio-canvas,.template-grid .template-canvas-col{order:-1}.layers-toggle{display:inline-flex}}.programs-context{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.programs-title{font-size:var(--font-size-lg);overflow-wrap:anywhere;margin:0;margin-inline-end:auto;font-weight:700}.program-list{flex-direction:column;display:flex}.program-row{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--app-border);align-items:center;display:flex}.program-row:last-child{border-bottom:none}.program-row:hover{background:var(--wash)}.program-row-main{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.program-row-title{font-size:var(--font-size-md);overflow-wrap:anywhere;margin:0;font-weight:700}.program-row-title a{color:inherit;text-decoration:none}.program-row-title a:hover{color:var(--neu-action-dark);text-decoration:underline}.program-row-meta{gap:var(--space-2);font-size:var(--font-size-xs);color:var(--neu-text-sec);flex-wrap:wrap;align-items:center;margin:0;display:flex}.program-section{padding:var(--space-4) 0;border-bottom:1px solid var(--app-border);gap:var(--space-3);flex-direction:column;display:flex}.program-section:first-of-type{padding-top:0}.program-section:last-child{border-bottom:none}.program-identity{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.program-identity h2{font-size:var(--font-size-md);overflow-wrap:anywhere;margin:0;margin-inline-end:auto;font-weight:700}.program-meta{font-size:var(--font-size-sm);color:var(--neu-text-sec);gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.program-form-section{padding:var(--space-4) 0;border-bottom:1px solid var(--app-border);gap:var(--space-3);flex-direction:column;display:flex}.program-form-section:first-of-type{padding-top:0}.program-form-section h2{font-size:var(--font-size-sm);color:var(--neu-text-sec);margin:0;font-weight:700}.program-check-list{gap:var(--space-1);flex-direction:column;display:flex}.rich-text{border:1px solid var(--neu-border);border-radius:var(--shell-radius-sm);background:var(--neu-surface);width:100%;color:var(--neu-text);font-family:inherit;transition:border-color .12s,box-shadow .12s;overflow:hidden}.rich-text:hover{border-color:var(--app-border-strong)}.rich-text:focus-within{border-color:var(--neu-action);box-shadow:var(--control-focus-ring)}.tool-bar{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--app-border);background:var(--app-surface);scrollbar-width:thin;scrollbar-color:transparent transparent;display:flex;overflow-x:auto}.tool-bar:hover,.tool-bar:focus-within{scrollbar-color:#cfcfcb transparent}.tool-bar::-webkit-scrollbar{height:4px}.tool-bar::-webkit-scrollbar-track{background:0 0}.tool-bar::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}.tool-bar:hover::-webkit-scrollbar-thumb{background:#cfcfcb}.tool-bar:focus-within::-webkit-scrollbar-thumb{background:#cfcfcb}.tool-group{flex-shrink:0;align-items:center;gap:2px;display:flex}.tool-sep{background:var(--app-border);width:1px;height:22px;margin-inline:var(--space-1);flex-shrink:0}.tool-btn{min-width:30px;height:30px;padding:0 var(--space-1);border-radius:var(--shell-radius-sm);color:var(--neu-text-sec);cursor:pointer;font-size:var(--font-size-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.tool-btn svg{width:var(--icon-size-md);height:var(--icon-size-md)}.tool-btn:hover:not(:disabled){background:var(--neu-surface-soft);color:var(--neu-text)}.tool-btn:focus-visible{outline:2px solid var(--neu-action);outline-offset:1px}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.tool-btn-active{background:var(--neu-surface-soft);border-color:var(--app-border-strong);color:var(--neu-text)}.tool-select{border-radius:var(--shell-radius-sm);max-width:128px;height:30px;color:var(--neu-text);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;padding:0 var(--space-1);background:0 0;border:1px solid #0000;font-weight:600}.tool-select:hover{background:var(--neu-surface-soft);border-color:var(--app-border)}.tool-select:focus-visible{outline:2px solid var(--neu-action);outline-offset:1px}.tool-select-font{max-width:104px}.tool-select-size{max-width:64px}.tool-swatch{border:1px solid var(--app-border-strong);background:0 0;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:inline-flex}.tool-swatch-mark{border-radius:4px}.tool-menu-host{position:relative}.tool-menu{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);box-shadow:var(--shadow-md);padding:var(--space-2);z-index:60;gap:var(--space-2);flex-direction:column;min-width:168px;display:flex;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-start:0}.tool-swatches{gap:var(--space-1);grid-template-columns:repeat(6,24px);display:grid}.tool-swatch-btn{border:1px solid var(--app-border-strong);background:var(--app-surface);width:24px;height:24px;color:var(--neu-text);cursor:pointer;border-radius:4px;padding:0;font-size:12px;font-weight:800}.tool-swatch-btn:hover{border-color:var(--neu-text-sec)}.tool-swatch-active{outline:2px solid var(--neu-action);outline-offset:1px}.tool-custom-color{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--neu-text-sec);display:flex}.tool-custom-color input[type=color]{border:1px solid var(--app-border-strong);background:var(--app-surface);cursor:pointer;border-radius:4px;width:32px;height:24px;padding:0}.tool-link-pop{min-width:240px}.tool-link-label{font-size:var(--font-size-sm);font-weight:600}.tool-link-pop .field-input{min-height:var(--input-height)}.doc-stage{background:var(--app-surface-subtle);padding:var(--space-4);justify-content:center;display:flex}.doc-canvas{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);width:100%;max-width:720px;padding:var(--space-5) var(--space-6);font-size:16px;line-height:1.9}.doc-canvas .tiptap{overflow-wrap:anywhere;outline:none;min-height:220px}.doc-canvas .tiptap>:first-child{margin-top:0}.doc-canvas .tiptap>:last-child{margin-bottom:0}.doc-canvas p{margin:0 0 var(--space-2)}.doc-canvas h1,.doc-canvas h2,.doc-canvas h3{margin:var(--space-3) 0 var(--space-2);font-weight:700;line-height:1.6}.doc-canvas h1{font-size:var(--font-size-xl)}.doc-canvas h2{font-size:var(--font-size-lg)}.doc-canvas h3{font-size:var(--font-size-md)}.doc-canvas ul,.doc-canvas ol{margin:0 0 var(--space-2);padding-inline-start:var(--space-5)}.doc-canvas blockquote{margin:0 0 var(--space-2);border-inline-start:3px solid var(--app-border-strong);color:var(--neu-text-sec);padding-inline-start:var(--space-3)}.doc-canvas pre{background:var(--app-surface-subtle);border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);padding:var(--space-3);font-size:var(--font-size-sm);overflow-x:auto}.doc-canvas hr{border:none;border-top:1px solid var(--app-border);margin:var(--space-3) 0}.doc-canvas a{color:var(--neu-action-dark);text-decoration:underline}.doc-canvas u{text-underline-offset:2px}@media (width<=640px){.doc-stage{padding:var(--space-3)}.doc-canvas{padding:var(--space-4);max-width:100%}}.editor-grid{gap:var(--workspace-gap);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.editor-main{gap:var(--workspace-gap);flex-direction:column;min-width:0;display:flex}.editor-side{min-width:0}.editor-block{gap:var(--space-3);flex-direction:column;display:flex}.editor-main .editor-block{box-shadow:none;padding:0 0 var(--space-4);border:none;border-bottom:1px solid var(--app-border);background:0 0;border-radius:0}.editor-main .editor-block:last-child{border-bottom:none;padding-bottom:0}.editor-block .panel-title{align-items:center;gap:var(--space-2);margin:0;display:flex}.editor-count{margin:0}.editor-file-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.editor-media-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin:0;padding:0;list-style:none;display:grid}.editor-media-tile{aspect-ratio:1;border:1px solid var(--app-border);border-radius:var(--shell-radius-sm);background:var(--app-surface-subtle);position:relative;overflow:hidden}.editor-media-tile img{object-fit:cover;width:100%;height:100%;display:block}.editor-media-broken{height:100%;font-size:var(--font-size-xs);color:var(--neu-text-faint);padding:var(--space-1);text-align:center;justify-content:center;align-items:center;display:flex}.editor-featured{background:var(--app-surface);border:1px solid var(--app-border-strong);font-size:var(--font-size-xs);padding:0 var(--space-1);border-radius:4px;font-weight:700;position:absolute;inset-block-start:var(--space-1);inset-inline-start:var(--space-1)}.editor-remove{background:var(--app-surface);border:1px solid var(--app-border-strong);width:24px;height:24px;color:var(--neu-text-sec);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-block-start:var(--space-1);inset-inline-end:var(--space-1)}.editor-remove:hover{color:var(--neu-destructive);border-color:var(--neu-destructive)}.editor-remove:focus-visible{outline:2px solid var(--neu-action);outline-offset:2px}.editor-remove svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.editor-url-row{gap:var(--space-2);align-items:flex-end;display:flex}.editor-url-field{flex:200px;min-width:0}.editor-url-field .field{margin-bottom:0}.editor-url-row .btn{min-height:var(--input-height);flex-shrink:0}.publish-fetch{border-bottom:1px solid var(--app-border);padding-bottom:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex}.publish-fetch .btn{min-height:var(--input-height)}.editor-blocker-actions{margin-top:var(--space-2)}.editor-notice{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}@media (width<=1024px){.editor-grid{grid-template-columns:minmax(0,1fr)}}.item-meta{margin:0 0 var(--space-3);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.item-source{color:var(--neu-text-sec);font-weight:600;font-size:var(--font-size-sm)}.item-media{border-radius:var(--shell-radius-sm);max-width:100%;height:auto;margin-bottom:var(--space-3);display:block}.item-body{white-space:pre-wrap;line-height:1.9;font-size:var(--font-size-md);overflow-wrap:anywhere}.item-source-link{margin:var(--space-3) 0 0}.item-source-link a,.item-body a,.item-pubs a{color:var(--neu-action-dark)}.item-pubs{margin-top:var(--space-4)}.item-pubs ul{margin:var(--space-2) 0 0;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--neu-text-sec);flex-direction:column;padding-inline-start:var(--space-4);display:flex}.panel.news-panel{box-shadow:none;padding:0 0 var(--space-3);border:none;border-bottom:1px solid var(--app-border);gap:var(--space-2);background:0 0;border-radius:0;flex-direction:column;display:flex}.news-context{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.news-source{color:var(--neu-text-sec);font-weight:600}.news-search{gap:var(--space-2);align-items:flex-end;display:flex}.news-search-field{flex:220px;min-width:0}.news-search-field .field{margin-bottom:0}.news-search-submit{flex-shrink:0}.news-search-submit .btn{min-height:var(--input-height)}.news-filters{gap:var(--space-1);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.news-filters .btn{flex-shrink:0}.news-list{flex-direction:column;display:flex}.news-item{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--app-border);align-items:flex-start;display:flex}.news-item:last-child{border-bottom:none}.news-item:hover{background:var(--wash)}.news-thumb{object-fit:cover;border-radius:var(--shell-radius-sm);flex-shrink:0;width:64px;height:64px}.news-main{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.news-meta{gap:var(--space-2);font-size:var(--font-size-xs);color:var(--neu-text-sec);flex-wrap:wrap;align-items:center;margin:0;display:flex}.news-meta svg{width:12px;height:12px}.news-meta time{align-items:center;gap:var(--space-1);display:inline-flex}.news-title{font-size:var(--font-size-md);overflow-wrap:anywhere;margin:0;font-weight:700}.news-title a{color:inherit;text-decoration:none}.news-title a:hover{color:var(--neu-action-dark);text-decoration:underline}.news-pubs{margin:var(--space-1) 0 0;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--neu-text-sec);flex-direction:column;padding-inline-start:var(--space-4);display:flex}.news-pubs a{color:var(--neu-action-dark)}.news-actions{gap:var(--space-1);flex-wrap:wrap;flex-shrink:0;align-items:center;display:flex}@media (width<=640px){.news-item{flex-wrap:wrap}.news-thumb{width:52px;height:52px}.news-actions{flex-basis:100%}.news-search{flex-wrap:wrap}.news-search-submit,.news-search-submit .btn{width:100%}}
