:root {
  --bg-page: #c7dbef;
  --bg-page-2: #9fc0df;
  --ink: #333;
  --muted: #7a8792;
  --panel-border: #c7d2dc;
  --panel-border-dark: #31414f;
  --panel-white: #f8fbfd;
  --panel-shadow: 0 1px 0 rgba(255,255,255,.8), 0 1px 4px rgba(0,0,0,.15);
  --link: #3b6e93;
  --link-2: #0084b4;
  --topbar: #2b2b2b;
  --topbar-2: #1f1f1f;
  --blue-btn-1: #58bdf4;
  --blue-btn-2: #1f99dd;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100%; }
body {
  color: var(--ink);
  font: 14px/1.4 "Helvetica Neue", Arial, sans-serif;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.45), transparent 18%),
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.28), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.25), rgba(255,255,255,0)),
    linear-gradient(180deg, var(--bg-page), var(--bg-page-2));
  background-attachment: fixed;
}
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input { font: inherit; }

.legacy-topbar {
  background: linear-gradient(180deg, #4e4e4e, var(--topbar));
  border-bottom: 1px solid #111;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
  position: sticky;
  top: 0;
  z-index: 100;
}
.legacy-topbar-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.legacy-nav { display: flex; align-items: center; gap: 2px; }
.legacy-nav-link {
  color: #ddd;
  padding: 7px 12px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0,0,0,.45);
}
.legacy-nav-link:hover, .legacy-nav-link.is-active {
  color: #fff;
  background: rgba(255,255,255,.08);
  text-decoration: none;
}
.legacy-nav-icon { opacity: .95; }
.legacy-top-actions { display: flex; align-items: center; gap: 10px; }
.legacy-search {
  display: flex; align-items: center; overflow: hidden;
  border-radius: 16px; background: #efefef; border: 1px solid #141414;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.15);
}
.legacy-search input { border: 0; background: transparent; width: 250px; padding: 7px 10px; outline: none; }
.legacy-search button { border: 0; background: transparent; width: 34px; cursor: pointer; color: #555; }
.topbox-btn, .btn-twitter-primary, .btn-twitter-soft {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 34px; padding: 7px 13px; border-radius: 5px;
  text-decoration: none; cursor: pointer;
}
.topbox-btn, .btn-twitter-soft {
  color: #444; border: 1px solid #aeb8bf;
  background: linear-gradient(180deg, #ffffff, #dde7ef);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 1px 0 rgba(0,0,0,.05);
}
.btn-twitter-primary {
  color: #fff; border: 1px solid #1570a6;
  background: linear-gradient(180deg, var(--blue-btn-1), var(--blue-btn-2));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 0 rgba(0,0,0,.08);
}
.btn-full { width: 100%; }

.page-wrap { padding: 18px 12px 28px; }
.app-shell {
  max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: 300px minmax(0, 1fr) 250px; gap: 16px;
}
.sidebar-left, .sidebar-right, .content-column { min-width: 0; }
.twitter-panel {
  background: var(--panel-white);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  box-shadow: var(--panel-shadow);
  margin-bottom: 12px;
  overflow: hidden;
}
.panel-heading {
  font-size: 15px; font-weight: 700; color: #444;
  padding: 10px 12px; border-bottom: 1px solid #d7e0e7;
  background: linear-gradient(180deg, #ffffff, #f1f5f8);
}
.brand-side-head { display: flex; gap: 12px; align-items: center; padding: 12px; }
.brand-orb {
  width: 52px; height: 52px; border-radius: 999px; overflow: hidden;
  border: 1px solid rgba(59,169,252,.45); background: #0e2238;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.brand-name { font-size: 20px; font-weight: 700; color: #234; }
.brand-copy, .mini-handle, .wallet-copy, .copyright, .trend-item span, .quick-tool span, .similar-body span { color: var(--muted); }
.profile-mini-card .mini-handle { padding: 0 12px 12px; }
.legacy-side-list { display: block; }
.legacy-side-link {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 12px; border-top: 1px solid #edf2f5; color: #4b718e; text-decoration: none; font-size: 15px;
}
.legacy-side-link:first-child { border-top: 0; }
.legacy-side-link:hover, .legacy-side-link.is-active { background: #f6fafc; text-decoration: none; }
.tweet-box-panel { padding-bottom: 12px; }
.tweet-box-input {
  margin: 12px; min-height: 62px; padding: 12px;
  border-radius: 4px; border: 1px solid #d2dce3; background: #fbfdfe; color: #8b97a3;
}
.tweet-box-panel .btn-twitter-primary { margin: 0 12px; }
.media-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 6px; padding: 8px; background: #eef5fa; }
.media-tile {
  aspect-ratio: 1/1; border: 1px solid #d0dbe4; border-radius: 4px;
  background: linear-gradient(180deg, #dce9f5, #c7dbef); color: #557694;
  display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.similar-item { display: flex; gap: 10px; padding: 11px 12px; border-top: 1px solid #edf2f5; }
.similar-item:first-of-type { border-top: 0; }
.similar-avatar {
  width: 42px; height: 42px; border-radius: 4px; border: 1px solid #c4d2de;
  display: flex; align-items: center; justify-content: center; background: #dce8f2; color: #53728f; font-weight: 700;
}
.similar-body { display: grid; }
.similar-body strong { color: #334; }
.similar-body a { font-weight: 700; }

.profile-hero { overflow: hidden; }
.profile-banner {
  position: relative; min-height: 280px;
  background:
    linear-gradient(180deg, rgba(120,175,220,.15), rgba(0,75,133,.45)),
    linear-gradient(90deg, rgba(255,255,255,.18), transparent 50%),
    linear-gradient(180deg, #69a8da, #005a97 70%, #02426d);
}
.profile-banner::after {
  content: "BORISTECH";
  position: absolute; right: 22px; bottom: 24px; font-size: 62px; font-weight: 800;
  color: rgba(255,255,255,.08); letter-spacing: 2px;
}
.profile-avatar-card {
  position: absolute; left: 50%; top: 38px; transform: translateX(-50%);
  width: 106px; height: 106px; border-radius: 10px; background: rgba(255,255,255,.95);
  border: 1px solid rgba(34,79,118,.26); box-shadow: 0 2px 7px rgba(0,0,0,.2);
  display: flex; align-items: center; justify-content: center; font-size: 34px; font-weight: 800; color: #8fb3d0;
}
.profile-overlay-copy {
  position: absolute; left: 0; right: 0; bottom: 18px; padding: 0 26px; text-align: center; color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.profile-overlay-copy h1 { margin: 0 0 6px; font-size: 26px; }
.profile-handle-row { display: flex; justify-content: center; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; }
.follow-pill {
  font-size: 11px; padding: 2px 6px; border-radius: 3px; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.18);
}
.profile-overlay-copy p { max-width: 700px; margin: 10px auto 8px; font-size: 14px; }
.profile-location { font-size: 14px; opacity: .95; }
.profile-stats-bar {
  display: grid; grid-template-columns: repeat(3, 1fr) auto;
  border-top: 1px solid rgba(0,0,0,.12); background: linear-gradient(180deg, #fff, #f0f4f7);
}
.stat-box { padding: 12px 14px; border-right: 1px solid #dde7ee; display: grid; }
.stat-box strong { font-size: 31px; color: #34434f; line-height: 1; }
.stat-box span { font-size: 11px; color: #999; letter-spacing: .8px; }
.profile-cta-group { display: flex; align-items: center; gap: 8px; padding: 12px 14px; }

.tweets-shell-title {
  padding: 12px 14px; font-size: 18px; font-weight: 700;
  border-bottom: 1px solid #dbe5ec; background: linear-gradient(180deg, #ffffff, #f4f7fa);
}
.tweet-card { display: grid; grid-template-columns: 56px 1fr; gap: 12px; padding: 14px; border-top: 1px solid #e9eff4; }
.tweet-card:first-of-type { border-top: 0; }
.tweet-avatar {
  width: 48px; height: 48px; border-radius: 6px; background: #edf5fb; border: 1px solid #d1dbe3;
  display: flex; align-items: center; justify-content: center; color: #8fb3d0; font-weight: 800;
}
.tweet-meta-row { display: flex; flex-wrap: wrap; gap: 6px; color: #999; }
.tweet-meta-row strong { color: #333; }
.tweet-text strong { display: block; margin-bottom: 4px; color: #2a3d4f; font-size: 20px; line-height: 1.15; }
.tweet-text p { margin: 0; color: #555; font-size: 18px; line-height: 1.4; }
.tweet-links-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.tweet-links-row a { color: var(--link-2); }
.legacy-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 10px; }
.legacy-action-link {
  border: 0; background: transparent; color: #8899a6; cursor: pointer; padding: 0; font-size: 13px;
}
.legacy-action-link:hover, .legacy-action-link.is-liked { color: var(--link-2); }
.tweet-views { margin-left: auto; color: #9aa6b2; font-size: 12px; }

.trend-list, .quick-tools { display: grid; }
.trend-item, .quick-tool { padding: 10px 12px; border-top: 1px solid #edf2f5; }
.trend-item:first-child, .quick-tool:first-child { border-top: 0; }
.trend-item { display: grid; }
.wallet-balance { font-size: 28px; font-weight: 700; color: #2a3d4f; padding: 0 12px; }
.wallet-balance span { font-size: 13px; color: var(--muted); }
.wallet-copy { padding: 0 12px 12px; }
.wallet-actions { padding: 0 12px 12px; display: grid; gap: 8px; }
.tiny-links { padding: 12px; display: flex; flex-wrap: wrap; gap: 8px 10px; font-size: 12px; }
.copyright { padding: 0 12px 12px; font-size: 12px; }

.grid-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tool-card, .market-card, .package-card {
  background: var(--panel-white); border: 1px solid var(--panel-border); border-radius: 6px; box-shadow: var(--panel-shadow); padding: 14px;
}
.tool-card h3, .market-card h3 { margin: 8px 0; color: #2a3d4f; }
.tool-card p, .market-card p { color: #56636f; }
.tool-top, .market-header, .market-pricing, .movement-row { display: flex; justify-content: space-between; gap: 12px; }
.badge, .pill, .post-tags span, .tag-cloud span {
  display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 12px;
  border: 1px solid #d3dde5; background: #f4f8fb; color: #5d7487;
}
.badge-gratis { color: #2c7b52; background: #eff8f3; }
.badge-tokens { color: #1c6d9a; background: #edf6fb; }
.badge-premium { color: #9c6b18; background: #fff8eb; }
.package-price { font-size: 30px; font-weight: 700; color: #2a3d4f; }
.package-tokens { font-size: 17px; font-weight: 700; }
.movement-list { background: var(--panel-white); border: 1px solid var(--panel-border); border-radius: 6px; box-shadow: var(--panel-shadow); padding: 0 14px; }
.movement-row { padding: 12px 0; border-bottom: 1px solid #edf2f5; }
.movement-row:last-child { border-bottom: 0; }
.movement-right { text-align: right; }
.share-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.share-option { border: 1px solid #d2dde6; background: #f8fbfd; padding: 12px; border-radius: 6px; text-align: center; }
.share-note { color: #6f7d88; }
.post-card, .composer-card, .panel-card { background: var(--panel-white); border: 1px solid var(--panel-border); border-radius: 6px; box-shadow: var(--panel-shadow); padding: 14px; margin-bottom: 12px; }

[data-bt-lightbox-footer] .btn, .bt-lightbox .btn { background: linear-gradient(180deg, #ffffff, #dde7ef); border: 1px solid #aeb8bf; color: #444; }
[data-bt-lightbox-footer] .btn-primary, .bt-lightbox .btn-primary { background: linear-gradient(180deg, var(--blue-btn-1), var(--blue-btn-2)); border-color: #1570a6; color: #fff; }

@media (max-width: 1120px) {
  .app-shell { grid-template-columns: 280px minmax(0,1fr); }
  .sidebar-right { display: none; }
}
@media (max-width: 820px) {
  .legacy-topbar-inner { flex-direction: column; align-items: stretch; }
  .legacy-search input { width: 100%; }
  .app-shell { grid-template-columns: 1fr; }
  .profile-stats-bar { grid-template-columns: 1fr 1fr; }
  .profile-cta-group { grid-column: 1 / -1; justify-content: flex-end; border-top: 1px solid #dde7ee; }
}


.inline-form{display:inline}
.auth-panel,.panel-pad,.tool-detail-panel{overflow:hidden}
.auth-grid,.tool-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}
.auth-box,.tool-hero-box,.tool-usage-card,.wallet-box{padding:14px}
.auth-box h3,.tool-hero-box h2{margin:0 0 8px}
.auth-form,.stack-form{display:grid;gap:8px}
.auth-form input,.stack-form input{width:100%;padding:10px;border:1px solid #ccd7e0;border-radius:4px;background:#fff}
.btn-full{width:100%}
.mt-10{margin-top:10px}
.wallet-box{display:grid;gap:10px}
.wallet-balance.large{font-size:34px;padding:14px}
.wallet-balance span,.tool-big-cost,.tool-big-balance,.purchase-row span,.movement-row span{display:block}
.panel-card,.market-card,.package-card,.tool-card{background:var(--panel-white);border:1px solid var(--panel-border);border-radius:6px;box-shadow:var(--panel-shadow);padding:14px;margin-bottom:12px}
.grid-section{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid-section.two-col{grid-template-columns:1fr 1fr}
.tool-card h3,.market-card h3{margin:10px 0 8px}
.tool-top,.market-header,.market-pricing,.tool-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#eef3f8;color:#355}
.badge-gratis{background:#e9f8ee;color:#1f6b3d}.badge-tokens{background:#eff4ff;color:#294f9f}.badge-premium{background:#fff2df;color:#9c5d05}
.wallet-balance{font-size:26px;font-weight:800;color:#244}.wallet-balance span{font-size:13px;color:#789}
.movement-list,.purchase-list{display:grid}.movement-row,.purchase-row{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid #e9eff4}.movement-row:first-child,.purchase-row:first-child{border-top:0}.movement-right,.purchase-right{text-align:right;display:grid}
.tool-feature-list{margin:12px 0 0;padding-left:18px}.mini-label{font-size:12px;color:#789;text-transform:uppercase}.tool-big-cost,.tool-big-balance{font-size:28px;font-weight:800;color:#234;margin:5px 0 12px}
@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar-left,.sidebar-right{order:2}.content-column{order:1}.auth-grid,.tool-detail-grid,.grid-section,.grid-section.two-col{grid-template-columns:1fr}.legacy-search input{width:140px}}


.auth-page-body{background:#f2f2f2;color:#111;}
.auth-topbar{background:#fff;border-bottom:1px solid #e3e3e3;box-shadow:0 1px 6px rgba(0,0,0,.05);}
.auth-topbar-inner{max-width:820px;margin:0 auto;min-height:76px;padding:0 22px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;}
.auth-close-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;color:#111;font-size:28px;text-decoration:none;}
.auth-close-link:hover{background:#f2f2f2;text-decoration:none;}
.auth-brand-wordmark{text-align:center;font-size:23px;font-weight:700;letter-spacing:-.02em;color:#111;font-family:Georgia,"Times New Roman",serif;}
.auth-page-wrap{padding:0 16px 34px;}
.auth-main-shell{max-width:820px;margin:0 auto;}
.auth-portal-card{background:#fff;min-height:calc(100vh - 120px);display:flex;flex-direction:column;}
.auth-portal-brand{padding:34px 0 26px;text-align:center;font-size:40px;font-weight:700;letter-spacing:-.03em;font-family:Georgia,"Times New Roman",serif;color:#111;border-bottom:1px solid #ececec;}
.auth-portal-content{max-width:520px;width:100%;margin:0 auto;padding:54px 24px 30px;}
.auth-portal-content h1{margin:0 0 28px;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:38px;line-height:1.08;letter-spacing:-.03em;color:#111;}
.auth-portal-stack{display:grid;gap:14px;}
.auth-portal-form label{display:block;font-size:15px;font-weight:700;color:#111;}
.auth-portal-form input{width:100%;height:58px;border:2px solid #1b1b1b;border-radius:4px;padding:0 14px;background:#fff;font-size:18px;outline:none;}
.auth-portal-form input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.06);}
.auth-black-btn{width:100%;min-height:58px;border:0;border-radius:4px;background:#111;color:#fff;font-size:18px;font-weight:700;cursor:pointer;}
.auth-black-btn:hover{background:#000;}
.auth-divider{position:relative;margin:28px 0 20px;text-align:center;color:#555;font-size:18px;}
.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:44%;height:1px;background:#d5d5d5;}
.auth-divider:before{left:0}.auth-divider:after{right:0}
.auth-divider span{display:inline-block;padding:0 14px;background:#fff;position:relative;z-index:1;}
.auth-legal-copy{font-size:15px;line-height:1.55;text-align:center;color:#222;margin:0 0 26px;}
.auth-legal-copy a,.auth-portal-footer a,.auth-sso-link{color:#111;text-decoration:underline;text-underline-offset:2px;}
.auth-social-stack form{margin:0;}
.auth-social-btn{width:100%;min-height:58px;border:2px solid #1b1b1b;background:#fff;border-radius:4px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:17px;font-weight:700;color:#111;cursor:pointer;}
.auth-social-btn:hover{background:#fafafa;}
.auth-social-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:26px;line-height:1;font-weight:700;}
.auth-social-icon.google{font-family:Arial,sans-serif;color:#4285F4;}
.auth-social-icon.apple{font-size:30px;}
.auth-sso-link{display:block;text-align:center;font-size:17px;font-weight:700;padding-top:6px;}
.auth-portal-footer{margin-top:auto;border-top:1px solid #e7e7e7;padding:26px 20px 36px;display:flex;flex-wrap:wrap;justify-content:center;gap:18px;color:#6b6b6b;font-size:14px;}

@media (max-width: 680px){
  .auth-topbar-inner{min-height:64px;padding:0 14px;}
  .auth-brand-wordmark{font-size:20px;}
  .auth-portal-brand{font-size:28px;padding:24px 0 20px;}
  .auth-portal-content{padding:36px 20px 24px;}
  .auth-portal-content h1{font-size:28px;margin-bottom:22px;}
  .auth-portal-form input,.auth-black-btn,.auth-social-btn{min-height:54px;height:54px;font-size:17px;}
  .auth-divider:before,.auth-divider:after{width:40%;}
}


.auth-split-content { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.auth-col-divider { border-left:1px solid #e5e7eb; padding-left:24px; }
.auth-hint-box { margin-top:16px; padding:14px 16px; border:1px solid #ddd; background:#fafafa; border-radius:8px; }
.auth-hint-box ul { margin:8px 0 0 18px; padding:0; }
.db-warning { margin-top:12px; padding:10px 12px; border:1px solid #e7c670; background:#fff7d6; color:#5a4a11; border-radius:8px; }
@media (max-width:900px){ .auth-split-content{grid-template-columns:1fr;} .auth-col-divider{border-left:0;padding-left:0;border-top:1px solid #e5e7eb;padding-top:24px;} }
