@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');



:root {

    --bg-main: #F4F1EC;

    --card-bg: #FFFFFF;

    --text-dark: #42474A;

    --text-muted: #666E73;

    --accent-blue: #5A6B8C;

    --accent-green: #7D8F69;

    --border-soft: #DFD8CB;

}



body {

    font-family: 'Montserrat', sans-serif;

    background-color: #E2DDD5;

    margin: 0;

    padding: 0;

    display: flex;

    justify-content: center;

    align-items: center;

    min-height: 100vh;

}



.app-container {
    width: 100%;
    max-width: 430px;
    height: 100dvh; /* Força que ocupi exactament l'alçada visible del mòbil */
    background-color: var(--bg-main);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden; /* BLOQUEJA el scroll general de tota la pantalla */
    padding: 8px 0 60px 0; /* Espai inferior per al menú fix */
    box-sizing: border-box;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}



/* Capçalera centrada amb element absolut a la dreta per a la campaneta */

.app-header {

    text-align: center;

    position: relative;

    padding: 4px 16px;

    flex-shrink: 0;

}



.app-header h1 {

    font-size: 0.95rem;

    color: var(--text-dark);

    font-weight: 600;

    letter-spacing: 0.5px;

    margin: 4px 0;

}



.app-header .subtitle {

    font-size: 0.7rem;

    color: var(--text-muted);

    margin: 0;

}



.btn-icon-settings {

    position: absolute;

    right: 16px;

    top: 50%;

    transform: translateY(-50%);

    background: none;

    border: none;

    cursor: pointer;

    font-size: 1rem;

}



.mood-container {

    padding: 0 16px;

    flex-shrink: 0;

    margin: 6px 0;

}



.category-nav {

    display: flex;

    gap: 6px;

    overflow-x: auto;

    scrollbar-width: none;

}



.cat-btn {

    background: var(--card-bg);

    border: 1px solid var(--border-soft);

    border-radius: 16px;

    padding: 8px 14px;

    flex: 1;

    cursor: pointer;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-height: 38px;

    transition: all 0.2s ease;

}



.cat-btn.active {

    background-color: var(--accent-green);

    color: #FFFFFF;

    border-color: var(--accent-green);

    transform: translateY(-2px);

}



.cat-btn span {

    font-size: 1.15rem;

}



.path-section {

    padding: 0 16px;

    flex-shrink: 0;

    margin-bottom: 6px;

}



.card {

    background: var(--card-bg);

    border: 1px solid var(--border-soft);

    border-radius: 12px;

    box-shadow: 0 1px 4px rgba(0,0,0,0.02);

}



.guide-card {

    padding: 10px 14px;

    font-size: 0.78rem;

    line-height: 1.35;

}



.guide-title {

    font-weight: 600;

    margin-bottom: 2px;

    color: var(--accent-green);

    font-size: 0.8rem;

}



/* Secció del quadern expansible amb scroll vertical per llapis/mà */

.notebook-section {
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* S'expandeix omplint tot l'espai lliure entre la capçalera i el menú */
    overflow: hidden;
    margin-bottom: 6px;
    min-height: 0; /* CLAU perquè flexbox permeti el funcionament del scroll intern */
}

.notebook {
    background: var(--card-bg);
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
    height: 100%; /* S'ajusta al 100% del calaix flex */
    overflow: hidden;
}



.notebook-header {

    padding: 8px 12px;

    font-size: 0.7rem;

    color: var(--text-muted);

    border-bottom: 1px solid var(--border-soft);

    background: #FAF8F5;

    display: flex;

    justify-content: space-between;

    font-weight: 500;

    flex-shrink: 0;

}



/* Contenidor del canvas optimitzat per a gestos tàctils i scroll còmode */
.canvas-container {
    position: relative;
    width: 100%;
    flex-grow: 1;
    overflow-y: auto; /* PERMET l'scroll intern del llapis/text */
    -webkit-overflow-scrolling: touch;
    background-image: repeating-linear-gradient(var(--card-bg), var(--card-bg) 27px, var(--border-soft) 28px);
    cursor: crosshair;
}

/* Personalització de la barra d'scroll perquè sigui ben visible i fàcil d'agafar amb el dit */
.canvas-container::-webkit-scrollbar {
    width: 18px; /* Més gruixuda per facilitar el toc amb el polze */
}

.canvas-container::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 9px;
}

.canvas-container::-webkit-scrollbar-thumb {
    background-color: var(--border-soft); /* O pots usar var(--accent-green) si vols que destaca més */
    border-radius: 9px;
    border: 4px solid var(--card-bg5); /* Crea un marge net al voltant */
}

.canvas-container::-webkit-scrollbar-thumb:hover {
    background-color: var(--text-muted);
}

canvas {
    display: block;
    width: 100%;
    height: 1000px; /* Alçada llarga de paper pautat per poder escriure molt avall */
    touch-action: none;
}



.notebook-footer {

    padding: 6px 12px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: #FAF8F5;

    border-top: 1px solid var(--border-soft);

    font-size: 0.7rem;

    color: var(--text-muted);

    flex-shrink: 0;

}



.btn-action {

    background: var(--card-bg);

    border: 1px solid var(--border-soft);

    padding: 4px 10px;

    border-radius: 16px;

    cursor: pointer;

    color: var(--text-dark);

    font-size: 0.68rem;

    font-family: 'Montserrat', sans-serif;

    font-weight: 500;

    transition: all 0.2s ease;

}



.btn-action:hover {

    background: var(--border-soft);

}



.history-container {

    padding: 0 16px;

    flex-shrink: 0;

}



.history-section {

    background: var(--card-bg);

    border: 1px solid var(--border-soft);

    border-radius: 12px;

    padding: 8px 14px;

}



.history-section summary {

    cursor: pointer;

    font-weight: 600;

    color: var(--accent-blue);

    font-size: 0.75rem;

    font-family: 'Montserrat', sans-serif;

}



.history-list {

    margin-top: 6px;

    max-height: 60px;

    overflow-y: auto;

    font-size: 0.72rem;

    color: var(--text-muted);

}



.history-item {

    padding: 4px 0;

    border-bottom: 1px dashed var(--border-soft);

    display: flex;

    justify-content: space-between;

} 