/* Craic Hub Exchange: QA fixes (31 Oct 2026). Layout polish layered on theme.css. Visual layer only. */
:root{--hx-line:rgba(120,200,255,.14)}
html{-webkit-text-size-adjust:100%}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input,select,textarea{font-family:inherit}
img{max-width:100%}
/* ---------- minimum readable text ---------- */
small,.mut.small,.v2soon,.tag,.gtag,.gh,.cfl,.maj .mc,.fci small,.rwb small,.burnb,.lg-step,.hx-featl,.walm .wh,.walm .wn,.vb,th{font-size:max(12px,.85em)}
.v2soon,.tag,.gtag{font-size:12px!important;padding-top:2px;padding-bottom:2px}
#feet th,#feet th{font-size:12px!important}
/* ---------- shared footer ---------- */
footer.hx-ft{max-width:1200px;margin:48px auto 0;padding:28px 16px 36px;border-top:1px solid var(--hx-line);color:var(--mut);font-size:13.5px;line-height:1.55}
.hx-ft .hx-nc{padding:12px 14px;border:1px solid var(--hx-line);border-radius:12px;background:rgba(18,30,52,.5);color:var(--mut);font-size:13.5px;margin:0 0 24px}
.hx-ft .hx-nc b{color:var(--txt)}
.hx-ft .hx-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:0 0 24px}
.hx-ft .hx-cols h2{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt);margin:0 0 10px;font-weight:700}
.hx-ft .hx-cols a{display:block;color:var(--mut);padding:4px 0;font-size:14px;font-weight:500}
.hx-ft .hx-cols a:hover{color:var(--acc)}
.hx-ft .hx-disc{font-size:13px;color:var(--mut);margin:0 0 20px;max-width:900px}
.hx-ft .hx-feat{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--hx-line);margin:0 0 6px}
.hx-ft .hx-featl{flex:none;font-size:12.5px;font-weight:600;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
.hx-ft .hx-featb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;flex:1 1 320px;min-width:0}
.hx-ft .hx-featb a{display:inline-flex;align-items:center;color:var(--mut);font-size:12.5px;line-height:1;opacity:.75}
.hx-ft .hx-featb a:hover{opacity:1;color:var(--txt)}
.hx-ft .hx-featb img{height:22px!important;width:auto!important;max-width:110px;object-fit:contain;filter:grayscale(1) brightness(.9);opacity:.8;border-radius:5px;display:block}
.hx-ft .hx-featb a:hover img{filter:none;opacity:1}
.hx-ft .hx-copy{margin:8px 0 0;font-size:13px;color:var(--mut)}
@media(max-width:860px){.hx-ft .hx-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hx-ft .hx-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.hx-ft .hx-cols a{padding:9px 0;font-size:14.5px}.hx-ft .hx-featb a{min-height:32px}.hx-ft .hx-featb img{height:20px!important}}
/* ---------- header: wider search, no clipped placeholder ---------- */
.gs{max-width:560px}
header .gs input{padding-left:11px;padding-right:9px}
.gs input{text-overflow:ellipsis;font-size:14px}
.gs input::placeholder{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
/* ---------- news ---------- */
.nwt,.vtabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.nwt button,.vtabs button{padding:8px 15px;border-radius:999px;border:1px solid var(--hx-line);background:rgba(18,30,52,.6);color:var(--mut);font-weight:600;font-size:14px;cursor:pointer;min-height:36px;font-family:inherit}
.nwt button:hover,.vtabs button:hover{color:var(--txt);border-color:rgba(46,230,182,.45)}
.nwt button.on,.vtabs button.on{background:rgba(46,230,182,.14);color:var(--acc);border-color:rgba(46,230,182,.6)}
.nwl{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:1fr}
.nwl li{margin:0;padding:0;list-style:none}
.nwl li>a{display:flex;gap:16px;align-items:flex-start;padding:14px;border:1px solid var(--hx-line);border-radius:16px;background:rgba(18,30,52,.55);color:var(--txt);text-decoration:none;transition:border-color .15s,transform .15s}
.nwl li>a:hover{border-color:rgba(46,230,182,.5);transform:translateY(-1px)}
.nwl img{flex:none;width:132px;height:88px;max-width:100%;object-fit:cover;border-radius:12px;background:#0F1B30;display:block}
.nwl span{min-width:0;display:block}
.nwl b{display:block;font-size:16px;line-height:1.35;font-weight:700;color:var(--txt);margin:0 0 4px}
.nwl em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:normal;color:var(--mut);font-size:14px;line-height:1.5;margin:0 0 6px}
.nwl small{display:block;color:var(--mut);font-size:12.5px}
.nwl.sm li>a{padding:10px 12px;border-radius:12px}
.nwl.sm b{font-size:14.5px;margin:0 0 2px}
#nwall{max-width:100%;overflow:hidden}
#app,main{max-width:100%}
@media(max-width:560px){.nwl li>a{flex-direction:column;gap:10px}.nwl img{width:100%;height:150px}.nwl.sm li>a{flex-direction:row}}
/* ---------- coin votes ---------- */
.vsf{display:flex;gap:8px;margin:14px 0 10px;max-width:720px}
.vsf input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid var(--hx-line);background:rgba(18,30,52,.7);color:var(--txt);font-size:15px;min-height:46px}
.vsf input:focus{outline:2px solid var(--acc);border-color:transparent}
.vsf .btn{min-height:46px;padding:0 20px}
ol.vl{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}
ol.vl>li{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--hx-line);border-radius:14px;background:rgba(18,30,52,.55)}
ol.vl>li img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;background:#0F1B30}
ol.vl .vn{flex:1;min-width:0}
ol.vl .vn b{display:block;font-size:15px}
ol.vl .vn small{display:block;color:var(--mut);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
ol.vl .vc{font-size:17px;font-weight:800;min-width:34px;text-align:right;color:var(--acc)}
ol.vl .btn{padding:8px 14px;font-size:14px;min-height:38px;display:inline-flex;align-items:center}
@media(max-width:560px){ol.vl>li{flex-wrap:wrap}ol.vl .vc{order:3}ol.vl .btn{flex:1 1 auto;justify-content:center;min-height:44px}}
/* ---------- tap targets and form controls on phones ---------- */
@media(max-width:700px){
 .btn,button.btn,nav a,.tabs button,.chips a,.tog button,.v2tabs a,.mn-tabs>a,.mn-more>summary,.lg-help{min-height:44px}
 .btn{display:inline-flex;align-items:center;justify-content:center}
 input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;font-size:16px}
 .dd a{padding:12px}
 footer a{min-height:32px}
}
/* ---------- swap page: clean centred card, collapsible rows below ---------- */
.v2.mn.mn2{max-width:560px;margin:0 auto;padding:8px 16px 24px}
.mn2-head{text-align:center;margin:18px 0 22px}
.mn2-head h1{font-size:34px!important;line-height:1.12;letter-spacing:-.8px;margin:0 auto;max-width:520px;text-align:center}
.mn2-head .mn-sub{margin:12px auto 0;font-size:15px;max-width:480px;color:var(--mut)}
.mn2 .mn-card{position:static;order:0;padding:18px;border-radius:22px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(46,230,182,.08)}
.mn2 .mn-tabs{margin-bottom:14px}
.mn2-rows{margin:16px 0 0;display:grid;gap:10px}
details.mn2-row{border:1px solid var(--hx-line);border-radius:16px;background:rgba(18,30,52,.5);overflow:hidden}
details.mn2-row>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-weight:700;font-size:15px;color:var(--txt);min-height:52px}
details.mn2-row>summary::-webkit-details-marker{display:none}
details.mn2-row>summary small{color:var(--mut);font-weight:500;font-size:13px;margin-left:auto;text-align:right}
details.mn2-row>summary::after{content:"▾";color:var(--mut);font-size:14px;transition:transform .15s;flex:none}
details.mn2-row[open]>summary::after{transform:rotate(180deg)}
details.mn2-row[open]>summary{border-bottom:1px solid var(--hx-line)}
.mn2-body{padding:14px 16px 16px;font-size:14px;line-height:1.55;color:var(--mut)}
.mn2-body table{background:transparent;border:1px solid var(--hx-line);font-size:13.5px}
.mn2-body .fee{border:0;padding:0 0 12px;color:var(--mut)}
.mn2-body .note{margin:12px 0 0}
.mn2 #v2sum,.mn2 #v2safe{display:block;border:0!important;background:transparent!important;padding:0!important;margin:0 0 12px!important;font-size:14px!important;color:var(--mut)!important;border-radius:0!important}
.mn2 #v2sum h2,.mn2 #v2safe h2,.mn2 #v2sum h3,.mn2 #v2safe h3{display:block!important;font-size:14px;margin:0 0 6px!important;color:var(--txt)!important}
.mn2 #v2sum h2::after,.mn2 #v2sum h3::after{content:""}
.mn2 #v2sum p,.mn2 #v2safe p{display:block!important;margin:0 0 6px!important}
.mn2 #v2safe{color:var(--acc)!important}
.mn2 .v2h{font-size:14px}
.mn2 #tcbar,.mn2 .tcbar{margin:0!important}
.mn2 #mn2tcb .tcbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:0;background:transparent;padding:0}
.mn2 #mn2tcb .tcbar b{display:none}
.mn2 #mn2tcb .tcbar input{flex:1 1 220px;min-width:0;padding:11px 12px;border-radius:12px;border:1px solid var(--hx-line);background:rgba(10,20,38,.8);color:var(--txt);font-size:14px;min-height:44px}
.mn2 .mn-mk .mn-row{padding:10px 0}
.mn2 .mn2-note{text-align:center;margin:16px 4px 0;color:var(--mut);font-size:13px}
@media(max-width:560px){.mn2-head h1{font-size:27px!important}.mn2 .mn-card{padding:14px;border-radius:18px}details.mn2-row>summary small{display:none}}
/* ---------- Jupiter swap card ---------- */
#jupiter-plugin{border-radius:18px}
.mn-card #jupiter-plugin[data-hx-sel],.mn-card #jupiter-plugin[data-hx-sel] #jupiter-plugin-instance{min-height:560px!important}
/* ---------- burn tracker states ---------- */
.hx-retry{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:6px 14px;border-radius:10px;border:1px solid rgba(46,230,182,.5);background:rgba(46,230,182,.1);color:var(--acc);font-weight:700;font-size:13.5px;cursor:pointer;min-height:34px}
.hx-retry:hover{background:rgba(46,230,182,.2)}
.hx-asof{display:block;font-size:12.5px;color:var(--mut);font-weight:500;margin-top:2px}
/* ---------- launch guide: collapsed by default, small sheet on phones ---------- */
@media(max-width:640px){.lg-pop{max-height:34vh;overflow:auto;padding:12px 14px}.lg-pop p{font-size:13.5px;margin-bottom:8px}.lg-dots{margin-bottom:8px}}
/* ---------- /terms ---------- */
#termp h2{font-size:18px;margin:26px 0 8px}
/* ---------- 404 ---------- */
.hx-404{max-width:560px;margin:60px auto;padding:0 16px;text-align:center}
.hx-404 h1{font-size:56px;margin:0}.hx-404 p{color:var(--mut)}
.hx-404 .hbtns{justify-content:center;display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
/* ---------- heading helper ---------- */
h2.hx-h3{font-size:16px}

/* phone: tables and tab rows never force sideways scroll */
@media(max-width:700px){
 #app table{width:100%!important;max-width:100%;table-layout:fixed}
 #app th,#app td{white-space:normal!important;word-break:break-word;padding:8px 6px!important;font-size:12.5px}
 #app .tabs{flex-wrap:wrap;max-width:100%}
 #app .tabs button{flex:0 1 auto}
}
.hx-ft .hx-featb a:not(:has(img)){display:inline-block}
.hx-ft .hx-featb a .notranslate{white-space:pre}
