body.theme-abbaye{
background:var(--bg);
color:var(--fg);
}

body.theme-abbaye::before{
background:radial-gradient(900px 500px at 15% -10%, rgba(30,144,255,.07), transparent 60%);
}

body.theme-abbaye .hdr{
background:rgba(0,0,0,.92);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
border-bottom:1px solid var(--border);
}

body.theme-abbaye .brand-name{
color:var(--accent);
font-weight:800;
text-transform:uppercase;
letter-spacing:.1em;
}

body.theme-abbaye .navlink{
text-transform:uppercase;
font-weight:700;
letter-spacing:.14em;
font-size:11px;
color:var(--fg-dim);
border:1px solid transparent;
}
body.theme-abbaye .navlink:hover{
background:var(--accent-soft);
color:var(--accent);
border-color:var(--accent);
}

body.theme-abbaye .rank-chip{
border:1px solid var(--border);
background:var(--bg-soft);
color:var(--fg);
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
font-size:11px;
box-shadow:2px 2px 0 var(--accent);
}

body.theme-abbaye .icon-btn{
border:1px solid var(--border);
background:var(--bg-soft);
color:var(--fg);
}

body.theme-abbaye .hero-title{
font-weight:800;
letter-spacing:-.02em;
text-transform:uppercase;
}

body.theme-abbaye .accent{
background:var(--accent);
-webkit-background-clip:initial;
background-clip:initial;
color:var(--bg);
padding:0 .12em;
}

body.theme-abbaye .mode-card{
border:1px solid var(--border);
background:var(--bg-card);
box-shadow:4px 4px 0 var(--accent);
transition:transform .15s ease,box-shadow .15s ease;
}
body.theme-abbaye .mode-card:hover{
transform:translate(-2px,-2px);
box-shadow:6px 6px 0 var(--accent);
border-color:var(--accent);
}
body.theme-abbaye .mode-card::after{display:none}
body.theme-abbaye .mode-card h3{
text-transform:uppercase;
letter-spacing:.02em;
font-weight:800;
}
body.theme-abbaye .mode-icon{
filter:drop-shadow(0 0 4px rgba(30,144,255,.3));
}

body.theme-abbaye .stat-box{
border:1px solid var(--border);
background:var(--bg-soft);
box-shadow:3px 3px 0 var(--accent);
}
body.theme-abbaye .lbl{
font-weight:700;
letter-spacing:.14em;
color:var(--fg-faint);
}

body.theme-abbaye .primary-btn{
background:var(--accent);
color:var(--bg);
font-weight:800;
text-transform:uppercase;
letter-spacing:.08em;
border:1px solid var(--accent);
box-shadow:3px 3px 0 var(--accent-2);
}
body.theme-abbaye .primary-btn:hover:not(:disabled){
transform:translate(-2px,-2px);
box-shadow:5px 5px 0 var(--accent-2);
filter:none;
}

body.theme-abbaye .ghost-btn{
border:1px solid var(--border);
color:var(--fg-dim);
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
font-size:11px;
background:transparent;
}
body.theme-abbaye .ghost-btn:hover{
color:var(--accent);
border-color:var(--accent);
background:var(--accent-soft);
}

body.theme-abbaye .game-stage{
background:#000000;
border:1px solid var(--accent);
box-shadow:0 0 32px rgba(30,144,255,.1),inset 0 0 60px rgba(30,144,255,.03);
}
body.theme-abbaye .game-stage::before{
background:linear-gradient(180deg,transparent 0%,rgba(30,144,255,.04) 50%,transparent 100%);
}
body.theme-abbaye .game-stage::after{
background:radial-gradient(circle at center,transparent 50%,rgba(0,0,0,.75) 100%);
}

body.theme-abbaye .stats-strip .stat{
border:1px solid var(--border);
background:var(--bg-soft);
}

body.theme-abbaye .game-mode-tag{
border:1px solid var(--accent);
background:var(--accent-soft);
color:var(--accent);
font-weight:800;
text-transform:uppercase;
letter-spacing:.12em;
font-size:11px;
}

body.theme-abbaye .progress-rail{
border:1px solid var(--border);
background:var(--bg-soft);
height:8px;
border-radius:0;
}
body.theme-abbaye .progress-fill{
background:var(--accent);
border-radius:0;
box-shadow:0 0 12px rgba(30,144,255,.4);
}
body.theme-abbaye .progress-text{
font-weight:700;
color:var(--fg-dim);
}

body.theme-abbaye .result-card{
border:1px solid var(--accent);
box-shadow:0 0 40px rgba(30,144,255,.1);
background:var(--bg-card);
}
body.theme-abbaye .result-rank{
border:1px solid var(--accent);
background:var(--accent-soft);
color:var(--accent);
font-weight:800;
}
body.theme-abbaye .result-mode{
border:1px solid var(--border);
background:var(--bg-soft);
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
font-size:11px;
}
body.theme-abbaye .result-pb{
background:var(--accent-2);
color:#ffffff;
border:1px solid var(--accent-2);
box-shadow:3px 3px 0 var(--accent);
}

body.theme-abbaye .game-overlay{
background:rgba(0,0,0,.88);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
}
body.theme-abbaye .overlay-card{
border:1px solid var(--accent);
box-shadow:0 0 40px rgba(30,144,255,.15);
background:var(--bg-card);
}
body.theme-abbaye .overlay-card h2{
text-transform:uppercase;
font-weight:800;
}

body.theme-abbaye .toast{
border:1px solid var(--border);
box-shadow:0 0 24px rgba(30,144,255,.1);
font-weight:600;
background:var(--bg-elev);
color:var(--fg);
}

body.theme-abbaye .board-wrap{
border:1px solid var(--border);
background:var(--bg-card);
}
body.theme-abbaye .board th{
background:var(--bg-soft);
color:var(--accent);
text-transform:uppercase;
letter-spacing:.14em;
font-weight:800;
border-bottom:1px solid var(--accent);
}
body.theme-abbaye .board td{
border-bottom:1px solid var(--border-soft);
color:var(--fg);
font-weight:600;
}
body.theme-abbaye .tab{
font-weight:700;
text-transform:uppercase;
letter-spacing:.08em;
font-size:12px;
color:var(--fg-dim);
}
body.theme-abbaye .tab.is-active{
color:var(--accent);
border-bottom-color:var(--accent);
}

body.theme-abbaye .lobby-card{
border:1px solid var(--border);
background:var(--bg-card);
}
body.theme-abbaye .lobby-card h3{
text-transform:uppercase;
font-weight:800;
}
body.theme-abbaye .field span{
font-weight:700;
text-transform:uppercase;
letter-spacing:.1em;
font-size:11px;
color:var(--fg-faint);
}
body.theme-abbaye .field input,
body.theme-abbaye .field select{
border:1px solid var(--border);
font-weight:600;
background:var(--bg-soft);
color:var(--fg);
}
body.theme-abbaye .field input:focus,
body.theme-abbaye .field select:focus{
border-color:var(--accent);
background:var(--bg-elev);
box-shadow:0 0 12px rgba(30,144,255,.15);
}

body.theme-abbaye .room-panel{
border:1px solid var(--border);
background:var(--bg-card);
}
body.theme-abbaye .player-list li{
background:var(--bg-soft);
color:var(--fg);
border:1px solid var(--border);
}

body.theme-abbaye .screen-title{
text-transform:uppercase;
font-weight:800;
letter-spacing:-.02em;
}
body.theme-abbaye .screen-sub{
color:var(--fg-dim);
}

body.theme-abbaye #cursorDot{
background:var(--accent);
box-shadow:0 0 16px rgba(30,144,255,.8),0 0 32px rgba(30,144,255,.4);
mix-blend-mode:screen;
}
body.theme-abbaye #cursorDot.hover{
background:var(--accent-2);
box-shadow:0 0 24px rgba(196,30,58,.8);
}

body.theme-abbaye .type-text .ch{
color:rgba(255,255,255,.2);
text-shadow:0 1px 2px rgba(0,0,0,.8);
}
body.theme-abbaye .type-text .ch.ok{
color:#ffffff;
text-shadow:0 0 8px rgba(30,144,255,.5);
}
body.theme-abbaye .type-text .ch.bad{
color:#c41e3a;
background:rgba(196,30,58,.4);
border-radius:2px;
  }
