* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@font-face {
  font-family: 'PomodoroFont';
  src: url('https://acumensites.space/wp-content/uploads/2026/01/SpaceGrotesk-SemiBold.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


body {
  font-family: 'Inter', sans-serif;
  background: transparent;

  color: #fff;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* APP */
.pomodoro-app {
  width: 100%;
  max-width: 420px;
  position: relative;

  padding: 28px 24px 32px;
  border-radius: 20px;
  
  /* Glass effect 
  
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.2),
    0 1px 2px rgba(255, 255, 255, 0.1);

 border: 1px solid rgba(255, 255, 255, 0.25);*/
      background: transparent;
     box-shadow: none;
}

/* HEADER */
.app-header {
  position: absolute;
  top: -60px;
  right: 0;
}

.settings-btn {
    background:#6caa7f ;

  padding: 8px 18px ! important;
  border-radius: 12px ! important;
  border: none;
  cursor: pointer;
}
.settings-icon {
  width: 30px;    
  height: 30px;
  object-fit: contain;
	 color:white;
}




/* CONTAINER */
.app-container {
  text-align: center;
}

/* MODE SECTION */
.mode-section {
  margin-bottom: 32px;
	width: 350px;
}
.mode-container {
  display: flex;
  background: #f1f1f126;
  padding: 16px;
  border-radius: 14px;
	
}

.mode-btn {
  flex: 1;
  background: #11111173  ! important ;
  border: none ! important;
  padding: 15px 0;
  font-size: 15px;
  cursor: pointer;
font-weight:600;
	border-radius:none !important;
  color: white ! important;
 border-radius:0;
}

.mode-btn.active {
    background:#6caa7f ! important;
    color: #111;
    font-weight: 800;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  
}

/* TIMER */
.timer-section {
/*  margin: 40px 0;*/
    margin: 36px 0 42px;
}



.timer-display {
  font-size: clamp(56px, 18vw, 120px);
  font-weight: 600;
  
  line-height: 1;
font-family: 'SpaceGrotesk-SemiBold', sans-serif;
  color: #fff;
  text-shadow: 0 4px 20px rgba(0,0,0,0.6);
}
.timer-container {
  margin-left: -40px;
}

/* CONTROLS */
.control-container {
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
}

.start-btn {
  background:#6caa7f;
  color: #fff;
  padding: 12px 28px;
 
  border: none;
  cursor: pointer;
}

.pause-btn {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
  padding: 12px 28px;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  opacity: 0.6;
}

.pause-btn:enabled {
  opacity: 1;
}


.reset-btn {
  background: #6caa7f;
  color: #fff;
  padding: 12px 28px;
 
  border: none;
  cursor: pointer;
}



/* CLOSE BUTTON */
.close-settings {
  position: absolute;
  top: 12px;
  right: 12px;
  border: none;
  background: #6caa7f;
  font-size: 18px;
  cursor: pointer;
}





/* FOCUS BUTTONS */
.focus-btn {
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  border: none;
  background: #6caa7f;
  margin-bottom: 8px;
  cursor: pointer;
}

.focus-btn.active {
  background: #111;
  color: #fff;
}

/* =============
CUSTOM INPUTS  =================*/

.custom-inputs {
  margin-top: 16px;
   display: flex;
  flex-direction: column;
  gap: 1px;
  animation: fadeSlide 0.3s ease;
}
@keyframes fadeSlide {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Each block */
.time-block h5 {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 0;
	width:110px;
}
.time-block {
	display: flex;
	text-align: justify;
	gap: 8px;
	align-items: center;
	}

/* Two-column grid */
.time-grid {
  display: grid;
  grid-template-columns: 70px 70px;
  gap: 6px;
}

/* Inputs */
.time-grid input {
  width: 70px;
  height: 32px;

  padding: 4px 6px;

  font-size: 13px;
  text-align: center;

  border-radius: 8px;
}

.custom-inputs.hidden {
  display: none;
}

.custom-inputs label {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  margin-bottom: 8px;

  font-weight: 500;
  color: #333;

}

.custom-inputs input {
  margin-top: 6px;
  padding: 4px 6px;
  font-size: 13px;
  border-radius: 8px;
  border: 1.5px solid #ddd;
  outline: none;
  transition: border 0.2s ease, box-shadow 0.2s ease;
}

/* Input focus */
.custom-inputs input:focus {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
}

/* SAVE BUTTON */
.save-custom {
  margin-top: 10px;
  padding: 12px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 14px;
  border: none;
  background: #111;
  color: #fff;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

/* Hover */
.save-custom:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
  opacity: 0.95;
}

/* Click */
.save-custom:active {
  transform: translateY(0);
  box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}

/* ======SETTINGS TABS GRID ======*/

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 16px;
}

.settings-tab {
  padding: 14px;
  border-radius: 14px;
  border: none;
  background: #6caa7f;
  cursor: pointer;
  font-size: 14px;
}

.settings-tab.active {
  background: #111;
  color: #fff;
}

/* =====================
   SETTINGS POPUP
===================== */

.settings-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.35);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 50;
}

.settings-overlay.open {
  display: flex;
}

.settings-panel {
  width: 320px;
  padding: 20px;
  border-radius: 20px;
  background-color: #fff;  

  position: relative;
  color: #000000;
}

/* Hide timer options initially */
.timer-options-panel {
  display: none;
  margin-top: 16px;
}

.timer-options-panel.open {
  display: block;
}

/* Hide theme options initially */
.theme-options-panel {
  display: none;
  margin-top: 18px;
  
}

.theme-options-panel.open {
  display: block;
}

/* Hide Spotify initially */

.music-options-panel {
  display: none;
  margin-top: 16px;
}

.music-options-panel.open {
  display: block;
}

/* Hide alarm options initially */
.alarm-options-panel {
  display: none;
  margin-top: 16px;
}

.alarm-options-panel.open {
  display: block;
}


/* VIDEO BACKGROUND */
#bg-video {
 position: fixed; 
inset: 0; 
width: 100%; 
height: 100%; 
object-fit: cover;
z-index: 0;

}


/* =====================
   THEME BUTTONS (same as focus level)
===================== */

/* Theme dropdown container */
.theme-dropdown {
  position: relative;
  margin-top: 12px;
}

/* Trigger button */
.theme-dropdown-trigger {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;

  background: #6caa7f;
  border: none;
  color: #fff;

  font-size: 14px;
  cursor: pointer;
}

/* Dropdown menu */
.theme-dropdown-menu {
  margin-top:10px;

  max-height: 176px; /* 👈 4 items × ~44px */
  overflow-y: auto;

  background: rgba(20, 20, 20, 0.75);
  backdrop-filter: blur(12px);

  border-radius: 12px;
  padding: 6px;

  display: none;
  
}

/* Show dropdown */
.theme-dropdown.open .theme-dropdown-menu {
  display: block;
}

/* Theme buttons */
.theme-btn {
  width: 100%;
  padding: 10px 12px;
  margin-bottom: 4px;

  background: transparent;
  border: none;
  border-radius: 8px;

  color: #fff;
  text-align: left;
  cursor: pointer;
  opacity: 0.85;
}

.theme-btn:hover,
.theme-btn.active {
  background: rgba(255, 255, 255, 0.15);
  opacity: 1;
}

/* Scrollbar (subtle) */
.theme-dropdown-menu::-webkit-scrollbar {
  width: 6px;
}

.theme-dropdown-menu::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25);
  border-radius: 6px;
}


/* =====================
     Spotify
===================== */


.spotify-box {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.spotify-box input {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #ddd;

}


#music-link-input{
		margin-top: 28px;
}
.spotify-box button {
  padding: 10px;
  border-radius: 10px;
  border: none;
  background: #1db954;
  color: #fff;
  cursor: pointer;
}

.spotify-login-note {
    padding-bottom: 10px;
    margin-top: 28px;
    font-size: 14px;
    color: #000;
    text-align: justify;
    line-height: normal;
}

.hidden {
  display: none;
}

#load-music{
  display: block;
	background:  #6caa7f;
  margin: auto;
	 margin-top: 28px;
}
#spotify-player {
  border-radius: 12px;
}
/* =====================
   ALARM SOUND BUTTONS
===================== */

.alarm-trigger {
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  background: #6caa7f;
  color: #fff;
  border: none;
  cursor: pointer;
  text-align: left;
}

.alarm-dropdown {
  margin-top: 10px;
  max-height: 208px; /* 4 buttons × ~52px */
  overflow-y: auto;
  display: none;

  background: rgba(20,20,20,0.75);
  border-radius: 12px;
  padding: 6px;
}

.alarm-dropdown.open {
  display: block;
}

.alarm-btn {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
	margin-bottom: 4px;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  text-align: left;
}




.alarm-btn:hover,
.alarm-btn.active {
  background: rgba(255, 255, 255, 0.15);
  opacity: 1;
}

/* Smooth scroll */
.alarm-dropdown::-webkit-scrollbar {
  width: 6px;
}
.alarm-dropdown::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.25);
  border-radius: 10px;
}

/* MINI MUSIC PLAYER FIXED */
.bottom-music-player {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 40;
  display: none; /* hidden until music loads */
	width:360px;
max-width: min(360px, 95vw);
}

.bottom-music-player iframe {
  border-radius: 12px;
	width:100%;
	height:110px;
}

.music-source-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:4px;
  margin-top:12px;
  border:1px solid #dfe7e1;
  border-radius:13px;
  background:#f1f5f2;
}

.music-source-btn{
  min-height:40px;
  padding:9px 14px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#526057;
  font-family:PomodoroFont,Inter,sans-serif;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:all .18s ease;
}

.music-source-btn:hover{
  background:#fff;
  color:#24412e;
}

.music-source-btn.active{
  background:#6caa7f;
  color:#fff;
  border-color:#6caa7f;
  box-shadow:0 4px 12px rgba(108,170,127,.24);
}

#music-link-input{
  margin-top:12px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid #d9e0da;
  border-radius:11px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
#music-link-input:focus{
  border-color:#6caa7f;
  box-shadow:0 0 0 3px rgba(108,170,127,.14);
}

#load-music{
  min-width:96px;
  min-height:40px;
  padding:9px 18px;
  border:0;
  border-radius:10px;
  background:#6caa7f;
  color:#fff;
  font-family:PomodoroFont,Inter,sans-serif;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
#load-music:hover{
  transform:translateY(-1px);
  background:#5e9d72;
  box-shadow:0 7px 16px rgba(108,170,127,.25);
}



@media (max-width: 480px) {
	.timer-container {
		margin-left:0px;
	}
}

/* =====================
   FOCUS DROPDOWN
===================== */

.focus-dropdown {
  position: relative;
  margin-top: 12px;
}

.focus-dropdown-trigger {
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  background: #6caa7f;
  border: none;
  color: #fff;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
}

.focus-dropdown-menu {
  margin-top: 10px;
  max-height: 180px;
  overflow-y: auto;

  background: rgba(20, 20, 20, 0.85);
  backdrop-filter: blur(12px);

  border-radius: 12px;
  padding: 6px;

  display: none;
}

.focus-dropdown.open .focus-dropdown-menu {
  display: block;
}

.focus-option {
  width: 100%;
  padding: 10px 12px;
  margin-bottom: 4px;

  background: transparent;
  border: none;
  border-radius: 8px;

  color: #fff;
  text-align: left;
  cursor: pointer;
  opacity: 0.9;
}

.focus-option:hover,
.focus-option.active {
  background: rgba(255, 255, 255, 0.15);
  opacity: 1;
}

/* =====================
   SESSION + MEMORY UI
===================== */

.app-header-actions{position:fixed;top:20px;right:20px;z-index:60;display:flex;gap:8px}
.memory-btn,.analytics-btn{border:none;background:#6caa7f;color:#fff;padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:700;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.analytics-btn:hover{transform:translateY(-1px)}
.session-overlay,.memory-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:100;padding:20px}
.session-overlay.open,.memory-overlay.open{display:flex}
.session-panel,.memory-panel{width:min(430px,96vw);max-height:90vh;overflow-y:auto;background:#fff;color:#111;border-radius:20px;padding:24px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.memory-panel{width:min(760px,94vw)}
.session-panel h3,.memory-panel h3{margin:0 0 20px;font-size:20px}
.memory-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:42px;margin-bottom:20px}
.memory-heading-row h3{margin:0}
.memory-export-btn{border:0;border-radius:10px;background:#6caa7f;color:#fff;padding:9px 15px;min-height:38px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(108,170,127,.18)}
.memory-export-btn:hover{transform:translateY(-1px)}
.memory-export-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:220;padding:20px}
.memory-export-overlay.open{display:flex}
.memory-export-panel{width:min(430px,96vw);background:#fff;color:#111;border-radius:20px;padding:24px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.memory-export-panel h3{margin:0 0 8px;font-size:20px}
.memory-export-help{color:#666;font-size:13px;line-height:1.5;margin:0 0 18px}
.close-memory-export{position:absolute;top:12px;right:12px;width:35px;height:35px;border:0;border-radius:10px;background:#6caa7f;color:#fff;cursor:pointer;font-size:17px}
.memory-export-field{margin-bottom:14px}
.memory-export-field label{display:block;font-size:12px;font-weight:800;color:#333;margin-bottom:6px}
.memory-export-field input{width:100%;box-sizing:border-box;min-height:42px;padding:9px 11px;border:1px solid #d9e0da;border-radius:10px;background:#fff;color:#111;outline:none}
.memory-export-field input:focus{border-color:#6caa7f;box-shadow:0 0 0 3px rgba(108,170,127,.14)}
.memory-export-actions{display:flex;justify-content:flex-end;gap:8px}
.memory-export-actions button{border:0;border-radius:10px;min-height:42px;padding:9px 13px;font:inherit;font-weight:800;cursor:pointer}
#memory-export-cancel{background:#eee;color:#222}
#memory-export-confirm{background:#6caa7f;color:#fff}
.memory-export-note{min-height:18px;margin:10px 0 0;color:#777;font-size:11px;line-height:1.4}
.close-session,.close-memory{position:absolute;top:12px;right:12px;width:34px;height:34px;border:none;border-radius:10px;background:#6caa7f;color:#fff;cursor:pointer;font-size:16px}
.session-field{margin-bottom:18px;position:relative}
.session-field label{display:block;margin-bottom:8px;font-size:13px;font-weight:800;color:#333;text-align:left}
.session-field input,.session-field select{width:100%;min-height:44px;border:1px solid #ddd;border-radius:11px;padding:10px 12px;background:#fff;color:#111;outline:none}
.session-field input:focus,.session-field select:focus{border-color:#6caa7f;box-shadow:0 0 0 3px rgba(108,170,127,.16)}
.new-subject-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}
.new-subject-row button,.session-save-custom,.session-start-btn{border:none;border-radius:11px;cursor:pointer;font-weight:800}
.new-subject-row button{background:#111;color:#fff;padding:0 16px}
.session-timer-btn{width:100%;min-height:44px;border:none;border-radius:11px;padding:10px 12px;background:#6caa7f;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700}
.session-timer-menu{display:none;margin-top:8px;padding:6px;border-radius:12px;background:#171717}
.session-timer-menu.open{display:block}
.session-timer-menu button{display:block;width:100%;border:none;background:transparent;color:#fff;text-align:left;padding:11px 12px;border-radius:8px;cursor:pointer}
.session-timer-menu button:hover{background:rgba(255,255,255,.13)}
.session-custom-box{margin-top:10px;padding:12px;border-radius:12px;background:#f4f4f4}
.session-custom-row{display:grid;grid-template-columns:1fr 58px 70px;gap:7px;align-items:center;margin-bottom:8px}
.session-custom-row span{font-size:12px;font-weight:700}
.session-custom-row input{min-height:34px;padding:5px;text-align:center}
.session-save-custom{width:100%;padding:10px;background:#111;color:#fff}
.session-start-btn{width:100%;padding:13px 16px;background:#6caa7f;color:#fff;font-size:15px;margin-top:4px}

.memory-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.memory-filters label{font-size:12px;font-weight:800;color:#333}
.memory-filters input,.memory-filters select{width:100%;margin-top:6px;min-height:40px;border:1px solid #ddd;border-radius:10px;padding:8px 10px;background:#fff;color:#111}
.memory-total-card{background:#f2f7f3;border:1px solid rgba(108,170,127,.22);border-radius:14px;padding:14px;margin-bottom:14px}
.memory-total-card span{display:block;font-size:12px;color:#555;margin-bottom:4px}
.memory-total-card strong{font-size:19px}
.memory-break-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.memory-break-totals>div{background:#fff;border:1px solid #e1e7e2;border-radius:10px;padding:8px}
.memory-break-totals span{font-size:10px;margin-bottom:3px;color:#777}
.memory-break-totals strong{font-size:13px;color:#173d25}
.memory-list{display:grid;gap:10px}
.memory-session-card{border:1px solid #e5e5e5;border-radius:14px;padding:15px 16px;background:#fff}
.memory-session-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.memory-session-title strong{font-size:14px;line-height:1.35}
.memory-session-title span{flex:0 0 auto;font-size:11px;font-weight:800;background:#6caa7f;color:#fff;padding:5px 8px;border-radius:8px}
.memory-session-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.memory-session-details div{background:#f7f7f7;border-radius:9px;padding:8px}
.memory-session-details span{display:block;font-size:10px;color:#777;margin-bottom:3px}
.memory-session-details strong{font-size:12px}
.memory-empty{padding:25px 15px;border:1px dashed #ccc;border-radius:14px;text-align:center;color:#777;font-size:13px}

@media(max-width:600px){
  .memory-heading-row{padding-right:40px;align-items:flex-start}
  .memory-export-btn{padding:8px 11px;font-size:11px}
  .app-header-actions{top:12px;right:12px}
  .memory-btn{padding:9px 12px}
  .session-panel,.memory-panel{padding:20px 16px}
  .memory-filters{grid-template-columns:1fr}
  .memory-session-title{flex-direction:column}
}


/* =====================
   ANALYTICS UI
===================== */
.analytics-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:105;padding:20px}
.analytics-overlay.open{display:flex}
.analytics-panel{width:min(1000px,92vw);max-height:88vh;overflow-y:auto;overflow-x:visible;background:#fff;color:#111;border-radius:22px;padding:22px;position:relative;box-shadow:0 20px 55px rgba(0,0,0,.28)}
.analytics-panel h3{margin:0 0 14px;font-size:20px;letter-spacing:-.2px}
.close-analytics{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;border-radius:11px;background:#6caa7f;color:#fff;cursor:pointer;font-size:17px;transition:transform .15s ease,background .15s ease}
.close-analytics:hover{transform:translateY(-1px);background:#5e9d72}
.analytics-mode-switch{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;border-radius:0;padding:0;margin:0 0 12px}
.analytics-mode-btn{border:1px solid #d8dfda;border-radius:9px;background:#f5f7f5;color:#4d554f;padding:8px 20px;min-width:160px;font-size:13px;font-weight:800;cursor:pointer;font:inherit;line-height:1.2;transition:.15s ease}
.analytics-mode-btn.active{background:#6caa7f;border-color:#6caa7f;color:#fff;box-shadow:0 3px 10px rgba(108,170,127,.20)}
.analytics-mode-panel{display:none}
.analytics-mode-panel.active{display:block}
.analytics-filters{display:grid;gap:10px;margin-bottom:12px;position:relative;z-index:20;align-items:end}
.analytics-study-filters{grid-template-columns:1fr 1fr 1.25fr 1fr}
.analytics-break-filters{grid-template-columns:1fr 1fr 1fr}
.analytics-filters label,.analytics-subject-field>label,.analytics-total-field>label{font-size:12px;font-weight:800;color:#333;display:block}
.analytics-filters input{width:100%;margin-top:5px;min-height:38px;border:1px solid #d9ddd9;border-radius:11px;padding:8px 11px;background:#fff;color:#111;outline:none;font:inherit}
.analytics-filters input:focus{border-color:#6caa7f;box-shadow:0 0 0 3px rgba(108,170,127,.16)}
.analytics-subject-field,.analytics-total-field{position:relative;z-index:30}
.analytics-subject-trigger{width:100%;margin-top:6px;min-height:38px;border:1px solid #d9ddd9;border-radius:10px;padding:8px 11px;background:#fff;color:#111;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font:inherit}
.analytics-subject-trigger:hover,.analytics-filters input:hover{border-color:#b8c8bb}
.analytics-subject-trigger:focus{border-color:#6caa7f;box-shadow:0 0 0 3px rgba(108,170,127,.16);outline:none}
.analytics-subject-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);display:none;max-height:230px;overflow-y:auto;background:#fff;border:1px solid #dfe4df;border-radius:13px;padding:6px;box-shadow:0 14px 34px rgba(0,0,0,.17);z-index:100}
.analytics-subject-field.open .analytics-subject-menu{display:block}
.analytics-subject-option{width:100%;border:none;background:#fff;color:#111;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer;font-size:13px}
.analytics-subject-option:hover,.analytics-subject-option.active{background:#eef6f0;color:#173d25}
.analytics-total-field strong{display:flex;align-items:center;width:100%;box-sizing:border-box;margin-top:5px;min-height:38px;border:1px solid #d9ddd9;border-radius:10px;padding:7px 10px;background:#f8fbf9;color:#173d25;font-size:13px;letter-spacing:.1px}
.analytics-break-field{position:relative;z-index:30}
.analytics-break-trigger{width:100%;margin-top:5px;min-height:38px;border:1px solid #d9ddd9;border-radius:10px;padding:8px 11px;background:#fff;color:#111;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font:inherit;transition:.15s ease}
.analytics-break-trigger:hover{border-color:#b8c8bb}
.analytics-break-trigger:focus{border-color:#6caa7f;box-shadow:0 0 0 3px rgba(108,170,127,.16);outline:none}
.analytics-break-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);display:none;max-height:190px;overflow-y:auto;background:#fff;border:1px solid #dfe4df;border-radius:13px;padding:6px;box-shadow:0 14px 34px rgba(0,0,0,.17);z-index:100}
.analytics-break-field.open .analytics-break-menu{display:block}
.analytics-break-option{width:100%;border:none;background:#fff;color:#111;text-align:left;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:13px;font-family:inherit}
.analytics-break-option:hover,.analytics-break-option.active{background:#eef6f0;color:#173d25;font-weight:700}
.analytics-summary-card{background:linear-gradient(135deg,#f2f8f3,#edf5ef);border:1px solid rgba(108,170,127,.24);border-radius:13px;padding:10px 13px;margin-bottom:10px}
.analytics-summary-card span{display:block;font-size:12px;color:#59645c;margin-bottom:4px}
.analytics-summary-card strong{font-size:19px;letter-spacing:.2px}
.analytics-chart-card{border:1px solid #e2e6e2;border-radius:14px;background:#fff;padding:12px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.035)}
.analytics-chart-header{display:flex;justify-content:space-between;margin-bottom:8px;padding:1px 1px 0}
.analytics-chart-header strong{display:block;font-size:15px}
.analytics-chart-header span{display:block;margin-top:3px;font-size:11px;color:#777}
.analytics-chart-wrap{width:100%;min-height:430px;overflow-x:auto;overflow-y:hidden;border-radius:11px;position:relative}
.analytics-chart-wrap svg{display:block;width:100%;min-width:760px;height:430px}
.analytics-empty{min-height:380px;display:flex;align-items:center;justify-content:center;border:1px dashed #ccc;border-radius:12px;color:#777;font-size:13px;text-align:center;padding:20px}
.analytics-axis{font-size:10px;fill:#777}
.analytics-grid-line{stroke:#e8eee9;stroke-width:1}
.analytics-segment-value{font-size:9px;font-weight:900;pointer-events:none;letter-spacing:0;paint-order:stroke;stroke:rgba(0,0,0,.14);stroke-width:.45px}
.analytics-bar-value-bg{fill:#fff;stroke:#d4dbd5;stroke-width:1.2}
.analytics-bar-value{font-size:13px;font-weight:950;fill:#171b18;pointer-events:none}
.analytics-x-label{font-weight:800;font-size:11px}
.analytics-x-meta{font-size:9px;fill:#8a918b}

@media(max-width:760px){
  .analytics-mode-btn{min-width:0;flex:1;padding:8px 10px}

  .analytics-study-filters,.analytics-break-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .memory-heading-row{padding-right:40px;align-items:flex-start}
  .memory-export-btn{padding:8px 11px;font-size:11px}
  .app-header-actions{top:12px;right:12px}
  .memory-btn,.analytics-btn{padding:9px 12px}
  .analytics-panel{padding:20px 16px}
  .analytics-study-filters,.analytics-break-filters{grid-template-columns:1fr}
  .analytics-chart-wrap svg{min-width:760px}
}

/* =====================
   PAUSE REASON + PAUSE DETAILS
===================== */
.pause-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:120;padding:20px}
.pause-overlay.open{display:flex}
.pause-panel{width:min(420px,96vw);background:#fff;color:#111;border-radius:20px;padding:24px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.pause-panel h3{margin:0 0 6px;font-size:20px}
.pause-help{margin:0 0 14px;color:#666;font-size:13px}
.pause-panel textarea{width:100%;min-height:105px;resize:vertical;border:1px solid #ddd;border-radius:12px;padding:11px 12px;font:inherit;color:#111;outline:none;box-sizing:border-box}
.pause-panel textarea:focus{border-color:#6caa7f;box-shadow:0 0 0 3px rgba(108,170,127,.16)}
.close-pause{position:absolute;top:12px;right:12px;width:34px;height:34px;border:none;border-radius:10px;background:#6caa7f;color:#fff;cursor:pointer}
.pause-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.pause-actions button{border:none;border-radius:10px;padding:10px 15px;cursor:pointer;font-weight:700}
#cancel-pause{background:#eee;color:#222}
#confirm-pause{background:#6caa7f;color:#fff}
.memory-session-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.memory-metric{border:1px solid #e5e5e5;background:#f7f7f7;border-radius:10px;padding:9px;text-align:left}
.memory-metric span{display:block;font-size:10px;color:#777;margin-bottom:3px}
.memory-metric strong{font-size:13px}
.pause-total-button{cursor:pointer;font:inherit;color:inherit}
.pause-total-button:hover{border-color:#6caa7f;background:#f2f7f3}
.pause-details{display:none;border:1px solid #e5e5e5;border-radius:12px;padding:9px;margin-bottom:10px;background:#fafafa}
.pause-details.open{display:block}
.pause-detail-row{padding:10px;border-radius:9px;background:#fff;border:1px solid #eee}
.pause-detail-row+.pause-detail-row{margin-top:8px}
.pause-detail-row>strong{display:block;font-size:12px;margin-bottom:8px}
.pause-detail-row>div{display:grid;grid-template-columns:105px 1fr;gap:8px;padding:3px 0}
.pause-detail-row span{color:#777;font-size:10px}
.pause-detail-row b{font-size:11px;font-weight:700;word-break:break-word}
.pause-none{color:#777;font-size:12px;padding:8px}
@media(max-width:600px){.pause-panel{padding:20px 16px}.memory-session-metrics{grid-template-columns:1fr}}

/* ===== Compact Pomodoro Session Memory ===== */
.pause-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:9999;padding:20px}
.pause-overlay.open{display:flex}
.pause-panel{width:min(420px,95vw);background:#fff;border-radius:18px;padding:22px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.pause-panel h3{margin:0 0 6px}.pause-panel p{font-size:13px;color:#777}
.pause-panel textarea{width:100%;min-height:100px;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:10px;resize:vertical}
.close-pause{position:absolute;right:12px;top:12px;border:0;border-radius:9px;background:#6caa7f;color:#fff;width:32px;height:32px;cursor:pointer}
.pause-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.pause-actions button{border:0;border-radius:9px;padding:10px 14px;cursor:pointer;font-weight:700}
#cancel-pause{background:#eee}#confirm-pause{background:#6caa7f;color:#fff}

.session-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.session-tab{min-height:54px;border:1px solid #6caa7f;border-radius:10px;background:rgba(108,170,127,.10);color:#6caa7f;text-align:left;padding:8px 10px;cursor:pointer;font:inherit}
.session-tab span{display:block;font-size:10px;opacity:.8;margin-bottom:3px}.session-tab strong{font-size:13px}
.session-tab.active{background:#6caa7f;color:#fff}
.memory-session-panel{display:none}.memory-session-panel.active{display:block}
.session-info-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:8px}
.session-info-grid>div{padding:9px;border:1px solid #e7e7e7;border-radius:9px;background:#fafafa}
.session-info-grid span,.pause-card span{display:block;color:#777;font-size:10px;margin-bottom:3px}
.session-info-grid strong,.pause-card b{font-size:12px;word-break:break-word}
.pause-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pause-card{padding:9px;border:1px solid #e7e7e7;border-radius:9px;background:#fafafa}
.pause-card>strong{display:block;color:#6caa7f;font-size:12px;margin-bottom:7px}
.pause-card>div{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:6px;margin:4px 0}
.pause-none{grid-column:1/-1;padding:10px;border:1px solid #e7e7e7;border-radius:9px;color:#777;font-size:11px}
@media(max-width:600px){.pause-grid{grid-template-columns:1fr}}

.wastage-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:210;padding:20px}.wastage-overlay.open{display:flex}.wastage-panel{width:min(560px,96vw);max-height:90vh;overflow-y:auto;background:#fff;color:#111;border-radius:20px;padding:24px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3)}.wastage-panel h3{margin:0 0 7px}.wastage-help{margin:0 0 18px;color:#666;font-size:13px;line-height:1.45}.close-wastage{position:absolute;top:12px;right:12px;width:34px;height:34px;border:none;border-radius:10px;background:#6caa7f;color:#fff;cursor:pointer}.wastage-row{display:grid;grid-template-columns:130px 1fr 36px;gap:8px;align-items:center;margin-bottom:8px}.wastage-row input{width:100%;min-height:42px;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:9px 10px;outline:none}.wastage-remove-btn{width:36px;height:36px;border:none;border-radius:9px;background:#eee;color:#222;cursor:pointer;font-size:20px}.wastage-add-btn{margin-top:4px;border:none;border-radius:10px;padding:10px 14px;background:#111;color:#fff;cursor:pointer;font-weight:800}.wastage-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.wastage-actions button{border:none;border-radius:10px;padding:10px 15px;cursor:pointer;font-weight:800}#wastage-skip-btn{background:#eee;color:#222}#wastage-done-btn{background:#6caa7f;color:#fff}
.session-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.session-tab{min-width:0;min-height:58px;border:1px solid #6caa7f;border-radius:10px;background:rgba(108,170,127,.1);color:#6caa7f;text-align:left;padding:7px 8px;cursor:pointer;font:inherit}.session-tab span{display:block;font-size:9px;line-height:1.1;margin-bottom:4px}.session-tab strong{display:block;font-size:11px;line-height:1.15;word-break:break-word}.session-tab.active{background:#6caa7f;color:#fff}.memory-session-panel{display:none}.memory-session-panel.active{display:block}.pause-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.wastage-memory-list{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:8px}.wastage-memory-card{border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;padding:10px}.wastage-memory-card strong{display:block;color:#6caa7f;font-size:12px;margin-bottom:5px}.wastage-memory-card span,.wastage-memory-card b{font-size:11px}.outcome-box{border:1px solid rgba(108,170,127,.25);background:#f2f7f3;border-radius:12px;padding:14px 10px}.outcome-equation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:12px}.outcome-equation span,.outcome-equation strong{padding:7px 8px;border-radius:8px;background:#fff}.outcome-equation strong{color:#6caa7f}.outcome-box p{margin:9px 0 0;text-align:center;color:#666;font-size:10px}@media(max-width:600px){.session-tabs{gap:4px}.session-tab{padding:6px 5px}.session-tab span{font-size:8px}.session-tab strong{font-size:10px}.wastage-row{grid-template-columns:110px 1fr 34px}.wastage-memory-list{grid-template-columns:1fr}}

/* Fix: session setup panel must remain visible.
   Memory detail panels use .memory-session-panel instead. */
.session-overlay.open .session-panel{
  display:block;
}
.session-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:700px){
  .session-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* Analytics hover tooltip: matches the hovered section colour. */
.analytics-hover-tooltip{
  position:absolute;
  z-index:50;
  display:none;
  min-width:150px;
  max-width:230px;
  padding:8px 11px;
  border-radius:0;
  border:none;
  box-shadow:0 7px 18px rgba(0,0,0,.18);
  pointer-events:none;
  white-space:nowrap;
  font-size:12px;
  line-height:1.25;
}
.analytics-hover-tooltip.show{display:block}
.analytics-hover-tooltip strong{display:block;font-size:12px;font-weight:800;margin-bottom:2px}
.analytics-hover-tooltip span{display:block;font-size:13px;font-weight:900}

/* =========================================================
   UI/UX REFRESH — v9
   Modern, calm Pomodoro interface while preserving
   existing IDs/classes and JavaScript behaviour.
   Primary accent remains #6caa7f.
========================================================= */
:root{
  --pm-green:#6caa7f;
  --pm-green-dark:#4f8d64;
  --pm-green-soft:#eaf4ed;
  --pm-green-pale:#f4f9f5;
  --pm-ink:#18211c;
  --pm-muted:#667169;
  --pm-border:rgba(255,255,255,.22);
  --pm-glass:rgba(12,20,15,.42);
  --pm-shadow:0 22px 55px rgba(0,0,0,.28);
}

html{scroll-behavior:smooth}

body{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#fff;
  letter-spacing:-.01em;
  overflow:hidden;
}

button,input,select,textarea{font-family:inherit}
button{-webkit-tap-highlight-color:transparent}

/* Main application card */
.pomodoro-app{
  max-width:460px;
  padding:30px 30px 34px;
  border-radius:28px;
  /* Keep the timer completely transparent so the background video remains visible. */
  background:transparent;
  border:0;
  box-shadow:none;
  z-index:1;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.app-container{position:relative;text-align:center}

/* Top action buttons */
.app-header-actions{
  position:fixed;
  top:18px;
  right:18px;
  z-index:60;
  display:flex;
  gap:8px;
}
.memory-btn,.analytics-btn{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(20,30,23,.62);
  color:#fff;
  padding:9px 14px;
  border-radius:999px;
  cursor:pointer;
  font-family:PomodoroFont,Inter,sans-serif;
  font-size:12px;
  font-weight:600;
  box-shadow:0 7px 20px rgba(0,0,0,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.memory-btn:hover,.analytics-btn:hover{
  transform:translateY(-2px);
  background:var(--pm-green);
  border-color:var(--pm-green);
}
.memory-btn:active,.analytics-btn:active{transform:translateY(0)}

/* Mode selector — compact segmented control */
.mode-section{width:100%;margin-bottom:28px}
.mode-container{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  padding:5px;
  border-radius:16px;
  background:rgba(7,14,10,.42);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.mode-btn{
  min-height:42px;
  padding:10px 8px;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:rgba(255,255,255,.76)!important;
  font-family:PomodoroFont,Inter,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.mode-btn:hover{color:#fff!important;background:rgba(255,255,255,.08)!important}
.mode-btn.active{
  background:var(--pm-green)!important;
  color:#fff!important;
  box-shadow:0 5px 16px rgba(108,170,127,.30);
}

/* Timer */
.timer-section{margin:38px 0 40px}
.timer-container{margin-left:0}
.timer-display{
  display:block;
  font-family:PomodoroFont,"Segoe UI",sans-serif;
  font-size:clamp(58px,17vw,104px);
  font-weight:600;
  line-height:.95;
  letter-spacing:-.055em;
  color:#fff;
  text-shadow:0 5px 24px rgba(0,0,0,.42);
}

/* Main controls */
.control-container{gap:10px}
.start-btn,.reset-btn,.pause-btn{
  min-width:108px;
  min-height:44px;
  padding:11px 22px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  font-family:PomodoroFont,Inter,sans-serif;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease;
}
.start-btn,.reset-btn{background:var(--pm-green);color:#fff}
.start-btn:hover,.reset-btn:hover,#confirm-pause:hover,#wastage-done-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(108,170,127,.28)}
.start-btn:active,.reset-btn:active{transform:translateY(0)}
.pause-btn{background:rgba(255,255,255,.16);color:#fff}
.pause-btn:enabled:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}

.settings-btn{
  width:44px!important;
  height:44px!important;
  padding:9px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  display:grid;
  place-items:center;
  transition:transform .18s ease,background .18s ease;
}
.settings-btn:hover{transform:translateY(-2px);background:rgba(108,170,127,.82)!important}
.settings-icon{width:22px;height:22px}

/* Consistent focus accessibility */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid #b9e0c5;
  outline-offset:2px;
}

/* Modern light-green treatment for all white application dialogs */
.session-panel,.memory-panel,.analytics-panel,.settings-panel,.pause-panel,.wastage-panel{
  border:1px solid rgba(108,170,127,.18);
  box-shadow:0 24px 70px rgba(0,0,0,.30),0 1px 0 rgba(255,255,255,.8) inset;
}
.session-panel h3,.memory-panel h3,.analytics-panel h3,.settings-panel h3{
  font-family:PomodoroFont,Inter,sans-serif;
  letter-spacing:-.025em;
}

/* Dialog close buttons */
.close-memory,.close-analytics,.close-settings,.close-session,.close-pause,.close-wastage{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:var(--pm-green)!important;
  color:#fff!important;
  font-size:16px!important;
  display:grid!important;
  place-items:center;
  transition:transform .18s ease,background .18s ease;
}
.close-memory:hover,.close-analytics:hover,.close-settings:hover,.close-session:hover,.close-pause:hover,.close-wastage:hover{
  transform:rotate(4deg) scale(1.04);
  background:var(--pm-green-dark)!important;
}

/* Settings navigation */
.settings-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  padding:5px;
  background:#f1f5f2;
  border:1px solid #e0e8e2;
  border-radius:14px;
}
.settings-tab{
  min-height:38px;
  padding:8px 7px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#5e685f;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.18s ease;
}
.settings-tab:hover{background:#fff;color:#23412d}
.settings-tab.active{background:var(--pm-green);color:#fff;box-shadow:0 4px 12px rgba(108,170,127,.22)}

/* Inputs and dropdowns */
.session-field input,.session-field select,
.memory-filters input,.memory-filters select,
.analytics-filters input,
.analytics-subject-trigger{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.session-field input:hover,.session-field select:hover,
.memory-filters input:hover,.memory-filters select:hover,
.analytics-filters input:hover,.analytics-subject-trigger:hover{border-color:#b8cbbd}

/* Analytics: preserve functionality, make the whole module calmer */
.analytics-panel{background:rgba(255,255,255,.98);border-radius:20px}
.analytics-mode-switch{gap:7px;margin-bottom:31px}
.analytics-mode-btn{
  min-width:148px;
  min-height:36px;
  padding:8px 16px;
  border-radius:10px;
  font-family:PomodoroFont,Inter,sans-serif;
  font-size:12px;
}
.analytics-mode-btn.active{box-shadow:0 5px 15px rgba(108,170,127,.22)}
.analytics-summary-card{box-shadow:0 5px 16px rgba(108,170,127,.06)}

/* Memory cards */
.memory-session-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.memory-session-card:hover{transform:translateY(-1px);border-color:rgba(108,170,127,.38);box-shadow:0 8px 22px rgba(20,35,24,.06)}
.memory-session-title span{background:var(--pm-green)}

/* Better modal backdrop */
.session-overlay,.memory-overlay,.analytics-overlay,.settings-overlay,.pause-overlay,.wastage-overlay{
  background:rgba(5,12,8,.24);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

/* Mobile */
@media(max-width:600px){
  .pomodoro-app{max-width:calc(100vw - 24px);padding:24px 18px 28px;border-radius:22px}
  .app-header-actions{top:10px;right:10px}
  .memory-btn,.analytics-btn{padding:8px 11px;font-size:11px}
  .mode-container{padding:4px}
  .mode-btn{min-height:40px;font-size:11px}
  .timer-section{margin:34px 0 36px}
  .timer-display{font-size:clamp(54px,18vw,82px)}
  .start-btn,.reset-btn{min-width:96px}
}

/* =========================================================
   UI/UX REFINEMENT — v10
========================================================= */
@media (min-width: 601px){
  .memory-panel{
    width:min(760px,94vw);
  }
  .analytics-panel{
    width:min(1000px,92vw);
  }
}

@media (max-width: 600px){
  .memory-panel{width:min(94vw,760px)}
  .analytics-panel{width:94vw;max-height:88vh;padding:18px 14px}
  .analytics-chart-wrap{min-height:360px}
  .analytics-chart-wrap svg{height:360px;min-width:720px}
}


/* =========================================================
   BREAK MEMORY + BREAK REASON UX
   ========================================================= */

.memory-mode-switch{
  display:flex;
  gap:7px;
  margin-bottom:31px;
  background:transparent;
  align-items: center;
  justify-content: center;
}
.memory-mode-btn{
 
  min-height:38px;
  padding:8px 14px;
  border:1px solid #d8dfda;
  border-radius:9px;
  background:#f5f7f5;
  color:#4d554f;
  font-size:13px;
  
  cursor:pointer;
  transition:all .18s ease;
}
.memory-mode-btn.active{
  background:#6caa7f;
  border-color:#6caa7f;
  color:#fff;
  box-shadow:0 4px 12px rgba(108,170,127,.2);
}
.memory-mode-panel{display:none}
.memory-mode-panel.active{display:block}
.memory-break-filters{
  grid-template-columns:1fr 1fr 1fr;
}
.memory-break-card{
  border:1px solid #e5e5e5;
  border-radius:14px;
  padding:15px 16px;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.memory-break-card:hover{
  transform:translateY(-1px);
  border-color:rgba(108,170,127,.38);
  box-shadow:0 8px 22px rgba(20,35,24,.06);
}
.memory-break-card .memory-session-title span{
  flex:0 0 auto;
  font-size:11px;
  font-weight:800;
  background:#6caa7f;
  color:#fff;
  padding:5px 8px;
  border-radius:8px;
}
.memory-break-details{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
.memory-break-details>div{
  padding:9px;
  border:1px solid #e7e7e7;
  border-radius:9px;
  background:#fafafa;
  min-width:0;
}
.memory-break-details span{
  display:block;
  color:#777;
  font-size:10px;
  margin-bottom:3px;
}
.memory-break-details strong{
  font-size:12px;
  word-break:break-word;
}
.memory-break-reason-half{
  grid-column:span 3;
}

.break-reason-overlay,
.break-complete-overlay,
.extra-time-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.42);
  z-index:180;
  padding:20px;
}
.break-reason-overlay.open,
.break-complete-overlay.open,
.extra-time-overlay.open{
  display:flex;
}
.break-reason-panel,
.break-complete-panel,
.extra-time-panel{
  width:min(430px,96vw);
  background:#fff;
  color:#111;
  border-radius:20px;
  padding:24px;
  position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.break-reason-panel h3,
.break-complete-panel h3,
.extra-time-panel h3{
  margin:0 0 8px;
  font-size:20px;
}
.break-reason-help,
.break-complete-panel p,
.extra-time-panel p{
  color:#666;
  font-size:13px;
  line-height:1.5;
  margin:0 0 18px;
}
.break-reason-field{
  margin-bottom:12px;
}
.break-reason-field label{
  display:block;
  font-size:12px;
  font-weight:800;
  color:#333;
  margin-bottom:6px;
}
.break-reason-field select,
.break-reason-field input,
.extra-time-panel input{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #d9e0da;
  border-radius:10px;
  background:#fff;
  color:#111;
  outline:none;
}
.break-reason-field select:focus,
.break-reason-field input:focus,
.extra-time-panel input:focus{
  border-color:#6caa7f;
  box-shadow:0 0 0 3px rgba(108,170,127,.14);
}
.break-start-btn,
.extra-time-panel button{
  width:100%;
  min-height:42px;
  border:0;
  border-radius:10px;
  background:#6caa7f;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  margin-top:7px;
}
.close-break-reason,
.close-break-complete{
  position:absolute;
  top:12px;
  right:12px;
  width:35px;
  height:35px;
  border:0;
  border-radius:10px;
  background:#6caa7f;
  color:#fff;
  cursor:pointer;
  font-size:17px;
}
.break-complete-panel{
  text-align:center;
  padding-top:30px;
}
.break-complete-panel .close-break-complete{
  text-align:center;
}
.extra-time-panel input{
  margin:2px 0 8px;
}

@media(max-width:700px){
  .memory-break-filters{grid-template-columns:1fr}
  .memory-break-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .memory-break-reason-half{grid-column:span 2}
}
@media(max-width:480px){
  .memory-mode-btn{padding:8px 7px;font-size:12px}
  .memory-break-details{grid-template-columns:1fr}
  .memory-break-reason-half{grid-column:span 1}
}


/* Memory export date range */
.memory-export-date-range{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.memory-export-date-range .memory-export-field{margin-bottom:14px}

/* Study analytics metric key */
.analytics-chart-wrap{position:relative}
.analytics-study-legend{
  position:absolute;
  top:10px;
  right:10px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 9px;
  border:1px solid #dfe5e0;
  border-radius:9px;
  background:rgba(255,255,255,.96);
  box-shadow:0 3px 12px rgba(0,0,0,.08);
  color:#4e5851;
  font-size:9px;
  line-height:1.1;
  pointer-events:none;
}
.analytics-study-legend div{
  display:flex;
  align-items:center;
  gap:3px;
  white-space:nowrap;
}
.analytics-study-legend strong{
  color:#173d25;
  font-size:10px;
  font-weight:900;
}
.analytics-study-legend span{display:inline;margin:0;color:#59645c;font-size:9px}

@media(max-width:600px){
  .memory-export-date-range{grid-template-columns:1fr}
  .analytics-study-legend{
    right:7px;
    top:7px;
    gap:6px;
    padding:6px 7px;
  }
}


/* =====================
   TIMER SAVED TOAST
   ===================== */
.timer-saved-toast {
  position: fixed;
  left: 50%;
  top: 24px;
  transform: translate(-50%, -18px);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  color: #24412e;
  font-family: PomodoroFont, Inter, sans-serif;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.20);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 9999;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.timer-saved-toast.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.timer-saved-check {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #6caa7f;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}



/* =====================
   POMODORO COMPLETE POPUP
   ===================== */
.pomodoro-complete-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.38);
  z-index: 10000;
}

.pomodoro-complete-overlay.open {
  display: flex;
}

.pomodoro-complete-panel {
  width: min(360px, 92vw);
  padding: 28px 24px 24px;
  border-radius: 20px;
  background: #fff;
  color: #111;
  text-align: center;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
  animation: pomodoroCompletePop 0.22s ease-out;
}

.pomodoro-complete-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #6caa7f;
  color: #fff;
  font-size: 28px;
  font-weight: 800;
}

.pomodoro-complete-panel h3 {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 800;
}

.pomodoro-complete-panel p {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
}

#pomodoro-complete-ok {
  width: 100%;
  padding: 12px 18px;
  border: 0;
  border-radius: 12px;
  background: #6caa7f;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

#pomodoro-complete-ok:hover {
  background: #5e9d72;
}

@keyframes pomodoroCompletePop {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(6px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}


/* Focus Wastage validation popup */
.wastage-validation-popup{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(5,12,8,.38);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.wastage-validation-card{
  position:relative;
  width:min(390px,100%);
  padding:26px 24px 22px;
  border:1px solid #dfe8e1;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 50px rgba(20,35,24,.18);
  text-align:center;
  font-family:PomodoroFont,Inter,sans-serif;
}
.wastage-validation-close{
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px;
  border:0;
  border-radius:9px;
  background:#6caa7f;
  color:#fff;
  cursor:pointer;
  font-size:19px;
  line-height:1;
}
.wastage-validation-icon{
  width:42px;
  height:42px;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff3df;
  color:#a86b18;
  font-size:22px;
  font-weight:900;
}
.wastage-validation-card h4{
  margin:0 0 8px;
  color:#23412d;
  font-size:17px;
}
.wastage-validation-card p{
  margin:0 auto 18px;
  max-width:310px;
  color:#59645c;
  font-size:13px;
  line-height:1.5;
}
.wastage-validation-ok{
  min-width:92px;
  min-height:40px;
  padding:9px 18px;
  border:0;
  border-radius:10px;
  background:#6caa7f;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

/* Generic custom popup - only X and Done close it. */
.app-validation-popup{
  position:fixed;
  inset:0;
  z-index:100001;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(5,12,8,.38);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.app-validation-card{
  position:relative;
  width:min(390px,100%);
  padding:26px 24px 22px;
  border:1px solid #dfe8e1;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 50px rgba(20,35,24,.18);
  text-align:center;
  font-family:PomodoroFont,Inter,sans-serif;
}
.app-validation-close{
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px;
  border:0;
  border-radius:9px;
  background:#6caa7f;
  color:#fff;
  cursor:pointer;
  font-size:19px;
  line-height:1;
}
.app-validation-icon{
  width:42px;
  height:42px;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff3df;
  color:#a86b18;
  font-size:22px;
  font-weight:900;
}
.app-validation-card h4{
  margin:0 0 8px;
  color:#23412d;
  font-size:17px;
}
.app-validation-card p{
  margin:0 auto 18px;
  max-width:310px;
  color:#59645c;
  font-size:13px;
  line-height:1.5;
  white-space:pre-line;
}
.app-validation-ok{
  min-width:92px;
  min-height:40px;
  padding:9px 18px;
  border:0;
  border-radius:10px;
  background:#6caa7f;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
