:root{color-scheme:light;font-family:"Microsoft YaHei",system-ui,sans-serif;color:#263746;background:#eef0ec}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #496bae;outline-offset:5px}[hidden]{display:none!important}
.welcome{min-height:100dvh;display:grid;place-content:center;padding:32px 22px;position:relative;overflow:hidden}
.welcome:before{content:"";position:absolute;width:550px;height:550px;border:1px solid #496bae15;border-radius:50%;left:calc(50% - 275px);top:calc(50% - 300px);pointer-events:none}
.intro,.choices,.welcome-note{position:relative}.intro{text-align:center}.brand-mark{display:inline-flex;gap:5px;margin-bottom:22px}.brand-mark i{width:13px;height:13px;background:#496bae}.brand-mark i:last-child{background:#c97544;transform:translateY(-6px)}
.eyebrow{font-size:11px;letter-spacing:3px;color:#697b89;margin:0 0 10px}h1{font-size:clamp(22px,4vw,32px);font-weight:500;margin:0 0 12px}.intro p:last-child{font-size:14px;color:#72808a;margin:0}
.choices{display:grid;grid-template-columns:repeat(2,240px);gap:18px;margin-top:38px}.choice{padding:28px 20px 24px;background:#fafbf8;border:1px solid #cfd6d5;border-radius:8px;display:flex;align-items:center;flex-direction:column;gap:13px;color:inherit;transition:transform .18s,border-color .18s}.choice:hover{transform:translateY(-3px);border-color:#c97544}.choice strong{font-size:18px;font-weight:500}.choice small{font-size:12px;color:#73818b}.device-wrap{height:85px;display:grid;place-items:center}.device{border:2px solid #496bae;border-radius:5px;display:block;position:relative;background:radial-gradient(circle at center,#c9754430 0,transparent 55%)}.phone{width:42px;height:74px}.desktop{width:108px;height:61px}.device:after{content:"";position:absolute;inset:20%;border:1px dotted #c97544;border-radius:50%}.welcome-note{text-align:center;color:#879199;font-size:12px;margin-top:22px}
.viewer-shell{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.mode-bar{height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px;background:#fafbf8;border-bottom:1px solid #d7dddc}.mode-brand{font-size:13px;letter-spacing:1px}.mode-actions{display:flex;align-items:center;gap:6px}.mode-actions button{background:none;border:1px solid transparent;border-radius:4px;color:#6b7984;font-size:12px;padding:7px 10px}.mode-actions button[aria-pressed=true]{color:#ad6239;border-color:#c9754440;background:#c9754410}.viewport-area{flex:1;min-height:0;display:grid;place-items:center;padding:12px;overflow:hidden}.viewport-frame{position:relative;background:#f2f4f1;box-shadow:0 8px 35px #26374612;overflow:hidden}.viewport-frame iframe{position:absolute;left:0;top:0;transform-origin:top left;border:0;background:#f2f4f1}
@media(max-width:540px){.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.choice{padding:24px 13px 20px}.choice strong{font-size:16px}.choice small{font-size:11px}.mode-bar{padding:0 10px}.mode-brand{font-size:11px}.mode-actions{gap:0}.mode-actions button{padding:7px;font-size:11px}.viewport-area{padding:6px}.welcome{padding:26px 18px}}
@media(prefers-reduced-motion:reduce){.choice{transition:none}}

.official-logo{display:block;width:min(580px,82vw);height:auto;margin:0 auto 24px;mix-blend-mode:multiply}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.viewer-shell{height:100vh;height:100dvh}.welcome{min-height:100vh;min-height:100dvh}.mode-bar{padding-top:env(safe-area-inset-top);height:calc(54px + env(safe-area-inset-top))}.viewport-area{padding-bottom:max(6px,env(safe-area-inset-bottom))}

/* Only the two display choices remain above the portfolio. */
.mode-bar{justify-content:center;height:calc(36px + env(safe-area-inset-top));padding-left:8px;padding-right:8px;background:transparent;border:0}
.mode-actions{gap:12px}.mode-actions button{padding:5px 10px;font-size:12px;border:0;border-radius:0}
.mode-actions button[aria-pressed=true]{background:transparent;border-bottom:1px solid #c97544;color:#a45c35}
.viewport-area{padding-top:0}
/* Larger mode controls, including the mobile outer toolbar. */
.mode-bar{height:calc(44px + env(safe-area-inset-top))}
.mode-actions button{font-size:15px;font-weight:500;padding:8px 12px;min-height:40px}

/* Persistent bottom mode switch, leaving the opening view to the sphere. */
.viewer-shell .mode-bar{order:2;height:calc(40px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);flex:0 0 auto}
.viewer-shell .mode-actions{justify-content:center;gap:16px}
.viewer-shell .mode-actions button{font-size:13px;min-height:36px;padding:5px 10px;color:#d9a77f}
.viewer-shell .viewport-area{order:1;padding:0}
