@charset "utf-8";
/* CSS Document */

/* =========================================================
	Dark Red Theme
	※配色値は旧 Dark Purple のまま
========================================================= */

:root{
	--bg-main:#080808;
	--bg-sub:#0f0f10;
	--bg-panel:#151516;
	--bg-panel-soft:#1b1b1d;
	--bg-input:#111113;
	--bg-hover:#211324;

	--text-main:#e8e8e8;
	--text-sub:#a8a8aa;
	--text-muted:#77777a;
	--text-link:#d889ff;

	--border-main:#343437;
	--border-soft:#27272a;
	--border-accent:#8d2eb5;

	--accent:#c34cff;
	--accent-strong:#e06cff;
	--accent-dark:#5c176f;

	--danger:#ff5a68;
	--danger-bg:#2b1115;

	--highlight:#4a2c00;
}


/* =========================================================
	Base
========================================================= */

body{
	background:
		radial-gradient(circle at 15% 0%,rgba(116,24,137,.12),transparent 34%),
		radial-gradient(circle at 85% 20%,rgba(82,15,104,.10),transparent 30%),
		var(--bg-main);
	color:var(--text-main);
}

a{
	color:var(--text-link);
}

a:hover{
	color:var(--accent-strong);
}


/* =========================================================
	Main Layout
========================================================= */

.bbs-header{
	border-bottom-color:var(--border-main);
}

.bbs-header h1{
	color:#f2e7f7;
	text-shadow:0 0 10px rgba(195,76,255,.18);
}

.bbs-header-user-link,
.bbs-user-menu-toggle{
	color:var(--text-main);
}

.bbs-header-user-link:hover,
.bbs-header-user-link:focus,
.bbs-user-menu-toggle:hover,
.bbs-user-menu-toggle:focus{
	color:var(--accent-strong);
}

.bbs-user-menu-dropdown{
	background:#111014;
	border-color:rgba(255,255,255,.34);
	box-shadow:0 10px 28px rgba(0,0,0,.52);
}

.bbs-user-menu-dropdown a{
	color:#eee;
}

.bbs-user-menu-dropdown a + a{
	border-top-color:rgba(255,255,255,.12);
}

.bbs-user-menu-dropdown a:hover,
.bbs-user-menu-dropdown a:focus{
	background:rgba(154,39,183,.22);
	color:#fff;
}

.bbs-btn{
	background:linear-gradient(180deg,#2a152f,#1a0d1e);
	color:#fff;
	border-color:#673176;
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.03),
		0 0 10px rgba(120,34,147,.10);
}

.bbs-btn:hover{
	background:linear-gradient(180deg,#3a1b42,#241029);
	border-color:var(--border-accent);
	color:#fff;
}

.bbs-empty{
	background:var(--bg-panel);
	border-color:var(--border-main);
	color:var(--text-sub);
}


/* =========================================================
	Base Contents
========================================================= */

.base-content{
	background:
		linear-gradient(135deg,rgba(255,255,255,.015),transparent 60%),
		var(--bg-panel);
	border-color:var(--border-main);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

.base-content-normal{
	border-color:#d5d9df;
}

.base-content-info{
	border-color:#5d8fca;
}

.base-content-attention{
	border-color:#d0a13c;
}

.base-content-warning{
	border-color:#d26b35;
}

.base-content-danger{
	border-color:#c84b55;
}

.base-content-title,
#threadTop .thread-title,
.thread-list .thread-title{
	border-bottom-color:rgba(154,39,183,.72);
}

.base-content-title::before,
#threadTop .thread-title::before,
.thread-list .thread-title::before{
	background:#9a27b7;
}

.base-content-link-list li + li::before,
.base-content-category-group-title,
.content-thread-list li,
.post-meta{
	border-color:rgba(255,255,255,.08);
}

.base-content-access{
	border-color:rgba(154,39,183,.60);
}

.base-content-access-item{
	background:rgba(154,39,183,.055);
}

.base-content-access-item + .base-content-access-item{
	border-left-color:rgba(255,255,255,.16);
}


/* =========================================================
	Thread
========================================================= */

.thread-card{
	background:
		linear-gradient(135deg,rgba(255,255,255,.015),transparent 60%),
		var(--bg-panel);
	border-color:var(--border-main);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.02),
		0 8px 20px rgba(0,0,0,.16);
}

.thread-card:hover{
	border-color:#49494d;
}

.thread-thumb img{
	border-color:var(--border-main);
	background:#000;
}

.thread-title{
	color:#f5f5f5;
}

.thread-title a{
	color:#f1f1f1;
}

.thread-title a:hover{
	color:var(--accent-strong);
}

.thread-new,
.category-thread-new{
	background:#351014;
	border-color:#7d2932;
	color:#ff7a86;
}

.thread-member-only{
	background:#2a152f;
	border-color:#673176;
	color:#d889ff;
}

.thread-meta{
	color:var(--text-muted);
}

.thread-meta a{
	color:#bd78d9;
}

.post-author,
.post-text{
	color:#eee;
}

.post-date{
	color:#fff;
}

.thread-text{
	color:#d5d5d7;
}

.thread-top-link{
	background:linear-gradient(180deg,#2a152f,#1a0d1e);
	border-color:#673176;
	color:#fff;
	box-shadow:
		inset 0 0 0 1px rgba(255,255,255,.03),
		0 4px 14px rgba(0,0,0,.35);
}

.thread-top-link:hover{
	background:linear-gradient(180deg,#3a1b42,#241029);
	border-color:var(--border-accent);
	color:#fff;
}

.thread-notification-toggle:hover,
.thread-notification-toggle:focus{
	color:var(--accent-strong);
}

.bbs-trip-badge{
	border-color:#3ca66d;
	background:rgba(60,166,109,.08);
	color:#70c995;
}

.post-sexual-mixed{
	color:#c86ddd;
}

.post-sexual-female{
	color:#e85b68;
}

.post-sexual-male{
	color:#5aa9ff;
}


/* =========================================================
	Post List
========================================================= */

.post-order-head{
	border-bottom-color:var(--border-main);
}

.post-order-head h2{
	color:#f2f2f2;
}

.post-order-switch{
	color:var(--text-muted);
}

.post-order-switch a{
	color:var(--text-link);
}

.post-order-current{
	color:#fff;
}

.reply-open-button{
	background:linear-gradient(180deg,#2a152f,#1a0d1e);
	border-color:#673176;
	color:#fff;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.reply-open-button:hover{
	background:linear-gradient(180deg,#3a1b42,#241029);
	border-color:var(--border-accent);
	color:#fff;
}

.reply-toggle{
	color:#f3e8f6;
	border-top-color:var(--border-main);
	border-bottom-color:var(--border-main);
}

.reply-toggle:hover{
	color:var(--accent-strong);
	background:rgba(129,37,151,.07);
}

.post-pagination{
	color:var(--text-muted);
}

.post-pagination a,
.post-pagination-current{
	background:var(--bg-panel);
	border-color:var(--border-main);
	color:var(--text-sub);
}

.post-pagination a:hover{
	background:var(--bg-hover);
	border-color:var(--border-accent);
	color:var(--accent-strong);
}

.post-pagination-current{
	background:linear-gradient(180deg,#35183d,#211025);
	border-color:var(--border-accent);
	color:#fff;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}


/* =========================================================
	Member Page
========================================================= */

.member-page-side{
	background:rgba(255,255,255,.025);
	border-color:rgba(255,255,255,.10);
}

.member-page-side-user,
.member-info-list,
.member-info-row,
.member-setting-list,
.member-setting-link,
.member-mail-setting-list,
.member-mail-setting-row{
	border-color:rgba(255,255,255,.10);
}

.member-page-side-id,
.member-page-nav-heading,
.member-info-label,
.member-mail-setting-info .form-note,
.member-mailbox-contact-id,
.member-mailbox-date,
.member-mailbox-message-date,
.member-notification-thread-status{
	color:var(--text-muted);
}

.member-page-nav-link{
	border-left-color:transparent;
	color:var(--text-main);
}

.member-page-nav-link:hover,
.member-page-nav-link:focus,
.member-setting-link:hover{
	background:rgba(154,39,183,.10);
}

.member-page-nav-link.current{
	border-left-color:#9a27b7;
	background:rgba(154,39,183,.16);
	color:var(--text-main);
}

.member-section-heading,
.member-mailbox-page-title{
	border-bottom-color:rgba(154,39,183,.72);
}

.member-section-heading .thread-title::before,
.member-mailbox-page-title::before{
	background:#9a27b7;
}

.member-status-on{
	background:#183c2b;
	color:#75e6a4;
}

.member-status-off{
	background:#452126;
	color:#ff8c95;
}

.member-mail-method-public{
	background:#173454;
	color:#78baff;
}

.member-mail-method-anonymous{
	background:#3a2451;
	color:#d7a3ff;
}

.member-profile-image-slot,
.member-mail-reply-attachment-slot{
	background:rgba(255,255,255,.025);
	border-color:rgba(255,255,255,.22);
}

.member-profile-image-slot.has-existing,
.member-profile-image-slot.has-file,
.member-mail-reply-attachment-slot.has-file{
	border-color:var(--border-main);
}

.member-profile-image-file-select,
.member-mail-reply-file-select{
	color:var(--text-sub);
}

.member-profile-image-delete-button,
.member-profile-image-file-remove,
.member-mail-reply-file-remove{
	border-color:rgba(255,255,255,.55);
	background:rgba(0,0,0,.72);
	color:#fff;
}

.member-profile-image-restore-button{
	border-color:rgba(255,255,255,.32);
	background:rgba(0,0,0,.72);
	color:var(--text-main);
}

.member-profile-image-delete-button:hover,
.member-profile-image-delete-button:focus,
.member-profile-image-file-remove:hover,
.member-profile-image-file-remove:focus,
.member-profile-image-restore-button:hover,
.member-profile-image-restore-button:focus{
	border-color:#bd78d9;
	background:rgba(154,39,183,.88);
	color:#fff;
}


/* =========================================================
	Member Notification Settings
========================================================= */

.member-notification-category{
	background:rgba(255,255,255,.025);
	border-color:rgba(255,255,255,.10);
}

.member-notification-category-summary:hover{
	background:rgba(154,39,183,.10);
}

.member-notification-category-body,
.member-notification-region-item,
.member-notification-thread-row{
	border-color:rgba(255,255,255,.08);
}

.member-notification-category-select,
.member-notification-category-clear,
.member-notification-region-select,
.member-notification-region-clear{
	background:transparent;
	border-color:var(--border-main);
	color:var(--text-sub);
}

.member-notification-category-select:hover,
.member-notification-category-clear:hover,
.member-notification-region-select:hover,
.member-notification-region-clear:hover{
	background:var(--bg-hover);
	border-color:var(--border-accent);
	color:var(--accent-strong);
}

input[type="checkbox"],
input[type="radio"]{
	accent-color:var(--accent);
}


/* =========================================================
	Member Mailbox
========================================================= */

.member-mailbox-list,
.member-mailbox-list-head,
.member-mailbox-open{
	border-color:rgba(255,255,255,.10);
}

.member-mailbox-list-head{
	color:var(--text-muted);
}

.member-mailbox-open{
	color:var(--text-main);
}

.member-mailbox-open:hover,
.member-mailbox-open:focus{
	background:rgba(154,39,183,.10);
}

.member-mailbox-source-info,
.member-mailbox-message{
	background:rgba(255,255,255,.025);
	border-color:rgba(255,255,255,.10);
}

.member-mailbox-message-own{
	background:rgba(154,39,183,.055);
}

.member-mailbox-message-head,
.member-mailbox-reply-info,
.member-mailbox-message-actions,
.member-mailbox-reply-quote-body{
	border-color:rgba(255,255,255,.08);
}

.member-mailbox-reply-info{
	background:rgba(0,0,0,.08);
	color:var(--text-sub);
}

.member-mailbox-reply-form{
	background:rgba(0,0,0,.10);
	border-color:rgba(154,39,183,.35);
}

.member-mailbox-reply-quote{
	background:rgba(255,255,255,.025);
	border-left-color:rgba(154,39,183,.55);
	color:var(--text-sub);
}

.member-mail-reply-attachments-summary{
	border-color:rgba(255,255,255,.16);
}


/* =========================================================
	Forms
========================================================= */

.form-row > label{
	color:#e2e2e2;
}

.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="url"],
.form-row input[type="password"],
.form-row input[type="number"],
.form-row input[type="datetime-local"],
.form-row select,
.form-row textarea{
	background:var(--bg-input);
	color:var(--text-main);
	border-color:var(--border-main);
}

.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus{
	border-color:var(--accent);
	box-shadow:0 0 0 2px rgba(195,76,255,.12);
}

.form-row input::placeholder,
.form-row textarea::placeholder{
	color:#66666a;
}

.form-row input:-webkit-autofill,
.form-row input:-webkit-autofill:hover,
.form-row input:-webkit-autofill:focus{
	-webkit-text-fill-color:var(--text-main);
	-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset;
	caret-color:var(--text-main);
}

#replyForm input[name="email"][readonly]{
	background:rgba(255,255,255,.04);
	color:rgba(255,255,255,.55);
}

.form-note{
	color:var(--text-muted);
}

.error-box{
	background:var(--danger-bg);
	border-color:#6b252e;
	color:#ff8a94;
}


/* =========================================================
	Attachment Preview
========================================================= */

.attachment-preview{
	background:#0c0c0d;
	border-color:#684078;
}

.image-preview{
	background:#090909;
	border-color:var(--border-main);
}

.preview-video{
	background:#000;
}


/* =========================================================
	Attachments
========================================================= */

.attachment-item{
	background:#0a0a0a;
	border-color:var(--border-main);
	box-shadow:0 4px 12px rgba(0,0,0,.2);
}

.attachment-item:hover{
	border-color:#633278;
}

.post-edit-wrap .attachment-item > div{
	color:var(--text-sub);
}


/* =========================================================
	Delete / Edit
========================================================= */

.post-tools{
	border-top-color:rgba(255,255,255,.05);
}

.admin-post-edit-button{
	border-color:rgba(189,120,217,.55);
	background:rgba(154,39,183,.12);
	color:#bd78d9;
}

.admin-post-edit-button:hover,
.admin-post-edit-button:focus{
	border-color:#bd78d9;
	background:rgba(154,39,183,.24);
	color:#e06cff;
}

.delete-form input[type="password"]{
	background:#0e0e10;
	color:#ddd;
	border-color:var(--border-main);
}

.delete-form button{
	background:#1b1b1d;
	color:#ddd;
	border-color:var(--border-main);
}

.delete-form button:hover{
	background:#2a132f;
	border-color:#6a3478;
	color:#fff;
}


/* =========================================================
	Anchor Popup
========================================================= */

.anchor-popup{
	background:#121214;
	border-color:#49494c;
	color:#ddd;
	box-shadow:0 10px 30px rgba(0,0,0,.5);
}

.anchor-popup-title{
	color:#f5f5f5;
}

.anchor-popup-meta{
	color:var(--text-muted);
}

.anchor-popup-body{
	color:#cfcfd2;
}

.anchor-popup-actions button{
	background:#1b1b1d;
	color:#ddd;
	border-color:var(--border-main);
}

.anchor-popup-actions button:hover{
	background:#2e1435;
	border-color:var(--border-accent);
}

.anchor-highlight{
	background:var(--highlight);
}


/* =========================================================
	Modal
========================================================= */

.confirm-modal{
	background:rgba(0,0,0,.74);
}

.confirm-modal-inner{
	background:#121214;
	border-color:var(--border-main);
	color:var(--text-main);
	box-shadow:
		0 18px 60px rgba(0,0,0,.6),
		0 0 30px rgba(108,31,129,.12);
}

.confirm-modal-inner h3{
	color:#f1e9f4;
	border-bottom-color:var(--border-main);
}

.confirm-label{
	color:#9f80a9;
}

.confirm-value{
	color:#ddd;
}

.confirm-body{
	background:#0c0c0d;
	border-color:var(--border-main);
	color:#ddd;
}

.confirm-file-preview{
	color:var(--text-sub);
}

.confirm-file-preview img,
.confirm-file-preview video{
	border-color:var(--border-main);
	background:#000;
}

.confirm-actions{
	background:linear-gradient(180deg,rgba(18,18,20,0),#121214 30%);
}

.confirm-actions button{
	background:#1d1d20;
	color:#ddd;
	border-color:var(--border-main);
}

.confirm-actions button:hover{
	background:#321439;
	border-color:var(--border-accent);
	color:#fff;
}


/* =========================================================
	Member Icons / Profile
========================================================= */

.member-mail-inline-link,
.member-profile-inline-link,
#memberProfileMailForm button{
	color:#bd78d9;
}

.member-mail-inline-link:hover,
.member-profile-inline-link:hover,
.member-profile-inline-link:focus,
#memberProfileMailForm button:hover,
#memberProfileMailForm button:focus{
	color:#e06cff;
}

.member-profile-modal-head,
.member-profile-modal-main-image,
.member-profile-thumbnail-button,
.member-profile-modal-information,
.member-profile-modal-row{
	border-color:rgba(255,255,255,.12);
}

.member-profile-modal-main-image{
	background:rgba(255,255,255,.025);
}

.member-profile-modal-head button{
	background:transparent;
	border-color:rgba(255,255,255,.24);
	color:var(--text-main);
}

.member-profile-modal-head button:hover,
.member-profile-modal-head button:focus{
	background:rgba(154,39,183,.14);
	border-color:rgba(189,120,217,.72);
	color:#fff;
}

.member-profile-modal-label{
	color:var(--text-main);
}


/* =========================================================
	Scrollbar
========================================================= */

*{
	scrollbar-width:thin;
	scrollbar-color:#52225e #111;
}

*::-webkit-scrollbar{
	width:10px;
	height:10px;
}

*::-webkit-scrollbar-track{
	background:#111;
}

*::-webkit-scrollbar-thumb{
	background:#52225e;
	border:2px solid #111;
	border-radius:10px;
}

*::-webkit-scrollbar-thumb:hover{
	background:#71317f;
}


/* =========================================================
	Selection
========================================================= */

::selection{
	background:#792d8d;
	color:#fff;
}


/* =========================================================
	Responsive
========================================================= */

@media(max-width:640px){

	.member-page-nav-panel{
		border-color:rgba(255,255,255,.20);
		background:#111014;
		box-shadow:0 10px 28px rgba(0,0,0,.52);
	}

	.member-page-nav-toggle{
		border-color:rgba(154,39,183,.55);
		background:rgba(154,39,183,.10);
	}

	.member-page-nav-toggle:hover,
	.member-page-nav-toggle:focus{
		border-color:#bd78d9;
		background:rgba(154,39,183,.22);
	}

	.member-page-nav-link{
		border-bottom-color:transparent;
	}

	.member-page-nav-panel .member-page-nav-link{
		border-bottom-color:rgba(255,255,255,.10);
	}

	.member-page-nav-link.current{
		border-left-color:transparent;
		border-bottom-color:#9a27b7;
	}

}