.home{min-height:100%;width:100%;display:flex;flex-direction:column;align-items:center;padding:24px 16px 48px}.home__header{display:flex;flex-direction:column;align-items:center;text-align:center;margin:16px 0 32px}.home__logo{width:88px;height:88px;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}.home__title{margin:12px 0 4px;font-size:clamp(32px,6vw,52px);font-weight:800}.home__subtitle{margin:0;font-size:clamp(14px,2.5vw,22px);opacity:.85}.home__controls{width:100%;max-width:1100px;display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.home__search{flex:1 1 200px;min-width:0;padding:12px 18px;border:none;border-radius:999px;font-size:16px;background:#fffffff2;color:#2d3748;box-shadow:0 4px 14px #0000001f}.home__toolbar{display:flex;align-items:center;gap:10px}.home__sort{display:flex;align-items:center;gap:6px;color:#fff}.home__sort-label{font-size:13px;opacity:.9}.home__sort select{padding:10px 14px;border:none;border-radius:999px;font-size:15px;background:#fffffff2;color:#2d3748;box-shadow:0 4px 14px #0000001f}.home__view{display:flex;gap:2px;padding:3px;border-radius:999px;background:#ffffff38}.home__view button{width:42px;height:36px;border:none;border-radius:999px;background:transparent;color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.home__view button.is-active{background:#fff;color:#4c51bf}.home__empty{color:#fff;opacity:.9;font-size:16px;margin-top:28px;text-align:center}.home__grid{width:100%;max-width:1100px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.home__list{width:100%;max-width:680px;display:flex;flex-direction:column;gap:10px}.card{background:var(--card-bg);color:var(--card-title);border-radius:24px;text-decoration:none;display:flex;box-shadow:0 8px 20px #0000002e;transition:transform .12s ease,box-shadow .12s ease;position:relative}.card--grid{padding:18px;flex-direction:column;align-items:center;text-align:center}.card--list{padding:12px 16px;flex-direction:row;align-items:center;gap:14px;text-align:left;border-radius:18px}.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #00000040}.card--list:hover{transform:none;box-shadow:0 10px 24px #0000003d}.card__text{display:flex;flex-direction:column}.card--grid .card__text{align-items:center}.card--list .card__text{align-items:flex-start;flex:1;min-width:0}.card__icon{border-radius:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card--grid .card__icon{width:88px;height:88px;margin-bottom:12px}.card--list .card__icon{width:54px;height:54px;border-radius:14px}.card--list .card__icon-glyph{font-size:28px}.card__icon-glyph{font-size:40px;line-height:1;transform:translateY(1px);filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}.card__title{font-size:18px;font-weight:700}.card__desc{margin-top:6px;font-size:13px;line-height:1.35;color:#5a6678}.card--list .card__desc{margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__badge{position:absolute;top:12px;right:12px;background:#667eea26;color:#4c51bf;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}.game-loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff}.game-loading__spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;animation:game-loading-spin .8s linear infinite}.game-loading__label{margin:0;font-size:15px;opacity:.9}@keyframes game-loading-spin{to{transform:rotate(360deg)}}.bundled{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#1b1b2f}.bundled__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 16px}.bundled__bar .iconbtn{justify-self:start}.bundled__name{margin:0;font-size:18px;font-weight:700;color:#fff;text-align:center;white-space:nowrap}.bundled__frame-wrap{flex:1;min-height:0;display:flex;padding:0 16px 16px}.bundled__frame{flex:1;border:0;border-radius:12px;background:#000}.upd{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:999;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#1d2233;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 32px #00000073;color:#fff;animation:upd-in .32s cubic-bezier(.22,1,.36,1)}@keyframes upd-in{0%{transform:translateY(16px);opacity:0}}@media(prefers-reduced-motion:reduce){.upd{animation:none}}.upd__text{display:flex;flex-direction:column;gap:2px;min-width:0}.upd__text strong{font-size:14px;font-weight:800}.upd__text span{font-size:12.5px;color:#ffffffa8}.upd__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.upd__later{border:none;background:none;color:#fff9;font-size:13px;font-weight:700;padding:10px 8px;touch-action:manipulation}.upd__go{border:none;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:900;background:#6374e2;color:#fff;touch-action:manipulation}.upd__go:active{transform:scale(.97)}@media(min-width:560px){.upd{left:auto;right:20px;max-width:380px}}:root{--bg-top: #667eea;--bg-bottom: #764ba2;--card-bg: #ffffff;--card-title: #2d3748;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%}body{background:linear-gradient(to bottom,var(--bg-top),var(--bg-bottom));color:#fff;overflow-x:hidden}button{font-family:inherit;cursor:pointer}body.immersive{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;touch-action:none;overscroll-behavior:none;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.rotate-gate{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:14px;padding:28px;text-align:center;background:#05070f;color:#fff}.rotate-gate__icon{font-size:56px;animation:rotate-gate-turn 1.6s ease-in-out infinite}@keyframes rotate-gate-turn{0%,40%{transform:rotate(0)}70%,to{transform:rotate(-90deg)}}.rotate-gate h2{margin:0;font-size:clamp(22px,7vw,30px);font-weight:900}.rotate-gate p{margin:0;max-width:20rem;font-size:15px;color:#ffffffb8}.rotate-gate__back{margin-top:10px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:800}
