/* Nikola Gregor — "Architectural Brutalism / Data Dense" terminal concept.
   No fake market data (arbitrage index, third-party odds, RTP, server ping,
   WebSocket status) — every field on this page is one of Nikola's real facts. */
*{box-sizing:border-box;}
html{background:var(--bg); min-height:100%;}
body{
  margin:0; min-height:100%; background:var(--bg); color:var(--text);
  font-family:'Inter', sans-serif; font-size:1rem; line-height:1.6;
  padding-top:32px; /* room for the fixed status bar */
}
:root{
  --bg:#050505; --grid:#222222; --green:#00FF00; --red:#FF3300; --text:#E0E0E0; --panel:#0C0C0C;
}
*{border-radius:0 !important;}
.wrap{max-width:1120px; margin:0 auto; padding:0 20px;}
h1,h2,h3{font-family:'IBM Plex Mono', monospace; font-weight:700; margin:0; color:#fff; text-transform:uppercase; letter-spacing:.01em;}
.kicker{font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; color:var(--green); margin:0 0 10px; font-weight:700;}
.display{font-size:clamp(1.6rem,3.6vw,2.3rem); line-height:1.2;}
.lede{font-size:1rem; color:var(--text); max-width:660px; opacity:.85;}
.lede.center{margin:0 auto;}
a{color:var(--green);}
.mono{font-family:'IBM Plex Mono',monospace;}

.btn{display:inline-block; padding:12px 24px; border:1px solid var(--text); font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; text-decoration:none; color:var(--text); background:var(--panel); transition:none;}
.btn:hover{background:var(--text); color:var(--bg);}
.btn-solid{background:var(--green); color:#000; border-color:var(--green);}
.btn-solid:hover{background:#000; color:var(--green);}

/* fixed status bar — real, honest fields only: local time + rank + role, no fake infra */
.status-bar{position:fixed; top:0; left:0; right:0; height:32px; background:#000; border-bottom:1px solid var(--grid); z-index:100; display:flex; align-items:center; justify-content:space-between; padding:0 16px; font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--green); overflow:hidden;}
.status-bar .seg{display:flex; align-items:center; gap:8px; white-space:nowrap;}
.status-bar .sep{color:var(--grid);}
.status-dot{width:6px; height:6px; background:var(--green); flex-shrink:0;}
@media (max-width:700px){ .status-bar .hide-sm{display:none;} }

/* nav */
.topnav{position:sticky; top:32px; z-index:50; background:#000; border-bottom:1px solid var(--grid);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; gap:16px;}
.nav-logo{font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.95rem; color:#fff; text-decoration:none; text-transform:uppercase;}
.nav-logo span{color:var(--green);}
.nav-links{display:flex; gap:0; align-items:center;}
.nav-links a{font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.68rem; text-transform:uppercase; letter-spacing:.03em; color:var(--text); text-decoration:none; padding:8px 14px; border-left:1px solid var(--grid);}
.nav-links a:hover, .nav-links a.active{background:var(--green); color:#000;}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{width:22px; height:2px; background:var(--green);}
@media (max-width:860px){
  .nav-toggle{display:flex;}
  .nav-links{position:absolute; top:100%; left:0; right:0; background:#000; border-bottom:1px solid var(--grid); flex-direction:column; align-items:stretch; max-height:0; overflow:hidden; transition:none;}
  .nav-links.open{max-height:320px;}
  .nav-links a{padding:12px 20px; border-left:none; border-bottom:1px solid var(--grid);}
}

/* scrolling identity ticker — real facts, not market data */
.ticker-band{background:var(--panel); border-bottom:1px solid var(--grid); overflow:hidden; white-space:nowrap; padding:8px 0;}
.ticker-track{display:inline-flex; gap:40px; animation:ticker 26s linear infinite; padding-left:100%;}
@keyframes ticker{from{transform:translateX(0);} to{transform:translateX(-100%);}}
@media (prefers-reduced-motion:reduce){ .ticker-track{animation:none; padding-left:20px;} }
.ticker-track span{font-family:'IBM Plex Mono',monospace; font-size:.74rem; color:var(--green); text-transform:uppercase; letter-spacing:.04em;}
.ticker-track span b{color:#fff;}

section{padding:0; border-bottom:1px solid var(--grid);}
.sec-inner{padding:36px 0;}
.section-head{margin-bottom:20px;}

/* terminal frame — mimics the ascii box mockup with real CSS borders */
.tframe{border:1px solid var(--grid);}
.tframe-head{background:var(--panel); border-bottom:1px solid var(--grid); padding:8px 14px; font-family:'IBM Plex Mono',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--green); display:flex; justify-content:space-between;}
.tgrid{display:grid; grid-template-columns:220px 1fr 190px;}
@media (max-width:900px){ .tgrid{grid-template-columns:220px 1fr;} .tgrid .photo-cell{grid-column:1/-1; border-left:none; border-top:1px solid var(--grid);} }
@media (max-width:760px){ .tgrid{grid-template-columns:1fr;} }
.tgrid > div{padding:18px;}
.tgrid > div:first-child{border-right:1px solid var(--grid);}
@media (max-width:760px){ .tgrid > div:first-child{border-right:none; border-bottom:1px solid var(--grid);} }
.tgrid .photo-cell{border-left:1px solid var(--grid); display:flex; align-items:center; justify-content:center; padding:0;}
.photo-cell img{width:100%; height:100%; min-height:180px; object-fit:cover; display:block; filter:grayscale(.25) contrast(1.05);}
.matrix-row{display:flex; gap:10px; padding:6px 0; font-family:'IBM Plex Mono',monospace; font-size:.76rem; border-bottom:1px solid var(--grid);}
.matrix-row:last-child{border-bottom:none;}
.matrix-row .n{color:var(--green);}

/* data table — real reviewed casinos, sortable via hotkeys N / S */
.data-table{width:100%; border-collapse:collapse; font-family:'IBM Plex Mono',monospace; font-size:.82rem;}
.data-table th{text-align:left; font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; color:var(--green); padding:8px 12px; border-bottom:1px solid var(--grid); font-weight:700;}
.data-table td{padding:10px 12px; border-bottom:1px solid var(--grid); color:var(--text);}
.data-table tbody tr{transition:none;}
.data-table tbody tr:hover{background:var(--text); color:var(--bg);}
.data-table tbody tr:hover td{color:var(--bg);}
.data-table .flash{animation:flashblock .3s steps(1) 2;}
@keyframes flashblock{50%{background:var(--green); color:#000;}}
.status-ok{color:var(--green);}
.hotkey-hint{font-family:'IBM Plex Mono',monospace; font-size:.66rem; color:var(--grid); margin-top:8px;}
.hotkey-hint kbd{border:1px solid var(--grid); padding:1px 5px; color:var(--text);}

/* credential rows */
.cred-row{display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-bottom:1px solid var(--grid);}
.cred-row:last-child{border-bottom:none;}
.cred-icon{width:28px; height:28px; flex-shrink:0; border:1px solid var(--red); color:var(--red); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:.8rem;}
.cred-text b{display:block; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.92rem; color:#fff; text-transform:none;}
.cred-text span{font-size:.88rem; color:var(--text); opacity:.8;}

/* quote block */
.quote-block{border:1px solid var(--green); padding:22px 24px; display:flex; gap:14px; align-items:flex-start;}
.quote-mark{font-family:'IBM Plex Mono',monospace; font-size:2rem; color:var(--green); line-height:1; flex-shrink:0;}
.quote-block blockquote{margin:0; font-size:1rem; color:#fff;}
.quote-attr{margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--green); text-transform:uppercase; letter-spacing:.03em;}

/* testimonials */
.testi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0; border:1px solid var(--grid); border-top:none;}
.testi-card{background:var(--panel); border-top:1px solid var(--grid); padding:18px; border-left:1px solid var(--grid);}
.testi-card:first-child{border-left:none;}
@media (max-width:600px){ .testi-card{border-left:none; border-top:1px solid var(--grid);} }
.testi-head{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.avatar-photo{width:38px; height:38px; object-fit:cover; flex-shrink:0; border:1px solid var(--grid); filter:grayscale(1) contrast(1.1);}
.testi-head b{display:block; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.86rem; color:#fff; text-transform:none;}
.testi-head span{font-size:.7rem; color:var(--text); opacity:.7; display:block;}
.tier-pill{font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.56rem; text-transform:uppercase; padding:2px 7px; border:1px solid; display:inline-block; margin-top:4px;}
.tier-pill.gold{color:#E8B33D; border-color:#E8B33D;}
.tier-pill.bronze{color:#C98A3C; border-color:#C98A3C;}
.testi-card p{margin:0; font-size:.84rem; color:var(--text); opacity:.85;}

/* board */
.board{border:1px solid var(--grid); border-top:none;}
.board-row{display:grid; grid-template-columns:110px 1fr; border-top:1px solid var(--grid);}
@media (max-width:600px){ .board-row{grid-template-columns:1fr;} }
.board-key{padding:14px; font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--green); text-transform:uppercase; border-right:1px solid var(--grid);}
@media (max-width:600px){ .board-key{border-right:none; border-bottom:1px solid var(--grid);} }
.board-row div:last-child{padding:14px;}
.board-row b{display:block; font-family:'IBM Plex Mono',monospace; font-size:.9rem; color:#fff; margin-bottom:4px; text-transform:none;}
.board-row p{margin:0; font-size:.84rem; color:var(--text); opacity:.8;}

/* career: log table */
.log-table{width:100%; border-collapse:collapse; font-family:'IBM Plex Mono',monospace; font-size:.82rem;}
.log-table th{text-align:left; font-size:.64rem; text-transform:uppercase; color:var(--green); border-bottom:1px solid var(--grid); padding:8px 10px;}
.log-table td{padding:12px 10px; border-bottom:1px solid var(--grid); vertical-align:top; font-size:.84rem;}
.log-table .role{color:#fff; font-weight:700;}
.log-table .org{color:var(--text); opacity:.75; font-size:.78rem;}

.cta-strip{color:var(--text); text-align:center; padding:44px 20px; background:var(--panel); border-bottom:1px solid var(--grid);}
.cta-strip h2{color:#fff;}
footer{padding:20px; text-align:center; font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--text); opacity:.6;}
footer .links a{color:var(--green); margin:0 10px; text-decoration:none;}

.contact-form{max-width:560px; display:flex; flex-direction:column; gap:14px;}
.form-row{display:flex; flex-direction:column; gap:6px;}
.form-row label{font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:.68rem; text-transform:uppercase; color:var(--green);}
.form-row input, .form-row textarea{font-family:'Inter',sans-serif; font-size:.95rem; padding:10px 12px; border:1px solid var(--grid); background:var(--panel); color:var(--text);}
.form-row input:focus, .form-row textarea:focus{outline:1px solid var(--green);}
.form-note{font-size:.8rem; color:var(--text); opacity:.7;}
.contact-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); border:1px solid var(--grid); margin-top:20px;}
.contact-card{background:var(--panel); padding:18px; border-left:1px solid var(--grid);}
.contact-card:first-child{border-left:none;}
@media (max-width:600px){ .contact-card{border-left:none; border-top:1px solid var(--grid);} .contact-card:first-child{border-top:none;} }

.page-hero{padding:36px 0; border-bottom:1px solid var(--grid); text-align:center;}
