@font-face{font-family:TL;src:url(../fonts/tl-400.woff2)format("woff2");font-weight:400}@font-face{font-family:TL;src:url(../fonts/tl-600.woff2)format("woff2");font-weight:600}:root{--bg:#f6ecd9;--bg2:#ead8b8;--ink:#2b2420;--muted:#7a6a5c;--red:#a61e1a;--gold:#e8b23a;--card:#fffaf0;color:var(--ink);font-family:Noto Sans TC,PingFang TC,Heiti TC,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(120% 80% at 50% 60%, var(--bg) 0%, var(--bg2) 100%);overscroll-behavior:none;height:100%;margin:0}#app{max-width:560px;height:100dvh;padding:max(10px, env(safe-area-inset-top)) 16px max(8px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.term{text-align:center;line-height:1.15}.term .hanji{letter-spacing:.05em;font-weight:700}.tl,.foot .fun{font-family:TL,Noto Sans,sans-serif}.term .tl{color:var(--ink);align-items:center;gap:.35em;font-size:1.05rem;display:inline-flex}.term .mean{color:var(--muted);margin-top:2px;font-size:.85rem}.say{color:var(--red);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:4px;font-size:1.15em;line-height:0}.say.playing{background:#a61e1a1f}.top{flex-direction:row-reverse;justify-content:center;align-items:center;gap:6px;display:flex}.top .slogan{text-align:center;color:var(--red);letter-spacing:.06em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}html[lang=en] .top .slogan{letter-spacing:0;font-size:1.05rem}.logo{width:64px;height:56px}.ask{align-items:center;gap:8px;margin-top:10px;display:flex}.who{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;min-width:44px;padding:0;font-size:.75rem;display:flex}.avatar{background:var(--card);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.4rem;display:grid;overflow:hidden;box-shadow:0 1px 3px #00000026}.avatar img,.hands-face img{object-fit:cover;width:100%;height:100%;display:block}.who-name{text-overflow:ellipsis;white-space:nowrap;max-width:56px;overflow:hidden}.qbox{flex:1;min-width:0;margin:0;position:relative}.question{appearance:none}.question::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.question::-webkit-search-decoration{-webkit-appearance:none;display:none}.qclear{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#e9dcc6;border:0;border-radius:50%;font-size:.9rem;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.qclear[hidden]{display:none}.question{background:var(--card);border:1px solid #d9c6a6;border-radius:14px;width:100%;min-width:0;padding:12px 14px;font-size:1rem;padding-right:44px!important}.stage{flex:1;min-height:240px;margin-top:6px;position:relative;overflow:hidden}.scene{width:100%;height:100%;position:absolute;inset:0}.result{text-align:center;pointer-events:none;animation:.35s ease-out pop;position:absolute;top:8px;left:0;right:0}.result .name{letter-spacing:.08em;color:var(--red);text-shadow:0 2px #fff;font-size:3.2rem;font-weight:700;line-height:1.15}.result .dots{justify-content:center;gap:8px;margin:4px 0 2px;display:flex}.result .dots[hidden]{display:none}.result .dots i{border:2px solid var(--red);background:0 0;border-radius:50%;width:14px;height:14px}.result .dots i.on{background:var(--red)}.result.done .dots i.on{background:var(--gold);border-color:#b8860b}.result.done .name{color:#b8860b;animation:1.2s ease-in-out infinite alternate glow}.result .mean{color:var(--muted);font-size:1.05rem}.result.r-lip .name{color:#b8860b;animation:1.2s ease-in-out infinite alternate glow}body[data-result=lip] .stage{background:radial-gradient(closest-side,#ffd75a8c,#0000)}@keyframes pop{0%{opacity:0;transform:scale(.7)}}@keyframes glow{to{text-shadow:0 0 18px #ffd65a,0 0 4px #fff}}.hands{aspect-ratio:1;pointer-events:none;width:min(78%,340px);position:absolute;bottom:0;left:50%;transform:translate(-50%,100%)}.hands svg{overflow:visible}.hands.go{animation:hands-move var(--dur) ease-in-out forwards;transform-origin:50% 85%}.hands.go .cups{animation:cups-fly var(--dur) ease-in forwards;transform-box:fill-box;transform-origin:50%}.hands.go .hand-l{animation:let-go-l var(--dur) ease-in forwards}.hands.go .hand-r{animation:let-go-r var(--dur) ease-in forwards}@keyframes hands-move{0%{transform:translate(-50%,100%)perspective(600px)rotateX(0)}16%{transform:translate(-50%,6%)perspective(600px)rotateX(0)}25%{transform:translate(-50%,6%)perspective(600px)rotateX(24deg)}34%{transform:translate(-50%,6%)perspective(600px)rotateX(-18deg)}43%{transform:translate(-50%,6%)perspective(600px)rotateX(24deg)}52%{transform:translate(-50%,6%)perspective(600px)rotateX(-18deg)}61%{transform:translate(-50%,6%)perspective(600px)rotateX(24deg)}70%{transform:translate(-50%,6%)perspective(600px)rotateX(-12deg)}80%{transform:translate(-50%,-6%)perspective(600px)rotateX(-30deg)}to{transform:translate(-50%,100%)perspective(600px)rotateX(0)}}@keyframes cups-fly{0%,76%{opacity:1;transform:none}90%{opacity:1;transform:translateY(-140%)scale(.55)rotate(25deg)}to{opacity:0;transform:translateY(-190%)scale(.4)rotate(40deg)}}@keyframes let-go-l{0%,78%{transform:none}to{transform:translate(-24px)rotate(-10deg)}}@keyframes let-go-r{0%,78%{transform:translate(200px)scaleX(-1)}to{transform:translate(224px)scaleX(-1)rotate(-10deg)}}.actions{justify-content:center;align-items:center;gap:10px;padding:10px 0 4px;display:flex}.throw{background:linear-gradient(#c22a24, var(--red));color:#fff;letter-spacing:.1em;cursor:pointer;border:0;border-radius:999px;flex:1;max-width:320px;padding:14px 0;font-size:1.6rem;font-weight:700;box-shadow:0 4px #6e1210}.throw:active{transform:translateY(3px);box-shadow:0 1px #6e1210}body[data-state=throwing] .throw{opacity:.6}.shake{background:var(--card);border:1px solid #d9c6a6;border-radius:999px;padding:12px 14px;font-size:.95rem}.shake.on{border-color:var(--gold);background:#fde7c0}.foot{color:var(--muted);justify-content:space-between;padding-top:4px;font-size:.72rem;display:flex}.hands-face{aspect-ratio:1;background:var(--card);border:3px solid #fff;border-radius:50%;place-items:center;width:22%;font-size:2rem;display:grid;position:absolute;bottom:4%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 6px #00000040}.picker{background:var(--card);width:min(92vw,420px);color:var(--ink);border:0;border-radius:20px;padding:0;box-shadow:0 10px 40px #0000004d}.picker::backdrop{background:#28190f73}.sheet{flex-direction:column;gap:8px;padding:18px 16px 16px;display:flex}.sheet h2{text-align:center;margin:0 0 4px;font-size:1.15rem}.sheet .row{background:#fff;border:2px solid #0000;border-radius:14px;align-items:center;display:flex}.sheet .row.sel{border-color:var(--red)}.sheet .pick{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:8px 10px;font-size:1.05rem;display:flex}.sheet .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet .edit{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 14px;font-size:1.2rem}.sheet .add{font:inherit;color:var(--red);cursor:pointer;background:0 0;border:2px dashed #d9c6a6;border-radius:14px;padding:12px;font-size:1.05rem}.edit-form{align-items:center}.edit-form .face{cursor:pointer;flex-direction:column;align-items:center;gap:6px;display:flex}.avatar.big{width:104px;height:104px;font-size:3.4rem}.edit-form .tip{color:var(--red);font-size:.9rem}.name-input{text-align:center;border:1px solid #d9c6a6;border-radius:12px;width:100%;padding:10px 12px;font-size:1.1rem}.edit-form .note{color:var(--muted);text-align:center;margin:0;font-size:.78rem}.edit-form .btns{gap:8px;width:100%;display:flex}.edit-form .btns button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d9c6a6;border-radius:12px;flex:1;padding:12px;font-size:1rem}.edit-form .btns .ok{background:var(--red);border-color:var(--red);color:#fff}.edit-form .btns .del{color:var(--red)}.shake-mode{z-index:20;background:radial-gradient(120% 80% at 50% 60%, var(--bg) 0%, var(--bg2) 100%);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.shake-mode[hidden]{display:none}.shake-mode .close{color:var(--ink);top:max(12px, env(safe-area-inset-top));background:var(--card);border:0;border-radius:50%;width:40px;height:40px;font-size:1.1rem;position:absolute;right:12px;box-shadow:0 1px 3px #00000026}.shake-mode .top-info{z-index:2;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:12%;left:16px;right:16px}.shake-mode .sq{color:var(--muted);text-align:center;margin:0;font-size:1.05rem}.shake-mode .sq[hidden]{display:none}.shake-mode .hint{text-align:center;margin:0;font-size:1.3rem;font-weight:700}.shake-mode .sdots{justify-content:center;gap:12px;display:flex}.shake-mode .sdots i{border:2px solid var(--red);border-radius:50%;width:18px;height:18px}.shake-mode .sdots i.on{background:var(--red)}.shake-mode .sdots i.pop{animation:.3s ease-out dot-pop}@keyframes dot-pop{50%{transform:scale(1.5)}}.shake-mode .nomotion{background:var(--card);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;display:flex;box-shadow:0 4px 16px #00000026}.shake-mode .nomotion[hidden]{display:none}.shake-mode .nomotion .tip{color:var(--muted);text-align:center;margin:0;font-size:.95rem}.shake-mode .nomotion .perm{max-width:260px;color:var(--red);text-align:center;margin:0;font-size:.95rem;font-weight:700}.shake-mode .nomotion .perm[hidden]{display:none}.shake-mode .nomotion button{width:220px;font:inherit;cursor:pointer;border-radius:999px;padding:12px;font-size:1.05rem}.shake-mode .nomotion .allow{background:var(--red);color:#fff;border:0}.shake-mode .nomotion .direct{color:var(--ink);background:#fff;border:1px solid #d9c6a6}.shake-mode.no-motion .sdots,.shake-mode.no-motion .phone-shake{display:none}.shake-mode .direct-link{left:50%;bottom:max(24px, env(safe-area-inset-bottom));font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px;font-size:.95rem;text-decoration:underline;position:absolute;transform:translate(-50%)}.shake-mode.no-motion .direct-link{display:none}.shake-mode .phone-shake{opacity:0;width:84px;transition:opacity .2s;position:absolute;top:30%;left:50%;transform:translate(-50%)}.shake-mode.held .phone-shake{opacity:1;animation:1.6s ease-in-out infinite phone-rock}@keyframes phone-rock{0%,to{transform:translate(-50%)perspective(260px)rotateX(28deg)}50%{transform:translate(-50%)perspective(260px)rotateX(-28deg)}}.shake-mode .thumb-hand{pointer-events:none;filter:drop-shadow(0 3px 4px #00000026);width:200px;height:220px;transition:opacity .2s;position:absolute;top:2px;left:-108px}.shake-mode .thumb.r .thumb-hand{left:auto;right:-108px}.shake-mode .thumb-finger{transform-origin:90px 130px;animation:1.2s ease-in-out infinite thumb-tap}@keyframes thumb-tap{0%,60%,to{transform:none}30%{transform:rotate(-6deg)scale(.96)}}.shake-mode .thumb.on .thumb-hand{opacity:0}.shake-mode .thumb{border:4px dashed var(--red);background:#a61e1a14;border-radius:50%;width:84px;height:84px;animation:1.2s ease-in-out infinite pulse;position:absolute;top:56%}.shake-mode .thumb.l{left:16%}.shake-mode .thumb.r{right:16%}.shake-mode .thumb.on{background:#f2c24b73;border-style:solid;border-color:#b8860b;animation:none}@keyframes pulse{50%{transform:scale(1.08)}}
