:root{color-scheme:light;--brand: #e5266d;--brand-deep: #b01c52;--brand-sub: #b11b51;--brand-tint: #fbf0f4;--brand-tint-strong: #f6e3ea;--hairline: #e8d5dd;--on-brand: #ffffff;--color-bg: #fbf5f7;--color-surface: #ffffff;--color-surface-elevated: #fbf5f7;--color-surface-hover: #f6ecf0;--color-text: #111111;--color-text-secondary: #6b6b6b;--color-text-muted: #8a8286;--color-border: #ebe2e6;--color-border-hover: #8f8a8d;--focus: #0f5fa8;--color-primary: var(--brand-deep);--color-primary-hover: var(--brand);--color-primary-muted: var(--brand-deep);--color-accent: var(--brand-sub);--color-success: #117a3f;--success-tint: #e6f5ec;--color-warning: #9a5b00;--warning-tint: #fdf3e0;--color-error: #9b1c1c;--danger-tint: #fbe9e9;--color-info: #0f5fa8;--info-tint: #e8f1fb;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(17, 17, 17, .05), 0 8px 24px rgba(17, 17, 17, .06);--font-family: "Nunito", "Segoe UI", -apple-system, system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:15px;line-height:1.5}a{color:var(--brand-deep);text-decoration:none}a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1{font-size:1.6rem;font-weight:800;letter-spacing:-.01em;margin:0}h2{font-size:1.1rem;font-weight:800;margin:0}h3{font-size:.95rem;font-weight:700;color:var(--brand-sub);margin:0}code{font-family:var(--font-mono);font-size:.85em;color:var(--color-accent)}.muted{color:var(--color-text-secondary)}.small{font-size:.85rem}.error{background:var(--danger-tint);color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0}.success-msg{background:var(--success-tint);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0}.app{min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--hairline);background:var(--color-surface)}header .brand{display:inline-flex;align-items:center;gap:var(--space-md);color:var(--color-text);text-decoration:none}header .brand img{height:36px;width:auto;display:block}header .brand .product{font-size:.75rem;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--color-text-secondary);padding-left:var(--space-md);border-left:1px solid var(--hairline);line-height:1}header .brand:hover{text-decoration:none}header .brand:hover .product{color:var(--brand-deep)}header nav{display:flex;gap:var(--space-lg)}header nav a{font-weight:700;color:var(--color-text-secondary);padding:var(--space-xs) 0;border-bottom:2px solid transparent}header nav a:hover,header nav a.active{color:var(--brand-deep);text-decoration:none;border-bottom-color:var(--brand-deep)}header .spacer{flex:1}main{flex:1}.page{max-width:1360px;margin:0 auto;padding:var(--space-xl)}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.card.empty{text-align:center;color:var(--color-text-secondary)}.btn,button{font-family:inherit;font-size:.9rem;font-weight:700;padding:.5rem .9rem;border-radius:var(--radius-md);border:1px solid var(--color-border-hover);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.btn:hover,button:hover{border-color:var(--brand-deep);color:var(--brand-deep)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.btn.primary,button.primary{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--on-brand)}.btn.primary:hover,button.primary:hover{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.danger,button.danger{background:transparent;border-color:color-mix(in srgb,var(--color-error) 45%,transparent);color:var(--color-error)}.btn.danger:hover,button.danger:hover{background:var(--danger-tint);border-color:var(--color-error);color:var(--color-error)}.btn.small,button.small{padding:.3rem .6rem;font-size:.8rem}.btn.ghost,button.ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn.ghost:hover,button.ghost:hover{background:var(--brand-tint);color:var(--brand-deep)}@media(prefers-reduced-motion:reduce){.btn,button{transition:none}}label{display:block;margin-bottom:var(--space-md);font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}input,textarea,select{display:block;width:100%;margin-top:var(--space-xs);padding:.5rem .7rem;font-family:inherit;font-size:.95rem;font-weight:400;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-hover);border-radius:var(--radius-md)}input:focus,textarea:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--brand-deep)}input[type=checkbox]{accent-color:var(--brand-deep)}textarea{min-height:5rem;resize:vertical;font-family:var(--font-mono)}.checkbox-row{display:flex;align-items:center;gap:var(--space-sm)}.checkbox-row input{width:auto;margin:0}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-secondary);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--hairline)}td{padding:var(--space-md);border-bottom:1px solid var(--color-border)}tr:last-child td{border-bottom:none}tr.row{cursor:pointer}tr.row:hover td{background:var(--brand-tint)}.badge{display:inline-block;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:.2px}.badge.private{background:var(--info-tint);color:var(--color-info)}.badge.public{background:var(--success-tint);color:var(--color-success)}.badge.revoked{background:var(--danger-tint);color:var(--color-error)}.badge.neutral{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.badge.brand{background:var(--brand-tint-strong);color:var(--brand-deep)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.col h2{margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.release{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm)}.release .ver{font-weight:800;font-size:1.05rem}.release .meta{font-size:.8rem;color:var(--color-text-secondary);margin:var(--space-xs) 0 var(--space-sm)}.release .actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.col-empty{color:var(--color-text-muted);font-size:.9rem;padding:var(--space-md);border:1px dashed var(--hairline);border-radius:var(--radius-md)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.login{width:100%;max-width:380px;text-align:center}.login img{height:48px;width:auto;margin-bottom:var(--space-lg)}.login h1{text-align:center}.login p{text-align:center;margin-top:var(--space-xs);margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.login button{width:100%}.row-gap{display:flex;gap:var(--space-sm);align-items:flex-end;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}
