.fair-root{color:#fff8ee;background:radial-gradient(circle at 8% -10%,#ff4d2e73,#0000 34%),radial-gradient(circle at 100% 0,#7b61ff6b,#0000 32%),radial-gradient(circle at 50% 120%,#ffd23f38,#0000 36%),#140e0b;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,sans-serif;position:fixed;inset:0;overflow:auto}.fair-root button,.fair-root a{font:inherit}.hub{width:min(1080px,100% - 32px);margin:0 auto;padding:48px 0 32px}.eyebrow,.kicker{color:#ffd23f;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.85rem;font-weight:700}.hub h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);font-weight:900;line-height:1.15}.fair-top h1{margin:0;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:900;line-height:1.15}.lede{color:#fff8eed1;max-width:40rem;margin:14px 0 0;font-size:1.05rem}.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.hub-card{color:#1a120c;text-align:left;border:0;border-radius:28px;flex-direction:column;align-items:flex-start;gap:10px;min-height:280px;padding:22px;display:flex;box-shadow:0 18px 40px #00000038}.hub-card span{opacity:.7;font-size:.9rem;font-weight:800}.hub-card strong{font-size:1.7rem;font-weight:900;line-height:1.2}.hub-card em{font-size:1.02rem;font-style:normal;line-height:1.45}.hub-card b{background:#140e0b1f;border-radius:999px;margin-top:auto;padding:6px 10px;font-size:.85rem;font-weight:800}.hub-card-smash{background:#ff5a36}.hub-card-choice{background:#ffd23f}.hub-card-gacha{background:#d7ccff}.hub-card:hover{transform:translateY(-3px)}.fair-play{box-sizing:border-box;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 280px;gap:20px 22px;height:100dvh;padding:28px 28px 24px;display:grid}.fair-top{grid-column:1/-1;align-items:center;gap:14px;display:flex}.back-btn,.text-btn,.solid-btn,.crank{cursor:pointer;border:0}.back-btn,.text-btn{color:#fff8ee;background:#fff8ee1f;border-radius:999px;padding:10px 14px}.solid-btn{color:#1a120c;background:#fff8ee;border-radius:999px;padding:14px 18px;font-weight:800}.fair-stage{justify-content:center;align-items:flex-start;min-width:0;min-height:0;padding-top:4px;display:flex}.fair-stage>*{width:100%}.fair-cam{background:#140e0b73;border:1px solid #fff8ee24;border-radius:28px;flex-direction:column;align-self:start;gap:10px;padding:12px;display:flex}.cam{aspect-ratio:4/3;background:radial-gradient(circle at 50% 42%,#fff8ee24,#0000 46%),#241810;border-radius:18px;position:relative;overflow:hidden}.cam.is-seen{border-color:#7dffa6}.cam.is-error{border-color:#ff5a36}.cam video,.cam canvas{object-fit:cover;background:0 0;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.cam canvas{z-index:1;pointer-events:none}.cam.is-blank video{opacity:0}.cam-empty{z-index:2;color:#fff8eedb;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:800;display:flex;position:absolute;inset:0}.cam-empty:before{content:"";border:3px solid #fff8eee0;border-radius:50%;width:34px;height:34px}.cam-empty:after{content:"";border:3px solid #fff8eee0;border-bottom:0;border-radius:36px 36px 0 0;width:62px;height:26px;margin-top:-4px}.cam-wait,.cam-status,.cam-hint,.aim-note,.staff,.round-label{margin:0}.cam-wait{z-index:1;color:#fff8ee;position:absolute;inset:auto 12px 12px}.cam-status{color:#7dffa6;font-weight:700}.cam-status.is-error,.cam-hint{color:#fff8eecc;font-weight:400}.pick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;display:grid}.can{aspect-ratio:5/4;color:#1a120c;text-align:left;cursor:pointer;background:linear-gradient(#ffffff73,#0000 28%),linear-gradient(90deg,#ffffff2e,#0000 22% 70%,#0000001f),linear-gradient(#ffb088,#ff5a36 48%,#e04a22);border:0;border-radius:22px;align-items:flex-end;min-height:0;padding:12px;display:flex;position:relative;box-shadow:0 8px #9a3412}.can:before{content:"";background:#fff8ee8c;border-radius:999px;height:12px;position:absolute;top:12px;left:16px;right:16px}.can-plate{background:#fff8eef0;border-radius:14px;flex-direction:column;gap:4px;width:100%;padding:10px 12px;display:flex}.can-plate strong{font-size:1.05rem;font-weight:900;line-height:1.3}.can-plate small,.duel-card small{font-size:.82rem;font-weight:700;line-height:1.35}.can-lg{width:min(360px,100%);min-height:240px}.aim,.gacha,.result-card,.duel-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.meter{background:#fff8ee29;border-radius:999px;width:min(420px,100%);height:14px;overflow:hidden}.meter div{transform-origin:0;background:linear-gradient(90deg,#ffd23f,#ff5a36);width:100%;height:100%;transform:scaleX(0)}.duel-wrap{align-items:stretch}.round-label{text-align:center;font-weight:800}.duel{grid-template-columns:1fr 1fr;gap:14px;width:100%;height:min(420px,56vh);min-height:280px;display:grid;position:relative}.duel-card{color:#1a120c;text-align:left;cursor:pointer;border:4px solid #0000;border-radius:28px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:12px;padding:84px 24px 28px;display:flex}.duel-card strong{font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:900;line-height:1.3}.duel-left{background:#ff5a36}.duel-right{background:#7dffa6}.duel-card.is-hot{border-color:#fff8ee;transform:translateY(-4px)}.timer{z-index:1;color:#ffd23f;background:#1a120c;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;position:absolute;top:18px;left:50%;transform:translate(-50%)}.timer b{font-size:2rem;line-height:1}.timer i{transform-origin:0;background:#ffd23f;border-radius:999px;height:4px;position:absolute;bottom:12px;left:10px;right:10px}.result-card{color:#1a120c;background:#fff8ee;border-radius:28px;width:min(640px,100%);height:auto;margin:12px auto 0;padding:28px 24px}.result-card h2{margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.15}.result-card p{margin:0}.stamp{color:#ffd23f;background:#1a120c;border-radius:999px;padding:4px 10px;font-weight:800}.result-card .solid-btn{color:#fff8ee;background:#1a120c}.result-card .text-btn{color:#1a120c;background:0 0}.quote{font-size:1.25rem;font-weight:700}.answer-list{text-align:left;margin:0;padding-left:1.1rem}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.sticker-ambition{background:#ffd0c2}.sticker-wlb{background:#d9ffe8}.sticker-chill{background:#fff1b8}.machine{background:#2a2150;border:6px solid #ffd23f;border-radius:32px;width:min(360px,100%);padding:16px 16px 28px;position:relative}.dome{background:radial-gradient(circle at 30% 20%,#ffffff8c,#0000 28%),linear-gradient(#ffffff29,#140e0b40);border-radius:140px 140px 18px 18px;height:230px;position:relative;overflow:hidden}.capsule{border-radius:50%;width:72px;height:72px;position:absolute;bottom:28px;box-shadow:inset -10px -8px #00000026}.capsule-mint{background:#7dffa6}.capsule-gold{background:#ffd23f}.capsule-lilac{background:#d7ccff}.capsule-coral{background:#ff8d72;bottom:78px}.machine.is-spinning .capsule{animation:.45s linear infinite tumble}.tray{background:#140e0b;border-radius:0 0 18px 18px;height:36px;margin-top:10px}.crank{color:#fff8ee;background:#ff5a36;border-radius:50%;width:74px;height:74px;font-weight:900;position:absolute;bottom:72px;right:-28px;box-shadow:8px 0 #7c2d12}.job-card.is-gold{background:#ffd23f}.gift{font-weight:800}@keyframes tumble{50%{transform:translateY(-18px)}}@media (width<=900px){.hub-grid,.fair-play{grid-template-columns:1fr}.pick-grid{grid-template-columns:1fr 1fr}.fair-play{height:auto;min-height:100dvh}.fair-cam{order:-1}.cam{max-height:220px}.duel{grid-template-columns:1fr}.timer{margin:0 auto;position:static;transform:none}}@media (prefers-reduced-motion:reduce){.hub-card:hover,.duel-card.is-hot,.machine.is-spinning .capsule{animation:none;transform:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#dce5df;--bg-accent:#c5d6cb;--surface:#fff;--ink:#122018;--ink-soft:#3d5246;--muted:#5f7268;--line:#c9d5ce;--whatsapp:#128c7e;--whatsapp-deep:#075e54;--bubble-them:#fff;--bubble-me:#d9fdd3;--system:#eef3f0;--danger:#9b1c1c;--success:#0f6b4c;--warn:#8a5a00;--shadow:0 10px 30px #1220181f;--radius:18px;--font:"Noto Sans TC", "Microsoft JhengHei", "PingFang TC", "Heiti TC", sans-serif;font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.55}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left, #128c7e29, transparent 40%), linear-gradient(160deg, var(--bg), var(--bg-accent))}button,a{font:inherit}button{cursor:pointer;border:none}.app-shell{justify-content:center;min-height:100dvh;padding:12px;display:flex}.screen{background:var(--surface);width:min(720px,100%);min-height:calc(100dvh - 24px);box-shadow:var(--shadow);border-radius:24px;overflow:hidden}.btn{border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:56px;padding:14px 18px;font-weight:700;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-xl{min-height:64px;font-size:1.25rem}.btn-primary{background:var(--whatsapp);color:#fff}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{color:var(--whatsapp-deep);background:#eef4f1;border:2px solid #b9d2ca}.sound-toggle{min-height:44px;color:var(--whatsapp-deep);white-space:nowrap;background:#ffffffe6;border:2px solid #b9d2ca;border-radius:999px;padding:8px 14px;font-size:1rem;font-weight:700}.start-screen{background:linear-gradient(#e8f5f1 0%,#fff 42% 100%);flex-direction:column;padding:20px;display:flex}.start-top{justify-content:flex-end;display:flex}.start-hero{flex-direction:column;flex:1;justify-content:center;padding:24px 8px 12px;display:flex}.start-kicker{color:var(--whatsapp-deep);margin:0 0 12px;font-size:1.05rem;font-weight:700}.start-title{letter-spacing:.02em;color:var(--ink);margin:0;font-size:clamp(2.4rem,8vw,3.4rem);line-height:1.15}.start-lead{color:var(--ink-soft);max-width:28ch;margin:20px 0 0;font-size:1.3rem}.start-meta{color:var(--muted);margin:18px 0 0;font-size:1.05rem}.start-actions{gap:12px;padding-bottom:8px;display:grid}.start-note{text-align:center;color:var(--muted);margin:0;font-size:.95rem}.chat-screen{background:#ece5dd;grid-template-rows:auto 1fr auto;display:grid}.chat-header{background:var(--whatsapp-deep);color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-contact{align-items:center;gap:12px;min-width:0;display:flex}.chat-avatar{background:#4a8f84;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.4rem;font-weight:700;display:grid}.chat-name{margin:0;font-size:1.35rem;line-height:1.2}.chat-status{opacity:.85;margin:2px 0 0;font-size:.95rem}.chat-header .sound-toggle{color:#fff;background:#ffffff24;border-color:#ffffff59}.chat-body{flex-direction:column;gap:10px;padding:18px 14px 10px;display:flex;overflow-y:auto}.bubble-row{display:flex}.bubble-row--them,.bubble-row--system{justify-content:flex-start}.bubble-row--me{justify-content:flex-end}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:16px;max-width:min(92%,520px);padding:14px 16px;font-size:1.2rem;line-height:1.5;box-shadow:0 1px 1px #00000014}.bubble--them{background:var(--bubble-them);border-top-left-radius:6px}.bubble--me{background:var(--bubble-me);border-top-right-radius:6px}.bubble--system{background:var(--system);color:var(--ink-soft);border:1px solid var(--line);text-align:center;box-shadow:none;margin-inline:auto;font-size:1.08rem}.chat-footer{background:#f0f2f5;border-top:1px solid #d5ddd8;padding:14px}.choice-hint{color:var(--muted);margin:0 0 8px;font-size:1.05rem;font-weight:700}.chat-waiting{text-align:center;color:var(--muted);margin:0;padding:10px 0;font-size:1.05rem}.composer{gap:10px;display:grid}.shortcut-row{flex-wrap:wrap;gap:8px;display:flex}.shortcut-chip{min-height:44px;color:var(--ink);background:#fff;border:2px solid #b7cfc6;border-radius:999px;padding:8px 14px;font-size:1.05rem;font-weight:700}.shortcut-chip:hover{border-color:var(--whatsapp);background:#f3fbf8}.composer-row{grid-template-columns:1fr auto auto;align-items:end;gap:8px;display:grid}.composer-input{resize:none;width:100%;min-height:64px;font:inherit;color:var(--ink);background:#fff;border:2px solid #b7cfc6;border-radius:14px;padding:12px 14px;font-size:1.15rem;line-height:1.4}.composer-input:focus{outline:2px solid var(--whatsapp);border-color:var(--whatsapp)}.composer-send{width:auto;min-width:88px;min-height:64px;padding-inline:16px}.composer-send:disabled{opacity:.45;cursor:not-allowed}.btn-icon{min-width:64px;min-height:64px;color:var(--whatsapp-deep);background:#fff;border:2px solid #b7cfc6;border-radius:14px;padding:8px 10px;font-size:1.05rem;font-weight:800}.btn-icon.is-listening{color:#9b1c1c;background:#ffe8e8;border-color:#d9534f;animation:1.2s infinite pulse-listen}@keyframes pulse-listen{50%{transform:scale(1.03)}}.voice-hint{color:var(--muted);margin:0;font-size:.98rem}.end-screen{background:#fff;flex-direction:column;padding:20px;display:flex}.end-top{justify-content:flex-end;display:flex}.end-card{flex-direction:column;flex:1;gap:16px;padding:8px 4px 12px;display:flex}.end-label{letter-spacing:.04em;margin:0;font-size:1.05rem;font-weight:800}.end-screen--scammed .end-label,.end-screen--scammed .end-title{color:var(--danger)}.end-screen--success .end-label,.end-screen--success .end-title{color:var(--success)}.end-screen--almost .end-label,.end-screen--almost .end-title{color:var(--warn)}.end-title{margin:0;font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.25}.end-summary{color:var(--ink-soft);margin:0;font-size:1.2rem}.end-lessons,.end-tips{border:1px solid var(--line);border-radius:var(--radius);background:#f4f8f6;padding:16px 18px}.end-lessons h2,.end-tips h2{margin:0 0 10px;font-size:1.2rem}.end-lessons ul{gap:10px;margin:0;padding-left:1.2em;font-size:1.1rem;display:grid}.tips-line{color:var(--whatsapp-deep);letter-spacing:.04em;margin:0;font-size:1.35rem;font-weight:800}.end-actions{gap:10px;margin-top:auto;display:grid}.end-footnote{color:var(--muted);text-align:center;margin:0;font-size:.98rem}@media (width<=480px){.app-shell{padding:0}.screen{border-radius:0;width:100%;min-height:100dvh}.bubble{font-size:1.15rem}.composer-row{grid-template-columns:1fr 1fr}.composer-input{grid-column:1/-1}.composer-send,.btn-icon{width:100%}}
