Merge branch 'Dev' into merge-duckie-main-2026-05-06

This commit is contained in:
DuckieTM
2026-05-25 18:51:48 +02:00
committed by GitHub
340 changed files with 18499 additions and 7335 deletions
+126 -1
View File
@@ -1594,4 +1594,129 @@
&.overlay-8 {
background-image: url('@/assets/images/backgrounds/overlay/overlay_8.png');
}
}
}
/* Infostand-only colored border. A thin CSS-drawn rounded ring drawn 5px
outside the card on each side. Pure CSS — no artwork files. */
.infostand-border {
position: absolute;
top: -5px;
bottom: -5px;
left: -5px;
right: -5px;
pointer-events: none;
z-index: 5;
border-width: 5px;
border-style: solid;
border-radius: 10px;
box-sizing: content-box;
}
.infostand-border.border-1 { border-color: #ef4444; } /* Red */
.infostand-border.border-2 { border-color: #f97316; } /* Orange */
.infostand-border.border-3 { border-color: #eab308; } /* Yellow */
.infostand-border.border-4 { border-color: #84cc16; } /* Lime */
.infostand-border.border-5 { border-color: #22c55e; } /* Green */
.infostand-border.border-6 { border-color: #14b8a6; } /* Teal */
.infostand-border.border-7 { border-color: #06b6d4; } /* Cyan */
.infostand-border.border-8 { border-color: #3b82f6; } /* Blue */
.infostand-border.border-9 { border-color: #6366f1; } /* Indigo */
.infostand-border.border-10 { border-color: #a855f7; } /* Purple */
.infostand-border.border-11 { border-color: #ec4899; } /* Pink */
.infostand-border.border-12 { border-color: #f43f5e; } /* Rose */
.infostand-border.border-13 { border-color: #92400e; } /* Brown */
.infostand-border.border-14 { border-color: #d4a020; } /* Gold */
.infostand-border.border-15 { border-color: #cbd5e1; } /* Silver */
.infostand-border.border-16 { border-color: #1f2937; } /* Black */
/* Image-based borders (17-25). These override the colour-border insets and
strip the CSS border so the artwork sits ~22px outside the card and
stretches to fill the frame area. */
.infostand-border.border-17,
.infostand-border.border-18,
.infostand-border.border-19,
.infostand-border.border-20,
.infostand-border.border-21,
.infostand-border.border-22,
.infostand-border.border-23,
.infostand-border.border-24,
.infostand-border.border-25 {
top: -22px;
bottom: -22px;
left: -22px;
right: -22px;
border: none;
border-radius: 0;
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
}
.infostand-border.border-17 { background-image: url('@/assets/images/backgrounds/borders/border_17.webp'); }
.infostand-border.border-18 { background-image: url('@/assets/images/backgrounds/borders/border_18.webp'); }
.infostand-border.border-19 { background-image: url('@/assets/images/backgrounds/borders/border_19.webp'); }
.infostand-border.border-20 { background-image: url('@/assets/images/backgrounds/borders/border_20.webp'); }
.infostand-border.border-21 { background-image: url('@/assets/images/backgrounds/borders/border_21.webp'); }
.infostand-border.border-22 { background-image: url('@/assets/images/backgrounds/borders/border_22.webp'); }
.infostand-border.border-23 { background-image: url('@/assets/images/backgrounds/borders/border_23.webp'); }
.infostand-border.border-24 { background-image: url('@/assets/images/backgrounds/borders/border_24.webp'); }
.infostand-border.border-25 { background-image: url('@/assets/images/backgrounds/borders/border_25.webp'); }
/* Picker thumbnails inside the BackgroundsView "Borders" tab.
Each thumbnail is a small rounded box outlined in its border colour. */
.profile-border {
width: 60px;
height: 76px;
border-width: 4px;
border-style: solid;
border-radius: 8px;
box-sizing: border-box;
background: rgba(255, 255, 255, 0.05);
}
/* border-0 = no border (default) — show as a dashed translucent outline */
.profile-border.border-0 { border: 2px dashed rgba(255, 255, 255, 0.25); }
.profile-border.border-1 { border-color: #ef4444; }
.profile-border.border-2 { border-color: #f97316; }
.profile-border.border-3 { border-color: #eab308; }
.profile-border.border-4 { border-color: #84cc16; }
.profile-border.border-5 { border-color: #22c55e; }
.profile-border.border-6 { border-color: #14b8a6; }
.profile-border.border-7 { border-color: #06b6d4; }
.profile-border.border-8 { border-color: #3b82f6; }
.profile-border.border-9 { border-color: #6366f1; }
.profile-border.border-10 { border-color: #a855f7; }
.profile-border.border-11 { border-color: #ec4899; }
.profile-border.border-12 { border-color: #f43f5e; }
.profile-border.border-13 { border-color: #92400e; }
.profile-border.border-14 { border-color: #d4a020; }
.profile-border.border-15 { border-color: #cbd5e1; }
.profile-border.border-16 { border-color: #1f2937; }
/* Image-border picker thumbnails — drop the CSS frame and show the artwork. */
.profile-border.border-17,
.profile-border.border-18,
.profile-border.border-19,
.profile-border.border-20,
.profile-border.border-21,
.profile-border.border-22,
.profile-border.border-23,
.profile-border.border-24,
.profile-border.border-25 {
border: none;
background: transparent;
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
.profile-border.border-17 { background-image: url('@/assets/images/backgrounds/borders/border_17.webp'); }
.profile-border.border-18 { background-image: url('@/assets/images/backgrounds/borders/border_18.webp'); }
.profile-border.border-19 { background-image: url('@/assets/images/backgrounds/borders/border_19.webp'); }
.profile-border.border-20 { background-image: url('@/assets/images/backgrounds/borders/border_20.webp'); }
.profile-border.border-21 { background-image: url('@/assets/images/backgrounds/borders/border_21.webp'); }
.profile-border.border-22 { background-image: url('@/assets/images/backgrounds/borders/border_22.webp'); }
.profile-border.border-23 { background-image: url('@/assets/images/backgrounds/borders/border_23.webp'); }
.profile-border.border-24 { background-image: url('@/assets/images/backgrounds/borders/border_24.webp'); }
.profile-border.border-25 { background-image: url('@/assets/images/backgrounds/borders/border_25.webp'); }
+85
View File
@@ -0,0 +1,85 @@
.nitro-catalog-layout-vip-buy-grid .nitro-vip-buy-offer {
position: relative;
display: flex;
flex-direction: column;
align-items: stretch;
gap: 6px;
padding: 8px 10px;
border-radius: 6px;
border: 2px solid #b48a18;
background: #fffbe7;
color: #2c2a25;
cursor: pointer;
transition: background-color 100ms ease-out, border-color 100ms ease-out, box-shadow 100ms ease-out;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.nitro-catalog-layout-vip-buy-grid .nitro-vip-buy-offer:hover {
background: #fff5c4;
border-color: #9c7610;
}
.nitro-catalog-layout-vip-buy-grid .nitro-vip-buy-offer.active {
background: #ffe066;
border-color: #7a5500;
box-shadow: inset 0 0 0 1px #ffd92e, 0 2px 4px rgba(0, 0, 0, 0.12);
}
.nitro-vip-buy-offer .vip-offer-header {
display: flex;
align-items: center;
gap: 8px;
padding-bottom: 6px;
border-bottom: 1px dashed #b48a18;
}
.nitro-vip-buy-offer .vip-offer-banner {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
width: 34px;
height: 20px;
}
.nitro-vip-buy-offer .vip-offer-banner .nitro-icon.icon-hc-banner,
.nitro-vip-buy-offer .vip-offer-banner i.icon-hc-banner {
background-size: contain !important;
background-repeat: no-repeat !important;
background-position: center !important;
width: 34px !important;
height: 20px !important;
}
.nitro-vip-buy-offer .vip-offer-title {
font-weight: 700;
color: #2c2a25;
line-height: 1.1;
font-size: 1.05rem;
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.nitro-vip-buy-offer .vip-offer-prices {
display: flex;
flex-direction: column;
gap: 4px;
}
.nitro-vip-buy-offer .vip-offer-price {
display: flex;
align-items: center;
gap: 6px;
color: #4a473e;
font-weight: 700;
font-size: 0.95rem;
line-height: 1.1;
white-space: nowrap;
}
.nitro-vip-buy-offer .vip-offer-price .nitro-currency-icon {
flex: 0 0 auto;
}
+96
View File
@@ -1174,3 +1174,99 @@
animation-duration: 0.4s !important;
}
}
/* ─── Register dialog · room template step ─── */
.nitro-login-modal .dialog.dialog-room {
width: 400px;
}
.nitro-login-card .room-templates-list {
display: flex;
flex-direction: column;
gap: 6px;
max-height: 280px;
overflow-y: auto;
overflow-x: hidden;
padding-right: 4px;
margin-top: 2px;
scrollbar-width: thin;
}
.nitro-login-card .room-template-option {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 10px;
background: linear-gradient(180deg, #f4f9fc 0%, #dbe9f1 100%);
border: 1px solid #a4c0d2;
border-radius: 6px;
cursor: pointer;
transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
color: #0a2e45;
user-select: none;
position: relative;
}
.nitro-login-card .room-template-option:hover {
border-color: #4a8ec0;
box-shadow: 0 0 0 1px rgba(74, 142, 192, 0.45);
}
.nitro-login-card .room-template-option.selected {
border-color: #2a78b8;
background: linear-gradient(180deg, #eaf4fb 0%, #c5dcec 100%);
box-shadow: 0 0 0 2px rgba(42, 120, 184, 0.55), 0 1px 2px rgba(0, 0, 0, 0.08);
}
.nitro-login-card .room-template-option input[type="radio"] {
flex-shrink: 0;
margin: 0;
accent-color: #2a78b8;
cursor: pointer;
}
.nitro-login-card .room-template-thumb {
width: 64px;
height: 48px;
object-fit: cover;
border-radius: 4px;
border: 1px solid #a4c0d2;
background: #fff;
flex-shrink: 0;
image-rendering: pixelated;
}
.nitro-login-card .room-template-body {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
flex: 1;
}
.nitro-login-card .room-template-title {
font-size: 12px;
font-weight: 700;
color: #0a2e45;
line-height: 1.2;
text-transform: capitalize;
}
.nitro-login-card .room-template-description {
font-size: 11px;
line-height: 1.35;
color: #486175;
word-break: break-word;
}
/* The "Skip" option sits at the top with a softer dashed border so it
visually distinguishes itself from the actual templates. */
.nitro-login-card .room-template-option.room-template-skip {
background: linear-gradient(180deg, #fbfcfd 0%, #e7eef4 100%);
border-style: dashed;
}
.nitro-login-card .room-template-option.room-template-skip.selected {
border-style: solid;
}