@font-face{font-family:Instrument;src:url('assets/fonts/InstrumentSans.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('assets/fonts/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--canvas:#f5f2ec;--surface:#fffefa;--surface-soft:#eeeae3;--text:#28232b;--muted:#786f77;--line:#e2dcd6;--accent:#675074;--accent-soft:#eee6f1;--on-accent:#fffaf7;--success:#3f745d;--success-soft:#e8f0e8;--serif:Instrument,Arial,sans-serif;--body:Inter,Arial,sans-serif;--shadow:0 10px 35px #38253908;--radius:20px;--sidebar-width:224px;color-scheme:light}
:root[data-theme=dark]{--canvas:#17151a;--surface:#242027;--surface-soft:#2d2832;--text:#f3eee9;--muted:#b9aebc;--line:#3c3440;--accent:#c7add9;--accent-soft:#3a2c47;--on-accent:#24172d;--success:#aad0b8;--success-soft:#263d31;--shadow:0 10px 35px #00000014;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text);font:14px/1.5 var(--body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{border:0;background:none}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);line-height:1.18}h1{font-size:36px;font-weight:590;letter-spacing:-1.25px}h2{font-size:24px;font-weight:580;letter-spacing:-.6px}h3{font-size:18px;font-weight:600;letter-spacing:-.25px}img{display:block;object-fit:cover;max-width:100%}.icon{flex-shrink:0;vertical-align:middle}.review-strip{height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;background:var(--surface-soft);font-size:10px;letter-spacing:.2px;color:var(--muted)}.review-strip button{font-size:10px;padding:4px 0;color:var(--muted)}
.app-layout{min-height:calc(100vh - 28px)}.sidebar{width:var(--sidebar-width);position:fixed;top:28px;bottom:0;left:0;border-right:1px solid var(--line);padding:30px 22px 24px;display:flex;flex-direction:column;background:var(--surface);z-index:10}.wordmark{font:500 27px/1 var(--serif);letter-spacing:4px;text-decoration:none;white-space:nowrap}.sidebar .brand-tagline{font-size:9px;letter-spacing:1.1px;margin-top:9px;color:var(--muted)}.sidebar-nav{display:flex;flex-direction:column;gap:7px;margin-top:47px}.nav-link{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:12px;text-align:left;color:var(--muted);font-size:14px;font-weight:500;min-height:49px}.nav-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:650}.nav-link:hover{background:var(--surface-soft)}.nav-link.is-active:hover{background:var(--accent-soft)}.nav-count{margin-left:auto;font-size:11px;background:var(--surface-soft);padding:1px 6px;border-radius:6px}.sidebar-bottom{margin-top:auto;padding-top:30px}.stable-small{border-top:1px solid var(--line);padding-top:19px;display:flex;gap:10px;align-items:center}.stable-avatar{width:36px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.stable-small strong{display:block;font-size:12px}.stable-small small{font-size:10px;color:var(--muted)}
.app-main{margin-left:var(--sidebar-width);min-width:0}.topbar{height:84px;display:flex;justify-content:space-between;align-items:center;padding:0 42px;gap:12px}.topbar .mobile-brand{display:none}.breadcrumbs{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}.breadcrumbs b{font-weight:500;color:var(--text)}.top-actions{display:flex;align-items:center;gap:14px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:inline-grid;place-items:center;background:var(--surface);color:var(--muted)}.icon-button:hover{color:var(--accent);border-color:var(--accent)}.profile-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#e1cabe;color:#4c3634;font:550 12px var(--body)}.page{max-width:1260px;margin:0 auto;padding:8px 42px 64px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:650;color:var(--muted);margin-bottom:8px}.page-intro p{margin-top:9px;color:var(--muted);font-size:13px}.date-label{font-size:12px;display:flex;gap:8px;align-items:center;color:var(--muted)}.button-primary,.button-secondary,.button-soft{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:11px;padding:11px 17px;font-size:12px;font-weight:600;line-height:1.2}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover{filter:brightness(.94)}.button-secondary{border:1px solid var(--line);background:var(--surface)}.button-soft{background:var(--accent-soft);color:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);padding:5px 0;text-decoration:none}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.section-heading h2{font-size:21px}.section-heading small{color:var(--muted);font-size:12px}.section-count{font:500 13px var(--body);color:var(--muted);margin-left:7px}.section{margin-top:30px}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.mini-status{display:inline-flex;align-items:center;border-radius:5px;padding:2px 6px;background:var(--surface-soft);color:var(--muted);font-size:9px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap}.mini-status.done{background:var(--success-soft);color:var(--success)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;font-size:10px;padding:4px 8px;font-weight:550;color:var(--accent);background:var(--accent-soft)}.badge.success{color:var(--success);background:var(--success-soft)}.text-success{color:var(--success);font-size:10px;margin-left:auto}.soft-dot{color:var(--muted);font-weight:400}
.today-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:30px;align-items:start}.next-card{display:grid;grid-template-columns:150px 1fr;overflow:hidden;min-height:217px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.next-photo{width:100%;height:100%;object-position:48% center}.next-content{padding:25px 25px 21px;display:flex;flex-direction:column;align-items:flex-start}.next-content .eyebrow{color:var(--accent);margin-bottom:14px;font-size:9px}.next-content h2{font-size:26px;line-height:1.12}.next-content .next-context{margin-top:8px;color:var(--muted);font-size:12px}.next-content .text-link{margin-top:auto;padding-top:16px}.next-time{font-size:12px;font-weight:600;margin-bottom:6px}.today-side .section:first-child{margin-top:0}.today-tasks{display:flex;flex-direction:column;gap:10px}.task-card{width:100%;display:flex;gap:14px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;align-items:flex-start;transition:border-color .15s,transform .15s;min-width:0}.task-card:hover,.event-card:hover{border-color:var(--accent)}.task-marker{width:21px;height:21px;border:1.5px solid #b5a7ba;border-radius:50%;flex-shrink:0;margin-top:4px}.task-marker.checked{display:grid;place-items:center;color:var(--success);background:var(--success-soft);border-color:transparent}.task-main{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.task-meta{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.task-meta>span{opacity:.5}.task-main strong{font-size:14px;line-height:1.35;font-weight:580}.task-instruction{font-size:12px;line-height:1.65;color:var(--muted);margin:4px 0}.task-assignee{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;margin-top:5px}.tiny-avatar{height:20px;width:20px;border-radius:50%;background:var(--surface-soft);display:inline-grid;place-items:center;font-size:7px;color:var(--muted)}.card-arrow{align-self:center;flex-shrink:0;color:var(--muted);display:flex}.task-card.is-done{opacity:.78}.quick-actions{display:flex;gap:9px;margin-top:14px}.quick-actions>*{flex:1}.today-horses{display:grid;grid-template-columns:1fr 1fr;gap:13px}.today-horse{padding:0;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.today-horse img{width:100%;height:126px;object-position:center 40%}.today-horse-body{padding:14px}.today-horse h3{font-size:21px}.today-horse p{font-size:10px;color:var(--muted);margin-top:4px}.horse-foot{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:13px;font-size:10px;color:var(--accent)}.feed-preview{padding:20px;background:var(--accent-soft);border-radius:17px;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent)}.feed-preview-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.feed-preview-icon{background:var(--surface);width:41px;height:41px;border-radius:12px;display:grid;place-items:center;color:var(--accent)}.feed-preview h3{font-size:17px}.feed-preview-head p{font-size:10px;color:var(--muted);margin-top:3px}.feed-mini-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,transparent)}.feed-mini-row:last-of-type{border-bottom:0}.feed-mini-row span{color:var(--muted)}.feed-preview>.text-link{margin-top:14px}.event-card{display:flex;gap:14px;align-items:center;width:100%;padding:18px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:15px;min-width:0}.event-time{font-size:14px;font-weight:620;min-width:43px;color:var(--text);font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:2px}.event-time small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.event-photo{width:48px;height:58px;border-radius:10px;flex-shrink:0;object-position:center}.event-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.event-kind{font-size:10px;color:var(--accent);display:flex;align-items:center;gap:8px}.event-main>strong{font-size:13px;line-height:1.4;font-weight:570}.event-context{font-size:10px;line-height:1.5;color:var(--muted)}.event-context>span{opacity:.5;padding:0 3px}.events-stack{display:flex;flex-direction:column;gap:11px}
.stable-hero{display:grid;grid-template-columns:1fr 36%;border-radius:20px;overflow:hidden;background:var(--accent-soft);min-height:213px;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent)}.stable-hero-content{padding:28px 32px}.stable-hero h1{font-size:38px;margin-top:12px}.stable-hero p{color:var(--muted);font-size:12px;margin-top:10px}.stable-hero img{width:100%;height:100%;object-position:70% center}.stable-actions{display:flex;gap:9px;margin-top:25px}.stable-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:19px}.stable-stat{padding:19px;display:flex;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.stable-stat>.icon{color:var(--accent)}.stable-stat strong{display:block;font:550 25px var(--serif)}.stable-stat span{font-size:10px;color:var(--muted)}.stable-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:28px}.team-preview{display:flex;align-items:center;gap:10px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:17px}.avatar-stack{display:flex;padding-left:0}.avatar-stack span{width:34px;height:34px;border:2px solid var(--surface);border-radius:50%;display:grid;place-items:center;background:#ddc9bf;color:#59413e;font-size:9px;margin-left:-7px}.avatar-stack span:first-child{margin-left:0}.avatar-stack span:nth-child(2){background:#d1daca;color:#465541}.avatar-stack span:nth-child(3){background:#ddd1e6;color:#5b466b}.team-preview strong{font-size:12px;font-weight:580}.team-preview small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.team-preview .text-link{margin-left:auto}.bottom-nav{display:none}
dialog{padding:0;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:23px;width:min(550px,calc(100vw - 30px));max-height:min(90dvh,840px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:24px;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#21182680;backdrop-filter:blur(5px)}.modal-inner{padding:28px;min-width:0}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.modal-heading h2{font-size:26px;line-height:1.2}.modal-heading .icon-button{flex-shrink:0;width:31px;height:31px}.modal-kicker{font-size:10px;color:var(--accent);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.modal-horse{display:flex;align-items:center;gap:11px;margin:18px 0}.modal-horse img{width:48px;height:52px;border-radius:10px}.modal-horse strong{font-size:14px}.modal-horse small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}.detail-facts div{font-size:12px;min-width:0}.detail-facts span{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:5px}.instruction-box{background:var(--surface-soft);border-radius:13px;padding:19px;line-height:1.7;font-size:13px}.instruction-box h3{font-size:14px;margin-bottom:8px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.modal-footer .button-primary{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:16px;font-size:11px;color:var(--muted)}.form-grid>.form-field{margin-bottom:0}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--canvas);padding:12px;color:var(--text);font-size:13px;min-height:44px;resize:vertical}.form-field textarea{min-height:100px}.form-block{margin-top:18px}.feed-edit-meal{border:1px solid var(--line);border-radius:13px;padding:15px;margin:17px 0}.feed-edit-meal legend{font-size:13px;padding:0 7px;font-weight:600}.feed-edit-row{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line)}.feed-edit-row:last-child{padding:0;margin:0;border:0}.feed-edit-row .form-grid{grid-template-columns:1.3fr .7fr;gap:9px}.feed-edit-row .form-field{margin:6px 0}.prototype-copy{font-size:12px;line-height:1.8;color:var(--muted)}.prototype-copy p+p{margin-top:13px}.prototype-copy ul{padding-left:18px;margin:12px 0}.team-list{display:flex;flex-direction:column;gap:16px}.team-person{display:flex;gap:12px;align-items:center}.team-person strong{font-size:13px;display:block}.team-person small{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,18px);border-radius:12px;background:var(--text);color:var(--canvas);padding:12px 20px;box-shadow:var(--shadow);font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:1000;max-width:calc(100vw - 35px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.page{padding-top:18px}.today-layout{gap:35px}.topbar{max-width:1260px;margin:auto}.next-card{min-height:230px}}
@media(max-width:1100px){:root{--sidebar-width:190px}.sidebar{padding:28px 16px}.sidebar .wordmark{font-size:24px}.sidebar .brand-tagline{font-size:8px}.page{padding:6px 26px 50px}.topbar{padding:0 26px}.today-layout{grid-template-columns:1fr;gap:0}.today-side{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.today-side .section{margin:0}.next-card{grid-template-columns:180px 1fr;min-height:200px}.today-tasks{display:grid;grid-template-columns:1fr 1fr}.today-tasks .task-card:first-child:last-child{grid-column:1/-1}.stable-grid{grid-template-columns:1fr}.today-horse img{height:135px}}
@media(max-width:720px){h1{font-size:31px;letter-spacing:-1px}h2{font-size:23px}.review-strip{height:25px;padding:0 17px;font-size:9px}.review-strip button{font-size:9px}.sidebar{display:none}.app-main{margin-left:0}.topbar{height:68px;padding:0 19px}.topbar .mobile-brand{display:block;font-size:23px;letter-spacing:3.5px}.breadcrumbs{display:none}.top-actions{gap:10px}.icon-button{height:33px;width:33px}.profile-avatar{width:33px;height:33px;font-size:10px}.page{padding:15px 18px 105px}.page-intro{margin-bottom:21px;align-items:flex-start}.page-intro .date-label{font-size:10px}.page-intro p{font-size:12px;margin-top:7px}.page-intro .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:7px}.page-intro .intro-date{display:none}.today-layout{display:flex;flex-direction:column;gap:0}.today-main,.today-side{width:100%}.next-card{grid-template-columns:107px 1fr;min-height:180px;border-radius:17px}.next-content{padding:19px 18px 16px}.next-content .eyebrow{font-size:8px;margin-bottom:11px;letter-spacing:1.1px}.next-content h2{font-size:22px;letter-spacing:-.5px}.next-content .next-context{font-size:10px;margin-top:6px}.next-content .text-link{font-size:10px;padding-top:13px}.next-time{font-size:11px}.today-tasks{display:flex;gap:9px}.task-card{padding:15px;gap:11px;border-radius:13px}.task-main strong{font-size:13px}.task-meta{font-size:9px;gap:5px}.task-assignee{font-size:9px;margin-top:3px}.task-marker{width:19px;height:19px}.section{margin-top:26px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:21px}.section-heading .text-link{font-size:10px}.button-primary,.button-secondary,.button-soft{font-size:11px;padding:11px 13px;min-height:42px}.quick-actions{gap:9px}.today-side{display:flex;flex-direction:column;gap:26px;margin-top:27px}.today-horses{gap:12px}.today-horse img{height:133px}.today-horse-body{padding:13px}.today-horse h3{font-size:22px}.today-horse p{font-size:9px}.horse-foot{font-size:9px;line-height:1.5;margin-top:11px}.feed-preview{padding:18px}.event-card{gap:10px;padding:14px;border-radius:13px}.event-time{font-size:12px;min-width:37px}.event-time small{font-size:9px}.event-photo{width:39px;height:49px;border-radius:8px}.event-kind{font-size:9px;gap:5px;flex-wrap:wrap}.mini-status{font-size:8px;padding:1px 5px}.event-main>strong{font-size:12px}.event-context{font-size:9px}.event-card .card-arrow{display:none}.stable-hero{grid-template-columns:1fr 31%;min-height:193px;border-radius:17px}.stable-hero-content{padding:23px 19px}.stable-hero h1{font-size:31px;letter-spacing:-.8px;margin-top:10px}.stable-hero p{font-size:10px;margin-top:7px}.stable-hero .eyebrow{font-size:8px}.stable-hero .badge{font-size:8px;padding:3px 6px}.stable-actions{gap:7px;flex-wrap:wrap;margin-top:17px}.stable-actions .button-soft,.stable-actions .button-secondary{padding:8px 10px;font-size:9px;min-height:35px}.stable-stats{gap:8px;margin-top:13px}.stable-stat{padding:14px 9px;gap:7px;flex-direction:column;align-items:flex-start}.stable-stat>.icon{width:17px;height:17px}.stable-stat strong{font-size:22px;line-height:1.3}.stable-stat span{font-size:9px}.stable-grid{display:block}.team-preview{padding:16px;gap:11px;flex-wrap:wrap}.team-preview .text-link{font-size:10px}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);height:calc(71px + env(safe-area-inset-bottom));padding:8px 13px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;color:var(--muted);padding:5px 4px;border-radius:12px}.bottom-nav button.is-active{color:var(--accent);background:var(--accent-soft);font-weight:600}.bottom-nav .icon{height:21px;width:21px}.modal-inner{padding:23px 23px calc(32px + env(safe-area-inset-bottom,0px))}.modal-heading h2{font-size:25px}.modal-footer{flex-wrap:wrap;margin-top:22px}.detail-facts{gap:17px 13px}.form-grid{gap:12px}.instruction-box{padding:17px;font-size:12px}#toast{left:50%;bottom:86px}.task-instruction{font-size:12px;line-height:1.65}.page>section>header h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Keep narrow forms inside the sheet; its footer remains part of the scroll. */
.modal-inner form,.modal-inner fieldset,.modal-heading>div{min-width:0}
.modal-heading h2{overflow-wrap:anywhere}
.modal-footer>button{min-width:0;max-width:100%;white-space:normal}
@media(max-width:720px){
  .form-field input,.form-field select,.form-field textarea{font-size:16px}
}
@media(max-width:430px){
  .modal-inner .form-grid,.modal-inner .feed-edit-row .form-grid,.modal-inner .backend-feed-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .modal-inner .modal-footer{flex-direction:column;align-items:stretch}
  .modal-inner .modal-footer>button{width:100%;flex:initial;min-height:44px}
}

/* Shared task timing controls follow the existing form and card system. */
[data-task-form] [hidden]{display:none!important}
.task-time-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 20px;font-size:14px;color:var(--text)}
.task-time-toggle input{width:20px;height:20px;accent-color:var(--accent)}
.task-day-picker{display:flex;align-items:flex-end;gap:12px;margin:0 0 22px;flex-wrap:wrap}
.task-day-picker .form-field{margin:0;flex:1;min-width:150px}
.task-day-shortcuts{display:flex;gap:8px;flex-wrap:wrap}
.task-day-shortcuts [aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
.task-group,.task-general-heading{margin-top:24px}
