/* Shared interaction, independent visual identities. */
:root{--px-bg:#101325;--px-surface:#080c18;--px-soft:#1c2138;--px-text:#f5ede0;--px-muted:#c8c4d2;--px-accent:#e1bc72;--px-line:#e1bc7245;--px-heading:Georgia,serif;--px-radius:14px;--px-nav-bottom:76px}
:root[data-px-theme=ki]{--px-bg:#1c101b;--px-surface:#110b13;--px-soft:#30202c;--px-accent:#d5ae67;--px-line:#af755458;--px-heading:Cinzel,Georgia,serif;--px-radius:6px}
:root[data-px-theme=oui]{--px-bg:#261a30;--px-surface:#1a1125;--px-soft:#3a2b43;--px-accent:#edcca0;--px-line:#edcca044;--px-heading:'Cormorant Garamond',Georgia,serif;--px-radius:22px}
:root[data-px-theme=si]{--px-bg:#102b2b;--px-surface:#0b1d21;--px-soft:#203e40;--px-accent:#dbaa7b;--px-line:#dbaa7b55;--px-heading:Literata,Georgia,serif;--px-radius:8px}
:root[data-px-theme=sim]{--px-bg:#211829;--px-surface:#140f1f;--px-soft:#372b40;--px-accent:#e5c889;--px-line:#e5c88944;--px-heading:Georgia,serif;--px-radius:24px}
:root[data-px-theme=xai]{--px-bg:#0b3437;--px-surface:#072326;--px-soft:#204a4c;--px-accent:#edd7ac;--px-line:#edd7ac50;--px-heading:'Cormorant Garamond',Georgia,serif;--px-radius:16px}
.px-modal-open{overflow:hidden}
.px-dialog,.px-dialog *,.px-nav-tools,.px-nav-tools *,.px-reading-tools,.px-reading-tools *{box-sizing:border-box}
.px-dialog{position:fixed;inset:0;width:min(970px,calc(100% - 32px));max-width:970px;max-height:calc(100dvh - 32px);height:auto;margin:auto;padding:32px;color:var(--px-text);background:radial-gradient(ellipse at 0 0,var(--px-soft),transparent 60%),var(--px-bg);border:1px solid var(--px-line);border-radius:var(--px-radius);box-shadow:0 32px 110px #0009;font:400 15px/1.55 system-ui,-apple-system,sans-serif;text-align:left;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--px-line) var(--px-bg);isolation:isolate}
.px-dialog:not([open]){display:none}
.px-dialog::backdrop{background:#030611c9;backdrop-filter:blur(7px)}
.px-dialog [hidden],.px-reading-tools[hidden]{display:none!important}
.px-dialog button,.px-dialog input,.px-dialog select,.px-dialog textarea,.px-reading-tools button{font:inherit;letter-spacing:normal;text-transform:none;max-width:100%}
.px-dialog button,.px-nav-tools button,.px-reading-tools button{cursor:pointer}
.px-dialog button:disabled,.px-reading-tools button:disabled{cursor:wait;opacity:.6}
.px-dialog button,.px-dialog a,.px-nav-tools button,.px-reading-tools button{touch-action:manipulation}
.px-dialog svg,.px-nav-tools svg,.px-reading-tools svg,.px-retry svg{width:20px;height:20px;min-width:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;display:inline-block}
.px-dialog :is(button,a,input,select,textarea,summary):focus-visible,.px-nav-tools button:focus-visible,.px-reading-tools button:focus-visible{outline:2px solid var(--px-accent);outline-offset:4px}
.px-dialog a{color:inherit;text-decoration:none}
.px-dialog-head{position:relative;padding-right:52px;margin-bottom:20px}
.px-dialog .px-eyebrow{font:700 10px/1.6 system-ui,sans-serif;color:var(--px-accent);letter-spacing:.24em;text-transform:uppercase;margin:0 0 9px}
.px-dialog .px-title{font:500 clamp(27px,4.2vw,38px)/1.15 var(--px-heading);margin:0;color:var(--px-text);text-align:left;letter-spacing:-.01em}
.px-dialog .px-close{position:absolute;right:0;top:0;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--px-line);border-radius:50%;padding:0;background:transparent;color:var(--px-text);box-shadow:none}
.px-close span,.px-star span,.px-nav-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.px-tabs{display:flex;gap:9px;border-bottom:1px solid var(--px-line);overflow-x:auto;scrollbar-width:thin}
.px-dialog .px-tab{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;color:var(--px-muted);background:none;border:0;border-radius:0;padding:14px 6px;border-bottom:2px solid transparent;box-shadow:none;font-size:14px;min-height:48px}
.px-dialog .px-tab[aria-selected=true]{color:var(--px-accent);border-bottom-color:var(--px-accent)}
.px-badge{font:500 10px/1.5 system-ui,sans-serif;padding:0 5px;border-radius:4px;background:var(--px-soft);color:var(--px-text)}
.px-utilities{display:flex;justify-content:flex-end;padding:12px 0}
.px-dialog .px-link{display:inline-flex;align-items:center;gap:7px;color:var(--px-accent);background:transparent;border:0;box-shadow:none;border-radius:6px;min-height:40px;padding:6px 2px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.px-backup{border:1px solid var(--px-line);padding:12px 14px;border-radius:10px;margin:0 0 12px;font-size:13px}
.px-backup summary{cursor:pointer;color:var(--px-muted);min-height:24px}
.px-dialog .px-help,.px-dialog .px-privacy{font:400 13px/1.6 system-ui,sans-serif;color:var(--px-muted);margin:12px 0}
.px-dialog .px-privacy{border-top:1px solid var(--px-line);padding-top:18px;margin-top:26px;font-size:12px}
.px-dialog .px-status{font-size:13px;color:var(--px-accent);min-height:0;margin:0}
.px-dialog .px-status:not(:empty){padding:8px 0 14px}
.px-panel{outline:none}
.px-dialog .px-label{display:block;color:var(--px-text);font-size:13px;margin:20px 0 8px}
.px-dialog .px-input{display:block;width:100%;min-height:52px;border:1px solid var(--px-line);border-radius:12px;background:var(--px-surface);color:var(--px-text);padding:12px 15px;box-shadow:none;font-size:16px;line-height:1.6;resize:vertical}
.px-dialog .px-input::placeholder{color:var(--px-muted);opacity:.85}
.px-dialog .px-input:focus{border-color:var(--px-accent);outline-offset:2px}
.px-filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0;font-size:12px;color:var(--px-muted)}
.px-dialog .px-select{width:auto;min-height:40px;background:var(--px-surface);color:var(--px-text);border:1px solid var(--px-line);padding:7px 30px 7px 12px;border-radius:8px;font-size:12px}
.px-dialog .px-primary,.px-dialog .px-secondary,.px-dialog .px-choose,.px-reading-tools .px-save,.px-reading-tools .px-browse,.px-reading-tools .px-app-star{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 17px;border:1px solid var(--px-line);border-radius:9px;background:var(--px-soft);color:var(--px-text);font-weight:600;font-size:13px;line-height:1.45;text-decoration:none;box-shadow:none}
.px-dialog .px-primary,.px-reading-tools .px-save{background:var(--px-accent);color:#191922;border-color:var(--px-accent)}
.px-dialog .px-choose{border-radius:30px;background:var(--px-soft);color:var(--px-accent)}
.px-choices{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}
.px-choices .px-help{flex-basis:100%;margin:0}
.px-dialog .px-count{font-size:12px;color:var(--px-muted);margin:18px 0 10px}
.px-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.px-card{display:flex;position:relative;background:var(--px-surface);border:1px solid #fff1;border-radius:12px;overflow:hidden;min-width:0;transition:border-color .15s}
.px-card:focus-within,.px-card:hover{border-color:var(--px-line)}
.px-dialog .px-card-link{display:flex;align-items:center;gap:13px;min-height:132px;min-width:0;flex:1;padding:13px 44px 13px 13px}
.px-thumb{width:90px!important;height:90px!important;object-fit:cover;border-radius:7px;flex-shrink:0;max-width:30%;margin:0;border:0;box-shadow:none}
.px-card-copy{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.px-section-label{display:block;font:500 9px/1.5 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--px-accent);margin-bottom:4px}
.px-dialog .px-card h3{font:500 19px/1.15 var(--px-heading);color:var(--px-text);margin:0 0 7px;text-align:left;letter-spacing:0}
.px-dialog .px-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:400 11px/1.5 system-ui,sans-serif;color:var(--px-muted);margin:0}
.px-dialog .px-star{position:absolute;right:1px;top:8px;width:42px;height:42px;display:grid;place-items:center;padding:0;color:var(--px-muted);background:transparent;border:0;box-shadow:none}
.px-star[aria-pressed=true] svg,.px-app-star[aria-pressed=true] svg{fill:var(--px-accent);color:var(--px-accent)}
.px-dialog .px-empty{grid-column:1/-1;padding:30px 18px;text-align:center;color:var(--px-muted);background:var(--px-surface);border:1px dashed var(--px-line);border-radius:12px;font-size:15px;line-height:1.6;margin:0}
.px-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}
.px-reading-list{display:grid;gap:12px}
.px-reading-card{padding:18px;background:var(--px-surface);border:1px solid var(--px-line);border-radius:12px}
.px-dialog .px-reading-title{display:flex;align-items:center;gap:10px;text-align:left;font:500 22px/1.3 var(--px-heading);background:transparent;color:var(--px-text);border:0;box-shadow:none;padding:0;min-height:44px}
.px-date{display:block;color:var(--px-muted);font-size:12px;margin:9px 0}
.px-dialog .px-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.65;margin:12px 0 0;color:var(--px-muted);white-space:pre-line}
.px-dialog .px-reading-heading,.px-dialog .px-subtitle{font:500 29px/1.25 var(--px-heading);color:var(--px-text);margin:16px 0;text-align:left}
.px-context{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,3fr);gap:5px 16px;padding:15px;background:var(--px-soft);border-radius:10px;font-size:13px;margin:18px 0;overflow-wrap:anywhere}
.px-context dt{color:var(--px-muted);font-weight:500}.px-context dd{margin:0;color:var(--px-text)}
.px-saved-result{background:var(--px-surface);padding:clamp(16px,3vw,28px);border:1px solid var(--px-line);border-radius:12px;overflow-wrap:anywhere;line-height:1.85;font-size:16px}
.px-saved-result h1,.px-saved-result h2,.px-saved-result h3,.px-saved-result h4{font-family:var(--px-heading);line-height:1.3;color:var(--px-accent);margin:1.3em 0 .6em;text-align:left}
.px-saved-result p{margin:.9em 0}.px-saved-result ul,.px-saved-result ol{padding-left:1.6em;list-style:revert}.px-saved-result li{margin:.4em 0}
.px-saved-result img{display:inline-block;max-width:min(100%,280px);max-height:340px;object-fit:contain;border-radius:8px;margin:10px}.px-saved-result svg{width:100%;height:auto;max-width:600px;stroke:revert;fill:revert}
.px-saved-result table{border-collapse:collapse;width:100%;font-size:13px}.px-saved-result :is(td,th){border:1px solid var(--px-line);padding:8px;text-align:left}
.px-plain-result{white-space:pre-wrap}.px-dialog .px-delete{color:#ffb5a9}.px-confirm{padding:15px;border:1px solid #ffb5a966;border-radius:10px}.px-confirm button{margin-right:10px}.px-dialog .px-danger{min-height:44px;background:#8b3339;color:#fff;border:0;border-radius:8px;padding:10px 16px}
.px-install-guide{padding:24px;background:var(--px-surface);border-left:2px solid var(--px-accent);line-height:1.8}
/* Two permanent, labelled menu controls, with the same placement in every brand. */
.px-nav-host{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:nowrap!important}
.px-nav-host [data-px-navigation]{flex:1;justify-content:center;min-width:0}
.px-nav-host>.px-nav-tools{display:flex;align-items:center;flex:0 0 auto;border:1px solid var(--px-line);border-radius:25px;background:var(--px-soft);padding:0 3px;gap:0;margin-left:auto;height:42px}
.px-nav-tools .px-nav-button{display:grid;place-items:center;color:var(--px-accent);background:none;box-shadow:none;border:0;border-radius:50%;width:38px;height:38px;padding:0;position:relative}
.px-nav-tools .px-nav-button+button:before{content:'';position:absolute;left:-1px;height:17px;width:1px;background:var(--px-line)}
.px-nav-tools .px-nav-button+button svg{fill:var(--px-accent)}
.px-reading-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;max-width:1050px;margin:24px auto;padding:18px 20px;border:1px solid var(--px-line);border-radius:var(--px-radius);color:var(--px-text);background:var(--px-bg);font:400 14px/1.6 system-ui,sans-serif}
.px-reading-tools .px-tool-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.px-reading-tools .px-tool-status{flex-basis:100%;font-size:13px;margin:0;color:var(--px-accent)}
.px-reading-tools .px-app-star{padding:10px;width:44px}.px-reading-tools .px-save[hidden]{display:none}.px-reading-tools .px-tool-title{font:500 20px/1.35 var(--px-heading);margin:0}
@media(max-width:1280px){
 .px-nav-host{gap:10px!important;min-height:64px}
 .px-nav-host [data-px-toggle]{display:flex!important;visibility:visible;flex-shrink:0;align-items:center;justify-content:center}
 .px-nav-host [data-px-navigation]{display:none!important;position:fixed!important;inset:var(--px-nav-bottom) 0 auto 0!important;width:100%!important;max-height:calc(100dvh - var(--px-nav-bottom));overflow-y:auto;margin:0!important;padding:20px 24px!important;transform:none!important;background:var(--px-bg)!important;color:var(--px-text)!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;border:0!important;border-bottom:1px solid var(--px-line)!important;box-shadow:0 18px 40px #0007;z-index:1000}
 .px-nav-host[data-px-menu-open=true] [data-px-navigation]{display:flex!important}
 .px-nav-host [data-px-navigation] a{display:block;padding:12px!important;color:var(--px-text)!important;min-height:44px}
 .px-nav-host [data-px-navigation] li{display:block;width:100%}
 .px-nav-host .px-nav-tools{margin-left:auto}
}
@media(min-width:1281px){.px-nav-host [data-px-toggle]{display:none!important}.px-nav-host [data-px-navigation]{font-size:13px;gap:12px!important}.px-nav-host [data-px-navigation] a{font-size:12px!important;padding-left:2px!important;padding-right:2px!important}}
@media(max-width:640px){
 .px-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);padding:20px 15px;border-radius:16px}
 .px-dialog-head{padding-right:44px}.px-dialog .px-title{font-size:28px}.px-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 9px;overflow:visible}.px-dialog .px-tab{font-size:12px;gap:5px;justify-content:flex-start;padding-left:7px}.px-tab svg{width:17px;min-width:17px}.px-tab .px-badge{display:none}
 .px-grid{grid-template-columns:1fr}.px-dialog .px-card-link{min-height:116px}.px-thumb{width:78px!important;height:78px!important}.px-dialog .px-card h3{font-size:20px}
 .px-nav-host{gap:6px!important}.px-nav-host :is(.ta-nav__logo,.tk-nav__logo,.to-nav__logo,.ts-brand,.ts-nav__logo,.tx-nav__brand){font-size:20px!important;letter-spacing:0!important;white-space:nowrap}
 .px-nav-host>.px-nav-tools{height:40px;padding:0 1px}.px-nav-tools .px-nav-button{width:34px;height:36px}.px-nav-host [data-px-toggle]{width:36px!important;min-width:36px!important;padding:6px!important}
 .px-reading-tools{margin:20px 12px;padding:15px}.px-reading-tools .px-tool-actions{width:100%}.px-context{grid-template-columns:1fr}.px-context dd{margin-bottom:8px}.px-saved-result img{margin:6px 0;max-width:100%}
}
@media(prefers-reduced-motion:reduce){.px-card{transition:none}.px-dialog{scroll-behavior:auto}}
/* Compact, exact I Ching hexagram geometry in saved/shared readings. */
.px-saved-result svg[viewBox="0 0 72 60"]{display:block;width:54px;height:45px;min-width:0;max-width:100%;margin:12px auto;}
