:root{color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--color-page: #f5f7fb;--color-surface: #ffffff;--color-surfaceAlt: #eef3f8;--color-border: #d8e1ec;--color-text: #162033;--color-muted: #5c6b7a;--color-primary: #1769aa;--color-primaryStrong: #0f4f82;--color-primarySoft: #e7f2fb;--color-primarySoftBorder: #9fc6e3;--color-accent: #1b8a6b;--color-warning: #b27c00;--color-danger: #b42318;--color-shadowSoft: 0 18px 50px rgb(21 39 68 / 10%);--color-shadowCard: 0 10px 34px rgb(21 39 68 / 7%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.72}a{color:var(--color-primary)}.loading-screen,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-screen{color:var(--color-muted)}.login-panel{width:min(100%,420px);padding:34px 28px 28px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:var(--color-shadowSoft);text-align:center}.site-logo,.app-logo{display:grid;place-items:center;flex:0 0 auto;font-weight:800;color:#fff;background:var(--color-primary)}.site-logo{width:72px;height:72px;border-radius:8px;font-size:1.08rem}.image-logo{object-fit:contain;padding:0;background:transparent}.login-logo{width:112px;height:112px;margin:0 auto 22px}.login-panel h1,.site-header h1{margin:0}.login-panel p{margin:8px 0 24px;color:var(--color-muted)}.missing-config-list{margin:0;padding:14px 18px;border-radius:8px;color:var(--color-text);background:var(--color-surfaceAlt);text-align:left}.firebase-ui-host .fui-screen{display:block}.firebase-ui-host .fui-card{border:0;box-shadow:none;padding:0}.firebase-ui-host .fui-card__header{display:none}.firebase-ui-host .fui-card__content{padding:0}.firebase-ui-host .fui-form input{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}.firebase-ui-host .fui-form label,.firebase-ui-host .fui-card,.firebase-ui-host .fui-screen{color:var(--color-text)}.firebase-ui-host .fui-error{color:var(--color-danger)}.firebase-ui-host .fui-form button[type=submit]{color:#fff;background:var(--color-primary)}.firebase-ui-host .fui-form button[type=submit]:hover:not(:disabled){background:var(--color-primaryStrong)}.login-form{display:grid;gap:14px;text-align:left}.login-form label,.login-form label span{display:grid;gap:6px}.login-form label span{color:var(--color-text);font-weight:700}.login-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);background:var(--color-surface)}.login-form input:focus{outline:2px solid var(--color-primarySoftBorder);outline-offset:2px}.login-form button[type=submit]{min-height:44px;border-radius:6px;color:#fff;background:var(--color-primary)}.login-form button[type=submit]:hover:not(:disabled){background:var(--color-primaryStrong)}.password-policy-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.password-policy-list li{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:.92rem}.password-policy-list li span{min-width:64px;padding:2px 6px;border-radius:4px;font-size:.76rem;font-weight:700;text-align:center}.password-policy-list .policy-met{color:var(--color-text)}.password-policy-list .policy-met span{color:#fff;background:var(--color-accent)}.password-policy-list .policy-missing span{color:var(--color-muted);background:var(--color-surfaceAlt)}.text-button{justify-self:center;padding:4px 0;color:var(--color-primary);background:transparent}.login-message{padding:10px 12px;border-radius:6px;font-size:.94rem}.error-message{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger),transparent 88%)}.success-message{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent),transparent 88%)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px clamp(18px,4vw,52px);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.brand-lockup,.account-strip,.status-band,.status-band div,.icon-text-button{display:flex;align-items:center}.brand-lockup{gap:12px}.site-header p{margin:2px 0 0;color:var(--color-muted);font-size:.94rem}.account-strip{gap:14px;color:var(--color-muted);font-size:.94rem}.account-strip span,.icon-text-button{gap:8px}.icon-text-button{padding:9px 12px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);background:var(--color-surface)}.page-content{width:min(1420px,calc(100% - 36px));margin:10px auto 44px;flex:1}.status-band{justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surfaceAlt);color:var(--color-muted)}.status-band div{gap:8px}.portal-layout{display:grid;grid-template-columns:minmax(0,1180px) 220px;gap:20px;align-items:start}.app-directory{position:sticky;top:18px;display:grid;gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:color-mix(in srgb,var(--color-surface),transparent 8%);box-shadow:var(--color-shadowCard)}.app-directory h2{margin:0;color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.app-directory nav{display:grid;gap:6px}.app-directory a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:40px;padding:6px;border:1px solid transparent;border-radius:6px;color:var(--color-text);text-decoration:none}.app-directory a:hover,.app-directory a:focus-visible{border-color:var(--color-primarySoftBorder);background:var(--color-primarySoft)}.app-directory img,.app-directory-logo{width:30px;height:30px}.app-directory img{object-fit:contain}.app-directory-logo{display:grid;place-items:center;border-radius:6px;color:#fff;background:var(--color-primary);font-size:.74rem;font-weight:800}.app-directory a span:last-child{overflow:hidden;font-size:.94rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:20px;margin-top:0}.app-card{padding:22px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:var(--color-shadowCard)}.app-card-header{display:flex;gap:14px;align-items:flex-start}.app-logo{width:46px;height:46px;border-radius:8px;background:var(--color-accent)}.app-card h2{margin:0;font-size:1.2rem}.app-card p{margin:5px 0 0;color:var(--color-muted)}.app-card-static-content{display:grid;gap:10px;margin-top:16px}.app-highlights{display:grid;gap:6px;margin:0;padding-left:20px;color:var(--color-muted)}.app-resource-links{display:flex;flex-wrap:wrap;gap:8px}.app-resource-links a,.app-resource-links button{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-primary);background:var(--color-surfaceAlt);font-weight:700;text-decoration:none;cursor:pointer}.app-resource-links a:hover,.app-resource-links button:hover{border-color:var(--color-primarySoftBorder);background:var(--color-primarySoft)}.app-card-note{margin:0;padding:10px 12px;border-radius:8px;color:var(--color-muted);background:var(--color-surfaceAlt)}.license-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 14px;padding:12px;border:1px solid var(--color-border);border-radius:8px}.license-panel div,.license-action-link{display:inline-flex;align-items:center;gap:8px}.license-panel-primary{padding:16px;color:var(--color-text);border-color:var(--color-primarySoftBorder);background:var(--color-primarySoft)}.license-panel-warning{color:var(--color-text);border-color:color-mix(in srgb,var(--color-warning),var(--color-border) 35%);background:color-mix(in srgb,var(--color-warning),transparent 88%)}.license-panel-danger{color:var(--color-text);border-color:color-mix(in srgb,var(--color-danger),var(--color-border) 35%);background:color-mix(in srgb,var(--color-danger),transparent 88%)}.license-panel-primary svg{color:var(--color-text)}.license-panel-warning svg{color:var(--color-text)}.license-panel-danger svg{color:var(--color-text)}.license-action-link{flex:0 0 auto;min-width:126px;min-height:42px;padding:10px 14px;border-radius:6px;color:#fff;background:var(--color-primary);font-weight:700;text-decoration:none}.license-action-link:hover{background:var(--color-primaryStrong)}.latest-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;margin:20px 0 14px;padding:12px;border-radius:8px;background:var(--color-surfaceAlt);color:var(--color-muted)}.latest-row strong{color:var(--color-text)}.download-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--color-border)}.primary-download{padding:16px;border:1px solid var(--color-primarySoftBorder);border-radius:8px;background:var(--color-primarySoft)}.download-row div{min-width:0}.download-row strong,.download-row span,.download-row small{display:block}.download-row span{color:var(--color-muted);font-size:.92rem}.download-row small{margin-top:4px;color:var(--color-danger)}.download-row button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:126px;min-height:42px;padding:10px 14px;border-radius:6px;color:#fff;background:var(--color-primary)}.download-row button:hover:not(:disabled){background:var(--color-primaryStrong)}.choose-download{display:flex;align-items:center;gap:10px;margin-top:16px;padding:14px;border:1px dashed var(--color-border);border-radius:8px;color:var(--color-muted);background:var(--color-surfaceAlt)}.version-list{margin-top:18px}.version-list summary{cursor:pointer;color:var(--color-primary);font-weight:700}.release-block{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.release-heading{display:flex;justify-content:space-between;gap:12px;color:var(--color-muted)}.release-heading strong,.release-heading span{display:block}.release-heading strong{color:var(--color-text)}.asset-list{margin-top:8px}.site-footer{display:flex;justify-content:space-between;gap:18px;padding:22px clamp(18px,4vw,52px);border-top:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface)}@media (min-width: 1660px){.page-content{width:calc(100% - 36px)}.portal-layout{width:1420px;margin-left:calc((100% - 1180px)/2);grid-template-columns:1180px 220px}}@media (max-width: 980px){.portal-layout{grid-template-columns:1fr}.app-directory{position:static;order:-1}.app-directory nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 760px){.site-header,.status-band,.license-panel,.download-row,.site-footer{align-items:stretch;flex-direction:column}.account-strip,.latest-row,.release-heading{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.download-row button,.license-action-link{width:100%;justify-content:center}}
