@font-face {
    font-family: 'PartialSansKR-Regular';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2307-1@1.1/PartialSansKR-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'YClover-Bold';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_231029@1.1/YClover-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'BMJUA';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/BMJUA.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'YES24';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_13@1.0/YES24.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


html {
    overflow-y: scroll;
}

body {
    background-color: #1a1a1a;
    color: #ffffff;
}

h1 {
    text-align: center;
}
.indexlogo1 {
    font-family: 'YClover-Bold';
    font-size: 4rem;
    color: #007bff;
    text-decoration: none; /* 밑줄 제거 */
}

.search-input {
    font-family: 'PartialSansKR-Regular';
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 100px 0 0 100px; /* 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래 */
    font-size: 1rem;
    transition: border 0.2s;
    width: 450px;
}
.search-input:focus {
    border: 1px solid #ccc;   /* 기존과 동일하게 */
    outline: none;            /* 포커스 테두리 제거 */
    /* 추가 스타일 없음 */
}

.search-btn {
    background: #007bff;
    color: #ffffff;
    border: none;
    padding: 10px 22px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    font-family: 'PartialSansKR-Regular';
    border-radius: 0 100px 100px 0; /* 왼쪽 위, 오른쪽 위, 오른쪽 아래, 왼쪽 아래 */
}
.search-btn:hover {
    color: #2d3e50;
}

.search-form1 {
    display: flex;
    justify-content: center;
}

.search-history {
    display: none;
    list-style: none;
    padding: 0;
    margin: 8px auto 0 auto;
    max-width: 400px;
    color: #fff;
    font-family: 'PartialSansKR-Regular';
    text-align: left;
    z-index: 1000;
}

.search-history li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-bottom: 1px solid #444;
    font-size: 1rem;
    background: transparent;
    transition: background 0.15s;
    cursor: pointer;
}
.search-history li:hover {
    background: #222831;
}

.search-history .delete-btn {
    background: none;
    border: none;
    color: #aaa;
    font-size: 1.1rem;
    cursor: pointer;
    margin-left: 12px;
    transition: color 0.15s;
}
.search-history .delete-btn:hover {
    color: #ff5252;
}

.search-history.active {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000; /* mri-btn-group보다 높게 */
    background: #222831;
    box-shadow: 0 4px 24px rgba(0,0,0,0.18);
    width: 400px; /* 검색창과 맞추기 */
    max-width: 90vw;
}

.signin1, .signup1 {
    font-family: 'PartialSansKR-Regular';
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.signin1:hover, .signup1:hover {
    color: #2d3e50;
}

.header-buttons1 {
    margin-top: 30px;
    display: flex;
    gap: 13px;
    justify-content: center;
}

.mri-btn-group {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    position: absolute;
    top: 285.3px;
    left: 50%;
    transform: translateX(-50%);
}

.mri-btn-group > button:not(:nth-child(6n+1)) {
    margin-left: -80px;
    z-index: 1;
}

.mri영상판독법 {
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    font-family: 'PartialSansKR-Regular';
    position: relative;
    height: 360px;
    min-width: 220px;
    width: 250px;
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url('mri영상판독법.jpg') center/cover no-repeat;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    border-radius: 12px;
    transition: 
        filter 0.2s, 
        box-shadow 0.3s, 
        z-index 0.2s, 
        transform 0.3s cubic-bezier(.23,1.02,.64,1.11);
    cursor: pointer;
}

.종의기원 {
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    font-family: 'PartialSansKR-Regular';
    position: relative;
    height: 360px;
    min-width: 220px;
    width: 250px;
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url('종의기원.jpg') center/cover no-repeat;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    border-radius: 12px;
    transition: 
        filter 0.2s, 
        box-shadow 0.3s, 
        z-index 0.2s, 
        transform 0.3s cubic-bezier(.23,1.02,.64,1.11);
    cursor: pointer;
}

.도덕형이상학 {
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    font-family: 'PartialSansKR-Regular';
    position: relative;
    height: 360px;
    min-width: 220px;
    width: 250px;
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url('도덕형이상학.jpg') center/cover no-repeat;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    border-radius: 12px;
    transition: 
        filter 0.2s, 
        box-shadow 0.3s, 
        z-index 0.2s, 
        transform 0.3s cubic-bezier(.23,1.02,.64,1.11);
    cursor: pointer;
}

/* 책 뽑는 효과 */
.mri영상판독법:hover,
.mri영상판독법:focus {
    box-shadow: 0 32px 64px rgba(0,0,0,0.25), 0 2px 12px rgba(0,0,0,0.08);
    filter: brightness(0.85);
    transform: translateY(-60px) scale(1.08) rotate(-2deg);
    /* 원하는 각도와 이동값으로 조절 */
}

.도덕형이상학:hover,
.도덕형이상학:focus {
    box-shadow: 0 32px 64px rgba(0,0,0,0.25), 0 2px 12px rgba(0,0,0,0.08);
    filter: brightness(0.85);
    transform: translateY(-60px) scale(1.08) rotate(-2deg);
    /* 원하는 각도와 이동값으로 조절 */
}

.종의기원:hover,
.종의기원:focus {
    box-shadow: 0 32px 64px rgba(0,0,0,0.25), 0 2px 12px rgba(0,0,0,0.08);
    filter: brightness(0.85);
    transform: translateY(-60px) scale(1.08) rotate(-2deg);
    /* 원하는 각도와 이동값으로 조절 */
}

.idpw {
    font-family: 'PartialSansKR-Regular';
    margin-bottom: 12px;
    padding: 12px;
    width: 300px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1rem;
    transition: border 0.2s;
    border-radius: 100px;
}
.idpw:focus {
    font-family: 'PartialSansKR-Regular';
    border: 1.5px solid #2d3e50;
    outline: none;
}

.enter {
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 12px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}
.enter:hover {
    color: #2d3e50;
}

.login-title {
    font-size: 3rem;
    position: absolute;
    top: calc(285.03125px - 0.67em);
    left: 50%;
    transform: translateX(-50%);
}

.login {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 280px;
    max-width: 350px;
    text-align: center;
}

.book-inner {
    position: absolute;
    top: 397.5px;
    right: calc(53% + 12px);
}

.mri-chapter-list {
    position: absolute;
    top: 397.5px;
    left: 47%;
    display: flex;
    flex-direction: column;
    gap: 12px; /* 버튼 사이 간격 */
    align-items: flex-start;
}

.mri영상판독법1장,
.mri영상판독법2장,
.mri영상판독법3장,
.mri영상판독법4장,
.mri영상판독법5장,
.mri영상판독법6장,
.mri영상판독법7장 {
    font-family: 'YES24';
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.mri영상판독법1장:hover,
.mri영상판독법2장:hover,
.mri영상판독법3장:hover,
.mri영상판독법4장:hover,
.mri영상판독법5장:hover,
.mri영상판독법6장:hover,
.mri영상판독법7장:hover {
    color: #2d3e50;
}

.postit-list {
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.postit-list-home {
    position: absolute;
    top: 110%;
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.postit-list-chapter {
    position: absolute;
    top: 397.5px;
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.postit {
    font-family: 'PartialSansKR-Regular';
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    background: #ffffff96;
    border-radius: 12px;
    width: 297px;
    min-height: 90px;
    padding-top: 16px;
    padding-bottom: 14px;
    font-family: 'PartialSansKR-Regular', sans-serif;
    color: #333;
    display: inline-block;
    vertical-align: top;
}
.postit:hover {
    color: #2d3e50;
}

.postit-author {
    font-size: 0.95rem;
    font-weight: bold;
    color: #007bff;
}

.postit-content {
    font-size: 1rem;
    word-break: break-all;
}

.postit iframe {
    border-radius: 8px;
    width: 100%;
    height: 100%;
}

.round-btn {
    font-family: 'sans-serif';
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 80px;
    height: 80px;
    background: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    font-size: 5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.round-btn:hover {
    font-family: 'sans-serif';
    color: #2d3e50;
}

.essay-bar {
    position: fixed;
    height: 40px;
    width: 600px;
    right: 1%;
    bottom: 576px;
    background: #ffffff;
    color: #000;
    border-radius: 6px 6px 0 0;
    z-index: 3000;
    display: flex;
    justify-content: space-between; /* 좌우 끝에 배치 */
}

.essay-bar-left {
    display: flex;
    align-items: center;
}
.essay-bar-right {
    display: flex;
    align-items: center;
    font-family: 'PartialSansKR-Regular';
}

#qna {
    font-family: 'PartialSansKR-Regular';
    color: #000;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
#qna:hover {
    color: #2d3e50;
}

.minus, .full, .cancel {
    font-family: 'PartialSansKR-Regular';
    color: #000;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.minus:hover, .full:hover, .cancel:hover {
    color: #2d3e50;
}

.essay {
    background: #000;
    color: #ffffff;
    position: fixed;
    height: 516px;
    width: 600px;
    right: 1%;
    bottom: 60px;
    border: none;
    font-family: 'PartialSansKR-Regular';
    font-size: 1rem;
    transition: border 0.2s;
    padding: 24px;
    box-sizing: border-box;
    display: block;
    z-index: 2000;
    resize: none;
}
.essay:focus {
    font-family: 'PartialSansKR-Regular';
    outline: none;
}

.essay-bottom {
    position: fixed;
    height: 60px;
    width: 600px;
    right: 1%;
    bottom: 0%;
    background: #ffffff;
    color: #000;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: space-between; /* 좌우 끝에 배치 */
}

.import {
    font-family: 'PartialSansKR-Regular';
    color: #000;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.import:hover {
    color: #2d3e50;
}

.highlight {
    background: #ffe066;
    color: #222;
    border-radius: 3px;
    padding: 0 2px;
}

.header-buttons1,
.indexlogo1,
.search-form1,
.fixed-background1 {
    transition: transform 0.4s cubic-bezier(.23,1.02,.64,1.11), top 0.4s cubic-bezier(.23,1.02,.64,1.11);
}