:root{
  --cream:#fff8ed;--cream2:#fffdf8;--card:rgba(255,253,247,.94);--ink:#3a1d16;--muted:#80695f;
  --caramel:#f2a919;--pink:#f67c9d;--mint:#7ecb96;--berry:#d95975;--navy:#111a49;--purple:#493678;
  --shadow:0 12px 30px rgba(92,54,32,.12);--radius:26px;--safe-bottom:max(14px,env(safe-area-inset-bottom));
}
*{box-sizing:border-box}html{background:#f6ede2}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(#f5e8db,#fff8ed);min-height:100vh}.app-shell{max-width:620px;margin:0 auto;min-height:100vh;background:var(--cream);padding-bottom:calc(88px + var(--safe-bottom));position:relative;overflow-x:hidden}.sky-card{
  height:360px;position:relative;overflow:hidden;
  background-image:url("./assets/scene-day-wide.jpg");
  background-size:cover;background-position:center center;background-repeat:no-repeat;
  transition:background-image .7s ease,filter .7s ease;
}
.sky-card::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,251,241,.90) 0%,rgba(255,251,241,.66) 38%,rgba(255,251,241,.13) 67%,rgba(255,251,241,0) 82%);
}
.sky-card[data-phase="dawn"]::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,190,134,.12),rgba(255,215,166,.08));
}
.sky-card[data-phase="sunset"]::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(110,92,170,.12),rgba(242,128,132,.22));
}
.sky-card[data-phase="night"],.sky-card[data-phase="predawn"]{background-image:url("./assets/scene-night-wide.jpg")}
.sky-card[data-phase="night"]::before,.sky-card[data-phase="predawn"]::before{
  background:linear-gradient(90deg,rgba(8,20,61,.82) 0%,rgba(8,20,61,.60) 38%,rgba(8,20,61,.14) 67%,rgba(8,20,61,0) 82%);
}
.sky-stars,.celestial,.mountains,.village{display:none!important}
.tower{
  position:absolute;right:53px;top:142px;width:58px;height:58px;
  background:transparent;border-radius:50%;box-shadow:none;z-index:3;
}
.tower-top,.tower-window{display:none}
.clock{
  position:absolute;inset:0;width:58px;height:58px;border-radius:50%;
  background:rgba(255,249,233,.94);border:3px solid rgba(126,80,46,.86);
  box-shadow:0 3px 11px rgba(60,35,18,.22),inset 0 0 0 1px rgba(229,210,182,.9);
}
.clock:before{content:"";display:none}
.clock-num{position:absolute;color:#69452f;font:700 7px/1 Georgia,serif;z-index:2}
.clock-num.n12{top:4px;left:50%;transform:translateX(-50%)}
.clock-num.n3{right:4px;top:50%;transform:translateY(-50%)}
.clock-num.n6{bottom:4px;left:50%;transform:translateX(-50%)}
.clock-num.n9{left:4px;top:50%;transform:translateY(-50%)}
.clock-dot{position:absolute;width:6px;height:6px;background:#70492e;border-radius:50%;left:23px;top:23px;z-index:5}
.hand{position:absolute;left:26px;top:7px;width:2px;height:20px;background:#70492e;transform-origin:50% 20px;z-index:4;border-radius:2px}
.hand.hour{height:16px;top:11px;transform-origin:50% 16px;width:3px;left:25.5px}
.hero-content{position:absolute;inset:0;padding:52px 118px 30px 28px;z-index:4;text-shadow:0 1px 2px rgba(255,255,255,.28)}.brand{font-family:Georgia,serif;font-size:38px;font-style:italic;font-weight:800;line-height:1;color:#4a2217;margin-bottom:18px;white-space:nowrap}.brand-heart{color:var(--pink);font-size:22px;vertical-align:top}.brand-spark{color:var(--caramel);font-style:normal}.hero-content h1{font-size:28px;margin:0 0 6px}.date{font-size:17px;margin:0 0 16px}.hero-message{font-size:16px;line-height:1.42;max-width:380px;margin:0}.sky-card[data-phase="night"] .hero-content,.sky-card[data-phase="predawn"] .hero-content{color:#fff9e8;text-shadow:0 2px 8px rgba(0,0,0,.32)}.sky-card[data-phase="night"] .brand,.sky-card[data-phase="predawn"] .brand{color:#fff3d6}.content{padding:18px}.card{background:var(--card);border:1px solid rgba(112,75,48,.08);border-radius:var(--radius);box-shadow:var(--shadow)}.urgent-banner{margin-bottom:14px;padding:14px 16px;border-radius:22px;background:linear-gradient(135deg,#3c2d72,#7a4b86);color:#fff;box-shadow:var(--shadow);font-weight:700;line-height:1.35}.progress-card{padding:17px 18px;margin-bottom:14px}.progress-top{display:flex;justify-content:space-between;align-items:center}.progress-track{height:14px;background:#efe3d5;border-radius:20px;margin:10px 0;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--caramel),#ffcd66);border-radius:inherit;transition:width .4s ease}.progress-note{color:var(--muted);font-size:13px}.now-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.event-card{min-height:168px;padding:15px;position:relative;overflow:hidden}.event-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-40px;bottom:-52px;background:rgba(242,169,25,.12)}.event-card h3{font-size:21px;margin:15px 0 4px}.event-card p{margin:4px 0;color:var(--muted)}.event-tag{display:inline-block;padding:7px 12px;border-radius:999px;background:var(--caramel);color:white;font-size:12px;font-weight:800;letter-spacing:.05em}.next-card .event-tag{background:var(--pink)}.event-icon{font-size:30px;display:block;margin-top:15px}.section-card{padding:18px;margin-bottom:14px}.section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.section-head h2,.section-head h3{margin:0;font-size:20px}.mini-btn,.pill{border:0;background:#f8ead7;color:#6a4a3d;border-radius:999px;padding:8px 12px;font-weight:700}.check-row{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #eee3d8}.check-row:last-child{border-bottom:0}.check-toggle{width:30px;height:30px;border-radius:9px;border:2px solid #ad9686;background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}.check-row.done .check-toggle{background:var(--mint);border-color:var(--mint);color:#fff}.check-row.done .check-title{text-decoration:line-through;color:#9a8981}.check-title{font-size:16px}.category-dot{font-size:20px}.timeline{position:relative}.timeline-row{display:grid;grid-template-columns:76px 24px 1fr auto;gap:6px;align-items:start;padding:11px 0}.timeline-time{font-weight:700;font-size:14px}.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--pink);margin-top:5px;box-shadow:0 0 0 5px #fff}.timeline-row:nth-child(2n) .timeline-dot{background:var(--caramel)}.timeline-body strong{display:block}.timeline-body small{display:block;color:var(--muted);margin-top:3px}.timeline-actions{display:flex;gap:4px}.icon-btn{border:0;background:#f7eadb;border-radius:11px;width:34px;height:34px}.quick-add{width:100%;display:flex;align-items:center;gap:12px;border:0;background:#fffaf2;border-radius:25px;padding:13px 18px;color:#73584d;box-shadow:var(--shadow);font-size:14px}.quick-add span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--caramel);color:#fff;font-size:28px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(620px,100%);height:calc(72px + var(--safe-bottom));padding:8px 13px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,252,247,.96);backdrop-filter:blur(18px);border-top:1px solid #eadfd4}.nav-btn{border:0;background:none;color:#7e6b62;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:700}.nav-btn span{font-size:24px;line-height:1}.nav-btn.active{color:var(--caramel)}.view-panel{padding:calc(34px + env(safe-area-inset-top)) 18px 18px;min-height:calc(100vh - 90px)}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-head h2{font-size:34px;margin:0}.eyebrow{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--pink);margin-bottom:4px}.round-btn{width:48px;height:48px;border:0;border-radius:50%;background:var(--caramel);color:#fff;font-size:27px;box-shadow:var(--shadow)}.agenda-item{padding:14px 0;border-bottom:1px solid #eee3d8}.agenda-item:last-child{border-bottom:0}.agenda-top{display:flex;justify-content:space-between;gap:8px}.agenda-title{font-weight:800}.agenda-meta{color:var(--muted);font-size:13px;margin-top:4px}.agenda-actions{display:flex;gap:8px;margin-top:10px}.text-btn{border:0;background:#f5eadf;color:#6d5144;border-radius:10px;padding:8px 10px;font-weight:700}.idea-grid{display:grid;gap:10px}.idea-card{padding:15px;border-radius:18px;background:#fff8ec;border-left:5px solid var(--pink)}.idea-card small{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-btn{border:0;border-radius:18px;padding:18px 12px;background:#fff8ec;color:var(--ink);font-weight:800;text-align:left}.file-label{display:flex;align-items:center;cursor:pointer}.setting-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.setting-row label{display:grid;gap:6px;font-size:13px;font-weight:700}.setting-row input{border:1px solid #ded0c4;border-radius:12px;padding:12px;background:#fff}.muted{color:var(--muted);line-height:1.5}.version{text-align:center;color:#9d887d;font-size:12px;margin:20px}.modal,.action-sheet{position:fixed;z-index:100;inset:0;background:rgba(31,20,17,.45);display:flex;align-items:flex-end;justify-content:center}.modal-sheet,.sheet-card{width:min(620px,100%);background:#fffaf3;border-radius:30px 30px 0 0;padding:20px 18px calc(22px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h2{margin:0}.close-btn{border:0;background:#f0e4d8;border-radius:50%;width:40px;height:40px;font-size:24px}.form-grid{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-size:13px;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid #ddcfc1;border-radius:15px;background:#fff;padding:13px;font:inherit;color:var(--ink)}.field textarea{min-height:90px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.primary,.secondary{border:0;border-radius:15px;padding:13px 18px;font-weight:800}.primary{background:var(--caramel);color:#fff}.secondary{background:#f4dce2;color:#9f3854;margin-right:auto}.sheet-card h3{text-align:center}.sheet-handle{width:52px;height:5px;border-radius:9px;background:#d8c8bc;margin:0 auto 12px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{border:0;background:#fff;border-radius:20px;padding:22px 12px;font-size:26px;box-shadow:0 6px 18px rgba(80,52,35,.08)}.quick-grid button span{display:block;font-size:14px;margin-top:8px;font-weight:800}.sheet-cancel{width:100%;margin-top:12px;border:0;background:#f3e6da;border-radius:16px;padding:14px;font-weight:800}.toast{position:fixed;z-index:200;left:50%;bottom:105px;transform:translate(-50%,20px);width:min(90%,520px);background:#35211b;color:#fff;padding:13px 16px;border-radius:16px;opacity:0;pointer-events:none;transition:.25s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}
@media(max-width:430px){.sky-card{height:340px}.hero-content{padding-left:22px;padding-right:105px}.brand{font-size:33px}.hero-content h1{font-size:25px}.hero-message{font-size:14px}.now-next-grid{grid-template-columns:1fr 1fr}.event-card{min-height:158px}.event-card h3{font-size:18px}.timeline-row{grid-template-columns:68px 20px 1fr auto}.settings-grid{grid-template-columns:1fr}.setting-row{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.now-next-grid{grid-template-columns:1fr}.hero-content{padding-right:100px}.brand{font-size:30px}}

@media(max-width:430px){
  .sky-card{height:350px;background-image:url("./assets/scene-day-mobile.jpg");background-position:center center}
  .sky-card[data-phase="night"],.sky-card[data-phase="predawn"]{background-image:url("./assets/scene-night-mobile.jpg")}
  .sky-card::before{background:linear-gradient(90deg,rgba(255,251,241,.92) 0%,rgba(255,251,241,.72) 52%,rgba(255,251,241,.10) 82%,rgba(255,251,241,0) 100%)}
  .sky-card[data-phase="night"]::before,.sky-card[data-phase="predawn"]::before{background:linear-gradient(90deg,rgba(8,20,61,.86) 0%,rgba(8,20,61,.67) 52%,rgba(8,20,61,.10) 82%,rgba(8,20,61,0) 100%)}
  .tower{right:18px;top:132px;width:56px;height:56px}
  .clock{width:56px;height:56px}
  .clock-dot{left:22px;top:22px}
  .hand{left:25px;top:7px}
  .hand.hour{left:24.5px;top:11px}
  .hero-content{padding:48px 94px 26px 22px}
  .brand{font-size:34px;margin-bottom:18px}
  .hero-content h1{font-size:25px;line-height:1.06}
  .date{font-size:17px}
  .hero-message{font-size:14px;line-height:1.38}
}

/* V1.2 — alarmas y recordatorios */
.alarm-badge{display:inline-flex;align-items:center;gap:4px;margin-top:7px;padding:5px 8px;border-radius:999px;background:#fff0c9;color:#73511b;font-size:11px;font-weight:800}
.alarm-badge.off{background:#f1ebe6;color:#8f8179}
.alarm-field{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#fff5d8,#fff0f4);border:1px solid #f1dec6}
.switch-line{display:flex!important;align-items:center;gap:10px!important;padding:0!important}
.switch-line input{width:24px!important;height:24px!important;accent-color:var(--caramel);flex:0 0 auto}
.switch-line span{display:grid;gap:2px}.switch-line small{color:var(--muted);font-weight:600}
.reminder-select{display:grid!important;gap:5px!important;font-size:12px!important}.reminder-select select{padding:10px!important;background:#fffdf7!important}
.pill.ok{background:#e2f4e7;color:#2d7141}.pill.warn{background:#fff0d7;color:#8a5c19}
.alarm-settings-card{border:1px solid rgba(242,169,25,.18)}
.alarm-overlay{position:fixed;z-index:320;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 22%,rgba(246,124,157,.35),rgba(23,18,42,.88) 55%,rgba(10,10,20,.96));backdrop-filter:blur(10px)}
.alarm-card{width:min(430px,100%);border-radius:34px;padding:30px 22px 22px;background:linear-gradient(180deg,#fffaf0,#fff4e7);box-shadow:0 28px 90px rgba(0,0,0,.42);text-align:center;border:1px solid rgba(255,255,255,.7)}
.alarm-pulse{width:86px;height:86px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-size:42px;background:linear-gradient(145deg,#ffd166,#f6a919);box-shadow:0 0 0 0 rgba(242,169,25,.45);animation:alarmPulse 1.25s infinite}
.alarm-kicker{display:block;color:var(--pink);font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:8px}.alarm-time{font-size:43px;line-height:1;font-weight:900;color:var(--ink);margin-bottom:10px}.alarm-card h2{font-size:29px;margin:0 0 10px}.alarm-card p{min-height:42px;margin:0 auto 20px;color:var(--muted);font-size:16px;line-height:1.4;max-width:340px}
.alarm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alarm-actions button{min-height:50px;border:0;border-radius:16px;background:#f4e7d9;color:var(--ink);font-size:15px;font-weight:850}.alarm-actions .alarm-done{grid-column:1/-1;background:linear-gradient(135deg,#69c58a,#86d39f);color:#103b20}.alarm-actions .alarm-dismiss{grid-column:1/-1;background:#eadfe0;color:#704f56}
@keyframes alarmPulse{0%{box-shadow:0 0 0 0 rgba(242,169,25,.44);transform:scale(1)}65%{box-shadow:0 0 0 22px rgba(242,169,25,0);transform:scale(1.04)}100%{box-shadow:0 0 0 0 rgba(242,169,25,0);transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.alarm-pulse{animation:none}}
@media(max-width:430px){.alarm-field{grid-template-columns:1fr}.alarm-overlay{padding:18px}.alarm-card{padding:26px 18px 18px}.alarm-time{font-size:39px}}
