:root{color-scheme:dark;--ink:#f3e9d7;--muted:#a3acc2;--gold:#dfbe84}
*{box-sizing:border-box}body{margin:0;background:#070b1b;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background-image:radial-gradient(ellipse at 50% 48%,#15234780,transparent 58%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid var(--gold);outline-offset:5px}main{min-height:100svh;display:flex;flex-direction:column;overflow:hidden}header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:26px 5vw}.wordmark{color:var(--ink);text-decoration:none;font-size:14px;letter-spacing:3px;display:flex;align-items:center;gap:12px}.wordmark span{font-size:28px;color:var(--gold)}.quiet{background:#ffffff04;border:1px solid #ffffff19;color:#b8bfd0;border-radius:99px;padding:11px 17px;font-size:13px}.experience{position:relative;flex:1;display:flex;flex-direction:column;align-items:center}.intro{text-align:center;position:relative;z-index:1;pointer-events:none}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:3.5px;margin:18px 0 20px}h1{font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(29px,3.5vw,46px);font-weight:400;letter-spacing:5px;margin:0 0 16px}.subtitle{color:var(--muted);font-size:14px;letter-spacing:2px;margin:0}#stage{width:100%;height:clamp(390px,53vh,620px);position:relative;touch-action:none;cursor:grab;outline-offset:-5px}#stage:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;color:var(--muted)}#loading span{color:var(--gold);animation:twinkle 1.2s infinite alternate}.orbit-label{position:absolute;left:calc(50% + 270px);top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:4px;color:#7f8ca5;opacity:.6;pointer-events:none}.wish-panel{text-align:center;padding:0 20px 14px;z-index:1}#hint{font-size:12px;color:#99a4bb;letter-spacing:1px;margin:0 0 22px}.wish-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:14px 32px;border:1px solid #dab77972;border-radius:99px;color:#f0d8b1;background:linear-gradient(120deg,#d9ae6220,#af8b5110);box-shadow:0 0 30px #d8a85609;transition:background .2s,transform .2s}.wish-button:hover{background:#d9ae6230;transform:translateY(-2px)}.wish-button:disabled{opacity:.4;cursor:wait}.wish-button>span:first-child{font-size:22px}#message{color:#8f9ab1;font-size:13px;letter-spacing:1px;margin:20px 0 0;min-height:22px}.wished #message{color:#e7c890}footer{padding:22px 5vw 24px;display:flex;align-items:center;justify-content:center;gap:20px;color:#6e7b94;font-size:10px;letter-spacing:2px}.footer-star{color:#bda170;font-size:12px}@keyframes twinkle{to{opacity:.2}}@media(min-width:900px) and (min-height:900px){#stage{height:59vh}}@media(max-width:600px){header{padding:18px 22px 12px}.eyebrow{font-size:9px;letter-spacing:2.5px;margin:20px 0 18px}h1{letter-spacing:3px;margin-bottom:13px}.subtitle{font-size:12px;letter-spacing:1px}#stage{height:clamp(330px,49svh,530px)}.orbit-label{display:none}#hint{font-size:12px;margin-bottom:18px}.wish-button{min-height:52px;font-size:14px;padding:12px 27px}#message{font-size:12px;margin-top:17px}footer{font-size:9px;letter-spacing:1.4px;padding:18px 14px 22px;gap:12px}.quiet{font-size:12px;padding:10px 13px}.wordmark{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
