/* Qui Quo — Noir & Cream theme. Colour/visual layer only, loaded last. */
:root{--nx-bg:#0b0a09;--nx-panel:#161412;--nx-panel2:#1e1b18;--nx-line:#2f2a24;--nx-cream:#f5d9b0;--nx-cream2:#fbe9cf;--nx-text:#f3ece2;--nx-muted:#b4a796;--nx-ink:#1a140d;
--page-background:#0b0a09;--ink:#f3ece2;--dark:#0b0a09;--cream:#f5d9b0;--muted:#b4a796;--gold:#f5d9b0;--line:#2f2a24}
html body{background:var(--nx-bg);color:var(--nx-text)}
body h1,body h2,body h3,body h4{color:inherit}
body .subtle,body .mutednote,body .listing-disclaimer,body th,body .stat small{color:var(--nx-muted)}
/* header */
html body header,body header{background:rgba(11,10,9,.94);border-bottom:1px solid var(--nx-line);backdrop-filter:blur(8px)}
header .logo{background:transparent;border-radius:14px;padding:2px 8px}
body nav button,body .navuser{color:var(--nx-text)}
body nav button:hover,body .navuser:hover{color:var(--nx-cream)}
body .navuser{border:1px solid var(--nx-cream);border-radius:999px;padding:9px 16px}
body .mobilemenu{color:var(--nx-cream)}
body .mobnav.show{border-top:1px solid var(--nx-line);background:var(--nx-bg)}
html body .mobnav button{background:var(--nx-bg);color:var(--nx-text);border-radius:12px}
/* buttons */
body .btn,body .pill{border-radius:999px}
body .btn.primary,body .pill.primary,body .primary,body .gold,body .orange-button{background:var(--nx-cream)!important;color:var(--nx-ink)!important;border:1px solid var(--nx-cream)!important}
body .btn.primary:hover,body .pill.primary:hover,body .gold:hover{background:var(--nx-cream2)!important;color:var(--nx-ink)!important}
html body .btn.outline,html body .outline{background:transparent;color:var(--nx-cream);border:1px solid var(--nx-cream)}
body .btn.outline:hover{background:rgba(245,217,176,.1)}
body .secondary{background:var(--nx-panel2);color:var(--nx-cream);border:1px solid var(--nx-line)}
body .danger{background:#3a1515;color:#ffb4b4;border:1px solid #6b2424}
body .btn:disabled,body .pill:disabled{opacity:.45}
body .link{color:var(--nx-cream)}
body :focus-visible{outline:3px solid var(--nx-cream);outline-offset:3px}
/* hero & sections */
html body .editorial-hero,body .hero{background:radial-gradient(ellipse at 75% 30%,#2a1f14 0,var(--nx-bg) 60%);color:var(--nx-text)}
body .hero-kicker{border-bottom:1px solid var(--nx-line)}
body .hero-copy h1{color:var(--nx-cream2)}
body .vertical-rule{background:var(--nx-cream);border-radius:3px}
body .eyebrow,body .label,body .section-number{color:var(--nx-cream)}
body .kicker-mark,body .section-number:before{background:var(--nx-cream);border-radius:50%}
body .hero-art{background:var(--nx-panel);border:1px solid var(--nx-line);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
body .art-caption{border-top:1px solid var(--nx-line)}
body .brand-ticker{background:var(--nx-panel);border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line);color:var(--nx-text)}
body .section.soft,body .soft{background:var(--nx-panel)}
body .how-editorial{background:var(--nx-cream);color:var(--nx-ink);border:0;border-radius:28px 28px 0 0}
body .how-editorial .section-number,body .how-editorial .label{color:var(--nx-ink)}
body .how-editorial .section-number:before{background:var(--nx-ink)}
body .steps-list{border-top:2px solid rgba(26,20,13,.25)}
body .step{border-bottom:1px solid rgba(26,20,13,.2)}
body .reward-editorial{background:var(--nx-bg);border-color:var(--nx-line)}
body .reward-editorial h2 span{color:var(--nx-cream)}
body .reward-tile{border:1px solid rgba(255,255,255,.15);border-radius:18px}
body .placements-grid article{border:1px solid var(--nx-line);border-radius:18px;overflow:hidden;background:var(--nx-panel)}
body .place-label{border-top:1px solid var(--nx-line)}
body .venue-invite img{border:1px solid var(--nx-line);border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
body .outcome-stats{border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line)}
body .outcome-stats div{border-color:var(--nx-line)!important}
body .outcome-stats b{color:var(--nx-cream)}
body .final-cta{background:var(--nx-cream);color:var(--nx-ink);border:0;border-radius:28px 28px 0 0}
body .final-cta .btn.primary,body .final-cta .primary{background:var(--nx-ink)!important;color:var(--nx-cream)!important;border-color:var(--nx-ink)!important}
body .final-cta .btn.outline,body .final-cta .outline{color:var(--nx-ink);border-color:var(--nx-ink)}
body .pink-underline{text-decoration-color:var(--nx-cream)}
/* ad spaces */
body .qq-adspaces .qa-showcase{margin:0 0 18px;border:1px solid var(--nx-line);border-radius:20px;overflow:hidden;background:var(--nx-panel)}
body .qq-adspaces .qa-showcase img{display:block;width:100%;height:auto}
body .qq-adspaces{background:var(--nx-bg)}
body .qq-adspaces .qa-card{background:var(--nx-panel);border:1px solid var(--nx-line);color:var(--nx-text);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
body .qq-adspaces .qa-text span{color:var(--nx-muted)}
body .qq-adspaces .qa-head p{border-left-color:var(--nx-cream)}
body .qq-adspaces .qa-btn{background:var(--nx-cream);color:var(--nx-ink);box-shadow:none}
body .qq-adspaces .qa-btn:hover{background:var(--nx-cream2)}
/* search, chips, cards */
body .searchbar{background:var(--nx-panel);border:1px solid var(--nx-line);border-radius:18px}
body .searchbar input,body .searchbar select{background:transparent;color:var(--nx-text)}
body .searchbar select{border-left:1px solid var(--nx-line)}
body .searchbar select option{background:var(--nx-panel);color:var(--nx-text)}
body .chip{background:var(--nx-panel);border:1px solid var(--nx-line);color:var(--nx-text);border-radius:999px}
body .chip.active{background:var(--nx-cream);color:var(--nx-ink);border-color:var(--nx-cream)}
body .card{background:var(--nx-panel);border:1px solid var(--nx-line);border-radius:20px;color:var(--nx-text)}
body .card:hover{box-shadow:0 16px 40px rgba(0,0,0,.5);border-color:#4a3f33}
body .category{color:var(--nx-cream)}
body .tag{background:var(--nx-panel2);border:1px solid var(--nx-line);color:var(--nx-muted);border-radius:999px}
/* panels, forms, tables */
body .panel,body .venue-portal-card,body .qqr-row{background:var(--nx-panel);border:1px solid var(--nx-line);border-radius:20px;color:var(--nx-text)}
body .darkpanel{background:var(--nx-panel2)}
body .field label{color:var(--nx-cream2)}
body .field input,body .field select,body .field textarea{background:var(--nx-bg);color:var(--nx-text);border:1px solid #3d362e;border-radius:12px}
body .field input:focus,body .field select:focus,body .field textarea:focus{border-color:var(--nx-cream);outline:2px solid rgba(245,217,176,.35)}
body .field input:disabled,body .field select:disabled,body .field textarea:disabled{opacity:.55;cursor:not-allowed}
body input::placeholder,body textarea::placeholder{color:#7d7266}
body .tabs button{background:var(--nx-panel);color:var(--nx-text);border:1px solid var(--nx-line);border-radius:999px}
body .tabs button.on{background:var(--nx-cream);color:var(--nx-ink);border-color:var(--nx-cream)}
body .stat{background:var(--nx-panel2);border:1px solid var(--nx-line);border-radius:16px}
body .stat strong{color:var(--nx-cream)}
body .listitem,body td,body th,body .upload-block{border-color:var(--nx-line)}
body .alert{background:#16261b;color:#b9e3c3;border-radius:12px}
body .alert.warning,body .warning{background:#2e2312;color:#f1cf98}
body .badge{border-radius:999px}
body .empty{border:1px dashed #4a3f33;color:var(--nx-muted);border-radius:18px}
body .wallethead{background:linear-gradient(135deg,#1e1913,#0e0c0a);border:1px solid var(--nx-line);border-radius:22px}
body .wallethead strong{color:var(--nx-cream)}
body .surprise{background:linear-gradient(135deg,#2a2016,#0e0c0a);border-radius:20px}
body .surprise h2{color:var(--nx-cream)}
body .phone{background:var(--nx-panel);border-color:#2a2622}
body .tinylogo,body .profile-logo{border-color:var(--nx-line)}
body #notice{background:var(--nx-cream);color:var(--nx-ink);border-radius:14px}
body #notice.error{background:#a12626;color:#fff}
body .selection{outline-color:var(--nx-cream)}
body footer{border-top:1px solid var(--nx-line);color:var(--nx-muted)}
body footer b{color:var(--nx-cream)}
/* rewards QR surfaces: containers only, game pieces untouched */
body .qqx{--nv:#f3ece2;--soft:#1e1b18;background:var(--nx-bg);color:var(--nx-text)}
body .qqx-page{background:var(--nx-bg)}
body .qqx-top img{background:transparent;border-radius:10px;padding:2px 6px}
body .qqx-icon{background:var(--nx-panel);border:1px solid var(--nx-line);color:var(--nx-cream)}
body .qqx-art,body .qqx-venue img,body .qqx-prov img{border-color:var(--nx-line)}
body .qqx-card{background:var(--nx-panel);border:1px solid var(--nx-line);box-shadow:0 14px 34px rgba(0,0,0,.45)}
body .qqx-label:before{background:var(--nx-cream)}
body .qqx-btn{background:var(--nx-cream);color:var(--nx-ink);box-shadow:none}
body .qqx-btn.ghost{background:transparent;color:var(--nx-cream);border:1px solid var(--nx-cream)}
body .qqx-hint,body .qqx-empty{color:var(--nx-muted)}
body .qqx-empty{border-color:#4a3f33}
body .qqx-result{background:var(--nx-panel);border:1px solid var(--nx-line)}
body .qqx-terms{background:var(--nx-panel2)}
body .qqx-token{background:var(--nx-bg);color:var(--nx-cream);border-color:var(--nx-cream)}
body .qqx-scratch .under{color:#14213d}
body .qqx-wheel{border-color:#14213d}
body .qqx-pointer{border-top-color:var(--nx-cream)}
body .qqx-hub{color:#14213d}
body .qqx-box .lid,body .qqx-box .body,body .qqx-flip .face{border-color:#14213d}
body .qqx-flip .front{color:#14213d}
body .qqx-chip{border-color:var(--nx-line)}
body .qqx-skel{background:linear-gradient(90deg,#1e1b18,#2a2622,#1e1b18);background-size:200% 100%}
body .qqx-nav{background:rgba(11,10,9,.96);border-top:1px solid var(--nx-line)}
body .qqx-nav button.on{background:var(--nx-panel2)}
body .qqx-wtabs button{background:var(--nx-panel);color:var(--nx-text);border:1px solid var(--nx-line)}
body .qqx-wtabs button.on{background:var(--nx-cream);color:var(--nx-ink)}
body .qqx-award{background:var(--nx-panel);border-color:var(--nx-line)}
body .qqx-balance{background:linear-gradient(135deg,#1e1913,#0e0c0a);border:1px solid var(--nx-line)}
body .qqx-balance strong{color:var(--nx-cream)}
body .qqr-meter{background:#2a2622}body .qqr-meter i{background:var(--nx-cream)}
body .qqr-status{color:#111}body .qqr-status.rejected{color:#fff}
body .qqr-phone{border-color:#2a2622;background:var(--nx-bg)}
body .qqr-artprev{background:var(--nx-panel2)}
body .qqr-error{color:#ff9d9d}
body #qqrFormError{background:#2a1212;color:#ffc0c0;border-left-color:#e05252}
body #qqrForm [aria-invalid="true"]{border-color:#e05252}
