:root{--black:#0a0a0a;--white:#f5f5f5;--gold:#c9a227;--gold-hi:#f3d36b;--panel:#141414;--muted:#777;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--black);color:var(--white);-webkit-font-smoothing:antialiased;font-family:Impact,Arial Narrow,Arial,sans-serif}button{font-family:inherit}.disp{-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr auto;gap:2vh;height:100vh;padding:3vh 3vw;display:grid;position:relative;overflow:hidden}.disp:after{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 4px);position:fixed;inset:0}.disp>header,.disp>main,.disp>footer{z-index:1;position:relative}.disp .bg-mark{opacity:.12;filter:drop-shadow(0 0 4vh #c9a22738);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;width:auto;max-width:none;height:108vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.disp.splash .bg-mark{display:none}.disp .hero-wrap{animation:heroIn .55s var(--ease-out) both;place-items:center;display:grid;position:relative}.disp .hero-wrap:before{content:"";filter:blur(2vh);z-index:-1;pointer-events:none;background:radial-gradient(circle,#c9a2274d,#0000 62%);border-radius:50%;animation:6s ease-in-out infinite glow;position:absolute;inset:-18%}@keyframes glow{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}.disp .hero{object-fit:contain;filter:drop-shadow(0 0 7vh #c9a22761);width:auto;max-width:88vw;height:52vh}@keyframes heroIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.disp header{justify-content:space-between;align-items:center;display:flex}.disp .brand{align-items:center;gap:1.2vw;display:flex}.disp .logo{border:.4vh solid var(--gold);width:8vh;height:8vh;color:var(--gold);letter-spacing:.1em;place-items:center;font-size:3vh;display:grid}.disp .logo-img{object-fit:contain;width:10vh;height:10vh;display:block}.disp .brandname{letter-spacing:.25em;font-size:3.2vh}.disp .brandname span{color:var(--gold)}.disp .headright{align-items:center;gap:2.5vw;display:flex}.disp .btn.sound{letter-spacing:.12em;padding:1.2vh 2vw;font-size:1.8vh}.disp .status{letter-spacing:.15em;color:#777;transition:color .3s var(--ease-out);align-items:center;gap:1vh;font-family:Arial,sans-serif;font-size:2vh;display:flex}.disp .dot{width:1.6vh;height:1.6vh;transition:background .3s var(--ease-out), box-shadow .3s var(--ease-out);background:#444;border-radius:50%}.disp .status.on{color:var(--gold)}.disp .status.on .dot{background:var(--gold);box-shadow:0 0 1.5vh var(--gold)}.disp main{place-items:center;min-height:0;display:grid}.disp .center{flex-direction:column;align-items:center;gap:1vh;display:flex}.disp .round{letter-spacing:.3em;color:var(--gold);font-size:6vh}.disp .round.flash{animation:roundIn .45s var(--ease-out)}@keyframes roundIn{0%{opacity:.15;transform:translateY(-1vh)scale(1.12)}to{opacity:1;transform:none}}.disp .clock{font-variant-numeric:tabular-nums;text-shadow:0 0 4vh #c9a22740;font-size:min(36vw,50vh);line-height:.95}.disp .clock.pip{color:var(--gold-hi);animation:pip 1s var(--ease-in-out) infinite}@keyframes pip{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.03)}}.disp .phase{letter-spacing:.4em;font-size:7vh}.disp .phase.rest{color:var(--gold)}.disp footer{grid-template-columns:1fr auto;align-items:end;gap:2vw;display:grid}.disp .preset{letter-spacing:.15em;color:#888;margin-bottom:1vh;font-family:Arial,sans-serif;font-size:2.2vh}.disp .bar{background:#1c1c1c;border:.2vh solid #333;height:2.4vh;position:relative;overflow:hidden}.disp .bar i{background:linear-gradient(90deg, var(--gold), var(--gold-hi));transform-origin:0;width:100%;transition:transform .12s linear;position:absolute;top:0;bottom:0;left:0;transform:scaleX(1)}.disp .mock{color:#555;letter-spacing:.15em;font-family:Arial,sans-serif;font-size:2vh}.btn{letter-spacing:.2em;background:var(--gold);color:var(--black);cursor:pointer;text-transform:uppercase;border:none;padding:1.6vh 3.5vw;font-family:inherit;font-size:3vh;text-decoration:none;display:inline-block}.btn.ghost{color:var(--gold);box-shadow:inset 0 0 0 .3vh var(--gold);background:0 0}.btn:active{filter:brightness(1.15)}.disp .banner{pointer-events:none;z-index:40;opacity:0;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.disp .banner.show{animation:2.8s forwards banner}.disp .banner h2{text-transform:uppercase;text-align:center;text-shadow:.6vh 0 var(--gold), -.6vh 0 #555;font-size:24vh;line-height:1}.disp .banner p{color:var(--gold);letter-spacing:.5em;text-align:center;text-transform:uppercase;margin-top:2vh;font-family:Arial,sans-serif;font-size:4.5vh}@keyframes banner{0%{opacity:0;transform:scale(1.6)}7%{opacity:1;animation-timing-function:var(--ease-out);transform:scale(1)}9%{transform:translate(1.2vw)scale(1.06)}11%{transform:translate(-1.2vw)scale(1.06)}13%{transform:translate(0)scale(1)}84%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.disp .pair{z-index:60;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s var(--ease-out), visibility .22s var(--ease-out);background:#000000f0;place-items:center;display:grid;position:fixed;inset:0}.disp .pair.open{opacity:1;visibility:visible;pointer-events:auto}.disp .pair>div{transition:transform .22s var(--ease-out);transform:scale(.97)}.disp .pair.open>div{transform:scale(1)}.disp .pair h3{letter-spacing:.2em;color:var(--gold);margin-bottom:3vh;font-size:6vh}.disp .qr{aspect-ratio:1;background:var(--white);width:min(52vh,70vw);margin:0 auto;padding:2vh}.disp .qr img{width:100%;height:100%;display:block}.disp .hint{color:#aaa;margin-top:2.5vh;font-family:Arial,sans-serif;font-size:2.6vh}.disp .url{color:#666;word-break:break-all;margin-top:1.5vh;font-family:monospace;font-size:2vh}.disp .actions{justify-content:center;gap:2vw;margin-top:3vh;display:flex}.ctl{min-height:100vh;padding:env(safe-area-inset-top) 16px 32px}.ctl .wrap{max-width:520px;margin:0 auto}.ctl header{align-items:center;gap:12px;padding:14px 0 18px;display:flex}.ctl .logo{border:2px solid var(--gold);width:44px;height:44px;color:var(--gold);place-items:center;font-size:18px;display:grid}.ctl .logo-img{object-fit:contain;width:48px;height:48px;display:block}.ctl .title{letter-spacing:.18em;font-size:18px}.ctl .title small{letter-spacing:.14em;color:var(--muted);margin-top:3px;font-family:Arial,sans-serif;font-size:11px;display:block}.card{background:var(--panel);text-align:center;border:1px solid #262626;padding:22px 18px}.card h2{letter-spacing:.12em;color:var(--gold);margin-bottom:10px;font-size:24px}.card p{color:#aaa;margin-bottom:16px;font-family:Arial,sans-serif;font-size:14px;line-height:1.5}.card.shake{animation:shake .34s var(--ease-out)}@keyframes shake{10%,90%{transform:translate(-4px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.ctl .live{background:var(--panel);text-align:center;border:1px solid #262626;margin-bottom:14px;padding:18px 10px 16px}.ctl .live .round{letter-spacing:.3em;color:var(--gold);font-size:18px}.ctl .live .clock{font-variant-numeric:tabular-nums;margin:6px 0;font-size:96px;line-height:1}.ctl .live .phase{letter-spacing:.35em;font-size:20px}.ctl .live .phase.rest{color:var(--gold)}.row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.row.three{grid-template-columns:1fr 1fr 1fr}.ctl h3{letter-spacing:.2em;color:var(--muted);margin:18px 0 8px;font-size:14px}.ctl .btn{letter-spacing:.14em;background:var(--gold);color:var(--black);cursor:pointer;text-transform:uppercase;touch-action:manipulation;width:100%;transition:transform .12s var(--ease-out), background-color .18s var(--ease-out), color .18s var(--ease-out);border:none;padding:16px 10px;font-size:18px}.ctl .btn.big{padding:22px 10px;font-size:24px}.ctl .btn.ghost{color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold);background:0 0}.ctl .btn:active{transform:scale(.97)}.ctl .btn[disabled]{opacity:.35}.ctl .btn.ghost.on{background:var(--gold);color:var(--black);box-shadow:none}.hidden{display:none!important}.err{color:#e5484d!important}.ctl .panel-in{animation:panelIn .3s var(--ease-out)}@keyframes panelIn{0%{opacity:0;transform:translateY(1.4vh)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.disp .clock.pip{animation:1s ease-in-out infinite pipFade}.disp .banner.show{animation:2.8s forwards bannerFade}.disp .round.flash,.disp .hero-wrap,.disp .hero-wrap:before{animation:none}.disp .pair,.disp .pair>div{transition:none}.ctl .btn{transition-duration:.01ms}.ctl .panel-in,.card.shake{animation:none}}@keyframes pipFade{0%,to{opacity:1}50%{opacity:.5}}@keyframes bannerFade{0%{opacity:0}7%{opacity:1}84%{opacity:1}to{opacity:0}}
