@import url('https://cdn.jsdelivr.net/npm/cn-fontsource-xiaolai-sc-regular/font.css');

body {
    font-family: "Xiaolai SC", 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', cursive;
    background-color: #fdf6e3;
    background-image: 
        linear-gradient(90deg, transparent 79px, #abced4 79px, #abced4 81px, transparent 81px),
        linear-gradient(#eee .1em, transparent .1em);
    background-size: 100% 1.2em;
    color: #4a4a4a;
    min-height: 100vh;
}

.hand-drawn-border {
    border: 3px solid #5a5a5a;
    border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
    background: #fff9f0;
    box-shadow: 4px 4px 0px rgba(0,0,0,0.1);
}

.hand-drawn-button {
    border: 2px solid #5a5a5a;
    border-radius: 15px 225px 15px 255px/255px 15px 225px 15px;
    background: #ffd6e0;
    transition: all 0.2s;
    cursor: pointer;
    box-shadow: 2px 2px 0px rgba(0,0,0,0.1);
}

.hand-drawn-button.btn-blue {
    background: #abced4;
}

.hand-drawn-button.btn-green {
    background: #d4edda;
}

.hand-drawn-button.btn-red {
    background: #fde2e4;
}

.hand-drawn-button:hover {
    transform: translateY(-2px);
    box-shadow: 4px 4px 0px rgba(0,0,0,0.15);
}

.hand-drawn-button:active {
    transform: translateY(2px);
    box-shadow: 0px 0px 0px rgba(0,0,0,0.1);
}

.hand-drawn-input {
    border: 2px solid #5a5a5a;
    border-radius: 15px 225px 15px 255px/255px 15px 225px 15px;
    background: #fff;
    padding: 0.5rem;
    width: 100%;
}

.title-text {
    text-shadow: 2px 2px 0px #ffe2e2;
}

/* Card Entrance Animation */
@keyframes popIn {
    0% { transform: scale(0.9); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.card-anim {
    animation: popIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.delay-1 { animation-delay: 0.1s; opacity: 0; }
.delay-2 { animation-delay: 0.2s; opacity: 0; }
.delay-3 { animation-delay: 0.3s; opacity: 0; }

/* Custom Checkbox */
.custom-checkbox {
    appearance: none;
    width: 24px;
    height: 24px;
    border: 2px solid #5a5a5a;
    border-radius: 5px;
    background-color: #fff;
    cursor: pointer;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.custom-checkbox:checked {
    background-color: #abced4;
    transform: scale(1.1);
}

.custom-checkbox:checked::after {
    content: '✔';
    position: absolute;
    top: 50%;
    left: 50%;
    color: #4a4a4a;
    font-size: 16px;
    font-weight: bold;
    animation: checkPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes checkPop {
    0% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

/* Streak Animation */
@keyframes streakPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); color: #ff5e7e; }
    100% { transform: scale(1); }
}

.streak-anim {
    animation: streakPop 0.5s ease-out;
    display: inline-block;
}

/* Modal */
#editor-modal {
    z-index: 50;
    transition: opacity 0.3s;
}
.hidden {
    display: none !important;
}
