mainmenu.razor.scss
MainMenu {
position: absolute;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: hidden;
pointer-events: none;
color: #f4f6fb;
font-family: sans-serif;
.bg-layer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
pointer-events: none;
z-index: 0;
.bg-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("photo/mainmenu.jpg");
background-size: cover;
background-position: center;
filter: brightness(0.52);
}
.bg-gradient-vignette {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(110deg, rgba(5, 9, 18, 0.86), rgba(8, 16, 30, 0.52) 52%, rgba(5, 9, 18, 0.82));
}
.bg-cyber-grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
background-size: 56px 56px;
opacity: 0.45;
}
.ambient-glow {
position: absolute;
width: 360px;
height: 360px;
border-radius: 180px;
opacity: 0.16;
}
.glow-1 {
top: -150px;
left: 12%;
background-color: #ffaa00;
}
.glow-2 {
right: 8%;
bottom: -180px;
background-color: #00c8ff;
}
}
.header-bar {
position: relative;
z-index: 1;
width: 100%;
padding: 22px 5%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
background-color: rgba(7, 11, 19, 0.72);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
pointer-events: all;
.brand-group {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
}
.logo-box {
display: flex;
flex-direction: column;
gap: 4px;
}
.logo-title {
font-size: 26px;
font-weight: 900;
letter-spacing: 2px;
color: #ffffff;
}
.logo-tag {
font-size: 11px;
letter-spacing: 2px;
color: #9ba8bc;
}
.status-pill {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 7px 12px;
border-radius: 16px;
background-color: rgba(255, 255, 255, 0.06);
}
.status-dot {
width: 7px;
height: 7px;
border-radius: 4px;
background-color: #63df9a;
box-shadow: 0 0 8px rgba(99, 223, 154, 0.8);
}
.status-text {
font-size: 10px;
letter-spacing: 1px;
color: #c4d0de;
}
.user-stats-pill {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 6px 16px;
border-radius: 16px;
background-color: rgba(15, 23, 42, 0.75);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.12);
.stat-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 11px;
font-weight: 700;
.stat-icon { font-size: 13px; }
.stat-label { color: #94a3b8; font-size: 10px; letter-spacing: 1px; }
.stat-val { color: #fbbf24; font-size: 13px; font-weight: 800; text-shadow: 0 0 8px rgba(251, 191, 36, 0.5); }
}
.stat-divider {
color: rgba(255, 255, 255, 0.15);
font-size: 11px;
}
}
.header-nav {
display: flex;
flex-direction: row;
gap: 10px;
}
.nav-btn {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 10px 14px;
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.12);
background-color: rgba(255, 255, 255, 0.06);
color: #e6ebf2;
cursor: pointer;
}
.nav-btn:hover {
background-color: rgba(255, 255, 255, 0.13);
border-color: rgba(255, 255, 255, 0.28);
color: #ffffff;
}
.btn-icon {
font-size: 16px;
}
.btn-label {
font-size: 12px;
font-weight: 700;
}
.exit-btn:hover {
border-color: rgba(255, 84, 112, 0.7);
color: #ff7188;
}
}
.content-container {
position: relative;
z-index: 1;
width: 100%;
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 30px 5%;
pointer-events: none;
}
.modes-container {
width: 100%;
max-width: 1120px;
display: flex;
flex-direction: column;
gap: 30px;
pointer-events: none;
}
.section-header {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
}
.header-titles {
display: flex;
flex-direction: column;
gap: 6px;
}
.section-kicker {
color: #ffaa00;
font-size: 11px;
font-weight: 800;
letter-spacing: 3px;
}
.section-title {
color: #ffffff;
font-size: 38px;
font-weight: 900;
letter-spacing: 1px;
}
.section-sub {
color: #aab5c6;
font-size: 14px;
}
.mode-count {
color: #8996aa;
font-size: 11px;
letter-spacing: 1px;
padding-bottom: 5px;
}
.cards-grid {
display: flex;
flex-direction: row;
justify-content: center;
align-items: stretch;
gap: 28px;
pointer-events: all;
}
.mode-card {
position: relative;
width: 450px;
min-height: 420px;
padding: 28px;
display: flex;
flex-direction: column;
justify-content: space-between;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.16);
background-color: rgba(12, 18, 29, 0.9);
backdrop-filter: blur(12px);
box-shadow: 0 24px 55px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.12);
cursor: pointer;
pointer-events: all;
}
.mode-card:hover {
transform: translateY(-6px);
background-color: rgba(20, 28, 44, 0.98);
box-shadow: 0 28px 60px rgba(0, 0, 0, 0.65);
}
.mode-card.sumo {
border-color: rgba(245, 158, 11, 0.28);
&:hover {
border-color: #f59e0b;
box-shadow: 0 24px 50px rgba(0, 0, 0, 0.6), 0 0 24px rgba(245, 158, 11, 0.25);
}
}
.mode-card.nextbot {
border-color: rgba(239, 68, 68, 0.28);
&:hover {
border-color: #ef4444;
box-shadow: 0 24px 50px rgba(0, 0, 0, 0.6), 0 0 24px rgba(239, 68, 68, 0.25);
}
}
.card-glow-layer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 22px;
background: linear-gradient(145deg, rgba(255, 255, 255, 0.05), transparent 50%);
pointer-events: none;
}
.card-top-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.card-badge {
padding: 6px 14px;
border-radius: 999px;
background-color: rgba(245, 158, 11, 0.18);
border: 1px solid rgba(245, 158, 11, 0.5);
color: #fbbf24;
font-size: 10px;
font-weight: 800;
letter-spacing: 1.5px;
}
.nextbot .card-badge {
background-color: rgba(239, 68, 68, 0.18);
border-color: rgba(239, 68, 68, 0.5);
color: #f87171;
}
.card-subcat {
color: #94a3b8;
font-size: 11px;
font-weight: 700;
letter-spacing: 1.5px;
}
.card-hero {
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 16px 0;
}
.icon-orb {
width: 136px;
height: 136px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 68px;
border: 1px solid rgba(255, 255, 255, 0.14);
background-color: rgba(255, 255, 255, 0.045);
}
.sumo .icon-orb {
border-color: rgba(245, 158, 11, 0.3);
box-shadow: 0 0 45px rgba(245, 158, 11, 0.18), inset 0 0 20px rgba(245, 158, 11, 0.08);
}
.nextbot .icon-orb {
border-color: rgba(239, 68, 68, 0.3);
box-shadow: 0 0 45px rgba(239, 68, 68, 0.18), inset 0 0 20px rgba(239, 68, 68, 0.08);
}
.card-emoji {
font-size: 64px;
}
.card-info {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
}
.card-title {
color: #ffffff;
font-size: 24px;
font-weight: 900;
letter-spacing: 1.5px;
}
.card-desc {
color: #94a3b8;
font-size: 13px;
line-height: 1.45;
min-height: 38px;
}
.card-chips {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
margin-top: 4px;
.chip-item {
padding: 4px 10px;
border-radius: 999px;
font-size: 10px;
font-weight: 700;
letter-spacing: 0.5px;
background-color: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.1);
color: #cbd5e1;
}
}
.sumo .card-chips .chip-item {
border-color: rgba(245, 158, 11, 0.3);
background-color: rgba(245, 158, 11, 0.1);
color: #fde68a;
}
.nextbot .card-chips .chip-item {
border-color: rgba(239, 68, 68, 0.3);
background-color: rgba(239, 68, 68, 0.1);
color: #fca5a5;
}
.card-action-bar {
display: flex;
width: 100%;
}
.card-play-btn {
width: 100%;
padding: 14px 20px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.18);
background-color: rgba(255, 255, 255, 0.08);
color: #ffffff;
font-size: 13px;
font-weight: 800;
letter-spacing: 1.5px;
cursor: pointer;
}
.sumo .card-play-btn {
background-color: rgba(245, 158, 11, 0.2);
border-color: rgba(245, 158, 11, 0.6);
color: #fef3c7;
&:hover {
background-color: #f59e0b;
color: #0f172a;
box-shadow: 0 0 20px rgba(245, 158, 11, 0.5);
}
}
.nextbot .card-play-btn {
background-color: rgba(239, 68, 68, 0.2);
border-color: rgba(239, 68, 68, 0.6);
color: #fee2e2;
&:hover {
background-color: #ef4444;
color: #ffffff;
box-shadow: 0 0 20px rgba(239, 68, 68, 0.5);
}
}
.play-arrow {
font-size: 13px;
}
.footer-bar {
position: relative;
z-index: 1;
width: 100%;
padding: 14px 5%;
display: flex;
flex-direction: row;
justify-content: space-between;
background-color: rgba(7, 11, 19, 0.72);
border-top: 1px solid rgba(255, 255, 255, 0.08);
color: #8592a6;
font-size: 10px;
letter-spacing: 1px;
pointer-events: none;
}
.footer-copy span {
color: #ffaa00;
}
.modal-backdrop {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(3, 6, 12, 0.88);
pointer-events: all;
z-index: 10;
}
.modal-box {
width: 480px;
padding: 26px;
display: flex;
flex-direction: column;
gap: 20px;
border-radius: 18px;
border: 1px solid rgba(255, 255, 255, 0.15);
background-color: #121a28;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
}
.modal-header {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.modal-title-wrap {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
}
.modal-title {
color: #ffffff;
font-size: 21px;
font-weight: 800;
}
.modal-close-icon {
color: #aab5c6;
background-color: transparent;
border: none;
font-size: 20px;
cursor: pointer;
}
.modal-content {
display: flex;
flex-direction: column;
gap: 16px;
}
.modal-group {
display: flex;
flex-direction: column;
gap: 9px;
}
.group-header {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.group-label {
color: #d5dce7;
font-size: 13px;
}
.volume-readout {
color: #ffaa00;
font-size: 13px;
}
.volume-selector,
.lang-selector {
display: flex;
flex-direction: row;
gap: 8px;
}
.vol-preset,
.lang-choice {
flex-grow: 1;
padding: 9px;
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.14);
background-color: rgba(255, 255, 255, 0.06);
color: #e9edf4;
cursor: pointer;
}
.vol-preset:hover,
.lang-choice:hover {
background-color: rgba(255, 255, 255, 0.14);
}
.vol-preset.active {
background-color: #ffaa00;
border-color: #ffaa00;
color: #10141b;
}
.lang-choice.active {
background-color: #00c8ff;
border-color: #00c8ff;
color: #10141b;
}
.controls-box {
padding: 13px;
border-radius: 10px;
background-color: rgba(0, 0, 0, 0.25);
}
.controls-header {
color: #ffaa00;
font-size: 11px;
letter-spacing: 1px;
}
.controls-list {
display: flex;
flex-direction: column;
gap: 7px;
}
.ctrl-item {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.ctrl-key {
color: #00c8ff;
font-size: 12px;
}
.ctrl-desc {
color: #aab5c6;
font-size: 12px;
}
.modal-actions {
display: flex;
justify-content: flex-end;
}
.btn-primary-close {
padding: 11px 24px;
border-radius: 8px;
border: none;
background-color: #ffaa00;
color: #10141b;
font-weight: 800;
cursor: pointer;
}
.btn-primary-close:hover {
background-color: #ffc34d;
}
}