@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

body{
    margin:0;
    font-family: 'Noto Sans KR', sans-serif;
    color:#fff;
    display:flex;
	font-size: 14px;
    flex-direction:column;
    height:100vh;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* 사파리 대응 */
}
p {
    display: block;
    margin-block-start: 0px;
    margin-block-end: 0px;
    unicode-bidi: isolate;
}
input::placeholder {
  color: #999;
}
.chat-wrap{
    flex:1;
    overflow-y:auto;
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:12px;
    background: rgba(255,255,255,0.1);
}

.message{ max-width:75%; display:flex; }
.user{ align-self:flex-end; }
.bot{ align-self:flex-start; }

.bubble{
    padding: 12px 16px;
    border-radius:16px;
}

.user .bubble{
    background: rgba(109,131,143,0.8);
    border: 1px solid rgba(177,177,177,0.8);
    color:#fff;
	font-size: 14px;
}

.bot .bubble{
    background: rgba(0,0,0,0.3);
    border: 1px solid rgba(177,177,177,0.8);
    color:#fff;
	font-weight: 500;
}

.input-wrap{
    background: rgba(255,255,255,0.1);
    padding:10px;
    display:flex;
    gap: 4px;
}

.input-box{
    flex:1;
    background: rgba(0,0,0,0.4);
    border: 1px solid rgba(177,177,177,0.8);
    border-radius:20px;
    padding:8px 12px;
}

.input-box input{
    width:100%;
    border:none;
    background:none;
    color:#fff;
    outline:none;
}

button{
    border:none;
    background:#19c37d;
    border-radius: 50px;
    cursor:pointer;
}
button svg {
	width: 15px;
	height: 20px;
}

.mike {
    background: rgba(255,255,255,0.8);
    padding: 9px 13px 7px;
}
.submit {
    background: rgba(176,216,219,0.8);
    padding: 8px 13px 8px;
	font-weight: 600;
}
/* 추천 버튼 */
.quick-wrap{
    background: rgba(255,255,255,0.1);
    padding:10px;
    display:flex;
    gap:8px;
    overflow-x:auto;
}

.chip{
    padding:6px 12px;
    border-radius:20px;
    background: rgba(133,167,176,0.8);
    border: 1px solid rgba(133,167,176,0.8);
    cursor:pointer;
	color: #000;
	font-size: 13px;
    white-space:nowrap;
}

.chat-top {
	padding: 20px 70px;
	border-bottom: 1px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.1);
}
.chat-top .chat-btn {
	position :absolute;
	left: 10px;
	top: 7px;
}

.quick-inline{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:6px;
}

.quick-inline .chip{
    padding:6px 12px;
    border-radius:20px;
    background: rgba(133,167,176,0.8);
    border: 1px solid rgba(133,167,176,0.8);
	color: #fff;
    cursor:pointer;
    font-size:13px;
}

.chat-wrap {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.2) transparent;
}

.chat-wrap::-webkit-scrollbar {
    width: 4px;
}

.chat-wrap::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.1);
    border-radius: 10px;
}

#loadingLayer{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;

    opacity:0;
    pointer-events:none;
    transition:0.3s;
}

#loadingLayer.active{
    opacity:1;
    pointer-events:auto;
}

.loading-box{
    text-align:center;
}

.spinner{
    width:50px;
    height:50px;
    border:4px solid rgba(255,255,255,0.2);
    border-top:4px solid #19c37d;
    border-radius:50%;
    animation:spin 1s linear infinite;
    margin:0 auto 10px;
}

.loading-text{
    font-size:14px;
    color:#fff;
}

@keyframes spin{
    to{ transform:rotate(360deg); }
}

.opacity-control{
    padding: 10px 20px 20px;
	display: flex;
    justify-content: center;
	align-items: center;
	gap: 10px;
    background: rgba(255,255,255,0.1);
}

#opacityRange{
    width: 34%;
    -webkit-appearance:none;
    height: 2px;
    border-radius:2px;
    background:rgba(255,255,255,0.2);
    outline:none;
	text-align: center;
}

/* 트랙 */
#opacityRange::-webkit-slider-runnable-track{
    height: 2px;
    border-radius:2px;
    background:rgba(255,255,255,0.2);
}

/* 핸들 */
#opacityRange::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#fff;
    margin-top:-5px;
    cursor:pointer;
}

.chat-desc {
    background: rgba(255,255,255,0.1);
	padding: 5px 13px 10px;
	font-size: 13px;
	display: flex;
    align-items: center;
    gap: 5px;
}