/*
 * DreamCraft theme - visual rework layer
 * Derived from AuroraV2 (MIT, Copyright (c) 2025 DevNexLabs). See LICENSE.
 * Loaded after aurora.css and extra.css, so it overrides them.
 */
:root {
  --dc-accent: #2F9BFF;
  --dc-accent-2: #2DD4BF;
  --dc-radius: 14px;
  --dc-radius-sm: 9px;
  --dc-shadow: 0 1px 2px rgba(16,24,40,.06), 0 8px 24px rgba(16,24,40,.07);
  --dc-shadow-hover: 0 2px 4px rgba(16,24,40,.08), 0 14px 34px rgba(16,24,40,.12);
  --dc-ease: .2s cubic-bezier(.4,0,.2,1);
}

html, body, .ui, .ui.input input, .ui.form input, .ui.form textarea, .ui.dropdown {
  font-family: Inter, "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
body { -webkit-font-smoothing: antialiased; line-height: 1.55; }
h1.ui.header, h2.ui.header, h3.ui.header, .ui.header { font-weight: 700; letter-spacing: -.01em; }
a { transition: color var(--dc-ease); }

/* Page background */
body:not(.dark), body:not(.dark)>.pusher { background: linear-gradient(180deg, #EAF4FF 0, var(--bg-primary) 340px) fixed; }
body.dark, body.dark>.pusher { background: radial-gradient(1200px 500px at 50% -10%, rgba(47,155,255,.18), transparent 60%), var(--bg-primary-dark); }

#wrapper>.ui.container { margin-top: 2.2rem; }

/* Navbar */
.ui.secondary.menu { border-radius: 0; box-shadow: 0 1px 0 rgba(16,24,40,.06), 0 6px 20px rgba(16,24,40,.05); padding: 12px 10px; backdrop-filter: saturate(160%) blur(10px); }
.ui.secondary.menu .item { border-radius: var(--dc-radius-sm); font-weight: 600; transition: background var(--dc-ease), color var(--dc-ease); }
.ui.secondary.menu .item:hover { background: rgba(47,155,255,.10); color: var(--dc-accent); }
.ui.secondary.menu .active.item { background: rgba(47,155,255,.14); color: var(--dc-accent); }
body.dark .ui.secondary.menu .item:hover, body.dark .ui.secondary.menu .active.item { color: #fff; background: rgba(255,255,255,.08); }

/* Surfaces */
.ui.segment, .ui.card, .ui.cards>.card, .ui.message, .ui.modal, .ui.popup, .ui.menu:not(.secondary):not(.pagination) {
  border-radius: var(--dc-radius) !important;
}
.ui.segment, .ui.card, .ui.cards>.card {
  border: 1px solid rgba(16,24,40,.07) !important;
  box-shadow: var(--dc-shadow) !important;
  transition: box-shadow var(--dc-ease), transform var(--dc-ease);
}
.ui.cards>.card:hover, .ui.card:hover { box-shadow: var(--dc-shadow-hover) !important; transform: translateY(-2px); }
body.dark .ui.segment, body.dark .ui.card, body.dark .ui.cards>.card { border-color: rgba(255,255,255,.07) !important; box-shadow: 0 8px 28px rgba(0,0,0,.35) !important; }
.ui.segments { border-radius: var(--dc-radius); overflow: hidden; box-shadow: var(--dc-shadow); border: 1px solid rgba(16,24,40,.07); }
.ui.segments>.segment { box-shadow: none !important; border-radius: 0 !important; }

/* Buttons */
.ui.button { border-radius: var(--dc-radius-sm); font-weight: 600; transition: transform var(--dc-ease), box-shadow var(--dc-ease), background var(--dc-ease); }
.ui.button:hover { transform: translateY(-1px); }
.ui.primary.button, .ui.blue.button { background: linear-gradient(135deg, var(--dc-accent), #5CB6FF); color: #fff; box-shadow: 0 4px 14px rgba(47,155,255,.35); }
.ui.primary.button:hover, .ui.blue.button:hover { background: linear-gradient(135deg, #1A7FE0, var(--dc-accent)); box-shadow: 0 6px 18px rgba(47,155,255,.45); }
.ui.green.button, .ui.positive.button { background: linear-gradient(135deg, #14B8A6, var(--dc-accent-2)); }

/* Forms */
.ui.form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), .ui.form textarea, .ui.form select, .ui.input>input, .ui.selection.dropdown {
  border-radius: var(--dc-radius-sm) !important; border: 1px solid rgba(16,24,40,.14); transition: border-color var(--dc-ease), box-shadow var(--dc-ease);
}
.ui.form input:focus, .ui.form textarea:focus, .ui.input.focus>input, .ui.input>input:focus { border-color: var(--dc-accent) !important; box-shadow: 0 0 0 3px rgba(47,155,255,.18) !important; }

/* Labels, tables, pagination, images */
.ui.label { border-radius: 999px; font-weight: 600; }
.ui.table { border-radius: var(--dc-radius); overflow: hidden; border: 1px solid rgba(16,24,40,.08); }
.ui.table thead th { background: rgba(47,155,255,.07); font-weight: 700; }
.ui.pagination.menu { border-radius: var(--dc-radius-sm); overflow: hidden; }
.ui.avatar.image, .ui.circular.image img { box-shadow: 0 0 0 2px #fff, 0 2px 8px rgba(16,24,40,.18); }
.ui.message { border: 1px solid rgba(16,24,40,.07); box-shadow: none; }

/* Modals / popups / dropdown menus */
.ui.modal { box-shadow: 0 24px 60px rgba(16,24,40,.25); overflow: hidden; }
.ui.dropdown .menu { border-radius: var(--dc-radius-sm); box-shadow: var(--dc-shadow-hover); border: 1px solid rgba(16,24,40,.06); }

/* Widgets */
.ui.segment .ui.fluid.label { border-radius: var(--dc-radius-sm); }

/* Footer */
footer, #footer, .footer { border-top: 1px solid rgba(16,24,40,.06); }

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: rgba(47,155,255,.35); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: rgba(47,155,255,.55); }

@media (max-width: 767px) {
  #wrapper>.ui.container { margin-top: 1rem; }
  .ui.segment { border-radius: 12px !important; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Footer */
.dc-footer.ui.footer.segment { background: #0D1420 !important; color: rgba(255,255,255,.75); padding: 3rem 0 1.5rem; border-top: 3px solid var(--dc-accent); border-radius: 0 !important; box-shadow: none !important; margin-top: 3rem; }
.dc-footer .dc-footer-brand { font-size: 1.5rem; margin-bottom: .6rem; }
.dc-footer .dc-footer-about { max-width: 34rem; color: rgba(255,255,255,.65); }
.dc-footer .ui.inverted.link.list .item { color: rgba(255,255,255,.7) !important; padding: .3em 0; transition: color var(--dc-ease), padding-left var(--dc-ease); }
.dc-footer .ui.inverted.link.list a.item:hover { color: var(--dc-accent-2) !important; padding-left: 4px; }
.dc-footer .dc-footer-social { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.dc-footer .dc-social { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem; padding: 0 .7rem; border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; transition: background var(--dc-ease), transform var(--dc-ease); }
.dc-footer .dc-social:hover { background: var(--dc-accent); transform: translateY(-2px); color: #fff; }
.dc-footer .dc-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .9rem; color: rgba(255,255,255,.55); }
.dc-footer .dc-footer-bottom a { color: var(--dc-accent-2); }
.dc-footer .dc-footer-tools { display: inline-flex; align-items: center; gap: 1rem; }

/* Navbar: roomier, fluid */
#pcnavbar { gap: .35rem; flex-wrap: wrap; }
.ui.aurora.navbar.button, .ui.store.navbar.button { padding: .95em 1.45em !important; font-size: 1.02rem !important; font-weight: 600; letter-spacing: .01em; border-radius: 999px !important; margin: 0 .15rem !important; background: transparent; color: rgba(255,255,255,.92) !important; transition: background var(--dc-ease), transform var(--dc-ease), color var(--dc-ease) !important; }
.ui.aurora.navbar.button:hover { background: rgba(255,255,255,.16) !important; transform: translateY(-1px); color: #fff !important; }
.ui.store.navbar.button { background: linear-gradient(135deg, var(--dc-accent), var(--dc-accent-2)) !important; box-shadow: 0 4px 16px rgba(47,155,255,.45) !important; }
.ui.aurora.navbar.button i.icon, .ui.store.navbar.button i.icon { margin-right: .5em; }
#navbar .ui.dropdown .menu { margin-top: .6rem; padding: .4rem; }
#navbar .ui.dropdown .menu .item { border-radius: 8px; padding: .75em 1em !important; }

/* Homepage */
.dc-hero { padding: 4.5rem 0 3rem; text-align: center; }
.dc-hero-inner { max-width: 46rem; margin: 0 auto; }
.dc-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .9rem; border-radius: 999px; background: rgba(47,155,255,.12); color: var(--dc-accent); font-weight: 600; font-size: .9rem; }
.dc-pill i.icon { font-size: .6rem; margin: 0; color: var(--dc-accent-2); }
.dc-hero-title { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.1; margin: 1.1rem 0 .8rem; font-weight: 800; letter-spacing: -.02em; }
.dc-hero-title span { background: linear-gradient(135deg, var(--dc-accent), var(--dc-accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dc-hero-sub { font-size: 1.2rem; opacity: .75; margin-bottom: 1.8rem; }
.dc-hero-actions { display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; }
.ui.button.dc-btn-ghost { background: transparent; border: 1px solid rgba(128,128,128,.4); color: inherit; box-shadow: none; }
.ui.button.dc-btn-ghost:hover { border-color: var(--dc-accent); color: var(--dc-accent); }
.dc-section { padding: 2.2rem 0; }
.dc-section-head { text-align: center; margin-bottom: 1.8rem; }
.dc-section-head h2 { font-size: 1.9rem; font-weight: 800; margin: 0 0 .3rem; }
.dc-section-head p { opacity: .7; margin: 0; }
.dc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.dc-grid-3 { grid-template-columns: repeat(3, 1fr); }
.dc-tile, .dc-step { display: block; padding: 1.6rem; border-radius: var(--dc-radius); background: var(--bg-secondary); border: 1px solid rgba(128,128,128,.18); box-shadow: var(--dc-shadow); color: inherit; transition: transform var(--dc-ease), box-shadow var(--dc-ease), border-color var(--dc-ease); }
.dc-tile:hover { transform: translateY(-4px); box-shadow: var(--dc-shadow-hover); border-color: var(--dc-accent); color: inherit; }
.dc-tile i.icon { font-size: 1.8rem; color: var(--dc-accent); margin: 0 0 .8rem; display: block; height: auto; }
.dc-tile h3, .dc-step h3 { margin: 0 0 .35rem; font-size: 1.15rem; font-weight: 700; }
.dc-tile p, .dc-step p { margin: 0; opacity: .72; }
.dc-step span { display: inline-flex; align-items: center; justify-content: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: linear-gradient(135deg, var(--dc-accent), var(--dc-accent-2)); color: #fff; font-weight: 800; margin-bottom: .8rem; }
.dc-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 2.2rem; border-radius: 20px; background: linear-gradient(135deg, #2F9BFF, #2DD4BF); color: #fff; box-shadow: 0 14px 40px rgba(47,155,255,.35); }
.dc-cta h2 { margin: 0 0 .25rem; font-weight: 800; color: #fff; }
.dc-cta p { margin: 0; opacity: .92; }
.dc-cta .ui.primary.button { background: #fff; color: #1A7FE0; box-shadow: none; }
.dc-cta .ui.button.dc-btn-ghost { border-color: rgba(255,255,255,.7); color: #fff; }
@media (max-width: 860px) { .dc-grid, .dc-grid-3 { grid-template-columns: 1fr; } .dc-hero { padding: 2.5rem 0 1.5rem; } .dc-cta { text-align: center; justify-content: center; } }

/* News / Ghost-style posts */
.dc-news { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
.dc-news .dc-section-head { grid-column: 1 / -1; margin-bottom: .2rem; }
.dc-section-head.dc-left { text-align: left; }
.dc-post { display: flex; flex-direction: column; background: var(--bg-secondary); border: 1px solid rgba(128,128,128,.18); border-radius: 18px; overflow: hidden; box-shadow: var(--dc-shadow); transition: transform var(--dc-ease), box-shadow var(--dc-ease); }
.dc-post:hover { transform: translateY(-4px); box-shadow: var(--dc-shadow-hover); }
.dc-post-media { display: flex; align-items: center; justify-content: center; min-height: 190px; background: linear-gradient(135deg, #2F9BFF, #2DD4BF) center / cover no-repeat; color: rgba(255,255,255,.85); font-size: 3rem; }
.dc-post-body { padding: 1.4rem 1.5rem 1.2rem; display: flex; flex-direction: column; flex: 1; }
.dc-post-meta { font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--dc-accent); margin-bottom: .5rem; }
.dc-post-title { margin: 0 0 .6rem; font-size: 1.3rem; line-height: 1.25; font-weight: 800; }
.dc-post-title a { color: inherit; }
.dc-post-title a:hover { color: var(--dc-accent); }
.dc-post-text { opacity: .75; flex: 1; }
.dc-post-foot { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; }
.dc-post-more { margin-left: auto; font-weight: 700; color: var(--dc-accent); }
.dc-post-featured { grid-column: 1 / -1; flex-direction: row; min-height: 340px; }
.dc-post-featured .dc-post-media { flex: 1.25; min-height: 340px; }
.dc-post-featured .dc-post-body { flex: 1; justify-content: center; padding: 2.2rem; }
.dc-post-featured .dc-post-title { font-size: 2rem; }
.dc-post-featured .dc-post-text { flex: 0 1 auto; font-size: 1.05rem; }
@media (max-width: 860px) { .dc-news { grid-template-columns: 1fr; } .dc-post-featured { flex-direction: column; } .dc-post-featured .dc-post-media { min-height: 220px; flex: none; } .dc-post-featured .dc-post-title { font-size: 1.5rem; } .dc-post-featured .dc-post-body { padding: 1.4rem; } }

/* Navbar fixes */
#navbar, .ui.secondary.menu { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
#navbar a.ui.icon.button, #navbar a.ui.default.button, #navbar a.ui.circular.image { box-shadow: none !important; background: transparent !important; transform: none !important; }
#navbar a.ui.icon.button:hover, #navbar a.ui.default.button:hover { background: rgba(255,255,255,.14) !important; }

/* Home sections live inside the main column (sidebar widgets stay on the right) */
.dc-wrap { width: 100%; }
.dc-wrap .dc-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.dc-wrap .dc-hero { padding: 2.2rem 0 1.4rem; }
.dc-wrap .dc-hero-title { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.dc-wrap .dc-section { padding: 1.2rem 0; }
.dc-hero-title { color: inherit; }

/* Dark mode text/surfaces for the homepage + news */
body.dark .dc-hero-title, body.dark .dc-section-head h2, body.dark .dc-hero-sub, body.dark .dc-section-head p { color: #eaf2ff; }
body.dark .dc-tile, body.dark .dc-step, body.dark .dc-post { background: var(--bg-secondary-dark); color: #eaf2ff; border-color: var(--border-primary-dark); }
body.dark .dc-post-title a, body.dark .dc-tile h3, body.dark .dc-step h3 { color: #fff; }
body.dark .dc-post-text, body.dark .dc-tile p, body.dark .dc-step p { color: #c9d6ea; opacity: 1; }

/* News: Archon-style. Featured = image left / text right. The rest = image cards with the title on the image. */
.dc-news { gap: 1.3rem; }
.dc-post-featured { min-height: 300px; background: var(--bg-secondary-dark, #131C2B); }
body:not(.dark) .dc-post-featured { background: var(--bg-secondary); }
.dc-post-featured .dc-post-media { flex: 1.6; min-height: 300px; }
.dc-post-featured .dc-post-body { flex: 1; padding: 2rem 2rem 1.6rem; }
.dc-post-featured .dc-post-title { font-size: 1.6rem; color: var(--dc-accent); }
.dc-post-featured .dc-post-title a { color: var(--dc-accent); }
.dc-post-who { display: flex; flex-direction: column; line-height: 1.25; font-size: .92rem; }
.dc-post-who span { opacity: .65; font-size: .85rem; }
.dc-readtime { margin-left: auto; padding: .4rem .8rem; border-radius: 10px; background: rgba(128,128,128,.15); font-size: .82rem; white-space: nowrap; }
.dc-post:not(.dc-post-featured) { position: relative; min-height: 230px; border: 0; }
.dc-post:not(.dc-post-featured) .dc-post-media { position: absolute; inset: 0; min-height: 0; }
.dc-post:not(.dc-post-featured) .dc-post-body { position: relative; margin-top: auto; padding: 3rem 1.2rem 1rem; background: linear-gradient(to top, rgba(8,14,26,.88), rgba(8,14,26,0)); pointer-events: none; }
.dc-post:not(.dc-post-featured) .dc-post-body a { pointer-events: auto; }
.dc-post:not(.dc-post-featured) .dc-post-text, .dc-post:not(.dc-post-featured) .dc-post-foot { display: none; }
.dc-post:not(.dc-post-featured) .dc-post-title { margin: 0; font-size: 1.1rem; }
.dc-post:not(.dc-post-featured) .dc-post-title, .dc-post:not(.dc-post-featured) .dc-post-title a { color: #fff; }
@media (max-width: 860px) { .dc-post-featured .dc-post-media { min-height: 200px; flex: none; } }

/* ===== DreamCraft header v1.0.13: pills, sparks, fade ===== */
body { --dc-page-bg: var(--bg-primary, #f3f6fb); }
body.dark { --dc-page-bg: var(--bg-primary-dark, #0d1420); }
.dc-hero { position: relative; background-size: cover !important; background-position: center !important; border-radius: 0 !important; padding-bottom: 110px !important; overflow: visible; }
.dc-hero > .column, .dc-hero .column { position: relative; z-index: 2; }
.dc-side { display: flex !important; align-items: flex-start; margin-top: 2.2rem; }
.dc-side-left { justify-content: flex-start; padding-left: 2rem !important; }
.dc-side-right { justify-content: flex-end; padding-right: 2rem !important; }
.dc-pill { position: relative; display: inline-flex; align-items: center; gap: .85rem; padding: .6rem 1.4rem .6rem .7rem; border-radius: 999px; cursor: pointer; overflow: hidden; color: #fff !important; text-align: left;
  background: linear-gradient(135deg, rgba(10,24,48,.72), rgba(8,40,60,.62)); border: 1px solid rgba(94,200,255,.45);
  box-shadow: 0 0 0 1px rgba(0,0,0,.25) inset, 0 6px 22px rgba(0,0,0,.45), 0 0 18px rgba(47,155,255,.30); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.dc-pill:hover { transform: translateY(-2px); border-color: rgba(45,212,191,.9); box-shadow: 0 8px 26px rgba(0,0,0,.5), 0 0 28px rgba(45,212,191,.55); color: #fff !important; }
.dc-pill-icon { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; border-radius: 10px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #2F9BFF, #2DD4BF); box-shadow: 0 0 14px rgba(47,155,255,.65); font-size: 1.25rem; }
.dc-pill-icon .icon { margin: 0 !important; color: #fff; line-height: 1; height: auto; }
.dc-pill-text { display: flex; flex-direction: column; line-height: 1.2; }
.dc-pill-title { font-weight: 800; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; text-shadow: 0 0 10px rgba(94,200,255,.6); }
.dc-pill-sub { font-size: .8rem; opacity: .85; letter-spacing: .02em; }
.dc-pill-shine { position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); transform: skewX(-20deg); animation: dc-shine 5.5s ease-in-out infinite; pointer-events: none; }
@keyframes dc-shine { 0%,55% { left: -60%; } 100% { left: 140%; } }
/* dragon-eye status dot */
.dc-eye { width: 1.1rem; height: 1.1rem; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #ffd76a 45%, #e49b0f 100%); box-shadow: 0 0 10px #ffd76a, 0 0 20px rgba(255,200,60,.6); animation: dc-pulse 2.4s ease-in-out infinite; }
.dc-pill-server.dc-online .dc-pill-icon { background: linear-gradient(135deg, #1fb36a, #2DD4BF); box-shadow: 0 0 14px rgba(45,212,191,.8); }
.dc-pill-server.dc-offline { border-color: rgba(255,90,90,.55); box-shadow: 0 6px 22px rgba(0,0,0,.45), 0 0 18px rgba(255,70,70,.28); }
.dc-pill-server.dc-offline .dc-pill-icon { background: linear-gradient(135deg, #7a1f2b, #d9433f); box-shadow: 0 0 14px rgba(255,80,80,.6); }
.dc-pill-server.dc-offline .dc-eye { background: radial-gradient(circle at 35% 35%, #fff, #ff8a80 45%, #c62828 100%); box-shadow: 0 0 10px #ff6b6b; animation: dc-pulse 3.6s ease-in-out infinite; }
@keyframes dc-pulse { 0%,100% { transform: scale(1); opacity: .95; } 50% { transform: scale(1.25); opacity: 1; } }
/* logo float + glow */
.dc-logo { animation: dc-float 6s ease-in-out infinite; filter: drop-shadow(0 6px 20px rgba(47,155,255,.55)); }
@keyframes dc-float { 0%,100% { transform: translateY(0); filter: drop-shadow(0 6px 18px rgba(47,155,255,.45)); } 50% { transform: translateY(-6px); filter: drop-shadow(0 10px 28px rgba(45,212,191,.75)); } }
/* drifting glowing voxel sparks */
.dc-sparks { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.dc-sparks i { position: absolute; bottom: -12px; width: 6px; height: 6px; background: #5ee8ff; box-shadow: 0 0 8px #2DD4BF, 0 0 14px rgba(47,155,255,.8); opacity: 0; animation: dc-rise 9s linear infinite; }
.dc-sparks i:nth-child(1){left:6%;animation-delay:0s} .dc-sparks i:nth-child(2){left:14%;animation-delay:3s;width:4px;height:4px}
.dc-sparks i:nth-child(3){left:23%;animation-delay:6s} .dc-sparks i:nth-child(4){left:33%;animation-delay:1.5s;width:4px;height:4px;background:#ffd76a;box-shadow:0 0 8px #ffb300}
.dc-sparks i:nth-child(5){left:42%;animation-delay:7s} .dc-sparks i:nth-child(6){left:53%;animation-delay:4s;width:4px;height:4px}
.dc-sparks i:nth-child(7){left:62%;animation-delay:2s} .dc-sparks i:nth-child(8){left:71%;animation-delay:5.5s;background:#ffd76a;box-shadow:0 0 8px #ffb300;width:4px;height:4px}
.dc-sparks i:nth-child(9){left:80%;animation-delay:0.8s} .dc-sparks i:nth-child(10){left:88%;animation-delay:3.8s;width:4px;height:4px}
.dc-sparks i:nth-child(11){left:94%;animation-delay:6.6s} .dc-sparks i:nth-child(12){left:48%;animation-delay:8.2s}
@keyframes dc-rise { 0% { transform: translateY(0) rotate(0); opacity: 0; } 12% { opacity: .9; } 80% { opacity: .5; } 100% { transform: translateY(-260px) translateX(18px) rotate(90deg); opacity: 0; } }
@media (max-width: 767px) { .dc-side { display: none !important; } .dc-logo { height: 150px !important; } }
@media (prefers-reduced-motion: reduce) { .dc-logo, .dc-eye, .dc-pill-shine, .dc-sparks i { animation: none !important; } }

/* v1.0.14: pills closer to the logo */
@media (min-width: 768px) {
  .dc-hero.ui.grid, .dc-hero .ui.stackable.three.column.grid { justify-content: center !important; align-items: flex-start; flex-wrap: nowrap !important; }
  .dc-hero > .column, .dc-hero .ui.grid > .column { width: auto !important; flex: 0 0 auto !important; }
  .dc-side-left { padding-left: .5rem !important; padding-right: .5rem !important; justify-content: flex-end; }
  .dc-side-right { padding-right: .5rem !important; padding-left: .5rem !important; justify-content: flex-start; }
}

/* v1.0.15: dragon pill art */
.dc-pill.dc-art-offline { --ar: 3.409;  }
.dc-art-offline .dc-pill-inner { left: 27.5%; top: 43.1%; width: 60.9%; height: 35.3%; }
.dc-pill.dc-art-online { --ar: 3.136;  }
.dc-art-online .dc-pill-inner { left: 22.0%; top: 40.3%; width: 56.8%; height: 28.3%; }
.dc-pill.dc-art-discord { --ar: 2.586;  }
.dc-art-discord .dc-pill-inner { left: 8.8%; top: 50.0%; width: 87.4%; height: 34.2%; }
.dc-pill { display: block !important; position: relative; width: min(470px, 31vw); aspect-ratio: var(--ar, 3); padding: 0 !important; border: 0 !important; background-color: transparent !important; background-size: 100% 100%; background-repeat: no-repeat; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; overflow: visible !important; border-radius: 0 !important; filter: drop-shadow(0 6px 14px rgba(0,0,0,.5)); }
.dc-pill:hover { box-shadow: none !important; transform: translateY(-3px) scale(1.02); filter: drop-shadow(0 8px 20px rgba(120,200,255,.55)); }
.dc-pill-shine { display: none !important; }
.dc-pill-inner { position: absolute; display: flex; align-items: center; gap: .6em; justify-content: center; font-size: clamp(.55rem, 1.05vw, .95rem); overflow: hidden; }
.dc-pill-inner .dc-pill-icon { width: 2.1em; height: 2.1em; border-radius: 8px; font-size: 1em; flex: 0 0 auto; }
.dc-pill-inner .dc-pill-icon .icon { font-size: 1.1em; }
.dc-pill-inner .dc-pill-title { font-size: 1em; }
.dc-pill-inner .dc-pill-sub { font-size: .82em; }
.dc-pill-inner .dc-eye { width: 1em; height: 1em; }
.dc-pill-server.dc-offline { border: 0 !important; box-shadow: none !important; }
.dc-pill-server.dc-offline .dc-pill-icon, .dc-pill-server.dc-online .dc-pill-icon { box-shadow: none; }
.dc-pill-server { animation: dc-pill-bob 5s ease-in-out infinite; }
.dc-pill-discord { animation: dc-pill-bob 6s ease-in-out infinite .8s; }
@keyframes dc-pill-bob { 0%,100% { margin-top: 0; } 50% { margin-top: -4px; } }
@media (prefers-reduced-motion: reduce) { .dc-pill { animation: none !important; } }

/* v1.0.15: image slots (backgrounds come from inline CSS vars so staff can swap the art) */
.dc-pill-discord, .dc-pill-server { background-image: var(--dc-bg-on) !important; }
.dc-pill-server.dc-offline { background-image: var(--dc-bg-off, var(--dc-bg-on)) !important; }
.dc-art-custom-d { --ar: var(--ar-d, 3); }
.dc-art-custom-on { --ar: var(--ar-on, 3); }
.dc-art-custom-off { --ar: var(--ar-off, 3); }
.dc-art-custom-d .dc-pill-inner, .dc-art-custom-on .dc-pill-inner, .dc-art-custom-off .dc-pill-inner { left: 12%; top: 30%; width: 76%; height: 40%; }

/* v1.0.16: true centering inside plaques, smaller pills, more spacing */
.dc-pill { width: min(400px, 26vw) !important; }
.dc-pill-inner { transform: translate(-50%, -50%); height: auto !important; top: auto; overflow: visible; text-align: center; font-size: clamp(.5rem, .92vw, .85rem); }
.dc-pill-inner .dc-pill-text { align-items: flex-start; text-align: left; }
.dc-art-offline .dc-pill-inner { left: 59.5%; top: 60.6%; width: 52%; }
.dc-art-online .dc-pill-inner { left: 53%; top: 54.4%; width: 46%; }
.dc-art-discord .dc-pill-inner { left: 52.4%; top: 67.2%; width: 78%; }
.dc-art-custom-d .dc-pill-inner, .dc-art-custom-on .dc-pill-inner, .dc-art-custom-off .dc-pill-inner { left: 50%; top: 50%; width: 76%; }
@media (min-width: 768px) {
  .dc-side-left { padding-right: 2.4rem !important; }
  .dc-side-right { padding-left: 2.4rem !important; }
}

/* v1.0.19: one continuous banner image behind header and page top */
.dc-bodyart-anchor { display: block; position: relative; height: 0; z-index: 0; }
.dc-bodyart { position: absolute; left: 0; right: 0; top: 0; width: 100%; aspect-ratio: var(--bar, 0.959); max-height: 2300px; background-size: 100% 100%; background-position: center top; background-repeat: no-repeat; pointer-events: none; }
.dc-bodyart-anchor ~ * { position: relative; z-index: 1; }
@media (max-width: 767px) { .dc-bodyart { aspect-ratio: auto; height: 1100px; background-size: cover; } }

/* v1.0.20: pills stay visible even if an old custom-CSS hide rule is still saved */
.dc-hero .column.dc-side a.dc-pill { display: block !important; }

/* v1.0.20: content containers - main panel + separate full-height sidebar panel */
.ui.stackable.grid > .centered.row { align-items: stretch !important; }
.dc-col-main, .dc-col-side { display: flex !important; }
.dc-panel { flex: 1 1 auto; min-width: 0; padding: 1.6rem 1.5rem; border-radius: 18px; background: rgba(255,255,255,.78); border: 1px solid rgba(47,155,255,.22); box-shadow: 0 10px 34px rgba(0,0,0,.18); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
body.dark .dc-panel { background: rgba(13,20,32,.76); border-color: rgba(94,200,255,.20); box-shadow: 0 10px 34px rgba(0,0,0,.45), 0 0 22px rgba(47,155,255,.08) inset; }
.dc-panel-side { padding: 1.1rem; display: flex; flex-direction: column; }
.dc-panel-side > * { margin-left: 0 !important; margin-right: 0 !important; }
@media (max-width: 767px) { .dc-panel { padding: 1rem .9rem; } }

/* DreamNews module (1.0.21) */
.dcn-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:1rem; }
.dcn-head h2 { margin:0; }
.dcn-head a, .dcn-more { color:var(--dc-accent); font-weight:700; }
.dcn-featured { display:flex; gap:0; border-radius:18px; overflow:hidden; background:rgba(10,18,32,.55); border:1px solid rgba(128,128,128,.2); min-height:300px; margin-bottom:1.2rem; }
.dcn-feat-img { flex:1.5; background:#13233a center/cover no-repeat; min-height:260px; }
.dcn-feat-text { flex:1; padding:1.8rem; display:flex; flex-direction:column; justify-content:center; gap:.7rem; }
.dcn-feat-text h3 { margin:0; font-size:1.6rem; line-height:1.2; }
.dcn-feat-text h3 a { color:var(--dc-accent); }
.dcn-feat-text p { margin:0; opacity:.8; }
.dcn-feat-by { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.dcn-feat-by img { width:28px; height:28px; border-radius:50%; }
.dcn-feat-by small { opacity:.65; }
.dcn-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1rem; }
.dcn-card { position:relative; display:block; min-height:200px; border-radius:16px; overflow:hidden; background:#13233a center/cover no-repeat; box-shadow:var(--dc-shadow); transition:transform var(--dc-ease); }
.dcn-card:hover { transform:translateY(-4px); }
.dcn-card-cap { position:absolute; left:0; right:0; bottom:0; padding:2.2rem .9rem .7rem; background:linear-gradient(transparent, rgba(5,10,20,.88)); color:#fff; display:flex; flex-direction:column; }
.dcn-card-cap small { opacity:.7; }
.dcn-page { padding:1.5rem 0 2rem; }
.dcn-h1 { margin-top:0; }
.dcn-pager { display:flex; justify-content:center; gap:1.2rem; margin-top:1.4rem; }
.dcn-hero { height:380px; border-radius:16px; background:#13233a center/cover no-repeat; margin-bottom:1.4rem; }
.dcn-title { font-size:2.2rem; line-height:1.15; margin:0 0 .8rem; }
.dcn-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin-bottom:1.4rem; padding-bottom:1rem; border-bottom:1px solid rgba(128,128,128,.25); }
.dcn-author { display:flex; align-items:center; gap:.5rem; font-weight:700; }
.dcn-author img { width:36px; height:36px; border-radius:50%; }
.dcn-date { opacity:.7; }
.dcn-chip { padding:.15rem .7rem; border-radius:999px; background:rgba(47,155,255,.18); color:var(--dc-accent); font-size:.85rem; font-weight:700; }
.dcn-body { font-size:1.08rem; line-height:1.75; }
.dcn-body img { max-width:100%; border-radius:10px; }
@media (max-width:760px) { .dcn-featured { flex-direction:column; } .dcn-hero { height:220px; } .dcn-title { font-size:1.6rem; } }

/* v1.0.27: navbar dropdowns sit above the hero art, pills and page content so they can be clicked */
.dc-bodyart-anchor ~ .dc-hero { position: relative; z-index: 60; }
#navbar { position: relative; z-index: 100 !important; }
#navbar .ui.dropdown .menu, #navbar .ui.dropdown.active .menu, #navbar .ui.dropdown.visible .menu { z-index: 1000 !important; pointer-events: auto !important; }
.dc-hero > .column, .dc-hero .column { z-index: 2; }
.dc-sparks, .dc-bodyart { pointer-events: none !important; }
/* v1.0.29: tab rows (profile, rules, resources) wrap on small screens instead of overflowing */
@media (max-width: 767px) {
  .ui.tabular.menu { display: flex !important; flex-wrap: wrap !important; overflow: visible !important; height: auto !important; border-radius: var(--dc-radius) var(--dc-radius) 0 0; }
  .ui.tabular.menu .item { flex: 1 1 auto; text-align: center; justify-content: center; margin-bottom: 0 !important; padding: .75em 1em; border-radius: var(--dc-radius-sm) !important; }
  .ui.top.attached.tabular.menu + .ui.bottom.attached.segment { border-top-left-radius: 0; border-top-right-radius: 0; }
}
