:root{color-scheme:dark;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#0b0d11;color:#e6e8ec}
*{box-sizing:border-box}
body{display:flex;flex-direction:column;margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -15%,#333a48 0,transparent 46%),linear-gradient(145deg,#15191f,#090a0d 75%)}
.topbar{position:sticky;top:0;z-index:100;height:58px;display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:0 max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid #ffffff12;background:#0b0d11e8;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;color:#e6e8ec;text-decoration:none;font-weight:700;letter-spacing:.01em}
.brand-mark{width:30px;height:30px;margin-right:9px;object-fit:cover;border-radius:8px}
.topbar a{color:#c2c7d0;text-decoration:none;font-size:.88rem}
.topbar-nav{display:flex;align-items:center;gap:5px;flex:1;min-width:0;margin-left:10px;overflow-x:auto;scrollbar-width:none}
.topbar-nav::-webkit-scrollbar{display:none}
.topbar-nav .topbar-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:7px;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.topbar-nav .topbar-action:hover{background:#ffffff0b;color:#fff}
.topbar-nav .topbar-action.active{border-color:#5865f255;background:#5865f21c;color:#dfe2ff}
.topbar-account{display:inline-flex;align-items:center;justify-content:center;min-height:34px;flex:none;margin-left:auto;padding:6px 13px;border:1px solid #5865f277;border-radius:7px;background:#5865f2;color:#fff!important;font-weight:700;white-space:nowrap}
.topbar-account:hover{background:#6975ff}
.site-main,main{flex:1 0 auto;max-width:760px;margin:44px auto 80px;padding:0 16px}
.admin-main{max-width:1280px}
.admin-main .page-card{padding:28px}
.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:26px}
.admin-sidebar{position:sticky;top:78px;display:grid;gap:7px;padding:8px;border:1px solid #ffffff16;border-radius:11px;background:#11141ae8}
.admin-category{display:grid;gap:2px;padding:12px;border:1px solid transparent;border-radius:8px;color:#c8cdd6;text-decoration:none}
.admin-category strong{font-size:.92rem}
.admin-category span{color:#929aa6;font-size:.76rem;line-height:1.35}
.admin-category:hover{background:#ffffff08;color:#fff}
.admin-category.active{border-color:#5865f255;background:#5865f21c;color:#e3e5ff}
.admin-category.active span{color:#c0c5e8}
.admin-nav-group{border:1px solid transparent;border-radius:8px}
.admin-nav-group>summary{list-style:none;cursor:pointer}
.admin-nav-group>summary::-webkit-details-marker{display:none}
.admin-nav-group[open]{border-color:#ffffff12;background:#ffffff04}
.admin-subnav{display:grid;gap:3px;padding:0 8px 8px 18px}
.admin-subcategory{display:block;padding:9px 11px;border-left:2px solid #343941;border-radius:0 6px 6px 0;color:#aeb5c1;font-size:.84rem;text-decoration:none}
.admin-subcategory:hover{background:#ffffff08;color:#fff}
.admin-subcategory.active{border-left-color:#7580ff;background:#5865f21c;color:#e3e5ff}
.admin-workspace{min-width:0}
.admin-workspace>.admin-section:first-child{margin-top:0}
.page-card,.ticket-header{padding:22px 24px;border:1px solid #ffffff18;border-radius:14px;background:#16191ff2;box-shadow:0 18px 55px #0007}
h1{font-size:1.75rem;line-height:1.2;margin:0 0 11px;overflow-wrap:anywhere}
p{color:#b6bdc8}
.button{display:inline-block;background:#5865f2;color:white!important;padding:11px 18px;border-radius:8px;text-decoration:none;font-weight:650}
.small{font-size:.9rem;color:#929aa6}
.ticket-header{margin-bottom:12px}
.metadata{display:flex;flex-wrap:wrap;gap:5px 9px;color:#9da4b0;font-size:.78rem}
.metadata span+span:before{content:"·";margin-right:9px;color:#626a77}
.close-reason{margin:16px 0 0;padding:10px 12px;border-left:3px solid #5865f2;border-radius:4px;background:#20242c;color:#d2d6dd;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}
.messages{display:grid;gap:9px}
.message{display:flex;gap:12px;padding:14px 16px;border:1px solid #ffffff12;border-radius:11px;background:#14161bdc;box-shadow:0 5px 18px #0003}
.avatar{width:36px;height:36px;border-radius:50%;flex:none;object-fit:cover;background:#30343d}
.avatar.fallback{background:linear-gradient(135deg,#30343d,#5865f2)}
.message-body{min-width:0;flex:1}
.meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 5px}
.meta strong{font-size:.88rem;color:#f1f2f4}
.meta span{font-size:.72rem;color:#9299a5}
.content,.message-body pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#dcdee3;font:inherit;margin:0}
.mention{padding:0 3px;border-radius:3px;background:#34416b;color:#c9d6ff;font-weight:600}
.discord-embed{margin-top:7px;padding:12px 14px;border-left:3px solid var(--accent);border-radius:4px;background:#20242c;overflow:hidden}
.embed-author{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:.78rem;font-weight:700}
.embed-author img,.embed-footer img{width:18px;height:18px;border-radius:50%;object-fit:cover}
.embed-title{font-size:.95rem;font-weight:700;color:#f1f2f4}
.embed-title a{color:#9db7ff;text-decoration:none}
.embed-description{margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere;color:#d4d7de;font-size:.86rem}
.embed-fields{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.embed-field{flex:1 1 100%;min-width:0;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}
.embed-field.inline{flex:1 1 30%}
.embed-field strong{display:block;margin-bottom:3px;color:#f1f2f4}
.embed-thumbnail{float:right;max-width:96px;max-height:96px;object-fit:contain;margin:0 0 8px 12px}
.embed-image{display:block;max-width:100%;max-height:420px;object-fit:contain;margin-top:12px;border-radius:5px}
.embed-footer{display:flex;align-items:center;gap:6px;margin-top:11px;color:#a4aab4;font-size:.7rem}
.attachments{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;font-size:.8rem}
.attachments a{display:inline-block;padding:5px 9px;border:1px solid #ffffff1a;border-radius:6px;color:#b9c8ff;text-decoration:none;background:#ffffff06}
.empty{padding:24px;text-align:center;color:#9da4b0;border:1px dashed #ffffff20;border-radius:12px}
.transcripts{list-style:none;padding:0;margin:24px 0}
.transcripts li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid #343941}
.transcripts li>a:first-child,.transcripts li div>a{color:#e5e9f0;text-decoration:none;font-weight:650}
.meta{font-size:.88rem;color:#929aa6}
.view{white-space:nowrap;color:#aeb8ff!important}
.transcripts .empty{padding:20px;border:1px solid #343941;border-radius:8px}
.admin-link{color:#aeb8ff;font-weight:650;text-decoration:none}
.admin-section{border-top:1px solid #343941;margin-top:24px;padding-top:18px}
.admin-section h2{font-size:1.15rem;margin:0 0 10px}
.admin-form{display:grid;gap:14px;margin-top:14px}
.admin-form label{display:grid;gap:6px;color:#c8cdd6;font-weight:600}
.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select{width:100%;border:1px solid #3a414c;border-radius:7px;padding:10px 11px;background:#101318;color:#e6e8ec;font:inherit}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:2px solid #5865f2;outline-offset:1px}
.admin-form textarea{resize:vertical}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.confirm-check{display:flex!important;grid-template-columns:none!important;align-items:center;font-weight:400!important}
.admin-button{justify-self:start;border:0;border-radius:7px;padding:10px 15px;background:#5865f2;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.admin-button.danger{background:#b83b4b}
.admin-button:disabled{opacity:.5;cursor:not-allowed}
.access-server{margin:18px 0;padding:16px;border:1px solid #343b47;border-radius:10px;background:#111419b8}
.access-server h3{margin:0 0 12px;font-size:1.02rem}
.access-fieldset{min-width:0;margin:0;padding:12px;border:1px solid #343b47;border-radius:8px}
.access-fieldset legend{padding:0 6px;color:#d9dde5;font-weight:650}
.access-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:3px 10px;max-height:260px;overflow:auto;padding:3px}
.access-option{display:flex!important;align-items:center;gap:8px;min-width:0;padding:5px 6px;border-radius:5px;font-size:.86rem;font-weight:400!important}
.access-option:hover{background:#ffffff08}
.access-option input,.blacklist-flags input{width:auto!important;flex:none;accent-color:#6875f5}
.access-option span{overflow-wrap:anywhere}
.blacklist-form{padding:14px;border:1px solid #343b47;border-radius:9px;background:#111419b8}
.blacklist-flags{display:flex;flex-wrap:wrap;gap:14px}
.blacklist-flags label{display:flex;align-items:center;gap:8px;font-weight:500}
.blacklist-list{list-style:none;padding:0;margin:18px 0}
.blacklist-list>li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 4px;border-top:1px solid #343941}
.blacklist-list>li>div{min-width:0}
.blacklist-list strong,.blacklist-list span{display:block}
.blacklist-list span{margin-top:3px;color:#c5cbd5;font-size:.86rem}
.blacklist-list p{margin:5px 0 0;font-size:.85rem}
.blacklist-list form{flex:none}
.audit-table-wrap{max-width:100%;overflow-x:auto;margin-top:16px;border:1px solid #343941;border-radius:9px}
.audit-table{width:100%;border-collapse:collapse;font-size:.86rem}
.audit-table th,.audit-table td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #343941}
.audit-table th{color:#c8cdd6;background:#111419;font-weight:650;white-space:nowrap}
.audit-table td{color:#bfc5cf}
.audit-table td strong{color:#eef0f4}
.audit-table td span{color:#929aa6;font-size:.8rem}
.audit-table a{color:#b9c8ff}
.audit-table details{min-width:190px;max-width:520px}
.audit-table summary{cursor:pointer;color:#c9d1ff}
.audit-table form{margin-top:8px}
.audit-table .admin-button{padding:7px 10px;font-size:.8rem}
.audit-table pre{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;padding:10px;border:1px solid #343941;border-radius:7px;background:#0c0f13;color:#e6e8ec;font: .82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.admin-notice{padding:10px 12px;border-radius:7px;background:#183e2c;color:#c8f5d8}
.admin-notice.error{background:#4b2228;color:#ffd4d8}
.admin-types{padding-left:20px}.admin-types li{margin:8px 0}.admin-types span{color:#929aa6;font-size:.85rem}
.privacy-policy h2{margin:30px 0 10px;padding-top:14px;border-top:1px solid #343941;font-size:1.25rem}
.privacy-policy h3{margin:22px 0 8px;font-size:1.05rem}
.privacy-policy h4,.privacy-policy h5,.privacy-policy h6{margin:18px 0 6px;font-size:1rem}
.privacy-policy p{line-height:1.75}
.privacy-policy li{margin:7px 0;color:#c8cdd6;line-height:1.7}
.privacy-policy a,.site-footer a{color:#aeb8ff}
.privacy-policy strong{color:#f0f2f5}
.privacy-policy ul,.privacy-policy ol{padding-left:24px}
.site-footer{width:100%;max-width:1160px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 auto 24px;padding:0 16px;color:#828a97;font-size:.84rem}
.footer-links{display:flex;align-items:center;gap:10px}
.site-footer a{color:#aeb8ff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
code{padding:2px 5px;border-radius:4px;background:#101318;color:#c9d6ff}
@media(max-width:600px){.site-main,main{margin-top:20px}.page-card,.ticket-header{padding:18px}.message{padding:12px}.metadata{display:grid;gap:2px}.metadata span+span:before{display:none}.embed-field.inline{flex-basis:100%}}
@media(max-width:600px){.admin-grid{grid-template-columns:1fr}.topbar{padding:0 14px}.brand{font-size:.88rem}.brand-mark{width:28px;height:28px}}
@media(max-width:760px){.topbar{gap:10px;padding:0 14px}.topbar-nav{margin-left:0}.topbar-nav .topbar-action{padding:6px 8px;font-size:.79rem}.topbar-account{padding:6px 10px;font-size:.8rem}}
@media(max-width:520px){.brand{font-size:.78rem}.brand-mark{width:25px;height:25px;margin-right:6px}.site-footer{flex-direction:column;justify-content:center;margin-top:0;text-align:center}}
@media(max-width:900px){.admin-main .page-card{padding:20px}.admin-layout{grid-template-columns:minmax(0,1fr);gap:16px}.admin-sidebar{position:static;display:flex;gap:6px;overflow-x:auto}.admin-category{min-width:165px}.admin-workspace>.admin-section:first-child{margin-top:0}}
.announce-form,
.embed-editor {
	display: grid;
	gap: 1rem;
}

.server-select-form {
	max-width:420px;
	margin:0 0 18px;
}

.server-select-form label {
	display:grid;
	gap:6px;
	color:#cbd0d9;
	font-weight:650;
}

.server-select-form select {
	width:100%;
	padding:10px 12px;
	border:1px solid #353c48;
	border-radius:8px;
	background:#0d1015;
	color:#e6e8ec;
	font:inherit;
}

.embed-editor {
	padding: 1.25rem;
	border: 1px solid var(--border, #30333b);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.025);
}

.embed-editor h2 {
	margin: 0;
}

.embed-editor-heading,
.embed-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.embed-editor-heading p {
	margin-bottom: 0;
}

#embed-list,
.embed-card {
	display: grid;
	gap: 1rem;
}

.embed-card {
	padding: 1rem;
	border: 1px solid #3a414c;
	border-radius: 9px;
	background: #14171d;
}

.embed-card h3 {
	margin: 0;
	font-size: 1rem;
}

.embed-card .admin-button {
	padding: 7px 11px;
}

.admin-button:disabled {
	opacity: .5;
	cursor: not-allowed;
}

.announcement-main {
	max-width: 1320px;
}

.announcement-main .page-card {
	padding: 30px;
}

.announce-intro {
	margin: 0 0 22px;
}

.announcement-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
	align-items: start;
	gap: 24px;
}

.announce-form {
	min-width: 0;
}

.composer-section {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid #ffffff16;
	border-radius: 12px;
	background: #111419b8;
}

.section-heading {
	display: flex;
	align-items: center;
	gap: 12px;
}

.section-heading h2,
.section-heading p {
	margin: 0;
}

.step-number {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: #5865f226;
	color: #bdc4ff;
	font-weight: 750;
}

.announce-form label {
	color: #cbd0d9;
}

.announce-form input,
.announce-form select,
.announce-form textarea {
	border-color: #353c48;
	background: #0d1015;
	transition: border-color .15s, box-shadow .15s;
}

.announce-form input:focus,
.announce-form select:focus,
.announce-form textarea:focus {
	border-color: #7884ff;
	outline: 0;
	box-shadow: 0 0 0 3px #5865f226;
}

.char-count {
	justify-self: end;
	color: #858d9a;
	font-size: .76rem;
	font-weight: 400;
}

.embed-editor {
	padding: 18px;
}

.embed-editor-heading {
	align-items: flex-start;
}

.embed-editor-heading .section-heading {
	align-items: flex-start;
}

.secondary-button {
	border: 1px solid #5865f2;
	background: #5865f21a;
	color: #dfe2ff;
	white-space: nowrap;
}

.embed-card {
	gap: 14px;
	padding: 16px;
	border-color: #343b47;
	background: linear-gradient(145deg, #1a1e26, #13161c);
}

.embed-card-heading {
	padding-bottom: 12px;
	border-bottom: 1px solid #ffffff12;
}

.composer-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4px 2px;
}

.send-button {
	padding: 12px 20px;
	box-shadow: 0 5px 18px #5865f23d;
}

.preview-panel {
	position: sticky;
	top: 20px;
	min-width: 0;
	padding: 18px;
	border: 1px solid #ffffff16;
	border-radius: 12px;
	background: #101318e8;
	box-shadow: 0 15px 45px #0003;
}

.preview-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
}

.preview-heading h2 {
	margin: 0;
	font-size: 1.15rem;
}

.preview-heading .small {
	margin: 2px 0 0;
}

.preview-live {
	padding: 3px 9px;
	border: 1px solid #3d7155;
	border-radius: 999px;
	background: #193526;
	color: #a8e4bd;
	font-size: .72rem;
	font-weight: 700;
}

.discord-preview {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 160px;
	padding: 14px 12px;
	border: 1px solid #ffffff10;
	border-radius: 9px;
	background: #2b2d31;
}

.preview-avatar {
	width: 38px;
	height: 38px;
	flex: none;
	padding: 2px;
	border-radius: 50%;
	background: #07306a;
}

.preview-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}

.preview-message {
	min-width: 0;
	flex: 1;
}

.preview-author {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #f2f3f5;
	font-size: .86rem;
	font-weight: 700;
}

.preview-author span {
	padding: 1px 4px;
	border-radius: 3px;
	background: #5865f2;
	color: white;
	font-size: .6rem;
}

.preview-author time {
	color: #aeb2b8;
	font-size: .7rem;
	font-weight: 400;
}

.preview-content p {
	margin: 8px 0;
	color: #dcddde;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.preview-empty {
	margin: 12px 0;
	color: #aeb2b8;
	font-size: .85rem;
}

.preview-embed {
	display: grid;
	gap: 7px;
	margin-top: 8px;
	padding: 11px 13px;
	border-left: 4px solid var(--embed-accent, #5865f2);
	border-radius: 4px;
	background: #232428;
	color: #dcddde;
	font-size: .83rem;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.preview-embed-author,
.preview-embed-footer {
	color: #b5bac1;
	font-size: .73rem;
}

.preview-embed-title {
	color: #fff;
	font-size: .92rem;
}

.preview-embed-description {
	margin: 0;
}

.preview-fields {
	display: grid;
	gap: 8px;
}

.preview-field strong,
.preview-field span {
	display: block;
}

.preview-field strong {
	margin-bottom: 2px;
	color: #fff;
}

.preview-media-chip {
	padding: 7px 9px;
	border: 1px dashed #4a4d54;
	border-radius: 5px;
	color: #adb1b8;
	font-size: .75rem;
}

.preview-hint {
	margin: 12px 0 0;
	font-size: .78rem;
}

.announce-back {
	margin-top: 20px;
}

.announce-back a {
	color: #aeb8ff;
	text-decoration: none;
}

@media(max-width: 980px) {
	.announcement-layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.preview-panel {
		position: static;
	}
}

@media(max-width: 600px) {
	.announcement-main .page-card {
		padding: 18px;
	}
	.composer-section,
	.preview-panel {
		padding: 14px;
	}
	.embed-editor-heading {
		flex-direction: column;
	}
}

.announce-form label {
	display: grid;
	gap: 0.45rem;
	font-weight: 600;
}

.announce-form input,
.announce-form select,
.announce-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem;
	border: 1px solid var(--border, #30333b);
	border-radius: 8px;
	background: #111318;
	color: inherit;
	font: inherit;
}

.announce-form input[type="color"] {
	min-height: 3rem;
	padding: 0.25rem;
}

.announce-form textarea {
	resize: vertical;
}
