/* Calm atmosphere with a single, bounded transition per deliberate theme change. */
[data-theme='twilight'] {--bg:#0d1526;--bg-deep:#0b1221;--bg-raised:#18243b;--world-accent:#bdcdf6;--cta:#c8d5f7;--cta-ink:#101a2d;--world-halo:#746dbe;--line-soft:#b7caf326;}
[data-theme='dawn'] {--bg:#211722;--bg-deep:#1c131f;--bg-raised:#32232e;--world-accent:#f0c1b0;--cta:#edc2ab;--cta-ink:#321c24;--world-halo:#c67764;--ink:#fcf0e7;--ink-3:#d8bdb4;--ink-4:#c6ada6;--ink-5:#c3a49c;}
[data-theme='moss'] {--bg:#10221e;--bg-deep:#0c1b18;--bg-raised:#1c342b;--world-accent:#c2d7a5;--cta:#c4d5a7;--cta-ink:#17251b;--world-halo:#6f996b;--ink-3:#b5cdbf;--ink-4:#a3bfae;}
[data-theme='ink'] {--bg:#151719;--bg-deep:#101214;--bg-raised:#25272a;--world-accent:#e8e0d0;--cta:#e1dbd0;--cta-ink:#1b1c1d;--world-halo:#96908a;--ink:#f0ede6;--ink-3:#c0bfb9;--ink-4:#acaea9;--ink-5:#a6aaa5;}
[data-theme='founders'] {--bg:#102729;--bg-deep:#0c2022;--bg-raised:#1d383a;--world-accent:#e0c995;--cta:#d7c496;--cta-ink:#193032;--world-halo:#388987;--ink:#e4eeea;--ink-3:#b8cdcb;--ink-4:#aac1be;--ink-5:#a0b7b3;}
:root {--world-halo:transparent;}
.app-screen,.public-editorial {background:radial-gradient(ellipse at 86% -12%,color-mix(in srgb,var(--world-halo) 13%,transparent),transparent 50%),var(--bg);}
.viewport,.screen:has(.room-page) {background:transparent;}
.screen--landing {background:var(--bg);}
.app-screen,body {transition:none;}
::view-transition-group(root) {animation-duration:280ms;animation-timing-function:cubic-bezier(.16,1,.3,1);}
::view-transition-old(root) {animation-duration:200ms;mix-blend-mode:normal;}
::view-transition-new(root) {animation-duration:280ms;mix-blend-mode:normal;}
@media(prefers-reduced-motion:reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none;}}
.language-picker {font-family:var(--font-sans);font-size:12px;line-height:1.4;color:var(--ink);background:transparent;border:1px solid var(--line-soft);border-radius:4px;min-height:40px;padding:7px 5px;max-width:110px;cursor:pointer;}
.language-picker option {background:var(--bg);color:var(--ink);}
.language-picker:focus-visible {outline:2px solid var(--world-accent,var(--cta));outline-offset:3px;}
.footer-language {display:flex;align-items:center;gap:12px;font-size:12px;margin-top:7px;}
.footer-language .language-picker {color:#fff;border-color:#ffffff55;min-height:36px;}
.footer-language .language-picker option {color:#fff;background:#17201b;}
.portfolio-masthead .language-picker {margin-left:auto;margin-right:18px;}
.auth-navigation {display:flex;align-items:center;justify-content:space-between;gap:20px;}
.portfolio-script:not(.is-translated) {aspect-ratio:auto;overflow:visible;clip-path:none;mix-blend-mode:normal!important;}
.portfolio-script:not(.is-translated) img {position:static;width:100%;height:auto;filter:none;}
html:not([data-theme='gouache']) .portfolio-script:not(.is-translated) img {filter:brightness(1.1) invert(1);}
.room-lettering:not(.is-translated) {aspect-ratio:auto;overflow:visible;clip-path:none;mix-blend-mode:normal!important;}
.room-lettering:not(.is-translated) img {position:static;width:100%;height:auto;filter:none;}
html:not([data-theme='gouache']) .room-lettering:not(.is-translated) img {filter:brightness(1.1) invert(1);}
@media(max-width:420px){[data-member='true'] #searchBtn{display:none;}.portfolio-masthead{gap:10px;}.portfolio-masthead .language-picker{margin-right:0;}.portfolio .bio-wordmark{font-size:25px;}}
/* Legible Thai typography; language changes never modify journal or artwork data. */
html:lang(th) {--font-serif:'Noto Serif Thai',Georgia,serif;--font-sans:'Noto Sans Thai',system-ui,sans-serif;--font-script:'Caveat','Noto Serif Thai',serif;}
html:lang(th) h1,html:lang(th) h2,html:lang(th) .headline {letter-spacing:0!important;line-height:1.45!important;font-weight:400;}
html:lang(th) .portfolio-intro h1 {font-size:clamp(48px,7vw,96px);}
html:lang(th) .portfolio-intro>p {margin-top:20px;}
.is-translated.room-lettering,.is-translated.portfolio-script {width:auto;max-width:none;aspect-ratio:auto;overflow:visible;clip-path:none;mix-blend-mode:normal!important;margin:8px 0 18px;transform:none;}
.localized-lettering {display:block;font-family:var(--font-serif);font-size:.62em;line-height:1.55;letter-spacing:0;color:var(--world-accent,var(--cta));}
.lettering-journal .localized-lettering {font-size:28px;}
html:lang(th) .room-page h1 {font-size:clamp(42px,5vw,70px);}
html:lang(th) .room-page h2 {font-size:30px;}
html:lang(th) .public-hero h1 {font-size:clamp(42px,6vw,80px);}
html:lang(th) .room-page p,html:lang(th) .screen-sub {font-size:20px;line-height:1.75;}
html:lang(th) .room-eyebrow,html:lang(th) .eyebrow {letter-spacing:0;text-transform:none;}
html:lang(th) .desktop-nav a,html:lang(th) .public-header nav a {font-size:17px;}
html:lang(th) .sound-row__name {font-size:22px;}
html:lang(th) .portfolio-link-title {font-size:26px;}
html:lang(th) .portfolio-action {font-size:20px;}
html:lang(th) .meadow-footer__links {font-size:13px;line-height:1.6;}
html:lang(th) .auth-copy h1 {font-size:clamp(42px,5vw,72px);}
@media(max-width:900px){
 .top-actions {gap:2px;}
 .top-bar {padding-inline:14px;gap:8px;}
 .top-bar .logo {font-size:25px;}
 .language-picker {font-size:11px;min-height:40px;}
 .logout-button {font-size:16px;padding-inline:3px;}
 .action-btn {width:36px;height:40px;}
 html:lang(th) .logout-button {font-size:13px;}
}
@media(min-width:900px) and (max-width:1150px){.desktop-create{display:none;}.desktop-nav{gap:18px;}}
@media(max-width:640px){
 .footer-language {justify-content:center;margin-top:10px;}
 .meadow-footer {height:750px;}
 .meadow-footer__content {top:37%;}
 .meadow-footer__links {margin-top:12px;}
 html:lang(th) .portfolio-intro h1 {font-size:clamp(38px,10vw,62px);}
 html:lang(th) .portfolio-watch {padding-inline:45px;}
 html:lang(th) .room-page h1 {font-size:42px;}
 html:lang(th) .room-page p {font-size:18px;}
 html:lang(th) .room-page h2 {font-size:26px;}
 html:lang(th) .studio-play {font-size:25px;}
 html:lang(th) .public-hero h1 {font-size:38px;}
 html:lang(th) .portfolio-contact {font-size:16px;}
 html:lang(th) .footer-light {font-size:20px;}
}
