:host{all:initial;--brand-font:"Avenir Next",Inter,Aptos,"Segoe UI",system-ui,Arial,sans-serif;--bg:#f7f4ee;--text:#17191f;--muted:#687384;--line:rgba(46,42,36,.12);--card:#fff;--pill:#fff;--green:#34c759;--glow:rgba(34,27,18,.14);--focus:rgba(49,95,143,.5);--lux-preview:#f7f4ee;--neo-preview:#060608;--aos-danger:#c8392f;--aos-danger-soft:rgba(200,57,47,.1)}
:host(.aos-neo){--bg:#060608;--text:#f4f4f6;--muted:#8b8b97;--line:rgba(255,255,255,.09);--card:#11141a;--pill:#151821;--green:#86e0c0;--glow:rgba(0,0,0,.58);--focus:rgba(244,244,246,.55);--aos-danger:#ff6b61;--aos-danger-soft:rgba(255,107,97,.14)}
.aos-scrim,.aos-panel,.aos-fab,.aos-about-modal{font-family:var(--brand-font);box-sizing:border-box}
.aos-scrim *,.aos-panel *,.aos-about-modal *{box-sizing:border-box}
.aos-fab{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:2147483300;display:grid;place-items:center;width:64px;height:64px;padding:0;border:1px solid rgba(20,23,25,.2);border-radius:50%;background:linear-gradient(145deg,#fff,#e6e0d5);box-shadow:0 18px 46px rgba(48,57,54,.24),inset 0 1px 0 #fff;color:#141719;cursor:pointer;transform:translateX(-50%)}
.aos-mark-img{position:relative;display:block;width:26px;aspect-ratio:96/83;background:var(--aos-a-mark) center/contain no-repeat}
.aos-fab .aos-mark-img{width:30px}
:host(.aos-open) .aos-fab .aos-mark-img{background:none}
:host(.aos-open) .aos-fab .aos-mark-img:before,:host(.aos-open) .aos-fab .aos-mark-img:after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2.2px;border-radius:2px;background:currentColor}
:host(.aos-open) .aos-fab .aos-mark-img:before{transform:translate(-50%,-50%) rotate(45deg)}
:host(.aos-open) .aos-fab .aos-mark-img:after{transform:translate(-50%,-50%) rotate(-45deg)}
.aos-fab:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
:host(.aos-neo) .aos-fab{background:linear-gradient(145deg,#1c1c1e,#0a0a0c);border-color:rgba(255,255,255,.16);box-shadow:0 18px 46px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.1);color:#f5f5f7}
.aos-scrim{position:fixed;inset:0;z-index:2147483100;display:none;background:transparent}
.aos-scrim.aos-open{display:block}
.aos-panel{position:fixed;left:50%;top:calc(var(--aos-panel-clear,60px) + (100svh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px)) / 2);z-index:2147483200;width:min(900px,calc(100vw - 28px));height:min(660px,calc(100svh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px) - 16px));overflow:hidden;padding:38px 38px 94px;border:1px solid rgba(255,255,255,.46);border-radius:28px;background:var(--bg);box-shadow:0 34px 110px var(--glow),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-48%) scale(.985);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.aos-panel.aos-redirect-panel{background:#f7f4ee;border-color:rgba(46,42,36,.12);box-shadow:0 34px 110px rgba(34,27,18,.16),inset 0 1px 0 rgba(255,255,255,.82)}
:host(.aos-neo) .aos-panel.aos-redirect-panel{background:#060608;border-color:rgba(255,255,255,.09);box-shadow:0 40px 90px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06)}
.aos-panel.aos-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .16s ease,transform .16s ease,visibility 0s;transform:translateX(-50%) scale(1)}
.aos-panel.aos-open{transform:translate(-50%,-50%) scale(1)}
.aos-header{position:static;display:grid;grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:24px;padding-right:52px}
.aos-brand{display:grid;justify-self:start;justify-items:stretch;gap:11px;padding-top:3px;width:max-content;text-decoration:none;color:inherit;cursor:pointer;transition:opacity .14s ease}
.aos-brand:hover{opacity:.78}
.aos-brand:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:4px}
.aos-wordmark{display:block;height:17px;aspect-ratio:600/49;background:var(--aos-wordmark) left center/contain no-repeat}
.aos-wordmark{justify-self:start}
.aos-brand span{font-family:var(--brand-font);color:#232529;font-size:.54rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;text-align:center}
:host(.aos-neo) .aos-brand span{color:var(--muted)}
.aos-top-actions{position:absolute;left:38px;right:auto;bottom:57px;z-index:2;display:flex;align-items:center;gap:12px}
.aos-atmo,.aos-mode{display:flex;align-items:center;gap:8px}
.aos-atmo{position:relative}
.aos-mode button:not(.is-active){display:none}
.aos-pill{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:36px;padding:0 18px;border:1px solid rgba(20,23,25,.08);border-radius:999px;background:var(--pill);box-shadow:0 5px 15px rgba(20,23,25,.09),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);font-family:var(--brand-font);font-size:.82rem;font-weight:750;letter-spacing:0;text-decoration:none;white-space:nowrap;cursor:pointer}
.aos-atmo .aos-pill{min-width:94px;height:34px;padding:0 12px;border-color:var(--line);box-shadow:0 7px 20px var(--glow)}
.aos-pill i{width:9px;height:9px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(48,209,88,.45)}
.aos-atmo-trigger{gap:0}
.aos-atmo-chevron{width:7px;height:7px;margin:-3px 1px 0 10px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}
.aos-atmo-trigger[aria-expanded="true"] .aos-atmo-chevron{margin-top:3px;transform:rotate(225deg)}
.aos-atmo-trigger:focus-visible,.aos-atmo-option:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-atmo-menu{position:absolute;left:0;bottom:calc(100% + 10px);display:grid;gap:4px;width:224px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 22px 52px var(--glow);color:var(--text)}
.aos-atmo-menu[hidden]{display:none}
.aos-atmo-option{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:54px;padding:7px 9px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;font-family:var(--brand-font);text-align:left;cursor:pointer}
.aos-atmo-option:hover{background:var(--pill)}
.aos-atmo-option.is-selected{border-color:var(--line);background:var(--pill);box-shadow:inset 3px 0 0 var(--green)}
.aos-atmo-swatch{width:28px;height:28px;border:1px solid var(--line);border-radius:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.aos-atmo-swatch.is-lux{background:var(--lux-preview)}
.aos-atmo-swatch.is-neo{background:var(--neo-preview)}
.aos-atmo-swatch.is-auto{background:linear-gradient(135deg,var(--lux-preview) 0 49%,var(--neo-preview) 51% 100%)}
.aos-atmo-copy{display:grid;gap:2px;min-width:0}
.aos-atmo-copy strong{font-size:.78rem;font-weight:800;letter-spacing:.05em}
.aos-atmo-copy small{overflow:hidden;color:var(--muted);font-size:.65rem;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.aos-atmo-check{color:var(--green);font-size:.9rem;font-weight:900;text-align:center}
.aos-account-action{position:absolute;top:38px;right:38px;display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:38px;padding:0;border:1px solid rgba(20,23,25,.08);border-radius:999px;background:var(--pill);box-shadow:0 5px 15px rgba(20,23,25,.09),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);font-family:var(--brand-font);text-decoration:none;white-space:nowrap}
.aos-account{position:absolute;top:38px;right:38px;z-index:4}
.aos-account .aos-account-action{position:static;cursor:pointer}
.aos-account-action strong{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.aos-account-glyph{position:relative;display:block;flex:0 0 auto;width:17px;height:17px}
.aos-account-glyph:before{content:"";position:absolute;left:50%;top:1px;width:7px;height:7px;border:1.8px solid currentColor;border-radius:50%;transform:translateX(-50%)}
.aos-account-glyph:after{content:"";position:absolute;left:50%;bottom:1px;width:15px;height:7px;border:1.8px solid currentColor;border-radius:10px 10px 0 0;border-bottom:0;transform:translateX(-50%)}
.aos-account-menu{position:absolute;right:0;top:calc(100% + 10px);display:grid;width:252px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 18px 44px var(--glow);color:var(--text)}
.aos-account-menu[hidden]{display:none}
.aos-account-menu:has(.aos-id-switch:not([hidden])){width:272px}
.aos-account-menu-item{display:flex;align-items:center;gap:10px;width:100%;height:42px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:inherit;font-family:var(--brand-font);font-size:.82rem;font-weight:650;text-align:left;text-decoration:none;cursor:pointer;transition:background .14s var(--aos-ease,ease)}
.aos-account-menu-item:hover{background:var(--pill)}
.aos-account-menu-item:active{transform:scale(.985)}
.aos-account-menu-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.aos-account-item-glyph{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--pill);color:var(--muted)}
.aos-account-menu-item:hover .aos-account-item-glyph{color:var(--text)}
/* Clear sections: a muted micro-label leads each group (Task 7). */
.aos-account-menu-label{margin:2px 0 2px;padding:0 10px}
.aos-account-menu-section{display:grid;gap:1px}
.aos-account-menu-section + .aos-account-menu-section{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
/* Log out: its own section, separated at the bottom, in the danger colour. */
.aos-account-menu-section-logout{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
.aos-account-menu-logout{color:var(--aos-danger)}
.aos-account-menu-logout .aos-account-item-glyph{background:var(--aos-danger-soft);color:var(--aos-danger)}
.aos-account-menu-logout:hover{background:var(--aos-danger-soft)}
.aos-account-menu-logout:hover .aos-account-item-glyph{color:var(--aos-danger)}
.aos-id-switch{display:grid;gap:1px;padding:2px 0 8px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.aos-id-switch[hidden]{display:none}
.aos-id-current{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px 10px}
.aos-id-name{display:grid;min-width:0}
.aos-id-name strong{font-family:var(--brand-font);font-size:.86rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aos-id-name small{font-family:var(--brand-font);font-size:.7rem;color:var(--muted,inherit);opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* The active ID marked clearly (Task 7), not just implied by being listed first. */
.aos-id-active-badge{flex:0 0 auto;margin-left:auto;padding:3px 9px;border-radius:999px;background:var(--pill);outline:1px solid var(--line);font-family:var(--brand-font);font-size:.6rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.aos-id-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border-radius:999px;background:var(--pill) center/cover no-repeat;border:1px solid var(--line);font-family:var(--brand-font);font-size:.68rem;font-weight:800;letter-spacing:.02em;color:var(--text);overflow:hidden}
.aos-id-avatar-trigger{width:100%;height:100%;border:0}
.aos-account .aos-account-action{overflow:hidden}
.aos-id-option{gap:10px;height:42px}
.aos-id-option:disabled{opacity:.55;cursor:progress}
.aos-id-option-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aos-id-manage{height:36px;font-size:.78rem;color:var(--muted)}
.aos-id-manage .aos-account-item-glyph{width:26px;height:26px}
.aos-id-note{margin:2px 8px 4px;font-family:var(--brand-font);font-size:.7rem;line-height:1.35;opacity:.8}
.aos-id-note[hidden]{display:none}
.aos-section-label{margin:0;color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.aos-apps-title{display:flex;align-items:center;gap:10px}
.aos-grid-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.aos-view-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--pill);color:var(--muted);cursor:pointer;transition:color .16s var(--aos-ease,ease),background .16s var(--aos-ease,ease),transform .16s var(--aos-ease,ease)}
.aos-view-toggle:active{transform:scale(.94)}
.aos-view-toggle:hover{color:var(--text)}
.aos-view-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aos-view-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 12px;width:min(790px,100%);margin:24px 0 0 36px;max-height:calc(100% - 88px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-behavior:smooth;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:6px;padding-bottom:6px}
.aos-grid::-webkit-scrollbar{width:8px}
.aos-grid::-webkit-scrollbar-track{background:transparent}
.aos-grid::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--muted);background-clip:padding-box}
.aos-grid.aos-view-list{grid-template-columns:1fr}
.aos-view-list .aos-tile{min-height:0}
.aos-view-list .aos-tile-main{min-height:72px;padding:14px 42px 14px 16px}
.aos-grid.aos-view-icons{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:20px 10px;align-content:start}
.aos-view-icons .aos-tile{min-height:0;border:0;background:none;box-shadow:none}
.aos-view-icons .aos-tile:hover{transform:none;background:none;box-shadow:none}
.aos-view-icons .aos-tile-main{grid-template-columns:1fr;justify-items:center;text-align:center;gap:9px;min-height:0;padding:6px 4px}
.aos-view-icons .aos-tile-icon{width:58px;height:58px;border-radius:31%;background:var(--card);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .22s var(--aos-ease,ease)}
.aos-view-icons .aos-tile:hover .aos-tile-icon{transform:translateY(-3px) scale(1.04)}
.aos-view-icons .aos-tile:active .aos-tile-icon{transform:scale(.94)}
.aos-view-icons .aos-tile-icon svg{width:30px;height:30px}
.aos-view-icons .aos-tile-body{gap:0}
.aos-view-icons .aos-tile-body strong{font-size:.78rem;font-weight:500;letter-spacing:.005em;white-space:normal;overflow:visible;text-align:center;line-height:1.25}
.aos-view-icons .aos-tile-body small{display:none}
.aos-view-icons .aos-tile-about{display:none}
.aos-tile{position:relative;display:block;min-height:104px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:inset 0 1px 0 rgba(255,255,255,.28);color:inherit;transition:border-color .16s var(--aos-ease,ease),background .16s var(--aos-ease,ease),transform .22s var(--aos-ease,ease),box-shadow .22s var(--aos-ease,ease)}
.aos-tile:hover{transform:translateY(-2px);border-color:rgba(22,24,27,.14);background:rgba(255,255,255,.42);box-shadow:0 16px 44px rgba(39,38,36,.08),inset 0 1px 0 rgba(255,255,255,.42)}
:host(.aos-neo) .aos-tile:hover{background:rgba(255,255,255,.075);border-color:rgba(245,246,242,.2)}
.aos-tile-main{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:15px;min-height:102px;padding:19px 42px 19px 17px;color:inherit;text-decoration:none}
.aos-tile-about{position:absolute;right:11px;top:11px;display:grid;width:22px;height:22px;place-items:center;border:1px solid rgba(22,24,27,.16);border-radius:50%;background:rgba(255,255,255,.4);color:var(--muted);font-family:var(--brand-font);font-size:.66rem;font-weight:600;line-height:1;text-decoration:none;opacity:.85;transition:opacity .14s ease,background .14s ease,color .14s ease}
.aos-tile-about:hover{opacity:1;background:rgba(255,255,255,.72);color:var(--text)}
:host(.aos-neo) .aos-tile-about{background:rgba(255,255,255,.05);border-color:rgba(245,246,242,.14)}
:host(.aos-neo) .aos-tile-about:hover{opacity:1;background:rgba(255,255,255,.13);color:var(--text)}
.aos-tile-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--text)}
/* overflow:visible, not the shared icon contract's overflow:hidden (os/icons/v1.css):
   the panel is the one surface that puts its unread badge INSIDE this element
   (applyBadge appends into the icon itself here, unlike the bar/cluster, which
   badge a wrapper around their icon) — hidden clipped the badge's top off. The
   icon's own background/glyph still respect the border-radius with no overflow
   rule at all, so nothing about the icon's look depends on this. */
.aos-tile-icon.alyssiun-color-icon{overflow:visible;border:1px solid rgba(255,255,255,.22);border-radius:31%;background:linear-gradient(145deg,var(--alyssiun-icon-start,var(--card)),var(--alyssiun-icon-end,var(--pill)));box-shadow:0 9px 22px rgba(11,16,28,.22),inset 0 1px 0 rgba(255,255,255,.32);color:#fff}
.alyssiun-color-icon[data-app-icon="drive"]{--alyssiun-icon-start:var(--alyssiun-app-drive-icon-start);--alyssiun-icon-end:var(--alyssiun-app-drive-icon-end)}
.alyssiun-color-icon[data-app-icon="crm"]{--alyssiun-icon-start:var(--alyssiun-app-crm-icon-start);--alyssiun-icon-end:var(--alyssiun-app-crm-icon-end)}
.alyssiun-color-icon[data-app-icon="blog"]{--alyssiun-icon-start:var(--alyssiun-app-blog-icon-start);--alyssiun-icon-end:var(--alyssiun-app-blog-icon-end)}
.alyssiun-color-icon[data-app-icon="one"]{--alyssiun-icon-start:var(--alyssiun-app-one-icon-start);--alyssiun-icon-end:var(--alyssiun-app-one-icon-end)}
.alyssiun-color-icon[data-app-icon="viewer"]{--alyssiun-icon-start:var(--alyssiun-app-viewer-icon-start);--alyssiun-icon-end:var(--alyssiun-app-viewer-icon-end)}
.alyssiun-color-icon[data-app-icon="here"]{--alyssiun-icon-start:var(--alyssiun-app-here-icon-start);--alyssiun-icon-end:var(--alyssiun-app-here-icon-end)}
.alyssiun-color-icon[data-app-icon="id"]{--alyssiun-icon-start:var(--alyssiun-app-id-icon-start);--alyssiun-icon-end:var(--alyssiun-app-id-icon-end)}
.alyssiun-color-icon[data-app-icon="foundation"]{--alyssiun-icon-start:var(--alyssiun-app-foundation-icon-start);--alyssiun-icon-end:var(--alyssiun-app-foundation-icon-end)}
.alyssiun-color-icon[data-app-icon="account"]{--alyssiun-icon-start:var(--alyssiun-app-account-icon-start);--alyssiun-icon-end:var(--alyssiun-app-account-icon-end)}
.alyssiun-color-icon[data-app-icon="aly"]{--alyssiun-icon-start:var(--alyssiun-app-aly-icon-start);--alyssiun-icon-end:var(--alyssiun-app-aly-icon-end)}
.alyssiun-color-icon[data-app-icon="store"]{--alyssiun-icon-start:var(--alyssiun-app-store-icon-start);--alyssiun-icon-end:var(--alyssiun-app-store-icon-end)}

.alyssiun-color-icon[data-system-icon="folder"]{--alyssiun-icon-start:var(--alyssiun-system-folder-icon-start);--alyssiun-icon-end:var(--alyssiun-system-folder-icon-end)}
.aos-tile-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.aos-tile-body{display:grid;gap:7px;min-width:0}
.aos-tile-body strong{overflow:hidden;font-size:.97rem;font-weight:650;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}
.aos-tile-body small{overflow:hidden;color:var(--muted);font-size:.72rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.aos-tile.is-current{border-color:rgba(22,24,27,.13)}
.aos-tile.is-2donly{opacity:.72}
.aos-panel-foot{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:18px;margin:28px 0 10px;padding-top:22px;border-top:1px solid var(--line)}
.aos-foot-row{display:inline-flex;align-items:center;gap:10px}
.aos-foot-sep{color:var(--muted);font-size:.82rem;font-weight:400;user-select:none}
.aos-about{display:inline-flex;align-items:center;justify-content:center;align-items:center;justify-content:center;height:38px;padding:0 24px;border:1px solid rgba(20,23,25,.08);border-radius:999px;background:var(--pill);box-shadow:0 5px 15px rgba(20,23,25,.09),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);font-family:var(--brand-font);font-size:.82rem;font-weight:700;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;appearance:none;transition:transform .14s ease,background .14s ease,border-color .14s ease}
.aos-about,.aos-foot-report,.aos-foot-support{transition:transform .22s var(--aos-ease,ease),background .16s var(--aos-ease,ease),border-color .16s var(--aos-ease,ease)}
.aos-about:active,.aos-foot-report:active,.aos-foot-support:active{transform:scale(.97)}
.aos-about:hover{transform:translateY(-1px);background:rgba(255,255,255,.92);border-color:rgba(22,24,27,.16)}
:host(.aos-neo) .aos-about:hover{background:rgba(255,255,255,.12)}
.aos-about:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-foot-report{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 24px;border:1px solid rgba(20,23,25,.08);border-radius:999px;background:var(--pill);box-shadow:0 5px 15px rgba(20,23,25,.09),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);font-family:var(--brand-font);font-size:.82rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;cursor:pointer;appearance:none;transition:transform .14s ease,background .14s ease,border-color .14s ease}
.aos-foot-report:hover{transform:translateY(-1px);background:rgba(255,255,255,.92);border-color:rgba(22,24,27,.16)}
:host(.aos-neo) .aos-foot-report:hover{background:rgba(255,255,255,.12)}
.aos-foot-report:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-foot-support{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:176px;height:38px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--pill);box-shadow:0 5px 15px rgba(20,23,25,.09),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);font-family:var(--brand-font);font-size:.82rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;cursor:pointer;appearance:none;transition:transform .14s ease,border-color .14s ease}
.aos-foot-support svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.aos-foot-support:hover{transform:translateY(-1px);border-color:var(--muted)}
.aos-foot-support:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-panel.aos-searching .aos-panel-foot{display:none}
.aos-corporate-signature{display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 32px);min-height:18px;padding:2px 8px;color:var(--muted);font-family:var(--brand-font);font-size:.59rem;font-weight:650;letter-spacing:.13em;line-height:1.35;text-align:center;text-decoration:none;white-space:nowrap;transition:color .14s ease,opacity .14s ease}
.aos-corporate-signature:hover{color:var(--text);opacity:.9}
.aos-corporate-signature:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
.aos-about-modal{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:center;padding:24px;background:rgba(10,12,14,.32);backdrop-filter:blur(8px);color:var(--text);opacity:1;animation:aos-about-modal-in .18s ease both}
.aos-about-modal-card{width:min(680px,100%);padding:30px;border:1px solid rgba(255,255,255,.52);border-radius:24px;background:var(--bg);box-shadow:0 34px 100px rgba(10,12,14,.3),inset 0 1px 0 rgba(255,255,255,.72)}
:host(.aos-neo) .aos-about-modal{background:rgba(0,0,0,.52)}
:host(.aos-neo) .aos-about-modal-card{border-color:rgba(255,255,255,.12);box-shadow:0 38px 100px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.06)}
.aos-about-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.aos-about-modal-heading{min-width:0}
.aos-about-modal-wordmark{display:block;width:clamp(132px,23vw,180px);height:clamp(14px,2.2vw,19px);margin:0 0 17px;background:var(--aos-wordmark) left center/contain no-repeat}
.aos-about-modal-title{margin:0;max-width:17ch;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:650;letter-spacing:-.035em;line-height:1.08}
.aos-about-modal-copy{margin:13px 0 0;max-width:46ch;color:var(--muted);font-size:.84rem;line-height:1.5}
.aos-about-modal-close{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--pill);color:var(--text);font-family:var(--brand-font);font-size:1.35rem;font-weight:400;line-height:1;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.aos-about-modal-close:hover{border-color:var(--muted);background:var(--card);transform:rotate(4deg)}
.aos-about-modal-close:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-about-modal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.aos-about-choice{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:15px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:17px;background:var(--card);color:var(--text);text-decoration:none;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}
.aos-about-choice:nth-child(3){grid-column:1 / -1;justify-self:center;width:calc((100% - 12px)/2)}
.aos-about-choice:hover{border-color:var(--focus);background:var(--pill);box-shadow:0 14px 34px var(--glow);transform:translateY(-2px)}
.aos-about-choice:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-about-choice-index{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;line-height:1.5}
.aos-about-choice-content{display:grid;align-content:start;gap:10px;min-width:0}
.aos-about-choice-content strong{font-size:1.08rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.aos-about-choice-content>span:not(.aos-about-choice-arrow){color:var(--muted);font-size:.86rem;line-height:1.5}
.aos-about-choice-tagline{display:-webkit-box;overflow:hidden;max-height:2.8em;color:var(--muted);font-size:.56rem!important;font-weight:700;letter-spacing:.11em;line-height:1.4;text-transform:uppercase;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.aos-about-choice-arrow{align-self:end;margin-top:auto;color:var(--muted);font-size:1.05rem;line-height:1}
@keyframes aos-about-modal-in{from{opacity:0}to{opacity:1}}
.aos-logout{position:absolute;right:58px;bottom:50px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(20,23,25,.08);border-radius:999px;background:var(--pill);box-shadow:0 5px 15px rgba(20,23,25,.09),inset 0 1px 0 rgba(255,255,255,.72);color:var(--text);cursor:pointer}
.aos-signin{position:absolute;right:58px;bottom:50px;display:inline-flex;align-items:center;height:40px;padding:0 22px;border-radius:999px;background:var(--text);color:var(--bg);font-family:var(--brand-font);font-size:.82rem;font-weight:700;letter-spacing:.01em;text-decoration:none;box-shadow:0 8px 22px rgba(20,23,25,.18);transition:transform .14s ease,opacity .14s ease}
.aos-signin:hover{transform:translateY(-1px);opacity:.92}
.aos-signin:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-logout:hover{border-color:rgba(22,24,27,.16);background:rgba(255,255,255,.92)}
:host(.aos-neo) .aos-logout:hover{background:rgba(255,255,255,.12)}
.aos-logout:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-logout-glyph{position:relative;display:block;width:15px;height:15px;flex:0 0 auto}
.aos-logout-glyph:before{content:"";position:absolute;left:0;top:1px;width:9px;height:13px;border:1.8px solid currentColor;border-right:0;border-radius:3px 0 0 3px}
.aos-logout-glyph:after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:1.8px solid currentColor;border-right:1.8px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.aos-confirm{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:center;background:rgba(10,12,14,.42);backdrop-filter:blur(6px)}
.aos-confirm-card{width:min(360px,calc(100vw - 48px));padding:26px 26px 22px;border:1px solid rgba(255,255,255,.46);border-radius:20px;background:var(--bg);box-shadow:0 34px 90px rgba(10,12,14,.5),inset 0 1px 0 rgba(255,255,255,.6);color:var(--text);text-align:left}
.aos-confirm-title{margin:0 0 9px;font-family:var(--brand-font);font-size:1.18rem;font-weight:700;letter-spacing:0;line-height:1.15}
.aos-confirm-copy{margin:0 0 22px;color:var(--muted);font-size:.86rem;line-height:1.5}
.aos-confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.aos-confirm-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;font-family:var(--brand-font);font-size:.84rem;font-weight:750;text-decoration:none;cursor:pointer}
.aos-confirm-cancel{border:1px solid rgba(20,23,25,.12);background:transparent;color:var(--text)}
.aos-confirm-cancel:hover{background:rgba(20,23,25,.06)}
:host(.aos-neo) .aos-confirm-cancel:hover{background:rgba(255,255,255,.08)}
.aos-confirm-go{border:1px solid transparent;background:#c0392b;color:#fff;box-shadow:0 8px 22px rgba(192,57,43,.32)}
.aos-confirm-go:hover{background:#a93226}
.aos-confirm-go:disabled{opacity:.7;cursor:default}
.aos-confirm-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-bugreport{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:center;padding:24px;background:rgba(10,12,14,.32);backdrop-filter:blur(8px);color:var(--text);animation:aos-about-modal-in .18s ease both}
:host(.aos-neo) .aos-bugreport{background:rgba(0,0,0,.52)}
.aos-bugreport-card{width:min(460px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;padding-top:22px;padding-bottom:22px;transition:outline-color .15s ease}
/* Report as an OS window (mountBugReport): the form fills the window body, no dim, no floating card. */
.aos-bugreport-window{position:absolute;inset:0;overflow:auto;background:var(--bg);color:var(--text);font-family:var(--brand-font);-webkit-font-smoothing:antialiased}
.aos-bugreport-window,.aos-bugreport-window *{box-sizing:border-box}
.aos-bugreport.is-windowed{position:static;inset:auto;z-index:auto;display:block;padding:0;background:none;backdrop-filter:none;animation:none}
.aos-bugreport.is-windowed .aos-bugreport-card{width:min(560px,100%);max-height:none;margin:0 auto;border:0;box-shadow:none;background:none;padding:calc(22px + env(safe-area-inset-top,0px)) 20px calc(22px + var(--alyssiun-safe-bottom,0px))}
.aos-bugreport-form{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.aos-bugreport-field{display:flex;flex-direction:column;gap:6px}
.aos-bugreport-label{font-family:var(--brand-font);font-size:.78rem;font-weight:700;color:var(--muted)}
.aos-bugreport-input,.aos-bugreport-textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font-family:var(--brand-font);font-size:.88rem;line-height:1.4;resize:vertical}
.aos-bugreport-input{appearance:none}
select.aos-bugreport-input{cursor:pointer}
/* The textarea is the one thing left to fill in, so it carries the visual
   weight the old three-field stack used to spread across the whole card. */
.aos-bugreport-textarea{min-height:132px;font-size:.92rem}
.aos-bugreport-input:focus-visible,.aos-bugreport-textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
:host(.aos-neo) .aos-bugreport-input,:host(.aos-neo) .aos-bugreport-textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.aos-bugreport-screenshot-field{display:flex;flex-direction:column;gap:10px}
.aos-bugreport-screenshot-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aos-bugreport-add-screenshot{height:34px;padding:0 14px;border:1px solid rgba(20,23,25,.14);border-radius:999px;background:transparent;color:var(--text);font-family:var(--brand-font);font-size:.78rem;font-weight:700;cursor:pointer}
.aos-bugreport-add-screenshot:hover{background:rgba(20,23,25,.06)}
.aos-bugreport-add-screenshot:disabled{opacity:.5;cursor:default}
:host(.aos-neo) .aos-bugreport-add-screenshot{border-color:rgba(255,255,255,.16)}
:host(.aos-neo) .aos-bugreport-add-screenshot:hover{background:rgba(255,255,255,.08)}
.aos-bugreport-screenshot-hint{margin:0;font-size:.74rem;color:var(--muted)}
.aos-bugreport-file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.aos-bugreport-screenshots{display:flex;flex-wrap:wrap;gap:8px}
.aos-bugreport-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.aos-bugreport-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.aos-bugreport-thumb-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(10,12,14,.66);color:#fff;font-size:.78rem;line-height:1;display:grid;place-items:center;cursor:pointer}
.aos-bugreport-thumb-remove:hover{background:rgba(10,12,14,.86)}
/* Drag-over feedback on the whole card, not just the drop target — the brief
   is "drag onto the modal", not onto one small zone within it. */
.aos-bugreport-card.aos-bugreport-dragging{outline:2px dashed var(--focus);outline-offset:-6px}
.aos-bugreport-error{margin:0;padding:10px 13px;border-radius:10px;background:rgba(192,57,43,.12);color:#c0392b;font-size:.82rem;line-height:1.4}
:host(.aos-neo) .aos-bugreport-error{background:rgba(192,57,43,.22);color:#ff8a80}
.aos-bugreport-similar{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(20,23,25,.03)}
:host(.aos-neo) .aos-bugreport-similar{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.aos-bugreport-similar-heading{margin:0;font-family:var(--brand-font);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.aos-bugreport-similar-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.aos-bugreport-similar-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.aos-bugreport-similar-item-title{font-size:.86rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aos-bugreport-similar-status{font-size:.72rem;color:var(--muted)}
.aos-bugreport-similar-vote{flex:0 0 auto;height:34px;padding:0 14px;border:1px solid rgba(20,23,25,.12);border-radius:999px;background:transparent;color:var(--text);font-family:var(--brand-font);font-size:.78rem;font-weight:700;cursor:pointer}
.aos-bugreport-similar-vote:hover{background:rgba(20,23,25,.06)}
.aos-bugreport-similar-vote:disabled{opacity:.7;cursor:default}
:host(.aos-neo) .aos-bugreport-similar-vote{border-color:rgba(255,255,255,.16)}
:host(.aos-neo) .aos-bugreport-similar-vote:hover{background:rgba(255,255,255,.08)}
.aos-bugreport-submit{border:1px solid transparent;background:var(--text);color:var(--bg);box-shadow:0 8px 22px rgba(20,23,25,.18)}
.aos-bugreport-submit:hover{opacity:.92}
.aos-bugreport-submit:disabled{opacity:.65;cursor:default}
.aos-bugreport-actions{margin-top:2px}
@media (max-width:720px){.aos-bugreport{padding:14px}.aos-bugreport-card{max-height:calc(100dvh - 28px)}}
.aos-note{position:absolute;left:50%;top:50%;margin:0;color:var(--muted);font-size:.84rem;text-align:center;transform:translate(-50%,-50%)}
.aos-apps-unavailable{grid-column:1/-1;margin:26px 0;color:var(--muted);font-family:var(--brand-font);font-size:.88rem;text-align:left}
.aos-apps-retry{padding:0;border:0;background:none;color:var(--text);font:inherit;font-weight:650;text-decoration:underline;cursor:pointer}
.aos-apps-retry:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-os-redirect{position:absolute;left:50%;top:50%;display:grid;place-items:center;transform:translate(-50%,-50%)}
.aos-os-redirect-btn{display:inline-flex;align-items:center;justify-content:center;min-width:190px;height:48px;padding:0 26px;border:1px solid transparent;border-radius:999px;background:var(--text);box-shadow:0 14px 32px rgba(20,23,25,.18);color:var(--bg);font-family:var(--brand-font);font-size:.86rem;font-weight:800;letter-spacing:0;text-decoration:none;white-space:nowrap;transition:transform .14s ease,opacity .14s ease}
.aos-os-redirect-btn:hover{transform:translateY(-1px);opacity:.92}
.aos-os-redirect-btn:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-tip{position:fixed;left:0;top:0;z-index:2147483500;max-width:min(280px,calc(100vw - 16px));padding:6px 10px;border-radius:8px;background:rgba(18,20,23,.96);color:#fff;font-family:var(--brand-font);font-size:.72rem;font-weight:600;line-height:1.25;letter-spacing:.01em;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.aos-tip.is-on{opacity:1;transform:translateY(0)}
:host(.aos-neo) .aos-tip{background:rgba(236,238,242,.97);color:#0b0d10;box-shadow:0 8px 22px rgba(0,0,0,.5)}
@media (max-width:900px){.aos-panel{height:min(640px,calc(100svh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px) - 16px));padding:32px 26px 76px}.aos-account,.aos-account-action{top:32px;right:26px}.aos-grid{grid-template-columns:repeat(3,1fr);width:100%;margin-left:0}.aos-top-actions{left:26px;right:auto;bottom:34px}.aos-logout,.aos-signin{right:26px;bottom:34px}}
@media (max-width:720px){.aos-panel{left:50%;right:auto;top:calc(var(--aos-panel-clear,60px) + (100svh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px)) / 2);bottom:auto;width:min(460px,calc(100vw - 20px));height:min(820px,calc(100svh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px) - 98px));border:1px solid rgba(255,255,255,.46);border-radius:22px;padding:max(20px,env(safe-area-inset-top)) 16px 70px;overflow:hidden;transform-origin:center center;transform:translate(-50%,-50%) scale(.985)}.aos-panel.aos-open{transform:translate(-50%,-50%) scale(1)}.aos-header{padding-right:92px}.aos-brand{gap:9px}.aos-wordmark{height:clamp(15px,4.6vw,24px)}.aos-brand span{font-size:clamp(.48rem,1.9vw,.66rem);letter-spacing:.18em}.aos-account{top:22px;right:16px}.aos-account-action{top:22px;width:36px;min-width:36px;height:36px;padding:0;right:16px}.aos-account-action strong{font-size:.68rem}.aos-top-actions{position:absolute;left:16px;right:auto;bottom:22px;margin:0;justify-content:flex-start;width:max-content}.aos-pill{height:34px;min-width:68px;padding:0 15px;font-size:.78rem}.aos-section-label{font-size:clamp(.72rem,3vw,.95rem)}.aos-grid{grid-template-columns:1fr;gap:12px;margin-top:24px;max-height:calc(100% - 76px);overflow-y:auto;overflow-x:hidden;padding-right:2px;padding-bottom:8px}.aos-grid.aos-view-icons{grid-template-columns:repeat(4,1fr);gap:clamp(14px,4.5vw,26px) 6px}.aos-view-icons .aos-tile-icon{width:clamp(52px,15.5vw,80px);height:clamp(52px,15.5vw,80px);border-radius:31%}.aos-view-icons .aos-tile-icon svg{width:clamp(28px,8vw,42px);height:clamp(28px,8vw,42px)}.aos-view-icons .aos-tile-body strong{font-size:clamp(.72rem,3.4vw,1rem)}.aos-tile{min-height:86px;border-radius:15px}.aos-tile-main{grid-template-columns:auto minmax(0,1fr);min-height:84px;padding:15px 42px 15px 16px}.aos-view-list .aos-tile-main{min-height:clamp(72px,17vw,104px);gap:clamp(14px,4vw,20px)}.aos-view-list .aos-tile-body strong{font-size:clamp(1rem,4.2vw,1.3rem)}.aos-view-list .aos-tile-body small{font-size:clamp(.74rem,3.2vw,.94rem)}.aos-tile-about{right:10px;top:10px;width:24px;height:24px}.aos-tile-icon{width:clamp(32px,9vw,46px);height:clamp(32px,9vw,46px)}.aos-tile-icon svg{width:clamp(30px,8.5vw,44px);height:clamp(30px,8.5vw,44px)}.aos-about,.aos-foot-report{height:34px;padding:0 20px;font-size:.78rem}.aos-foot-support{height:34px;min-width:0;font-size:.78rem}.aos-logout{right:16px;bottom:22px;width:clamp(36px,9.5vw,46px);height:clamp(36px,9.5vw,46px);padding:0}.aos-signin{right:16px;bottom:22px;height:clamp(36px,9.5vw,46px);padding:0 clamp(16px,4.5vw,24px);font-size:clamp(.78rem,3.2vw,.92rem)}.aos-account-action{top:22px;width:clamp(36px,9.5vw,46px);height:clamp(36px,9.5vw,46px);min-width:auto;right:16px}.aos-account .aos-account-action{top:auto;right:auto}.aos-view-toggle{width:clamp(30px,8vw,40px);height:clamp(30px,8vw,40px)}.aos-atmo .aos-pill{height:clamp(30px,8vw,40px);min-width:clamp(62px,17vw,84px)}}
@media (max-width:720px){.aos-corporate-signature{bottom:3px;max-width:calc(100% - 20px);padding-inline:2px;font-size:clamp(.48rem,2vw,.59rem);letter-spacing:.1em;white-space:normal}}
@media (max-width:720px){.aos-about-modal{padding:14px}.aos-about-modal-card{padding:22px 18px;border-radius:20px}.aos-about-modal-title{max-width:15ch;font-size:1.35rem}.aos-about-modal-copy{font-size:.78rem}.aos-about-modal-options{grid-template-columns:1fr;margin-top:22px}.aos-about-choice{min-height:0;padding:17px 15px}.aos-about-choice:nth-child(3){grid-column:auto;justify-self:stretch;width:auto}.aos-about-choice-content strong{font-size:.94rem}.aos-about-choice-content>span:not(.aos-about-choice-arrow){font-size:.74rem}}
@media (max-width:720px){.aos-about-modal-card{max-height:calc(100dvh - 28px);overflow:auto}.aos-about-modal-title{font-size:1.45rem}.aos-about-modal-copy{font-size:.84rem}.aos-about-choice{padding:16px 14px 14px}.aos-about-choice-content strong{font-size:1rem}.aos-about-choice-content>span:not(.aos-about-choice-arrow){font-size:.82rem}}
@media (max-width:440px){.aos-panel{width:min(460px,calc(100vw - 16px));height:min(800px,calc(100svh - 96px))}.aos-wordmark{height:14px}.aos-brand span{font-size:.46rem;letter-spacing:.16em}.aos-tile{min-height:82px}.aos-pill{min-width:62px;padding:0 13px}}
@media (max-width:720px){.aos-panel{top:calc(var(--aos-panel-clear,60px) + (100dvh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px)) / 2);height:min(820px,calc(100dvh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px) - max(env(safe-area-inset-top),8px) - max(env(safe-area-inset-bottom),max(90px - var(--os-inset-bottom,0px),16px))))}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* ALYSSIUN brand art (inline data-URIs, CSP-safe). LUX=dark art on light surfaces; NEO=light art on dark. */
:host{--aos-wordmark:url("data:image/png;base64,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");--aos-a-mark:url("data:image/png;base64,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")}
:host(.aos-neo){--aos-wordmark:url("data:image/png;base64,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");--aos-a-mark:url("data:image/png;base64,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")}

/* Shared ALYSSIUN storage warning banner.
   Rendered by the launcher in every app, so it must survive any host stylesheet:
   fixed at the top, high z-index, and independent of app typography. */
.aos-warn {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 2147483000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 18px;
  padding: 10px 16px;
  font: 400 13px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #fff;
  background: #1f2937;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
  box-sizing: border-box;
}
.aos-warn-info { background: #1f2937; }
.aos-warn-warning { background: #7c4a03; }
.aos-warn-critical { background: #7f1d1d; }

.aos-warn-text { display: grid; gap: 2px; min-width: 0; flex: 1 1 320px; }
.aos-warn-title { font-weight: 600; font-size: 13px; }
.aos-warn-body { opacity: 0.92; overflow-wrap: anywhere; }

.aos-warn-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.aos-warn-action {
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  white-space: nowrap;
}
.aos-warn-action.primary { background: #fff; color: #111; border-color: #fff; font-weight: 600; }
.aos-warn-action:hover { background: rgba(255, 255, 255, 0.16); }
.aos-warn-action.primary:hover { background: #e9e9e9; }
.aos-warn-action:focus-visible,
.aos-warn-dismiss:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.aos-warn-dismiss {
  background: transparent;
  border: 0;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  padding: 4px 8px;
  cursor: pointer;
  border-radius: 6px;
}

/* NEO/dark atmospheres already read well on these backgrounds; LUX needs the
   same contrast, so the banner keeps its own palette in both. */
:root[data-alyssiun-atmosphere="lux"] .aos-warn { border-bottom-color: rgba(0, 0, 0, 0.18); }

@media (max-width: 720px) {
  .aos-warn { padding: 9px 12px; font-size: 12px; }
  .aos-warn-actions { width: 100%; }
  .aos-warn-action { flex: 1 1 auto; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .aos-warn { transition: none; }
}

/* A long press on a tile opens the app menu, never the browser's text-selection
   popup (Copy / Look Up / Translate) or link callout. */
.aos-tile, .aos-tile * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.aos-presence,.aos-presence *{box-sizing:border-box;font-family:var(--brand-font)}
.aos-presence .aos-confirm-card{width:min(420px,calc(100vw - 32px));max-height:calc(100svh - 48px);overflow:auto}
.aos-presence-alt{margin:18px 0 6px;font-family:var(--brand-font);font-size:.74rem;font-weight:650;color:var(--muted);letter-spacing:.01em}
.aos-presence-ids{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:0 -6px 4px;padding:4px 0;border-top:1px solid var(--line)}
.aos-presence-ids .aos-id-option{height:auto;min-height:46px;min-width:0}
.aos-presence-ids .aos-id-option:disabled{opacity:.5;cursor:default}
/* An ID that is itself live elsewhere is still choosable: picking it offers to
   transfer that one. It says where it is on a second line instead of being greyed out. */
.aos-presence-ids .aos-id-option-name{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25}
.aos-presence-ids .aos-id-option-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aos-id-option-live{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:none}
.aos-presence-actions{flex-wrap:wrap;margin-top:20px}
.aos-presence-go{border:1px solid transparent;background:var(--text);color:var(--bg);box-shadow:0 8px 22px var(--glow)}
.aos-presence-go:hover{opacity:.86}
.aos-presence-go:disabled{opacity:.7;cursor:default}
/* The takeover: the device the session just left. It covers the whole screen, Λ
   included (the OS behind is inert), in the atmosphere's own ground, so a stale
   screen never reads as usable. One action, one line of where, then other IDs. */
.aos-takeover{z-index:2147483600;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(22px) saturate(120%);backdrop-filter:blur(22px) saturate(120%);animation:aos-takeover-in .22s ease-out both}
.aos-takeover .aos-takeover-card{display:flex;flex-direction:column;align-items:stretch;width:min(380px,calc(100vw - 32px));padding:28px 24px 20px;text-align:center}
.aos-takeover-id{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 22px}
.aos-takeover-id .aos-id-avatar{width:56px;height:56px;font-size:1.1rem}
.aos-takeover-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:700;color:var(--text)}
.aos-takeover .aos-takeover-go{width:100%;height:48px;font-size:.92rem}
.aos-takeover-where{margin:12px 0 0;font-size:.76rem;line-height:1.45;color:var(--muted)}
.aos-takeover .aos-presence-alt{margin:24px 0 6px;text-align:left}
.aos-takeover .aos-presence-ids{text-align:left}
@keyframes aos-takeover-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.aos-takeover{animation:none}}
@media (max-width:480px){
.aos-presence .aos-confirm-card{width:calc(100vw - 24px);padding:22px 20px 18px;border-radius:18px}
.aos-presence-actions{justify-content:stretch}
.aos-presence-actions .aos-confirm-btn{flex:1 1 auto;min-width:0}
}
/* Panel status row: clock + date on the left, the running apps ("Open now") on the right. Lives at the top of the scrolling grid so it costs no screen space at rest. */
.aos-panel-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:36px;padding:2px 0 6px;border-bottom:1px solid var(--line)}
.aos-panel-clock{display:flex;align-items:baseline;gap:8px;margin:0;padding:0;border:0;background:none;color:var(--text);font-family:var(--brand-font);text-align:left}
button.aos-panel-clock{cursor:pointer;border-radius:8px}
button.aos-panel-clock:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.aos-panel-clock .aos-clock-time{font-size:1.3rem;font-weight:750;letter-spacing:-.01em;line-height:1}
.aos-panel-clock .aos-clock-ampm{margin-left:3px;font-size:.66rem;font-weight:750;color:var(--muted)}
.aos-panel-clock .aos-clock-ampm:empty{display:none}
.aos-panel-clock .aos-clock-date{font-size:.74rem;font-weight:600;color:var(--muted);white-space:nowrap}
.aos-open-now{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}
.aos-open-now[hidden]{display:none}
.aos-open-now-label{flex:none;margin-right:2px;font-size:.6rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.aos-open-now-app{position:relative;flex:none;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:inherit;text-decoration:none;cursor:pointer}
.aos-open-now-app .aos-tile-icon{width:26px;height:26px;border-radius:8px}
.aos-open-now-app .aos-tile-icon svg{width:16px;height:16px}
.aos-open-now-app::after{content:"";position:absolute;left:50%;bottom:-6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--green)}
.aos-open-now-app[data-minimized="true"]{opacity:.6}
.aos-open-now-app[data-minimized="true"]::after{background:var(--muted)}
.aos-open-now-app:hover{background:var(--pill)}
.aos-open-now-app:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:720px){.aos-panel-status{flex-wrap:wrap;gap:8px 14px}.aos-panel-clock .aos-clock-time{font-size:1.15rem}}

/* Atmosphere fade inside the panel (the host sets .aos-fading for one second). */
:host(.aos-fading) *,:host(.aos-fading) *::before,:host(.aos-fading) *::after{transition:background-color 1s ease,color 1s ease,border-color 1s ease,fill 1s ease,stroke 1s ease,box-shadow 1s ease}
.aos-atmo-menu{width:264px}
.aos-atmo-copy small{white-space:normal;line-height:1.3}
.aos-atmo-swatch.is-time{background:linear-gradient(135deg,var(--lux-preview) 0 49%,var(--neo-preview) 51% 100%)}
.aos-atmo-swatch.is-device{background:linear-gradient(180deg,var(--lux-preview) 0 49%,var(--neo-preview) 51% 100%)}
.aos-atmo-option[data-atmosphere-mode="time"]{min-height:64px}

/* The ALY block at the top of the OS panel's grid (desktop/launcher-aly-home.js): full width, its own row. */
.aos-grid>.aos-aly-host{grid-column:1/-1;min-width:0;margin:0 0 6px}
.aos-panel.aos-searching .aos-aly-host{display:none}
/* Unread badges on the panel's tiles (desktop/launcher-desktop-ui.js, os/badges/badges.js). */
.aos-tile-icon{position:relative}
.aos-badge{position:absolute;top:-6px;right:-6px;z-index:2;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--text);color:var(--bg);box-shadow:0 0 0 2px var(--bg),0 2px 10px var(--glow);font-family:var(--brand-font);font-size:10.5px;font-weight:700;line-height:18px;letter-spacing:.01em;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;pointer-events:none}
.aos-view-icons .aos-badge{top:-5px;right:-5px}

/* The OS home panel (Desktop OS panel, and the same panel on app subdomains):
   as tall as its content and no taller than the space it has — the band below
   the interface pill, above the fixed bar (--os-inset-bottom) or, with the
   floating Λ, clear of Λ (the 164px that only applies while no bar is
   reserved). The list fills the panel; no reserved strip at its foot. */
.aos-panel.aos-home-panel{display:flex;flex-direction:column;height:auto;max-height:min(820px,calc(100svh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px) - 16px - max(0px,min(164px,calc((48px - var(--os-inset-bottom,0px)) * 100)))));padding-bottom:22px}
.aos-panel.aos-home-panel .aos-grid{flex:1 1 auto;min-height:0;max-height:none;margin-bottom:0;padding-bottom:6px;grid-auto-rows:max-content;align-content:start}
@media (max-width:720px){.aos-panel.aos-home-panel{height:auto;max-height:min(820px,calc(100dvh - var(--os-inset-bottom,0px) - var(--aos-panel-clear,60px) - max(env(safe-area-inset-top),8px) - max(env(safe-area-inset-bottom),16px) - max(0px,min(176px,calc((48px - var(--os-inset-bottom,0px)) * 100)))));padding-bottom:16px}}
/* "Recent" below the apps (os/home/panel-recent.js): up to six items, hidden when there are none. */
.aos-grid>.aos-recent{grid-column:1/-1;min-width:0;margin-top:18px}
.aos-recent[hidden]{display:none}
.aos-recent-head{margin-bottom:10px}
.aos-recent-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px}
.aos-recent-item{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;min-width:0;min-height:54px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font-family:var(--brand-font);text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}
.aos-recent-item:hover,.aos-recent-item:focus-visible{background:var(--pill)}
.aos-recent-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-recent-icon{position:relative;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;overflow:hidden}
.aos-recent-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.aos-recent-text{display:grid;gap:2px;min-width:0}
.aos-recent-text strong,.aos-recent-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aos-recent-text strong{font-size:.86rem;font-weight:650}
.aos-recent-text small{font-size:.74rem;color:var(--muted)}
/* The home panel's loading skeleton (v1.js loadingSkeleton): shown only until the first manifest answer. */
.aos-skel{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;padding:26px 0 18px}
.aos-skel-bone{position:relative;display:block;flex:none;overflow:hidden;border-radius:12px;background:var(--line)}
.aos-skel-bone::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:aos-skel-sheen 1.5s ease-in-out infinite}
:host(.aos-neo) .aos-skel-bone::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.aos-skel-orb{width:108px;height:108px;border-radius:50%;margin-bottom:6px}
.aos-skel-line-s{width:96px;height:12px;border-radius:6px}
.aos-skel-line{width:min(240px,60%);height:22px;border-radius:11px}
.aos-skel-input{width:min(560px,92%);height:48px;border-radius:24px;margin-top:8px}
.aos-skel-cards{display:flex;gap:12px;width:min(560px,92%)}
.aos-skel-cards .aos-skel-card{flex:1 1 0;height:86px;border-radius:16px}
@keyframes aos-skel-sheen{to{transform:translateX(100%)}}
/* Recent: the hide/show toggle beside the header, and the smooth collapse (os/home/panel-recent.js). */
.aos-recent-head{align-items:center}
.aos-recent-toggle{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease}
.aos-recent-toggle[hidden]{display:none}
.aos-recent-toggle:hover{background:var(--pill);color:var(--text)}
.aos-recent-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.aos-recent-toggle svg{transition:transform .26s ease}
.aos-recent.is-collapsed .aos-recent-toggle svg{transform:rotate(-90deg)}
.aos-recent-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s cubic-bezier(.3,.1,.2,1)}
.aos-recent-inner{min-height:0;overflow:hidden;opacity:1;transition:opacity .22s ease}
.aos-recent.is-collapsed .aos-recent-wrap{grid-template-rows:0fr}
.aos-recent.is-collapsed .aos-recent-inner{opacity:0}
.aos-recent.is-collapsed .aos-recent-head{margin-bottom:0}
/* Footer brand strip (Batch B2 T8): a subtle glass strip, ALYSSIUN's mark as the hero and the Lozano line in small engraved type at a fixed, always-legible contrast. */
.aos-corporate-signature.aos-brand-strip{gap:10px;min-height:30px;padding:7px 14px;border:1px solid rgba(20,23,25,.08);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 14px rgba(20,23,25,.06);color:#596071;font-size:.62rem;letter-spacing:.14em;white-space:nowrap;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.aos-brand-strip-mark{display:block;flex:none;height:11px;aspect-ratio:600/49;background:var(--aos-wordmark) left center/contain no-repeat}
.aos-brand-strip-sep{flex:none;width:1px;height:12px;background:currentColor;opacity:.35}
.aos-brand-strip-line{text-shadow:0 1px 0 rgba(255,255,255,.85)}
.aos-corporate-signature.aos-brand-strip:hover{color:#3d4352;opacity:1}
:host(.aos-neo) .aos-corporate-signature.aos-brand-strip{border-color:rgba(255,255,255,.1);background:rgba(12,14,22,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px rgba(0,0,0,.3);color:#a7aec0}
:host(.aos-neo) .aos-brand-strip-line{text-shadow:0 -1px 0 rgba(0,0,0,.7)}
:host(.aos-neo) .aos-corporate-signature.aos-brand-strip:hover{color:#c9cfdd}
@media (max-width:720px){.aos-corporate-signature.aos-brand-strip{flex-direction:column;gap:7px;padding:10px 18px 9px;border-radius:16px;letter-spacing:.12em}.aos-brand-strip-sep{display:none}.aos-brand-strip-mark{height:10px}}
