/* Live session surfaces share the authored chat metalwork, landing world and native dock. */
.application-connected .app-dock-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
.application-app { min-height:100svh; padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }
.application-entry { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; min-height:calc(100svh - 110px); padding:40px 20px 24px; color:#e8dacc; }
.application-entry__world { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.application-entry__world img { width:100%; height:100%; object-fit:cover; opacity:.5; }
.application-entry__world::after { content:''; position:absolute; inset:0; background:linear-gradient(#08070ba6,#08070b26 25%,#08070bf2 85%); }
.application-entry__identity { text-align:center; margin:0 0 24px; }
.application-entry__sigil { display:block; height:110px; max-width:100%; margin:0 auto 8px; object-fit:contain; }
.application-entry__wordmark { display:block; width:min(240px,70vw); height:auto; margin:14px auto 18px; object-fit:contain; }
.application-entry__identity span { font-size:.68rem; letter-spacing:.15em; color:#cfb6a2; }
.application-entry__panel { position:relative; isolation:isolate; width:min(100%,460px); }
.application-entry__copy { position:relative; padding:34px 27px; }
.application-entry h1 { font-family:Georgia,serif; font-size:clamp(1.4rem,5vw,1.8rem); font-weight:400; line-height:1.3; margin:0 0 16px; overflow-wrap:anywhere; }
.application-entry__notice { font-size:.93rem; line-height:1.6; color:#cbbeb6; margin:0 0 24px; }
.application-entry form { display:grid; gap:12px; margin:0; }
.application-entry label { font-size:.85rem; color:#e6d9cb; }
.application-entry label span { color:#baaba2; }
.application-entry input { width:100%; min-width:0; min-height:48px; border:1px solid #907568; border-radius:6px; background:#100d13; color:#eee0d7; padding:10px 12px; font:inherit; }
.application-action { display:flex; justify-content:center; align-items:center; min-height:48px; width:100%; margin:8px 0; padding:12px 14px; color:#f2dfcf; border:1px solid #a58469; background:linear-gradient(110deg,#211823,#392731,#211823); font-family:Georgia,serif; font-size:1rem; text-align:center; text-decoration:none; border-radius:5px; cursor:pointer; }
.application-text-action,.application-preview-link { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; width:100%; margin:14px 0 0; padding:8px 0; color:#d7bea7; font:inherit; font-size:.85rem; line-height:1.5; text-align:center; text-decoration:underline; text-underline-offset:4px; border:0; background:transparent; cursor:pointer; }
.application-action:disabled { opacity:.5; cursor:wait; }
.application-app :focus-visible { outline:2px solid #edc59e; outline-offset:4px; }
.application-catalog { max-width:620px; margin:0 auto; padding:40px 20px; }
.application-catalog header > p:first-child { color:#c7a88d; font-size:.7rem; letter-spacing:.14em; }
.application-catalog h1 { font-family:Georgia,serif; font-size:1.8rem; line-height:1.3; font-weight:400; color:#e5d2c0; }
.application-catalog p { color:#bcaea6; line-height:1.6; font-size:.9rem; }
.application-catalog__worlds { display:grid; gap:14px; margin:28px 0; }
.application-catalog__entry { position:relative; isolation:isolate; display:flex; align-items:center; gap:16px; min-height:104px; padding:18px 25px; color:#e1d3c5; border:0; background:none; text-align:left; cursor:pointer; width:100%; }
.application-catalog__entry > span:not(.realm-frame__surface):not(.realm-portrait) { flex:1; min-width:0; }
.application-catalog__entry strong { display:block; font:1.5rem Georgia,serif; }
.application-catalog__entry small { display:block; color:#b9aaa0; font-size:.76rem; margin-top:8px; overflow-wrap:anywhere; }
.application-catalog__motif { width:36px; height:46px; object-fit:contain; }
.application-history-empty { color:var(--chat-muted); font-size:.9rem; text-align:center; line-height:1.6; padding:15px; }
.application-connected .realm-chat__motif-hint { color:var(--chat-muted); font-size:.7rem; line-height:1.5; text-align:center; height:auto; white-space:normal; }
.application-connected .realm-chat__composer input:disabled { opacity:.85; -webkit-text-fill-color:var(--chat-muted); }
.application-turn-status { margin:0 8px 8px; color:var(--chat-ink); background:color-mix(in srgb,var(--chat-paper) 94%,transparent); border-radius:6px; font: .8rem/1.5 Manrope,Arial,sans-serif; }
.application-turn-status:empty { display:none; }
.application-turn-status p { margin:0; padding:10px 12px; }
.application-turn-status > div { display:flex; flex-wrap:wrap; gap:8px; padding:0 12px 10px; }
.application-turn-status button { min-height:44px; padding:8px 12px; border:1px solid var(--chat-line); border-radius:4px; font:inherit; color:var(--chat-ink); background:var(--chat-paper); }
.application-turn-status button:disabled { opacity:.5; }
.application-connected .realm-chat__event p { padding:8px 12px; border-radius:5px; color:var(--chat-ink); background:color-mix(in srgb,var(--chat-paper) 92%,transparent); }
@media (max-width:360px) { .application-entry { padding-inline:12px; } .application-entry__copy { padding:30px 22px; } .application-catalog { padding-inline:12px; } .application-catalog__entry { gap:10px; padding-inline:22px; } }
@media (forced-colors:active) { .application-entry__world,.application-entry__sigil,.application-entry .realm-frame__surface,.application-catalog .realm-frame__surface { display:none; } .application-entry__panel,.application-catalog__entry { border:1px solid CanvasText; } .application-entry input,.application-action { background:Canvas; color:CanvasText; border-color:CanvasText; } }
/* Account materials reuse Sanctuary art; inventory stays inside the persona's existing palette. */
.application-economy { --economy-ink:#ead9c5; --economy-muted:#cbbdb2; --economy-line:#947759; color:var(--economy-ink); font-size:.9rem; line-height:1.6; }
.application-economy--account { position:relative; isolation:isolate; max-width:660px; margin:0 auto; padding:38px 24px 30px; }
.application-economy__world { position:absolute; inset:0 0 auto; height:480px; z-index:-1; overflow:hidden; mask-image:linear-gradient(#000 55%,transparent); }
.application-economy__world img { width:100%; height:100%; object-fit:cover; object-position:65% 0; opacity:.7; }
.application-economy__world::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b080ad9,#0b080a38 80%); }
.application-economy--account > header { position:relative; min-height:220px; max-width:360px; padding:0 12px; }
.application-economy__brand { display:block; width:150px; height:auto; margin-bottom:26px; }
.application-economy header > p { font-size:.65rem; letter-spacing:.16em; color:#d0b39a; }
.application-economy h1,.application-economy h2,.application-economy h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; line-height:1.25; }
.application-economy h1 { font-size:2.6rem; margin:8px 0 12px; }
.application-economy h2 { margin:0 0 18px; font-size:1.7rem; }
.application-economy h3 { font-size:1.25rem; margin:0 0 8px; }
.application-economy__essence { position:relative; background:#0f0b0ec9; padding:28px 26px; }
.application-economy__balances { margin:0; }
.application-economy__balances > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #8d705940; }
.application-economy__balances dt { display:flex; align-items:center; gap:14px; font-family:Georgia,serif; font-size:1rem; }
.application-economy__balances dt img { width:32px; height:46px; object-fit:contain; }
.application-economy__balances dd { margin:0; font-size:1.6rem; font-family:Georgia,serif; font-variant-numeric:tabular-nums; }
.application-economy__quiet { font-size:.78rem; line-height:1.6; color:var(--economy-muted,var(--chat-muted)); }
.application-economy__status { margin:20px 0; padding:12px 16px; background:#191219; border-left:2px solid #a98a66; }
.application-economy__section { padding:26px 14px; border-bottom:1px solid #8d70593b; }
.application-economy__section li { margin:12px 0; overflow-wrap:anywhere; }
.application-economy__section li span { display:block; color:var(--economy-muted); font-size:.8rem; }
.application-economy__items { display:grid; gap:10px; }
.application-economy__item { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:84px; padding:16px; border:1px solid var(--chat-line,var(--economy-line)); border-radius:5px; color:var(--chat-ink,var(--economy-ink)); background:linear-gradient(130deg,var(--chat-panel,#221820),var(--chat-paper,#100c12)); text-align:left; font:inherit; cursor:pointer; }
.application-economy__item > span { min-width:0; }
.application-economy__item strong { display:block; font:1.25rem Georgia,serif; }
.application-economy__item span span { display:block; margin-top:5px; overflow-wrap:anywhere; font-size:.82rem; }
.application-economy__item small { color:var(--chat-accent,#cfad86); font-size:.72rem; }
.application-economy__item[aria-pressed="true"] { outline:2px solid var(--chat-accent,#cfad86); outline-offset:2px; }
.application-economy__item:disabled { cursor:default; }
.application-economy__item:disabled:not([aria-pressed="true"]) { border-style:dashed; }
.application-economy__offers { display:grid; gap:12px; }
.application-economy__offer { padding:18px; border:1px solid #94775970; border-radius:5px; background:#151016; }
.application-economy__offer p { margin:8px 0; overflow-wrap:anywhere; color:var(--economy-muted); }
.application-economy__offer button { min-height:44px; font:inherit; color:#baada3; background:none; border:0; padding:0; }
.application-economy form { display:grid; gap:12px; }
.application-economy input { min-width:0; width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--economy-line); border-radius:5px; background:#110c13; color:var(--economy-ink); font:inherit; }
.application-economy button:disabled { opacity:.7; cursor:default; }
.application-inventory { position:fixed; inset:auto 12px calc(var(--chat-dock-height,85px) + env(safe-area-inset-bottom,0px)); margin:0 auto; width:min(calc(100% - 24px),600px); max-height:min(72dvh,calc(var(--chat-viewport-height,100dvh) - var(--chat-dock-height,85px) - 100px)); padding:0; border:0; background:transparent; color:var(--chat-ink); overflow:visible; }
.application-inventory::backdrop { background:#08070a80; backdrop-filter:blur(3px); }
.application-inventory__surface { position:relative; isolation:isolate; display:flex; flex-direction:column; max-height:inherit; padding:16px; background:linear-gradient(150deg,var(--chat-panel),var(--chat-paper)); border-radius:12px; }
.application-inventory header { position:relative; display:flex; align-items:center; gap:12px; padding:2px 8px 14px; }
.application-inventory header img { width:34px; height:42px; object-fit:contain; }
.application-inventory h2 { flex:1; min-width:0; margin:0; font:1.5rem/1.25 'Cormorant Garamond',Georgia,serif; }
.application-inventory header button { flex:none; min-width:44px; min-height:44px; border:1px solid var(--chat-line); border-radius:50%; color:var(--chat-ink); background:var(--chat-paper); font:1.4rem Georgia,serif; }
.application-inventory__scroll { min-height:0; overflow:auto; overscroll-behavior:contain; padding:2px 10px; font:.85rem/1.6 Manrope,Arial,sans-serif; }
.application-inventory__scroll [data-economy-status] { margin:16px 0; color:var(--chat-ink); }
.application-inventory footer { padding:0 10px; }
.application-inventory .application-action { color:var(--chat-ink); background:var(--chat-panel); border-color:var(--chat-line); }
.application-inventory .application-text-action { color:var(--chat-accent); }
.application-inventory :focus-visible { outline:2px solid var(--chat-accent); outline-offset:3px; }
@media(max-width:360px) { .application-economy--account { padding-inline:12px; } .application-economy__essence { padding-inline:20px; } .application-inventory { left:8px; right:8px; width:calc(100% - 16px); } .application-inventory__surface { padding:12px; } }
@media(forced-colors:active) { .application-economy__world { display:none; } .application-economy__item,.application-economy__offer,.application-economy__status,.application-inventory__surface { background:Canvas; color:CanvasText; border:1px solid CanvasText; } }
.application-economy__balances > div { flex-wrap:wrap; }
.application-economy__balances dd { max-width:100%; overflow-wrap:anywhere; }
.application-economy h1,.application-economy h2,.application-economy h3,.application-economy p { overflow-wrap:anywhere; }
.application-orders__list { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.application-orders__order { padding:20px; border:1px solid #94775970; border-radius:5px; background:linear-gradient(145deg,#211620,#100c12); }
.application-orders__order h3 { margin-bottom:12px; }
.application-orders__order p { margin:8px 0; }
.application-orders__order details { margin-top:14px; color:var(--economy-muted); font-size:.78rem; }
.application-orders__order summary { display:list-item; min-height:44px; cursor:pointer; padding:10px 0; }
.application-orders__order [data-order-check] { margin-top:8px; }
/* Purchase review stays in the current Sanctuary or persona wardrobe surface. */
.application-economy__offer { position:relative; border-color:var(--chat-line,#94775970); background:linear-gradient(145deg,var(--chat-panel,#211820),var(--chat-paper,#100c12)); }
.application-offer__kind { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:var(--chat-accent,#cfad86); }
.application-economy__offer .application-action { width:100%; padding:10px 14px; border:1px solid var(--chat-line,#a58469); background:var(--chat-panel,#291e27); color:var(--chat-ink,#f2dfcf); }
.application-offer__art { display:block; width:70px; height:86px; object-fit:contain; margin:0 0 14px; }
.application-offer__facts { display:grid; gap:8px; margin:20px 0; }
.application-offer__facts > div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; padding:6px 0; border-bottom:1px solid var(--chat-line,#94775945); }
.application-offer__facts dt { color:var(--chat-muted,var(--economy-muted,#cbbdb2)); }
.application-offer__facts dd { margin:0; font-variant-numeric:tabular-nums; color:var(--chat-ink,var(--economy-ink,#ead9c5)); overflow-wrap:anywhere; }
.application-offer__benefits { margin:16px 0; padding-left:20px; color:var(--chat-muted,var(--economy-muted,#cbbdb2)); }
.application-offer__benefits li { margin:6px 0; }
.application-purchase-review { position:relative; isolation:isolate; margin:0 0 24px; padding:26px 24px; border:1px solid var(--chat-line,#947759); border-radius:8px; background:linear-gradient(140deg,var(--chat-panel,#291d27),var(--chat-paper,#100c12)); color:var(--chat-ink,var(--economy-ink,#ead9c5)); }
.application-purchase-review h3 { font:1.7rem/1.25 'Cormorant Garamond',Georgia,serif; margin:8px 0 14px; }
.application-purchase-review select { display:block; width:100%; min-width:0; min-height:48px; margin:10px 0; padding:10px 12px; border:1px solid var(--chat-line,#947759); border-radius:5px; background:var(--chat-paper,#110c13); color:var(--chat-ink,#ead9c5); font:inherit; }
.application-purchase-review__status { font-size:.82rem; line-height:1.6; color:var(--chat-muted,var(--economy-muted,#cbbdb2)); }
.application-inventory__offers { margin:28px 0 0; }
.application-inventory__offers > h3 { font:1.4rem/1.25 'Cormorant Garamond',Georgia,serif; }
@media(max-width:360px) { .application-purchase-review { padding:22px 18px; } }
@media(forced-colors:active) { .application-purchase-review,.application-purchase-review select,.application-economy__offer .application-action { background:Canvas; color:CanvasText; border-color:CanvasText; } }
.application-orders [hidden] { display:none; }
