/* Celestial themes: light lavender porcelain and the original moon atmosphere. */
:root{color-scheme:dark}
:root[data-theme="stars"]{color-scheme:light;--home-paper:#34264f;--home-muted:#655678;--home-gold:#876322;--home-ember:#9b5a3d;--home-violet:#7853b7;--home-line:rgba(139,103,38,.25)}
.theme-switch{position:relative;display:inline-flex;align-items:center;gap:10px;padding:6px 15px 6px 7px;min-height:46px;border:1px solid #c8aedb66;border-radius:99px;background:linear-gradient(135deg,#433054aa,#15101e);color:#eee1ff;box-shadow:inset 0 1px 2px #fff5,inset 0 -3px 6px #0003,0 6px 16px #0004;font:700 10px system-ui;letter-spacing:.13em;cursor:pointer;flex-shrink:0}
.theme-switch__sky{position:relative;display:block;width:64px;height:31px;border-radius:99px;overflow:hidden;background:radial-gradient(circle at 15% 24%,#fff 0 1px,transparent 2px),radial-gradient(circle at 52% 20%,#f3d589 0 1px,transparent 2px),radial-gradient(circle at 37% 75%,#fff 0 1px,transparent 2px),linear-gradient(135deg,#665093,#21162f);box-shadow:inset 0 2px 6px #0005}
.theme-switch__orb{position:absolute;top:3px;left:35px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#4f376b;background:linear-gradient(145deg,#fff,#c4b3eb);box-shadow:inset 0 1px 3px white,0 2px 6px #0004;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.theme-switch:focus-visible,.studio-button:focus-visible{outline:3px solid #aa7dda;outline-offset:5px}
[data-theme="stars"] .theme-switch{color:#513572;background:linear-gradient(145deg,#ffffffc9,#d8c6f2aa);border-color:#fff}
[data-theme="stars"] .theme-switch__orb{transform:translateX(-32px);background:linear-gradient(145deg,#fff8df,#e8cffe);color:#8d63bb}
.studio-masthead__actions{display:flex;align-items:center;gap:24px}
/* Rounded liquid edges, inner light and the shadow of a drop resting on a surface. */
.studio-button{position:relative;border-radius:99px!important;border:1px solid #d6bdeb70!important;background:linear-gradient(180deg,#c8a7e52e,#8e6ba224 50%,#d4b9e83d)!important;box-shadow:inset 0 2px 2px #fff7,inset 2px 0 3px #fff3,inset 0 -4px 6px #d4bcf23b,0 8px 14px #0004,0 2px 3px #0003;backdrop-filter:blur(16px) saturate(1.25);isolation:isolate;overflow:hidden}
.studio-button::before{content:"";position:absolute;inset:4px 9px 48%;border-radius:99px;background:linear-gradient(#ffffff45,#ffffff00);pointer-events:none}
.studio-button::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#fff5 45%,transparent 65%);transform:translateX(-140%);transition:transform .7s;pointer-events:none}
.studio-button:hover::after{transform:translateX(140%)}
.studio-section{box-shadow:0 32px 48px -28px #000b,inset 0 1px #d8b67c21}
.studio-section::after{content:"";position:absolute;left:9%;right:9%;bottom:-16px;height:28px;border-radius:50%;background:#0008;filter:blur(18px);pointer-events:none;z-index:2}
[data-theme="stars"] body{color:#3b2b54;background-color:#eee7f8;background-image:radial-gradient(ellipse at 15% 5%,#fffaffb0,transparent 65%),url('/images/kintsugi-lavender-parallax.svg')}
[data-theme="stars"] .studio-home{background:transparent;color:var(--home-paper)}
[data-theme="stars"] .studio-home::before{background:radial-gradient(ellipse at 15% 15%,#fffaff66,transparent 60%),url('/images/kintsugi-lavender-parallax.svg') center var(--site-parallax-y)/cover no-repeat}
[data-theme="stars"] .studio-masthead{background:#f5eefaDC;border-color:#aa8acc3d;box-shadow:0 8px 24px #65527e1a}
[data-theme="stars"] .studio-masthead .font-serif,[data-theme="stars"] .studio-masthead .font-serif span{color:#66468a}
[data-theme="stars"] .studio-masthead__whisper{color:#79618e}
[data-theme="stars"] .hero-title em{background:linear-gradient(95deg,#75519d,#9d6ab5 58%,#9b752f);background-clip:text;-webkit-background-clip:text}
[data-theme="stars"] :is(.hero-lead,.studio-copy,.project-card p,.app-card p,.atelier-card p,.news-card>p,.gallery-manifesto p){color:#62516f}
[data-theme="stars"] :is(.hero-note,.status-cell small,.project-quote span,.gallery-manifesto small,.tech-line span,.app-status,.news-meta){color:#786184}
[data-theme="stars"] :is(.project-lead,.project-quote,.status-cell strong,.project-card h3,.app-card h3,.news-card h3){color:#453057}
[data-theme="stars"] .studio-link{color:#67428b}
[data-theme="stars"] .studio-button{color:#50316d;background:linear-gradient(180deg,#ffffffa8,#dfccf56b 48%,#c6b1e689)!important;border-color:#fff!important;box-shadow:inset 0 2px 3px #fffe,inset 2px 0 3px #fff9,inset 0 -4px 6px #b29ad56b,0 9px 16px #7861903b,0 2px 3px #78619040}
[data-theme="stars"] .studio-button:hover{box-shadow:inset 0 2px 3px #fff,0 12px 24px #78619050}
[data-theme="stars"] :is(.status-inner,.project-card,.app-card,.atelier-card,.news-card){background:linear-gradient(135deg,#fffc,#f1e8fbba);border-color:#fff9;box-shadow:inset 0 1px 1px #fff,0 16px 35px -16px #62488155;backdrop-filter:blur(18px)}
[data-theme="stars"] :is(.app-card,.atelier-card,.news-card){border-radius:24px}
[data-theme="stars"] .status-inner{border-radius:24px;overflow:hidden}
[data-theme="stars"] .status-cell{border-color:#9373ae25}
[data-theme="stars"] .project-cards{gap:12px;padding:0;background:transparent}
[data-theme="stars"] .project-card{border-radius:20px}
[data-theme="stars"] .project-number{color:#9f7a38}
[data-theme="stars"] :is(.themed-section,.apps-universe){background-color:transparent}
[data-theme="stars"] :is(.themed-section,.apps-universe)::before{background:linear-gradient(90deg,#f0e7f8ec,#eee3f6bc 55%,#e9dcf1ad),linear-gradient(0deg,#eae0f5,transparent 35%,transparent 70%,#f0e8f8)}
[data-theme="stars"] .studio-section{border-color:#fff8;box-shadow:0 32px 52px -30px #64507870,inset 0 1px #fff}
[data-theme="stars"] .studio-section::after{background:#72548d38}
[data-theme="stars"] .fog-stage{box-shadow:0 35px 75px #65457955,0 0 0 8px #ffffff40,0 0 0 9px #b79a6560}
[data-theme="stars"] .gallery-manifesto{background:linear-gradient(90deg,#fffa,#ffffff20);border-color:#ae873e}
[data-theme="stars"] :is(.cocoon-trigger,.cocoon-panel){background:linear-gradient(135deg,#faf4ffed,#e5d6f5f5);border-color:#c2a4d3;box-shadow:inset 0 1px #fff,0 20px 45px #70528938}
[data-theme="stars"] :is(.cocoon-trigger__copy strong,.cocoon-panel__head strong){color:#4c335f}
[data-theme="stars"] :is(.cocoon-trigger__copy small,.cocoon-panel__head small){color:#8a652b}
[data-theme="stars"] :is(.cocoon-link,.cocoon-link strong){color:#55396c}
[data-theme="stars"] :is(.cocoon-link small,.cocoon-section-title){color:#7d638d}
[data-theme="stars"] .homepage-editor{color:#46305c}
[data-theme="stars"] .homepage-editor header p{color:#705d7e}
[data-theme="stars"] .homepage-editor header a{color:#7b592b}
[data-theme="stars"] .homepage-editor fieldset{background:#f9f3ff;border-color:#c8afd9;box-shadow:0 15px 40px #72568d19}
[data-theme="stars"] .homepage-editor textarea{background:#fffd;color:#48305e;border-color:#baa0ce}
[data-theme="stars"] .homepage-editor__save{background:#f0e5fbef;border-color:#bca0d1}
@media(max-width:767px){.studio-masthead__whisper{display:none}.studio-masthead__actions{gap:0}.theme-switch{padding-right:7px}.theme-switch__label{display:none}}
@media(prefers-reduced-motion:reduce){.theme-switch__orb,.studio-button::after{transition:none}.studio-button:hover{transform:none}}
/* Shared navigation and content pages. Keep illustration overlays dark for legibility. */
[data-theme="stars"] .cocoon-links a b{color:#513368}
[data-theme="stars"] .cocoon-links a small{color:#786184}
[data-theme="stars"] .cocoon-links a:hover{background:#fff8}
[data-theme="stars"] :is(.site-page,.wip-page,.about-page,.fog-page){background:linear-gradient(#f4edfc88,#e3d5f188);color:#463156}
[data-theme="stars"] :is(.site-display-title,.site-page .text-white,.wip-page .text-white,.about-page>section:not(.about-hero) .text-white,.fog-page>section:not(.fog-hero) .text-white){color:#49305f}
[data-theme="stars"] :is(.site-page,.wip-page,.about-page>section:not(.about-hero),.fog-page>section:not(.fog-hero)) :is(.text-neutral-100,.text-neutral-200,.text-neutral-300){color:#584466}
[data-theme="stars"] :is(.site-page,.wip-page,.about-page>section:not(.about-hero),.fog-page>section:not(.fog-hero)) :is(.text-neutral-400,.text-neutral-500,.text-neutral-600){color:#756180}
[data-theme="stars"] :is(.site-panel,.about-panel,.fog-panel){background:linear-gradient(145deg,#fffd,#ede0f7ed);border-color:#cab0df70;box-shadow:inset 0 1px #fff,0 20px 45px #77548d26}
[data-theme="stars"] .site-kicker{color:#875f2e}
[data-theme="stars"] footer{background:#efe4f8e8;color:#644d74;box-shadow:0 -12px 45px #684a8220}
[data-theme="stars"] footer :is(.text-white,.text-neutral-200,.text-neutral-300){color:#48305f}
[data-theme="stars"] footer :is(.text-neutral-400,.text-neutral-500,.text-neutral-600){color:#786184}
[data-theme="stars"] .fog-hero{background-image:linear-gradient(90deg,#f3eafbe8,#e8dbf3bd 34%,#eee6f52e 70%,#d4c4e34d),linear-gradient(0deg,#e6d9f1,transparent 38%),url('/images/embers-of-fog/storm-kintsugi-hero.webp')}
[data-theme="stars"] .fog-hero .fog-title{color:#43295a;text-shadow:0 2px 20px #fff9}
[data-theme="stars"] .fog-hero p{color:#695077}
[data-theme="stars"] .fog-gold{color:#8f682e;text-shadow:none}
/* Primary action pills share the liquid finish, with solid text contrast. */
[data-theme="stars"] :is(.site-page,.wip-page,.fog-page,.about-page) a.bg-violet-600{border-radius:99px;background:linear-gradient(#a77bd5,#735298);color:#fff;box-shadow:inset 0 2px 3px #fff7,inset 0 -3px 5px #442c5e66,0 8px 18px #73519440;border:1px solid #d4b8ef}

/* Secondary surfaces and controls follow the selected atmosphere. */
[data-theme="stars"] .wip-card{background:linear-gradient(145deg,#fffdfd,#ece0f7);border-color:#c9b1dd;box-shadow:0 20px 35px -18px #67468066}
[data-theme="stars"] .site-page :is(.text-purple-300,.text-purple-400,.text-violet-300){color:#775098}
[data-theme="stars"] :is(.site-page,.wip-page) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#faf5ff;color:#49305f;border-color:#bba1d0}
[data-theme="stars"] .site-page .theme-image-caption :is(.text-white,.text-neutral-300){color:#fff}
[data-theme="stars"] .auth-stage{background:radial-gradient(ellipse at 50% 20%,#fcf8ff99,#e6d7f277);color:#49305f}
[data-theme="stars"] .auth-face{background:radial-gradient(circle at 50% 35%,#fff,#e9dcf4 75%);border-color:#bfa1d2;box-shadow:inset 0 1px 8px #fff,0 30px 70px #79578b40}
[data-theme="stars"] :is(.auth-heading h1,.auth-face h2,.auth-field label,.auth-options,.auth-switch,.auth-terms){color:#503763}
[data-theme="stars"] :is(.auth-heading>p,.auth-subtitle){color:#796184}
[data-theme="stars"] :is(.auth-eyebrow,.auth-heading h1 em){color:#916729}
[data-theme="stars"] .auth-input-wrap input{background:#ffffffb8;color:#49305f;border-color:#bfa6d1}
[data-theme="stars"] .auth-input-wrap input::placeholder{color:#8d7b98}
.footer-action{border-radius:99px;backdrop-filter:blur(12px);box-shadow:inset 0 1px 2px #fff3,0 6px 15px #0002}
[data-theme="stars"] .footer-action{background:linear-gradient(#fff9,#d8c2ed66);color:#65427e;border-color:#fff;box-shadow:inset 0 2px 3px #fff,0 8px 18px #78589130}
[data-theme="stars"] .mastodon-footer__eyebrow{color:#67447f}
[data-theme="stars"] .contact-dock__brand{color:#89672e}
[data-theme="stars"] .contact-dock__keys{background:linear-gradient(#f9f2ff,#e4d4ef);border-color:#c6acd6;box-shadow:inset 0 1px #fff,0 10px 22px #76528a30}
[data-theme="stars"] .contact-key__face{background:linear-gradient(#ffffffc9,#e0ceec);color:#604477;border-color:#fff9}
[data-theme="stars"] .contact-key__face--icon{color:#8c682d}
@media(max-width:800px){.studio-footer{padding-bottom:100px}}
/* Authentication cocoon: lavender glass, gold rim and starlight. */
[data-theme="stars"] .auth-face{background:radial-gradient(ellipse at 30% 18%,#fffefeee,transparent 55%),linear-gradient(145deg,#f9f3ffe8,#ddc8eed9);box-shadow:0 35px 80px #72508c40,0 0 0 9px #ffffff70,0 0 0 10px #b4965b70,inset 0 2px 9px #fff;backdrop-filter:blur(18px)}
[data-theme="stars"] .auth-face::before{border-color:#b18a493d}
[data-theme="stars"] .auth-ambient span{background:#a57b33;box-shadow:0 0 12px #ba8b47}
[data-theme="stars"] .auth-input-wrap input{box-shadow:inset 0 2px 6px #81619313,0 1px #fff}
[data-theme="stars"] .auth-input-wrap input:focus{background:#fff;border-color:#9973bb;box-shadow:0 0 0 3px #a77ccc26,inset 0 1px 4px #81619312}
[data-theme="stars"] .auth-input-wrap svg{stroke:#8860a8}
[data-theme="stars"] :is(.auth-options a,.auth-switch a,.auth-terms button){color:#765093}
[data-theme="stars"] :is(.auth-options a,.auth-switch a,.auth-terms button):hover{color:#51336d}
[data-theme="stars"] :is(.auth-submit,.auth-google){position:relative;border-radius:99px;border:1px solid #fff;background:linear-gradient(180deg,#ffffffc9,#e2cef3b8 50%,#cbb0e68c);color:#51336c;box-shadow:inset 0 2px 3px #fff,inset 0 -4px 6px #ad8fc74d,0 9px 20px #77518d30;backdrop-filter:blur(12px)}
[data-theme="stars"] .auth-submit b{color:#89652a}
[data-theme="stars"] :is(.auth-divider,.auth-motion-note){color:#796184}
[data-theme="stars"] .auth-divider::before,[data-theme="stars"] .auth-divider::after{background:#b59ac544}
[data-theme="stars"] .auth-motion-note span{color:#916729}
[data-theme="stars"] .auth-alert{background:#fff0f3;color:#98334f;border-color:#d799ac}
[data-theme="stars"] .auth-alert-info{background:#ede1fa;color:#664385;border-color:#bea1d3}
[data-theme="stars"] :is(.auth-field ul,.auth-face-inner>ul){color:#a33251}
/* Reading and member pages use explicit light surfaces; artwork stays untouched. */
[data-theme="stars"] .theme-content{color:#584466}
[data-theme="stars"] .theme-content :is([class~="bg-neutral-900"],[class~="bg-neutral-950"],[class~="bg-neutral-800"],[class*="bg-neutral-900/"],[class*="bg-neutral-950/"],[class*="bg-neutral-800/"]){background:linear-gradient(145deg,#fffc,#eaddf5ed);border-color:#bda1cf66;box-shadow:inset 0 1px #fff,0 12px 30px #72518a1c}
[data-theme="stars"] .theme-content :is(.text-white,.text-neutral-100,.text-neutral-200){color:#49305f}
[data-theme="stars"] .theme-content :is(.text-neutral-300,.text-neutral-400,.text-neutral-500,.text-neutral-600){color:#705b7c}
[data-theme="stars"] .theme-content :is(.text-purple-300,.text-purple-400,.text-violet-300){color:#765093}
[data-theme="stars"] .theme-content .text-pink-400{color:#ad356d}
[data-theme="stars"] .theme-content .text-orange-400{color:#a8541d}
[data-theme="stars"] .theme-content [class*="from-neutral-900"]{--tw-gradient-from:#dcc9eb;--tw-gradient-to:#cbb3df}
[data-theme="stars"] .site-page .prose{color:#584466;--tw-prose-body:#584466;--tw-prose-headings:#49305f;--tw-prose-bold:#49305f;--tw-prose-links:#765093;--tw-prose-counters:#705b7c;--tw-prose-bullets:#987aaf}
[data-theme="stars"] .site-page .prose :is(h1,h2,h3,h4,h5,h6,strong,b){color:#49305f}
[data-theme="stars"] .site-page .prose a{color:#765093}
[data-theme="stars"] .site-page .prose blockquote{color:#654979;border-color:#ac87c5}
[data-theme="stars"] .site-page :is([class~="bg-purple-500"],[class~="bg-purple-600"],[class~="bg-pink-600"]).text-white{color:#fff}
[data-theme="stars"] .account-ribbon{background:linear-gradient(110deg,#f7effce8,#e6d6f2ed);border-color:#c6afd8;box-shadow:0 8px 22px #75568d20;color:#584466}
[data-theme="stars"] .account-ribbon a{background:#fff8;color:#705187;border-color:#bda1cf66}
[data-theme="stars"] .account-ribbon .text-pink-400{color:#ac346b}
[data-theme="stars"] .account-ribbon .text-orange-400{color:#a8511c}
[data-theme="stars"] :is(.site-page .theme-image-caption,.fog-page .theme-image-scene) :is(.text-white,.text-neutral-100,.text-neutral-200,.text-neutral-300,.text-neutral-400){color:#fff!important;text-shadow:0 2px 10px #0009}
[data-theme="stars"] .fog-journal-card{background:#eee1f8;border-color:#bea1d1;box-shadow:0 16px 35px #70518b26}
[data-theme="stars"] .fog-journal-copy{background:linear-gradient(0deg,#f5ecfc 82%,#f5ecfc00)}
[data-theme="stars"] .fog-progress{background:#f7f0fbc9;border-color:#bfa3d344}
[data-theme="stars"] .fog-community>div.absolute{background:radial-gradient(circle at center,#d3b8ea55,#f0e6f8cc 70%)}
/* Profile tabs, collections and community testimonials. */
[data-theme="stars"] .profile-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select){background:#fcf8ff;color:#49305f;border-color:#b99bcd;box-shadow:inset 0 1px 4px #72518a12}
[data-theme="stars"] .profile-theme :is(input,textarea,select):focus-visible{outline:2px solid #9871b7;outline-offset:2px}
[data-theme="stars"] .profile-theme :is(input,textarea)::placeholder{color:#8b7598}
[data-theme="stars"] .profile-theme :is([class~="bg-black/20"],[class~="bg-purple-950/50"]){background:#e6d6f3b3;color:#654579}
[data-theme="stars"] .profile-theme :is([class~="bg-purple-600"],[class~="bg-pink-600"],[class*="from-purple-600"]).text-white{color:#fff}
[data-theme="stars"] .profile-theme :is(.text-pink-500,.text-pink-400){color:#a83671}
[data-theme="stars"] .profile-theme .text-emerald-400{color:#24765c}
[data-theme="stars"] .profile-theme [class*="border-neutral-"]{border-color:#b99bcd55}
[data-theme="stars"] .profile-theme img.mix-blend-screen{mix-blend-mode:normal;opacity:.9}
[data-theme="stars"] .profile-theme [class*="to-neutral-950"]{--tw-gradient-to:#e8d9f2}
[data-theme="stars"] .profile-theme [class*="via-neutral-950"]{--tw-gradient-via:#e8d9f299;--tw-gradient-stops:var(--tw-gradient-from),#e8d9f299,var(--tw-gradient-to)}
[data-theme="stars"] .profile-theme :is(button,a):focus-visible{outline:2px solid #9871b7;outline-offset:3px}
[data-theme="stars"] .profile-theme .prose :is(h1,h2,h3,h4,strong,b){color:#49305f}
/* Comment cards and composers, including nested replies. */
[data-theme="stars"] .comment-theme[class*="bg-neutral-900/"]{background:linear-gradient(145deg,#fffc,#eaddf5ed);border-color:#bda1cf66;box-shadow:inset 0 1px #fff,0 12px 30px #72518a20}
[data-theme="stars"] .comment-theme img.mix-blend-screen{mix-blend-mode:normal;opacity:.5}
[data-theme="stars"] .comment-theme [class*="to-neutral-900"]{--tw-gradient-to:#eee1f7}
[data-theme="stars"] .comment-theme [class*="from-neutral-900"]{--tw-gradient-from:#eee1f7}
[data-theme="stars"] .comment-theme [class*="via-neutral-900"]{--tw-gradient-stops:var(--tw-gradient-from),#eee1f7c9,var(--tw-gradient-to)}
[data-theme="stars"] .comment-theme :is(button.bg-purple-600,a.bg-purple-600){color:#fff;background:linear-gradient(#9c75c4,#714a98);border:1px solid #e8d6f9;box-shadow:inset 0 2px 3px #fff5,0 7px 16px #72518a30;border-radius:99px}
[data-theme="stars"] .comment-theme .text-pink-500{color:#ad356e}
[data-theme="stars"] .comment-theme [class*="border-neutral-"]{border-color:#bda1cf66}
[data-theme="stars"] .comment-theme textarea{background:#fcf8ff;color:#49305f;border-color:#bda1cf}
[data-theme="stars"] .comment-theme textarea:focus-visible{outline:2px solid #9871b7;outline-offset:2px}

/* Art direction: opaline lavender, amethyst ink and restrained champagne seams.
   Shared materials keep the studio, reading pages and member spaces coherent. */
:root[data-theme="stars"]{
  --celestial-ink:#39274f;--celestial-copy:#635174;--celestial-accent:#75539e;
  --celestial-glass:linear-gradient(135deg,#ffffffbd 0%,#eee5fac9 48%,#d9cbedb8 100%);
  --celestial-edge:#ffffffb8;
  --celestial-depth:inset 0 1px 1px #fff,0 24px 48px -28px #67468275,0 3px 10px #75579012;
  --liquid-fill:linear-gradient(175deg,#fff9 0%,#ede5ff8c 24%,#bca4df8c 55%,#e6d8faac 85%,#fff9 100%);
  --liquid-depth:inset 0 2px 2px #fff,inset 3px 0 4px #ffffffa6,inset -2px 0 4px #fff8,inset 0 -5px 5px #a78ac666,0 3px 2px #fff8,0 10px 16px -5px #73548f66;
}
[data-theme="stars"] body{background-image:radial-gradient(ellipse at 8% 10%,#fff9,transparent 50%),radial-gradient(ellipse at 90% 35%,#bba2e84a,transparent 55%),url('/images/kintsugi-lavender-parallax.svg')}
/* Specify all three layers: inheriting the earlier two-layer shorthand made
   the SVG use auto sizing and repeat, leaving a seam on wide screens. */
[data-theme="stars"] .studio-home::before{
  background-image:radial-gradient(ellipse at 9% 14%,#fff9,transparent 50%),radial-gradient(ellipse at 85% 45%,#b99be948,transparent 55%),url('/images/kintsugi-lavender-parallax.svg');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center var(--site-parallax-y);
}
[data-theme="stars"] :is(.status-inner,.project-card,.app-card,.atelier-card,.news-card,.site-panel,.fog-panel,.about-panel,.fog-journal-card){background:var(--celestial-glass);border-color:var(--celestial-edge);box-shadow:var(--celestial-depth);backdrop-filter:blur(20px) saturate(1.15)}
[data-theme="stars"] .theme-content :is([class~="bg-neutral-900"],[class~="bg-neutral-950"],[class~="bg-neutral-800"],[class*="bg-neutral-900/"],[class*="bg-neutral-950/"],[class*="bg-neutral-800/"]),
[data-theme="stars"] .comment-theme[class*="bg-neutral-900/"]{background:var(--celestial-glass);border-color:var(--celestial-edge);box-shadow:var(--celestial-depth);backdrop-filter:blur(18px)}
[data-theme="stars"] .studio-section{box-shadow:0 30px 55px -35px #6641848c,inset 0 1px #fff9}
[data-theme="stars"] .studio-section::after{height:18px;bottom:-10px;background:#78539c28;filter:blur(15px)}
[data-theme="stars"] :is(.themed-section,.apps-universe)::before{background:linear-gradient(110deg,#f4edfcdf,#ddcdefb8 65%,#ede3f6c9)}
[data-theme="stars"] .hero-title em{background-image:linear-gradient(105deg,#72519b,#9e78be 65%,#a57b64)}
[data-theme="stars"] .gallery-manifesto{border-radius:0 24px 24px 0;background:linear-gradient(110deg,#fff9,#d9c5ed66)}
[data-theme="stars"] .fog-stage{box-shadow:0 30px 65px -15px #69467c77,0 0 0 7px #fff6,0 0 0 8px #bc9c6266}
[data-theme="stars"] .stage-label b{color:#dbb975}
/* A thick clear rim, two reflected edges and a tinted body: a drop of glass. */
:is([data-theme="stars"],[data-theme="moon"]) :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button,.comment-theme button.bg-purple-600,.comment-theme a.bg-purple-600,.profile-theme button.bg-purple-600,.profile-theme a.bg-purple-600,.site-page a.bg-violet-600){
  position:relative;isolation:isolate;overflow:hidden;border:1px solid #fff!important;border-radius:99px!important;
  background:var(--liquid-fill)!important;color:var(--liquid-ink,#4d3269)!important;box-shadow:var(--liquid-depth);backdrop-filter:blur(16px) saturate(1.35);
  text-shadow:var(--liquid-text-shadow,0 1px #ffffff80);transition:box-shadow .25s,transform .25s;
}
:is([data-theme="stars"],[data-theme="moon"]) :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button,.comment-theme button.bg-purple-600,.profile-theme button.bg-purple-600)::before{
  content:"";position:absolute;z-index:-1;inset:4px 7px;border:1px solid #ffffff8c;border-radius:inherit;
  background:linear-gradient(180deg,#ffffff70,transparent 40%,transparent 70%,#fff5);pointer-events:none;
}
:is([data-theme="stars"],[data-theme="moon"]) :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button,.comment-theme button.bg-purple-600,.profile-theme button.bg-purple-600):hover{transform:translateY(-2px);box-shadow:var(--liquid-depth),0 15px 24px -12px #77509588}
:is([data-theme="stars"],[data-theme="moon"]) :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button):focus-visible{outline:3px solid #8960b0;outline-offset:4px}
:is([data-theme="stars"],[data-theme="moon"]) :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button):active{transform:translateY(1px)}
/* The community application joins the studio palette; its screenshots retain their own colours. */
[data-theme="stars"] .app-landing{--ember:#9b633e;--violet:#7954a1;--gold:#916c32;color:var(--celestial-ink);background:transparent}
[data-theme="stars"] .app-landing :is(.app-hero,.app-section){background:linear-gradient(120deg,#f4edfcdd,#dfd0eecc)}
[data-theme="stars"] .app-landing .app-hero::before{opacity:.18;mix-blend-mode:normal;background-image:url('/images/kintsugi-lavender-parallax.svg');background-size:cover}
[data-theme="stars"] .app-landing :is(.app-pane,.app-download-panel,.app-safety-note,.app-integrity){background:var(--celestial-glass);border-color:#b59ac766;box-shadow:var(--celestial-depth);color:var(--celestial-copy)}
[data-theme="stars"] .app-landing :is(p,li){color:var(--celestial-copy)}
[data-theme="stars"] .app-landing :is(h1,h2,h3,strong){color:var(--celestial-ink)}
/* Atelier keeps a warm peach note, as a sibling rather than a separate website. */
[data-theme="stars"] .atelier-page{background:linear-gradient(135deg,#f4edfcdd,#ebdef4dd 65%,#f7e9e2dd);color:var(--celestial-ink)}
[data-theme="stars"] .atelier-page :is(.pa-card,.pa-features article,.pa-ecosystem a,.pa-install){background:var(--celestial-glass);border-color:var(--celestial-edge);box-shadow:var(--celestial-depth);color:var(--celestial-ink)}
[data-theme="stars"] .atelier-page :is(.pa-lead,.pa-card span,.pa-features p,.pa-install p:not(.pa-kicker),.pa-ecosystem span){color:var(--celestial-copy)}
[data-theme="stars"] .atelier-page :is(.pa-kicker,.pa-copy h1 em){color:#966755}
[data-theme="stars"] .atelier-page .pa-status{background:#f4e9f7;border-color:#cbb4d6}
@media(prefers-reduced-motion:reduce){[data-theme="stars"] :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button){transition:none;transform:none!important}}
[data-theme="stars"] .app-landing :is(.app-version,.app-privacy,.app-integrity code){color:#715b82}
[data-theme="stars"] .health-install{background:radial-gradient(ellipse at 15% 10%,#fbe7ee99,transparent 60%),linear-gradient(145deg,#f5edfcdd,#e0d3efdd)}
[data-theme="stars"] .health-install .hi-card{background:var(--celestial-glass);border-color:var(--celestial-edge);box-shadow:var(--celestial-depth)}
[data-theme="stars"] .health-install .hi-button{border-radius:99px;background:var(--liquid-fill);color:#51336c;border:1px solid white;box-shadow:var(--liquid-depth)}
/* Headings share amethyst ink; vivid pink is reserved for hearts and rewards. */
[data-theme="stars"] .theme-content :is(h1,h2).bg-clip-text,
[data-theme="stars"] .theme-content :is(h1,h2) .bg-clip-text{background-image:linear-gradient(110deg,#614085,#8b65ac 70%,#987460);color:transparent}

/* Moon uses the same glass construction, tinted like amethyst and obsidian. */
:root[data-theme="moon"]{
  --liquid-ink:#f1e7ff;--liquid-text-shadow:0 1px 2px #08050ecc;
  --liquid-fill:linear-gradient(175deg,#bba2df40 0%,#63487f66 24%,#251b36c9 55%,#57416899 85%,#c5afe438 100%);
  --liquid-depth:inset 0 2px 2px #e9d9ff8c,inset 3px 0 4px #d9c0ff40,inset -2px 0 4px #c0a1e333,inset 0 -5px 5px #9271b34d,0 3px 2px #150c2280,0 12px 20px -5px #0009;
  --moon-glass:linear-gradient(135deg,#34263dbd,#1e1729e6 55%,#17121ee8);
  --moon-depth:inset 0 1px 1px #dcc4f333,0 24px 48px -24px #000b,0 3px 10px #08050e66;
}
[data-theme="moon"] :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button,.comment-theme button.bg-purple-600,.comment-theme a.bg-purple-600,.profile-theme button.bg-purple-600,.profile-theme a.bg-purple-600,.site-page a.bg-violet-600){border-color:#c9aee875!important}
[data-theme="moon"] :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button,.comment-theme button.bg-purple-600,.profile-theme button.bg-purple-600)::before{border-color:#d8c3f14d;background:linear-gradient(180deg,#e7d6ff29,transparent 40%,transparent 70%,#b99cda1f)}
[data-theme="moon"] :is(.status-inner,.project-card,.app-card,.atelier-card,.news-card,.site-panel,.fog-panel,.about-panel,.fog-journal-card){background:var(--moon-glass);border-color:#b899d13d;box-shadow:var(--moon-depth);backdrop-filter:blur(20px) saturate(1.15);border-radius:24px}
[data-theme="moon"] .project-cards{gap:12px;padding:0;background:transparent}
[data-theme="moon"] .status-inner{overflow:hidden}
[data-theme="moon"] .studio-footer{background:linear-gradient(115deg,#201623ed,#130f1ceF 65%,#251b31ed);border-color:#b89b693d;box-shadow:0 -15px 50px #0005}
[data-theme="moon"] .mastodon-footer__eyebrow{color:#eadcf6}
[data-theme="moon"] .contact-dock__keys{background:var(--moon-glass);border-color:#b899d14d;box-shadow:var(--moon-depth)}
[data-theme="moon"] .contact-key__face{background:linear-gradient(155deg,#60486f99,#20172be6);border-color:#d6b9ec4d;color:#eadcf6;box-shadow:inset 0 2px 3px #e0c9ff40,inset 0 -3px 4px #916aab33,0 6px 9px #0006}
[data-theme="moon"] .contact-key__face--icon{color:#ebc78a}
[data-theme="moon"] .auth-face{background:radial-gradient(ellipse at 30% 18%,#62427844,transparent 55%),linear-gradient(145deg,#23172df0,#100c18f5);border-color:#b49a654d;box-shadow:0 35px 80px #0009,0 0 0 9px #b393d014,0 0 0 10px #b4965b44,inset 0 2px 9px #ddc6ff21;backdrop-filter:blur(18px)}
@media(prefers-reduced-motion:reduce){[data-theme="moon"] :is(.studio-button,.footer-action,.auth-submit,.auth-google,.app-button,.pa-button){transition:none;transform:none!important}}
[data-theme="moon"] .studio-footer :is(.text-neutral-500,.text-neutral-600){color:#a99bb5}
[data-theme="moon"] .footer-action :is(.text-neutral-500,.text-neutral-600){color:#c7b6da}

/* Seasonal portal: image and copy have their own space, including on narrow screens. */
.fox-season{--season-accent:#d9b56f;width:min(100%,400px);margin-inline:auto}
.fox-season--autumn{--season-accent:#d99862}.fox-season--winter{--season-accent:#b7d2e9}.fox-season--summer{--season-accent:#e5bf80}.fox-season--spring{--season-accent:#dcb3cc}
.fox-season .fog-stage{width:100%;border-radius:48% 48% 24px 24px/18% 18% 24px 24px;border-color:var(--season-accent);box-shadow:0 25px 55px -15px #0007}
.fox-season__portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:fox-breathe 8s ease-in-out infinite alternate}
.fox-season__ornaments{position:absolute;inset:0;width:100%;height:100%;z-index:10;pointer-events:none;filter:drop-shadow(0 2px 4px #0006)}
.fox-scene--custom :is(.fox-bloom,.fox-eye,.fox-kintsugi,.fox-petal){display:none}
.fox-season--winter .fox-petal{width:4px;height:4px;background:#e0efff;border-radius:50%;box-shadow:0 0 7px #d4e6ff}
.fox-season--summer .fox-petal{width:3px;height:3px;background:#ffe8a0;border-radius:50%;box-shadow:0 0 9px #ffda73}
.fox-season--autumn .fox-petal{background:linear-gradient(135deg,#e6b46c,#a95637)}
.fox-season__copy{position:relative;margin-top:18px;padding:25px 24px 18px;border:1px solid #ba9ad147;border-top:2px solid var(--season-accent);border-radius:24px;background:var(--moon-glass,linear-gradient(135deg,#30223bef,#17111fed));box-shadow:var(--moon-depth,0 20px 40px -20px #0009);color:#e9deef;text-align:center;backdrop-filter:blur(18px)}
.fox-season__signature{margin:0;color:var(--season-accent);font:800 9px/1.6 system-ui;letter-spacing:.18em;text-transform:uppercase;overflow-wrap:anywhere}
.fox-season__copy h2{font:400 25px/1.15 Georgia,serif;margin:10px 0 12px;color:inherit;overflow-wrap:anywhere}
.fox-season__message{font-size:13px;line-height:1.75;color:#c6b8cf;margin:0 0 20px}
.fox-season__login{width:100%;gap:12px;min-height:52px;height:auto;padding:16px!important;line-height:1.6!important;letter-spacing:.12em!important;white-space:normal;overflow-wrap:anywhere}
.fox-season__login span:nth-child(2){flex:1}.fox-season__copy>small{display:block;color:#b9a6c9;font-size:10px;margin-top:10px}
.fox-season__greeting{border-radius:15px;padding:16px;background:#fff1;border:1px solid #c5a7d433}.fox-season__greeting strong{display:block;color:#ecd2a0;font:500 19px Georgia,serif;overflow-wrap:anywhere}.fox-season__greeting span{display:block;font-size:12px;line-height:1.7;margin-top:8px;color:#cfbfd8}
.fox-season__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;margin-top:18px;border-top:1px solid #b69cc32e;color:#c8b3d8;font:700 8px/1.6 system-ui;letter-spacing:.16em;text-transform:uppercase}
[data-theme="stars"] .fox-season__copy{background:var(--celestial-glass);box-shadow:var(--celestial-depth);border-color:#fff;border-top-color:var(--season-accent);color:var(--celestial-ink)}
[data-theme="stars"] .fox-season__signature{color:#86633e}[data-theme="stars"] :is(.fox-season__message,.fox-season__copy>small,.fox-season__footer,.fox-season__greeting span){color:#665176}[data-theme="stars"] .fox-season__greeting{background:#fff5;border-color:#ae8cc94d}[data-theme="stars"] .fox-season__greeting strong{color:#64417b}
.season-editor{max-width:1120px;margin:auto;padding:60px 24px 100px;color:#e7dded}.season-editor header{max-width:760px;margin-bottom:30px}.season-editor h1{font:44px Georgia,serif}.season-editor p{line-height:1.7}.season-editor a:not(.studio-button){color:#b08bd7}.season-editor__settings,.season-editor__variant{margin:24px 0;padding:24px;border:1px solid #a284ba55;border-radius:22px;background:#21172be8}.season-editor summary{font:25px Georgia,serif;cursor:pointer}.season-editor__variant-body{display:grid;grid-template-columns:240px 1fr;gap:30px;margin-top:25px}.season-editor__preview img{width:100%;max-height:360px;object-fit:contain;border-radius:22px}.season-editor__preview .studio-button{margin-top:16px;font-size:9px;text-align:center}.season-editor__preview p{font-size:12px;color:#af9ebc}.season-editor label{display:block;margin:18px 0 8px}.season-editor input:not([type=checkbox]),.season-editor textarea,.season-editor select{width:100%;padding:12px;border:1px solid #a386bc66;border-radius:12px;background:#100b19;color:#eadff2}.season-editor input[type=checkbox]{margin-right:10px;accent-color:#9870bc}.season-editor textarea{min-height:95px}.season-editor .help-text,.season-editor .form-text{font-size:12px;color:#af9ebc;margin-top:7px}.season-editor ul{color:#e6a3b2}.season-editor__dates{display:grid;grid-template-columns:1fr 1fr;gap:18px}.season-editor__save{margin-top:30px;padding:20px;border-radius:22px;border:1px solid #a284ba55;background:#21172be8;display:flex;align-items:center;justify-content:space-between;gap:20px}.season-editor__save p{font-size:12px;max-width:440px}
[data-theme="stars"] .season-editor{color:#49305f}[data-theme="stars"] :is(.season-editor__settings,.season-editor__variant,.season-editor__save){background:var(--celestial-glass);box-shadow:var(--celestial-depth);border-color:#fff}[data-theme="stars"] .season-editor :is(input:not([type=checkbox]),textarea,select){background:#fcf8ff;color:#49305f}[data-theme="stars"] .season-editor :is(.help-text,.form-text,.season-editor__preview p){color:#705b7c}
@media(max-width:700px){.season-editor__variant-body{grid-template-columns:1fr}.season-editor__preview img{max-height:240px}.season-editor__save{flex-direction:column;align-items:stretch}.fox-season__copy{padding:22px 18px}.fox-season__copy h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.fox-season__portrait{animation:none}}
.studio-home .hero-grid{align-items:start}
@media(min-width:901px){.studio-home .hero-grid>div:first-child{padding-top:24px}}

.season-editor .studio-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:14px 22px;border:1px solid #c3a9dc70;border-radius:999px;background:linear-gradient(160deg,#57436b,#271b37);box-shadow:inset 0 2px 3px #e9d7ff55,0 8px 18px #0004;color:#f1e6fa;font:700 12px/1.5 system-ui;text-decoration:none;cursor:pointer}
[data-theme="stars"] .season-editor .studio-button{background:linear-gradient(160deg,#fffc,#d7c1ed);border-color:#fff;color:#51346c;box-shadow:inset 0 2px 3px #fff,0 8px 18px #68487e33}

/* A readable lunar profile: distinct surfaces, lavender borders and clear text. */
[data-theme="moon"] .profile-theme{color:#eee5f5}
[data-theme="moon"] .profile-theme :is([class~="bg-neutral-900"],[class*="bg-neutral-900/"],[class~="bg-neutral-950"],[class*="bg-neutral-950/"],[class*="bg-neutral-800/"]):not(.absolute){background:linear-gradient(145deg,#30253eea,#211a2de8);border-color:#9b7dbd55;box-shadow:inset 0 1px #e5d4ff12,0 16px 32px #0003}
[data-theme="moon"] .profile-theme :is(.text-white,.text-neutral-100,.text-neutral-200){color:#f5edf9}
[data-theme="moon"] .profile-theme :is(.text-neutral-300,.text-neutral-400){color:#d9cce4}
[data-theme="moon"] .profile-theme :is(.text-neutral-500,.text-neutral-600){color:#bdaeCA}
[data-theme="moon"] .profile-theme :is(.text-purple-300,.text-purple-400,.text-violet-400){color:#d7b6f5}
[data-theme="moon"] .profile-theme :is(.text-pink-500,.text-pink-400){color:#f1a9ce}
[data-theme="moon"] .profile-theme [class*="border-neutral-"]{border-color:#ae91c742}
[data-theme="moon"] .profile-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select){background:#1b1526;color:#f5edf9;border:1px solid #a489bd80;box-shadow:inset 0 2px 5px #0003}
[data-theme="moon"] .profile-theme :is(input,textarea)::placeholder{color:#b9aac8;opacity:1}
[data-theme="moon"] .profile-theme :is(a,button,input,textarea,select):focus-visible{outline:2px solid #dfbfff;outline-offset:3px}
[data-theme="moon"] .profile-theme .prose{color:#d9cce4;--tw-prose-body:#d9cce4;--tw-prose-headings:#f5edf9;--tw-prose-bold:#f5edf9;--tw-prose-links:#d7b6f5}
[data-theme="moon"] .profile-theme .prose :is(h1,h2,h3,h4,strong,b){color:#f5edf9}
.profile-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;padding:6px!important;border:1px solid #ae91c742;border-radius:18px;background:#b593d412}
.profile-tabs button{margin:0!important;padding:12px 7px!important;border-radius:12px!important;letter-spacing:.07em;min-height:46px}
[data-theme="moon"] .profile-tabs button.border-purple-500,[data-theme="moon"] .profile-tabs button.border-pink-500{background:linear-gradient(145deg,#75539680,#50376580)!important;color:#f7edff;box-shadow:inset 0 1px #fff2}
.profile-social{margin-bottom:24px}.profile-social h2,.profile-social-editor h3{font-size:14px;font-weight:750;margin:0 0 14px}.profile-social__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-social__link{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border:1px solid #a58abd65;border-radius:15px;background:linear-gradient(145deg,#443252aa,#291e37cc);color:#eee2fa;font-size:12px;font-weight:700;transition:background .2s,border-color .2s;min-width:0}
.profile-social__link:hover{border-color:#d7b6f5;background:#59416c}.profile-social__icon{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:10px;background:#d2b7eb1f;font-size:19px;color:#e5c7ff}.profile-social__arrow{margin-left:auto;opacity:.75}.profile-social__link span:nth-child(2){overflow-wrap:anywhere}
[data-theme="stars"] .profile-social__link{color:#503361;background:linear-gradient(145deg,#fffd,#e6d7f2);border-color:#bda0d080;box-shadow:inset 0 1px #fff,0 6px 12px #75568d12}
[data-theme="stars"] .profile-social__link:hover{background:#e2cdf2;border-color:#9572b0}[data-theme="stars"] .profile-social__icon{background:#d1b3e64d;color:#674080}
.profile-social-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.profile-social-field{min-width:0}.profile-social-field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.profile-social-field__input{position:relative}.profile-social-field__input>span{position:absolute;inset:0 auto 0 13px;display:flex;align-items:center;font-size:18px;pointer-events:none}.profile-social-field__input input{width:100%;min-height:48px;padding:12px 12px 12px 44px;border-radius:12px;font-size:12px}.profile-social-editor>p{font-size:13px;line-height:1.7;margin-bottom:20px;color:inherit}.profile-social-field ul{color:#f2b8cd;font-size:12px;margin-top:7px}[data-theme="stars"] .profile-social-field ul{color:#a12861}
@media(max-width:600px){.profile-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-social-fields{grid-template-columns:1fr}}
@media(max-width:480px){.profile-social__grid{grid-template-columns:1fr}}

/* Reading comfort and a shared editorial rhythm in both skies. */
.reading-comfort{position:relative;color:var(--experience-text,#e9e0f6);font:600 12px/1.5 system-ui}
.reading-comfort summary{cursor:pointer;padding:10px 12px;border:1px solid #a38bbc66;border-radius:20px;background:#9180bc22}
.reading-comfort>div{position:absolute;right:0;top:48px;width:min(290px,80vw);padding:20px;background:#252032;color:#f3ecff;border:1px solid #b09bc0;border-radius:18px;box-shadow:0 18px 45px #0005;z-index:100}
.reading-comfort label{display:flex;gap:10px;align-items:start}.reading-comfort input{margin-top:4px;accent-color:#8864bb}.reading-comfort p{margin-top:12px;font-weight:400}
[data-theme="stars"] .reading-comfort{color:#513768}[data-theme="stars"] .reading-comfort>div{background:#faf6ff;color:#513768}
.game-progress,.related-content{--experience-text:#eee7f7;--experience-muted:#c0b3ce;--experience-surface:linear-gradient(140deg,#352a45e8,#211b2eeb);padding-top:70px;padding-bottom:70px;color:var(--experience-text)}
.related-content{max-width:1180px;margin:auto;padding-left:24px;padding-right:24px}
[data-theme="stars"] :is(.game-progress,.related-content){--experience-text:#382348;--experience-muted:#675477;--experience-surface:linear-gradient(140deg,#fffaffec,#dfd0efdf)}
:is(.game-progress,.related-content)>h2{font:500 clamp(28px,4vw,46px)/1.15 Georgia,serif;margin:12px 0 28px;color:var(--experience-text)}
.experience-eyebrow{font:750 10px/1.5 system-ui;letter-spacing:.2em;text-transform:uppercase;color:var(--experience-muted)}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 26px}
.experience-card{display:block;padding:26px;background:var(--experience-surface);border:1px solid #bba0d355;border-radius:24px;box-shadow:0 18px 35px #11082225,inset 0 1px 0 #fff5;color:var(--experience-text);overflow:hidden}
.experience-card :is(h3,h4){font:600 21px/1.35 Georgia,serif;margin:0 0 14px;color:var(--experience-text)}
.experience-card p{font:400 15px/1.8 system-ui;color:var(--experience-muted);white-space:pre-line;margin:0}
.experience-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-bottom:18px}
.experience-link{font:700 12px/1.5 system-ui;color:var(--experience-text);text-underline-offset:5px}
.form-save-status{font:500 13px/1.6 system-ui;padding:12px 16px;border-left:3px solid #a58ac9;background:#9e7fc118;color:inherit;border-radius:0 10px 10px 0}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #b89bdf;outline-offset:4px}
[data-theme="stars"] :where(a,button,input,textarea,select,summary):focus-visible{outline-color:#704496}
@media(max-width:700px){.experience-grid{grid-template-columns:1fr}.game-progress,.related-content{padding-top:44px;padding-bottom:44px}.studio-masthead__whisper{display:none}.reading-comfort summary{padding:8px}.studio-masthead__actions{gap:8px}}
html[data-reduced-motion="true"]{scroll-behavior:auto!important}
html[data-reduced-motion="true"] *,html[data-reduced-motion="true"] *::before,html[data-reduced-motion="true"] *::after{animation:none!important;transition:none!important;background-attachment:scroll!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;background-attachment:scroll!important}}
#game-progress-title,#related-title{scroll-margin-top:120px}
.reading-comfort{flex-shrink:0}.reading-comfort summary{white-space:nowrap}

/* Explicit interactive states outrank page-local, unscoped dark hover rules,
   whatever order AssetMapper styles and Turbo page styles arrive in. */
[data-theme="stars"] :is(.project-card,.app-card,.atelier-card,.news-card,.learning-card,.artwork-card):is(:hover,:focus-visible){
  background:linear-gradient(135deg,#fff9ffff,#eadcf8f5 52%,#d6bfeaee);
  border-color:#a884c6;
  box-shadow:inset 0 1px 2px #fff,0 22px 42px -18px #70518b66;
}
[data-theme="moon"] :is(.project-card,.app-card,.atelier-card,.news-card,.learning-card,.artwork-card):is(:hover,:focus-visible){
  background:linear-gradient(135deg,#3d2c4cf5,#241b31f5);
  border-color:#bb96dc88;
  box-shadow:inset 0 1px #ead2ff33,0 22px 42px -18px #0009;
}
[data-theme="stars"] .studio-link:is(:hover,:focus-visible){color:#51316c}
.artwork-card{text-decoration:none;cursor:pointer}
.artwork-card:focus-visible{outline:3px solid #bb96dc;outline-offset:5px}
[data-theme="stars"] .artwork-card:focus-visible{outline-color:#704496}

/* Stretch the BJD detail link over its feature without nesting any links
   that may appear in the editor-authored description. */
.artwork-feature{position:relative}
.artwork-feature__link::after{content:"";position:absolute;inset:0;z-index:1}
.artwork-feature .prose a{position:relative;z-index:2}
.artwork-feature:has(.artwork-feature__link:focus-visible){outline:3px solid #a884c6;outline-offset:8px;border-radius:20px}

/* A quiet living sketch marks the work currently on the studio desk. */
@property --atelier-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.experience-card.progress-current {
    position:relative; isolation:isolate; min-height:260px;
    padding:30px; border:1px solid #d9b66b; background:#30263d;
    box-shadow:0 16px 40px #160b2038,0 0 24px #d8af5020;
}
.experience-card .progress-current__image {
    position:absolute; inset:0; z-index:-2; width:100%; height:100%;
    aspect-ratio:auto; object-fit:cover; object-position:50% 32%;
    margin:0; border-radius:inherit; opacity:.5;
    animation:atelier-drift 18s ease-in-out infinite alternate;
}
.progress-current::before {
    content:''; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(100deg,#21192feb 5%,#292035cf 65%,#29203575);
}
.progress-current::after {
    content:''; position:absolute; inset:0; padding:2px; border-radius:inherit; pointer-events:none;
    background:conic-gradient(from var(--atelier-angle),#a2793670 0deg,#e9bd64 45deg,#fff5c4 65deg,#bb8b3e80 95deg,#a2793630 180deg,#a2793670 360deg);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    animation:atelier-gold 7s linear infinite;
}
.progress-current__badge {
    display:inline-flex; margin-bottom:20px; padding:6px 11px;
    border:1px solid #e6c67b80; border-radius:30px;
    background:#30243de8; color:#f4d895; font:600 11px/1.4 system-ui;
    letter-spacing:.12em; text-transform:uppercase;
}
[data-theme="stars"] .experience-card.progress-current {background:#efe4f8;box-shadow:0 16px 40px #61477430,0 0 24px #d8af5020}
[data-theme="stars"] .progress-current::before {background:linear-gradient(100deg,#faf5ffed 5%,#eee3f5da 65%,#eee3f599)}
[data-theme="stars"] .progress-current__badge {color:#73501d;background:#fff9e8e8;border-color:#bf944f80}
@keyframes atelier-gold {to{--atelier-angle:360deg}}
@keyframes atelier-drift {from{transform:scale(1.03) translateY(0)}to{transform:scale(1.12) translateY(-2%)}}

/* Locked cosmetics remain visible: the lock is a status, not frosted glass. */
[data-theme="stars"] .shop-lock-overlay {
    background:rgba(61,38,78,.10)!important;
    backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
    box-shadow:none!important; border:0!important;
}
[data-theme="stars"] .group:hover .shop-lock-overlay {background:rgba(61,38,78,.04)!important}

/* The dressing room shares the profile's palette, including every inventory tab. */
.wardrobe-theme {--wardrobe-ink:#eee7f7;--wardrobe-muted:#c0b3ce;--wardrobe-edge:#b899d14d;color:var(--wardrobe-ink)}
[data-theme="stars"] .wardrobe-theme {--wardrobe-ink:#49305f;--wardrobe-muted:#705b7c;--wardrobe-edge:#b99bcd66}
.wardrobe-theme :is(h1,h3,h4){color:var(--wardrobe-ink)}
.wardrobe-theme :is(.text-neutral-400,.text-neutral-500){color:var(--wardrobe-muted)}
.wardrobe-theme [class*="border-neutral-"]{border-color:var(--wardrobe-edge)}
[data-theme="moon"] .wardrobe-theme :is([class*="bg-neutral-900"],[class*="bg-neutral-950/"],[class~="bg-neutral-800"]){background:linear-gradient(140deg,#30263deb,#1d1828f0);color:var(--wardrobe-ink);border-color:var(--wardrobe-edge)}
.wardrobe-tabs{flex-wrap:wrap;gap:8px}
.wardrobe-tabs button{color:var(--wardrobe-muted);border-radius:14px 14px 0 0}
.wardrobe-tabs button.border-purple-500{color:var(--wardrobe-ink);background:#a180c32b;border-bottom-color:#a080c3}
[data-theme="stars"] .wardrobe-theme .wardrobe-equipped{background:#fff4d9;color:#77531b;border-color:#b98c3c}
[data-theme="moon"] .wardrobe-theme .wardrobe-equipped{background:#d6af5420;color:#f3d48b;border-color:#d6af5480}
.wardrobe-theme .wardrobe-unequip{color:#f2a8bb;padding:6px 9px;border-radius:8px}
[data-theme="stars"] .wardrobe-theme .wardrobe-unequip{color:#a22c54}
.wardrobe-theme input[type="file"]{color:var(--wardrobe-muted)}
.wardrobe-theme input[type="file"]::file-selector-button{border:1px solid #bda0d4;border-radius:99px;background:linear-gradient(#655277,#382b47);color:#fff3ff;box-shadow:inset 0 1px 2px #fff6,0 4px 10px #0002;cursor:pointer}
[data-theme="stars"] .wardrobe-theme input[type="file"]::file-selector-button{background:linear-gradient(#fffaff,#dbc7ed);color:#49305f;border-color:#fff}
[data-theme="stars"] .wardrobe-theme #cropper-modal{background:#38234899;box-shadow:none;border-radius:0}
.wardrobe-theme #cropper-modal>div{color:var(--wardrobe-ink)}
.wardrobe-theme #cropper-modal h3{color:var(--wardrobe-ink)}
.wardrobe-theme :is(button,a,input):focus-visible{outline:3px solid #a183c1;outline-offset:4px}
@media(max-width:600px){.wardrobe-theme h1{font-size:2.3rem}.wardrobe-tabs button{padding:12px;font-size:10px}}

/* A companion stays at the hero's feet regardless of the source image ratio. */
.profile-character-scene .profile-companion{right:0;bottom:0;width:34%;height:33%;max-height:150px;object-fit:contain;object-position:center bottom}
.profile-character-scene--companion-only{min-height:180px}
.profile-character-scene--companion-only .profile-companion{height:150px;width:45%;right:27.5%}

/* Bring the profile duo forward while preserving the companion's proportions. */
.profile-character-scene>img:not(.profile-companion){max-height:560px;width:100%;object-fit:contain;object-position:center bottom}
.profile-character-scene .profile-companion{right:8%;max-height:185px;width:34%;height:33%}
.profile-character-scene--companion-only .profile-companion{height:150px;right:27.5%;width:45%}
@media(max-width:600px){.profile-character-scene>img:not(.profile-companion){max-height:500px}}

/* Decorative fades must stay transparent rather than becoming glass panels. */
.comment-wall-fade{background:linear-gradient(to bottom,transparent,#17171799 55%,#171717)}
.comment-banner-fade{background:linear-gradient(to top,#171717,transparent)}
[data-theme="stars"] .comment-wall-fade{background:linear-gradient(to bottom,#eee1f700,#eee1f7c9 55%,#eee1f7)}
[data-theme="stars"] .comment-banner-fade{background:linear-gradient(to top,#eee1f7,#eee1f700)}
