:root{--bg:#f5f5f7;--panel:#fff;--text:#1d1d1f;--muted:#68686d;--border:#e5e5ea;--accent:#0071e3;--soft:#edf5ff;--warm:#eaf3ff;--danger:#be3038;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.board-grid,.quick-add{position:relative}
body{background:radial-gradient(ellipse at 85% 0%,#dce9fa80,transparent 45%),var(--bg)}header{border:0;padding:22px 44px}.brand{font-size:27px;letter-spacing:-1.4px;font-weight:700}.brand span{color:var(--accent)}.header-actions button{background:#ffffffb3;border:0;border-radius:24px;padding:10px 16px}.header-actions #clock{font-weight:550}.header-actions{gap:8px}main{max-width:1800px;padding:27px 44px 20px}.intro{margin-bottom:30px;align-items:end}h1{font-family:inherit;font-size:clamp(34px,4vw,56px);font-weight:700;letter-spacing:-2px;line-height:1.08;margin:10px 0 15px}.subtitle{font-size:16px;letter-spacing:-.2px}.eyebrow{font-weight:550;letter-spacing:1.3px;font-size:10px}.intro .eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:11px}.sync button{background:#fff;border:0;border-radius:22px}.sync{font-size:11px}
.tile-navigation{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 18px}.tile-navigation nav{display:flex;gap:5px;padding:4px;background:#e8e8ed;border-radius:25px;overflow-x:auto}.tile-navigation nav button{border:0;font-size:13px;border-radius:22px;min-height:40px;padding:8px 21px;white-space:nowrap}.tile-navigation nav button:hover,.tile-navigation nav button:focus-visible{background:white}.tile-navigation>div{display:flex;gap:8px}.tile-navigation>div button{width:44px;padding:0;border:0;background:#e8e8ed;border-radius:50%;font-size:19px}
.board-grid{display:flex;align-items:stretch;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 22px;scrollbar-width:thin;scrollbar-color:#c5c5cd transparent}.panel{flex:0 0 345px;min-height:435px;border:0;border-radius:28px;padding:26px;scroll-snap-align:start;box-shadow:0 4px 18px #17233d06;display:flex;flex-direction:column;margin:0}.calendar{flex-basis:500px}.gallery{flex-basis:450px;background:linear-gradient(150deg,#fff,#eef4ff)}h2{font-size:25px;letter-spacing:-.85px;font-weight:650;margin-top:7px}.panel .eyebrow{font-size:9px;letter-spacing:1.25px}.panel-heading{margin-bottom:2px}.add{background:var(--soft);border:0;color:var(--accent);font-size:26px}.calendar .add{background:var(--accent)}.week-nav button{border:0;background:var(--bg);border-radius:20px}.day{border-radius:16px;padding:11px 1px}.day strong{font-size:23px}.day.selected{background:var(--accent);box-shadow:0 4px 12px #0071e32b}.day.selected span{color:white}.days{gap:6px}.section-line{margin-top:25px}.entry{padding:15px 0}.entry-title{font-weight:500;font-size:15px;letter-spacing:-.2px}.entry-meta{font-size:12px}.entry-time{font-size:13px;font-weight:600}.check{border:2px solid #d4d8df;width:28px;height:28px;min-width:44px;min-height:44px;border-radius:14px}.entry .edit{font-size:19px;min-width:44px}.panel-description{font-size:14px}.entries{max-height:285px;flex:1}.empty{padding:37px 12px;font-size:13px;line-height:1.6}.empty strong{font-size:17px;font-weight:550}.calendar-note{margin-top:20px;font-size:10px;line-height:1.7}.quick-add{margin-top:25px}.quick-add input{background:var(--bg);border:0;border-radius:14px;min-width:0}.quick-add button{border:0;border-radius:14px;color:var(--accent)}.shopping-note{font-family:inherit;font-size:12px}.text-button{align-self:start}.primary{border-radius:14px}.primary:hover{background:#0064ca}.photo-stage{margin-top:22px;position:relative;background:linear-gradient(145deg,#e2edff,#eff0f8 55%,#f2e4e8);border-radius:20px;height:265px;overflow:hidden;display:grid;place-items:center}.photo-stage img{width:100%;height:100%;object-fit:contain;background:#e9edf5}.photo-symbol{font-size:48px;line-height:1;margin-bottom:13px;color:#5c78a4}#gallery-empty{text-align:center;padding:20px;color:#546077}#gallery-empty h3{font-size:18px;letter-spacing:-.4px;font-weight:550}#gallery-empty p{font-size:13px;line-height:1.7;margin:10px 0}.photo-controls{display:flex;align-items:center;gap:8px;margin-top:13px}.photo-controls button{border:0;background:#fff9;border-radius:20px;padding:7px 13px}.photo-controls span{font-size:12px;color:var(--muted);min-width:70px;text-align:center}#photo-delete{margin-left:auto;font-size:12px;color:var(--muted)}#photo-status{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 0}footer{font-size:11px;padding-top:10px}dialog{border:0;box-shadow:0 30px 100px #17233d33;border-radius:25px}dialog h2{font-size:24px}dialog input{background:var(--bg);border:0;border-radius:12px}
body.night{--bg:#131316;--panel:#232328;--text:#f3f3f5;--muted:#aaaab4;--border:#3a3a42;--accent:#78b4ff;--soft:#25374e;--warm:#25374e;background:var(--bg)}.night .tile-navigation nav,.night .tile-navigation>div button{background:#292930}.night .tile-navigation nav button:hover,.night .tile-navigation nav button:focus-visible,.night .header-actions button,.night .sync button{background:#37373e}.night .gallery{background:linear-gradient(150deg,#232328,#232f40)}.night .photo-controls button{background:#ffffff10}.night .day.selected,.night .primary,.night .calendar .add{color:#10213b}.night .day.selected span{color:#10213b}.night .primary:hover{background:#a5ceff}.night .photo-stage{background:#303a4b}.night #gallery-empty,.night #gallery-empty p{color:#c0ccdf}
@media(min-width:1600px){.calendar{flex-basis:550px}.panel{flex-basis:360px}.gallery{flex-basis:480px}.calendar{flex-basis:550px}}
@media(max-width:1050px){header{padding:20px 25px}main{padding:25px}.intro{align-items:center}.calendar{flex-basis:460px}.panel{min-height:420px}.gallery{flex-basis:420px}}
@media(max-width:600px){header{padding:18px 20px}.brand{font-size:26px}.header-actions{gap:5px}.header-actions button{padding:8px 10px}main{padding:22px 20px}.intro{margin-bottom:22px}h1{font-size:38px;letter-spacing:-1.5px}.subtitle{font-size:14px;max-width:270px}.sync{margin-top:20px}.tile-navigation{gap:8px;flex-wrap:wrap}.tile-navigation nav{width:100%;justify-content:space-between;gap:0}.tile-navigation nav button{padding:8px 12px;font-size:12px}.tile-navigation>div{margin-left:auto}.board-grid{display:flex;gap:15px;padding-bottom:20px}.panel,.calendar,.gallery{flex:0 0 calc(100% - 8px);padding:21px;border-radius:25px;min-height:420px;margin:0}.panel .eyebrow{font-size:8px}h2{font-size:23px}.photo-stage{height:250px}.days{gap:2px}.day strong{font-size:20px}.photo-controls{gap:4px}.photo-controls button{padding:6px 10px}.calendar-note{font-size:10px}}
