:root { --kq-gold: #e7bd68; --kq-muted: #b9b3a5; }
.kq-locked > :not(.kq-gate):not(.kq-restore) { display: none !important; }
.kq-restore { margin: 20px 0; color: #c8c7b9; }
.kq-restore summary { cursor: pointer; color: #9cd6a7; }
.kq-restore input { width:100%; margin: 10px 0; }
.kq-gate, .kq-account, .kq-dialog, .kq-tracker { color: #f4eddf; font-family: Asul, Georgia, serif; line-height: 1.55; }
.kq-gate { border: 1px solid #675334; background: #161812; border-radius: 8px; overflow: hidden; margin-bottom: 18px; }
.kq-portrait { height: 235px; position: relative; overflow: hidden; }
.kq-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.kq-portrait::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#161812,transparent 48%); pointer-events:none; }
.kq-portrait .kq-star { position:absolute; left:20px; top:14px; z-index:1; }
.kq-gate-copy { padding: 0 22px 23px; }
.kq-eyebrow { font: 11px/1.5 system-ui,sans-serif; letter-spacing: .17em; color: var(--kq-gold); margin: 0 0 10px; }
.kq-gate h2, .kq-account h2 { margin: 0 0 10px; font-size: 26px; line-height: 1.2; }
.kq-gate p:not(.kq-eyebrow), .kq-account p { font-size: 14px; color: var(--kq-muted); }
.kq-gate button, .kq-account button, .kq-dialog button, .kq-tracker button { font: inherit; cursor: pointer; border: 1px solid #66583d; border-radius: 5px; padding: 9px 14px; background: #25271e; color: #f4eddf; }
button.kq-primary { background: #e3bd76; border-color: #e3bd76; color: #211c12; font-weight: bold; }
button.kq-link { background: transparent; border: 0; color: #d9c79f; text-decoration: underline; padding: 8px 0; }
.kq-gate .kq-primary, .kq-gate .kq-link { display: block; width: 100%; }
.kq-dialog { padding: 0; width: min(760px,calc(100vw - 28px)); max-height: calc(100dvh - 28px); border: 1px solid #917342; border-radius: 10px; background: #171b17; box-shadow: 0 24px 100px #000b; }
.kq-dialog::backdrop { background: #080b09bc; backdrop-filter: blur(5px); }
.kq-layout { display: grid; grid-template-columns: 260px 1fr; min-height: 450px; }
.kq-art { background: linear-gradient(0deg,#111a16de,transparent 50%), url('../img/brutus.png') center / cover; display: flex; align-items: end; padding: 26px; }
.kq-art p { color: #edddba; font-size: 15px; }
.kq-content { padding: 36px 30px 27px; min-width: 0; }
.kq-content h2 { font-size: 31px; line-height: 1.17; margin: 12px 0 18px; }
.kq-content p { font-size: 14px; color: #c8c7b9; }
.kq-content .kq-eyebrow { color: var(--kq-gold); font-size: 10px; }
.kq-close { position: absolute; right: 9px; top: 9px; padding: 2px 9px !important; background: transparent !important; border: 0 !important; font-size: 22px !important; }
.kq-rewards { display: flex; gap: 9px; margin: 21px 0; flex-wrap: wrap; }
.kq-rewards span { border: 1px solid #494b36; border-radius: 4px; padding: 5px 9px; font-size: 12px; color: #cfcea8; }
.kq-actions { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 18px; align-items: center; }
.kq-content input, .kq-content textarea, .kq-account input { width: 100%; box-sizing: border-box; background: #0d110f; border: 1px solid #797455; border-radius: 4px; color: #f2eddd; padding: 11px; margin: 8px 0; font-size: 14px; }
.kq-content textarea { resize: vertical; min-height: 98px; font-family: monospace; overflow-wrap: anywhere; }
.kq-content label { display: block; font-size: 13px; margin-top: 14px; }
.kq-error { color: #ffc5a7 !important; min-height: 1.4em; margin-bottom: 0; }
.kq-account details { margin: 23px 0; border-top: 1px solid #484633; padding-top: 17px; }
.kq-account summary { cursor: pointer; color: #e2c994; }
.kq-public { display: block; overflow-wrap: anywhere; padding: 12px 0; }
.kq-name-form { margin-top: 25px; }
.kq-tracker { position: fixed; z-index: 9990; bottom: 22px; right: 24px; width: min(355px,calc(100vw - 28px)); padding: 19px 22px; border: 1px solid #a18347; border-radius: 8px; background: #141c16f5; box-shadow: 0 12px 40px #0009; }
.kq-tracker p { margin: 5px 0 10px; font-size: 13px; color: #cdcbbd; }
.kq-tracker strong { color: #f1ce84; font-size: 17px; }
.kq-tracker .kq-close { font-size: 18px !important; }
.kq-target { outline:2px solid #79d98d !important; outline-offset:4px; box-shadow:0 0 20px #65db8255 !important; }
.kq-beacon, .kq-star { width:34px; height:34px; display:block; font-size:0; background:#7ce49a; clip-path:polygon(50% 0%,60% 26%,85% 15%,74% 40%,100% 50%,74% 60%,85% 85%,60% 74%,50% 100%,40% 74%,15% 85%,26% 60%,0% 50%,26% 40%,15% 15%,40% 26%); animation:kq-star-turn 18s linear infinite; }
.kq-beacon { position:fixed; z-index:9991; pointer-events:none; }
.kq-check { color:#12632f; font-size:1.2em; margin-right:5px; }
@keyframes kq-star-turn { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .kq-star, .kq-beacon { animation:none; } }
.kq-dialog :focus-visible, .kq-gate :focus-visible, .kq-account :focus-visible, .kq-tracker :focus-visible { outline: 2px solid #ffe19c; outline-offset: 3px; }
.kq-content button:disabled { opacity: .5; cursor: wait; }
@media (max-width: 600px) {
 .kq-layout { grid-template-columns: 1fr; }
 .kq-art { display: none; }
 .kq-content { padding: 36px 23px 24px; }
 .kq-content h2 { font-size: 28px; }
 .kq-tracker { bottom: 12px; right: 14px; padding: 15px 19px; }
 .kq-portrait { height: 200px; }
}
