@font-face {
    font-family: fontprimary; ;
    src: url(./fonts/TestSohneBreit-Buch.otf);
    font-weight: 400;
}
@font-face {
    font-family: fontprimary; ;
    src: url(./fonts/TestSohneBreit-DreiviertelfettKursiv.otf);
    font-weight: 500;
}
@font-face {
    font-family: fontsecondary; 
    src: url(./fonts/GT-Walsheim-Condensed-Regular-Trial-BF651b7fc730eb2.otf);
    font-weight: 400;
}
@font-face {
    font-family: fontsecondary; 
    src: url(./fonts/TestSohneBreit-DreiviertelfettKursiv.otf);
    font-weight: 500;
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
    height: 100%;
    width: 100%;
    /* keep background same as the app so there’s no white flash
       when <main> doesn’t fill the viewport */
    background-color: var(--bg-app);

    /* no scrollbars at all; main may still overflow if content
       grows, but the browser won’t show a bar */
    overflow: hidden;
}

html[data-theme="calm-light"]{
  /* =========================================================
     BACKGROUND / SURFACE LEVELS
     ========================================================= */
  --bg-app: #D6C3AF;            /* warm clay */
  --bg-screen: #E1D0BD;         /* latte foam */
  --bg-panel: #E9DAC8;          /* aged paper */
  --bg-subpanel: #CDB89F;       /* soft leather */
  --bg-interactive: #BFA98F;    /* tactile input surface */

  /* =========================================================
     CARD / IMAGE CONTAINERS
     ========================================================= */
  --card-border: rgba(112, 85, 58, 0.65); /* rich brown */
 --card-border-active: #7E9BBF; /* calm steel blue */
--card-active-glow: 0 0 0 2px rgba(126, 155, 191, 0.35);

  --card-overlay: rgba(214, 195, 175, 0.401);
  --card-shadow: 0 10px 24px rgba(92, 66, 40, 0.28);

  /* =========================================================
     TEXT COLORS
     ========================================================= */
 --text-primary: #24180F;     /* deeper espresso brown */
--text-secondary: #3E2A1B;   /* strong cocoa */
--text-muted: #5E4736;      /* warm muted */

  /* =========================================================
     ACCENT / FEEDBACK
     ========================================================= */
  --accent-primary: #7E9BBF;    /* calm blue */
  --accent-secondary: #B9836F;  /* clay rose */
  --accent-success: #7E9F8A;    /* sage */
  --accent-warning: #C19A5B;    /* warm amber */
  --accent-danger: #A85E4E;     /* brick */


  /* =========================================================
     TYPOGRAPHY
     ========================================================= */
  --font-primary: "Söhne", sans-serif;
  --font-secondary: "GT Walsheim", sans-serif;

  /* =========================================================
     BORDERS & RADIUS
     ========================================================= */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;

   /* Depth – resting cards */
--shadow-card: 
  0 2px 6px rgba(45, 28, 18, 0.25),
  0 10px 20px rgba(45, 28, 18, 0.35);

/* Depth – hover */
--shadow-card-hover:
  0 4px 10px rgba(45, 28, 18, 0.35),
  0 16px 28px rgba(45, 28, 18, 0.45);

/* Depth – active / pressed */
--shadow-card-active:
  0 2px 4px rgba(45, 28, 18, 0.45);
 }

html[data-theme="modern-light"] {
  /* Backgrounds */
     --bg-app: #EAF2F8;          /* pale sky blue */
  --bg-screen: #DCEAF4;       /* airy cloud layer */
  --bg-panel: #F4FAFF;        /* misty white-blue */
  --bg-subpanel: #CFE0EC;     /* soft steel blue */
  --bg-interactive: #B8CFDF; 
  /* Cards */
  --card-border: #E5E7EB;
  --card-border-active: #5B5EFD;
  --card-overlay: rgba(255, 255, 255, 0.25);
  --card-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);

  /* Text */
  --text-primary: #111827;
  --text-secondary: #374151;
  --text-muted: #6B7280;

  /* Accents */
  --accent-primary: #5B5EFD;
  --accent-secondary: #37D0FD;
  --accent-success: #22C55E;
  --accent-warning: #F59E0B;
  --accent-danger: #EF4444;
}

html[data-theme="neon-dark"] {
  /* Backgrounds */
  --bg-app: #080B12;        /* deep blue-black */
  --bg-screen: #0D111C;
  --bg-panel: #12182A;
  --bg-subpanel: #1A2238;
  --bg-interactive: #222C47;

  /* Cards */
  --card-border: rgba(0, 245, 255, 0.25);
  --card-border-active: #00F5FF;
  --card-overlay: rgba(8, 11, 18, 0.16);

  /* Text */
  --text-primary: #EAF6FF;    /* soft ice white */
  --text-secondary: #BFD7E6;
  --text-muted: #7F93A6;

  /* Accents (NEON, but controlled) */
  --accent-primary: #00F5FF;   /* cyan */
  --accent-secondary: #FF4FD8; /* magenta */
  --accent-success: #3DFFB2;   /* mint neon */
  --accent-warning: #FFC857;   /* amber neon */
  --accent-danger: #FF5A5A;    /* red neon */

  /* Shadows feel like glow */
  --shadow-card:
    0 0 0 rgba(0,0,0,0),
    0 10px 30px rgba(0, 245, 255, 0.15);

  --shadow-card-hover:
    0 0 12px rgba(0, 245, 255, 0.35),
    0 18px 40px rgba(0, 245, 255, 0.45);

  --shadow-card-active:
    0 0 8px rgba(0, 245, 255, 0.55);
}

html[data-theme="modern-light"] header {
    background-image: url(./assets/light/morninglight.png);
    background-size: cover;
    background-position: center;
}

html[data-theme="neon-dark"] header {
    background-image: url(./assets/dark/morningdark.png);
    background-size: cover;
    background-position: center;
}

.todo-img {
    content: url("./assets/calm/todocalm.png");
}
html[data-theme="modern-light"] .todo-img {
  content: url("./assets/light/todolight.png");
}
html[data-theme="neon-dark"] .todo-img {
  content: url("./assets/dark/tododark.png");
}

.planner-img {
    content: url("./assets/calm/plannercalm.png");
}
html[data-theme="modern-light"] .planner-img {
  content: url("./assets/light/plannerlight.png");
}
html[data-theme="neon-dark"] .planner-img {
  content: url("./assets/dark/plannerdark.png");
}

.motivation-img {
    content: url("./assets/calm/motivationcalm.png");
}
html[data-theme="modern-light"] .motivation-img {
  content: url("./assets/light/motivationlight.png");
}
html[data-theme="neon-dark"] .motivation-img {
  content: url("./assets/dark/motivationdark.png");
}

.pomo-img {
    content: url("./assets/calm/pomocalm.png");
}
html[data-theme="modern-light"] .pomo-img {
  content: url("./assets/light/pomolight.png");
}
html[data-theme="neon-dark"] .pomo-img {
  content: url("./assets/dark/pomodark.png");
}

.goals-img {
    content: url("./assets/calm/goalscalm.png");
}
html[data-theme="modern-light"] .goals-img {
  content: url("./assets/light/goallight.png");
}
html[data-theme="neon-dark"] .goals-img {
  content: url("./assets/dark/goaldark.png");
}

main {
   
    min-height: 100vh;          /* at least one screen tall */
    width: 100%;

    background-color: var(--bg-app);
}
main::-webkit-scrollbar {
    display: none;
}

nav {
    height: 60px;
    width: 100%;
    /* position: relative; */
     display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 16px 24px;

  background-color: var(--bg-panel);
  
}

nav .theme {
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 500;

  padding: 10px 18px;

  color: var(--text-primary);
  background-color: var(--bg-app);

  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);

  cursor: pointer !important;
  transition: all 0.25s ease;
}

.theme:hover {
  background-color: var(--accent-primary);
  color: white;
  transform: translateY(-1px);
}

.theme:active {
  transform: scale(0.97);
}

section.all-elems {
    height: 100%;
    width: 100%;
    /* background-color: red; */
    padding: 38px;
    padding-top: 80px;
    /* padding-left 2px; */
   
    position: absolute;

}
.all-elems .allfeatures {
    display: flex;
     flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
}

.zentask-logo {
  display: inline-flex;
  align-items: center;
  gap: 2px;

  font-family: var(--font-primary);
  font-size: 28px;
  font-weight: 500;

  color: var(--text-primary);

  padding: 10px 18px;
  
}

/* "zen" — softer feeling */
.zentask-logo .zen {
  font-weight: 400;
  letter-spacing: 0.5px;
  opacity: 0.9;
}

/* "task" — stronger, grounded */
.zentask-logo .task {
  font-weight: 600;
  margin-left: 2px;
}

/* focus / completion dot */
.zentask-logo .dot {
  width: 8px;
  height: 8px;
  margin-left: 6px;

  background-color: var(--accent-primary);
  border-radius: 50%;

  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 35%, transparent);
}

header {
    height: 300px;
    width: 98%;
    margin-bottom: 15px;
    margin-top: -65px;
    border-radius: 20px;
    background-image: url(./assets/calm/morningcalm.png);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 60px;
    }

    header .header1 h1 {
        font-family: var(--font-primary);
        font-size: 70px;
        font-weight: 700;
        color: var(--text-primary);
        /* max-width: 60%; */
        margin-bottom: 30px;
    }
    header .header1 h2 {
        font-family: var(--font-primary);
        font-size: 40px;
        font-weight: 500;
        color: var(--text-primary);
        /* max-width: 60%; */
    }

    header .header1 h4 {
        font-family: var(--font-secondary);
        font-size: 40px;
        font-weight: 600;
        color: var(--text-secondary);
        margin-top: 10px;
    }

    header .header2 h2 {
        font-family: var(--font-primary);
        font-size: 35px;
        font-weight: 700;
        color: var(--text-primary);
        margin-bottom: 5px;
    }

    header .header2 h3 {
        font-family: var(--font-secondary);
        font-size: 17px;
        font-weight: 500;
        color: var(--text-secondary);
        /* mb */
    }

    .header2 h4 {
        font-family: var(--font-secondary);
        font-size: 30px;
        font-weight: 600;
        color: var(--text-secondary);
        margin-bottom: 20px;
    }


.elem {
    width: 252px;
    height: 300px;
    /* background-color: var(--card-border); */
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    position: relative;
    color: var(--text-primary);
    box-shadow: var(--shadow-card);
  transition: 
    box-shadow 0.2s ease,
    transform 0.3s ease;
    overflow: hidden;
  
}

.elem img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 0;
}
.elem:hover {
  box-shadow: var(--shadow-card-hover);
}



.elem h2 {
    position: absolute;
    bottom: 4%;
    
    right: 5%;

    border-radius: var(--radius-sm);
    font-family: fontprimary;
    font-weight: 400;
    color: var(--text-primary);
    font-size: 22px;
         text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.45);
    z-index: 2;
}

.elem:active {
    box-shadow: var(--shadow-card-active);
  border-color: var(--card-border-active);
  scale: 0.97;
}

.elem::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--card-overlay);
    z-index: 1;
}

.fullelem {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--bg-screen);
    padding: 40px;
    font-size: 40px;
    display: none;
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

button.back {
    position: absolute;
    top: 4%;
    right: 3%;
    padding: 12px 23px;
    background-color: var(--accent-danger);
    color: var(--text-primary);
    border: none;
    border-radius: var(--radius-sm);
    font-family: primary !important;
    font-weight: 600;
    font-size: 20px;
    cursor: pointer;
}

button.back:active {
    
    scale: 0.97;
}



/* When an overlay is open, lock background scrolling by adding this class to <body> */
body.modal-open {
    overflow: hidden;
    height: 100vh;
}

.fullelem.todo-fullpage h2 {
    font-size: 50px;
    text-shadow: none;
    font-family: fontprimary;
    font-weight: 500;
    color: var(--text-primary);
    margin-top:-20px ;
}

.todo-container {
    width: 100%;
    height: 85%;
    /* background-color: var(--bg-panel); */
    display: flex;
    margin-top: 35px;
    align-items: center;
    justify-content: space-between;
}

.todo-container .addtask {
    width: 33%;
    height: 100%;
    background-color: var(--bg-panel);
    border-radius: 20px;
   
}


.addtask form {
    display: flex;
    flex-direction: column;
    padding: 30px;
    align-items: flex-start;
    /* gap: 20px; */
}

.addtask form input#task-input {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 20px;
    /* border: 1px solid var(--card-border); */
    border: none;
    background-color: var(--bg-subpanel);
    outline: none;
    border-radius: var(--radius-sm);
    font-family: fontsecondary;
    font-size: 18px;
    color: var(--text-primary);
}

.addtask form input ::placeholder{
    color: var(--text-muted);
}

.addtask form textarea {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 20px;
    /* border: 1px solid var(--card-border); */
    border: none;
    background-color: var(--bg-subpanel);
    outline: none;
    border-radius: var(--radius-sm);
    font-family: fontsecondary;
    font-size: 18px;
    height: 300px;
    color: var(--text-primary);
    resize: none;
}

.addtask form textarea ::placeholder{
    color: var(--text-muted);
}

.addtask form button {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 20px;
    border: none;
    outline: none;
    border-radius: var(--radius-sm);
    font-family: fontprimary;
    font-weight: 500;
    font-size: 18px;
    background-color: var(--accent-primary);   /* calm blue */
     color: var(--text-primary); 
     transition: all ease 0.3s;
     cursor: pointer;
}

.addtask form button:active {
  box-shadow: var(--shadow-card-active);
  scale: 0.97;
}

.todo-container .alltask {
    width: 65%;
    height: 100%;
    background-color: var(--bg-panel);
    border-radius: 20px;
     display: flex;
    flex-direction: column;
    padding: 30px;
    align-items: flex-start;
    overflow-y: auto;
}

.todo-container .alltask .task {
    width: 100%;
    padding: 10px 15px;
    background-color: var(--bg-subpanel);
    border-radius: var(--radius-sm);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    
}


.task h5 {
    font-family: fontsecondary;
    font-weight: 500;
    color: var(--text-primary);
    font-size: 22px;
   
}

.task h5 span {
    background-color: var(--accent-danger);
    color: var(--text-primary);
    font-size: 10px;
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-family: fontprimary;
    font-weight: 500;
    margin-left: 5px;
}

.task h5 span.true {
    opacity: 1;
}
.task h5 span.false {
    opacity: 0;
}

.task summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-muted);
}

/* hide default marker */
.task summary::-webkit-details-marker {
  display: none;
}

.task summary::before {
  content: "▸";
  transition: transform 0.2s ease;
  color: var(--text-muted);
}

.task details[open] summary::before {
  transform: rotate(90deg);
}

.task details p {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.task button {
    padding: 8px 12px;
    border: none;
    background-color: var(--accent-success);
    color: var(--text-primary);
    border-radius: 5px;
    font-family: fontprimary;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
}

.task button:active {
  box-shadow: var(--shadow-card-active);
  scale: 0.97;
}

.mark-imp {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
}

.mark-imp input[type="checkbox"] {
    margin-right: 8px;
    scale: 1.5;
}
.mark-imp label {
    font-family: fontsecondary;
    font-weight: 400;
    color: var(--text-primary);
    font-size: 16px;
}

.fullelem.daily-fullpage h2 {
    font-size: 50px;
    text-shadow: none;
    font-family: fontprimary;
    font-weight: 500;
    color: var(--text-primary);
    margin-top: -20px;
}


.day-planner {
    width: 100%;
    height: 87%;
    background-color: var(--bg-panel);
    border-radius: 20px;
    margin-top: 35px;
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    overflow: auto;
     /* box-shadow: var(--shadow-card); */
    border: 1px solid rgba(92, 66, 40, 0.18);
}

.day-planner::-webkit-scrollbar {
    display: none;
}

.day-planner .day-planner-time {
    display: flex;
    align-items: center;
    position: relative;
    width: 49%;
    margin-bottom: 15px;
}

.day-planner .day-planner-time p {
    font-family: fontsecondary;
    font-weight: 400;
    color: var(--text-muted);
    font-size: 15px;
    margin-right: 15px;
    position: absolute;
    top: 11%;
    left: 0.8%;
}
.day-planner .day-planner-time input {
    width: 100%;
    padding: 12px 25px;
    background-color: var(--bg-subpanel);
    border: none;
    outline: none;
    border-radius: var(--radius-sm);
    font-family: fontsecondary;
    font-size: 25px;
    padding-top: 30px;
    color: var(--text-primary);
}



.motivation-container {
    height: 480px;
    width: 680px;
    background-color: var(--bg-panel);

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card-hover);

    isolation: isolate; /* VERY IMPORTANT */
}
.motivation-fullpage::-webkit-scrollbar {
    display: none;
}


.motivation-container::before {
    content: "";
    position: absolute;
    inset: -120px;
    background: var(--bg-subpanel);
    filter: blur(140px);
    opacity: 0.7;
    z-index: -2;
}



.motivation-container::after {
    content: "";
    position: absolute;
    inset: -60px;
    background: var(--bg-interactive);
    filter: blur(90px);
    opacity: 0.6;
    z-index: -1;
      background: radial-gradient(
    circle at 30% 40%,
    var(--bg-subpanel) 0%,
    transparent 60%
),
radial-gradient(
    circle at 70% 60%,
    var(--bg-interactive) 0%,
    transparent 65%
);
}


.motivation-wrapper {
    height: 100%;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.motivation-1 {
    margin-bottom: 10px;
}
.motivation-1 h2 {
    font-family: var(--font-primary);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.motivation-2 {
   
    padding: 15px;
  
}
.motivation-2 h3 {
    font-family: var(--font-secondary);
    font-weight: 500;
    font-size: 32px;
    line-height: 1.6;
    color: var(--text-primary);
}

.motivation-3 {
    align-self: flex-end;
}

.motivation-3 h3 {
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 18px;
    color: var(--text-secondary);
}



.pomo-fullpage h1 {
  font-family: fontprimary;
  font-size: 55px;
  font-weight: 500;
  color: var(--text-primary);
    margin-top: -20px; 
}  

.pomo-fullpage .session {
    font-family: fontsecondary;
    font-weight: 500;
    color: var(--text-primary);
    font-size: 30px;
    border-radius: 10px;
    position: absolute;
    top: 18%;
     left: 50%;
    transform: translate(-50%,0%);
    padding: 10px 25px;
        background-color: var(--accent-success);
}

.pomo-fullpage .pomo-timer {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
background-color: var(--bg-panel);
padding: 40px 60px;
border-radius: var(--radius-lg);
}

.pomo-fullpage .pomo-timer h1 {
  font-family: fontprimary;
  font-size: 110px;
  font-weight: 500;
  color: var(--text-primary);
  /* margin-bottom: 30px; */
}

.pomo-fullpage .pomo-timer button {
  padding: 12px 32px;
  margin: 10px;
  border-radius: var(--radius-sm);
  font-family: fontprimary;
  font-weight: 500;
  font-size: 19px;
  cursor: pointer;
  border: none;
  box-shadow: var(--shadow-card);
}

.pomo-fullpage .start-timer {
  background-color: var(--accent-primary);
  color: var(--text-primary);
}

.pomo-fullpage .pause-timer {
  background-color: var(--bg-subpanel);
  color: var(--text-secondary);
}
.pomo-fullpage .reset-timer {
  background-color: var(--accent-danger);
  color: var(--text-primary);
}

.pomo-fullpage .pomo-timer button:active {
  box-shadow: var(--shadow-card-active);
  transform: scale(0.97);
}

.fullelem.goals-fullpage h1 {
  font-family: fontprimary;
  font-size: 48px;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 25px;
}



.daily-goals-container {
  height: 85%;
  width: 100%;
  background-color: var(--bg-panel);
  border-radius: var(--radius-lg);
  padding: 30px;
  display: flex;
  gap: 30px;
}

.goals-left,
.goals-right {
  width: 50%;
  background-color: var(--bg-subpanel);
  border-radius: var(--radius-md);
  padding: 25px;
}

.goals-left h3,
.goals-right h3 {
  font-family: fontprimary;
  font-weight: 500;
  font-size: 26px;
  color: var(--text-primary);
  margin-bottom: 20px;
}

.goal-item {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 18px;
}

.goal-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent-success);
}

.goal-item input[type="text"] {
  width: 100%;
  padding: 12px 15px;
  background-color: var(--bg-interactive);
  border: none;
  outline: none;
  border-radius: var(--radius-sm);
  font-family: fontsecondary;
  font-size: 18px;
  color: var(--text-primary);
}

.goals-right textarea {
  width: 100%;
  height: 200px;
  padding: 18px;
  background-color: var(--bg-interactive);
  border: none;
  outline: none;
  resize: none;
  border-radius: var(--radius-md);
  font-family: fontsecondary;
  font-size: 20px;
  color: var(--text-primary);
  line-height: 1.4;
}

.goal-item.completed {
  background-color: var(--accent-success);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
}

.goal-item.completed input[type="text"] {
  background-color: transparent;
  color: var(--text-primary);
}



/* ══════════════════════════════════════════════
   TABLET  ≤ 1024px
══════════════════════════════════════════════ */
@media (max-width: 1024px) {

  html, body { overflow: auto; }

  section.all-elems {
    position: relative;
    padding: 20px;
    padding-top: 70px;
    height: auto;
    min-height: 100vh;
  }

  header {
    margin-top: -50px;
    padding: 30px;
    height: auto;
    min-height: 220px;
    width: 100%;
  }

  header .header1 h1 { font-size: 48px; }
  header .header1 h2 { font-size: 28px; }
  header .header1 h4 { font-size: 24px; }
  header .header2 h2 { font-size: 26px; }
  header .header2 h3 { font-size: 15px; }
  .header2 h4        { font-size: 22px; }

  .all-elems .allfeatures {
    gap: 24px;
    justify-content: center;
  }

  .elem {
    width: 210px;
    height: 250px;
  }

  /* Todo */
  .todo-container {
    flex-direction: column;
    height: auto;
    gap: 20px;
  }
  .todo-container .addtask,
  .todo-container .alltask {
    width: 100%;
    height: auto;
  }
  .todo-container .alltask { min-height: 300px; }

  /* Goals */
  .daily-goals-container {
    flex-direction: column;
    height: auto;
  }
  .goals-left,
  .goals-right { width: 100%; }

  /* Motivation — pull out of absolute */
  .motivation-container {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 85%;
    margin: 40px auto 0;
    height: auto;
    min-height: 400px;
  }

  /* Pomodoro — pull out of absolute */
  .pomo-fullpage .session {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    display: inline-block;
    margin: 16px 0;
  }
  .pomo-fullpage .pomo-timer {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 30px auto 0;
  }
}


/* ══════════════════════════════════════════════
   MOBILE  ≤ 768px
══════════════════════════════════════════════ */
@media (max-width: 768px) {

  html, body { overflow: auto; }

  /* ── Nav ── */
  nav {
    height: 52px;
    padding: 10px 14px;
  }
  .zentask-logo {
    font-size: 20px;
    padding: 6px 8px;
  }
  nav .theme {
    font-size: 12px;
    padding: 7px 11px;
  }

  /* ── Home screen ── */
  section.all-elems {
    position: relative;
    height: auto;
    min-height: 100vh;
    padding: 14px;
    padding-top: 62px;
    overflow-y: auto;
  }

  header {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 12px;
    height: auto;
    min-height: 180px;
    margin-top: -42px;
    padding: 18px;
    width: 100%;
  }
  header .header1 h1 { font-size: 32px; margin-bottom: 6px; }
  header .header1 h2 { font-size: 20px; }
  header .header1 h4 { font-size: 18px; }
  header .header2 {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    align-items: center;
  }
  header .header2 h2 { font-size: 20px; width: 100%; }
  .header2 h4        { font-size: 16px; margin-bottom: 4px; }
  header .header2 h3 { font-size: 13px; }

  /* ── Feature cards: ONE per row on mobile ── */
  .all-elems .allfeatures {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-top: 10px;
  }
  .elem {
    width: 100%;
    height: 160px;
  }
  .elem h2 { font-size: 18px; }

  /* ── Fullpage panels base ── */
  .fullelem {
    padding: 16px;
    padding-top: 64px;
    overflow-y: auto;
  }
  button.back {
    top: 12px;
    right: 12px;
    padding: 8px 16px;
    font-size: 14px;
  }


  /* ══════════════════════
     TO DO LIST
  ══════════════════════ */
  .fullelem.todo-fullpage {
    display: flex;
    flex-direction: column;
  }
  .fullelem.todo-fullpage h2 {
    font-size: 24px;
    margin-top: 0;
    margin-bottom: 4px;
    flex-shrink: 0;
  }
  .todo-container {
    flex-direction: column;
    height: auto;
    width: 100%;
    margin-top: 16px;
    gap: 16px;
    align-items: stretch;
    justify-content: flex-start;
  }
  .todo-container .addtask {
    width: 100%;
    height: auto;
  }
  .addtask form {
    padding: 16px;
  }
  .addtask form input#task-input,
  .addtask form textarea {
    font-size: 16px;
    padding: 10px 12px;
    margin-bottom: 14px;
  }
  .addtask form textarea {
    height: 110px;
  }
  .addtask form button {
    font-size: 16px;
    padding: 10px;
    margin-bottom: 0;
  }
  .todo-container .alltask {
    width: 100%;
    height: auto;
    min-height: 180px;
    max-height: none;
    padding: 16px;
  }
  .task h5     { font-size: 16px; }
  .task button { font-size: 12px; padding: 6px 10px; }


  /* ══════════════════════
     DAILY PLANNER
  ══════════════════════ */
  .fullelem.daily-fullpage h2 {
    font-size: 24px;
    margin-top: 0;
  }
  .day-planner {
    height: auto;
    margin-top: 16px;
    padding: 14px;
    flex-direction: column;
    gap: 10px;
  }
  .day-planner .day-planner-time {
    width: 100%;
  }
  .day-planner .day-planner-time input {
    font-size: 18px;
    padding: 28px 14px 10px;
  }


  /* ══════════════════════
     MOTIVATION
  ══════════════════════ */
  .fullelem.motivation-fullpage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    padding-top: 64px;
    overflow-y: auto;
  }
  .motivation-container {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
  }
  .motivation-container::before,
  .motivation-container::after {
    inset: -20px;
    filter: blur(30px);
    opacity: 0.5;
  }
  .motivation-wrapper {
    padding: 24px 20px;
    gap: 20px;
  }
  .motivation-1 h2 { font-size: 14px; letter-spacing: 1px; }
  .motivation-2 h3 { font-size: 20px; line-height: 1.5; }
  .motivation-3 h3 { font-size: 14px; }


  /* ══════════════════════
     POMODORO TIMER
  ══════════════════════ */
  .pomo-fullpage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 16px;
    padding-top: 64px;
    overflow-y: auto;
  }
  .pomo-fullpage > h1 {
    font-size: 28px;
    margin-top: 0;
    text-align: center;
    width: 100%;
    flex-shrink: 0;
  }
  .pomo-fullpage .session {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    font-size: 17px;
    padding: 8px 20px;
    margin: 16px 0;
    text-align: center;
    flex-shrink: 0;
  }
  .pomo-fullpage .pomo-timer {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 340px;
    padding: 28px 20px;
    text-align: center;
    margin-top: 8px;
    flex-shrink: 0;
  }
  .pomo-fullpage .pomo-timer h1 {
    font-size: 68px;
    margin-top: 0;
  }
  .pomo-fullpage .pomo-timer button {
    padding: 10px 20px;
    font-size: 15px;
    margin: 6px 4px;
  }


  /* ══════════════════════
     DAILY GOALS
  ══════════════════════ */
  .fullelem.goals-fullpage {
    padding: 16px;
    padding-top: 64px;
    overflow-y: auto;
  }
  .fullelem.goals-fullpage h1 {
    font-size: 28px;
    margin-bottom: 16px;
  }
  .daily-goals-container {
    flex-direction: column;
    height: auto;
    padding: 16px;
    gap: 16px;
  }
  .goals-left,
  .goals-right {
    width: 100%;
    padding: 18px;
  }
  .goals-left h3,
  .goals-right h3 {
    font-size: 20px;
    margin-bottom: 14px;
  }
  .goal-item { gap: 10px; margin-bottom: 14px; }
  .goal-item input[type="text"] {
    font-size: 15px;
    padding: 10px 12px;
  }
  .goals-right textarea {
    font-size: 15px;
    height: 130px;
    padding: 14px;
  }
}


/* ══════════════════════════════════════════════
   SMALL PHONES  ≤ 480px
══════════════════════════════════════════════ */
@media (max-width: 480px) {

  header .header1 h1 { font-size: 26px; }
  header .header1 h2 { font-size: 16px; }
  header .header1 h4,
  .header2 h4        { font-size: 14px; }
  header .header2 h2 { font-size: 16px; }
  header .header2 h3 { font-size: 12px; }

  .elem { height: 140px; }
  .elem h2 { font-size: 15px; }

  .fullelem.todo-fullpage h2,
  .fullelem.daily-fullpage h2   { font-size: 20px; }
  .fullelem.goals-fullpage h1   { font-size: 24px; }
  .pomo-fullpage > h1           { font-size: 24px; }
  .pomo-fullpage .pomo-timer h1 { font-size: 56px; }
  .pomo-fullpage .pomo-timer button {
    padding: 8px 14px;
    font-size: 13px;
  }

  .motivation-2 h3 { font-size: 17px; }
  .motivation-1 h2 { font-size: 12px; }

  .addtask form textarea { height: 90px; }
}