/*!
 * XROBOTICS Idea Challenge — public stylesheet
 * Every rule is scoped under .xrbaic-app so the plugin can never
 * leak styles into Astra, Elementor, or any other theme on the site.
 */
.xrbaic-app{--xr-ink:#0A0E1A;
    --xr-ink-panel:#161c36;
    --xr-ink-panel-2:#1c2340;
    --xr-hairline:rgba(245,245,240,0.16);
    --xr-hairline-strong:rgba(245,245,240,0.30);
    --xr-text:#FFFFFF;
    --xr-text-muted:rgba(245,245,240,0.82);
    --xr-text-faint:rgba(245,245,240,0.64);
    --xr-gold:#FACC23;
    --xr-orange:#F83600;
    --xr-grad:linear-gradient(90deg,var(--xr-gold),var(--xr-orange));
    --xr-grad-diag:linear-gradient(135deg,var(--xr-gold),var(--xr-orange));}
.xrbaic-app *{box-sizing:border-box;margin:0;padding:0;}
.xrbaic-standalone{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
.xrbaic-app{background:var(--xr-ink);
    color:var(--xr-text);
    font-family:'Inter',sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;}
.xrbaic-app a{color:inherit;text-decoration:none;}
.xrbaic-app img{display:block;max-width:100%;}
.xrbaic-app button{font-family:inherit;}
.xrbaic-app .mono{font-family:'JetBrains Mono',monospace;}
.xrbaic-app .wrap{max-width:1140px;margin:0 auto;padding:0 20px;}
.xrbaic-app::before{content:"";
    position:fixed;inset:0;
    background:radial-gradient(1100px 600px at 15% -10%, rgba(250,204,35,0.08), transparent 60%),
               radial-gradient(900px 500px at 100% 0%, rgba(248,54,0,0.06), transparent 55%);
    pointer-events:none;
    z-index:0;}
.xrbaic-app .topnav{position:sticky;top:0;z-index:50;
    background:rgba(10,14,26,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--xr-hairline);}
.xrbaic-app .topnav-inner{display:flex;align-items:center;justify-content:space-between;
    padding:14px 20px;
    max-width:1140px;margin:0 auto;}
.xrbaic-app .back-link{display:inline-flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;
    font-size:12px;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--xr-text-muted);
    padding:6px 0;}
.xrbaic-app .back-link svg{width:14px;height:14px;stroke:currentColor;}
.xrbaic-app .back-link:hover{color:var(--xr-text);}
.xrbaic-app .topnav-brand{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:14px;
    letter-spacing:0.01em;
    opacity:0.85;}
.xrbaic-app .site-nav{display:flex;
    gap:8px;
    overflow-x:auto;
    padding:10px 20px 12px;
    max-width:900px;margin:0 auto;
    border-bottom:1px solid var(--xr-hairline);
    -webkit-overflow-scrolling:touch;}
.xrbaic-app .site-nav::-webkit-scrollbar{display:none;}
.xrbaic-app .site-nav a{flex-shrink:0;
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px;letter-spacing:0.04em;text-transform:uppercase;
    padding:8px 14px;
    border-radius:100px;
    border:1px solid var(--xr-hairline-strong);
    color:var(--xr-text-muted);
    white-space:nowrap;}
.xrbaic-app .site-nav a.active{background:var(--xr-grad);
    color:#0A0E1A;
    border-color:transparent;
    font-weight:600;}
.xrbaic-app .hero{position:relative;
    padding:36px 0 28px;
    border-bottom:1px solid var(--xr-hairline);}
.xrbaic-app .eyebrow-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    margin-bottom:16px;}
.xrbaic-app .pill-tag{font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
    padding:6px 12px;
    border:1px solid var(--xr-hairline-strong);
    border-radius:100px;
    color:var(--xr-text-muted);
    position:relative;}
.xrbaic-app .pill-tag::before{content:"";
    display:inline-block;
    width:6px;height:6px;
    border-radius:50%;
    background:var(--xr-grad);
    margin-right:8px;
    vertical-align:middle;}
.xrbaic-app .cohort-tag{font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .page-title{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(32px,8vw,52px);
    line-height:1.04;
    letter-spacing:-0.01em;
    max-width:14ch;}
.xrbaic-app .page-title em{font-style:italic;
    font-weight:400;
    background:var(--xr-grad-diag);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;}
.xrbaic-app .page-sub{margin-top:14px;
    color:var(--xr-text-muted);
    font-size:15px;
    max-width:46ch;}
.xrbaic-app .btn-grad{display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--xr-grad);
    color:#0A0E1A;
    font-weight:600;
    font-size:14px;
    padding:13px 22px;
    border-radius:100px;
    border:none;
    cursor:pointer;
    margin-top:22px;}
.xrbaic-app .btn-grad svg{width:16px;height:16px;stroke:#0A0E1A;stroke-width:2.4;}
.xrbaic-app .stats-strip{border-bottom:1px solid var(--xr-hairline);}
.xrbaic-app .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.xrbaic-app .stat-cell{padding:20px 16px;border-right:1px solid var(--xr-hairline);}
.xrbaic-app .stat-cell:last-child{border-right:none;}
.xrbaic-app .stat-value{font-family:'Fraunces',serif;font-weight:500;
    font-size:clamp(20px,5vw,28px);line-height:1;}
.xrbaic-app .stat-label{font-family:'JetBrains Mono',monospace;font-size:11px;
    letter-spacing:0.06em;text-transform:uppercase;
    color:var(--xr-text-faint);margin-top:8px;}
.xrbaic-app .section{padding:40px 0;border-bottom:1px solid var(--xr-hairline);position:relative;z-index:1;}
.xrbaic-app .section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;}
.xrbaic-app .section-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--xr-text-faint);}
.xrbaic-app .section-title{font-family:'Fraunces',serif;font-weight:500;font-size:22px;letter-spacing:-0.01em;}
.xrbaic-app .partner-banner{position:relative;border-radius:18px;overflow:hidden;
    border:1px solid var(--xr-hairline-strong);background:var(--xr-ink-panel);}
.xrbaic-app .partner-banner::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--xr-grad);}
.xrbaic-app .partner-banner-inner{display:flex;flex-direction:column;align-items:flex-start;gap:20px;
    padding:28px 22px 26px;}
.xrbaic-app .partner-lockup{display:flex;align-items:center;gap:16px;width:100%;}
.xrbaic-app .partner-logo-plate{background:#FFFFFF;border-radius:12px;padding:10px 14px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    box-shadow:0 8px 24px rgba(0,0,0,0.28);}
.xrbaic-app .partner-logo-plate img{height:48px;width:auto;border-radius:3px;}
.xrbaic-app .partner-copy{display:flex;flex-direction:column;gap:4px;}
.xrbaic-app .partner-name{font-family:'Fraunces',serif;font-weight:500;font-size:19px;}
.xrbaic-app .partner-role{font-family:'JetBrains Mono',monospace;font-size:11.5px;
    letter-spacing:0.08em;text-transform:uppercase;
    color:transparent;background:var(--xr-grad);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;}
.xrbaic-app .partner-statement{font-size:14px;color:var(--xr-text-muted);line-height:1.6;
    border-top:1px solid var(--xr-hairline);padding-top:18px;width:100%;}
.xrbaic-app .partner-statement strong{color:var(--xr-text);font-weight:500;}
.xrbaic-app .leaderboard-list{display:flex;flex-direction:column;
    background:var(--xr-ink-panel);
    border:1px solid var(--xr-hairline-strong);
    border-radius:14px;
    padding:6px 14px;}
.xrbaic-app .leaderboard-row{display:flex;
    align-items:center;
    gap:14px;
    padding:14px 4px;
    border-top:1px solid var(--xr-hairline);
    background:none;
    border-left:none;border-right:none;border-bottom:none;
    width:100%;
    text-align:left;
    cursor:pointer;
    color:var(--xr-text);}
.xrbaic-app .leaderboard-row:first-child{border-top:none;}
.xrbaic-app .leaderboard-rank{flex-shrink:0;
    width:34px;height:34px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:13px;
    background:var(--xr-ink-panel-2);
    border:1px solid var(--xr-hairline-strong);
    color:var(--xr-text-muted);}
.xrbaic-app .leaderboard-rank.top1{background:var(--xr-grad);color:#0A0E1A;border-color:transparent;}
.xrbaic-app .leaderboard-rank.top2{background:linear-gradient(135deg,#E5E7EB,#9CA3AF);color:#0A0E1A;border-color:transparent;}
.xrbaic-app .leaderboard-rank.top3{background:linear-gradient(135deg,#D6A15C,#9C6B2E);color:#0A0E1A;border-color:transparent;}
.xrbaic-app .leaderboard-info{flex:1;min-width:0;}
.xrbaic-app .leaderboard-title{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:15px;
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;}
.xrbaic-app .leaderboard-sub{font-size:12.5px;
    color:var(--xr-text-faint);
    margin-top:3px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;}
.xrbaic-app .leaderboard-votes{flex-shrink:0;
    text-align:right;}
.xrbaic-app .leaderboard-votes-num{font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:16px;
    color:var(--xr-text);}
.xrbaic-app .leaderboard-votes-label{font-family:'JetBrains Mono',monospace;
    font-size:9px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .live-dot{display:inline-flex;align-items:center;gap:6px;
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .live-dot span.pulse{width:7px;height:7px;border-radius:50%;
    background:#4ADE80;
    box-shadow:0 0 0 rgba(74,222,128,0.5);
    animation:pulse 1.8s infinite;}
@keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(74,222,128,0.5);}
    70%{box-shadow:0 0 0 7px rgba(74,222,128,0);}
    100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}
  }
.xrbaic-app .tab-switch{display:flex;
    gap:6px;
    background:var(--xr-ink-panel);
    border:1px solid var(--xr-hairline-strong);
    border-radius:100px;
    padding:4px;
    margin-bottom:22px;}
.xrbaic-app .tab-btn{flex:1;
    background:none;
    border:none;
    color:var(--xr-text-faint);
    font-size:12px;letter-spacing:0.04em;text-transform:uppercase;
    font-weight:600;
    padding:10px 12px;
    border-radius:100px;
    cursor:pointer;
    transition:all .15s ease;}
.xrbaic-app .tab-btn.active{background:var(--xr-grad);
    color:#0A0E1A;}
.xrbaic-app .idea-panel{display:none;}
.xrbaic-app .idea-panel.active{display:block;}
.xrbaic-app .leaderboard-panel-head{display:flex;align-items:center;justify-content:space-between;
    margin-bottom:16px;}
.xrbaic-app .leaderboard-panel-title{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:17px;}
.xrbaic-app .search-row{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;}
.xrbaic-app .search-box{position:relative;
    display:flex;align-items:center;
    border:1px solid var(--xr-hairline-strong);
    border-radius:12px;
    background:var(--xr-ink-panel);
    padding:0 14px;
    transition:border-color .15s ease;}
.xrbaic-app .search-box:focus-within{border-color:var(--xr-gold);}
.xrbaic-app .search-box svg{width:17px;height:17px;stroke:var(--xr-text-faint);flex-shrink:0;}
.xrbaic-app .search-box input{flex:1;background:transparent;border:0;outline:0;
    color:var(--xr-text);font-family:'Inter',sans-serif;font-size:16px;
    padding:14px 10px;}
.xrbaic-app .search-box input::placeholder{color:var(--xr-text-faint);}
.xrbaic-app .search-clear{display:none;
    background:none;border:0;color:var(--xr-text-faint);
    cursor:pointer;padding:4px;}
.xrbaic-app .search-clear.show{display:flex;}
.xrbaic-app .search-clear svg{width:14px;height:14px;stroke:currentColor;}
.xrbaic-app .filter-scroll{display:flex;gap:8px;overflow-x:auto;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;}
.xrbaic-app .filter-scroll::-webkit-scrollbar{display:none;}
.xrbaic-app .filter-chip{flex-shrink:0;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
    padding:8px 14px;
    border:1px solid var(--xr-hairline-strong);
    border-radius:100px;
    color:var(--xr-text-muted);
    background:transparent;
    cursor:pointer;
    white-space:nowrap;
    transition:all .15s ease;}
.xrbaic-app .filter-chip.active{color:#0A0E1A;
    background:var(--xr-grad);
    border-color:transparent;
    font-weight:600;}
.xrbaic-app .results-count{font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);
    margin:16px 0 18px;}
.xrbaic-app .idea-grid{display:grid;
    grid-template-columns:1fr;
    gap:12px;}
.xrbaic-app .idea-card{text-align:left;
    width:100%;
    border:1px solid var(--xr-hairline-strong);
    border-radius:14px;
    background:var(--xr-ink-panel);
    color:var(--xr-text);
    padding:18px;
    cursor:pointer;
    transition:border-color .15s ease, transform .15s ease;}
.xrbaic-app .idea-card:hover{border-color:var(--xr-gold);}
.xrbaic-app .idea-card:focus-visible{outline:2px solid var(--xr-gold);outline-offset:2px;}
.xrbaic-app .idea-card:active{transform:scale(0.99);}
.xrbaic-app .idea-card-top{display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;}
.xrbaic-app .idea-track-chip{display:inline-block;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.06em;text-transform:uppercase;
    padding:5px 11px;
    border-radius:100px;
    border:1px solid var(--xr-hairline-strong);
    color:var(--xr-text-muted);
    margin-bottom:10px;}
.xrbaic-app .idea-title{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:18px;
    line-height:1.25;
    color:var(--xr-text);}
.xrbaic-app .idea-vote-badge{flex-shrink:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    padding:8px 12px;
    border-radius:10px;
    background:var(--xr-ink-panel-2);
    border:1px solid var(--xr-hairline);}
.xrbaic-app .idea-vote-badge svg{width:13px;height:13px;stroke:var(--xr-gold);}
.xrbaic-app .idea-vote-count{font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:15px;
    color:var(--xr-text);}
.xrbaic-app .idea-vote-label{font-family:'JetBrains Mono',monospace;
    font-size:9.5px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .idea-meta{display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 16px;
    border-top:1px solid var(--xr-hairline);
    padding-top:14px;}
.xrbaic-app .idea-meta-item{display:flex;flex-direction:column;gap:3px;}
.xrbaic-app .idea-meta-label{font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .idea-meta-value{font-size:14.5px;color:var(--xr-text);}
.xrbaic-app .idea-card-footer{margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--xr-hairline);}
.xrbaic-app .idea-vote-btn{width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--xr-grad);
    color:#0A0E1A;
    font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:12.5px;letter-spacing:0.05em;text-transform:uppercase;
    border:none;
    border-radius:100px;
    padding:11px 16px;
    cursor:pointer;}
.xrbaic-app .idea-vote-btn svg{width:14px;height:14px;stroke:#0A0E1A;stroke-width:2.4;}
.xrbaic-app .idea-vote-btn.voted{background:var(--xr-ink-panel-2);
    color:var(--xr-text-faint);
    border:1px solid var(--xr-hairline-strong);}
.xrbaic-app .idea-vote-btn.voted svg{stroke:var(--xr-text-faint);}
.xrbaic-app .idea-vote-btn:disabled{cursor:default;}
.xrbaic-app .empty-state{text-align:center;
    padding:50px 20px;
    color:var(--xr-text-faint);}
.xrbaic-app .empty-state svg{width:32px;height:32px;stroke:var(--xr-text-faint);margin:0 auto 14px;}
.xrbaic-app .empty-state p{font-size:14px;}
.xrbaic-app .form-group{margin-bottom:16px;}
.xrbaic-app .form-label{display:block;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);
    margin-bottom:8px;}
.xrbaic-app .form-label .req{color:var(--xr-gold);margin-left:2px;}
.xrbaic-app .form-input, .xrbaic-app .form-select{width:100%;
    background:var(--xr-ink-panel-2);
    border:1px solid var(--xr-hairline-strong);
    border-radius:10px;
    color:var(--xr-text);
    font-family:'Inter',sans-serif;
    font-size:16px;
    padding:13px 14px;
    outline:0;
    transition:border-color .15s ease;}
.xrbaic-app .form-input:focus, .xrbaic-app .form-select:focus{border-color:var(--xr-gold);}
.xrbaic-app .form-input::placeholder{color:var(--xr-text-faint);}
.xrbaic-app .form-select{appearance:none;-webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
    padding-right:38px;}
.xrbaic-app .form-select option{background:#161c36;color:#fff;}
.xrbaic-app .form-hint{font-size:12.5px;color:var(--xr-text-faint);margin-top:6px;}
.xrbaic-app .otp-row{display:flex;gap:10px;}
.xrbaic-app .otp-row .form-input{flex:1;}
.xrbaic-app .btn-secondary{flex-shrink:0;
    background:var(--xr-ink-panel-2);
    border:1px solid var(--xr-hairline-strong);
    color:var(--xr-text);
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px;letter-spacing:0.04em;text-transform:uppercase;
    font-weight:600;
    padding:0 16px;
    border-radius:10px;
    cursor:pointer;
    white-space:nowrap;
    transition:border-color .15s ease;}
.xrbaic-app .btn-secondary:hover{border-color:var(--xr-gold);}
.xrbaic-app .btn-secondary:disabled{opacity:0.4;cursor:not-allowed;}
.xrbaic-app .otp-status{display:flex;align-items:center;gap:8px;
    font-family:'JetBrains Mono',monospace;
    font-size:12px;letter-spacing:0.03em;
    margin-top:10px;}
.xrbaic-app .otp-status svg{width:14px;height:14px;flex-shrink:0;}
.xrbaic-app .otp-status.pending{color:var(--xr-text-faint);}
.xrbaic-app .otp-status.verified{color:#4ADE80;}
.xrbaic-app .otp-status.verified svg{stroke:#4ADE80;}
.xrbaic-app .form-submit{width:100%;
    background:var(--xr-grad);
    color:#0A0E1A;
    font-weight:600;
    font-size:15px;
    padding:15px;
    border-radius:12px;
    border:none;
    cursor:pointer;
    margin-top:6px;
    transition:opacity .15s ease;}
.xrbaic-app .form-submit:disabled{opacity:0.35;cursor:not-allowed;}
.xrbaic-app .form-success{text-align:center;
    padding:20px 0 6px;}
.xrbaic-app .form-success svg{width:44px;height:44px;stroke:#4ADE80;margin:0 auto 14px;}
.xrbaic-app .form-success h4{font-family:'Fraunces',serif;font-weight:500;font-size:20px;margin-bottom:8px;}
.xrbaic-app .form-success p{color:var(--xr-text-muted);font-size:14px;}
.xrbaic-app .modal-overlay{position:fixed;inset:0;
    background:rgba(6,8,16,0.9);
    backdrop-filter:blur(6px);
    z-index:200;
    display:none;
    align-items:flex-end;
    justify-content:center;}
.xrbaic-app .modal-overlay.active{display:flex;}
.xrbaic-app .modal-panel{width:100%;
    max-width:640px;
    max-height:88vh;
    overflow-y:auto;
    background:var(--xr-ink-panel);
    border:1px solid var(--xr-hairline-strong);
    border-radius:20px 20px 0 0;
    padding:26px 22px 32px;
    position:relative;
    animation:modalUp .22s ease;}
@keyframes modalUp{from{transform:translateY(24px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.xrbaic-app .modal-close{position:absolute;top:18px;right:18px;
    width:36px;height:36px;
    border-radius:50%;
    background:rgba(245,245,240,0.08);
    border:1px solid var(--xr-hairline-strong);
    display:flex;align-items:center;justify-content:center;
    color:var(--xr-text);cursor:pointer;}
.xrbaic-app .modal-close svg{width:16px;height:16px;stroke:currentColor;}
.xrbaic-app .modal-track-chip{display:inline-block;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.06em;text-transform:uppercase;
    padding:6px 13px;
    border-radius:100px;
    border:1px solid var(--xr-hairline-strong);
    color:var(--xr-text-muted);
    margin-bottom:14px;}
.xrbaic-app .modal-title{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:26px;
    line-height:1.15;
    max-width:22ch;
    padding-right:40px;
    margin-bottom:18px;
    color:var(--xr-text);}
.xrbaic-app .modal-vote-row{display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:14px 16px;
    border-radius:12px;
    background:var(--xr-ink-panel-2);
    border:1px solid var(--xr-hairline);
    margin-bottom:20px;}
.xrbaic-app .modal-vote-left{display:flex;align-items:center;gap:10px;}
.xrbaic-app .modal-vote-row svg{width:18px;height:18px;stroke:var(--xr-gold);}
.xrbaic-app .modal-vote-btn{flex-shrink:0;
    background:var(--xr-grad);
    color:#0A0E1A;
    font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:11.5px;letter-spacing:0.04em;text-transform:uppercase;
    border:none;
    border-radius:100px;
    padding:9px 16px;
    cursor:pointer;
    transition:opacity .15s ease;}
.xrbaic-app .modal-vote-btn:disabled{background:var(--xr-ink-panel);
    color:var(--xr-text-faint);
    border:1px solid var(--xr-hairline-strong);
    cursor:default;}
.xrbaic-app .modal-vote-count{font-family:'JetBrains Mono',monospace;
    font-weight:600;
    font-size:18px;
    color:var(--xr-text);}
.xrbaic-app .modal-vote-label{font-family:'JetBrains Mono',monospace;
    font-size:10px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .modal-meta-grid{display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px 20px;
    padding:18px 0;
    border-top:1px solid var(--xr-hairline);
    border-bottom:1px solid var(--xr-hairline);
    margin-bottom:18px;}
.xrbaic-app .modal-meta-item{display:flex;flex-direction:column;gap:4px;}
.xrbaic-app .modal-meta-label{font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);}
.xrbaic-app .modal-meta-value{font-size:14.5px;font-weight:500;}
.xrbaic-app .modal-desc-label{font-family:'JetBrains Mono',monospace;
    font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
    color:var(--xr-text-faint);
    margin-bottom:8px;}
.xrbaic-app .modal-desc{font-size:14px;
    color:var(--xr-text-muted);
    line-height:1.65;}
@media(min-width:720px){
  .xrbaic-app .idea-grid{grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));}
  .xrbaic-app .search-row{flex-direction:row;align-items:center;}
  .xrbaic-app .search-box{flex:1;}
  .xrbaic-app .partner-lockup{align-items:center;}
  .xrbaic-app .partner-banner-inner{flex-direction:row;align-items:center;justify-content:space-between;
      padding:30px 32px;}
  .xrbaic-app .partner-lockup{width:auto;flex:1;}
  .xrbaic-app .partner-statement{border-top:none;border-left:1px solid var(--xr-hairline);
      padding-top:0;padding-left:32px;width:auto;max-width:320px;flex-shrink:0;}
  .xrbaic-app .modal-overlay{align-items:center;}
  .xrbaic-app .modal-panel{border-radius:20px;padding:32px;}
}
@media(min-width:960px){
  .xrbaic-app .tab-switch{display:none;}
  .xrbaic-app .idea-layout{display:grid;
      grid-template-columns:1fr 340px;
      gap:28px;
      align-items:start;}
  .xrbaic-app .idea-panel{display:block;}
  .xrbaic-app .idea-panel-leaderboard{position:sticky;
      top:78px;
      max-height:calc(100vh - 100px);
      overflow-y:auto;
      padding-right:2px;}
  .xrbaic-app .idea-panel-leaderboard::-webkit-scrollbar{width:5px;}
  .xrbaic-app .idea-panel-leaderboard::-webkit-scrollbar-thumb{background:var(--xr-hairline-strong);border-radius:4px;}
}
.xrbaic-app footer{padding:24px 0 40px;text-align:left;}
.xrbaic-app .footer-brand{font-family:'Fraunces',serif;font-size:14px;color:var(--xr-text-faint);}
.xrbaic-app .footer-sub{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--xr-text-faint);margin-top:6px;}
.xrbaic-app .cta-strip{padding:34px 0 48px;}
.xrbaic-app .cta-box{border:1px solid var(--xr-hairline-strong);
    border-radius:18px;
    padding:26px 22px;
    background:var(--xr-ink-panel);
    text-align:left;}
.xrbaic-app .cta-box h3{font-family:'Fraunces',serif;
    font-weight:500;
    font-size:20px;
    margin-bottom:8px;}
.xrbaic-app .cta-box p{color:var(--xr-text-muted);
    font-size:14px;
    margin-bottom:18px;
    max-width:44ch;}

/* ==========================================================================
   Plugin additions — states the static demo did not need
   ========================================================================== */

.xrbaic-app .form-textarea{
  width:100%;
  background:var(--xr-ink-panel-2);
  border:1px solid var(--xr-hairline-strong);
  border-radius:10px;
  padding:12px 14px;
  color:var(--xr-text);
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  line-height:1.6;
  min-height:110px;
  resize:vertical;
}
.xrbaic-app .form-textarea:focus{outline:none;border-color:var(--xr-gold);}
.xrbaic-app .form-textarea::placeholder{color:var(--xr-text-faint);}

.xrbaic-app .char-count{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--xr-text-faint);
  text-align:right;
  margin-top:6px;
}
.xrbaic-app .char-count.over{color:#F87171;}

/* Consent checkbox */
.xrbaic-app .consent-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px;
  border:1px solid var(--xr-hairline);
  border-radius:10px;
  background:rgba(255,255,255,0.02);
  margin-bottom:18px;
}
.xrbaic-app .consent-row input[type="checkbox"]{
  width:18px;height:18px;
  margin-top:2px;
  flex-shrink:0;
  accent-color:var(--xr-gold);
  cursor:pointer;
}
.xrbaic-app .consent-row label{
  font-size:13px;
  line-height:1.55;
  color:var(--xr-text-muted);
  cursor:pointer;
}

/* Inline field errors */
.xrbaic-app .field-error{
  display:none;
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  color:#F87171;
  margin-top:6px;
}
.xrbaic-app .field-error.show{display:block;}
.xrbaic-app .form-input.invalid,
.xrbaic-app .form-select.invalid,
.xrbaic-app .form-textarea.invalid{border-color:#F87171;}

/* Form-level notice */
.xrbaic-app .form-notice{
  display:none;
  border-radius:10px;
  padding:12px 14px;
  font-size:13.5px;
  line-height:1.5;
  margin-bottom:16px;
  border:1px solid transparent;
}
.xrbaic-app .form-notice.show{display:block;}
.xrbaic-app .form-notice.error{
  background:rgba(248,113,113,0.10);
  border-color:rgba(248,113,113,0.40);
  color:#FCA5A5;
}
.xrbaic-app .form-notice.info{
  background:rgba(250,204,35,0.08);
  border-color:rgba(250,204,35,0.35);
  color:var(--xr-gold);
}
.xrbaic-app .form-notice.success{
  background:rgba(74,222,128,0.10);
  border-color:rgba(74,222,128,0.35);
  color:#86EFAC;
}

/* Buttons — busy and disabled */
.xrbaic-app .btn-grad[disabled],
.xrbaic-app .form-submit[disabled],
.xrbaic-app .btn-secondary[disabled]{
  opacity:0.55;
  cursor:not-allowed;
  pointer-events:none;
}
.xrbaic-app .is-busy{position:relative;color:transparent !important;}
.xrbaic-app .is-busy::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:16px;height:16px;
  margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,0.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:xrbaicSpin .7s linear infinite;
}
@keyframes xrbaicSpin{to{transform:rotate(360deg);}}

/* Loading skeletons */
.xrbaic-app .skeleton-card{
  border:1px solid var(--xr-hairline);
  border-radius:14px;
  padding:18px;
  background:var(--xr-ink-panel);
  min-height:186px;
}
.xrbaic-app .skeleton-line{
  height:12px;
  border-radius:6px;
  background:linear-gradient(90deg,rgba(255,255,255,0.05),rgba(255,255,255,0.12),rgba(255,255,255,0.05));
  background-size:200% 100%;
  animation:xrbaicShimmer 1.4s ease-in-out infinite;
  margin-bottom:12px;
}
.xrbaic-app .skeleton-line.w40{width:40%;}
.xrbaic-app .skeleton-line.w70{width:70%;}
.xrbaic-app .skeleton-line.w90{width:90%;}
@keyframes xrbaicShimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}

/* Toast */
.xrbaic-app .xr-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translate(-50%,120%);
  background:var(--xr-ink-panel-2);
  border:1px solid var(--xr-hairline-strong);
  color:var(--xr-text);
  border-radius:12px;
  padding:13px 18px;
  font-size:14px;
  max-width:calc(100vw - 32px);
  z-index:200;
  box-shadow:0 12px 40px rgba(0,0,0,0.45);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
  text-align:center;
}
.xrbaic-app .xr-toast.show{transform:translate(-50%,0);}
.xrbaic-app .xr-toast.error{border-color:rgba(248,113,113,0.5);color:#FCA5A5;}
.xrbaic-app .xr-toast.success{border-color:rgba(74,222,128,0.5);color:#86EFAC;}

/* Closed / notice banner */
.xrbaic-app .closed-banner{
  border:1px dashed var(--xr-hairline-strong);
  border-radius:14px;
  padding:16px 18px;
  background:rgba(255,255,255,0.02);
  color:var(--xr-text-muted);
  font-size:14px;
  margin-bottom:22px;
}
.xrbaic-app .closed-banner strong{color:var(--xr-gold);font-weight:600;}

/* Votes remaining pill */
.xrbaic-app .votes-left{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--xr-text-faint);
  border:1px solid var(--xr-hairline);
  border-radius:999px;
  padding:5px 11px;
  display:inline-block;
  margin-bottom:14px;
}

/* Load more */
.xrbaic-app .load-more-wrap{text-align:center;padding:22px 0 4px;}
.xrbaic-app .load-more{
  background:transparent;
  border:1px solid var(--xr-hairline-strong);
  color:var(--xr-text);
  border-radius:999px;
  padding:11px 26px;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:.04em;
  cursor:pointer;
  transition:border-color .15s ease,color .15s ease;
}
.xrbaic-app .load-more:hover{border-color:var(--xr-gold);color:var(--xr-gold);}

/* Test-mode banner */
.xrbaic-app .test-mode-flag{
  background:rgba(250,204,35,0.12);
  border:1px solid rgba(250,204,35,0.4);
  color:var(--xr-gold);
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  letter-spacing:.04em;
  padding:9px 14px;
  border-radius:8px;
  margin-bottom:16px;
  text-align:center;
}

/* Accessibility — visible keyboard focus */
.xrbaic-app a:focus-visible,
.xrbaic-app button:focus-visible,
.xrbaic-app input:focus-visible,
.xrbaic-app select:focus-visible,
.xrbaic-app textarea:focus-visible,
.xrbaic-app [role="button"]:focus-visible{
  outline:2px solid var(--xr-gold);
  outline-offset:2px;
  border-radius:6px;
}
.xrbaic-app .screen-reader-text{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* ==========================================================================
   Tablet — the demo jumped straight from phone to desktop
   ========================================================================== */
@media(min-width:640px) and (max-width:959px){
  .xrbaic-app .idea-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .xrbaic-app .stats-grid{grid-template-columns:repeat(3,1fr);}
  .xrbaic-app .modal-panel{max-width:620px;}
  .xrbaic-app .page-title{font-size:44px;}
}

@media(min-width:768px) and (max-width:959px){
  .xrbaic-app .wrap{padding:0 28px;}
  .xrbaic-app .idea-grid{gap:18px;}
  .xrbaic-app .modal-meta-grid{grid-template-columns:repeat(2,1fr);}
  .xrbaic-app .tab-switch{max-width:420px;}
}

/* Wide desktop — a little more room for the grid */
@media(min-width:1280px){
  .xrbaic-app .idea-layout{grid-template-columns:1fr 360px;gap:34px;}
  .xrbaic-app .idea-grid{grid-template-columns:repeat(3,1fr);}
}

/* Small phones */
@media(max-width:379px){
  .xrbaic-app .page-title{font-size:34px;}
  .xrbaic-app .stats-grid{grid-template-columns:1fr;gap:10px;}
  .xrbaic-app .modal-panel{padding:20px 16px;}
  .xrbaic-app .idea-card{padding:15px;}
}

/* Modals must stay usable on short landscape phones */
@media(max-height:560px){
  .xrbaic-app .modal-panel{max-height:94vh;overflow-y:auto;}
}

@media(prefers-reduced-motion:reduce){
  .xrbaic-app *,
  .xrbaic-app *::before,
  .xrbaic-app *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ==========================================================================
   Theme layout — the app sits between the site's own header and footer
   ========================================================================== */

/*
 * Break out of the theme's centred content column so the dark section runs
 * edge to edge, the way it does on the standalone page. Without this the
 * whole design gets squeezed into Astra's ~1200px container with a light
 * strip either side.
 */
.xrbaic-app.xrbaic-embedded{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:hidden;
  padding:0 0 8px;
  border-radius:0;
}

/* The plugin's own bar and footer are not rendered here, but if a theme or
   cached markup ever brings them back, keep them hidden. */
.xrbaic-app.xrbaic-embedded .topnav,
.xrbaic-app.xrbaic-embedded .site-nav,
.xrbaic-app.xrbaic-embedded > footer{display:none;}

/* Astra and Elementor both add their own padding to the content area. */
.xrbaic-app.xrbaic-embedded .wrap{padding-top:0;}

/* Leaderboard switched off in settings — let the grid use the full width */
@media(min-width:960px){
  .xrbaic-app .idea-layout.xr-no-board{display:block;}
  .xrbaic-app .idea-layout.xr-no-board .idea-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
}

/* ==========================================================================
   Registration gate — lookup, confirm card, "submitting as" strip
   ========================================================================== */

.xrbaic-app .xr-step{animation:xrbaicFade .18s ease;}
@keyframes xrbaicFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

.xrbaic-app .xr-record{
  border:1px solid var(--xr-hairline-strong);
  border-radius:12px;
  background:var(--xr-ink-panel-2);
  padding:4px 16px;
  margin-bottom:20px;
}
.xrbaic-app .xr-record-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid var(--xr-hairline);
}
.xrbaic-app .xr-record-row:last-child{border-bottom:none;}
.xrbaic-app .xr-record-row span{
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--xr-text-faint);
  flex-shrink:0;
}
.xrbaic-app .xr-record-row strong{
  font-weight:500;
  font-size:14.5px;
  color:var(--xr-text);
  text-align:right;
  word-break:break-word;
}

.xrbaic-app .xr-confirm-row{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.xrbaic-app .xr-confirm-row .load-more{width:100%;}

.xrbaic-app .xr-asyou{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  border:1px solid var(--xr-hairline);
  border-left:3px solid var(--xr-gold);
  border-radius:8px;
  background:rgba(250,204,35,0.05);
  padding:11px 14px;
  margin-bottom:18px;
  font-size:13.5px;
}
.xrbaic-app .xr-asyou span.mono{
  font-size:10.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--xr-text-faint);
}
.xrbaic-app .xr-asyou strong{font-weight:600;}
.xrbaic-app .xr-asyou #xrAsMeta{color:var(--xr-text-faint);font-size:12.5px;}

@media(min-width:560px){
  .xrbaic-app .xr-confirm-row{flex-direction:row-reverse;}
  .xrbaic-app .xr-confirm-row .form-submit{flex:1;}
  .xrbaic-app .xr-confirm-row .load-more{width:auto;flex-shrink:0;}
}

/* Note shown when a locked field falls back to being asked */
.xrbaic-app .xr-fallback-note{
  font-size:12.5px;
  line-height:1.5;
  color:var(--xr-gold);
  margin-top:8px;
  padding-left:10px;
  border-left:2px solid var(--xr-gold);
}

/* ==========================================================================
   Theme hardening
   --------------------------------------------------------------------------
   Inside the theme layout, Astra sets an explicit colour on headings, links
   and form controls. An explicit declaration always beats an inherited one,
   so anything here that used to rely on inheriting from .xrbaic-app has to
   state its colour outright. Everything stays scoped, so none of this leaks
   back out to the rest of the site.
   ========================================================================== */

.xrbaic-app h1,
.xrbaic-app h2,
.xrbaic-app h3,
.xrbaic-app h4,
.xrbaic-app h5,
.xrbaic-app h6,
.xrbaic-app p,
.xrbaic-app li,
.xrbaic-app label,
.xrbaic-app span,
.xrbaic-app strong,
.xrbaic-app div{
  color:inherit;
}

.xrbaic-app .page-title,
.xrbaic-app .section-title,
.xrbaic-app .cta-box h3,
.xrbaic-app .modal-title,
.xrbaic-app .leaderboard-panel-title,
.xrbaic-app .idea-title,
.xrbaic-app .stat-value,
.xrbaic-app .form-success h4,
.xrbaic-app .success-title{
  color:var(--xr-text);
}

/* The gradient word must keep its transparent fill. */
.xrbaic-app .page-title em{
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.xrbaic-app .page-sub,
.xrbaic-app .modal-desc,
.xrbaic-app .cta-box p,
.xrbaic-app .form-success p{
  color:var(--xr-text-muted);
}

.xrbaic-app .section-num,
.xrbaic-app .stat-label,
.xrbaic-app .form-label,
.xrbaic-app .results-count{
  color:var(--xr-text-faint);
}

.xrbaic-app a{color:inherit;}
.xrbaic-app .footer-sub a{color:var(--xr-text-muted);}

/* --------------------------------------------------------------------------
   Form controls
   Astra applies its own height and line-height to inputs and selects, which
   clipped the select's text against our padding. State both explicitly.
   -------------------------------------------------------------------------- */
.xrbaic-app .form-input,
.xrbaic-app .form-select,
.xrbaic-app .form-textarea{
  height:auto;
  line-height:1.45;
  color:var(--xr-text);
  background-color:var(--xr-ink-panel-2);
  box-shadow:none;
  margin:0;
  max-width:none;
}

.xrbaic-app .form-select{
  min-height:50px;
  padding-top:13px;
  padding-bottom:13px;
  text-overflow:ellipsis;
  background-color:var(--xr-ink-panel-2);
}

.xrbaic-app .form-input:focus,
.xrbaic-app .form-select:focus,
.xrbaic-app .form-textarea:focus{
  background-color:var(--xr-ink-panel-2);
  color:var(--xr-text);
  box-shadow:none;
}

/* Native dropdown list — some platforms ignore inherited colours here. */
.xrbaic-app .form-select option,
.xrbaic-app .form-select optgroup{
  background-color:#161c36;
  color:#ffffff;
  padding:8px 10px;
}

.xrbaic-app button{
  line-height:normal;
  letter-spacing:inherit;
  text-transform:none;
}
.xrbaic-app .btn-secondary,
.xrbaic-app .filter-chip,
.xrbaic-app .tab-btn,
.xrbaic-app .load-more{text-transform:uppercase;}
