/* Ignis web UI 0.1.3 · Core presentation · local assets only. */
:root{--web-bg:#121212;--web-panel:rgba(25,25,25,.76);--web-raised:#222;--web-line:rgba(238,193,120,.17);--web-text:#f4eee5;--web-muted:#b4afa7;--web-dim:#a49c91;--web-accent:#edb66d;--web-good:#a3c8b3;--web-mono:ui-monospace,SFMono-Regular,Consolas,monospace;--web-grid:radial-gradient(ellipse at 50% 0,rgba(213,128,48,.09),transparent 65%),repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(255,235,206,.025) 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,rgba(255,235,206,.025) 32px),var(--web-bg)}
.web-app{--bg:var(--web-bg);--panel:var(--web-panel);--line:var(--web-line);--text:var(--web-text);--muted:var(--web-muted);--dim:var(--web-dim);--ember:var(--web-accent);--amber:var(--web-accent);--console-primary:var(--web-accent);--console-background:var(--web-bg);--console-on-background:var(--web-text);--console-on-surface:var(--web-text);--console-on-surface-variant:var(--web-muted);margin:0;background:var(--web-grid);color:var(--web-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;line-height:1.5;color-scheme:dark;-webkit-font-smoothing:antialiased}
.web-app *{box-sizing:border-box}.web-app [hidden]{display:none!important}.web-app svg{flex-shrink:0}.web-app :is(button,input,select,textarea){font:inherit}.web-app :is(button,a){-webkit-tap-highlight-color:transparent;touch-action:manipulation}.web-app :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--web-accent);outline-offset:3px}.web-app :is(button,input,select,textarea):disabled{opacity:.5;cursor:default}
.web-brand{display:flex;align-items:center;gap:12px;color:var(--web-text);font-size:20px;font-weight:600;text-decoration:none;letter-spacing:.02em}.web-brand>svg,.web-brand>img{width:30px;height:30px;color:var(--web-accent)}.web-brand small{display:block;margin-top:4px;color:var(--web-dim);font:9px var(--web-mono);letter-spacing:1.5px;text-transform:uppercase}
.web-header{min-height:60px;display:flex;align-items:center;border-bottom:1px solid var(--web-line);background:rgba(12,12,12,.72);backdrop-filter:blur(16px)}
.web-app .web-panel{min-width:0;background:var(--web-panel);border:1px solid var(--web-line);border-radius:8px;padding:20px;box-shadow:0 12px 40px #00000014}
.web-app :is(.web-button,.web-primary){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--web-line);border-radius:6px;background:#ffffff04;color:var(--web-text);font-size:13px;line-height:1.4;text-decoration:none;cursor:pointer}.web-app .web-primary{border-color:#edb66d70;background:#edb66d14;color:var(--web-accent)}.web-app :is(.web-button,.web-primary):hover{background:#edb66d20;border-color:#edb66d70}.web-app .web-control{min-height:44px;border:1px solid var(--web-line);border-radius:6px;background:#111;color:var(--web-text);padding:10px 12px;max-width:100%}
.web-app .web-sidebar{position:fixed;inset:auto 0 0;display:flex;align-items:stretch;min-height:56px;height:auto;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-top:1px solid var(--web-line);border-radius:0;background:#101010f5;backdrop-filter:blur(16px);z-index:20;width:100%;gap:0}.web-sidebar .web-brand,.web-sidebar .web-network{display:none}.web-sidebar nav{display:flex;width:100%;gap:0}.web-app .web-sidebar :is(button,.web-nav-link){position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:auto;min-width:0;min-height:56px;margin:0;padding:8px 4px;border:0;border-radius:0;background:transparent;color:var(--web-muted);font-size:10px;line-height:1.3;text-decoration:none;cursor:pointer}.web-app .web-sidebar :is(button,.web-nav-link):hover{color:var(--web-text);background:#ffffff04}.web-app .web-sidebar [aria-current=page]{color:var(--web-accent);background:#edb66d08}.web-sidebar [aria-current=page]::after{content:"";position:absolute;bottom:0;left:calc(50% - 15px);width:30px;height:2px;background:var(--web-accent)}.web-sidebar :is(button,.web-nav-link)>svg{width:19px;height:19px}.web-sidebar .web-network{margin-top:auto;padding:20px 14px 0;color:var(--web-dim);font:10px var(--web-mono);letter-spacing:.5px;border-top:1px solid var(--web-line)}
@media(min-width:1024px){.web-app .web-sidebar{inset:0 auto 0 0;width:224px;flex-direction:column;padding:28px 16px 24px;gap:6px;border:0;border-right:1px solid var(--web-line);background:#0e0e0ef5}.web-sidebar .web-brand{display:flex;padding:0 10px;margin-bottom:38px;min-height:44px}.web-sidebar .web-network{display:block}.web-sidebar nav{flex-direction:column;gap:6px}.web-app .web-sidebar :is(button,.web-nav-link){flex:none;flex-direction:row;justify-content:flex-start;gap:12px;width:100%;min-height:46px;padding:12px 14px;border-radius:6px;font-size:13px}.web-sidebar [aria-current=page]::after{inset:12px auto 12px 0;width:2px;height:auto}.web-header{min-height:64px}}
@media(max-width:600px){.web-app .web-panel{padding:16px}.web-header{min-height:54px}.web-brand{font-size:17px}.web-brand small{font-size:8px}.web-app :is(.web-button,.web-primary){padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.web-app *,.web-app *::before,.web-app *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

/* One scrollbar palette for document, chat, dialogs and nested panels. */
:root{--web-scroll-thumb:#8e7353;--web-scroll-track:#141414}html:root,html:root body.web-app,html:root body.web-app *{scrollbar-width:thin;scrollbar-color:var(--web-scroll-thumb) var(--web-scroll-track)}.web-app::-webkit-scrollbar,.web-app *::-webkit-scrollbar{width:8px;height:8px}.web-app::-webkit-scrollbar-track,.web-app *::-webkit-scrollbar-track{background:var(--web-scroll-track)}.web-app::-webkit-scrollbar-thumb,.web-app *::-webkit-scrollbar-thumb{background:var(--web-scroll-thumb);border:2px solid var(--web-scroll-track);border-radius:8px}.web-app::-webkit-scrollbar-thumb:hover,.web-app *::-webkit-scrollbar-thumb:hover{background:var(--web-accent)}
@media(min-width:1024px){.web-sidebar a.web-network{display:flex;align-items:center;gap:12px;min-height:46px;margin-top:auto;padding:12px 14px;color:var(--web-muted);font-family:inherit;font-size:13px;line-height:1.4;letter-spacing:0;text-decoration:none;border:1px solid transparent;border-radius:6px}.web-sidebar a.web-network:hover{color:var(--web-text);border-color:var(--web-line);background:#ffffff04}.web-sidebar a.web-network svg{width:19px;height:19px;color:var(--web-accent)}}

/* Site identity belongs to the home link; other sites share one compact footer. */
.web-site-switcher{width:44px;flex:none;display:flex;align-items:stretch}.web-app .web-sidebar>nav{flex:1;min-width:0;width:auto}.web-sites-desktop{display:none!important}.web-sites-mobile{position:relative;width:44px}.web-sites-mobile>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px 2px;list-style:none;cursor:pointer;font-size:10px;color:var(--web-muted)}.web-sites-mobile>summary::-webkit-details-marker{display:none}.web-sites-mobile>summary>svg{width:20px;height:20px}.web-sites-mobile>summary:focus-visible{outline:0;color:var(--web-accent);text-decoration:underline}.web-sidebar .web-sites{width:auto;gap:4px}.web-sites-mobile>.web-sites{position:absolute;bottom:calc(100% + 10px);right:6px;width:220px;max-width:calc(100vw - 24px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;background:#161616;border:1px solid var(--web-line);border-radius:7px;box-shadow:0 10px 30px #0008}.web-app .web-site-link{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:8px;color:var(--web-muted);text-decoration:none;font-size:11px;border:0;border-radius:4px;min-width:0}.web-site-link>svg{width:20px;height:20px;flex:none}.web-site-link:hover,.web-site-link:focus-visible{color:var(--web-accent);background:#ffffff04}.web-core .web-site-link[data-site=core],.web-auth .web-site-link[data-site=authenticator],.web-igni .web-site-link[data-site=igni],.web-ember .web-site-link[data-site=ember],.web-manager .web-site-link[data-site=manager]{display:none!important}
@media(min-width:1024px){.web-site-switcher{width:100%;margin-top:auto;padding-top:16px;border-top:1px solid var(--web-line)}.web-sites-mobile{display:none}.web-sidebar .web-sites-desktop{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:4px;width:100%}.web-app .web-sites-desktop>.web-site-link{justify-content:center;width:40px;padding:8px;min-height:44px}.web-sites-desktop>.web-site-link>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.web-app .web-sidebar>nav{flex:none;width:100%}}

/* Connection meaning is supplied by each app's actual transport state. */
.web-live{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:var(--web-mono);font-size:10px;color:var(--web-muted);flex-shrink:0}
.web-live::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65;flex-shrink:0}
.web-live[data-live="true"]{color:var(--web-accent)}
.web-live[data-live="true"]::before{opacity:1;box-shadow:0 0 7px #e2ad6533}
.web-live>i,.web-live>.status-dot{display:none}

/* App downloads belong to mobile navigation. */
@media(min-width:1024px){.web-app .web-sites-desktop>.web-site-link[data-site=manager]{display:none!important}}
