/* RAPF*CK V5 — rounded surfaces + tactile motion */
:root{--r-sm:12px;--r-md:18px;--r-lg:26px;--r-xl:34px;--ease:cubic-bezier(.2,.8,.2,1);--display-font:"Arial Black","Franklin Gothic Heavy",Impact,Haettenschweiler,sans-serif}
button,a,.mode-card,.price-card,.feature-grid article,.big-mode-grid article,.daily-card,.stats-grid article,.setup-card,.profile-card,.profile-preview,.beats-panel,.tool-card,.history-item,.rank-row,.goal-progress,.xp-panel,.phone-mock,.beat-list article,.mini-beats article,.goal-box,.public-meta span,.youtube-frame,.recording-result,.rank-banner,.sticky-start{border-radius:var(--r-md)}
.primary,.inverted,.ghost,.google-login,.toggle-btn,.segmented button,.beat-tabs button,input,select,textarea{border-radius:var(--r-sm)!important}
.price-card,.mode-card,.feature-grid article,.big-mode-grid article,.rank-row,.history-item,.tool-card,.mini-beats article,.beat-list article,.goal-progress,.profile-card,.profile-preview,.beats-panel,.daily-card,.phone-mock{transition:transform .18s var(--ease),border-color .18s ease,box-shadow .18s ease,background .18s ease}
button,a{transition:transform .14s var(--ease),filter .14s ease,background .14s ease,border-color .14s ease}
button:hover,a:hover,.mode-card:hover,.rank-row:hover,.history-item:hover,.price-card:hover,.feature-grid article:hover,.big-mode-grid article:hover,.mini-beats article:hover,.beat-list article:hover{transform:translateY(-2px)}
button:active,a:active,.mode-card:active,.rank-row:active{transform:translateY(1px) scale(.985)}
.mode-card:hover,.rank-row:hover,.history-item:hover,.tool-card:hover,.price-card:hover{border-color:#464646;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.price-card.featured:hover,.daily-card:hover{border-color:var(--acid);box-shadow:0 14px 38px rgba(217,255,67,.08)}
.primary:hover,.google-login:hover{filter:brightness(1.06)}
.bottom-nav{border-radius:22px 22px 0 0;overflow:hidden}.bottom-nav button{border-radius:12px;margin:5px 3px}.bottom-nav button.active{background:#171912}.topbar,.landing-top{border-radius:0 0 20px 20px}.xp-pill{border-radius:999px!important}.avatar-img,.avatar{border-radius:50%!important}

/* V5.3 — bigger, heavier, clearer */
body{font-size:16px}
.brand,h1,h2,h3,.price-card>strong,.grade,.mock-word,.mock-rank,.stats-grid strong,.xp-pill strong,.rank-row>b,.ego-stat strong,.final-cta h2{font-family:var(--display-font);font-weight:900}
h1{font-weight:1000;letter-spacing:-5px}
h2{font-size:clamp(34px,7vw,64px)!important;line-height:.9;letter-spacing:-2px}
h3{font-size:clamp(24px,4vw,34px)!important;line-height:1}
.lead{font-size:clamp(18px,2.4vw,23px);line-height:1.5;font-weight:700}
.eyebrow,.kicker{font-size:12px;font-weight:1000;letter-spacing:2.4px}
.primary,.inverted,.ghost,.google-login,.ghost-link,.toggle-btn,.segmented button,.beat-tabs button,.session-actions button,.mock-actions button,.bottom-nav button,.text-btn{font-family:var(--display-font);text-align:center;justify-content:center;align-items:center;line-height:1;letter-spacing:.5px;font-weight:1000;text-transform:uppercase}
a.primary,a.inverted,a.google-login,a.ghost-link{display:flex}
button.primary,button.inverted,button.ghost,button.toggle-btn{display:inline-flex}
.primary,.inverted,.ghost,.google-login,.ghost-link{font-size:16px;min-height:62px;padding:18px 24px}
.hero-actions .primary,.hero-actions .ghost-link,.price-card a,.final-cta .primary{min-height:66px;font-size:17px}
.small-login{min-height:52px!important;padding:14px 20px!important;font-size:14px!important}
.segmented button,.beat-tabs button{min-height:48px;font-size:13px}
.session-actions button{min-height:64px;font-size:16px}.hit{font-size:18px!important}
.mode-card h3,.big-mode-grid h3,.feature-grid h3{font-size:30px!important}
.mode-card p,.big-mode-grid p,.feature-grid p,.price-card li{font-size:14px;line-height:1.55}
.price-card>span{font-size:15px}.price-card>strong{font-size:54px}.price-card>small{font-size:13px}
.stats-grid span{font-size:11px}.stats-grid strong{font-size:34px}.stats-grid small{font-size:12px}
.rank-row span>strong{font-size:16px}.rank-row span>small{font-size:11px}.rank-row>em{font-size:14px}
.ticker{font-size:12px;letter-spacing:2px}.mode-card small,.big-mode-grid small{font-size:9px;letter-spacing:1.8px}

/* Hip hop values */
.hiphop-values{position:relative;overflow:hidden}.hiphop-values:before{content:'HIP HOP';position:absolute;right:-18px;top:18px;font-family:var(--display-font);font-size:clamp(70px,16vw,180px);line-height:.8;color:#111;z-index:-1;letter-spacing:-8px}.values-intro{max-width:760px;color:#aaa;font-size:16px;line-height:1.6;margin:0 0 24px}.values-grid{display:grid;gap:10px}.value-card{position:relative;background:#111;border:1px solid #2d2d2d;border-radius:22px;padding:24px;min-height:165px;overflow:hidden;transition:transform .18s var(--ease),border-color .18s ease,box-shadow .18s ease}.value-card:hover{transform:translateY(-3px);border-color:#4b4b4b;box-shadow:0 16px 36px rgba(0,0,0,.25)}.value-card b{display:block;color:var(--acid);font-family:var(--display-font);font-size:12px;letter-spacing:2px}.value-card h3{margin:28px 0 8px;font-size:30px!important}.value-card p{margin:0;color:#91918a;font-size:14px;line-height:1.55}.value-card:after{content:'✦';position:absolute;right:16px;top:14px;color:#2d2d2d;font-size:30px}.culture-line{margin-top:18px;border:1px solid #2c2c2c;border-radius:999px;padding:13px 17px;display:flex;gap:12px;align-items:center;overflow:hidden;white-space:nowrap;color:#777;font-size:11px;font-weight:900;letter-spacing:1.2px}.culture-line b{color:var(--acid)}

/* Ego profile */
.ego-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.ego-section h3{margin:0 0 4px;font-size:28px!important}.ego-section>p{margin:0 0 18px;color:#888;font-size:13px;line-height:1.5}.ego-grid{display:grid;gap:12px}.ego-grid.two{grid-template-columns:1fr 1fr}.ego-field label{margin:0 0 7px!important;font-size:11px!important}.ego-field input,.ego-field textarea,.ego-field select{width:100%;font-size:15px;padding:14px}.ego-field textarea{min-height:82px}.ego-preview{margin-top:18px;display:grid;gap:8px}.ego-chip-row{display:flex;flex-wrap:wrap;gap:7px}.ego-chip{border:1px solid #343434;background:#0d0d0d;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;color:#aaa}.ego-chip.acid{color:var(--acid);border-color:#4a5420}.ego-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ego-stat{background:#0d0d0d;border:1px solid #282828;border-radius:14px;padding:14px;text-align:center}.ego-stat span{display:block;color:#666;font-size:9px;letter-spacing:1px}.ego-stat strong{display:block;margin-top:6px;font-size:17px}.showcase-note{color:#777;font-size:11px;line-height:1.45;margin:12px 0 0}.profile-preview{border-radius:26px;overflow:hidden}.profile-card{border-radius:26px}.profile-badge{border-radius:999px!important}.public-card{background:#0f0f0f;border:1px solid #292929;border-radius:28px;padding:26px}.public-showcase{margin:22px 0;text-align:left;display:grid;gap:10px}.public-showcase .show-row{background:#121212;border:1px solid #292929;border-radius:16px;padding:14px}.public-showcase .show-row span{display:block;color:#666;font-size:9px;letter-spacing:1.2px;font-weight:900}.public-showcase .show-row strong{display:block;margin-top:6px;font-size:16px}.social-row{display:flex;flex-wrap:wrap;gap:7px}.social-row a{display:inline-flex;border:1px solid #333;border-radius:999px;padding:9px 12px;color:#ddd;text-decoration:none;font-size:10px;font-weight:900}.social-row a:hover{border-color:var(--acid);color:var(--acid)}
@media(min-width:760px){.values-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){body{font-size:15px}.ego-grid.two{grid-template-columns:1fr}.ego-stat-grid{grid-template-columns:1fr 1fr}.public-card{padding:18px}.topbar,.landing-top{border-radius:0 0 16px 16px}.values-grid{grid-template-columns:1fr}.primary,.inverted,.ghost,.google-login,.ghost-link{font-size:15px;min-height:58px;padding:16px 18px}.hero-actions .primary,.hero-actions .ghost-link,.price-card a,.final-cta .primary{min-height:60px;font-size:16px}.segmented button,.beat-tabs button{font-size:12px;min-height:46px}}
