/* - 全局样式 */
@font-face {
    font-family: "Linotte";
    src: url("../fonts/Linotte\ Regular.otf") format("opentype");
    font-weight: normal;
}

@font-face {
    font-family: "Linotte";
    src: url("../fonts/Linotte\ Bold.otf") format("opentype");
    font-weight: bold;
}

@font-face {
    font-family: "HYZhengYuan";
    src: url("../fonts/HYZhengYuan-55W.ttf") format("opentype");
    font-weight: normal;
}

@font-face {
    font-family: "HYZhengYuan";
    src: url("../fonts/HYZhengYuan-85S.ttf") format("opentype");
    font-weight: bold;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--color-mantle, #eeeeee);
    color: var(--color-text, #4c4948);
    font-family: Linotte, HYZhengYuan, sans-serif;
    font-weight: normal;
}
/* - 全局样式 End */

/* - 页首 */
.page-head {
    display: flex;
    justify-content: center;
    /* align-items: center; */ /* [^1] 开这玩意儿实现打字标题居中会导致页面跳动，我也不知道这是为甚么 TAT */
    width: 100%;
    height: 320px;
    background-color: #49b1f5;
    background-image: url(../images/backgrounds/page-head/wallhaven-9delkw.jpg);
    background-size: cover;
    background-position: center 85%; /* 请根据需要调整图片位置 */
    /* background-attachment: fixed; */
}

.page-head > .title,
.page-head > .typed-cursor {
    height: max-content;
    margin-top: 160px; /* [^1] 所以此处使用上边距实现居中，反正能跑就行（ */
    font-size: 32px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.15);
}
/* - 页首 End */

/* - 主体容器 */
.primary-container {
    display: flex;
    justify-content: center;
    width: 80%;
    height: auto;
    /* background-color: brown; */
}

/* 左侧区域 */
.primary-container > .left-area {
    max-width: 350px;
    width: 30%;
    margin-right: 16px;
    
    position: sticky;
    top: 16px;
    align-self: flex-start;
}

/* 右侧区域 */
.primary-container > .right-area {
    max-width: 1050px;
    width: 70%;
}
/* - 主体容器 End */

/* 固定备忘录区域 */
.primary-container > .right-area > .pinned-memos-section {
    position: relative;
    width: 100%;
    margin-top: 16px;
    border-radius: 12px;
    padding: 20px;
    background-color: var(--color-base, #ffffff);
    box-shadow: 0 4px 8px 6px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.pinned-memos-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.pinned-memos-section .section-header .title {
    font-size: 16px;
    font-weight: bold;
    color: var(--color-text, #4c4948);
}

.pinned-memos-section .section-header .title i {
    margin-right: 8px;
    color: var(--color-accent, #f59768);
}

.pinned-memos-section .section-header .view-all {
    font-size: 13px;
    color: var(--color-accent, #2a92d8);
    text-decoration: none;
    transition: opacity 0.2s;
}

.pinned-memos-section .section-header .view-all:hover {
    opacity: 0.8;
}

.pinned-memos-container {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.2) transparent;
}

.pinned-memos-container::-webkit-scrollbar {
    height: 6px;
}

.pinned-memos-container::-webkit-scrollbar-track {
    background: transparent;
}

.pinned-memos-container::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.2);
    border-radius: 3px;
}

.pinned-memo-card {
    flex-shrink: 0;
    width: calc(33.333% - 12px);
    min-width: 200px;
    max-width: 260px;
    border-radius: 4px 4px 4px 20px;
    padding: 16px;
    box-shadow: 
        0 2px 4px rgba(0,0,0,0.1),
        0 4px 8px rgba(0,0,0,0.05);
    background: var(--color-memo-1, #fff9c4);
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
}

.pinned-memo-card:nth-child(5n+1) { background: var(--color-memo-1, #fff9c4); }
.pinned-memo-card:nth-child(5n+2) { background: var(--color-memo-2, #c8e6c9); }
.pinned-memo-card:nth-child(5n+3) { background: var(--color-memo-3, #bbdefb); }
.pinned-memo-card:nth-child(5n+4) { background: var(--color-memo-4, #f8bbd0); }
.pinned-memo-card:nth-child(5n+5) { background: var(--color-memo-5, #f5eedd); }

.pinned-memo-card:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 4px 8px rgba(0,0,0,0.15),
        0 8px 16px rgba(0,0,0,0.08);
}

.pinned-memo-card .memo-icon {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 14px;
    color: var(--color-memo-icon, rgba(0,0,0,0.3));
}

.pinned-memo-card .memo-title {
    font-weight: bold;
    font-size: 15px;
    margin-bottom: 8px;
    color: var(--color-memo-title, #333);
    word-break: break-all;
}

.pinned-memo-card .memo-content {
    font-size: 13px;
    color: var(--color-memo-content, #555);
    line-height: 1.5;
    word-break: break-all;
}

.pinned-memo-card .memo-time {
    margin-top: 12px;
    font-size: 11px;
    color: var(--color-memo-time, rgba(0,0,0,0.4));
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.pinned-memo-card .memo-time .time-left {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pinned-memos-section .empty-pinned {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    color: rgba(0,0,0,0.4);
}

.pinned-memos-section .empty-pinned i {
    font-size: 32px;
    margin-bottom: 8px;
}

.pinned-memos-section .empty-pinned span {
    font-size: 14px;
}

/* 内容板块 */
.primary-container > .right-area > .content-page {
    position: relative;
    width: 100%;
    margin-top: 16px;
    border-radius: 12px;
    padding: 20px 46px 46px 46px;
    background-color: #ffffff;
    box-shadow: 0 4px 8px 6px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;

    * {
        position: relative;
        z-index: 1;
    }
}

/* 内容板块的贴纸 */
.primary-container > .right-area > .content-page::before {
    content: "";
    position: absolute;

    /* 如果需要修改贴纸请根据图片情况调整此处的值~ */
    bottom: 20px;
    right: 0;
    width: 400px;
    height: 500px;

    background-color: #aaaaaa;
    mask: url(../images/content_page_sticker.png) no-repeat center;
    mask-size: contain;
    z-index: 0;
}

/* - 左侧卡片 */
.primary-container > .left-area > .cards > .card-item {
    width: 100%;
    margin-top: 16px;
    padding: 18px 20px;
    border-radius: 12px;
    box-sizing: border-box;
    background-color: #ffffff;
    box-shadow: 0 4px 8px 6px rgba(0, 0, 0, 0.06);
    font-size: 14px;
}

/* 标题 */
.primary-container > .left-area > .cards > .card-item > .title {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: bold;

    i {
        margin-right: 10px;
    }
}

/* - 个人信息 */
.primary-container > .left-area > .cards > .card-item#personal-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.primary-container > .left-area > .cards > .card-item#personal-info > .avatar {
    width: 120px;
    height: auto;
    overflow: hidden;
    border-radius: 50%;
}

.primary-container > .left-area > .cards > .card-item#personal-info > .name {
    margin: 12px 0 14px 0;
    font-size: 20px;
    font-weight: bold;
}

.primary-container > .left-area > .cards > .card-item#personal-info > .social-icons i {
    padding: 7px;
    border-radius: 50%;
    font-size: 16px;
    background-color: #b5e0ff;
    color: #304660;
}

.primary-container > .left-area > .cards > .card-item#personal-info > .social-icons a + a {
    margin-left: 14px;
}
/* - 个人信息 End */

/* 一言 */
.primary-container > .left-area > .cards > .card-item#hitokoto > .content a#hitokoto-text {
    color: unset;
}

/* - 浏览设置 */
.primary-container > .left-area > .cards > .card-item > .content > .settings-item {
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: 12px;
    box-sizing: border-box;
    background-color: #c0e5ff;
}

/* 标题 */
.primary-container > .left-area > .cards > .card-item > .content > .settings-item > .title {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: bold;

    i {
        margin-right: 10px;
    }
}

/* - 主题设置 */
.primary-container > .left-area > .cards > .card-item > .content > .settings-item > .themes {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.primary-container > .left-area > .cards > .card-item > .content > .settings-item > .themes > .theme-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 42px;
    border: none;
    border-radius: 12px;
    font-family: inherit;
    font-size: 10px;
    font-weight: bold;
    box-sizing: border-box;

    i {
        margin-bottom: 2px;
    }
}

.primary-container > .left-area > .cards > .card-item > .content > .settings-item > .themes > .theme-item,
.primary-container > .left-area > .cards > .card-item > .content > .settings-item > .themes > .theme-item * {
    cursor: url(https://cdn.jsdelivr.net/gh/honjun/cdn@1.6/img/cursor/ayuda.cur), pointer;
}

.primary-container > .left-area > .cards > .card-item > .content > .settings-item > .themes > .theme-item.enable {
    /* border: 2px solid #e87a90; */
    box-shadow: 0px 0px 2px 2px #2a92d8;
}
/* - 主题设置 End */
/* - 浏览设置 End */

/* - 左侧卡片 End */

/* - 页脚 */
.footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 180px;
    margin-top: 70px;
    background-color: #e5e5e5;
    box-shadow: inset 0 -4px 8px 6px rgba(0, 0, 0, 0.06);
    font-size: 14px;
    line-height: 20px;
}

.footer > br {
    position: relative;
}

.footer > .line-break {
    display: block;
    margin: 2px 0;
    color: #aaaaaa;
}

.footer .icp-link {
    color: #4c4948;
}
/* - 页脚 End */
