/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:"Avenir Next","Segoe UI",Arial,sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.grid{display:grid}.hidden{display:none}.table{display:table}}@font-face{font-family:Balsamiq Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/BalsamiqSans-Bold.ttf)format("truetype")}:root{--ink:#34362e;--green:oklch(53.2% .157 131.589);--green-dark:oklch(40.5% .101 131.063);--muted:#77796e;--line:#e5e2d9;--paper:#fff;--surface:#fff;--soft:oklch(96.7% .067 122.328);--red:oklch(50.5% .213 27.518);--display:"Balsamiq Sans","Trebuchet MS",sans-serif}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.6}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent;outline-offset:4px}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--green)}a{color:inherit;text-decoration:none}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);letter-spacing:-.025em;color:#b97c40;overflow-wrap:anywhere;font-weight:700;line-height:1.2}h3{font-size:15px;font-weight:600;line-height:1.4}@supports ((-webkit-background-clip:text)){h1,h2{-webkit-text-fill-color:transparent;-webkit-text-stroke:1px oklch(55.3% .195 38.402);paint-order:stroke fill;background:linear-gradient(oklch(82.8% .189 84.429) 10%,oklch(70.5% .213 47.604) 90%);-webkit-background-clip:text;background-clip:text}}label{font-size:12px;font-weight:600;display:block}input,select{background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);border:1px solid #dcded2;border-radius:7px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}label input,label select{margin-top:7px;font-size:14px;font-weight:400}input:focus,select:focus{border-color:#8aa36a;outline:none;box-shadow:0 0 0 3px #53753710}input::placeholder{color:#96988c}select{padding-right:24px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:8px;font-size:13px;font-weight:600}legend svg{vertical-align:middle;margin-right:4px;display:inline-block}::selection{background:#e3ebd6}.button{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 17px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.primary{background:var(--green);color:#fffef9}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{border:1px solid var(--line);background:var(--surface)}.secondary:hover:not(:disabled){background:#f5f7f2}.destructive{background:var(--red);color:#fff}.text-button{min-height:34px;color:var(--green);align-items:center;gap:7px;padding:3px 0;font-size:12px;font-weight:500;display:inline-flex}.inline-link:hover,.text-button:hover:not(:disabled){text-underline-offset:4px;text-decoration:underline}.icon-button{min-width:40px;min-height:40px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--soft);color:var(--green)}.muted{color:var(--muted);font-size:12px}.eyebrow{letter-spacing:.08em;gap:7px;font-size:10px;font-weight:600;display:flex}.eyebrow,.pill{align-items:center}.pill{background:var(--soft);color:#60714d;border-radius:4px;gap:5px;padding:3px 8px;font-size:11px;display:inline-flex}.rotate{transform:rotate(180deg)}.danger{color:var(--red)}.brand{font-family:var(--display);letter-spacing:-.025em;align-items:center;gap:9px;font-size:20px;font-weight:700;line-height:1.2;display:flex}.brand-caption{color:var(--muted);letter-spacing:0;margin-top:5px;font-family:Avenir Next,Segoe UI,Arial,sans-serif;font-size:10px;font-weight:400;display:block}.brand-mark{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-mark.small{width:38px;height:38px}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--line);background:var(--surface);z-index:10;flex-direction:column;width:218px;padding:29px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.sidebar>.brand{gap:7px;font-size:18px}.sidebar .brand-mark{width:43px;height:43px}.sidebar-navigation{margin-top:39px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-item{width:100%;min-height:44px;color:var(--muted);text-align:left;border-radius:7px;align-items:center;gap:11px;padding:10px 12px;font-size:13px;display:flex}.nav-item:hover{color:var(--green)}.nav-item.active{color:var(--green-dark);background:oklch(96.7% .067 122.328);font-weight:600}.nav-item .lucide-heart{color:var(--red)}.nav-count{color:#687a50;margin-left:auto;font-size:10px}.nav-dot{background:var(--green);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-help{color:var(--muted);margin:auto 10px 19px;padding-top:40px;font-size:11px}.sidebar-footer{border-top:1px solid var(--line);align-items:center;gap:8px;padding:18px 0;display:flex}.account-avatar{color:#6c7e55;background:#eef0e5;border:1px solid #dbdfcf;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.sidebar-footer>div:nth-child(2){flex:1;min-width:0}.sidebar-footer strong{font-size:10px;font-weight:500;display:block}.sidebar-footer span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:99px;font-size:9px;display:block;overflow:hidden}.sidebar-footer .icon-button{min-width:28px}.app-main{margin-left:218px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:65px;padding:0 38px;display:flex}.topbar-context{color:#88897e;font-size:11px}.topbar-context strong{color:#626958;font-weight:500}.private-badge{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.mobile-brand,.mobile-logout,.mobile-nav{display:none}.main-content{max-width:1230px;margin:auto;padding:33px 38px 24px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-heading h1{font-size:43px}.page-heading .muted{margin-top:8px;font-size:13px}.current-pair-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:20px;margin-bottom:25px;padding:11px 16px;display:flex}.current-pair-heading{white-space:nowrap;color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:500;display:flex}.current-pair-heading svg{color:var(--red)}.mini-pair{flex:1;gap:13px}.mini-pair,.mini-pair button{align-items:center;min-width:0;display:flex}.mini-pair button{text-align:left;gap:5px;padding:0}.mini-pair button>svg{width:45px;height:39px}.mini-pair strong{overflow-wrap:anywhere;font-size:12px;font-weight:500}.mini-pair>svg{width:14px;height:14px;color:var(--red)}.pair-card-link{color:var(--green);white-space:nowrap;align-items:center;gap:7px;min-height:36px;margin-left:auto;font-size:11px;display:flex}.section-heading{justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading,.stable-tabs{align-items:center;display:flex}.stable-tabs{gap:22px}.stable-tabs button{color:#8b8d80;border-bottom:2px solid #0000;align-items:center;gap:7px;min-height:40px;padding:8px 0;font-size:13px;display:flex}.stable-tabs button.active{border-color:var(--green);color:var(--ink);font-weight:600}.stable-tabs span{color:#829168;font-size:11px;font-weight:400}.layout-switch,.segmented{border:1px solid var(--line);background:#f5f7f2;border-radius:6px;align-items:center;gap:3px;padding:3px;display:inline-flex}.layout-switch button{color:#939986;border-radius:4px;place-items:center;min-width:31px;min-height:31px;display:grid}.layout-switch button.active,.segmented button.active{color:var(--green);background:var(--surface)}.stable-controls{align-items:center;gap:10px;margin-bottom:20px;display:flex}.search-field{flex:1;max-width:450px;position:relative}.search-field>svg{color:#8c967f;position:absolute;top:13px;left:12px}.search-field input{min-height:44px;margin:0;padding-left:38px;font-size:12px}.filter-button{border:1px solid var(--line);background:var(--surface);color:#667451;min-height:44px;padding:9px 12px;font-size:11px}.filter-button.applied{background:var(--soft);border-color:#aebc97}.filter-dot{background:var(--green);border-radius:50%;width:5px;height:5px}.sort-control{white-space:nowrap;align-items:center;gap:5px;margin-left:auto;display:flex}.sort-control>span{color:#919487;font-size:10px;font-weight:400}.sort-control select{color:#657253;background:0 0;border:0;width:auto;min-height:35px;margin:0;padding:5px 0;font-size:11px}.filters-panel{background:#f0f2e9;border:1px solid #e0e5d5;border-radius:7px;align-items:end;gap:14px;margin-bottom:19px;padding:15px;display:flex}.filters-panel label{flex:1;font-size:11px}.filters-panel select{font-size:12px}.filters-panel .text-button{white-space:nowrap;margin-bottom:5px;font-size:11px}.horse-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.horse-card{border:1px solid var(--line);text-align:left;background:var(--surface);border-radius:9px;min-width:0;padding:0;transition:border-color .15s;overflow:hidden}.horse-card:hover{border-color:#a7b58d}.horse-card-art{place-items:center;height:145px;display:grid;position:relative}.horse-card-art>svg{max-width:100%;height:135px}.horse-card-colour{color:#797d6e;font-size:10px;position:absolute;top:10px;left:12px}.archived-icon{color:#8c967d;position:absolute;top:12px;right:12px}.horse-card-content{padding:14px 14px 0}.horse-card-name{justify-content:space-between;align-items:center;gap:8px;display:flex}.horse-card-name h3{overflow-wrap:anywhere;font-size:16px;font-weight:600}.horse-card-name>svg{color:#8c9c73}.horse-card-rating{align-items:center;min-height:19px;margin-top:6px;display:flex}.star-row{color:#bc944e;gap:3px;display:flex}.empty-star{color:#dddccf}.unrecorded{color:#929686;font-size:10px}.horse-card-footer{border-top:1px solid #eeede4;flex-wrap:wrap;justify-content:space-between;margin-top:11px;padding:10px 0}.horse-card-footer,.owner-label{align-items:center;gap:5px;display:flex}.owner-label{color:#7c8470;font-size:10px}.owner-label img{object-fit:cover;object-position:center 15%;border-radius:3px;width:18px;height:21px}.parent-badge{color:#929985;white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:inline-flex}.parent-badge.complete{color:var(--green)}.horse-list{grid-template-columns:1fr;gap:10px}.horse-list .horse-card{display:flex}.horse-list .horse-card-art{flex-shrink:0;width:124px;height:116px}.horse-list .horse-card-art>svg{height:101px}.horse-list .horse-card-colour{font-size:8px;top:6px;left:8px}.horse-list .horse-card-content{flex:1;min-width:0;padding:12px 16px 0}.horse-list .horse-card-footer{margin-top:5px;padding:6px 0}.empty-stable{text-align:center;border:1px dashed #d8dec9;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:290px;padding:25px;display:flex}.empty-stable>svg{width:132px;height:103px;margin-bottom:9px}.empty-stable h2{font-size:29px}.empty-stable>p{max-width:360px;color:var(--muted);margin:12px 0 20px;font-size:12px;line-height:1.8}.page-footer{border-top:1px solid var(--line);color:#96998b;justify-content:space-between;align-items:center;gap:15px;margin-top:32px;padding-top:15px;font-size:10px;display:flex}.page-footer .text-button{color:#7e8d6a;min-height:28px;font-size:10px}.toast{background:var(--green-dark);color:#fffef9;z-index:100;border-radius:8px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 30px);padding:12px 15px;font-size:12px;display:flex;position:fixed;bottom:24px;left:calc(50% + 109px);transform:translate(-50%);box-shadow:0 5px 25px #28322015}.toast button{color:#d9e4c5;margin-left:6px;padding:5px;display:flex}.login-page{max-width:440px;min-height:100dvh;margin:auto;padding:max(55px,10dvh) 24px 32px}.login-page>.brand{justify-content:center;margin-bottom:48px;font-size:25px}.login-page>.brand .brand-mark{width:58px;height:58px}.login-page .brand-caption{font-size:11px}.login-box{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;padding:28px}.login-box h1{font-size:34px}.login-box>.muted{margin-top:10px;font-size:12px}.login-form{flex-direction:column;gap:19px;margin-top:28px;display:flex}.login-form label{color:#666e5c;font-size:12px}.login-form input{min-height:46px;font-size:14px}.login-form .button{justify-content:space-between;min-height:46px;margin-top:3px}.private-note{color:#8a947b;justify-content:center;align-items:center;gap:6px;font-size:10px;line-height:1.7;display:flex}.login-footnote{text-align:center;color:#98998c;margin-top:26px;font-size:11px}.notice{color:#8a744b;background:#f7eedc;border:1px solid #ebdfc5;border-radius:6px;padding:12px;font-size:11px}.notice p{overflow-wrap:anywhere;margin-top:6px;line-height:1.8}.form-error{color:#a34f42;background:#fcf0e9;border:1px solid #ecd5c9;border-radius:6px;padding:11px 12px;font-size:12px;line-height:1.7}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:30px;display:flex}.error-page h1{font-size:35px}.error-page p{max-width:430px;color:var(--muted);font-size:13px}.error-page>a{color:var(--green);font-size:12px;text-decoration:underline}.loading-mark{color:#879c61;font-size:50px}.modal{overscroll-behavior:contain;width:min(650px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 20px 80px #28302025}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#34362e55}.modal.wide{width:min(1000px,100vw - 40px)}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:24px 26px 21px;display:flex}.modal-header h2{font-size:30px}.modal-header .muted{margin-top:8px;font-size:12px}.form-fields{flex-direction:column;gap:25px;padding:24px 26px 17px;display:flex}.field-label{font-size:13px}.field-label input{margin-top:9px}.required{color:#789557}.optional{color:#969c89;margin-left:6px;font-size:11px;font-weight:400}.field-hint{color:#8b947d;margin-bottom:9px;font-size:11px;line-height:1.8}.group-label{color:#7b8d65;letter-spacing:.06em;justify-content:space-between;align-items:center;margin:13px 0 8px;font-size:9px;display:flex}.group-label>span{color:#a1aa92;font-size:8px}.colour-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.colour-option,.owner-option{border:1px solid var(--line);background:var(--surface);text-align:center;cursor:pointer;border-radius:7px;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.colour-option:hover,.owner-option:hover{background:#f3f6eb}.colour-option.selected,.owner-option.selected{background:#eef3e4;border-color:#829e5c;box-shadow:0 0 0 1px #829e5c}.colour-option:has(input:focus-visible),.owner-option:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px}.colour-option input,.owner-option input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.colour-option>svg:not(.selection-check){width:100%;height:65px;padding:4px}.colour-option>span{justify-content:center;align-items:center;min-height:30px;padding:0 3px 8px;font-size:10px;font-weight:400;line-height:1.3;display:flex}.selection-check{color:#fff;background:#819b5b;border-radius:50%;width:15px;height:15px;padding:2px;position:absolute;top:4px;right:4px}.more-button{border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--green);justify-content:space-between;align-items:center;margin-top:5px;padding:10px 0;font-size:12px;display:flex}.more-button .muted{font-size:11px}.more-button svg{transition:transform .2s}.special-colours>div{margin-top:16px}.rating-input{align-items:center;gap:4px;display:flex}.rating-input>button:not(.text-button){color:#bb944f;justify-content:center;align-items:center;min-width:32px;min-height:40px;padding:5px 2px;display:inline-flex}.rating-input>span{color:#8a947d;margin-left:10px;font-size:11px}.rating-input .text-button{margin-left:auto;font-size:11px}.owner-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.owner-option{padding:5px 3px 8px}.owner-option img{object-fit:contain;object-position:top;width:100%;height:70px;padding:3px 8px 0}.owner-option>span:last-child{margin-top:6px;font-size:9px;font-weight:400;line-height:1.3}.unknown-owner{color:#8f9e7a;place-items:center;height:70px;display:grid}.parent-prefill{background:var(--soft);color:#6e8752;border-radius:5px;align-items:flex-start;gap:6px;margin:3px 0 13px;padding:9px;font-size:11px;line-height:1.7;display:flex}.no-parents-option{cursor:pointer;align-items:center;gap:10px;min-height:48px;margin-bottom:13px;display:flex}.no-parents-option input{width:18px;height:18px;min-height:18px;accent-color:var(--green);flex-shrink:0;margin:0;padding:0}.no-parents-option strong{font-size:12px;font-weight:600;display:block}.no-parents-option small{color:var(--muted);font-size:11px;font-weight:400;display:block}.parent-prefill>svg{margin-top:2px}.parent-selects{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:9px;display:grid}.parent-selects label{color:#7b886a;font-size:12px}.parent-selects select{font-size:13px}.modal-footer{z-index:2;background:var(--surface);border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:16px 26px;display:flex;position:sticky;bottom:0}.help-content{padding:25px 26px}.help-content section{padding:0 0 24px 35px;position:relative}.help-content section>svg{color:#819965;position:absolute;top:0;left:0}.help-content h3{font-size:16px}.help-content p{color:#818a75;margin-top:8px;font-size:12px;line-height:1.9}.art-credit{color:#949d86;background:#f5f7f2;border-radius:6px;padding:13px;font-size:10px;line-height:1.9}.art-credit a{color:var(--green);text-decoration:underline}.breeding-page{max-width:860px}.panel{border:1px solid var(--line);background:var(--surface);border-radius:9px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:17px 23px;display:flex}.panel-heading h3{align-items:center;gap:8px;font-size:13px;display:flex}.panel-heading .lucide-heart{color:var(--red)}.pair-select-grid{grid-template-columns:1fr 1fr;gap:46px;padding:22px 25px;display:grid;position:relative}.pair-picker{min-width:0}.pair-picker .eyebrow{color:#7f906c}.pair-art{background:var(--surface);border-radius:7px;place-items:center;height:175px;margin:10px 0 13px;display:grid}.pair-art>svg{max-width:100%;height:162px}.pair-art-empty{color:#a0ad8c;text-align:center;flex-direction:column;align-items:center;gap:12px;font-size:11px;display:flex}.pair-picker select{font-size:14px}.pair-heart{color:var(--red);padding:8px;display:flex;position:absolute;top:125px;left:50%;transform:translate(-50%,-50%)}.pair-horse-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;margin-top:7px;display:flex}.pair-horse-meta>span{color:#929d83;font-size:11px}.pair-horse-meta .text-button{font-size:11px}.relationship-note{color:#71875a;background:#f2f5eb;border:1px solid #e0e7d2;border-radius:7px;align-items:flex-start;gap:11px;margin:0 25px 20px;padding:14px 16px;display:flex}.relationship-note>svg{margin-top:2px}.relationship-note strong{font-size:13px;font-weight:600;display:block}.relationship-note p{margin-top:5px;font-size:12px;line-height:1.8}.relationship-note .relationship-caveat{color:#839175;font-size:11px}.relationship-note.warning{color:#956a35;background:#fbf0df;border-color:#eedbc2}.relationship-note.warning .relationship-caveat{color:#a58760}.inline-link{color:inherit;font-size:inherit;padding:0;font-weight:600;text-decoration:underline;display:inline}.pair-actions{background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 9px 9px;justify-content:space-between;align-items:center;gap:12px;padding:15px 25px;display:flex}.pair-builder>.form-error{margin:0 25px 20px}.breeding-explainer{gap:13px;padding:26px 5px;display:flex}.tip-icon{background:var(--soft);color:#829963;border-radius:8px;height:40px;padding:9px}.breeding-explainer h3{font-size:15px}.breeding-explainer p{color:#89957a;margin-top:8px;font-size:12px;line-height:1.8}.breeding-explainer .text-button{margin-top:8px}.pedigree-overview{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:17px 26px;display:flex}.pedigree-portrait{background:var(--surface);border-radius:7px;place-items:center;width:120px;height:98px;display:grid}.pedigree-portrait svg{width:120px}.pedigree-overview .pill+.pill{margin-left:5px}.detail-stars{color:#b4904d;margin-top:8px}.detail-owner,.detail-stars{align-items:center;gap:5px;font-size:11px;display:flex}.detail-owner{color:#839174;margin-top:6px}.edit-horse{margin-left:auto;font-size:12px}.pedigree-section{padding:22px 25px 17px}.pedigree-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.pedigree-title h3{align-items:center;gap:7px;font-size:14px;display:flex}.pedigree-title h3 svg{color:#859b6c}.pedigree-title .muted{margin-top:6px;font-size:11px}.segmented button{color:#919c82;border-radius:4px;min-height:34px;padding:4px 13px;font-size:11px}.tree-toolbar{background:#f1f4e9;border:1px solid #dfe5d3;border-bottom:0;border-radius:7px 7px 0 0;align-items:center;gap:14px;min-height:48px;padding:6px 10px;display:flex}.tree-toolbar .text-button{font-size:11px}.generation-control{color:#849575;align-items:center;gap:7px;margin-left:auto;font-size:11px;font-weight:400;display:flex}.generation-control select{border-color:#d7deca;border-radius:4px;width:auto;min-height:34px;margin:0;padding:2px 5px;font-size:12px}.zoom-controls{display:flex}.zoom-controls .icon-button{color:#819767;min-width:34px;min-height:35px}.tree-viewport{-webkit-overflow-scrolling:touch;background-color:#f7f8f1;background-image:radial-gradient(#dbe1cf 1px,#0000 0);background-size:20px 20px;border:1px solid #dfe5d3;border-radius:0 0 7px 7px;height:350px;max-height:55dvh;overflow:auto}.tree-canvas{align-items:center;min-width:max-content;min-height:100%;padding:32px;display:flex}.tree-branch,.tree-node{align-items:center;display:flex;position:relative}.tree-node{background:var(--surface);text-align:left;border:1px solid #dce2ce;border-radius:6px;flex-shrink:0;gap:8px;width:185px;min-height:65px;padding:8px}.tree-node:hover{background:#f7faef;border-color:#98ac7c}.tree-node.root{border-color:#8ba66a;box-shadow:0 0 0 1px #8ba66a}.tree-node>svg:not(:last-child){width:50px;height:46px}.tree-node>span{flex:1;min-width:0}.tree-node strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;display:block}.tree-node small{color:#99a38c;margin-top:4px;font-size:10px;display:block}.tree-node.unknown{background:#f3f5eb;border-style:dashed}.tree-node.unknown>span{color:#adb99d;border:1px solid #dce3cf;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-size:18px;display:grid}.tree-node.unknown strong{color:#a3ae92;font-size:12px;font-weight:400}.tree-node.unknown small{color:#adb69f}.tree-descendants{flex-direction:column;gap:17px;padding-left:33px;display:flex;position:relative}.tree-descendants:before{left:0}.tree-descendants:before,.tree-descendants>.tree-branch:before{content:"";background:#cbd8ba;width:17px;height:1px;position:absolute;top:50%}.tree-descendants>.tree-branch:before{left:-17px}.tree-descendants>.tree-branch:after{content:"";background:#cbd8ba;width:1px;height:calc(50% + 9px);position:absolute;left:-17px}.tree-descendants>.tree-branch:first-child:after{top:50%}.tree-descendants>.tree-branch:last-child:after{bottom:50%}.ancestry-disclaimer,.tree-help{text-align:center;color:#96a088;font-size:11px;line-height:1.8}.tree-help{padding:11px 0}.ancestry-disclaimer{color:#929a85;margin-top:3px}.ancestor-list{background:#f7f8f1;border:1px solid #dfe5d3;border-radius:0 0 7px 7px;min-height:200px;max-height:350px;padding:8px;overflow-y:auto}.ancestor-list>button{text-align:left;border-bottom:1px solid #e5eadb;align-items:center;gap:12px;width:100%;padding:5px 12px;display:flex}.ancestor-list>button:hover{background:#edf2e2}.ancestor-list>button>svg:first-child{width:55px;height:46px}.ancestor-list>button>span{flex:1}.ancestor-list strong{font-size:13px;display:block}.ancestor-list small{color:#95a184;font-size:11px;display:block}.ancestor-list>button>svg:last-child{color:#97a982}.no-ancestors{text-align:center;color:#94a57f;flex-direction:column;align-items:center;gap:12px;padding:30px;display:flex}.no-ancestors p{font-size:12px}.detail-actions{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:15px 26px;display:flex}.detail-actions .text-button{font-size:12px}.delete-confirm{color:#9f765a;background:#fcf1e8;border:1px solid #efddcc;border-radius:7px;margin:0 25px 20px;padding:16px;font-size:12px}.delete-confirm p{margin-top:6px;font-size:11px;line-height:1.8}.delete-confirm>div{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.delete-confirm .button{font-size:11px}.detail-error{margin:0 25px 20px}@media (max-width:1100px) and (min-width:701px){.sidebar{width:198px;padding-left:16px;padding-right:16px}.sidebar>.brand{gap:5px;font-size:17px}.sidebar .brand-mark{width:38px}.app-main{margin-left:198px}.main-content{padding:28px 26px 24px}.topbar{padding:0 26px}.horse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.horse-list{grid-template-columns:1fr}.current-pair-card{flex-wrap:wrap;gap:7px 14px}.current-pair-heading{width:100%}.mini-pair{gap:8px}.mini-pair button>svg{width:32px}.mini-pair strong{font-size:11px}.sort-control>span{display:none}.sort-control select{max-width:90px;font-size:10px}.toast{left:calc(50% + 99px)}}@media (max-width:700px){.sidebar{display:none}.app-main{margin-left:0}.topbar{background:var(--surface);gap:9px;min-height:67px;padding:0 18px}.topbar-context{display:none}.mobile-brand{font-family:var(--display);letter-spacing:-.035em;align-items:center;gap:8px;font-size:21px;font-weight:700;display:flex}.private-badge{gap:0;margin-left:auto;font-size:0}.mobile-logout{display:block}.mobile-logout .icon-button{min-width:36px}.main-content{padding:24px 18px 104px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:38px}.page-heading .muted{margin-top:7px;font-size:12px}.desktop-add{display:none}.current-pair-card{flex-wrap:wrap;gap:6px 13px;margin-bottom:20px;padding:11px 13px}.current-pair-heading{width:100%;font-size:10px}.mini-pair{gap:8px}.mini-pair button{flex:1;gap:4px}.mini-pair button>svg{width:32px;height:35px}.mini-pair strong{font-size:11px;line-height:1.4}.mini-pair>svg{width:11px}.pair-card-link{gap:4px;min-height:35px;font-size:10px}.pair-card-link>svg{width:13px}.current-pair-card:has(.mini-pair) .pair-card-link{border-top:1px solid #efeee5;justify-content:space-between;width:100%;min-height:31px;margin-top:2px;padding-top:7px}.stable-tabs{gap:20px}.stable-tabs button{min-height:42px;font-size:13px}.layout-switch button{min-width:33px;min-height:33px}.section-heading{margin-bottom:14px}.stable-controls{flex-wrap:wrap;gap:9px;margin-bottom:16px}.search-field{max-width:none}.search-field input{font-size:16px}.filter-button{padding:9px 11px;font-size:11px}.filter-button>svg:last-child{display:none}.sort-control{justify-content:flex-end;width:100%;min-height:29px}.sort-control select{min-height:30px;font-size:11px}.filters-panel{flex-wrap:wrap;gap:10px;padding:13px}.filters-panel label{min-width:40%}.filters-panel .text-button{margin-bottom:0}.horse-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.horse-card-art{height:124px}.horse-card-art>svg{height:115px}.horse-card-colour{font-size:9px;top:8px;left:10px}.horse-card-content{padding:12px 11px 0}.horse-card-name h3{font-size:15px}.horse-card-name>svg{width:13px}.horse-card-rating{margin-top:5px}.star-row{gap:2px}.star-row svg{width:11px}.unrecorded{font-size:9px}.horse-card-footer{gap:6px;margin-top:8px;padding:9px 0}.owner-label{font-size:9px}.owner-label img{width:15px;height:18px}.parent-badge{font-size:9px}.parent-badge svg{width:11px}.horse-list{grid-template-columns:1fr}.horse-list .horse-card-art{width:100px;height:121px}.horse-list .horse-card-art>svg{height:90px}.horse-list .horse-card-content{padding:12px 12px 0}.empty-stable{min-height:285px;padding:23px 19px}.empty-stable h2{font-size:27px}.page-footer{margin-top:25px}.page-footer,.page-footer .text-button{font-size:9px}.mobile-nav{z-index:20;padding:7px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.mobile-nav>.nav-item{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:auto;min-width:84px;min-height:50px;padding:6px 12px;font-size:10px;display:flex}.mobile-nav>.nav-item.active{background:var(--soft)}.mobile-nav .nav-count,.mobile-nav .nav-dot{display:none}.mobile-add{background:var(--green);color:#fff;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:84px;min-height:50px;padding:6px 15px;font-size:10px;display:flex}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));font-size:11px}.icon-button,.modal-header .icon-button{min-width:42px;min-height:42px}.login-page{max-width:420px;padding:max(37px,7dvh) 22px 28px}.login-page>.brand{margin-bottom:33px;font-size:24px}.login-page>.brand .brand-mark{width:53px;height:53px}.login-box{padding:25px 22px}.login-box h1{font-size:31px}.login-box>.muted{font-size:12px}.login-form input{font-size:16px}.login-footnote,.private-note{font-size:10px}.private-note{text-align:center}.modal,.modal.wide{border-radius:10px;width:calc(100vw - 16px);max-height:calc(100dvh - 24px)}.modal-header{gap:10px;padding:20px 19px 17px}.modal-header h2{font-size:28px}.modal-header .muted{font-size:11px}.form-fields{gap:23px;padding:21px 19px 16px}.field-label input,.parent-selects select{font-size:16px}.colour-grid{gap:6px}.colour-option>svg:not(.selection-check){height:49px;padding:2px}.colour-option>span{min-height:31px;padding:0 2px 5px;font-size:9px}.selection-check{width:12px;height:12px;padding:1px;top:3px;right:3px}.group-label{font-size:8px}.group-label>span{font-size:7px}.owner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.owner-option img{height:78px;padding:3px 16px 0}.owner-option>span:last-child{font-size:10px}.unknown-owner{height:78px}.parent-selects{gap:10px}.parent-selects select{padding:10px 7px}.parent-prefill{font-size:10px}.rating-input{gap:2px}.rating-input>button:not(.text-button){min-width:30px;min-height:44px}.rating-input>span{margin-left:6px;font-size:10px}.rating-input .text-button{font-size:10px}.modal-footer{padding:14px 19px calc(14px + env(safe-area-inset-bottom))}.modal-footer .button{font-size:12px}.help-content{padding:22px 20px}.panel-heading{padding:16px}.panel-heading h3{font-size:13px}.panel-heading .pill{font-size:10px}.pair-select-grid{gap:24px;padding:18px 15px}.pair-picker .eyebrow{font-size:10px}.pair-art{height:123px;margin:9px 0 11px}.pair-art>svg{height:115px}.pair-art-empty{gap:8px;padding:8px;font-size:10px}.pair-art-empty>svg{width:26px;height:26px}.pair-picker select{padding:10px 5px;font-size:16px}.pair-heart{padding:5px;top:103px}.pair-heart svg{width:16px;height:16px}.pair-horse-meta{gap:2px}.pair-horse-meta .text-button,.pair-horse-meta>span{font-size:10px}.relationship-note{gap:8px;margin:0 15px 16px;padding:11px}.relationship-note>svg{width:17px;height:17px}.relationship-note strong{font-size:12px}.relationship-note p{font-size:11px}.relationship-note .relationship-caveat{font-size:10px}.pair-actions{padding:13px 15px}.pair-actions .button{padding:10px 12px;font-size:11px}.pair-actions .text-button{min-height:44px;font-size:11px}.pair-builder>.form-error{margin:0 15px 16px}.breeding-explainer{gap:10px;padding:23px 2px}.breeding-explainer h3{font-size:14px}.tip-icon{height:36px;padding:8px}.tip-icon svg{width:19px;height:19px}.pedigree-overview{flex-wrap:wrap;gap:12px;padding:15px 18px}.pedigree-portrait{width:95px;height:82px}.pedigree-portrait svg{width:95px}.pedigree-overview .pill{font-size:10px}.edit-horse{min-height:40px;margin-left:0;padding:8px 12px;font-size:11px}.pedigree-section{padding:19px 14px 15px}.pedigree-title{gap:10px;margin-bottom:15px}.pedigree-title .muted{max-width:180px;font-size:10px}.segmented button{min-height:35px;padding:4px 11px}.tree-toolbar{flex-wrap:wrap;gap:7px;min-height:43px;padding:5px 7px}.tree-toolbar .text-button{gap:4px;min-height:38px;font-size:10px}.tree-toolbar .text-button svg{width:12px}.generation-control{gap:3px;font-size:10px}.generation-control select{min-height:35px;font-size:13px}.zoom-controls{margin-left:auto}.zoom-controls .icon-button{min-width:35px;min-height:38px}.tree-viewport{height:310px}.tree-canvas{padding:25px 20px}.ancestry-disclaimer,.tree-help{font-size:10px}.ancestry-disclaimer{padding:0 8px}.detail-actions{padding:13px 20px}.detail-actions .text-button{min-height:42px;font-size:11px}.delete-confirm,.detail-error{margin:0 16px 17px}.delete-confirm{padding:14px;font-size:11px}.delete-confirm .button{min-height:42px;padding:9px 10px;font-size:10px}.ancestor-list{max-height:310px}}@media (max-width:360px){.main-content{padding-left:15px;padding-right:15px}.topbar{gap:5px;padding-left:12px;padding-right:12px}.mobile-brand{gap:5px;font-size:19px}.mobile-brand .brand-mark{width:32px;height:36px}.stable-tabs{gap:15px}.horse-card-name h3{font-size:14px}.login-page{padding-left:17px;padding-right:17px}.login-page>.brand{gap:7px;font-size:22px}.login-box{padding:24px 19px}.login-box h1{font-size:29px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.menu-history-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:25px;display:flex}.menu-history-toolbar>label{min-width:0;max-width:340px;color:var(--muted);flex:1;font-size:11px}.menu-history-toolbar select{font-size:13px}.menu-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.menu-section-heading h3{font-size:14px}.menu-section-heading .muted{font-size:11px}.menu-candidate-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.menu-candidate{background:var(--surface);align-items:center;gap:16px;padding:20px 18px;display:flex}.menu-candidate+.menu-candidate{border-top:1px solid var(--line)}.candidate-slot{border:1px solid var(--line);color:#87966f;border-radius:5px;flex-shrink:0;place-items:center;width:31px;height:35px;font-size:12px;display:grid}.candidate-info{flex:1;min-width:0}.candidate-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.candidate-heading h3{overflow-wrap:anywhere;font-size:15px}.candidate-heading .pill{font-size:10px}.candidate-parents{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.9;display:block}.candidate-parents .inline-link{color:#718556;font-weight:400}.candidate-adoption-status{color:var(--green);margin-top:5px;font-size:11px}.menu-history-help{color:#919984;margin-top:17px;font-size:11px;line-height:1.8}.menu-form-fields{gap:16px}.menu-form-fields .menu-section-heading{margin-bottom:0}.carry-section>.field-hint{margin:7px 0 12px}.carry-list{border:1px solid var(--line);border-radius:7px}.carry-option{cursor:pointer;align-items:center;gap:11px;min-height:58px;padding:11px 13px;display:flex}.carry-option+.carry-option{border-top:1px solid var(--line)}.carry-option>span{min-width:0}.carry-option strong{overflow-wrap:anywhere;font-size:12px;font-weight:500}.carry-option .pill{margin-left:4px;font-size:9px}.carry-option .candidate-parents{margin-top:2px;font-size:10px;font-weight:400}.carry-option>input,.junior-option>input{width:18px;height:18px;min-height:18px;accent-color:var(--green);flex-shrink:0;margin:0;padding:0}.menu-draft-row{border:1px solid var(--line);border-radius:7px;padding:14px}.menu-draft-row>legend{color:#82916b;margin-bottom:0;padding:0 5px;font-size:11px;font-weight:400}.menu-draft-heading{align-items:end;gap:8px;display:flex}.menu-draft-heading>label{flex:1;min-width:0}.menu-draft-heading>.icon-button{margin-bottom:2px}.junior-option{cursor:pointer;align-items:center;gap:9px;min-height:44px;margin:9px 0;font-size:12px;display:flex}.junior-option small{color:var(--muted);margin-left:4px;font-size:11px;font-weight:400}.menu-draft-row .field-hint{margin-bottom:0}.menu-add-candidate{align-self:flex-start}@media (max-width:700px){.mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-left:8px;padding-right:8px;display:grid}.mobile-add,.mobile-nav>.nav-item{width:100%;min-width:0;padding:6px 3px;font-size:9px}.menu-history-toolbar{gap:11px;margin-bottom:22px}.menu-history-toolbar .button{padding-left:12px;padding-right:12px;font-size:11px}.menu-history-toolbar>.muted{font-size:11px}.menu-history-toolbar>label{font-size:10px}.menu-history-toolbar select{font-size:12px}.menu-candidate{flex-wrap:wrap;gap:10px;padding:15px 13px}.candidate-slot{width:25px;height:31px;font-size:11px}.candidate-info{flex-basis:calc(100% - 35px)}.candidate-heading{gap:8px}.candidate-heading h3{font-size:14px}.menu-candidate>.button,.menu-candidate>.text-button{min-height:40px;margin-left:35px;font-size:11px}.menu-candidate>.button{padding:8px 20px}.menu-draft-row{padding:12px}.menu-draft-heading input{font-size:16px}.carry-option{padding:11px}}