:root{--bg:#141a2e;--white:#f7f4ec;--dim:#7c86a8;--accent:#ffd84d;--ink:#141a2e;--face:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--white);font-family:var(--face);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:72px 22px 40px;display:flex;overflow:hidden}.stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;width:100%;max-width:900px;display:flex}.status{letter-spacing:-.03em;color:var(--accent);max-width:14ch;margin:0;font-size:clamp(30px,10.4vw,88px);font-weight:800;line-height:1}.status.hint{letter-spacing:.01em;color:var(--dim);max-width:22ch;font-size:clamp(18px,4.5vw,26px);font-weight:600}.dots span{animation:1.2s ease-in-out infinite bob;display:inline-block}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes bob{0%,60%,to{opacity:.35}30%{opacity:1}}.track{background:#7c86a847;border-radius:999px;width:min(300px,70vw);height:6px;overflow:hidden}.fill{background:var(--accent);border-radius:999px;width:0;height:100%;animation:1.2s cubic-bezier(.5,0,.35,1) forwards fill}@keyframes fill{to{width:100%}}.setup{color:var(--dim);max-width:20ch;margin:0;font-size:clamp(19px,4.6vw,30px);font-weight:500;line-height:1.35}.punch{letter-spacing:-.03em;max-width:16ch;margin:0;font-size:clamp(34px,10vw,84px);font-weight:800;line-height:1.05}.tag{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);opacity:.6;margin:4px 0 0;font-size:11px}.bar{z-index:5;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:fixed;top:0;left:0;right:0}.bar-left{align-items:center;gap:4px;display:flex}.brand{color:var(--white);border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 8px;text-decoration:none;transition:opacity .2s;display:flex}.brand:hover{opacity:.85}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:800}.icon{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:14px;font-weight:600;transition:color .2s,opacity .2s,transform 80ms;display:flex}.icon:hover{color:var(--white)}.icon:active{transform:scale(.94)}.icon:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:22px;height:22px}.icon[disabled]{opacity:.25;pointer-events:none}.heart.on{color:var(--accent)}.heart.on svg{fill:var(--accent)}.heart.on{animation:.3s ease-out pop}@keyframes pop{40%{transform:scale(1.25)}}.sheet{z-index:10;background:var(--bg);padding:78px 22px 60px;display:none;position:fixed;inset:0;overflow-y:auto}.sheet.open{display:block}.list{text-align:left;flex-direction:column;gap:24px;max-width:620px;margin:0 auto;display:flex}.item{border-bottom:1px solid #7c86a833;align-items:flex-start;gap:14px;padding-bottom:22px;display:flex}.item .txt{flex:1;min-width:0}.item .s{color:var(--dim);margin:0 0 7px;font-size:15px;line-height:1.4}.item .p{letter-spacing:-.02em;margin:0;font-size:clamp(20px,5vw,26px);font-weight:800;line-height:1.15}.item .c{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);opacity:.55;margin:9px 0 0;font-size:10px}.empty{color:var(--dim);text-align:center;margin-top:60px;font-size:18px;line-height:1.5}.fade{animation:.28s ease-out in}@keyframes in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.go{color:var(--ink);background:var(--accent);cursor:pointer;border:0;border-radius:999px;flex:none;padding:19px 42px;font-family:inherit;font-size:clamp(17px,4.4vw,21px);font-weight:700;transition:opacity .2s,transform 80ms}.go:active{transform:scale(.97)}.go:focus-visible{outline:3px solid var(--white);outline-offset:4px}.go[disabled]{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.fade,.dots span{animation:none}.go{transition:none}}@media (max-width:420px){.brand-name,#navCount{display:none}}.about-content{text-align:left;max-width:560px;margin:0 auto;padding:100px 22px 60px}.about-content h1{letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(28px,7vw,40px);font-weight:800}.about-content p{color:var(--dim);margin:0 0 14px;font-size:16px;line-height:1.6}
