.frame-outer,.frame-inner{position:absolute;pointer-events:none}.frame-outer{top:0;right:0;bottom:0;left:0;border:var(--hair) solid var(--line);border-radius:24px}.frame-inner{top:18px;right:18px;bottom:18px;left:18px;border:var(--hair) solid var(--line-2);border-radius:16px}.corner{position:absolute;width:46px;height:46px;border-color:var(--gold);border-style:solid;border-width:0;pointer-events:none}.c-tl{left:44px;top:44px;border-left-width:2px;border-top-width:2px}.c-tr{right:44px;top:44px;border-right-width:2px;border-top-width:2px}.c-bl{left:44px;bottom:44px;border-left-width:2px;border-bottom-width:2px}.c-br{right:44px;bottom:44px;border-right-width:2px;border-bottom-width:2px}.stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.stars span{position:absolute;border-radius:50%}.screen{position:relative;width:1920px;height:1080px;padding:84px 116px;display:flex;flex-direction:column;background:var(--bg)}.particle-field{position:absolute;top:0;right:0;bottom:0;left:0;width:1920px;height:1080px;pointer-events:none}.topband{display:flex;align-items:center;justify-content:space-between}.diamond-row{display:flex;align-items:center;gap:22px}.dia{width:20px;height:20px;transform:rotate(45deg)}.dia.done{background:var(--gold)}.dia.now{border:2px solid var(--gold)}.dia.todo{border:var(--hair) solid var(--line)}.hairline{height:1px;background:var(--line-2);margin-top:30px}.head-block{text-align:center;margin-top:64px}.deco-divider{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:34px}.deco-line{width:140px;height:1px;background:var(--line)}.deco-dia{width:14px;height:14px;transform:rotate(45deg);background:var(--gold)}.subtitle-line{margin-top:30px}.timer-wrap{display:flex;justify-content:center;margin-top:56px}.timer-ring{position:relative}.timer-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:48px;color:var(--ink);font-variant-numeric:tabular-nums}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:56px}.opt-card{display:flex;align-items:center;gap:28px;padding:32px 42px;background:var(--surface);border:var(--hair) solid var(--line);border-radius:var(--r-md);transition:opacity .4s var(--ease-out),border-color .4s var(--ease-out)}.opt-badge{width:56px;height:56px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:26px;color:var(--muted-2);border:var(--hair) solid #d8c9a8;border-radius:var(--r-sm)}.opt-text{font-size:40px;letter-spacing:3px;color:var(--ink)}.opt-mark{margin-left:auto;width:16px;height:16px;transform:rotate(45deg);background:var(--gold)}.opt-card.is-picked{background:var(--highlight);border:1px solid var(--gold)}.opt-card.is-picked .opt-badge{border-color:var(--gold);color:var(--gold)}.opt-card.is-answer{background:var(--highlight);border:1px solid var(--gold)}.opt-card.is-answer .opt-badge{border-color:var(--gold);color:var(--gold)}.opt-card.is-answer .opt-mark{display:block}.opt-card.is-faded{opacity:.32}.bottom-zone{margin-top:auto}.progress{height:2px;background:var(--line-2);border-radius:1px;overflow:hidden}.progress-fill{display:block;height:2px;background:var(--gold);border-radius:1px;transition:width .6s var(--ease-out)}.correct-count{text-align:center;margin-top:26px}.correct-count .num{font-family:var(--serif);font-size:96px;letter-spacing:8px;color:var(--gold-deep);font-variant-numeric:tabular-nums}.correct-count .unit{font-size:30px;letter-spacing:6px;color:var(--muted-2);margin-left:14px}.reveal-wrap{flex:1;position:relative;overflow:hidden}.rv-top,.rv-name,.rv-below{position:absolute;left:0;right:0;text-align:center}.rv-top{top:50%;transform:translateY(-50%) translateY(-150px)}.rv-name{top:50%;transform:translateY(-50%) translateY(-22px)}.rv-below{top:50%;transform:translateY(130px)}.rv-hello{font-size:30px;letter-spacing:26px;text-indent:26px;color:var(--gold);opacity:0;animation:riseIn .7s var(--ease-out) .3s forwards}.rv-name-inner{position:relative;display:inline-block;font-family:var(--serif);font-size:176px;line-height:1.05;letter-spacing:32px;text-indent:32px;color:var(--gold-deep);opacity:0;transform:scale(.86);animation:nameIn .85s var(--ease-overshoot) .1s forwards}.rv-rule{width:560px;height:1px;margin:0 auto;background:var(--gold);opacity:0;animation:ruleIn .7s var(--ease-out) .72s forwards}@keyframes ruleIn{0%{opacity:0;transform:scaleX(.1)}to{opacity:1;transform:scaleX(1)}}.rv-gift{margin-top:36px;font-family:var(--serif);font-size:46px;letter-spacing:10px;text-indent:10px;color:var(--ink);opacity:0;animation:riseIn .6s var(--ease-out) .92s forwards}.rv-closing{margin-top:30px;font-family:var(--serif);font-size:28px;letter-spacing:7px;text-indent:7px;color:var(--faint);opacity:0;animation:riseIn .8s var(--ease-out) 1.35s forwards}.sweep-line{position:absolute;top:50%;left:50%;height:3px;background:var(--sparkle);transform:translate(-50%,-50%);width:0;opacity:0;animation:sweep .62s var(--ease-out) .12s forwards}@keyframes sweep{0%{width:0;opacity:0}12%{opacity:1}to{width:100%;opacity:0}}@keyframes nameIn{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cheer-spark{position:absolute;bottom:-12px;border-radius:50%;background:var(--sparkle);pointer-events:none;animation-name:sparkRise;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes sparkRise{0%{transform:translateY(0) scale(.5);opacity:0}14%{opacity:1;transform:translateY(-13vh) scale(1)}78%{opacity:.85}to{transform:translateY(-86vh) scale(.35);opacity:0}}.center-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.monogram{font-family:var(--serif);font-size:92px;letter-spacing:26px;text-indent:26px;color:var(--gold-deep)}.winners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 40px;width:100%;margin-top:60px}.winner-cell{display:flex;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:var(--hair) solid var(--line-2)}.winner-cell .idx{font-size:22px;color:var(--gold);letter-spacing:2px}.winner-cell .who{font-family:var(--serif);font-size:34px;color:var(--ink);letter-spacing:3px}.winner-cell .what{font-size:20px;color:var(--muted-2);margin-left:auto}.status-line{text-align:center;margin-top:40px;font-size:28px;letter-spacing:12px;color:var(--gold);text-indent:12px}.pulse-line{width:260px;height:2px;margin:24px auto 0;background:var(--gold);animation:pulseFade 1.4s ease-in-out infinite}@keyframes pulseFade{0%,to{opacity:.18}50%{opacity:.85}}.unlock-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:var(--bg);cursor:pointer;border:none}.unlock-veil .ring{width:132px;height:132px;border-radius:50%;border:var(--hair) solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:44px;color:var(--gold-deep)}.unlock-veil .hint{font-size:26px;letter-spacing:10px;color:var(--muted-2);text-indent:10px}.demo-bar{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fffffff0;border:var(--hair) solid var(--line);border-radius:var(--r-pill);font-size:12px;color:var(--muted);box-shadow:0 2px 10px #3b2f260f}.demo-bar b{font-weight:500;color:var(--gold);margin-right:4px}.demo-bar button{padding:5px 11px;font-size:12px;color:var(--ink);background:transparent;border:var(--hair) solid var(--line);border-radius:var(--r-pill)}.demo-bar button:hover{border-color:var(--gold);color:var(--gold-deep)}.demo-bar button.on{background:var(--highlight);border-color:var(--gold);color:var(--gold-deep)}.blessing-grid{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px 22px;padding:8px 150px 0}.blessing-cell{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0 16px;background:var(--surface);border:var(--hair) solid var(--line);animation:blessing-in .7s var(--ease-out) both}.blessing-cell .bw{font-family:var(--serif);font-size:30px;letter-spacing:8px;text-indent:8px;color:var(--gold-deep)}.blessing-cell .bd{width:4px;height:4px;transform:rotate(45deg);background:var(--gold)}@keyframes blessing-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reveal-answer{margin-top:-6px;text-align:center;font-family:var(--serif);font-size:40px;line-height:1.3;letter-spacing:8px;text-indent:8px;color:var(--gold-deep);animation:blessing-in .55s var(--ease-out) both}.title-xl.is-solo{font-size:96px;letter-spacing:34px;text-indent:34px}
