@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700;800&display=swap');

#ppcb {
	--night:#17251a;
	--panel:#1d2f22;
	--panel2:#243b2a;
	--panel3:#2e4a35;
	--line:#3a5a42;
	--cream:#f1e7cd;
	--cream2:#e8dcbd;
	--gold:#c9a44e;
	--gold-lt:#e6c877;
	--txt-light:#ede5c4;
	--txt-dim:#a8b98f;
	--bubble-other:#2e4a35;
	--bubble-mine:#c9a44e;
	--bubble-mine-txt:#241c08;
	--radius:14px;
	width:100%;
	max-width:460px;
	margin:40px auto;
	font-family:'Nanum Gothic',sans-serif;
	font-size:13px;
	line-height:1.5;
	color:var(--txt-light);
}
#ppcb, #ppcb * {box-sizing:border-box;}
#ppcb a {text-decoration:none;}
#ppcb p, #ppcb form {margin:0;}
#ppcb textarea, #ppcb input, #ppcb button {font-family:inherit;}

#ppcb .ppcb-adm {margin-bottom:8px;text-align:right;}
#ppcb .ppcb-adm .ui-btn {
	display:inline-block;padding:5px 10px;border:1px solid var(--line);
	border-radius:8px;background:var(--panel2);color:var(--txt-dim);font-size:11px;
}
#ppcb .chatbook {
	width:100%;background:var(--panel);border:1px solid var(--gold);
	border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
	box-shadow:0 18px 50px rgba(0,0,0,.45);
}

#ppcb .cb-head {
	padding:14px 18px 12px;background:var(--panel2);border-bottom:1px solid var(--line);
	display:flex;align-items:center;gap:12px;
}
#ppcb .room-ico {
	width:38px;height:38px;border-radius:12px;flex:none;
	background:linear-gradient(135deg,var(--gold),var(--gold-lt));color:#241c08;
	font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;
}
#ppcb .room-tit {flex:1;min-width:0;}
#ppcb .room-tit b {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;letter-spacing:.5px;color:var(--cream);}
#ppcb .room-tit span {font-size:11px;color:var(--txt-dim);}
#ppcb .room-cnt {flex:none;font-size:11px;color:var(--gold);border:1px solid var(--gold);border-radius:20px;padding:3px 10px;background:rgba(201,164,78,.08);}
#ppcb .room-cnt i {font-size:10px;margin-right:2px;}

#ppcb .cb-notice {display:flex;align-items:center;gap:10px;padding:8px 16px;background:rgba(201,164,78,.10);border-bottom:1px solid var(--line);font-size:12px;color:var(--cream2);text-align:left;}
#ppcb .cb-notice .pin {flex:none;width:20px;color:var(--gold);font-size:15px;line-height:1;margin:0;text-align:center;transform:rotate(-5deg);transform-origin:center;}
#ppcb .cb-notice .notice-text {display:block;flex:1;min-width:0;margin:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.6;text-align:left!important;word-break:keep-all;overflow-wrap:anywhere;}

#ppcb .notice-text,
#ppcb .load-more,
#ppcb .date-chip,
#ppcb .who,
#ppcb .bubble,
#ppcb .time,
#ppcb .ctrl,
#ppcb .no-data,
#ppcb .no-write,
#ppcb .cb-foot input,
#ppcb .cb-foot textarea,
#ppcb .cb-foot button,
#ppcb .ppcb-search input,
#ppcb .ppcb-search button {font-family:'Mona12',sans-serif!important;}

#ppcb .cb-body {
	min-height:160px;overflow-y:auto;padding:18px 14px 24px;
	background-color:var(--night);
	background-image:radial-gradient(circle at 20% 15%,rgba(201,164,78,.05),transparent 40%),radial-gradient(circle at 85% 80%,rgba(201,164,78,.04),transparent 45%);
}
#ppcb .cb-body::-webkit-scrollbar {width:5px;}
#ppcb .cb-body::-webkit-scrollbar-thumb {background:var(--line);border-radius:3px;}
#ppcb .load-more {text-align:center;margin:0 0 18px;}
#ppcb .load-more.down {margin:18px 0 0;}
#ppcb .load-more a {display:inline-block;font-size:10px;color:var(--txt-dim);border:1px dashed var(--line);border-radius:20px;padding:4px 14px;letter-spacing:1px;}
#ppcb .load-more i {font-size:9px;margin:0 3px;}
#ppcb .date-chip {text-align:center;margin:20px 0 14px;}
#ppcb .date-chip span {display:inline-block;font-size:10px;color:var(--txt-dim);background:var(--panel2);border-radius:20px;padding:4px 14px;letter-spacing:1px;}

#ppcb .msg {display:flex;gap:10px;margin-bottom:4px;}
#ppcb .msg + .msg {margin-top:12px;}
#ppcb .msg + .date-chip {margin-top:26px;}
#ppcb .msg.reply {margin-top:5px;}
#ppcb .msg.reply.cont {margin-top:3px;}
#ppcb .avatar {width:36px;height:36px;border-radius:12px;flex:none;background:var(--panel3);color:var(--gold-lt);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:2px;overflow:hidden;}
#ppcb .avatar img {width:100%;height:100%;object-fit:cover;}
#ppcb .msg.cont .avatar {visibility:hidden;}
#ppcb .stack {max-width:76%;display:flex;flex-direction:column;gap:3px;}
#ppcb .who {font-size:11px;color:var(--txt-dim);margin:0 0 2px 4px;}
#ppcb .who b, #ppcb .who > a {color:var(--cream2);font-weight:700;margin-right:4px;}
#ppcb .who .grade {margin-left:4px;color:var(--txt-dim);font-size:10px;font-weight:400;}
#ppcb .row {display:flex;align-items:flex-end;gap:6px;}
#ppcb .bubble {background:var(--bubble-other);border:1px solid var(--line);padding:9px 13px;border-radius:var(--radius);border-top-left-radius:4px;line-height:1.55;color:var(--txt-light);word-break:break-word;overflow-wrap:anywhere;}
#ppcb .stack .row + .row .bubble {border-top-left-radius:var(--radius);}
#ppcb .bubble img {max-width:100%;height:auto;border-radius:8px;}
#ppcb .time {font-size:10px;color:var(--txt-dim);flex:none;padding-bottom:2px;white-space:nowrap;}
#ppcb .ctrl {font-size:10px;color:var(--txt-dim);flex:none;padding-bottom:2px;opacity:0;transition:opacity .15s;white-space:nowrap;}
#ppcb .msg:hover .ctrl {opacity:.9;}
#ppcb .ctrl a {color:var(--txt-dim);margin-left:4px;}
#ppcb .ctrl a:hover {color:var(--gold);}

#ppcb .msg.mine {flex-direction:row-reverse;}
#ppcb .msg.mine .stack {align-items:flex-end;}
#ppcb .msg.mine .row {flex-direction:row-reverse;}
#ppcb .msg.mine .bubble {background:var(--bubble-mine);border-color:var(--bubble-mine);color:var(--bubble-mine-txt);border-radius:var(--radius);border-top-right-radius:4px;font-weight:400;}
#ppcb .msg.mine .stack .row + .row .bubble {border-top-right-radius:var(--radius);}
#ppcb .bubble i.fa-solid {font-size:11px;margin-left:2px;}
#ppcb .msg:not(.mine) .bubble i.fa-solid {color:var(--gold-lt);}
#ppcb .msg.mine .bubble i.fa-solid {color:var(--bubble-mine-txt);}
#ppcb .lock-mini {margin-right:5px;}

#ppcb .bubble.secret {display:flex;align-items:center;gap:8px;color:var(--txt-dim);font-style:normal;background:var(--panel2);border-style:dashed;}
#ppcb .bubble.secret .lock {color:var(--gold);font-size:13px;}
#ppcb .bubble.secret form {display:flex!important;align-items:center;gap:5px;}
#ppcb .bubble.secret input {width:90px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--txt-light);font-size:11px;padding:2px 4px;outline:none;}
#ppcb .bubble.secret button {background:none;border:1px solid var(--gold);color:var(--gold);font-size:10px;border-radius:10px;padding:2px 8px;cursor:pointer;}
#ppcb .bubble.secret-reply {color:var(--txt-dim);background:var(--panel2);border-style:dashed;font-weight:400;}

#ppcb .cb-foot {border-top:1px solid var(--line);background:var(--panel2);padding:10px 12px 12px;}
#ppcb .guest-row {display:flex;gap:6px;margin-bottom:8px;}
#ppcb .guest-row input {flex:1;min-width:0;height:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--txt-light);font-size:11px;padding:6px 10px;outline:none;}
#ppcb .captcha-row {margin:0 0 8px;text-align:left;}
#ppcb .captcha-row #captcha {display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);}
#ppcb .captcha-row #captcha_key {background:var(--panel2);border-color:var(--line);color:var(--txt-light);}
#ppcb .captcha-row #captcha_info {display:block!important;order:20;flex:0 0 100%;width:100%;margin:3px 0 0!important;line-height:1.45;text-align:left;}
#ppcb input::placeholder, #ppcb textarea::placeholder {color:var(--txt-dim);opacity:1;}
#ppcb .input-row {display:flex;align-items:flex-end;gap:8px;}
#ppcb .secret-toggle {flex:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
#ppcb input[type=checkbox]#secret {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
#ppcb input[type=checkbox]#secret:checked + .secret-toggle {border-color:var(--gold);color:var(--gold);background:rgba(201,164,78,.1);}
#ppcb .input-row textarea {flex:1;resize:none;height:34px;max-height:90px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--txt-light);font-size:12px;padding:8px 12px;outline:none;line-height:1.4;overflow-y:auto;}
#ppcb .input-row textarea:focus {border-color:var(--gold);}
#ppcb .send {flex:none;height:34px;padding:0 16px;background:linear-gradient(135deg,var(--gold),var(--gold-lt));border:0;border-radius:10px;color:#241c08;font-weight:800;font-size:12px;cursor:pointer;letter-spacing:1px;}
#ppcb .send:hover {filter:brightness(1.08);}
#ppcb .send:disabled {opacity:.55;cursor:wait;}

#ppcb .reply-write {margin:6px 0 12px 46px;}
#ppcb .reply-row {display:flex;align-items:flex-end;gap:6px;}
#ppcb .reply-row textarea {flex:1;min-width:0;resize:vertical;max-height:100px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;color:var(--txt-light);font-size:11px;padding:7px 10px;outline:none;}
#ppcb .reply-row .send {width:34px;padding:0;}
#ppcb .reply-edit-slot {display:block;width:100%;}
#ppcb .reply-edit-slot .reply-write {margin:5px 0 0;}
#ppcb .no-data, #ppcb .no-write {padding:30px 10px;text-align:center;color:var(--txt-dim);font-size:11px;}
#ppcb .no-write {padding:5px;}

#ppcb .ppcb-search {margin-top:10px;text-align:right;}
#ppcb .ppcb-search form {display:inline-flex;align-items:center;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:10px;}
#ppcb .ppcb-search input {width:130px;background:transparent;border:0;color:var(--txt-light);font-size:11px;padding:7px 10px;outline:none;}
#ppcb .ppcb-search button {width:32px;height:30px;background:transparent;border:0;color:var(--gold);cursor:pointer;}

@media (max-width:520px) {
	#ppcb {margin:12px auto;}
	#ppcb .chatbook {border-radius:14px;}
	#ppcb .stack {max-width:82%;}
	#ppcb .bubble.secret {display:block;}
	#ppcb .bubble.secret form {margin-top:6px!important;}
	#ppcb .send {padding:0 12px;}
}
