@font-face{font-family:Manrope;src:url('/static/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
.sanctuary-page,.celestial-sheet,.sanctuary-view .topbar,.sanctuary-view .bottom-nav{font-family:Manrope,"Segoe UI",sans-serif}
.sanctuary-page{position:relative;isolation:isolate;min-height:calc(100dvh - 80px)}
.sanctuary-page:before{content:"";position:absolute;inset:140px 0 0;z-index:-2;background:linear-gradient(#080e12bb,#080e1299),url('/static/art/sanctuary-stone.webp') center/520px;pointer-events:none;mask-image:linear-gradient(transparent,#000 80px)}
.sanctuary-hero{position:relative;isolation:isolate;min-height:180px;display:flex;align-items:flex-end;margin:0}
.sanctuary-scenery{position:absolute;inset:-80px -22px -20px;overflow:hidden;pointer-events:none;z-index:-1;mask-image:linear-gradient(#000 0,#000 65%,transparent 100%)}
.sanctuary-scenery>img{width:100%;height:100%;object-fit:fill;filter:brightness(.76);transform:scale(1.035);animation:sanctuary-depth 65s ease-in-out infinite alternate;animation-delay:-20s}
.sanctuary-cloud{position:absolute;inset:0 -15% -20%;background:url('/static/art/olympus-clouds.webp') center bottom/100% auto no-repeat;opacity:.18;mask-image:linear-gradient(transparent,#000 55%,transparent);animation:sanctuary-mist 49s ease-in-out infinite alternate;animation-delay:-18s}
.sanctuary-light{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 25%,#eccb8c25,transparent 45%);animation:sanctuary-light 37s ease-in-out infinite alternate;animation-delay:-10s}
.sanctuary-page .profile-identity{padding:32px 10px 24px;gap:23px;width:100%;min-width:0}
.sanctuary-page .profile-info{flex:1}.sanctuary-page .profile-info h1{font-size:clamp(24px,6.5vw,32px);font-weight:750;letter-spacing:-.9px;line-height:1.15;margin:0;text-shadow:0 2px 9px #0009;overflow-wrap:anywhere}
.sanctuary-page .avatar,.celestial-sheet .avatar{width:94px;height:94px;border:3px double #c0c8cd;box-shadow:0 0 0 2px #09141b,0 0 0 3px #577c97,0 12px 23px #0008;background:linear-gradient(120deg,#182128c9,#070d13cc),url('/static/art/sanctuary-stone.webp') center/220px;font-size:57px;position:relative}
.sanctuary-page .avatar:after{content:"";position:absolute;inset:-2px;border:2px solid transparent;border-top-color:#e4b46e9c;border-radius:50%;mask-image:linear-gradient(120deg,#000,transparent 36%);pointer-events:none;animation:avatar-glint 18s ease-in-out infinite;animation-delay:-4s}
.greek-relief{height:15px;margin:10px -22px 23px;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='14' viewBox='0 0 36 14'%3E%3Cpath d='M0 12h32V2H4v7h21V5H11' fill='none' stroke='%2365757f' stroke-width='2'/%3E%3C/svg%3E");border-block:1px solid #71808b44;box-shadow:0 2px 6px #0009}
.collection-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:20px}.collection-heading h2{font-size:21px;font-weight:750;letter-spacing:-.5px}.collection-heading>span{font-size:11px;color:#9aa9c0}
.profile-page .trophy-grid{display:block;margin:0}.collection-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative;padding:0 4px 14px;margin-bottom:19px;animation:collection-arrive .65s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--row)*70ms)}
.collection-row:after{content:"";position:absolute;bottom:8px;left:0;right:0;height:12px;z-index:-1;background:linear-gradient(180deg,#91a6b566,#21303e44 2px,#070c12b3 4px),url('/static/art/sanctuary-stone.webp') center/350px;border:1px solid #49556355;box-shadow:0 9px 12px #0007;transform:perspective(300px) rotateX(12deg)}
.profile-page .trophy{min-width:0;padding:0 0 4px;align-self:start;transition:transform .3s ease}.profile-page .trophy:hover{transform:translateY(-3px)}.profile-page .trophy:active{transform:scale(.95)}
.medal{display:block;aspect-ratio:1;margin:0 auto 9px;max-width:98px;overflow:hidden;border-radius:50%;border:1px solid #8d9ca7;box-shadow:0 3px 9px #000c,inset 0 0 0 2px #091017;background:#0a1016}
.profile-page .medal img{display:block;mask-image:none;width:100%;height:100%;object-fit:cover}.profile-page .trophy>span:last-child{font-size:10px;line-height:1.3;min-height:27px;font-weight:600;text-shadow:0 2px 4px #000}
.collection-empty{padding:45px 10px}.empty-shelf{height:22px;width:85%;margin:25px auto 40px;background:linear-gradient(#a0b4c33b,#26354377 5px,#111921),url('/static/art/sanctuary-stone.webp') center/300px;border:1px solid #63717c66;box-shadow:0 17px 25px #0009;transform:perspective(180px) rotateX(13deg)}
.settings-page .settings-hero{min-height:157px}.settings-page .profile-identity{padding:30px 16px 20px;gap:18px}.settings-page .avatar{width:73px;height:73px;font-size:46px}.settings-page .profile-info h1{font-size:25px}
.settings-page .sanctuary-scenery{bottom:-25px}.settings-page .sanctuary-scenery>img{filter:brightness(.65)}
.stone-tablet{position:relative;margin:0 -8px;padding:17px 12px 22px;background:linear-gradient(105deg,#070d1570,#10171c30),url('/static/art/sanctuary-stone.webp') center top/600px;border:1px solid #8a96964d;border-top:3px solid #7b878b88;border-radius:19px 12px 7px 8px;box-shadow:inset 2px 0 2px #aab6b62b,inset -2px 0 8px #000b,0 12px 25px #0007}
.stone-actions{display:grid;gap:11px}.stone-action{display:flex;align-items:center;gap:13px;min-height:68px;width:100%;text-align:left;padding:15px 13px;background:linear-gradient(#04090ecf,#090f15bc),url('/static/art/sanctuary-stone.webp') center/400px;border-radius:8px;border-top:1px solid #000;border-bottom:1px solid #acb8bc55;border-inline:1px solid #1e2932;box-shadow:inset 0 5px 8px #0009,inset 1px 0 3px #000b,0 1px #c3cbd91f;font-size:15px;font-weight:750;letter-spacing:-.35px;color:#eeece8;text-shadow:0 1px 1px #000}
.stone-action>svg:first-child{width:26px;height:26px;color:#c9cdce;filter:drop-shadow(0 1px 1px #000)}.stone-action>span:not(.switch){flex:1;min-width:0}.stone-action>svg:last-child:not(:first-child){width:16px;color:#b4c0c8}.stone-action small{display:block;font-size:10px;line-height:1.5;font-weight:400;letter-spacing:0;color:#a9b0bd;margin-top:4px}
.stone-action:hover{background-color:#263640}.stone-action:active{box-shadow:inset 0 5px 12px #000c;transform:translateY(1px)}
.settings-page .switch{width:40px;height:24px;box-shadow:inset 0 3px 6px #000b;border:1px solid #73838a66;background:#101923}.settings-page .switch.on{background:linear-gradient(#0276bd,#07456b)}.settings-page .switch:after{width:16px;height:16px;background:linear-gradient(135deg,#eff0e9,#8f9598);box-shadow:0 2px 4px #0009}.settings-page .switch.on:after{transform:translateX(16px)}
.settings-page .demo-panel{margin:24px 0 0}.settings-page .demo-panel h2{font-size:12px;color:#a3acc0;margin-bottom:5px;font-weight:600}.settings-page .demo-panel p{font-size:10px;line-height:1.45;margin:0 0 12px;color:#8e9aa9}.settings-page .demo-panel .stone-action{min-height:54px;font-size:12px;margin-top:8px}.settings-page .demo-panel .stone-action svg{width:22px}
.celestial-sheet{position:relative;isolation:isolate;background:linear-gradient(#07111b77,#080f17 235px),url('/static/art/sanctuary-settings.webp') center top/100% auto no-repeat,#080f17;border:1px solid #9babb6aa;border-top:2px solid #d1d9dd99;border-radius:22px 22px 0 0;padding:12px 24px calc(24px + env(safe-area-inset-bottom))}
.celestial-sheet .sheet-heading h2{font-size:19px;line-height:1.3;letter-spacing:-.45px;font-weight:750}.celestial-sheet .icon-btn{background:#07111b99}.celestial-sheet .edit-avatar{width:83px;height:83px;font-size:50px;margin:15px auto 15px}.celestial-sheet .form-field{margin-top:22px}.celestial-sheet .form-field input{background:#050b11dd;border-color:#8e9ba688}.celestial-sheet .primary-btn{background:linear-gradient(#162631cc,#070f17dd),url('/static/art/sanctuary-stone.webp') center/350px;border-color:#8ab4cc88;box-shadow:inset 0 1px #d6e9f044,0 3px 12px #0006;font-size:15px}.celestial-sheet .secondary-btn{background:#080f16b3;border-color:#8696a366}
.celestial-sheet .upload-btn{font-size:12px;color:#b9d6e9;position:relative;width:max-content;margin:auto;padding:8px 16px;border:1px solid #70899b88;border-radius:20px;background:#07121b99}.celestial-sheet .upload-btn:focus-within{outline:2px solid #8bc9ef;outline-offset:3px}.celestial-sheet .upload-btn input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0}.celestial-sheet .input-error{color:#e49d97}
.about-sheet{min-height:430px;text-align:center;background:linear-gradient(#07111b66,#07111ba1),url('/static/art/sanctuary-settings.webp') center/cover}.about-sheet .sheet-heading{text-align:left}.about-logo{display:block;width:160px;height:180px;object-fit:contain;margin:0 auto 4px}.about-sheet h3{font-size:27px;letter-spacing:-.6px;margin-bottom:17px}.about-sheet p{font-size:14px;max-width:260px;margin:0 auto 20px}.about-sheet small{color:#9eacc1;font-size:11px}
.service-state{position:relative;padding-top:135px;min-height:460px}.service-sky{position:absolute;inset:-80px -22px auto;height:260px;background:linear-gradient(transparent,#080e12),url('/static/art/sanctuary-profile.webp') center/cover;z-index:-1}.service-state h1{font-size:24px}.service-state .skeleton{height:100px;margin:14px 0}.service-error{background:#07121bdb;border:1px solid #52627277;border-radius:14px;padding:28px 15px}.error-symbol{display:block;color:#a6b6c9;margin:0 auto 15px}.service-error h2{font-size:20px}.service-error .secondary-btn{min-width:160px}
.home-content .empty-art{background:linear-gradient(125deg,#2c3945,#0b141d);border-color:#8a9ba9;color:#d2dbe1;box-shadow:inset 0 1px #d1dbe366,0 13px 25px #0005}
.sanctuary-view .toast{background:#0d1c28f2;border-color:#7194a9;color:#dbeaf2}
.sanctuary-page .home-motion-paused *{animation-play-state:paused!important}
[data-transition="settings-in"]::view-transition-new(screen){animation:settings-in .5s cubic-bezier(.22,1,.36,1) both}[data-transition="settings-in"]::view-transition-old(screen){animation:settings-away .35s ease both}
[data-transition="settings-out"]::view-transition-new(screen){animation:settings-return .5s cubic-bezier(.22,1,.36,1) both}[data-transition="settings-out"]::view-transition-old(screen){animation:settings-leave .35s ease both}
[data-transition="tabs"]::view-transition-new(screen){animation:tabs-in .55s cubic-bezier(.22,1,.36,1) both}[data-transition="tabs"]::view-transition-old(screen){animation:tabs-out .3s ease both}
@keyframes sanctuary-depth{from{transform:scale(1.035) translateX(-1%)}to{transform:scale(1.075) translateX(1%)}}
@keyframes sanctuary-mist{from{transform:translateX(-4%)}to{transform:translateX(5%)}}
@keyframes sanctuary-light{from{opacity:.3}to{opacity:.8}}
@keyframes avatar-glint{0%,70%,100%{opacity:.1;transform:rotate(-25deg)}82%{opacity:.85;transform:rotate(25deg)}}
@keyframes collection-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes settings-in{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:none}}@keyframes settings-away{to{opacity:0;transform:translateX(-12px)}}@keyframes settings-return{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:none}}@keyframes settings-leave{to{opacity:0;transform:translateX(22px)}}@keyframes tabs-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes tabs-out{to{opacity:0;transform:translateY(-5px)}}
@media(max-width:360px){.sanctuary-scenery,.service-sky{inset-inline:-15px}.greek-relief{margin-inline:-15px}.sanctuary-page .profile-identity{gap:17px;padding-inline:4px}.sanctuary-page .profile-info h1{font-size:23px}.sanctuary-page .avatar{width:82px;height:82px;font-size:50px}.collection-row{gap:10px}.profile-page .trophy>span:last-child{font-size:9px}.stone-action{font-size:13px;padding-inline:10px;gap:10px}.stone-action small{font-size:9px}.celestial-sheet{padding-inline:18px}.celestial-sheet .sheet-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.sanctuary-page *,.sanctuary-page:before{animation:none!important;transition:none!important}::view-transition-new(screen),::view-transition-old(screen){animation:none!important}}

/* White lettering cut into the settings tablet; scoped to this screen. */
.settings-page .stone-action{color:#f5f3ed;font-weight:800;letter-spacing:-.25px;line-height:1.45}
.settings-page .stone-action>span:not(.switch){text-shadow:0 -1px 1px #000,0 1px 0 #ffffff30,1px 1px 2px #000b}
.settings-page .stone-action small{font-weight:500;color:#b5bdc6;letter-spacing:0;text-shadow:0 1px 1px #0009}
.settings-page .stone-action>.carved-icon:first-child{color:#f1eee6;flex-shrink:0;filter:drop-shadow(0 -1px 0 #000e) drop-shadow(0 1px 0 #ffffff35)}
.settings-page .stone-action>svg:last-child:not(:first-child){color:#d4d8dc;filter:drop-shadow(0 -1px 0 #000b)}
.settings-page .demo-panel h2{color:#ecebe6;font-weight:800;text-shadow:0 -1px 1px #000,0 1px 0 #ffffff25}
