*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#15202a;color:#f2e8d4}body{font:13px 'Microsoft YaHei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #ffe6a7;outline-offset:5px}a{color:inherit;text-decoration:none}.inspector{min-height:54px;display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:8px 18px;border-bottom:1px solid #ae95613b;background:#14202a}.inspector strong{font-weight:400;white-space:nowrap}.states{display:flex;gap:6px}.states button{padding:7px 13px;background:transparent;border:1px solid #b7a2776b}.states button.active{background:#dbc8a2;color:#18232b}.checks{display:flex;gap:12px;margin-left:auto;font-size:11px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:4px;white-space:nowrap}.checks input{accent-color:#dac299}.footer{font-size:12px;line-height:1.7;color:#a9a290;border:0;display:block;padding:15px 22px 22px}#artboard{position:relative;isolation:isolate;width:100%;max-width:1568px;aspect-ratio:1568/1003;overflow:hidden;container-type:inline-size;margin:auto;background:#162532}#backgrounds{position:absolute;inset:0}.background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.after-painting{opacity:0;transition:opacity 1.6s ease}#artboard[data-state=after] .after-painting{opacity:1}.scene-header{position:absolute;top:1.5%;left:2%;right:2.1%;display:flex;justify-content:space-between;align-items:center;z-index:20;font-family:Georgia,'Times New Roman',serif}.brand{font-size:2.8cqw;font-weight:400;letter-spacing:.01em;white-space:nowrap;text-shadow:0 2px 12px #0006}.brand>span{font-size:4cqw;color:#d35d9c;vertical-align:middle;margin-right:.4cqw}.locale{position:relative}#language{font:1.55cqw Georgia,serif;background:none;border:0;padding:.5cqw .6cqw;letter-spacing:.04em;text-shadow:0 1px 8px #000}#language>span{font-size:.7em;margin-left:.6em}#language-options{position:absolute;right:0;top:calc(100% + 10px);width:185px;padding:7px;border:1px solid #c7ae7559;background:#172532ef;backdrop-filter:blur(12px);box-shadow:0 10px 35px #0005}#language-options button{display:flex;justify-content:space-between;width:100%;padding:10px;border:0;background:transparent;text-align:left;font:13px 'Microsoft YaHei',sans-serif}#language-options button:hover,#language-options [aria-checked=true]{background:#ebd6b01a}#language-options small{opacity:.5;font:10px Arial;align-self:center}#orbit{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;background:transparent}#orbs{position:absolute;inset:0;z-index:4;pointer-events:none;background:transparent}.orb{position:absolute;left:0;top:0;display:block;aspect-ratio:1;border-radius:50%;pointer-events:auto;will-change:transform;width:16%}.orb img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:filter .25s}.orb:hover img{filter:drop-shadow(0 0 .5cqw #fff5)}#directory{position:absolute;z-index:10;left:43.8%;top:33.5%;bottom:16%;display:flex;flex-direction:column;gap:0;justify-content:space-between;width:max-content;pointer-events:none;background:transparent;transition:none}#directory:before{content:'';position:absolute;left:0;top:1.275cqw;bottom:1.275cqw;width:1px;box-shadow:0 0 .28cqw #fff0ce99,0 0 .65cqw #e4bc7666;background:linear-gradient(transparent,#fff1d5 10%,#fff1d5 90%,transparent)}.entry{position:relative;display:flex;align-items:center;pointer-events:auto;width:max-content;white-space:nowrap;height:2.55cqw;font-family:Georgia,'Songti SC',SimSun,serif;filter:drop-shadow(0 0 .12cqw var(--accent)) drop-shadow(0 0 .42cqw var(--accent));transform-origin:0 50%;transition:transform .4s,filter .4s}.entry i{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);width:.85cqw;height:.85cqw;border:1.5px solid #fffce9;border-radius:50%;background:#fffce9;box-shadow:0 0 .22cqw .06cqw #fff9de,0 0 .6cqw .12cqw var(--accent),0 0 1cqw var(--accent);z-index:2}.tab{position:relative;display:flex;align-items:center;gap:1.3cqw;margin-left:.4cqw;padding:.18cqw 1cqw .28cqw 1.8cqw;min-width:10cqw;font-size:1.65cqw;line-height:1.25;color:#fffdf1;text-shadow:0 1px 3px #000,0 0 .11cqw #fff2ccaa,0 0 .42cqw var(--accent)}.tab:before,.tab:after{position:absolute;content:'';clip-path:polygon(0 50%,10% 0,90% 0,100% 50%,90% 100%,10% 100%);z-index:-2;inset:-.13cqw -.19cqw;background:var(--accent);opacity:1}.tab:after{inset:0 -.06cqw;z-index:-1;background:linear-gradient(90deg,#17212bdc,#18232bd9);opacity:1}.long .tab{font-size:1.13cqw;gap:.4cqw;min-width:0}.entry b{font-weight:400;font-size:1.7cqw;line-height:1}.entry.selected{transform:scale(1.11);filter:drop-shadow(0 0 .18cqw #fff1c280) drop-shadow(0 0 .65cqw var(--accent))}#directory.english .tab{font-size:1.13cqw;gap:.7cqw}#directory.english .long .tab{font-size:.86cqw;gap:.4cqw}#contact{position:absolute;left:48.5%;top:35.6%;width:0;height:0;z-index:12;pointer-events:none;opacity:0;transition:opacity .7s ease .9s}#artboard[data-state=after] #contact{opacity:1}.aura{position:absolute;transform:translate(-50%,-50%);width:9cqw;height:9cqw;border-radius:50%;background:radial-gradient(circle,#fff8dc94 0,#fbd48d3d 8%,#ffe6bb12 25%,transparent 65%)}.star{position:absolute;transform:translate(-50%,-50%);width:.4cqw;height:.4cqw;border-radius:50%;background:#fff9dd;box-shadow:0 0 .3cqw .1cqw #fff4ca,0 0 1.5cqw .25cqw #ffd49b88}.star:before,.star:after{content:'';position:absolute;left:50%;top:50%;width:4.5cqw;height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#fff3c4,transparent)}.star:after{transform:translate(-50%,-50%) rotate(90deg);width:3.5cqw}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}body.export .inspector{display:none}body.export #artboard{max-width:none}body.export .after-painting,body.export #directory,body.export #contact{transition:none}@media(max-width:720px){.inspector{gap:8px;padding:9px}.checks{width:100%;margin-left:0;gap:10px}.states button{padding:6px 10px}.footer{font-size:11px}.scene-header{top:1%}#language-options{width:155px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.orb img{transform:scale(1.1)}.orb[data-id='2'] img,.orb[data-id='3'] img{transform:scale(1.2)}

.orb-checks{position:relative}.orb-checks summary{cursor:pointer;white-space:nowrap}.orb-checks>div{position:absolute;right:0;top:24px;z-index:80;background:#152330f5;border:1px solid #bda87670;box-shadow:0 10px 35px #0006;min-width:125px;padding:12px;display:grid;gap:12px}

/* Circular menu: the four row positions stay anchored in both paintings. */
#directory{display:block;width:19.5cqw;pointer-events:auto;touch-action:none;overscroll-behavior:contain}
#directory .entry{position:absolute;left:0}
#directory .entry.departing{pointer-events:none}

/* Full viewport paintings. The image plane covers the window with room for parallax. */
html:has(.production-home),body.production-home{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body.production-home{display:block;min-height:100dvh;background:#172832}
body.production-home #artboard{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;aspect-ratio:auto;margin:0}
#backgrounds{inset:auto;will-change:transform;pointer-events:none}
.background{transition:none;object-fit:fill}
.painting-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none;opacity:0}
.scene-header{top:max(14px,2.2vh);left:2.2%;right:2.2%;align-items:center}
.brand{font-size:clamp(22px,2.8cqw,52px)}.brand>span{font-size:clamp(30px,4cqw,64px)}
#language{font-size:clamp(15px,1.55cqw,25px)}
#directory{overflow:visible;outline:none}
#directory .entry{height:2.55cqw;min-height:26px}
#directory:before{top:13px;bottom:13px}
#directory .tab{font-size:clamp(15px,1.65cqw,29px)}
#directory .long .tab{font-size:clamp(11px,1.13cqw,20px)}
#directory .entry i{min-width:7px;min-height:7px}
#contact{transition:opacity .14s;z-index:12}
#contact .star{width:5px;height:5px}
#artboard[data-phase=contact] #contact,#artboard[data-phase=revealing] #contact{opacity:1}
#artboard[data-phase=contact] #contact .aura{animation:contact-bloom .5s ease-out both}
#artboard[data-phase=reaching] .entry.selected{filter:drop-shadow(0 0 .25cqw #fff7cf) drop-shadow(0 0 1cqw var(--accent))}
#artboard[data-phase=revealing] .scene-header,#artboard[data-phase=reaching] .scene-header{pointer-events:none}
#portal-stage{position:fixed;inset:0;z-index:110;pointer-events:none}
#destination-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#111c29;visibility:hidden;pointer-events:none;will-change:clip-path}
#portal-sparks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#portal-wait{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);padding:10px 18px;color:#fff0d6;background:#172631e8;border:1px solid #d7c49455;border-radius:30px;font-size:13px;pointer-events:auto}
#portal-wait button{margin-left:18px;border:0;background:transparent;text-decoration:underline}
body.in-project>#artboard,body.in-project>#mtd-account-root,body.in-project>.mtd-charity{visibility:hidden}
@keyframes contact-bloom{from{transform:translate(-50%,-50%) scale(.25);opacity:0}to{transform:translate(-50%,-50%) scale(1.35);opacity:1}}
@media(max-width:600px){
  .scene-header{left:16px;right:16px;top:14px}.brand{font-size:22px}.brand>span{font-size:30px;margin-right:0}
  #language{font-size:14px;padding:5px 0}#directory{width:48vw}#directory .tab{gap:8px;padding:4px 12px 4px 15px;min-width:85px}
  #directory .long .tab{font-size:10px;gap:4px;min-width:0}#directory .entry b{font-size:16px}
  #directory.english .tab{font-size:11px}#directory.english .long .tab{font-size:8px}
  #portal-wait{white-space:nowrap;font-size:12px}.scene-header .scene-actions{gap:9px}
}
@media(prefers-reduced-motion:reduce){#contact .aura{animation:none!important}}
