:root{--dominant: #5409da;--secondary: #000000;--accent: #70ee9c;--text: #f4f2ff;--muted: #b8b0d9;--gold: #ffc850}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%;font-family:Segoe UI,system-ui,sans-serif;color:var(--text);background:radial-gradient(ellipse at 50% 0%,#2a1080,#0a0018 45%,#000)}.app{min-height:100vh;padding:20px 16px 32px;position:relative;overflow-x:hidden}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(1px 1px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 80% 20%,#fff6,transparent),radial-gradient(1px 1px at 60% 80%,#fff5,transparent)}.header{text-align:center;margin-bottom:28px}.logo{font-size:28px;font-weight:700;letter-spacing:.08em;background:linear-gradient(90deg,var(--accent),#fff,var(--dominant));-webkit-background-clip:text;background-clip:text;color:transparent}.subtitle{margin-top:8px;color:var(--muted);font-size:14px}.app-home{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:16px;overflow-x:clip;overflow-y:visible}.header-compact{margin-bottom:8px;flex-shrink:0}.bubble-carousel{flex:1;display:flex;flex-direction:column;min-height:0;width:100%}.bubble-carousel-track{flex:1;display:flex;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.bubble-carousel-track::-webkit-scrollbar{display:none}.bubble-carousel-slide{flex:0 0 100%;width:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:min(68vh,520px);padding:0 8px;background:none;border:none;cursor:pointer;color:var(--text);-webkit-tap-highlight-color:transparent;overflow:visible}.bubble-carousel-sphere{width:min(92vmin,420px);height:min(92vmin,420px);position:relative;display:grid;place-items:center;transition:transform .2s ease;overflow:visible}.bubble-carousel-sphere>*{grid-area:1 / 1}.bubble-carousel-slide:active .bubble-carousel-sphere{transform:scale(.96)}.bubble-carousel-label{font-size:22px;font-weight:600;color:var(--text);letter-spacing:.02em}.bubble-carousel-hint{font-size:13px;color:var(--muted)}.bubble-carousel-dots{display:flex;justify-content:center;gap:8px;padding:16px 0 6px;flex-shrink:0}.bubble-carousel-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:#fff3;cursor:pointer;transition:transform .2s ease,background .2s ease}.bubble-carousel-dot.active{background:var(--accent);transform:scale(1.25)}.bubble-carousel-swipe{margin:0;text-align:center;font-size:12px;color:var(--muted);opacity:.7;flex-shrink:0}.bubble-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 12px;max-width:420px;margin:0 auto}.bubble-btn{display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:0;color:var(--text)}.bubble-sphere-wrap{width:108px;height:108px;position:relative;display:grid;place-items:center}.bubble-sphere-wrap>*{grid-area:1 / 1}.bubble-visual{position:relative;width:100%;height:100%;flex-shrink:0;overflow:visible;background:none}.bubble-visual-media,.bubble-visual-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;z-index:2;background:transparent}.bubble-carousel .bubble-visual-media,.bubble-carousel .bubble-visual-fallback{width:108%;height:108%;left:-4%;top:-4%;object-fit:contain}.bubble-visual-media{display:block}.bubble-visual-fallback{display:none}.bubble-visual.show-fallback .bubble-visual-fallback{display:block}.bubble-visual-css{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffffff55,transparent 40%),radial-gradient(circle at 50% 50%,#70ee9c33,#5409da22 60%,transparent 100%);pointer-events:none}.bubble-visual.gold .bubble-visual-css{background:radial-gradient(circle at 30% 25%,#fff6,transparent 40%),radial-gradient(circle at 50% 50%,#ffc85055,transparent 70%)}.bubble-sphere{width:88px;height:88px;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#ffffffaa,transparent 35%),radial-gradient(circle at 70% 75%,#70ee9c55,transparent 40%),radial-gradient(circle at 50% 50%,#ff6ec755,#5409da44 55%,#0002);border:2px solid #ffffff44;box-shadow:0 0 24px #5409da66,inset 0 0 20px #fff2;transition:transform .25s ease,box-shadow .25s ease}.bubble-sphere.gold{background:radial-gradient(circle at 30% 25%,#fff9,transparent 35%),radial-gradient(circle at 50% 50%,#ffc85088,#ff8c0044 60%,transparent 100%);box-shadow:0 0 28px #ffc85088}.bubble-sphere:active,.bubble-btn:active .bubble-sphere{transform:scale(.94)}.bubble-icon{font-size:28px;filter:drop-shadow(0 0 8px #fff8)}.bubble-label{font-size:12px;text-align:center;line-height:1.25;color:var(--muted)}.page-card{max-width:480px;margin:0 auto;background:#ffffff08;border:1px solid #ffffff18;border-radius:24px;padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-title{font-size:22px;margin:0 0 16px;color:var(--accent)}.idea-text{font-size:17px;line-height:1.5;margin:16px 0;white-space:pre-wrap}.stats-row{display:flex;gap:16px;color:var(--muted);font-size:14px;margin:12px 0}textarea{width:100%;min-height:140px;border-radius:16px;border:1px solid #ffffff22;background:#0005;color:var(--text);padding:14px;font-size:16px;resize:vertical;font-family:inherit}textarea:focus{outline:2px solid var(--accent);border-color:transparent}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{flex:1;min-width:120px;border:none;border-radius:16px;padding:14px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--dominant),#7b3dff);color:#fff}.btn-accent{background:var(--accent);color:#0a1a10}.btn-ghost{background:#ffffff12;color:var(--text);border:1px solid #ffffff22}.btn-danger{background:#ff4d6d33;color:#ffb3c1;border:1px solid #ff4d6d55}.back-link{display:inline-block;margin-bottom:16px;color:var(--accent);text-decoration:none;font-size:14px;cursor:pointer;background:none;border:none;padding:0}.quota-badge{display:inline-block;margin-top:8px;padding:6px 12px;border-radius:999px;background:#70ee9c22;color:var(--accent);font-size:13px}.error{color:#ff8fa3;font-size:14px;margin-top:10px}.list-item{padding:12px 0;border-bottom:1px solid #ffffff12;font-size:14px;line-height:1.4}.status-msg{color:var(--accent);font-size:14px;margin:8px 0 16px}.rating-panel{margin-top:8px}.rating-title{font-size:18px;font-weight:600;margin:0 0 12px}.invite-card{margin-top:20px;padding:16px;border-radius:16px;background:#ffffff08;border:1px solid #ffffff14}.invite-title{margin:0 0 8px;font-size:17px}.invite-hint{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.45}.invite-link{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#0004;font-size:13px;line-height:1.4;word-break:break-all;color:var(--accent)}.bonuses-card .list-item{border-bottom:none;padding-bottom:4px}.bonus-block{margin-top:16px;padding-top:12px;border-top:1px solid #ffffff12}.bonus-label{margin:0 0 10px;font-size:15px;font-weight:600}.bonus-done{margin:0;color:var(--accent);font-size:14px}.bonus-recheck{margin-top:8px;flex:none;min-width:auto;width:100%}.promo-row{display:flex;gap:8px;margin-top:10px}.promo-input{flex:1;min-width:0;border-radius:12px;border:1px solid #ffffff22;background:#0005;color:var(--text);padding:12px 14px;font-size:15px;font-family:inherit}.promo-input:focus{outline:2px solid var(--accent);border-color:transparent}.promo-btn{flex:0 0 auto;min-width:100px}.with-bottom-nav{padding-bottom:88px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;padding:12px 16px 20px;background:linear-gradient(180deg,transparent,#000000ee 30%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100}.bottom-nav-btn{width:100%;max-width:480px;margin:0 auto;display:block;border:1px solid #70ee9c55;border-radius:16px;padding:14px;font-size:16px;font-weight:600;background:#5409da88;color:var(--text);cursor:pointer}
