/* Shared controls and reading rhythm across Rally's social and market surfaces. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;--hit:44px;--space:24px;--sheet-radius:24px}
html{scrollbar-gutter:stable}
html [hidden]{display:none!important}
html button,html a,html input,html select,html textarea{touch-action:manipulation}
html button:disabled{cursor:default}
html .r-btn,html .r-btn.small{min-height:var(--hit);font-size:13px;padding:10px 16px;border-radius:12px}
html .r-icon-button,html .r-theme-button,html .r-header-create{width:var(--hit);height:var(--hit);min-width:var(--hit);border-radius:50%}
html .r-btn:active:not(:disabled),html .r-icon-button:active:not(:disabled),html .r-theme-button:active{transform:scale(.97)}
html .r-btn,html .r-icon-button,html .r-theme-button{transition:transform 100ms ease-out,background-color 100ms ease-out}
html .r-sidebar nav a,html .r-nav-search{min-height:52px;font-size:16px;border-radius:14px}
html .r-sidebar nav a.active{background:var(--soft)}
html .r-side-bottom summary,html .r-more-nav a,html .r-more-nav div button{min-height:var(--hit)}
html .r-sidebar .r-brand-row{min-height:44px;margin-bottom:24px}
html .r-post-button{min-height:48px;font-size:15px}
html .r-page-head{gap:12px;min-height:84px;padding:20px var(--space);flex-wrap:wrap}
html .r-page-head h1{font-size:22px;line-height:1.25}
html .r-tabs{gap:18px;padding:0 var(--space);scrollbar-width:none;overscroll-behavior-x:contain}
html .r-tabs::-webkit-scrollbar{display:none}
html .r-tabs button{min-width:44px;min-height:50px;font-size:14px;padding:14px 4px;flex-shrink:0}
html .r-tabs button.active:after{border-radius:100px}
html .r-feed-select,html .r-swipe-entry,html .r-back-link,html .r-page-head>.r-text-button{min-height:44px;font-size:12px}
html .r-text-button,html .r-back-link{min-height:44px;min-width:44px;padding-block:8px}
html .r-page-head .r-feed-select{margin-left:auto;padding:10px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
html .r-page-head .r-swipe-entry{padding:10px 14px}
html .r-feed-network{border:0;background:var(--canvas);padding:5px 7px}
html .r-composer-launch{padding:18px var(--space);min-height:80px;font-size:15px}
html .r-composer-launch>.icon{width:20px;height:20px}
html .r-market-strip{padding:4px var(--space) 16px}
html .r-market-strip-label{font-size:12px;margin-bottom:0}
html .r-market-strip-label button{min-height:44px}
html .r-live-tokens{gap:8px}
html .r-live-tokens>button{border-radius:14px;min-height:56px;padding:10px 12px;min-width:116px}
html .r-live-tokens b{font-size:12px}
html .r-live-tokens small{font-size:11px}
html .r-token,html .r-token-fallback{background:var(--soft);flex-shrink:0}
html .r-post{padding:20px var(--space) 14px}
html .r-post-heading{align-items:center;gap:10px}
html .r-post-heading .r-person,html .r-person-row .r-person{min-height:44px;min-width:0}
html .r-person b{font-size:15px;font-weight:650}
html .r-person small{font-size:12px;overflow-wrap:anywhere}
html .r-post-body{font-size:16px;line-height:1.55;letter-spacing:-.12px;margin:12px 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
html body[data-view="post"] #page>.r-post .r-post-body,html .r-modal .r-post-body{display:block;overflow:visible}
html .r-post-read{min-height:44px;font-size:13px;font-weight:600;color:var(--muted);text-align:left;margin-top:-8px;padding:8px 0}
html .r-post-actions{margin:0 0 0 -9px;gap:8px;padding-top:8px}
html .r-post-actions button{min-width:44px;min-height:44px;padding:9px;border-radius:50%;transition:transform 100ms ease-out}
html .r-post-actions button:active{transform:scale(.9)}
html .r-post-actions .icon{width:21px;height:21px}
html .r-post-actions button:last-child{margin-left:auto}
html .r-post-asset,html .r-link-card,html .r-media{margin-left:0;width:100%;border-radius:16px}
html .r-post-asset{padding:14px;min-height:72px;gap:12px}
html .r-post-asset>span{min-width:0}
html .r-post-asset .r-token,html .r-post-asset .r-token-fallback{width:34px;height:34px}
html .r-post-asset b{font-size:14px}
html .r-asset-price{font-variant-numeric:tabular-nums}
html .r-link-card{min-height:48px;padding:12px 14px}
html .r-link-card b{font-size:13px}
html .r-media{margin-top:14px;max-height:600px;height:auto}
html .r-media-pending{margin-left:0;border-radius:16px}
html .r-repost-context{margin-left:0}
html .r-rail-section .r-section-title>button{width:44px;height:44px;display:grid;place-items:center}
html .r-rail .r-person-row{min-height:64px}
html .r-rail .r-person-row .r-btn{min-width:60px;padding:10px 6px}
html .r-rail .r-person b{font-size:13px}
html .r-rail .r-person em{font-size:10px}
html .r-market-tools{gap:10px;padding:16px var(--space)}
html .r-input-search{min-height:48px;border-radius:14px;padding:10px 13px;gap:10px}
html input,html select,html textarea{font-size:16px;min-height:44px}
html input[type="checkbox"],html input[type="radio"]{min-height:0}
html .r-field{font-size:13px}
html .r-field input,html .r-field select,html .r-field textarea{font-size:16px;min-height:48px}
html .r-market-table th{font-size:12px}
html .r-market-table td{font-size:14px;padding-top:12px;padding-bottom:12px}
html .r-market-table .r-coin-cell{min-height:48px;text-align:left;max-width:100%}
html .r-market-table .r-coin-cell span{min-width:0}
html .r-market-table .r-coin-cell b{font-size:14px}
html .r-market-table .r-coin-cell small{font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:160px}
html .r-market-table .r-token,html .r-market-table .r-token-fallback{width:34px;height:34px}
html .nad-progress-cell{min-height:44px}
html .nad-filters button,html .r-prediction-filters button,html .r-route-tabs button{min-height:44px;min-width:44px;font-size:13px}
html .r-feed-actions>.r-feed-use{min-height:44px;font-size:12px;min-width:88px;border-radius:12px}
html .r-feed-card{padding:22px var(--space);gap:14px}
html .r-feed-card h2{font-size:16px}
html .r-feed-card .r-feed-description{font-size:13px;margin-top:5px}
html .r-feed-meta,html .r-feed-meta .r-feed-creator{font-size:12px}
html .r-feed-creator{min-height:44px;display:inline-flex;align-items:center}
html .r-feed-meta .r-feed-creator{margin-block:-12px;display:inline-flex;align-items:center;min-height:44px}
html .r-feed-options summary{height:44px;width:44px}
html .r-feed-options>div{background:var(--paper);border-radius:14px;box-shadow:0 8px 28px #0002}
html .r-feed-options>div button{min-height:44px}
html .r-agent-card{padding:24px var(--space)}
html .r-agent-card p{font-size:14px;line-height:1.6;margin:14px 0}
html .r-agent-card>small{font-size:12px}
html .r-agent-connect-strip{padding:18px var(--space);gap:12px;font-size:13px;flex-wrap:wrap}
html .r-agent-card .r-person-row{gap:12px}
html .r-community-card-foot .r-btn{min-height:44px;font-size:13px}
html .r-community-card-info b{font-size:17px}
html .r-community-card-info>span{font-size:14px}
html .r-profile-banner .r-profile-bio{font-size:16px}
html .r-profile-footer{font-size:14px}
html .r-account-options>button,html .r-account-options>a{min-height:52px;font-size:14px}
html .r-algorithm-card{padding:22px var(--space);border-color:var(--line);background:transparent}
html .r-algorithm-head>button{min-height:44px}
html .r-overlay{backdrop-filter:none;animation:r-ui-scrim 160ms ease-out}
html .r-modal{border-radius:var(--sheet-radius);box-shadow:0 16px 64px #0002;animation:r-ui-sheet 200ms cubic-bezier(.22,1,.36,1)}
html .r-modal-head{margin-bottom:20px}
html .r-modal-head>.r-icon-button,html .r-trade-head>.r-icon-button{height:44px;width:44px;min-height:44px;min-width:44px}
html .r-modal-head h2{font-size:20px;letter-spacing:-.4px}
html .r-modal .r-input-search{margin-bottom:16px}
html .r-trade-panel{animation:r-ui-panel 220ms cubic-bezier(.22,1,.36,1)}
html .r-trade-context>.r-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;font-size:12px}
html .r-trade-context>span:not(.r-avatar){min-width:0}
html .r-trade-context small{line-height:1.5}
html body.r-trade-open .r-compose-fab{display:none}
html .r-modal .r-post-read{display:none}
html .r-trade-head{padding:16px 20px}
html .r-trade-scroll{padding:20px}
html .r-swap-input input{font-size:28px}
html .r-swap-input select{font-size:16px;min-height:44px}
html .provider-tabs button,html .chart-intervals button,html .native-chart-tools>button{min-height:44px;min-width:44px;font-size:12px}
html .provider-toolbar,html .chart-foot{font-size:11px}
html .chart-ohlc{font-size:10px;white-space:normal}
html .r-trade-disclosure{font-size:12px;line-height:1.5}
html .r-search-group h3{font-size:12px;font-weight:600;color:var(--muted);padding:16px 0 4px}
html .r-search-result,html .r-search-post{min-height:60px;border-radius:12px;padding:12px 8px;text-align:left}
html .r-search-result:hover,html .r-search-post:hover{background:var(--canvas)}
html .r-search-post b{font-size:13px}
html .r-search-post p{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html .r-search-hint{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:44px;color:var(--muted);font-size:13px}
html .r-search-hint button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:100px;color:var(--text)}
html .r-loading{min-height:96px;padding:32px 24px;display:grid;place-items:center}
html .r-loading-spinner{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--muted);border-radius:50%;animation:r-ui-spin 700ms linear infinite}
html .r-skeleton{display:grid;gap:14px;padding:24px var(--space);animation:r-ui-pulse 1400ms ease-in-out infinite;contain:content}
html .r-skeleton-author{display:flex;align-items:center;gap:12px}
html .r-skeleton-author i{height:42px;width:42px;border-radius:50%;background:var(--soft)}
html .r-skeleton-author span{width:120px;height:18px;border-radius:6px;background:var(--soft)}
html .r-skeleton-lines{display:grid;gap:12px}
html .r-skeleton-lines i{height:13px;border-radius:5px;background:var(--soft)}
html .r-skeleton-lines i:last-child{width:62%}
html .r-empty{padding:64px var(--space)}
html .r-empty p{font-size:14px;line-height:1.6;max-width:320px;margin:8px auto 16px}
@keyframes r-ui-spin{to{transform:rotate(360deg)}}
@keyframes r-ui-pulse{50%{opacity:.55}}
@keyframes r-ui-scrim{from{opacity:0}to{opacity:1}}
@keyframes r-ui-sheet{from{opacity:.7;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes r-ui-panel{from{opacity:.7;transform:translate3d(16px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@supports(content-visibility:auto){html #timeline>.r-post{content-visibility:auto;contain-intrinsic-block-size:auto 420px}}
@media(max-width:760px){
 :root{--space:16px}
 html{scrollbar-gutter:auto}
 html .r-header{height:64px;padding:0 12px;gap:4px;background:var(--paper);border-bottom:1px solid var(--line)}
 html .r-header .r-brand{font-size:28px}
 html .r-header .r-theme-button,html .r-header .r-search-launch,html .r-header .r-header-create{width:44px;height:44px;min-width:44px}
 html #account-button{min-height:44px;font-size:12px;padding:8px 12px}
 html #main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 html .r-page-head{min-height:80px;padding:16px;gap:8px}
 html .r-page-head h1{font-size:21px}
 html .r-page-head .r-feed-select{font-size:11px;max-width:116px;padding:8px 4px}
 html .r-page-head .r-swipe-entry{font-size:12px;padding:10px 12px}
 html .r-feed-heading{gap:7px}
 html .r-feed-network{font-size:9px;padding:5px}
 html .r-tabs{gap:16px}
 html .r-tabs button{font-size:13px}
 html .r-composer-launch{padding:16px;min-height:74px}
 html .r-post{padding:18px 16px 12px}
 html .r-post-body{font-size:16px;margin-left:0}
 html .r-post-actions{margin-left:-9px;gap:7px}
 html .r-post-asset,html .r-link-card{margin-left:0;width:100%}
 html .r-post-asset>span:nth-of-type(2){max-width:none;min-width:0}
 html .r-post-asset .r-asset-trade{font-size:0}
 html .r-market-table td{font-size:13px;padding-left:6px;padding-right:6px}
 html .r-market-table .r-coin-cell{gap:8px}
 html .r-market-table .r-coin-cell b{font-size:13px}
 html .r-market-table .r-coin-cell small{font-size:11px;max-width:100px}
 html .r-market-table .r-btn.small{padding:10px;font-size:12px}
 html .r-market-table .r-token,html .r-market-table .r-token-fallback{width:30px;height:30px}
 html .nad-table td:nth-child(2){font-size:12px}
 html .r-feed-card{padding:20px 16px;gap:10px}
 html .r-feed-actions>.r-feed-use{min-width:76px;padding:10px 8px;font-size:12px}
 html .r-feed-card h2{font-size:15px}
 html .r-feed-meta,html .r-feed-meta .r-feed-creator{font-size:11px}
 html .r-mobile-nav{min-height:68px;padding:8px 8px max(8px,env(safe-area-inset-bottom));background:var(--paper)}
 html .r-mobile-nav a{min-height:48px;min-width:52px;flex:1;font-size:10px;gap:4px;border-radius:12px}
 html .r-mobile-nav a.active{background:var(--canvas)}
 html .r-mobile-nav .icon{width:24px;height:24px}
 html .r-overlay{align-items:flex-end;padding:0}
 html .r-modal{width:100%;max-height:92dvh;border-radius:24px 24px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom))}
 html .r-search-modal{align-self:flex-end;margin-top:0;height:min(640px,88dvh)}
 html .r-trade-panel{height:94dvh;border-radius:24px 24px 0 0;animation:r-ui-sheet 200ms cubic-bezier(.22,1,.36,1)}
 html .r-trade-scroll{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
 html .r-agent-card p{font-size:14px}
 html .r-agent-connect-strip{gap:10px}
 html .r-prediction-filters{gap:8px}
 html .r-prediction-card h2{font-size:15px}
}
@media(max-width:380px){html .r-header #account-button{display:none}html .r-feed-network{display:none}html .r-feed-card{grid-template-columns:24px minmax(0,1fr) auto}html .r-feed-card h2{font-size:14px}html .r-feed-card .r-feed-description{font-size:12px}html .r-market-table .r-coin-cell small{max-width:75px}}
@media(prefers-reduced-motion:reduce){html .r-btn,html .r-icon-button,html .r-theme-button,html .r-post-actions button{transition:none}html .r-btn:active:not(:disabled),html .r-icon-button:active:not(:disabled),html .r-theme-button:active,html .r-post-actions button:active{transform:none}html .r-overlay,html .r-modal,html .r-trade-panel,html .r-loading-spinner,html .r-skeleton{animation:none}}
