*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--leather: #8B4513;--saddle: #A0522D;--rawhide: #D2B48C;--parchment: #F5F0E1;--dust: #EDE4D0;--brand-iron: #3E2723;--rope: #C4A265;--sage: #6B7F4E;--sky: #87CEEB;--sunset: #E8713A;--text: #2C1A0E;--text-light: #F5F0E1}html{font-size:16px;scroll-behavior:smooth}body{font-family:Libre Baskerville,Georgia,serif;background-color:var(--parchment);color:var(--text);min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 20% 50%,rgba(210,180,140,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(210,180,140,.1) 0%,transparent 50%)}.site-header{background:linear-gradient(135deg,var(--brand-iron) 0%,var(--leather) 100%);color:var(--text-light);padding:1rem 1.25rem .75rem;text-align:center;border-bottom:4px solid var(--rope);position:sticky;top:0;z-index:100}.brand h1{font-family:Rye,cursive;font-size:1.75rem;letter-spacing:.05em;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.tagline{font-size:.8rem;color:var(--rawhide);margin-top:.15rem;letter-spacing:.1em;text-transform:uppercase}.main-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;margin:.75rem auto 0;max-width:320px}.main-nav .signout-btn{grid-column:1 / -1;margin-top:.2rem}.nav-btn{font-family:Rye,cursive;font-size:.75rem;background:transparent;color:var(--rawhide);border:2px solid var(--rope);border-radius:4px;padding:.55rem .75rem;min-height:40px;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.05em}.nav-btn:hover,.nav-btn.active{background:var(--rope);color:var(--brand-iron)}.task-banner{background:var(--brand-iron);overflow:hidden;white-space:nowrap;border-bottom:2px solid var(--leather)}.banner-track{display:inline-flex;animation:scroll-banner 30s linear infinite}.banner-item{display:inline-block;padding:.5rem 2.5rem;color:var(--rawhide);font-size:.85rem;letter-spacing:.02em}@keyframes scroll-banner{0%{transform:translate(0)}to{transform:translate(-50%)}}.content{flex:1;padding:1rem 1rem 2rem;max-width:800px;margin:0 auto;width:100%}.section{display:none}.section.active{display:block}.section-title{font-family:Rye,cursive;font-size:1.35rem;color:var(--leather);border-bottom:3px solid var(--rope);padding-bottom:.4rem;margin-bottom:1rem}.subsection-title{font-family:Rye,cursive;font-size:1rem;color:var(--saddle);margin:1.5rem 0 .75rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{background:linear-gradient(145deg,#fff 0%,var(--dust) 100%);border:2px solid var(--rope);border-radius:8px;padding:1rem;text-align:center;box-shadow:2px 2px 6px #3e27231f}.stat-number{font-family:Rye,cursive;font-size:2rem;color:var(--leather)}.stat-label{font-size:.75rem;color:var(--saddle);margin-top:.25rem;text-transform:uppercase;letter-spacing:.04em}.task-list{list-style:none}.task-item{background:#fff;border-left:4px solid var(--sage);border-radius:0 6px 6px 0;padding:.75rem 1rem;margin-bottom:.6rem;box-shadow:1px 2px 4px #0000000f;display:flex;justify-content:space-between;align-items:center;transition:transform .15s ease}.task-item:active{transform:scale(.98)}.task-item.priority-high{border-left-color:var(--sunset)}.task-item.priority-low{border-left-color:var(--sky)}.task-name{font-size:.9rem;font-weight:700}.task-due{font-size:.75rem;color:var(--saddle);white-space:nowrap;margin-left:.5rem}.task-status{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:10px;font-weight:700}.status-pending{background:var(--rawhide);color:var(--brand-iron)}.status-in-progress{background:var(--sunset);color:#fff}.status-done{background:var(--sage);color:#fff}#ranch-map{width:100%;height:50vh;min-height:300px;border:3px solid var(--rope);border-radius:8px;z-index:1}.project-card{background:#fff;border:2px solid var(--rope);border-radius:8px;padding:1rem;margin-bottom:.75rem;box-shadow:2px 2px 6px #3e27231a}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.project-name{font-family:Rye,cursive;font-size:1rem;color:var(--leather)}.project-status{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:10px;font-weight:700}.project-desc{font-size:.85rem;color:#555;margin-bottom:.6rem;line-height:1.4}.progress-bar{background:var(--dust);border-radius:6px;height:10px;overflow:hidden}.progress-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--sage),var(--sunset));transition:width .4s ease}.progress-label{font-size:.7rem;color:var(--saddle);margin-top:.25rem;text-align:right}.section-header-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1rem}.section-header-row .section-title{margin-bottom:0}.add-btn{font-family:Rye,cursive;font-size:.75rem;background:var(--sage);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:background .2s}.add-btn:hover{background:#5a6e40}.project-card{cursor:pointer;transition:box-shadow .2s,transform .15s}.project-card:active{transform:scale(.98)}.project-card:hover{box-shadow:3px 4px 10px #3e27232e}.project-edit-hint{font-size:.65rem;color:var(--saddle);text-align:right;margin-top:.35rem;opacity:.6}.modal-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:200;justify-content:center;align-items:center;padding:1rem}.modal-overlay.open{display:flex}.modal{background:var(--parchment);border:3px solid var(--rope);border-radius:10px;padding:1.25rem;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:4px 4px 20px #0000004d}.modal-title{font-family:Rye,cursive;font-size:1.1rem;color:var(--leather);margin-bottom:1rem;text-align:center}.form-label{display:block;font-size:.8rem;font-weight:700;color:var(--saddle);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.form-input{display:block;width:100%;margin-top:.3rem;padding:.5rem .65rem;font-family:Libre Baskerville,Georgia,serif;font-size:.85rem;border:2px solid var(--rope);border-radius:6px;background:#fff;color:var(--text);outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--leather)}.form-row{display:flex;gap:.75rem}.form-label.half{flex:1}.project-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.75rem;color:var(--saddle);margin-bottom:.5rem}.project-meta span{white-space:nowrap}.meta-location{font-weight:700}.form-range{display:block;width:calc(100% - 3rem);margin-top:.4rem;display:inline-block;vertical-align:middle;accent-color:var(--leather)}.range-value{display:inline-block;width:2.5rem;text-align:right;font-size:.85rem;font-weight:700;color:var(--leather);vertical-align:middle}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:.5rem}.modal-actions div{display:flex;gap:.5rem}.btn-save,.btn-cancel,.btn-delete{font-family:Rye,cursive;font-size:.7rem;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:opacity .2s}.btn-save{background:var(--sage);color:#fff}.btn-cancel{background:var(--rawhide);color:var(--brand-iron)}.btn-delete{background:#c0392b;color:#fff}.btn-save:hover,.btn-cancel:hover,.btn-delete:hover{opacity:.85}.section-hint{font-size:.75rem;color:var(--saddle);font-style:italic;margin-bottom:.75rem;margin-top:-.25rem}.form-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text);margin-bottom:.75rem;cursor:pointer}.form-checkbox input{accent-color:var(--leather);width:1rem;height:1rem}.key-tasks-badge{display:inline-block;background:var(--rope);color:var(--brand-iron);font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:10px;margin-left:.4rem}.task-recurring{display:inline-block;background:var(--sky);color:var(--brand-iron);font-size:.6rem;font-weight:700;padding:.1rem .4rem;border-radius:8px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.04em}.key-tasks-list{list-style:none;margin:.5rem 0 .75rem;padding:0}.key-tasks-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .6rem;margin-bottom:.3rem;background:var(--dust);border-left:3px solid var(--sage);border-radius:4px;font-size:.85rem}.key-task-label{display:flex;align-items:center;gap:.55rem;flex:1;cursor:pointer;user-select:none}.key-task-check{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--sage);cursor:pointer}.key-task-text{flex:1;transition:color .2s ease,text-decoration-color .2s ease}.key-tasks-list li.done{border-left-color:var(--rope);background:#fff}.key-tasks-list li.done .key-task-text{text-decoration:line-through;color:var(--saddle);opacity:.7}.key-task-remove{background:transparent;border:none;color:#c0392b;font-size:1rem;cursor:pointer;padding:0 .25rem;line-height:1}.project-key-tasks{margin:.5rem 0 .6rem;padding-left:1.1rem;font-size:.8rem;color:#444}.project-key-tasks li{margin-bottom:.15rem}.team-card{background:#fff;border:2px solid var(--rope);border-radius:8px;padding:1rem;margin-bottom:.75rem;box-shadow:2px 2px 6px #3e27231a;display:flex;align-items:center;gap:1rem}.team-avatar{width:48px;height:48px;border-radius:50%;background:var(--rawhide);display:flex;align-items:center;justify-content:center;font-family:Rye,cursive;font-size:1.1rem;color:var(--brand-iron);flex-shrink:0}.team-info{flex:1}.team-card{cursor:pointer;transition:box-shadow .2s,transform .15s}.team-card:active{transform:scale(.98)}.team-card:hover{box-shadow:3px 4px 10px #3e27232e}.team-name{font-weight:700;font-size:.95rem;color:var(--text)}.team-role{font-size:.75rem;color:var(--saddle);margin-top:.15rem}.team-contact{font-size:.7rem;color:#777;margin-top:.25rem;line-height:1.4}.team-edit-hint{font-size:.65rem;color:var(--saddle);opacity:.6;margin-left:auto;white-space:nowrap}.stat-card[data-target]{cursor:pointer;transition:box-shadow .2s ease,transform .1s ease,border-color .2s ease}.stat-card[data-target]:hover{box-shadow:3px 4px 10px #3e27232e;border-color:var(--leather)}.stat-card[data-target]:active{transform:scale(.98)}.stat-card[data-target]:focus-visible{outline:2px solid var(--leather);outline-offset:2px}.history-item{background:#fff;border-left:4px solid var(--sage);border-radius:0 6px 6px 0;padding:.75rem 1rem;margin-bottom:.6rem;box-shadow:1px 2px 4px #0000000f;cursor:pointer;transition:box-shadow .2s ease,transform .1s ease}.history-item:hover{box-shadow:2px 3px 8px #0000001f}.history-item:active{transform:scale(.99)}.history-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.history-kind{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:10px;font-weight:700}.history-kind-project{background:var(--sage);color:#fff}.history-kind-task{background:var(--rope);color:var(--brand-iron)}.history-date{font-size:.7rem;color:var(--saddle);white-space:nowrap}.history-name{font-size:.9rem;font-weight:700;color:var(--text)}.history-meta{font-size:.72rem;color:var(--saddle);margin-top:.25rem;line-height:1.4}.site-footer{background:var(--brand-iron);color:var(--rawhide);text-align:center;padding:1rem;font-size:.75rem;letter-spacing:.05em;border-top:3px solid var(--rope)}.landing-html,.landing-html body.landing-body{height:100%;overflow:hidden}.landing-body{height:100dvh;min-height:100vh;margin:0;padding:1rem;display:grid;place-items:center;overflow:hidden;color:#f4d9a8;background-color:#2a1a0f}.landing-bg{position:fixed;inset:-6%;z-index:-4;background:url(https://images.unsplash.com/photo-1500076656116-558758c991c1?w=1920&q=80&auto=format&fit=crop) center/cover no-repeat;animation:jr-focus-in .9s cubic-bezier(.3,0,.2,1) both,jr-kenburns 40s ease-in-out .9s infinite alternate;will-change:transform,filter,opacity}@keyframes jr-focus-in{0%{filter:blur(10px);opacity:.35;transform:scale(1.12) translate3d(-1.2%,-.8%,0)}to{filter:blur(0);opacity:1;transform:scale(1.06) translate3d(-1.2%,-.8%,0)}}@keyframes jr-kenburns{0%{transform:scale(1.06) translate3d(-1.2%,-.8%,0)}to{transform:scale(1.16) translate3d(1.2%,1%,0)}}.landing-sunbloom{position:fixed;inset:0;z-index:-3;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle at 28% 38%,rgba(255,210,140,.38) 0%,rgba(255,180,100,.14) 18%,transparent 45%);animation:jr-sunpulse 7.5s ease-in-out infinite alternate;opacity:0;animation-delay:.5s}@keyframes jr-sunpulse{0%{opacity:.6;transform:scale(1) translate(0)}to{opacity:1;transform:scale(1.08) translate(-.3%,-.2%)}}.landing-vignette{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 28%,rgba(10,5,2,.6) 95%),linear-gradient(180deg,#28120a47,#0f08048c);opacity:0;animation:jr-fade-in .8s ease-out .2s forwards}.landing-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>");background-size:180px 180px}@keyframes jr-fade-in{0%{opacity:0}to{opacity:1}}.landing-tilt{perspective:1000px;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform}.landing-card{width:min(86vw,300px);padding:1.4rem 1.15rem 1.15rem;border:11px solid transparent;border-radius:6px;text-align:center;box-shadow:0 18px 40px #000000a6;background:linear-gradient(180deg,#23140af0,#160c06f5) padding-box,repeating-linear-gradient(45deg,#3d2713 0 2px,#7a5528 2px 5px,#c49455 5px 8px,#e8c484 8px 10px,#c49455 10px 13px,#7a5528 13px 16px,#3d2713 16px 18px) border-box;opacity:0;transform:translateY(14px) scale(.96);animation:jr-card-spring .9s cubic-bezier(.2,.8,.22,1) .15s forwards;will-change:transform,opacity}@keyframes jr-card-spring{0%{opacity:0;transform:translateY(14px) scale(.96)}55%{opacity:1;transform:translateY(-1px) scale(1.008)}80%{opacity:1;transform:translateY(0) scale(.998)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-title{font-family:Rye,cursive;font-size:1.85rem;color:#f5dfae;letter-spacing:.04em;line-height:1;margin:0 0 1.1rem;text-shadow:0 1px 0 rgba(0,0,0,.55),0 2px 14px rgba(232,196,132,.25);animation:jr-title-gleam 4.5s ease-in-out 1.6s infinite alternate}@keyframes jr-title-gleam{0%{filter:brightness(1);text-shadow:0 1px 0 rgba(0,0,0,.55),0 2px 14px rgba(232,196,132,.22)}to{filter:brightness(1.08);text-shadow:0 1px 0 rgba(0,0,0,.55),0 2px 22px rgba(232,196,132,.38)}}.landing-title .word{display:inline-block;opacity:0;transform:translateY(10px);animation:jr-word-rise .75s cubic-bezier(.2,.7,.2,1) forwards;will-change:transform,opacity}.landing-title .word:nth-child(1){animation-delay:.55s}.landing-title .word:nth-child(2){animation-delay:.7s}@keyframes jr-word-rise{to{opacity:1;transform:translateY(0)}}.landing-form{margin:0}.landing-input{display:block;width:100%;padding:.6rem .75rem;font-family:Libre Baskerville,Georgia,serif;font-size:.92rem;color:#2c1a0e;background:#f5ead0;border:1.5px solid #7a5528;border-radius:4px;outline:none;box-shadow:inset 0 1px 2px #00000026;opacity:0;transform:translateY(6px);animation:jr-fade-up .65s cubic-bezier(.2,.7,.2,1) .95s forwards;transition:border-color .25s ease,box-shadow .35s cubic-bezier(.2,.7,.2,1)}@keyframes jr-fade-up{to{opacity:1;transform:translateY(0)}}.landing-input::placeholder{color:#8a6b4a;font-style:italic;letter-spacing:.05em}.landing-input:focus{border-color:#c49455;box-shadow:inset 0 1px 2px #00000026,0 0 0 3px #c4945559}.landing-btn{display:block;width:100%;margin-top:.55rem;padding:.65rem .8rem;font-family:Rye,cursive;font-size:.82rem;color:#f4d9a8;background:linear-gradient(180deg,#8c4422,#5e2a16);border:1.5px solid #2a0f05;border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;box-shadow:0 2px #2a0f05,inset 0 1px #ffdcaa33;opacity:0;transform:translateY(6px);animation:jr-fade-up .65s cubic-bezier(.2,.7,.2,1) 1.1s forwards;transition:transform .25s cubic-bezier(.2,.7,.2,1),filter .2s ease,box-shadow .2s ease}.landing-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 3px #2a0f05,inset 0 1px #ffdcaa40}.landing-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #2a0f05,inset 0 1px #ffdcaa26}.landing-btn:disabled{opacity:.6;cursor:wait}.landing-error{color:#f0a080;font-size:.72rem;font-weight:700;margin-top:.5rem;min-height:1em;letter-spacing:.04em}@keyframes jr-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.landing-form.shake{animation:jr-shake .4s ease}@media(min-width:480px){.landing-card{width:min(80vw,340px);padding:1.5rem 1.3rem 1.25rem;border-width:13px}.landing-title{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){.landing-bg,.landing-sunbloom,.landing-vignette{animation:none;opacity:1}.landing-tilt{transform:none!important;transition:none}.landing-card,.landing-title,.landing-title .word,.landing-input,.landing-btn{opacity:1;transform:none;animation:none}.landing-btn:hover:not(:disabled){transform:none}}.signout-btn{border-color:var(--sunset);color:var(--sunset)}.signout-btn:hover{background:var(--sunset);color:#fff}@media(min-width:600px){.stats-grid{grid-template-columns:repeat(4,1fr)}.brand h1{font-size:2.25rem}.main-nav{display:flex;justify-content:center;gap:.5rem;max-width:none}.main-nav .signout-btn{grid-column:auto;margin-top:0}.nav-btn{font-size:.85rem;padding:.5rem 1.2rem}}
