:root{--rose:#c81d40;--rose-light:#ff6b8a;--ink:#050203;--text:#f5e6ea;--text-dim:#f5e6ea9e}*{box-sizing:border-box}html,body{background:radial-gradient(120% 90% at 50% 38%, #1b0608 0%, #0a0304 46%, var(--ink) 100%);width:100%;height:100%;color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#app canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.loader{background:var(--ink);z-index:50;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:22px;transition:opacity .9s;display:flex;position:fixed;inset:0}.loader.hidden{opacity:0}.loader-rose{background:radial-gradient(circle at 38% 35%, var(--rose-light), var(--rose) 55%, #4a0010 100%);border-radius:50%;width:46px;height:46px;animation:1.5s ease-in-out infinite bloom;box-shadow:0 0 28px 6px #c81d408c}@keyframes bloom{0%,to{opacity:.75;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}.loader-text{letter-spacing:2px;color:var(--text-dim);font-size:13px}.title{top:calc(env(safe-area-inset-top,0px) + 22px);z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;left:24px}.title h1{letter-spacing:3px;background:linear-gradient(120deg, #fff0f3 0%, var(--rose-light) 60%, var(--rose) 100%);color:#0000;text-shadow:0 0 24px #c81d4059;-webkit-background-clip:text;background-clip:text;margin:0;font-size:20px;font-weight:600}.title .subtitle{letter-spacing:4px;text-transform:uppercase;color:var(--text-dim);margin:4px 0 0;font-size:11px}.mode-hint{top:calc(env(safe-area-inset-top,0px) + 22px);z-index:20;letter-spacing:1px;color:var(--text);-webkit-backdrop-filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#14060873;border:1px solid #ff6b8a38;border-radius:999px;padding:7px 15px;font-size:12px;transition:opacity .6s;position:fixed;left:50%;transform:translate(-50%)}.mode-hint.fade{opacity:.35}.divine-card{z-index:30;text-align:center;-webkit-backdrop-filter:blur(12px);pointer-events:none;-webkit-user-select:none;user-select:none;background:#12060ab3;border:1px solid #ff6b8a4d;border-radius:18px;min-width:220px;padding:26px 30px;transition:opacity .4s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px -20px #000000b3}.divine-card.hidden{opacity:0}.divine-text{letter-spacing:2px;background:linear-gradient(120deg, #fff0f3, var(--rose-light), var(--rose));color:#0000;text-shadow:0 0 24px #c81d4066;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:600}.divine-reset{pointer-events:auto;letter-spacing:1px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c81d4040;border:1px solid #ff6b8a66;border-radius:999px;margin-top:16px;padding:8px 18px;font-family:inherit;font-size:13px}.divine-reset.hidden{display:none}.divine-reset:active{transform:scale(.96)}.controls{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);z-index:21;-webkit-backdrop-filter:blur(10px);scrollbar-width:none;background:#12060a80;border:1px solid #ff6b8a33;border-radius:999px;gap:6px;max-width:calc(100vw - 24px);padding:6px;display:flex;position:fixed;overflow-x:auto;transform:translate(-50%)}.controls::-webkit-scrollbar{display:none}.ctl{letter-spacing:1px;color:var(--text);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;flex:none;padding:9px 14px;font-family:inherit;font-size:12.5px;transition:background .18s,color .18s,transform 80ms}.ctl:hover{background:#ff6b8a24}.ctl:active{transform:scale(.95)}.ctl[aria-pressed=true],.ctl[data-active=true]{color:#fff;background:linear-gradient(135deg,#c81d408c,#ff6b8a73)}@media (width<=560px){.title h1{font-size:17px}.title .subtitle{letter-spacing:3px;font-size:10px}.mode-hint{top:calc(env(safe-area-inset-top,0px) + 12px);padding:6px 12px;font-size:10.5px}.title{top:calc(env(safe-area-inset-top,0px) + 12px);left:14px}.ctl{padding:8px 11px;font-size:11.5px}.divine-text{font-size:17px}}
