@import "https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;700&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;background:var(--bg,#fff)}body{background:var(--bg,#fff);color:var(--text-primary,#1a1a1a);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Roboto Condensed,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=dark],html[data-theme=dark] body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}button,input,textarea,select{font:inherit;text-transform:inherit}button{appearance:none;-webkit-tap-highlight-color:transparent}a{color:inherit}:root{--bg:#fff;--surface:#f5f5f5;--surface-raised:#fff;--border:#e0e0e0;--text-primary:#1a1a1a;--text-secondary:#787878;--text-muted:#ababab;--accent:#d64545;--accent-subtle:#fff0f0;--player-self:#1a1a1a;--player-opponent:#c8c8c8;--win:#2da44e;--loss:#d64545;--tie:#d97706;--trap:#7c3aed;--revealed-human:#2563eb;--revealed-opponent:#d4a017;--shell-glow:#d6454514;--shell-gradient-start:#fff;--shell-gradient-end:#fcfbfb;--card-shadow:0 2px 8px #0000000f;--modal-shadow:0 8px 32px #0000001f;--button-shadow:0 2px 12px #d6454526}[data-theme=dark]{--bg:#0b0b0e;--surface:#141419;--surface-raised:#1b1c22;--border:#2d2f37;--text-primary:#f4f1ea;--text-secondary:#bbb3a7;--text-muted:#7e786f;--accent-subtle:#311517;--player-self:#f4f1ea;--player-opponent:#626671;--shell-glow:#d6454529;--shell-gradient-start:#131317;--shell-gradient-end:#08080a;--card-shadow:0 16px 30px #00000047;--modal-shadow:0 22px 48px #00000073;--button-shadow:0 8px 22px #d6454542}.app-shell{overscroll-behavior:none;min-height:100svh;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 24px);background:radial-gradient(circle at top, var(--shell-glow), transparent 42%), linear-gradient(180deg, var(--shell-gradient-start) 0%, var(--shell-gradient-end) 100%);color:var(--text-primary);text-transform:uppercase;font-family:Roboto Condensed,Roboto,sans-serif;overflow-x:hidden}.screen-stage{min-height:inherit;will-change:opacity, transform;view-transition-name:app-scene;animation:.22s cubic-bezier(.22,1,.36,1) both screen-fade-in}.screen-stage-fading-out{animation:.18s both screen-fade-out}.screen-stage-fading-in{animation:.22s cubic-bezier(.22,1,.36,1) both screen-fade-in}.home-screen,.room-screen,.setup-loading-screen,.setup-screen,.gameplay-screen,.stats-screen,.loading-screen{width:min(100%,420px);margin:0 auto;font-size:18px}.loading-screen{min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);align-content:center;justify-items:center;gap:18px;padding-top:72px;padding-bottom:24px;display:grid}.setup-loading-screen{min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);place-items:center;display:grid}.setup-loading-lockup{justify-items:center;gap:42px;animation:1.5s ease-in-out both setup-loading-fade;display:grid}.setup-loading-title{letter-spacing:.08em;text-align:center;margin:0;font-size:32px}.setup-loading-spinner{width:180px;height:180px;position:relative}.setup-loading-halo{background:radial-gradient(circle,#d645452e 0%,#d645450f 45%,#0000 72%);border-radius:50%;animation:1.5s ease-in-out infinite setup-loading-breathe;position:absolute;inset:24px}.setup-loading-icon{width:58px;height:58px;color:var(--accent);background:color-mix(in srgb, var(--bg) 88%, var(--accent-subtle));border:1px solid color-mix(in srgb, var(--border) 85%, var(--surface-raised));border-radius:50%;place-items:center;margin:-29px;animation:4.2s linear infinite setup-loading-orbit;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 16px 28px #d645451a}.setup-loading-icon .piece-glyph{width:28px;height:28px}.setup-loading-icon-rock{--orbit-angle:0deg;transform:rotate(var(--orbit-angle)) translateY(-66px);animation-delay:0s}.setup-loading-icon-paper{--orbit-angle:120deg;transform:rotate(var(--orbit-angle)) translateY(-66px);animation-delay:-1.4s}.setup-loading-icon-scissors{--orbit-angle:240deg;transform:rotate(var(--orbit-angle)) translateY(-66px);animation-delay:-2.8s}.loading-wordmark{letter-spacing:.08em;gap:6px;font-size:36px;font-weight:700;display:flex}.loading-wordmark span{animation:.9s infinite both loading-pop;display:inline-block}.loading-copy{color:var(--text-secondary);text-align:center;margin:0;font-size:18px}.loading-grid{grid-template-columns:repeat(6,1fr);gap:6px;width:min(100%,360px);display:grid}.loading-grid span{aspect-ratio:1;background:linear-gradient(135deg, var(--surface), var(--surface-raised));border-radius:3px;animation:1.5s infinite shimmer}.wordmark{text-align:left;letter-spacing:.05em;font-family:Roboto Condensed,Roboto,sans-serif;font-size:48px;font-weight:700}.home-screen .wordmark{text-align:center}.wordmark-ghost{color:color-mix(in srgb, var(--text-muted) 55%, var(--surface-raised));font-weight:500}.tagline,.subtitle,.daily-complete,.daily-footer,.daily-countdown,.fun-card-copy,.rules-section p,.streak-card p,.replay-note,.result-copy,.sheet-copy{color:var(--text-secondary)}.tagline,.subtitle,.daily-complete,.daily-footer,.daily-countdown,.fun-card-copy,.rules-section p,.streak-card p,.result-copy,.replay-note{margin:0;font-size:18px}.home-screen{min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);text-align:center;align-content:center;gap:12px;padding-top:42px;padding-bottom:16px;display:grid}.room-screen{min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);align-content:start;gap:18px;padding-top:32px;display:grid}.home-screen .tagline{text-align:center;letter-spacing:.18em;max-width:28rem;margin:0 auto;font-size:28px;line-height:1.55}.home-screen-pending .tagline{margin-bottom:36px}.home-screen-complete .tagline{letter-spacing:.12em;max-width:22rem;font-size:14px;line-height:1.35}.daily-card,.fun-card,.streak-card,.stat-card,.result-card,.room-card,.starting-card,.rotate-card,.sheet,.toast,.setup-confirm,.post-match-panel{background:var(--bg);border:1px solid var(--border);box-shadow:var(--card-shadow)}.daily-card,.fun-card,.streak-card,.result-card,.room-card,.sheet,.post-match-panel{border-radius:16px}.daily-card,.fun-card,.streak-card,.room-card,.post-match-panel{padding:20px}.daily-card{gap:12px;margin-top:auto;display:grid}.home-screen-pending .daily-card{margin-top:0}.home-orbit{--home-orbit-scale:1;--home-orbit-size:calc(132px * var(--home-orbit-scale));--home-orbit-margin-top:calc(44px * var(--home-orbit-scale));--home-orbit-margin-bottom:calc(8px * var(--home-orbit-scale));--home-orbit-ring-size:calc(92px * var(--home-orbit-scale));--home-orbit-center-size:calc(12px * var(--home-orbit-scale));--home-orbit-piece-size:calc(42px * var(--home-orbit-scale));--home-orbit-glyph-size:calc(22px * var(--home-orbit-scale));width:var(--home-orbit-size);height:var(--home-orbit-size);margin:var(--home-orbit-margin-top) auto var(--home-orbit-margin-bottom);position:relative}.home-orbit-ring,.home-orbit-center{border-radius:50%;position:absolute;inset:50%;transform:translate(-50%,-50%)}.home-orbit-ring{width:var(--home-orbit-ring-size);height:var(--home-orbit-ring-size);border:1px solid color-mix(in srgb, var(--border) 80%, transparent)}.home-orbit-center{width:var(--home-orbit-center-size);height:var(--home-orbit-center-size);background:var(--accent-subtle);border:1px solid var(--border)}.home-orbit-arm{position:absolute;inset:0}.home-orbit-piece{width:var(--home-orbit-piece-size);height:var(--home-orbit-piece-size);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, var(--accent-subtle));color:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 10px 22px #d6454514}.home-orbit-piece .piece-glyph{width:var(--home-orbit-glyph-size);height:var(--home-orbit-glyph-size)}.home-orbit-arm-rock{animation:18s linear infinite orbit-spin-rock}.home-orbit-arm-paper{animation:18s linear infinite orbit-spin-paper}.home-orbit-arm-scissors{animation:18s linear infinite orbit-spin-scissors}.home-orbit-static .home-orbit-arm,.home-orbit-settling .home-orbit-arm{animation-play-state:paused}.home-orbit-settling{transition:transform .6s,opacity .6s;transform:scale(.96)}@keyframes orbit-spin-rock{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-spin-paper{0%{transform:rotate(120deg)}to{transform:rotate(480deg)}}@keyframes orbit-spin-scissors{0%{transform:rotate(240deg)}to{transform:rotate(600deg)}}.fun-card{gap:16px;display:grid}.home-multiplayer-card{margin-top:0}.daily-card-label{color:var(--text-muted);letter-spacing:.08em;font-size:18px;font-weight:600}.daily-card-label span{color:var(--text-primary);font-family:inherit}.stacked-actions{gap:8px;display:grid}.stacked-actions .button,.fun-card .button{width:100%}.button,.text-link,.icon-button,.history-row,.setup-cell,.timeline-card,.board-cell{font:inherit;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;touch-action:manipulation}.board,.setup-grid{touch-action:none}.button{border:1px solid #0000;border-radius:10px;min-height:48px;padding:0 16px;transition:transform .12s,background-color .12s,border-color .12s,opacity .12s}.button:active,.text-link:active,.history-row:active,.setup-cell:active,.timeline-card:active,.icon-button:active{transform:scale(.98)}.board-cell:active{background:color-mix(in srgb, var(--surface) 82%, var(--surface-raised));transform:scale(.98)}.setup-cell:active{background:color-mix(in srgb, var(--surface) 82%, var(--surface-raised))}@media (hover:hover) and (pointer:fine){.button:hover,.text-link:hover,.history-row:hover,.setup-cell:hover,.timeline-card:hover,.icon-button:hover{transform:translateY(-1px)}}.button:disabled,.timeline-card:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary-button{background:var(--accent);color:#fff;box-shadow:var(--button-shadow)}.outline-button{background:var(--surface-raised);color:var(--text-primary);border-color:var(--text-primary)}.text-link,.back-link{min-height:44px;color:var(--text-secondary);background:0 0;border:0;align-items:center;padding:0 4px;display:inline-flex}.fun-card-copy{color:var(--text-primary);font-size:18px}.home-links{color:var(--text-secondary);justify-items:center;gap:2px;font-size:18px;display:grid}.text-link-small{min-height:32px;color:var(--text-muted);font-size:14px}.home-links-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.home-links-sep{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:14px;line-height:1}.room-code-badge{border:1px solid var(--border);min-height:32px;color:var(--text-secondary);letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;display:inline-flex}.screen-header{justify-content:space-between;align-items:center;min-height:44px;display:flex}.gameplay-header{margin-top:24px;margin-bottom:10px}.gameplay-mode-label{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);flex:1;font-size:11px}.gameplay-icon-spacer{width:44px;height:44px}.setup-screen,.stats-screen{gap:16px;display:grid}.setup-screen{min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);align-content:end;padding-top:48px;padding-bottom:64px}.setup-screen h1,.stats-screen h1{text-align:center;margin:0;font-size:28px}.subtitle{text-align:center;margin-top:-6px}.setup-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.setup-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);color:var(--player-self);border-radius:10px;position:relative}.setup-cell-selected{background:var(--accent-subtle);border:2px solid var(--accent)}.setup-cell-locked{opacity:.45}.setup-cell-badge{color:var(--accent);font-size:18px;position:absolute;top:8px;right:8px}.setup-cell-badge-trap{color:var(--text-secondary);top:auto;bottom:8px}.setup-confirm{background:var(--surface);border-radius:16px;gap:12px;padding:16px;display:grid}.gameplay-screen{gap:12px;padding-top:18px;display:grid}.gameplay-screen-replay{padding-top:6px}.gameplay-screen-replay .gameplay-header{margin-top:10px;margin-bottom:6px}.info-bar{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.info-bar-player{align-items:flex-start}.info-bar-label{font-size:18px;font-weight:500}.info-bar-label-player{padding-top:14px}.info-bar-meta{justify-items:end;gap:6px;font-family:inherit;font-size:18px;display:grid}.timer{color:var(--text-secondary)}.timer-low{color:var(--accent)}.prompt-bar{text-align:center;place-items:center;min-height:32px;font-size:18px;font-weight:500;display:grid}.prompt-bar-muted{color:var(--text-muted);animation:.9s ease-in-out infinite pulse}.board{border:1px solid var(--border);background:var(--bg);width:min(100%,100vw - 24px);max-width:500px;margin:0 auto;display:grid;position:relative}.board-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);place-items:center;padding:0;transition:background-color .16s,border-color .16s,transform .16s;display:grid;position:relative}.board-cell-selected{background:var(--accent-subtle);border:2px solid var(--accent)}.board-cell-preview-target{background:#d6454514}.board-cell-encounter-human{background:#2da44e1f}.board-cell-encounter-ai{background:#d645451f}.board-cell-encounter-tie{background:#d977061f}.board-cell-encounter-trap{background:#7c3aed24}.move-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;position:absolute}.attack-ring{border:2px solid var(--accent);border-radius:999px;position:absolute;inset:10px}.piece{border-radius:12px;place-items:center;width:74%;height:74%;transition:transform .18s,opacity .18s,color .18s;display:grid;position:relative}.piece-body{place-items:center;width:100%;height:100%;display:grid}.piece-hidden{color:var(--player-opponent)}.piece-human,.piece-visible{color:var(--player-self)}.piece-revealed-human{color:var(--revealed-human);background:#2563eb14}.piece-revealed-ai{color:var(--revealed-opponent);background:#d4a0171a}.piece-ghost{color:#1a1a1a26}.piece-fade-out{opacity:0;transform:scale(.72)}.piece-encounter-winner{transform:scale(1.05)}.piece-badges{gap:2px;display:grid;position:absolute;top:-2px;right:-2px}.piece-badge{background:var(--surface);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:18px;line-height:1;display:inline-flex}.piece-badge-king{color:var(--accent)}.piece-badge-trap{color:var(--trap)}.piece-glyph{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.piece-telegraph{animation:.5s shake}.preview-move-layer{pointer-events:none;position:absolute;inset:0}.piece-preview-travel{top:calc((100% / var(--board-size)) * var(--preview-from-row));left:calc((100% / var(--board-size)) * var(--preview-from-col));width:calc(100% / var(--board-size));height:calc(100% / var(--board-size));transform:translate(calc((var(--preview-to-col) - var(--preview-from-col)) * 100%), calc((var(--preview-to-row) - var(--preview-from-row)) * 100%));transition:transform .32s;position:absolute}.piece-strip{flex-wrap:wrap;gap:6px;min-height:14px;display:flex}.piece-strip-item{width:14px;height:14px;color:var(--player-opponent);position:relative}.piece-strip-item .piece-glyph{stroke-width:2.2px;width:14px;height:14px}.piece-strip-item-human{color:var(--player-self)}.piece-strip-item-revealed-human{color:var(--revealed-human)}.piece-strip-item-revealed-ai{color:var(--revealed-opponent)}.piece-strip-badge{color:var(--accent);font-size:18px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.overlay{z-index:20;background:#0000004d;place-items:center;padding:16px;animation:.18s both overlay-fade;display:grid;position:fixed;inset:0}.overlay>*{animation:.22s cubic-bezier(.22,1,.36,1) both modal-rise}.result-card,.confirm-card,.starting-card,.rotate-card{text-align:center;border-radius:16px;width:min(100%,360px);padding:28px 24px}.result-card{gap:14px;display:grid}.confirm-card{background:var(--bg);border:1px solid var(--border);box-shadow:var(--card-shadow);gap:14px;display:grid}.confirm-card h2{margin:0;font-size:28px}.result-state{margin:0;font-size:34px;font-weight:700}.result-state-win{color:var(--win)}.result-state-loss{color:var(--loss)}.result-copy{line-height:1.5}.result-copy-secondary{color:var(--text-muted)}.room-card{gap:14px;display:grid}.room-card-form{margin-top:6px}.name-field{color:var(--text-secondary);text-transform:none;gap:10px;display:grid}.name-row,.room-link-row{align-items:center;gap:10px;display:flex}.name-input{border:1px solid var(--border);background:var(--surface-raised);min-height:52px;font:inherit;text-transform:none;color:var(--text-primary);border-radius:12px;flex:1;padding:0 14px;font-size:18px}.name-input::placeholder{color:var(--text-muted)}.room-copy-button{flex:none}.room-link-text{background:var(--surface);border:1px solid var(--border);text-transform:none;word-break:break-all;border-radius:12px;flex:1;align-items:center;min-height:52px;padding:0 14px;font-size:15px;display:flex}.room-copy-note,.room-error{color:var(--text-secondary);text-transform:none;margin:0;font-size:16px}.room-error{color:var(--accent)}.post-match-panel{gap:14px;display:grid}.gameplay-screen-replay .post-match-panel{gap:10px}.post-match-header{gap:10px;display:grid}.post-match-header h2,.history-section h2,.sheet-header h2,.rules-section h3{margin:0;font-size:22px}.post-match-actions{align-items:center;gap:10px;display:flex}.replay-icon-button{flex:none;width:44px;height:44px}.replay-note{line-height:1.45}.timeline-rail{touch-action:pan-x;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.timeline-card{background:var(--surface);min-width:240px;color:var(--text-secondary);text-align:left;border:1px solid #0000;border-radius:12px;padding:12px;transition:background-color .18s,border-color .18s,color .18s,transform .12s}.timeline-card-king{color:var(--accent)}.timeline-card-trap{color:var(--trap)}.timeline-card-selected{border-color:var(--accent);background:var(--accent-subtle);color:var(--text-primary)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.streak-card{text-align:center}.streak-label{color:var(--text-secondary);letter-spacing:.08em;font-size:18px}.streak-value{color:var(--accent);margin-top:12px;font-family:inherit;font-size:56px;font-weight:700;line-height:1}.streak-unit{color:var(--text-secondary);margin-top:4px}.stat-card{background:var(--surface);border-radius:12px;gap:4px;padding:16px;display:grid}.stat-card strong{font-family:inherit;font-size:30px}.rules-sheet,.rules-sheet *{text-transform:none}.stat-card span{color:var(--text-muted);font-size:18px}.history-list{display:grid}.history-row{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:8px;padding:14px 0;display:grid}.history-result-win{color:var(--win)}.history-result-loss{color:var(--loss)}.sheet{box-shadow:var(--modal-shadow)}.modal-sheet{gap:14px;width:min(100%,420px);max-height:min(86svh,720px);padding:16px;display:grid}.about-sheet{width:min(100%,360px)}.about-copy{gap:6px;display:grid}.about-copy .sheet-copy{margin:0}.about-copy-emphasis{color:var(--text-primary);font-weight:400}.about-copy-link{margin-top:-2px}.about-sheet a{color:var(--accent);overflow-wrap:anywhere;text-decoration:none}.sheet-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-header h2{flex:1}.rules-sheet .sheet-header{align-items:center}.rules-sheet .sheet-header h2{text-align:left;padding-left:4px}.icon-button{width:44px;height:44px;color:var(--text-muted);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.gameplay-icon-button{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-raised) 92%, var(--bg));color:var(--text-primary);border-radius:999px}.header-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.rules-content{-webkit-overflow-scrolling:touch;gap:14px;display:grid;overflow-y:auto}.rules-section{gap:6px;display:grid}.sheet-footer{display:grid}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 80px);z-index:40;border-radius:12px;padding:12px 20px;position:fixed;transform:translate(-50%)}.toast-accent,.offline-banner{background:var(--accent-subtle);color:var(--accent)}.offline-banner{border-radius:12px;place-items:center;width:min(100%,420px);min-height:44px;margin:0 auto 12px;font-size:18px;display:grid}@media (width>=768px){.app-shell{padding-left:24px;padding-right:24px}.home-screen,.setup-screen,.gameplay-screen,.stats-screen,.loading-screen,.board{width:420px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes setup-loading-fade{0%{opacity:0;transform:translateY(12px)}22%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@keyframes setup-loading-breathe{0%,to{opacity:.5;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}@keyframes setup-loading-orbit{0%{opacity:.35;transform:rotate(var(--orbit-angle)) translateY(-66px) scale(.94)}18%{opacity:1}50%{opacity:.45;transform:rotate(calc(var(--orbit-angle) + 180deg)) translateY(-66px) scale(1)}to{opacity:.35;transform:rotate(calc(var(--orbit-angle) + 360deg)) translateY(-66px) scale(.94)}}@keyframes screen-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes screen-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(app-scene){animation:.18s both screen-fade-out}::view-transition-new(app-scene){animation:.22s cubic-bezier(.22,1,.36,1) both screen-fade-in}@keyframes shimmer{0%,to{opacity:.45;transform:scale(.95)}50%{opacity:1;transform:scale(1)}}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes loading-pop{0%,to{opacity:.55;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}
