/* Dedicated surface. Load after application.css; no dock, frame, or sanctuary overrides. */
:is(.persona-access-host,.persona-access-dialog) {
 --pa-accent:#d8b578; --pa-ink:#f5efdc; --pa-muted:#c5b793; --pa-panel:#191b10; --pa-line:#887c4d;
 color:var(--pa-ink); font:1rem/1.6 Manrope,Arial,sans-serif;
}
[data-persona-access-theme="via"] { --pa-accent:#b0d3f3; --pa-ink:#edf5ff; --pa-muted:#9fbad4; --pa-panel:#0e1829; --pa-line:#7089a8; }
[data-persona-access-theme="noira"] { --pa-accent:#d0a07b; --pa-ink:#f0e6da; --pa-muted:#b8a391; --pa-panel:#1b1410; --pa-line:#8f6950; }
[data-persona-access-theme="aeri"] { --pa-accent:#ff827a; --pa-ink:#f8e8e2; --pa-muted:#d79f96; --pa-panel:#241012; --pa-line:#d0645e; }
[data-persona-access-theme="kaeris"] { --pa-accent:#cfabe7; --pa-ink:#f0e9f3; --pa-muted:#aa93ba; --pa-panel:#100b17; --pa-line:#9374a7; }
.persona-access { max-width:42rem; margin-inline:auto; padding:1.5rem; background:var(--pa-panel); border:1px solid var(--pa-line); }
:is(.persona-access,.persona-access-dialog) :is(h2,h3) { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; line-height:1.2; margin:0 0 .6rem; }
:is(.persona-access,.persona-access-dialog) h2 { font-size:clamp(1.6rem,5vw,2.2rem); }
:is(.persona-access,.persona-access-dialog) h3 { font-size:1.35rem; }
:is(.persona-access,.persona-access-dialog) p { margin:.5rem 0 1rem; overflow-wrap:anywhere; }
:is(.persona-access,.persona-access-dialog) button { min-height:44px; max-width:100%; padding:.7rem 1rem; border:1px solid var(--pa-line); border-radius:.35rem; color:var(--pa-ink); background:var(--pa-panel); font:inherit; line-height:1.4; cursor:pointer; overflow-wrap:anywhere; }
:is(.persona-access,.persona-access-dialog) button:disabled { opacity:.6; cursor:default; }
:is(.persona-access,.persona-access-dialog) :is(button,input):focus-visible { outline:2px solid var(--pa-accent); outline-offset:4px; }
.persona-access__list { margin:1.5rem 0; padding:0; list-style:none; }
.persona-access__row { padding:1rem 0; border-bottom:1px solid color-mix(in srgb,var(--pa-line) 45%,transparent); }
.persona-access__row p { margin:.25rem 0; color:var(--pa-muted); font-size:.9rem; }
.persona-access__reward { padding-block:1rem; }
.persona-access__offers { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.persona-access__status { min-height:1.6em; }
.persona-access-dialog {
 box-sizing:border-box; width:min(38rem,calc(100% - 1.5rem)); max-width:calc(100% - 1.5rem);
 max-height:calc(100svh - 2rem); max-height:calc(100dvh - 2rem);
 padding:clamp(1rem,4vw,2rem); border:1px solid var(--pa-line); border-radius:.75rem;
 background:linear-gradient(145deg,color-mix(in srgb,var(--pa-accent) 9%,var(--pa-panel)),var(--pa-panel) 55%);
 box-shadow:0 0 0 5px color-mix(in srgb,var(--pa-panel) 85%,transparent),0 24px 90px #000b;
 overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable;
 scroll-padding-block:1rem 5rem; padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px));
}
.persona-access-dialog[open] { animation:persona-access-arrive .24s ease-out both; }
.persona-access-dialog::backdrop { background:#050309bd; backdrop-filter:blur(5px); }
.persona-access__dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.persona-access__dialog-head h2 { min-width:0; }
.persona-access__dialog-head button { flex:none; }
.persona-access__choices { min-width:0; margin:1.25rem 0; padding:0; border:0; }
.persona-access__choices legend { margin-bottom:.75rem; color:var(--pa-accent); }
.persona-access__choice,.persona-access__included { display:flex; align-items:center; gap:.8rem; min-height:44px; padding:.9rem .7rem; border-block-end:1px solid color-mix(in srgb,var(--pa-line) 40%,transparent); }
.persona-access__choice { cursor:pointer; transition:background .15s ease; }
.persona-access__choice:has(input:checked) { background:color-mix(in srgb,var(--pa-accent) 12%,transparent); }
.persona-access__choice input { width:1.2rem; height:1.2rem; flex:none; accent-color:var(--pa-accent); }
.persona-access__choice > span,.persona-access__included { min-width:0; }
.persona-access__choice span span,.persona-access__included span { display:block; color:var(--pa-muted); font-size:.85rem; overflow-wrap:anywhere; }
.persona-access__included { display:block; }
.persona-access__continuity { color:var(--pa-muted); font-size:.85rem; }
.persona-access__actions { position:sticky; bottom:0; padding-top:.5rem; background:var(--pa-panel); box-shadow:0 -8px 12px var(--pa-panel); }
.persona-access-dialog .persona-access__confirm { width:100%; color:var(--pa-panel); background:var(--pa-accent); border-color:var(--pa-accent); }
@keyframes persona-access-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .persona-access-dialog[open] { animation:none; } .persona-access__choice { transition:none; } }
@media (max-width:360px) { .persona-access__dialog-head { flex-wrap:wrap; } }
@media (forced-colors:active) { :is(.persona-access,.persona-access-dialog) { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; } :is(.persona-access,.persona-access-dialog) button { background:ButtonFace; color:ButtonText; border-color:ButtonText; } }
