:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f6f3;background:#0b1019;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 75% -20%,#263143 0,transparent 50%),#0b1019}body[data-theme=ricotta]{--accent:#f5c88a;--accent2:#ffe5b7;--soft:#f5c88a2a;--hero:url('assets/ricotta_hero.jpg');--photo:url('assets/ricotta_recovery.jpg')}body[data-theme=bernese]{--accent:#ffaf45;--accent2:#ffd9a0;--soft:#ffaf452b;--hero:url('assets/bernese_hero.jpg');--photo:url('assets/bernese_hero.jpg')}body[data-theme=default]{--accent:#77afe9;--accent2:#bedaff;--soft:#77afe922;--hero:linear-gradient(145deg,#0c1829,#295174 65%,#1d293d);--photo:linear-gradient(130deg,#1c3156,#5583a7)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#app{display:flex;min-height:100vh;max-width:1750px;margin:auto}.sidebar{position:sticky;top:0;height:100vh;width:222px;flex-shrink:0;padding:27px 15px;background:#0e1520c9;border-right:1px solid #ffffff14;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:7px 9px 38px;font-size:13px;line-height:1.28;letter-spacing:1.5px;font-weight:800}.brand-icon{font-size:37px;color:var(--accent)}nav{display:flex;gap:5px}.sidebar nav{flex-direction:column}.navbtn{background:transparent;border:0;color:#aab3c0;display:flex;align-items:center;gap:13px;border-radius:12px;padding:14px;font-size:14px;text-align:left}.navbtn .sym{font-size:22px;width:25px;text-align:center}.navbtn.active{color:var(--accent);background:var(--soft);font-weight:700}.navbtn:hover{background:#ffffff12}.side-note{margin-top:auto;color:#768395;font-size:11px;line-height:2;padding:10px}.side-note strong{color:#e5e8ee;font-size:13px}.main{flex:1;min-width:0;padding:31px 36px 16px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{letter-spacing:2px;color:var(--accent);font-size:10px;font-weight:800;margin-bottom:9px}h1{font-size:clamp(28px,3vw,37px);margin:0 0 5px;letter-spacing:-1.3px}.subtitle{color:#9ba8b8;margin:0;font-size:13px}.header-actions{display:flex;gap:18px;align-items:center}.mode{font-size:10px;letter-spacing:1px;padding:8px 9px;border:1px solid #66728470;border-radius:100px;color:#9fb0c4;white-space:nowrap}.mode.real{color:#80dbb6;border-color:#327259}.theme-switch{display:flex;border:1px solid #ffffff28;padding:4px;border-radius:13px;background:#1a2230}.theme-switch button{color:#bfc9d5;background:transparent;border:0;border-radius:9px;padding:9px 14px;font-size:12px;white-space:nowrap}.theme-switch button.selected{background:var(--accent);color:#17202b;font-weight:800}.dashboard{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:15px;align-items:stretch}.panel{border:1px solid #ffffff11;background:linear-gradient(145deg,#202937,#151d29);border-radius:20px;min-width:0;overflow:hidden;padding:21px}.panel h3{font-size:15px;margin:0 0 14px;letter-spacing:-.2px}.panel .muted,.muted{color:#98a7b8}.hero{position:relative;min-height:394px;background:var(--hero) center 39%/cover;border:1px solid #ffffff16;padding:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b1423ed 0%,#0c152c60 43%,transparent 80%)}.hero-content{position:absolute;z-index:1;bottom:23px;left:24px;right:24px}.hero .pill{display:inline-flex;background:#08131d99;border:1px solid #ffffff2b;padding:8px 12px;border-radius:50px;font-size:11px;letter-spacing:1px;font-weight:700}.countdown{font-size:52px;font-weight:850;letter-spacing:-2px;margin:11px 0 -2px}.countdown span{font-size:15px;font-weight:600;letter-spacing:0}.hero-caption{font-size:13px;color:#d4dae4}.row{display:flex;align-items:center;justify-content:space-between;gap:8px}.row h3{margin-bottom:0}.big-number{font-size:30px;font-weight:800;letter-spacing:-1px}.progress-track{height:11px;border-radius:99px;background:#394351;margin:14px 0;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.weekdots{display:flex;justify-content:space-between;gap:2px;margin-top:15px}.day{text-align:center;min-width:0;flex:1}.day .check{width:27px;height:27px;border-radius:50%;background:var(--soft);border:1px solid #ffffff20;margin:7px auto 4px;display:grid;place-items:center;font-size:15px;color:var(--accent)}.day.done .check{background:var(--accent);color:#19202b}.day small{font-size:10px;color:#9eb0c5}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:15px 10px;text-align:center;border:1px solid #ffffff12;border-radius:14px;background:#ffffff07}.stat .label{font-size:10px;color:#aab8c9}.stat strong{font-size:20px;display:block;margin:6px 0 3px}.stat .sym{font-size:22px;color:var(--accent)}.chart{width:100%;height:177px;overflow:visible}.chart text{fill:#9faec2;font-size:10px}.chart .gridline{stroke:#ffffff13;stroke-width:1}.chart .bar{fill:var(--accent)}.chart .area{fill:var(--soft)}.chart .line{stroke:var(--accent);fill:none;stroke-width:3}.today-title{font-size:12px;color:#a7b4c4;margin-top:3px}.today-title strong{font-size:23px;display:block;color:#fff;margin:7px 0 3px}.btn{background:var(--accent);border:0;color:#14202b;border-radius:11px;padding:12px 16px;font-weight:800;font-size:13px}.btn.secondary{background:#ffffff14;color:#ecf0f7}.btn.ghost{background:transparent;color:var(--accent);border:1px solid #ffffff29}.btn:hover{filter:brightness(1.12)}.today-actions{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap}.activity{border-top:1px solid #ffffff13;display:flex;align-items:center;gap:10px;padding:12px 0;font-size:13px}.activity:first-child{border-top:0}.activity-icon{font-size:19px;width:26px}.activity strong{flex:1;font-weight:600}.activity .meta{color:#a0afbf;font-size:11px}.metric-list{display:flex;flex-direction:column;gap:11px}.metric{background:#ffffff09;border:1px solid #ffffff0e;border-radius:11px;padding:12px 14px;display:flex;justify-content:space-between;gap:6px}.metric b{font-size:15px}.metric small{color:#9ea9ba}.span2{grid-column:span 2}.three-stack{display:flex;flex-direction:column;gap:15px}.section{max-width:1200px}.section h2{font-size:19px;letter-spacing:-.5px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.two-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.timeline .slot{padding:16px 6px;background:#ffffff08;border:1px solid #ffffff11;border-radius:13px;text-align:center}.timeline .slot .icon{font-size:25px;padding:18px 0}.timeline .slot b{display:block;color:var(--accent);font-size:12px}.timeline .slot small{color:#9aabbe}.timeline .slot[data-done=true]{border-color:var(--accent)}.listcard{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #ffffff19}.listcard:last-child{border-bottom:0}.listcard b{font-size:13px}.listcard small{display:block;color:#9fabb9;margin-top:5px}.listcard .tag{font-size:11px;background:#ffffff12;border-radius:50px;padding:6px 10px;white-space:nowrap}.upload{border:1.5px dashed #718093;border-radius:17px;padding:27px;text-align:center;background:#ffffff07}.upload .upload-icon{font-size:36px}.upload h3{margin-bottom:5px}.upload p{color:#aeb9c8;font-size:13px;max-width:500px;margin:10px auto 20px;line-height:1.6}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field label{display:block;color:#a5b2c4;font-size:12px;margin:0 0 8px}.field input,.field select{width:100%;background:#0c1420;border:1px solid #ffffff27;color:white;padding:12px;border-radius:10px}.field input[type=date]{color-scheme:dark}.note{font-size:12px;color:#95a4b7;line-height:1.7}.empty{padding:34px;text-align:center;color:#9cacbd}.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.award{text-align:center;padding:32px 14px}.award .medal{font-size:45px;margin-bottom:15px}.award h3{margin-bottom:6px}.award p{font-size:12px;color:#9dacbd}.award.locked{opacity:.48}footer{text-align:center;color:#637389;font-size:10px;margin-top:30px;margin-bottom:6px}#bottomNav{display:none}#toast{position:fixed;right:19px;bottom:18px;background:#273443;color:white;padding:13px 18px;border:1px solid #ffffff22;border-radius:14px;z-index:10;opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none;max-width:380px;font-size:13px}#toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1150px){.sidebar{width:176px}.main{padding:26px 20px}.dashboard{grid-template-columns:repeat(2,1fr)}.hero{min-height:340px}.span2{grid-column:span 2}.header-actions{flex-direction:column;align-items:flex-end;gap:8px}}@media(max-width:740px){body{background:#0c121e}.sidebar{display:none}.main{padding:19px 13px 94px}.eyebrow{font-size:9px}h1{font-size:27px}.subtitle{font-size:12px}.mode{display:none}header{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:16px}.header-actions{align-items:stretch;width:100%}.theme-switch{width:100%}.theme-switch button{flex:1;padding:9px 5px;font-size:11px}.dashboard{grid-template-columns:1fr;gap:12px}.hero{min-height:355px;background-position:center 35%}.hero-content{bottom:18px}.span2{grid-column:span 1}.panel{padding:18px;border-radius:17px}.two-columns,.formgrid{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(4,1fr)}.awards{grid-template-columns:repeat(2,1fr)}#bottomNav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#0e1723f5;backdrop-filter:blur(16px);border-top:1px solid #ffffff20;justify-content:space-around;padding:8px 5px calc(6px + env(safe-area-inset-bottom));z-index:5}#bottomNav .navbtn{display:flex;flex-direction:column;gap:2px;flex:1;text-align:center;align-items:center;padding:6px 2px;font-size:10px}#bottomNav .navbtn .sym{font-size:22px}.countdown{font-size:47px}footer{display:none}#toast{bottom:88px;left:12px;right:12px;max-width:none}}
