/* Akvizitor shared UI foundation: design tokens, common layout, forms, navigation and shared badges. */
:root{
  --akv-navy:#0b2454;
  --akv-navy-2:#123b79;
  --akv-blue:#1588ff;
  --akv-cyan:#20d8ff;
  --akv-violet:#7a36ff;
  --akv-magenta:#d629ff;
  --akv-ink:#12234a;
  --akv-muted:#637598;
  --akv-line:rgba(42,137,255,.24);
  --akv-line-strong:rgba(32,216,255,.7);
  --akv-surface:rgba(255,255,255,.94);
  --akv-surface-soft:rgba(246,250,255,.88);
  --akv-surface-blue:rgba(234,244,255,.92);
  --akv-dark-surface:rgba(6,34,79,.9);
  --akv-gradient:linear-gradient(100deg,var(--akv-violet),var(--akv-blue) 58%,var(--akv-cyan));
  --akv-gradient-soft:linear-gradient(135deg,rgba(122,54,255,.12),rgba(21,136,255,.10),rgba(32,216,255,.12));
  --akv-shadow:0 22px 60px rgba(24,64,128,.18);
  --akv-shadow-strong:0 28px 74px rgba(9,35,82,.28);
  --akv-radius-sm:12px;
  --akv-radius-md:18px;
  --akv-radius-lg:26px;
  --akv-pill:999px;
  --akv-space-1:6px;
  --akv-space-2:10px;
  --akv-space-3:14px;
  --akv-space-4:18px;
  --akv-space-5:24px;
  --akv-card-border:1px solid rgba(66,137,220,.22);
  --akv-card-shadow:0 16px 42px rgba(31,76,139,.12);
}
*{box-sizing:border-box}
html{min-width:320px;background:#dfefff}
body.cq-body{margin:0;min-width:320px;color:var(--akv-ink);font-family:Inter,"Segoe UI Variable","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(body.cq-body) :where(button,input,select,textarea){font:inherit}
body.cq-body a{color:inherit}
[hidden]{display:none!important}
.cq-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:2px solid var(--akv-cyan);outline-offset:3px}
::selection{background:rgba(122,54,255,.22)}
.akv-surface{border:1px solid var(--akv-line);border-radius:var(--akv-radius-lg);background:var(--akv-surface);box-shadow:var(--akv-shadow);backdrop-filter:blur(16px) saturate(120%)}
.akv-btn-primary,.cq-lobby-primary{border:0;border-radius:14px;color:#fff;background:var(--akv-gradient);box-shadow:0 12px 28px rgba(81,75,255,.25);font-weight:800}
.akv-btn-secondary,.cq-lobby-secondary,.cq-lobby-ghost{border:1px solid rgba(46,127,230,.28);border-radius:14px;color:#174b98;background:rgba(255,255,255,.82);font-weight:750}
.akv-btn-primary,.akv-btn-secondary,.cq-lobby-primary,.cq-lobby-secondary,.cq-lobby-ghost{min-height:46px;cursor:pointer;transition:.18s ease}
.akv-btn-primary:hover,.akv-btn-secondary:hover,.cq-lobby-primary:hover,.cq-lobby-secondary:hover,.cq-lobby-ghost:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(32,105,210,.2)}
button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.cq-body :where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}
body.cq-body :where(button,a){text-underline-offset:3px}
.akv-card{border:var(--akv-card-border);border-radius:var(--akv-radius-md);background:var(--akv-surface);box-shadow:var(--akv-card-shadow)}


:root{--cq-text:var(--akv-ink);--cq-muted:var(--akv-muted);--cq-line:var(--akv-line)}
*{box-sizing:border-box}
html,body{min-height:100%}
.cq-shell{width:min(1500px,calc(100% - 40px));margin:0 auto}
.cq-nav.akv-site-nav{position:sticky;top:12px;z-index:50;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:28px;min-height:66px;margin:12px auto 18px;padding:8px 12px 8px 18px;border:1px solid rgba(255,255,255,.82);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 14px 36px rgba(33,73,139,.15);backdrop-filter:blur(18px) saturate(120%)}
.cq-brand.cq-brand-image{display:flex;align-items:center;text-decoration:none}.cq-brand.cq-brand-image img{display:block;width:auto;height:44px;max-width:250px}.akv-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.akv-nav-actions .ui-button,.akv-nav-actions .cq-secondary,.akv-nav-actions .cq-primary{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid transparent;box-shadow:none;font-weight:750}.akv-nav-actions .cq-secondary{background:transparent;color:#173b79;border-color:transparent}.akv-nav-actions .cq-secondary:hover{background:#edf5ff;border-color:#cde3ff}.akv-nav-actions .cq-primary{color:#fff;background:var(--akv-gradient)}.akv-player-badge{padding:8px 12px;border-radius:12px;color:#60769d;background:#f4f8ff;font-size:.9rem}.akv-player-badge strong{color:#173b79}
.cq-page{padding:28px 0 60px}.cq-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.cq-page-header h1{margin:0;color:#102d61;font-size:clamp(2rem,4vw,3.2rem)}.cq-page-header p{margin:.45rem 0 0;color:var(--akv-muted)}
.cq-card{border:1px solid var(--akv-line);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:var(--akv-shadow);padding:24px}.cq-card p{color:var(--akv-muted)}.cq-form{display:grid;gap:16px}.cq-field{display:grid;gap:7px}.cq-field label,.ui-outputlabel{font-weight:750;color:#26395d}.cq-help{color:var(--akv-muted);font-size:.86rem}
body.cq-body .ui-inputfield,body.cq-body .ui-password input,body.cq-body .ui-inputtextarea,body.cq-body .ui-selectonemenu{width:100%;min-height:46px;border:1px solid #c8d9ef;border-radius:12px;color:#1a315d;background:#fff;box-shadow:inset 0 1px 2px rgba(11,46,98,.03)}
body.cq-body .ui-inputfield:focus,body.cq-body .ui-password input:focus,body.cq-body .ui-inputtextarea:focus{border-color:#57bfff;box-shadow:0 0 0 3px rgba(32,216,255,.11)}
body.cq-body .ui-button{border-radius:12px}.cq-status-chip{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.cq-status-PENDING{background:#fff3ce;color:#9c6a00}.cq-status-APPROVED{background:#daf9e7;color:#178051}.cq-status-REJECTED{background:#ffe1e7;color:#b62a4c}
@media(max-width:1000px){.cq-shell{width:min(100% - 20px,1500px)}.cq-nav.akv-site-nav{grid-template-columns:1fr;top:6px}.akv-nav-actions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.akv-player-badge{display:none}}
@media(max-width:640px){.cq-brand.cq-brand-image img{height:38px}.cq-nav.akv-site-nav{margin-inline:4px;padding:8px 10px}.cq-page{padding-top:18px}}
.akv-site-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:28px 0 12px;padding:14px 18px;border:1px solid rgba(202,222,243,.9);border-radius:16px;color:#71839f;background:rgba(255,255,255,.82);font-size:.8rem}.akv-site-footer-brand{display:inline-flex;align-items:center;gap:7px;color:#1b4b8f;font-weight:850}.akv-site-footer-dot{width:8px;height:8px;border-radius:50%;background:var(--akv-gradient);box-shadow:0 0 10px rgba(40,180,255,.35)}
@media(max-width:600px){.akv-site-footer{align-items:flex-start;flex-direction:column}}


.akv-powered-unified{position:absolute;right:clamp(18px,4vw,70px);bottom:clamp(16px,3vh,34px);z-index:20;display:inline-flex;align-items:center;min-height:60px;padding:10px 20px;border:1px solid rgba(255,255,255,.95);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 16px 38px rgba(20,59,116,.16);backdrop-filter:blur(14px)}
.akv-powered-unified-inner{display:flex;align-items:center;gap:12px}.akv-powered-unified-label{color:#31486d;font-size:14px;font-weight:750}.akv-powered-unified .akv-powered-megi-logo,.akv-powered-unified .akv-megi-logo{display:block;width:auto;height:34px;max-width:150px;object-fit:contain}
@media(max-width:720px){.akv-powered-unified{right:16px;bottom:16px;min-height:52px;padding:9px 15px}.akv-powered-unified-label{font-size:12px}.akv-powered-unified .akv-powered-megi-logo,.akv-powered-unified .akv-megi-logo{height:28px}}

/* Small shared utility layouts used by non-game screens. */
.akv-error-page{grid-template-columns:1fr;min-height:100vh;max-width:760px;margin:0 auto}
.akv-error-card{text-align:center}
.akv-admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}
.akv-admin-category{font-weight:700}
.akv-admin-col-topic{width:11rem}
.akv-admin-col-type{width:8rem}
.akv-admin-col-author{width:10rem}
.akv-admin-col-status{width:8rem;text-align:center}
.akv-admin-col-actions{width:13rem;text-align:center}

/* Global hover/focus contrast guard: labels must never disappear. */
body.cq-body .ui-button:not(.ui-state-disabled) .ui-button-text,
body.cq-body .ui-button:not(.ui-state-disabled):hover .ui-button-text,
body.cq-body .ui-button:not(.ui-state-disabled):focus .ui-button-text{color:inherit!important}
body.cq-body :where(.cq-primary,.akv-btn-primary,.cq-lobby-primary,.akv-question-submit-button,.akv-result-primary):hover,
body.cq-body :where(.cq-primary,.akv-btn-primary,.cq-lobby-primary,.akv-question-submit-button,.akv-result-primary):focus{color:#fff!important}
body.cq-body :where(.cq-secondary,.akv-btn-secondary,.cq-lobby-secondary,.cq-lobby-ghost,.akv-result-secondary):hover,
body.cq-body :where(.cq-secondary,.akv-btn-secondary,.cq-lobby-secondary,.cq-lobby-ghost,.akv-result-secondary):focus{color:#174b91!important}
body.cq-body a:hover,body.cq-body a:focus-visible{text-decoration-color:currentColor}
.akv-nav-actions .cq-secondary:hover,.akv-nav-actions .cq-secondary:focus{color:#173b79!important;background:#edf5ff!important;border-color:#cde3ff!important}
.akv-nav-actions .cq-primary:hover,.akv-nav-actions .cq-primary:focus{color:#fff!important;background:var(--akv-gradient)!important}
