*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#08090d;--line:rgba(255,255,255,.11);--white:#f7f7fb}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--white);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(ellipse at 50% 5%,#20202d 0%,#101118 35%,#08090d 72%);display:flex;justify-content:center}
.shell{width:min(100%,650px);padding:calc(20px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;min-height:100vh}
.topbar{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.11em;font-weight:800;flex-shrink:0}
.topbar b{font-weight:500;color:#b6b7c4}
.brand-dot{width:8px;height:8px;background:linear-gradient(135deg,#2f8dff,#ff3d31);border-radius:50%;box-shadow:0 0 14px #577eff66;flex-shrink:0}
.tag{margin-left:auto;font-size:9px;letter-spacing:.13em;color:#9293a1;border:1px solid var(--line);padding:7px 9px;border-radius:99px;white-space:nowrap}
.card-area{margin:28px auto 0;width:100%;perspective:1400px;touch-action:pan-y}
.card-wrap{width:100%;aspect-ratio:1619 / 971;position:relative}
.card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.2,.72,.18,1);cursor:grab;outline:none;-webkit-tap-highlight-color:transparent}
.card:focus-visible{outline:2px solid #8d9cff;outline-offset:5px;border-radius:10px}
.card:active{cursor:grabbing}
.card.flipped{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border-radius:9px;background:#080808;box-shadow:0 22px 60px #0008,0 0 0 1px #ffffff18}
.face img{display:block;width:100%;height:100%;object-fit:contain}
.back{transform:rotateY(180deg);background:#fff}
.gesture{display:flex;align-items:center;justify-content:center;gap:11px;margin:22px 0 0;color:#d7d7e0;font-size:12px;text-align:center;line-height:1.5}
.arrow{font-size:20px;color:#fff;animation:nudge 1.4s ease-in-out infinite;flex-shrink:0}
.arrow:last-child{animation-delay:.2s}
@keyframes nudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(-5px);opacity:1}}
.dots{display:flex;justify-content:center;gap:6px;margin-top:15px}
.dot{height:4px;width:17px;border-radius:5px;background:#444550;transition:all .3s}
.dot.active{width:27px;background:#f2f2f8}
.hint{text-align:center;font-size:11px;color:#777987;margin:9px 0 0}
.actions{display:grid;gap:9px;margin-top:26px}
.action{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:15px;text-decoration:none;color:#f4f4f8;background:linear-gradient(130deg,#ffffff0e,#ffffff05);border:1px solid var(--line);transition:transform .2s,border-color .2s;min-width:0}
.action:active{transform:scale(.985)}
.action.primary{border-color:#ffffff2c;background:linear-gradient(120deg,#ffffff17,#ffffff08)}
.ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ffffff12;font-size:21px;flex-shrink:0}
.action b{display:block;font-size:13px;font-weight:650}
.action small{display:block;color:#9c9daa;font-size:11px;margin-top:4px;overflow-wrap:anywhere}
footer{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:28px;color:#6f7180;font-size:10px;letter-spacing:.03em}
@media(max-width:380px){.shell{padding-left:15px;padding-right:15px}.gesture{font-size:11px;gap:7px}.tag{font-size:8px;padding:6px 7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
