/* A single material family. Dust remains stationary; only the suspended mist moves. */
body[data-persona="kaeris"] { --kd-edge:#a98c766b; --kd-text:#eee2e8; --kd-muted:#bcadbf; --kd-light:#d6a6f4; }
.kd-glass,body[data-persona="kaeris"] .app-dock-rail { position:relative;isolation:isolate;background:linear-gradient(125deg,#211826ab,#09090edd 58%),url('../assets/kaeris-cinema/glass-material.webp') center/560px;border:1px solid var(--kd-edge,#a98c766b);box-shadow:inset 0 1px #eedee221,inset 0 0 0 1px #000a,0 8px 25px #0005;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px); }
.kd-glass::before { content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 25% 120%,#75469723,transparent 62%); }
.kd-glass:where(button,a):hover { border-color:#c1a0b9a6;box-shadow:inset 0 1px #f2d3fc45,0 0 20px #9d5ccc16; }
.kd-glass:where(button,a):active { filter:brightness(.88); }
.kaeris-experience :focus-visible,body[data-persona="kaeris"] .realm-chat__profile-link:focus-visible { outline:2px solid #deb4ff;outline-offset:4px; }
.app.kaeris-app { max-width:660px;margin:auto;padding:0 0 max(108px,calc(94px + env(safe-area-inset-bottom))); }
.kaeris-experience { position:relative;isolation:isolate;min-height:100dvh;overflow:clip;color:var(--kd-text);background:#08070c;border:1px solid #987c6666;border-radius:26px 26px 0 0; }
.kd-scene { position:absolute;z-index:-2;inset:0 0 auto;height: min(155vw,960px);overflow:hidden;background:#08070c; }
.kd-scene img,.kd-character-layer,.kd-film-canvas,.kd-atmosphere,.kd-scene-shade,.kd-foreground { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none; }
.kd-character-layer { z-index:2; }
.kd-character-layer video { display:none!important; }
.kd-film-canvas[hidden] { display:none; }
.kd-atmosphere { z-index:1;opacity:.2;background:radial-gradient(ellipse at 20% 75%,#aa77c859,transparent 45%);animation:kd-mist 20s ease-in-out infinite alternate; }
.kd-foreground { z-index:3;background:linear-gradient(90deg,#09060c42,transparent 15%,transparent 90%,#09060c55); }
.kd-scene-shade { z-index:4;background:linear-gradient(#06040880,transparent 24%,transparent 68%,#08070c),linear-gradient(90deg,#06040838,transparent 65%); }
.kd-scene.is-still * { animation-play-state:paused!important; }
@keyframes kd-mist { to { transform:translate3d(3%,2%,0);opacity:.35; } }
.kaeris-header { display:grid;grid-template-columns:auto 1fr 44px;align-items:center;gap:14px;padding:calc(18px + env(safe-area-inset-top)) 18px 12px;position:relative;z-index:5;background:linear-gradient(#08070ca6,transparent); }
.kaeris-header a { color:inherit;text-decoration:none; }
.kd-back { display:flex;align-items:center;gap:6px;min-height:44px;font-size:1.05rem; }
.kd-back::first-letter {font-size:1.5rem;}
.kaeris-nameplate { display:flex;align-items:center;gap:12px;justify-self:center;min-width:0; }
.kaeris-nameplate img { width:54px;height:54px;object-fit:cover;border-radius:50%;border:1px solid #d2ab85;box-shadow:0 0 0 3px #100a14,0 0 14px #b775d434; }
.kaeris-nameplate span {font-size:clamp(1.5rem,4.6vw,2.1rem);line-height:1.05; }
.kaeris-nameplate small {display:block;font-size:.76rem;color:#cabace;margin-top:5px; }
.kd-icon { display:grid;place-items:center;width:44px;min-width:44px;height:44px;border-radius:50%;font-size:1.6rem;color:inherit;cursor:pointer; }
.kd-profile-intro { min-height:clamp(390px,105vw,690px);padding:28px 24px 0;width:48%;text-shadow:0 2px 18px #000; }
.kd-eyebrow { font: .63rem/1.6 Georgia,serif;letter-spacing:.17em;text-transform:uppercase;color:#cfb5bd; }
.kd-profile-intro h1 { font-size:clamp(1.35rem,4.4vw,2.15rem);font-weight:400;line-height:1.16;margin:18px 0 16px; }
.kd-profile-intro>p:last-child {font-size:.93rem;line-height:1.5;color:#d7c8d6; }
.kd-content { margin:0 16px;position:relative; }
.kd-profile-content {padding-bottom:20px; }
.kd-tabs {display:flex;border-radius:18px 18px 0 0;padding:0 8px; }
.kd-tabs a {flex:1;text-align:center;color:#b9aabf;text-decoration:none;padding:16px 8px;position:relative;font-size:1.2rem; }
.kd-tabs a[aria-current] {color:#f2dbfb;text-shadow:0 0 12px #b776df; }
.kd-tabs a[aria-current]::after {content:'';position:absolute;height:1px;bottom:0;left:15%;right:15%;background:linear-gradient(90deg,transparent,#e8b5ff,transparent);box-shadow:0 0 10px #c08bfd; }
.kd-stories {padding:10px 0;display:grid;gap:9px; }
.kd-story {display:grid;grid-template-columns:85px 1fr 18px;gap:12px;align-items:center;text-align:left;color:inherit;padding:10px;border-radius:12px;cursor:pointer; }
.kd-story>img {width:85px;height:105px;border-radius:6px;object-fit:cover;border:1px solid #c2a48a40; }
.kd-story small,.kd-portal small {display:block;font-size:.57rem;letter-spacing:.15em;color:#bca3bf;line-height:1.5; }
.kd-story strong,.kd-portal strong {display:block;font-size:1.2rem;font-weight:400;line-height:1.2;margin:6px 0; }
.kd-story span span,.kd-portal span span {display:block;font-size:.8rem;line-height:1.4;color:#c0b0c3; }
.kd-arrow {font-size:1.6rem;color:#d3b4d9; }
.kd-portal {display:flex;align-items:center;gap:13px;padding:18px 12px;border-radius:12px;text-decoration:none;color:inherit; }
.kd-portal-sigil {font-size:2rem;color:#c6a1e1;text-shadow:0 0 18px #9b6ecb; }
.kd-footnote {text-align:center;line-height:1.7;font-size:.76rem;color:#a796ad;padding:20px 0 5px; }
.kd-button {display:flex;align-items:center;justify-content:center;gap:22px;min-height:46px;border-radius:12px;padding:11px 18px;color:#f1ddfa;text-decoration:none;font:inherit;cursor:pointer; }
.kd-gallery {padding-top:32px;min-height:75vh;padding-bottom:26px; }
.kd-gallery h1 {font-size:clamp(2rem,6vw,3rem);font-weight:400;line-height:1.1;margin:8px 0; }
.kd-muted {color:#cbbbd0;font-size:.95rem; }
.is-memories .kd-scene {opacity:.34;filter:blur(5px); }
.is-memories .kd-character-layer {display:none; }
.kd-filters {display:flex;border-radius:14px;margin:26px 0 14px;padding:3px; }
.kd-filters button {flex:1;border:1px solid transparent;border-radius:11px;background:none;color:#c9bacf;min-height:44px;font:inherit;cursor:pointer; }
.kd-filters button[aria-pressed="true"] {border-color:#b784d48f;color:#f7e9ff;background:linear-gradient(#a067ba25,#bb75ee1c);box-shadow:inset 0 0 20px #bb77ed23,0 1px 12px #b372e336; }
.kd-sort {display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:.75rem;color:#bcaec6; }
.kd-sort select {font:inherit;background:#100c17;color:#ddcde5;border:1px solid #8d71906b;border-radius:6px;min-height:40px;padding:4px 8px; }
[data-archive-status] {font-size:.88rem;color:#bfafc9;line-height:1.5; }
[data-archive-status]:empty {display:none; }
.kd-memory-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px; }
.kd-memory {overflow:hidden;border-radius:8px;text-align:left;color:inherit;padding:0;cursor:pointer;min-width:0; }
.kd-thumbnail {display:block;aspect-ratio:1;position:relative;background:#0d0913; }
.kd-thumbnail img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .15s; }
.kd-thumbnail img.is-ready {opacity:1; }
.kd-thumbnail>span {position:absolute;inset:45% 5% auto;text-align:center;color:#a593ad;font-size:.8rem;z-index:-1; }
.kd-memory-copy {display:block;padding:11px 9px; }
.kd-memory-copy small {display:block;font-size:.63rem;color:#baa9c5;margin-bottom:5px; }
.kd-memory-copy strong {display:block;font-size:.88rem;font-weight:400;line-height:1.4;overflow-wrap:anywhere; }
.kd-event-mark {display:grid;place-items:center;min-height:95px;font-size:2.2rem;color:#ba93d5; }
.kd-viewer {position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;background:#09070ded;color:#eee1f6;border:0;overflow:auto; }
.kd-viewer::backdrop,.kd-details::backdrop {background:#030206c9;backdrop-filter:blur(8px); }
.kd-viewer-close {position:fixed;z-index:2;right:max(18px,env(safe-area-inset-right));top:calc(18px + env(safe-area-inset-top)); }
.kd-viewer-media {min-height:45vh;display:grid;place-items:center;padding:78px 20px 10px; }
.kd-viewer-media img {max-width:100%;max-height:70dvh;object-fit:contain; }
.kd-viewer-media [hidden] {display:none; }
.kd-viewer-copy {max-width:660px;margin:auto;padding:12px 24px max(28px,env(safe-area-inset-bottom)); }
.kd-viewer-copy h2 {font-size:1.5rem;font-weight:400; }
.kd-viewer-controls {display:flex;justify-content:space-between;gap:12px;align-items:center; }
.kd-viewer button:disabled {opacity:.3;cursor:default; }
.kd-details {width:min(92%,440px);border-radius:18px;color:#e9dbef;padding:28px; }
.kd-details p {line-height:1.7; }
.kd-domain-intro {padding:35px 24px;min-height:clamp(420px,110vw,725px);width:62%;text-shadow:0 2px 15px #000; }
.kd-domain-intro h1 {font-size:clamp(2rem,6vw,3.1rem);font-weight:400;line-height:1.1;margin:10px 0 20px; }
.kd-domain-intro>p:last-child {font-size:.9rem;line-height:1.6; }
.kd-domain-copy {padding:25px 22px;border-radius:18px;margin-bottom:28px; }
.kd-domain-copy h2 {font-size:1.6rem;font-weight:400;line-height:1.2; }
.kd-domain-copy p {font-size:.92rem;line-height:1.65;color:#cbb9d0; }
body[data-persona="kaeris"] .app-dock-rail {border-radius:19px;background-color:#08060deb; }
body[data-persona="kaeris"] .app-dock-rail::before {background:url('../assets/kaeris-cinema/glass-material.webp') center/500px;opacity:.35; }
body[data-persona="kaeris"] .app-dock-link[aria-current] {border-color:transparent;background:radial-gradient(ellipse at 50% 105%,#b568ed35,transparent 65%);box-shadow:none; }
body[data-persona="kaeris"] .app-dock-link[aria-current]::before {top:auto;bottom:-5px;left:24%;right:24%;height:2px;background:#d1a0f1;box-shadow:0 0 15px 3px #b566e3a6; }
body[data-persona="kaeris"] .app-dock-link[aria-current]::after {display:none; }
body[data-persona="kaeris"] .app-dock-link svg {width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.25; }
body[data-persona="kaeris"] .app-dock-link[aria-current] svg {filter:drop-shadow(0 0 5px #bd78ef);color:#eac4ff; }
body[data-persona="kaeris"] :is(.ch-panel,.ch-card,.ch-buy,.ch-equip,.ch-main-tab,.ch-sub-tab,.chat-interactions,.ci-action,.ci-tab,.realm-chat__menu) {background-image:linear-gradient(#100b16c9,#09070edf),url('../assets/kaeris-cinema/glass-material.webp');background-size:auto,450px; }
body[data-persona="kaeris"] .realm-chat__header {background:linear-gradient(#0b0710ee,#09060ae3),url('../assets/kaeris-cinema/glass-material.webp') center/400px; }
.realm-chat__profile-link {display:flex;align-items:center;gap:8px;grid-column:2/4;text-decoration:none;color:inherit;min-width:0; }
.realm-chat__profile-link .realm-chat__header-copy {flex:1; }
.realm-chat__message.is-memory-target,.realm-chat__event.is-memory-target,.scene-card.is-memory-target {outline:2px solid #d8a4f5;outline-offset:5px;border-radius:10px;box-shadow:0 0 25px #aa66d750; }
.realm-chat__jump-notice {position:relative;margin:12px 18px;padding:12px 16px;border:1px solid #ab83bd77;background:#130d1bed;color:#e1cdea;border-radius:12px;font-size:.84rem;line-height:1.5; }
@media(max-width:359px) { .kaeris-header {padding-left:12px;padding-right:12px;gap:6px}.kaeris-nameplate {gap:7px}.kaeris-nameplate img{width:44px;height:44px}.kaeris-nameplate small{font-size:.65rem}.kd-content{margin-left:10px;margin-right:10px}.kd-story{grid-template-columns:65px 1fr 12px;gap:9px}.kd-story>img{width:65px;height:95px}.kd-profile-intro{padding-left:17px;width:53%} }
@media(min-width:700px) { .kaeris-experience {margin-top:18px}.kd-profile-intro{padding-top:45px}.kd-content{margin-left:22px;margin-right:22px} }
@media(prefers-reduced-motion:reduce) { .kd-scene *, .kaeris-experience * {animation:none!important;transition:none!important} }
@media(prefers-contrast:more) { .kd-glass {background:#0b080f;border-color:#bc99c9}.kd-muted,.kd-footnote{color:#e7d5ed} }
@supports not (backdrop-filter:blur(1px)) { .kd-glass {background-color:#100c17} }
.kd-character-layer { transform:translateY(36px); }
.is-domain .kd-character-layer { transform:translateY(52px); }
@media(min-width:600px) { .kd-character-layer {transform:translateY(58px)} }
body[data-persona="kaeris"] :is(.ch-action,.ch-tab,.chat-interactions__tab,.chat-appearance__apply,.chat-appearance__option,.chat-ritual__action) {background-image:linear-gradient(#100b16c9,#09070edf),url('../assets/kaeris-cinema/glass-material.webp');background-size:auto,450px; }
.kaeris-experience { animation:kd-enter .22s ease-out both; }
@keyframes kd-enter {from{opacity:.72}to{opacity:1}}
.kd-scene [hidden] {display:none!important}
.kaeris-header {grid-template-columns:auto minmax(0,1fr) 44px;}
.kaeris-nameplate {flex-wrap:wrap;justify-content:center;max-width:100%;row-gap:8px;}
.kaeris-nameplate span {overflow-wrap:anywhere;min-width:0;}
.realm-chat__archive-status {padding:8px 14px;margin:4px 12px;color:#e2cadb;background:#190f20;border:1px solid #917382;border-radius:8px;font-size:.75rem;line-height:1.4;}
.kd-foreground {background:none;}
[data-scene="chaos"] .kd-foreground {animation:kd-fracture 24s ease-in-out infinite alternate;transform-origin:50% 100%;}
@keyframes kd-fracture {to{transform:translate3d(0,-3px,0) rotate(.15deg);}}
.kd-atmosphere::after {content:'';position:absolute;inset:0;background:url('../assets/kaeris-cinema/glass-material.webp') center/cover;mix-blend-mode:screen;opacity:.14;}
.kd-tabs a {min-width:0;overflow-wrap:anywhere;}
body[data-persona="kaeris"] :is(.chat-interactions__entry,.chat-interactions__apply,.chat-ritual__choice,.ch-main-tabs button,.ch-subtabs button) {background-image:linear-gradient(130deg,#1c1422b5,#08070ddd),url('../assets/kaeris-cinema/glass-material.webp');background-size:auto,420px;}
body[data-persona="kaeris"] :is(.chat-interactions__entry,.chat-interactions__apply,.chat-ritual__choice):hover {box-shadow:inset 0 1px #e6c8eb3b,0 0 12px #9857c51c;}
.kd-glass::before {background-size:145% 145%;animation:kd-glass-mist 26s ease-in-out infinite alternate;}
@keyframes kd-glass-mist {from{background-position:0% 20%}to{background-position:60% 80%}}
body[data-cinema-still="true"] .kd-glass::before {animation-play-state:paused;}
@media(prefers-reduced-motion:reduce) {.kd-glass::before{animation:none!important}}
