:root{--color-bg: #0b1020;--color-fg: #e3dff4;--color-muted: #8b84b4;--color-accent: #7c5cff;--color-accent-ink: #fff;--color-line: rgba(128, 124, 157, .25);--color-surface: #221f3d;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-fg);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:20px}button,a{font:inherit}.app{height:100%;display:grid;grid-template-rows:auto 1fr;min-height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.app:has(.rail){grid-template-rows:auto auto 1fr}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:56px;padding:0 12px;background:var(--color-surface);border-bottom:1px solid var(--color-line);z-index:2}.logo{height:22px;width:auto;display:block}.back,.langs button,.pad button,.cta,.close{color:var(--color-fg);text-decoration:none}.back{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-size:14px;font-weight:500;color:var(--color-muted)}.back:hover,.back:focus-visible{color:var(--color-accent)}.langs{justify-self:end;display:flex;gap:4px}.langs button,.pad button,.close{appearance:none;background:transparent;border:1px solid var(--color-line);border-radius:10px;color:var(--color-muted);cursor:pointer;min-height:44px;min-width:44px;padding:0 12px;touch-action:manipulation;transition:border-color .2s var(--ease),background .2s var(--ease)}.langs button.on,.pad button:active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.rail{display:flex;overflow-x:auto;background:var(--color-bg);border-bottom:1px solid var(--color-line)}.rail button{appearance:none;flex:1 0 auto;display:grid;justify-items:center;gap:4px;min-width:44px;min-height:44px;padding:10px 8px 8px;border:0;background:transparent;color:var(--color-muted);font-family:DM Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.rail button[aria-current=true]{color:var(--color-fg)}.rail button i{width:8px;height:8px;border-radius:50%;border:1px solid var(--color-muted);font-style:normal}.rail button[aria-current=true] i{background:var(--color-accent);border-color:var(--color-accent)}.langs button:focus-visible,.pad button:focus-visible,.cta:focus-visible,.back:focus-visible,.close:focus-visible,.rail button:focus-visible,.list a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.stage{min-height:0;position:relative;touch-action:none;overflow:hidden}.stage>div:first-child{height:100%;z-index:0}.card{position:absolute;top:8px;left:8px;right:8px;z-index:3;padding:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:16px;box-shadow:0 8px 24px #08061866}.card:focus{outline:2px solid var(--color-accent);outline-offset:2px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card h2{margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:20px}.close{flex:0 0 auto;padding:0}.card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:8px 0 12px;color:var(--color-muted);font-size:14px;line-height:20px;max-width:42ch}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;padding:0 12px;background:var(--color-accent);border-radius:10px;color:var(--color-accent-ink);font-weight:600}.cta:hover{box-shadow:0 0 0 4px #7c5cff59}.dock{position:absolute;bottom:0;left:0;right:0;display:grid;justify-items:center;gap:4px;padding:4px 12px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--color-bg));border:0;pointer-events:none;z-index:2}.dock .hint,.dock .pad{pointer-events:auto}.hint{margin:0;color:var(--color-muted);font-family:DM Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.08em;line-height:16px;text-align:center;text-transform:uppercase;min-height:16px}.pad{display:grid;width:min(13rem,100%);grid-template-columns:1fr 1fr 1fr;grid-template-areas:". fwd ." "left . right" ". back .";gap:6px}.pad .fwd{grid-area:fwd}.pad .left{grid-area:left}.pad .right{grid-area:right}.pad .rev{grid-area:back}.pad button{min-height:48px;width:100%;font-size:1.15rem;line-height:1}.pad button.face{border-color:var(--color-fg);color:var(--color-fg)}.pad button.go{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.pad button.miss{border-color:var(--color-muted)}@media(prefers-reduced-motion:no-preference){.pad button.go{animation:cue 1.4s var(--ease) infinite}}@keyframes cue{0%,to{box-shadow:0 0 #7c5cff80}50%{box-shadow:0 0 0 6px #7c5cff00}}.list{list-style:none;margin:0;padding:0 16px;overflow:auto}.list li+li{border-top:1px solid var(--color-line)}.list a{display:grid;grid-template-columns:2.5rem 1fr;gap:12px;padding:14px 0;color:inherit;text-decoration:none;min-height:44px;align-items:start}.list strong{display:block;font-family:Space Grotesk,system-ui,sans-serif;margin-bottom:4px}.list a span span{color:var(--color-muted)}.num{font-family:DM Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:var(--color-muted)}@media(min-width:720px){.app:has(.rail){grid-template-rows:auto 1fr}.top{grid-row:1;padding:0 16px;min-height:64px}.rail{grid-row:2;grid-column:1;justify-self:end;align-self:start;z-index:4;margin:16px 16px 0 0;flex-direction:column;overflow:visible;background:transparent;border:0}.rail button{flex:none;min-width:48px}.stage{grid-row:2;grid-column:1}.card{left:16px;right:auto;width:min(22rem,calc(100% - 32px));top:16px}.card p{-webkit-line-clamp:unset;overflow:visible}.dock{left:auto;width:auto;padding:16px}.pad{width:13rem}.cta{width:auto}}
