:root{color:#1d1d1f;background:#f5f4ef;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-height:100%;background:#f5f4ef}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible{outline:2px solid #2d6754;outline-offset:3px}.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:clamp(20px,5vw,44px) 16px 40px;display:grid;align-items:center}body.has-debug-panel .app-shell{min-height:calc(100vh + min(360px,52vh));padding-bottom:calc(40px + min(360px,52vh));align-items:start}.hero-panel,.quiz-panel,.result-panel,.placeholder-panel,.no-permission-panel{width:100%;padding:clamp(22px,6vw,36px);border:1px solid #d9d4c9;border-radius:8px;background:#fffdf8;box-shadow:0 20px 60px #1d1d1f14}.quiz-panel{height:calc(100vh - clamp(20px,5vw,44px) - 40px);height:calc(100dvh - clamp(20px,5vw,44px) - 40px);min-height:560px;display:flex;flex-direction:column}.brand-mark,.result-visual,.placeholder-box,.prize-placeholder{border:1px solid #252525;border-radius:8px;background:linear-gradient(135deg,rgba(45,103,84,.08),transparent 42%),#f3efe4}.brand-mark{width:clamp(92px,26vw,124px);aspect-ratio:1;display:grid;place-items:center;margin-bottom:28px}.small-mark{width:84px;margin-top:20px}.brand-mark span,.result-visual span,.placeholder-box span,.prize-placeholder span{color:#252525;font-size:clamp(42px,16vw,76px);font-weight:800;letter-spacing:0}.eyebrow{margin:0 0 10px;color:#2d6754;font-size:13px;font-weight:700}h1,h2{margin:0;letter-spacing:0;line-height:1.12}h1{font-size:clamp(38px,13vw,68px)}h2{font-size:clamp(24px,7vw,34px)}.lead{margin:18px 0 0;color:#55504a;font-size:17px;line-height:1.8}.muted{margin:18px 0 0;color:#7b756b;font-size:13px;line-height:1.6}.role-actions,.action-stack,.options-list{display:grid;gap:12px;margin-top:28px}.role-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.primary-action,.primary-small,.secondary-action,.text-action,.option-button{min-height:48px;border-radius:8px;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.primary-action{padding:18px;border:1px solid #1d1d1f;background:#1d1d1f;color:#fffdf8;text-align:left}.primary-action.secondary{background:#2d6754;border-color:#2d6754}.primary-action span{display:block;font-size:20px;font-weight:800}.primary-action small{display:block;margin-top:4px;color:#fffdf8c7;font-size:13px}.primary-small,.secondary-action,.text-action{width:100%;padding:0 16px}.primary-small{border:1px solid #1d1d1f;background:#1d1d1f;color:#fffdf8;font-weight:800}.secondary-action{border:1px solid #c9c2b4;background:#fffdf8;color:#1d1d1f;font-weight:700}.text-action{border:0;background:transparent;color:#5c554b;text-decoration:underline;text-underline-offset:4px}.primary-small:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.45;transform:none}.progress-copy,.step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-copy{color:#6f695e;font-size:13px}.progress-track{height:8px;margin:10px 0 28px;overflow:hidden;border-radius:999px;background:#e4ded2}.progress-fill{height:100%;border-radius:inherit;background:#2d6754}.option-button{width:100%;display:grid;grid-template-columns:34px 1fr;align-items:start;gap:12px;padding:16px;border:1px solid #d9d4c9;background:#fffdf8;color:#252525;text-align:left;line-height:1.55}.quiz-panel .options-list{min-height:0;flex:1;align-content:start;overflow-y:auto;padding-right:2px}.option-button.is-selected{border-color:#2d6754;background:#e9f1ec}.option-letter{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#1d1d1f;color:#fffdf8;font-size:14px;font-weight:800}.quiz-actions{display:grid;gap:12px;margin-top:auto;padding-top:24px}.step-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.result-panel{align-self:start}.result-visual{width:100%;aspect-ratio:16 / 10;display:grid;place-items:center;margin:6px 0 24px}.result-visual span{font-size:clamp(52px,18vw,88px)}.analysis-panel{margin:0;padding:20px 0 8px;border-top:1px solid #ded7ca;border-bottom:1px solid #ded7ca}.analysis-panel p{margin:16px 0 0;color:#3f3b36;font-size:15px;line-height:1.9}.inline-status{margin:16px 0 0;color:#2d6754;font-size:14px}.ace-tip{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;margin-bottom:14px;padding:14px;border:1px solid #b99d63;border-radius:8px;background:#fff7df}.ace-tip strong,.ace-tip p{margin:0}.ace-tip p{margin-top:4px;color:#6c5a37;font-size:13px;line-height:1.5}.icon-button{width:32px;height:32px;border:1px solid #cbb675;border-radius:999px;background:#fffdf8;color:#3a3021;cursor:pointer}.modal-backdrop{position:fixed;inset:0;z-index:80;width:100vw;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:16px;background:#f5f4ef}.identity-backdrop{position:fixed;inset:0;z-index:120;width:100vw;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:18px;background:#f5f4eff5}.identity-card{width:min(100%,500px);padding:clamp(24px,7vw,44px);border:1px solid #d9d4c9;border-radius:8px;background:#fffdf8;box-shadow:0 24px 80px #1d1d1f29}.identity-card h2{margin-top:8px}.identity-card .primary-small{margin-top:28px}.game-loading-card{text-align:left}.ace-intro-card{transform-origin:center;animation:expandIntro .24s ease-out both}.identity-progress{height:10px;margin-top:26px;overflow:hidden;border-radius:999px;border:1px solid #1d1d1f;background:#f3efe4}.identity-progress span{display:block;width:46%;height:100%;border-radius:inherit;background:#2d6754;animation:identityLoading .98s ease-in-out infinite alternate}.loading-note{margin:12px 0 0;color:#7b756b;font-size:13px;line-height:1.6}.egg-stage,.lottery-card{width:min(100%,520px);min-height:calc(100dvh - 32px);display:grid;align-content:center;justify-items:center;border:1px solid #d9d4c9;padding:28px;border-radius:8px;background:#fffdf8;text-align:center;box-shadow:0 20px 60px #1d1d1f14}.egg-shell{width:104px;height:132px;margin:0 auto 18px;border:2px solid #1d1d1f;border-radius:52% 52% 46% 46%;background:#f3efe4;animation:crack .76s ease-in-out infinite alternate}.egg-stage p{margin:0;color:#55504a}.lottery-card h2{margin-top:8px}.prize-placeholder{width:min(100%,360px);min-height:180px;display:grid;place-items:center;margin:24px 0}.prize-placeholder span{font-size:20px}.placeholder-box{min-height:220px;display:grid;place-items:center;gap:4px;margin:28px 0;padding:20px;text-align:center}.placeholder-box span{font-size:46px}.placeholder-box p{margin:0;color:#6f695e}.debug-panel{position:fixed;right:10px;bottom:10px;z-index:50;width:min(420px,calc(100vw - 20px));max-height:52vh;border:1px solid #1d1d1f;border-radius:8px;background:#101010;color:#e8f0eb;box-shadow:0 18px 45px #00000042}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.18)}.debug-panel-header strong{font-weight:800}.debug-panel-actions{display:flex;gap:6px}.debug-panel-actions button{min-height:30px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff14;color:#e8f0eb;cursor:pointer;font-size:12px}.debug-role-switch{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px}.debug-role-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.debug-role-buttons button{min-height:32px;padding:0 6px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff14;color:#e8f0eb;cursor:pointer;font:inherit}.debug-role-buttons button.is-active{border-color:#e8f0eb;background:#e8f0eb;color:#101010;font-weight:800}.debug-panel pre{margin:0;padding:12px;overflow-x:hidden;overflow-y:auto;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.debug-panel.is-minimized pre,.debug-panel.is-minimized .debug-role-switch{display:none}.debug-panel.is-minimized .debug-panel-header{border-bottom:0}@keyframes crack{0%{transform:rotate(-3deg) scale(1)}to{transform:rotate(3deg) scale(1.04)}}@keyframes identityLoading{0%{transform:translate(-40%)}to{transform:translate(180%)}}@keyframes expandIntro{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:720px){.app-shell{width:min(100%,620px)}}@media(max-width:430px){.step-actions{align-items:stretch}.text-action{min-height:40px}}
