/* White sanctuary: architecture is CSS; engraved wings are one local asset. */
@font-face{font-family:Sanctuary Gothic;src:url('./assets/fonts/unifraktur-cook.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.sanctuary-only{display:none}
html[data-ui-skin=sanctuary]{--san-safe-top:env(safe-area-inset-top,0px);--san-safe-bottom:env(safe-area-inset-bottom,0px);--san-paper:#f7f6f2;--san-pane:#fcfbf8;--san-ink:#22221f;--san-muted:#7b7a75;--san-line:#d9d7d0;--san-user:#e8e7e3;--mo-bg:var(--san-paper);--mo-pane:var(--san-pane);--mo-ink:var(--san-ink);--mo-muted:var(--san-muted);--mo-line:var(--san-line);--text:var(--san-ink);--meta:var(--san-muted);--stroke:var(--san-line);--panel:var(--san-pane);--panel-strong:var(--san-pane);--app-bg:var(--san-paper);--accent:var(--san-ink);color-scheme:light}
html[data-ui-skin=sanctuary][data-theme=dark]{--san-paper:#20201f;--san-pane:#292928;--san-ink:#f0efeb;--san-muted:#b0afa9;--san-line:#464641;--san-user:#3b3b37;color-scheme:dark}
html[data-ui-skin=sanctuary] .sanctuary-only{display:block}
html[data-ui-skin=sanctuary] body{background:var(--san-paper)!important;color:var(--san-ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
html[data-ui-skin=sanctuary] :is(.bg-layer,.app-shell){background-color:var(--san-paper)!important}
html[data-ui-skin=sanctuary] .app-shell{isolation:isolate;overflow:hidden!important;max-width:760px;margin-inline:auto;box-shadow:0 0 60px #20201f09}
html[data-ui-skin=sanctuary] .sanctuary-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:layout paint}
.sanctuary-scene::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 8%,#fff9,transparent 58%),repeating-linear-gradient(90deg,transparent 0 22%,#8a88800b 22.1%,transparent 22.4%)}
.sanctuary-vault{position:absolute;top:-28px;left:3%;width:94%;height:230px;border:1px solid #a5a29836;border-radius:50% 50% 0 0/65% 65% 0 0;box-shadow:0 0 0 7px #fff7,0 0 0 8px #aaa69b2a,0 0 0 17px #fff7,0 0 0 18px #aaa69b2a,0 0 0 28px #fff5,0 0 0 29px #aaa69b20,inset 0 7px 8px #938e8110}
.sanctuary-wall{position:absolute;inset:125px 18px 76px;border:1px solid #aaa69b25;box-shadow:0 0 0 5px #fff6,0 0 0 6px #aaa69b1c,0 0 0 12px #fff5,0 0 0 13px #aaa69b17}
.sanctuary-altar{position:absolute;right:7%;bottom:155px;width:32%;height:34%;border:1px solid #a5a29824;box-shadow:0 0 0 7px #fff5,0 0 0 8px #aaa69b19,0 0 0 16px #fff5,0 0 0 17px #aaa69b14}
.sanctuary-watermark{position:absolute;left:8%;right:8%;bottom:145px;height:36%;opacity:.24;display:grid;place-items:center;filter:grayscale(1);mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.sanctuary-watermark img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
html[data-ui-skin=sanctuary] body:not([data-page=chat]) .sanctuary-watermark,html[data-ui-skin=sanctuary] body:not([data-page=chat]) .sanctuary-altar{display:none}
html[data-ui-skin=sanctuary] body[data-page=chat] .sanctuary-vault{height:180px;opacity:.7}
html[data-ui-skin=sanctuary][data-has-chat-background] body[data-page=chat] .sanctuary-scene{display:none}
html[data-ui-skin=sanctuary] .candy-brand,html[data-ui-skin=sanctuary] .candy-icon,html[data-ui-skin=sanctuary] .candy-heart{display:none!important}
html[data-ui-skin=sanctuary] :is(.login-card,.lock-screen){color:var(--san-ink)!important;background:var(--san-paper)!important}
html[data-ui-skin=sanctuary] .login-card{border:1px solid var(--san-line);box-shadow:0 0 0 7px #fff6,0 0 0 8px var(--san-line);border-radius:120px 120px 25px 25px;padding-top:68px}
html[data-ui-skin=sanctuary] .login-card h1{font-family:Sanctuary Gothic,Georgia,serif;font-size:42px;letter-spacing:0}
html[data-ui-skin=sanctuary] :is(.login-mark,.login-card button){background:var(--san-ink)!important;color:var(--san-paper)!important;border:0}
/* Full-height home, with an explicit short-screen layout below. */
html[data-ui-skin=sanctuary][data-app-layout=compact] body:not([data-home-view=calendar]):not([data-home-view=moments]) #homePage{padding:calc(10px + var(--san-safe-top)) 16px calc(84px + var(--san-safe-bottom))!important;overflow:hidden!important;background:transparent!important}
html[data-ui-skin=sanctuary] #homeOverview{height:100%;min-height:0;max-width:540px;margin:auto;display:grid!important;grid-template-rows:minmax(115px,1.25fr) minmax(94px,.78fr) minmax(158px,1.12fr) minmax(114px,.9fr)!important;gap:10px;position:relative}
html[data-ui-skin=sanctuary] #homeOverview>.mo-eyebrow,html[data-ui-skin=sanctuary] #homeOverview>.mo-home-note{display:none!important}
html[data-ui-skin=sanctuary] #homeOverview>.mo-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-height:0;padding:0 0 8px!important;margin:0!important;border:0;background:none;overflow:visible}
html[data-ui-skin=sanctuary] .mo-hero .sanctuary-crest{position:absolute;top:-5px;bottom:54px;left:10%;right:10%;min-height:55px;text-align:center;filter:grayscale(1)}
.sanctuary-crest img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
html[data-ui-skin=sanctuary] #homePage .mo-hero h1{font:700 clamp(34px,8vw,47px)/1.05 'Sanctuary Gothic',Georgia,serif!important;letter-spacing:0!important;text-shadow:none;color:var(--san-ink);margin:0!important;position:relative;z-index:1}
html[data-ui-skin=sanctuary] #homePage .mo-hero p{font:11px/1.8 'Songti SC','SimSun',serif!important;color:var(--san-muted)!important;letter-spacing:3px;margin:4px 0 0!important}
html[data-ui-skin=sanctuary] .sanctuary-settings{position:absolute;right:0;top:3px;z-index:3;border:1px solid var(--san-line);border-radius:50%;background:var(--san-pane);color:var(--san-ink);width:36px;height:36px;padding:8px;display:grid;place-items:center}
.sanctuary-settings svg{width:19px;height:19px}
html[data-ui-skin=sanctuary] .sanctuary-couple-card,html[data-ui-skin=sanctuary] .sanctuary-date-card{position:relative;border:1px solid var(--san-line);border-radius:15px;background:linear-gradient(130deg,#ffffff70,transparent),var(--san-pane);box-shadow:inset 0 0 0 4px #fff5,0 2px 4px #302b2205;min-height:0}
.sanctuary-couple-card::before{content:'';position:absolute;inset:5px;border:1px solid #aaa69b23;border-radius:11px;pointer-events:none}
html[data-ui-skin=sanctuary] .sanctuary-couple-card{display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;padding:8px 26px 20px}
.sanctuary-person{display:grid;justify-items:center;gap:3px;font:12px Georgia,serif}
.sanctuary-person-avatar{position:relative;isolation:isolate;display:grid;place-items:center;width:clamp(53px,16vw,72px);height:clamp(53px,16vw,72px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 45% 30%,#383734,#171716 78%);color:#f6f5f1;border:1px solid #ece9de;box-shadow:0 0 0 1px #302f2b,0 0 0 3px var(--san-pane),0 0 0 4px #9d998e;font:clamp(34px,10vw,45px)/1 Georgia,serif;text-shadow:0 1px 1px #000}
.sanctuary-person-avatar::before{content:'';position:absolute;z-index:-1;top:5px;left:calc(50% - 3px);width:6px;height:9px;background:linear-gradient(#ede8d9,#c6c0ae);mask:url('./assets/sanctuary-cross.svg') center/contain no-repeat;-webkit-mask:url('./assets/sanctuary-cross.svg') center/contain no-repeat;pointer-events:none}
.sanctuary-person-avatar::after{content:'';position:absolute;z-index:-1;inset:14% 8% 8%;pointer-events:none;background:url('./assets/sanctuary-avatar-feathers-v2.webp') center/contain no-repeat;opacity:1}
.sanctuary-heart{text-align:center;color:#aaa79e;font-size:16px}
.sanctuary-heart::after{content:'';display:block;width:9px;height:14px;margin:7px auto 0;background:url('./assets/sanctuary-cross.svg') center/contain no-repeat;opacity:.7}
.sanctuary-couple-corner{position:absolute;z-index:0;bottom:3px;width:25%;height:85%;max-width:112px;pointer-events:none;background:url('./assets/sanctuary-corner-feathers-v2.webp') right bottom/100% 100% no-repeat;opacity:.55;mix-blend-mode:multiply}
.sanctuary-couple-corner.left{left:2px;transform:scaleX(-1)}
.sanctuary-couple-corner.right{right:2px}
.sanctuary-person,.sanctuary-heart,.sanctuary-together{position:relative;z-index:1}
.sanctuary-together{position:absolute}
.sanctuary-together{position:absolute;bottom:5px;left:0;right:0;text-align:center;color:var(--san-muted);font:9px Georgia,serif;letter-spacing:1px}
.sanctuary-together::before,.sanctuary-together::after{content:'✧';margin:0 10px;color:var(--san-muted)}
html[data-ui-skin=sanctuary] .sanctuary-date-card{display:flex;flex-direction:column;padding:11px 13px 8px}
.sanctuary-date-card::before{content:'';position:absolute;z-index:0;right:0;top:0;width:30%;height:100%;pointer-events:none;background:url('./assets/sanctuary-corner-feathers-v2.webp') right bottom/100% 100% no-repeat;transform:scaleY(-1);opacity:.45;mix-blend-mode:multiply}
.sanctuary-date-card>*{position:relative;z-index:1}
.sanctuary-date-head{display:flex;align-items:center;gap:16px;border:0;background:none;color:var(--san-ink);padding:0;text-align:left;width:100%;flex:1;min-height:42px;cursor:pointer}
.sanctuary-date-number{font:clamp(40px,12vw,64px)/1 Georgia,'Songti SC',serif;letter-spacing:-2px;min-width:65px}
.sanctuary-date-heading{display:grid;gap:5px;padding-left:14px;border-left:1px solid var(--san-line)}
.sanctuary-date-heading strong{font:12px/1.3 Georgia,serif;letter-spacing:.6px}
.sanctuary-date-heading small{font:13px/1.3 'Songti SC',serif;letter-spacing:3px}
.sanctuary-date-head::after{content:'';width:21px;height:30px;flex:none;background:url('./assets/sanctuary-cross.svg') center/contain no-repeat;margin-left:auto;margin-right:6px}
html[data-ui-skin=sanctuary] .sanctuary-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:6px 0}
.sanctuary-week-day{border:0;background:none;color:var(--san-ink);padding:0;display:grid;justify-items:center;gap:4px;min-height:42px;font:13px/1.2 Georgia,serif;cursor:pointer}
.sanctuary-week-day small{font:9px/1.2 inherit;color:var(--san-muted)}
.sanctuary-week-day>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%}
.sanctuary-week-day[aria-current=date]>span{background:var(--san-ink);color:var(--san-paper)}
.sanctuary-date-foot{border-top:1px solid var(--san-line);padding-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;font:10px/1.4 'Songti SC',serif;letter-spacing:1px;color:var(--san-muted)}
.sanctuary-date-foot button{border:1px solid var(--san-line);color:var(--san-ink);background:transparent;border-radius:50%;width:25px;height:25px;padding:0;font-size:21px;line-height:21px}
html[data-ui-skin=sanctuary][data-app-layout=compact] body #homePage #homeOverview .mo-home-cards{gap:8px!important;margin:0!important;min-height:0!important;align-content:stretch}
html[data-ui-skin=sanctuary][data-app-layout=compact] body #homePage #homeOverview .mo-feature{position:relative;justify-content:center;padding:8px 11px!important;border:1px solid var(--san-line)!important;border-radius:13px!important;background:var(--san-pane)!important;box-shadow:inset 0 0 0 3px #fff5!important;overflow:hidden;color:var(--san-ink)!important;text-align:left}
html[data-ui-skin=sanctuary] .mo-feature>*:not(.sanctuary-feature-copy){display:none!important}
html[data-ui-skin=sanctuary] .mo-feature::before{content:''!important;position:absolute;inset:4px!important;width:auto!important;height:auto!important;border:1px solid #aaa69b20;border-radius:30px 10px 10px 10px;background:none!important;pointer-events:none}
html[data-ui-skin=sanctuary] .mo-feature::after{content:''!important;position:absolute;z-index:0;right:0;bottom:0;top:0;width:100%;height:100%;background:url('./assets/sanctuary-cross.svg') right 9px top 5px/7px 11px no-repeat,url('./assets/sanctuary-corner-feathers-v2.webp') right bottom/100% 100% no-repeat!important;opacity:.72;pointer-events:none;mix-blend-mode:multiply}
html[data-ui-skin=sanctuary] .sanctuary-feature-copy{display:grid!important;grid-template-columns:24px 1fr;gap:4px 9px;align-items:center;position:relative;z-index:1}
.sanctuary-feature-copy>svg{width:21px;height:21px;grid-row:1}
.sanctuary-feature-copy strong{font-size:14px;font-weight:500}
.sanctuary-feature-copy small{grid-column:1/-1;color:var(--san-muted);font:9px/1.4 'Songti SC',serif;letter-spacing:.7px;white-space:nowrap}
/* Floating dock and composer share the same matte ivory material. */
html[data-ui-skin=sanctuary][data-app-layout=compact] body:not([data-native-shell='1']) #tabBar{width:min(704px,calc(100% - 24px))!important;bottom:calc(7px + var(--san-safe-bottom))!important;height:64px!important;min-height:64px!important;border:1px solid var(--san-line)!important;border-radius:25px!important;background:var(--san-pane)!important;box-shadow:0 3px 14px #25231d08!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-ui-skin=sanctuary] #tabBar .tab{background:none!important;border:0!important;border-radius:16px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--san-muted)!important;font-size:10px!important;box-shadow:none!important;padding:4px!important}
html[data-ui-skin=sanctuary] #tabBar .tab.active{color:var(--san-ink)!important;font-weight:600}
html[data-ui-skin=sanctuary] #tabBar .tab>svg:not(.sanctuary-tab-icon){display:none!important}
html[data-ui-skin=sanctuary] #tabBar .tab .sanctuary-tab-icon{display:block!important;width:23px;height:23px;stroke-width:1.5}
html[data-ui-skin=sanctuary] #tabBar .tab::before,html[data-ui-skin=sanctuary] #tabBar .tab::after{content:none!important}
html[data-ui-skin=sanctuary] #tabBar .tab.active .sanctuary-tab-icon{stroke-width:2}
/* Chat remains a real scrolling page over a static, non-interactive backdrop. */
html[data-ui-skin=sanctuary][data-app-layout=compact] body[data-page=chat]:not([data-native-shell='1']) .floating-header{box-sizing:border-box;width:100%!important;max-width:760px!important;top:0!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;height:calc(var(--san-safe-top) + 56px)!important;gap:8px;align-items:center;border-bottom:1px solid var(--san-line);padding:var(--san-safe-top) 16px 0!important;margin:0!important;background:var(--san-paper)!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:auto}
html[data-ui-skin=sanctuary] .floating-header .app-top-action{min-width:33px!important;width:33px!important;height:38px!important;min-height:38px!important;border:0!important;background:transparent!important;padding:0!important;font-size:0!important}
html[data-ui-skin=sanctuary] #appShell .floating-header .app-top-action::before,html[data-ui-skin=sanctuary] #appShell .floating-header .app-top-action::after{content:none!important;display:none!important}
html[data-ui-skin=sanctuary] #appShell .floating-header .app-top-action{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:5px!important;color:var(--san-ink)!important}html[data-ui-skin=sanctuary] .sanctuary-header-action-icon{display:block!important;width:22px;height:22px;stroke-width:1.6}
html[data-ui-skin=sanctuary] .floating-header .name-pill{position:static!important;inset:auto!important;transform:none!important;margin:0!important;display:flex!important;align-items:center;gap:8px;flex:1!important;max-width:none!important;min-width:0;padding:0!important;border:0!important;background:none!important;border-radius:0!important;color:var(--san-ink)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-ui-skin=sanctuary] .name-pill strong{font:20px/1.2 Georgia,'Songti SC',serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-ui-skin=sanctuary] .status-dot{display:none!important}
html[data-ui-skin=sanctuary] .sanctuary-header-avatar{display:grid;place-items:center;width:35px;height:35px;flex:none;border:1px solid #9d9a90;border-radius:50%;background:#292927 var(--kael-avatar) center/cover;color:#faf9f5;font:23px Georgia,serif}
html[data-ui-skin=sanctuary] .header-actions{display:flex!important;align-items:center;gap:5px}
html[data-ui-skin=sanctuary] .sanctuary-header-emblem{width:43px;height:37px;pointer-events:none;filter:grayscale(1)}
.sanctuary-header-emblem img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
html[data-ui-skin=sanctuary] #settingsButton{border:0!important;box-shadow:none!important;background:transparent!important;color:var(--san-ink)!important}
html[data-ui-skin=sanctuary] :is(#immersiveNav,#immersiveContact,#immersiveBlur){display:none!important}
html[data-ui-skin=sanctuary][data-app-layout=compact] body[data-page=chat]:not([data-native-shell='1']) #chat{top:calc(var(--san-safe-top) + 56px)!important;height:auto!important;bottom:0!important;padding-top:8px!important;background:transparent!important;scroll-padding-top:8px!important}
html[data-ui-skin=sanctuary] #messages{position:relative;padding:0 17px!important;gap:12px;background:none!important;min-height:100%;z-index:1}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message{display:flex!important;flex-direction:column!important;align-items:flex-start!important;align-self:flex-start!important;width:max-content!important;min-width:0!important;max-width:min(84%,650px)!important;margin:0!important;gap:5px;position:relative}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message.human{align-items:flex-end!important;align-self:flex-end!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message::before{position:static!important;display:grid!important;place-items:center;align-self:flex-start!important;width:37px!important;height:37px!important;flex:none;order:0;border-radius:50%!important;background:#292927 var(--kael-avatar) center/cover!important;border:1px solid #aaa69b;color:#faf9f5!important;font:23px Georgia,serif;box-shadow:0 0 0 2px var(--san-paper)!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message.human::before{align-self:flex-end!important;background:#292927 var(--user-avatar) center/cover!important;color:#faf9f5!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message.ai::before{content:'K'!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message.human::before{content:'T'!important}
html[data-ui-skin=sanctuary][data-sanctuary-kael-photo] .sanctuary-header-avatar,html[data-ui-skin=sanctuary][data-sanctuary-kael-photo] body[data-page=chat] #messages.messages .message.ai::before,html[data-ui-skin=sanctuary][data-sanctuary-user-photo] body[data-page=chat] #messages.messages .message.human::before{color:transparent!important;font-size:0!important;text-shadow:none!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message:not(.message-group-start)::before{display:none!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message .bubble{order:2;flex:none!important;width:max-content!important;inline-size:max-content!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:9px 13px!important;border:1px solid var(--san-line)!important;border-radius:13px!important;background:var(--san-pane)!important;box-shadow:0 1px 2px #302b2203!important;color:var(--san-ink)!important;font-size:var(--message-font-size,15px)!important;line-height:1.65!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message.human .bubble{background:var(--san-user)!important;border-color:transparent!important}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message .bubble::before,html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message .bubble::after{display:none!important;content:none!important}
html[data-ui-skin=sanctuary] .message .message-leading{order:1;width:auto!important;min-width:0;max-width:100%;align-self:inherit;margin:1px 0 3px!important}
html[data-ui-skin=sanctuary] .message .meta{order:3;text-align:inherit!important;display:flex;gap:6px;flex-wrap:wrap;color:var(--san-muted)!important;font-size:10px!important;line-height:1.4;padding:2px 0!important}
html[data-ui-skin=sanctuary] .message .meta[hidden]{display:none!important}
html[data-ui-skin=sanctuary] .message .message-actions{order:4}
html[data-ui-skin=sanctuary] .message :is(.moment-activities,.calendar-activities){order:5;max-width:100%}
html[data-ui-skin=sanctuary] .chat-date-separator{font:11px/1.5 'Songti SC',serif;letter-spacing:1px;text-align:center;color:var(--san-muted)!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;margin:8px 0 16px}
html[data-ui-skin=sanctuary] body[data-page=chat] #messages.messages .message .bubble:is(.photo-bubble,.voice-bubble,.letter-bubble,.music-bubble,.question-bubble){padding:10px!important;overflow:hidden}
html[data-ui-skin=sanctuary][data-app-layout=compact] body[data-page=chat]:not([data-native-shell='1']) #composerZone{bottom:calc(83px + var(--san-safe-bottom))!important;left:50%!important;width:min(704px,calc(100% - 24px))!important;right:auto!important;transform:translateX(-50%);padding:0!important;background:none!important;z-index:6}
html[data-ui-skin=sanctuary] #composer{border:1px solid var(--san-line)!important;border-radius:28px!important;background:var(--san-pane)!important;box-shadow:0 2px 8px #25231d09!important;padding:5px 7px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--san-ink)!important}
html[data-ui-skin=sanctuary] .composer-tools{display:flex!important;align-items:flex-end;gap:4px!important;min-height:37px;flex-wrap:nowrap!important}
html[data-ui-skin=sanctuary] #messageInput{flex:1!important;min-width:0!important;min-height:36px!important;max-height:110px!important;padding:8px 3px!important;margin:0!important;color:var(--san-ink)!important;background:transparent!important;border:0!important;font:15px/1.45 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif!important;box-shadow:none!important;resize:none;overflow-y:auto}
html[data-ui-skin=sanctuary] #messageInput::placeholder{color:var(--san-muted)}
html[data-ui-skin=sanctuary] #composer .tool-button{display:grid;place-items:center;flex:none;width:32px!important;min-width:32px!important;height:36px!important;margin:0!important;padding:5px!important;border:0!important;background:none!important;color:var(--san-ink)!important;box-shadow:none!important;border-radius:50%!important}
html[data-ui-skin=sanctuary] #addButton{font-size:25px!important}
html[data-ui-skin=sanctuary] #promptButton{font-size:17px!important}
html[data-ui-skin=sanctuary] #composer .send-button{display:grid!important;place-items:center;flex:none;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--san-ink)!important;color:var(--san-paper)!important;font-size:24px!important;box-shadow:none!important}
html[data-ui-skin=sanctuary] .candy-original-send{display:block!important}
html[data-ui-skin=sanctuary] #modelName{display:none!important}
html[data-ui-skin=sanctuary] #appShell.keyboard-open .sanctuary-watermark{opacity:.1}
html[data-ui-skin=sanctuary] :is(.page-view,dialog,.thought-sheet,.settings-group,.settings-editor-content>label,.memory-overview,.ombre-memory-card,.album-card,.moment-card){color:var(--san-ink)!important;border-color:var(--san-line)!important;background-color:var(--san-pane)!important;box-shadow:none;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-ui-skin=sanctuary] :is(.page-view,dialog) h2{font-family:Georgia,'Songti SC',serif!important;color:var(--san-ink)}
html[data-ui-skin=sanctuary] :is(input,textarea,select){accent-color:var(--san-ink);color:var(--san-ink);border-color:var(--san-line);background-color:var(--san-paper)}
html[data-ui-skin=sanctuary] :is(.primary-button,.mo-primary-button){background:var(--san-ink)!important;color:var(--san-paper)!important;border-color:var(--san-ink)!important}
html[data-ui-skin=sanctuary] :is(.secondary-button,.mo-text-button,.back-button,.round-control){color:var(--san-ink)!important;border-color:var(--san-line)!important;background-color:var(--san-pane)!important;box-shadow:none!important}
html[data-ui-skin=sanctuary] :is(.calendar-view,.moments-head,.mo-calendar-panel,.mo-sheet,.memory-tools-dialog){background:var(--san-pane)!important;color:var(--san-ink)!important}
/* Let the selected wallpaper show through the calendar's outer wrapper only. */
html[data-ui-skin=sanctuary][data-has-chat-background=true] #homePage #homeSchedule.calendar-view{background:transparent!important}
html[data-ui-skin=sanctuary] :is(button,input,textarea,select,a):focus-visible{outline:2px solid var(--san-ink)!important;outline-offset:3px}
html[data-ui-skin=sanctuary][data-theme=dark] :is(.sanctuary-crest,.sanctuary-watermark,.sanctuary-header-emblem){filter:grayscale(1) invert(.8);opacity:.6}
html[data-ui-skin=sanctuary][data-theme=dark] :is(.sanctuary-vault,.sanctuary-wall,.sanctuary-altar){opacity:.15}
html[data-ui-skin=sanctuary][data-theme=dark] .sanctuary-scene::before{opacity:.05}
@media(max-height:740px){html[data-ui-skin=sanctuary] #homeOverview{grid-template-rows:minmax(82px,1fr) 86px 151px 112px!important;gap:7px}html[data-ui-skin=sanctuary] .mo-hero .sanctuary-crest{bottom:47px;top:-7px}html[data-ui-skin=sanctuary] #homePage .mo-hero h1{font-size:33px!important}html[data-ui-skin=sanctuary] #homePage .mo-hero p{font-size:9px!important;letter-spacing:2px}.sanctuary-person-avatar{width:45px;height:45px;font-size:30px}html[data-ui-skin=sanctuary] .sanctuary-couple-card{padding:4px 22px 17px}.sanctuary-date-number{font-size:43px}.sanctuary-date-heading strong{font-size:10px}}
@media(max-height:610px),(max-width:340px){html[data-ui-skin=sanctuary][data-app-layout=compact] body:not([data-home-view=calendar]):not([data-home-view=moments]) #homePage{overflow-y:auto!important}html[data-ui-skin=sanctuary] #homeOverview{height:auto;min-height:500px;grid-template-rows:116px 88px 158px 120px!important}html[data-ui-skin=sanctuary] .sanctuary-header-emblem{display:none}.sanctuary-feature-copy small{font-size:8px}}
@media(prefers-reduced-motion:reduce){html[data-ui-skin=sanctuary] *,html[data-ui-skin=sanctuary] *::before,html[data-ui-skin=sanctuary] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html[data-ui-skin=sanctuary]:not([data-has-chat-background]) .bg-layer{background:var(--san-paper)!important}
html[data-ui-skin=sanctuary] #appShell #messages.messages .message .bubble::before,html[data-ui-skin=sanctuary] #appShell #messages.messages .message .bubble::after{display:none!important;content:none!important;background:none!important}
html[data-ui-skin=sanctuary] #appShell .chat-date-separator{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
html[data-ui-skin=sanctuary] .sanctuary-wall{opacity:.55}
html[data-ui-skin=sanctuary] #appShell{background:var(--san-paper)!important}
html[data-ui-skin=sanctuary][data-has-chat-background] #appShell{background:transparent!important}
html[data-ui-skin=sanctuary] #homePage::before,html[data-ui-skin=sanctuary] #chat::before,html[data-ui-skin=sanctuary] #chat::after{content:none!important;display:none!important}
html[data-ui-skin=sanctuary] #appShell :is(#homePage,#chat,#messages)::before,html[data-ui-skin=sanctuary] #appShell :is(#homePage,#chat,#messages)::after{content:none!important;display:none!important}
html[data-ui-skin=sanctuary] #appShell #messages .chat-date-separator{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;min-height:20px!important;padding:0!important}
html[data-ui-skin=sanctuary] body[data-page] #appShell{background:var(--san-paper)!important}
html[data-ui-skin=sanctuary]:not([data-has-chat-background]) body #bgLayer{background:var(--san-paper)!important}
html[data-ui-skin=sanctuary][data-has-chat-background] body[data-page] #appShell{background:transparent!important}
html[data-ui-skin=sanctuary] .sanctuary-compose-more{display:grid;place-items:center;width:34px;height:36px;flex:none;padding:5px;border:0;border-radius:50%;background:transparent;color:var(--san-ink)}
.sanctuary-compose-more svg{width:24px;height:24px}
html[data-ui-skin=sanctuary] .sanctuary-compose-tray:not([hidden]){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;position:absolute;left:0;right:0;bottom:calc(100% + 10px);padding:12px;border:1px solid var(--san-line);border-radius:20px;background:var(--san-pane);color:var(--san-ink);box-shadow:0 8px 24px #22221f10}
html[data-ui-skin=sanctuary] .sanctuary-compose-tray .tool-button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;width:100%;height:64px;border:1px solid var(--san-line);border-radius:12px;padding:8px;background:var(--san-paper);color:var(--san-ink);font-size:20px}
.sanctuary-compose-tray svg{width:23px;height:23px}
html[data-ui-skin=sanctuary] .sanctuary-tool-label{display:block;font-size:11px;font-weight:400;line-height:1.4}

/* Keep the old-conversation action explicit, including on an empty new chat. */
html[data-ui-skin=sanctuary] #appShell .floating-header .drawer-recent-button{display:flex!important;align-items:center;justify-content:center;gap:4px;width:64px!important;min-width:64px!important;padding:4px!important}
html[data-ui-skin=sanctuary] .drawer-recent-button .sanctuary-header-action-icon{width:19px;height:19px;flex:none}
html[data-ui-skin=sanctuary] .sanctuary-session-label{display:block;font:12px/1.2 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}
html[data-ui-skin=sanctuary] .sanctuary-empty:not([hidden]){position:absolute;z-index:2;top:30px;left:20px;right:20px;display:grid;justify-items:center;gap:12px;text-align:center;color:var(--san-muted)}
.sanctuary-empty h2{font:22px Georgia,'Songti SC',serif;margin:0;color:var(--san-ink)}
.sanctuary-empty p{font-size:13px;line-height:1.6;margin:0}
.sanctuary-empty button{border:1px solid var(--san-line);border-radius:18px;background:var(--san-pane);color:var(--san-ink);font:14px/1.4 inherit;padding:10px 18px;min-height:42px;cursor:pointer}
html[data-ui-skin=sanctuary] .conversation-library section>button:first-child{min-height:44px;width:100%;margin:0 0 6px}
html[data-ui-skin=sanctuary] .conversation-library [aria-current=true]{border-color:var(--san-ink)}
@media(max-width:375px){html[data-ui-skin=sanctuary] .sanctuary-header-emblem{display:none}html[data-ui-skin=sanctuary] .name-pill strong{font-size:17px}}
