@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/inter-latin-300-normal-BVlfKGgI.woff2) format("woff2"),url(/assets/inter-latin-300-normal-i8F0SvXL.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-italic-CB566L-e.woff2) format("woff2"),url(/assets/playfair-display-latin-700-italic-DgrU7w_p.woff) format("woff")}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#2d1b26;background:#efe4d2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--hearth-heading: "Playfair Display", Georgia, "Times New Roman", serif;--hearth-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}html[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:#efe4d2}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}svg{width:1.1rem;height:1.1rem;stroke-width:1.8}::selection{color:var(--paper);background:var(--accent)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 60%,white);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hearth-shell{--bg: #efe4d2;--surface: #e8dcc4;--paper: #fbf5e6;--ink: #2d1b26;--ink-soft: #4a2f3d;--muted: #6e5e40;--line: #ddcba8;--accent: #5c2a4a;--accent-dark: #3f1a33;--accent-light: #7a3f60;--secondary: #8a6e30;--on-accent: #fff;--danger: #b05945;--wallpaper: url(/hearth-bg.jpg);--veil: linear-gradient(135deg, rgb(239 228 210 / 62%), rgb(239 228 210 / 79%));--card-shadow: 0 1px 3px rgb(45 27 38 / 10%), 0 6px 16px -6px rgb(45 27 38 / 24%);--card-shadow-hover: 0 4px 10px rgb(45 27 38 / 14%), 0 16px 32px -10px rgb(45 27 38 / 30%);min-height:100vh;color:var(--ink);background:var(--bg)}.hearth-shell[data-page=maintenance]{--bg: #f0e4ce;--surface: #e6d4b4;--paper: #fbf4e4;--ink: #33240f;--ink-soft: #4e3a1c;--muted: #6e5830;--line: #dbc59a;--accent: #8a5610;--accent-dark: #6b420a;--accent-light: #a97024;--secondary: #7e6224;--wallpaper: url(/workshop-bg.jpg);--veil: linear-gradient(135deg, rgb(240 228 206 / 59%), rgb(240 228 206 / 78%))}.hearth-shell[data-page=inventory]{--bg: #ece3d4;--surface: #dfd2bc;--paper: #f8f2e7;--ink: #2e2820;--ink-soft: #4a4032;--muted: #6b6047;--line: #d5c6ac;--accent: #7c6038;--accent-dark: #5c4628;--accent-light: #9a7b4f;--secondary: #8a6a3c;--wallpaper: url(/kraft-bg.jpg);--veil: linear-gradient(135deg, rgb(236 227 212 / 58%), rgb(236 227 212 / 78%))}.hearth-shell[data-page=yard]{--bg: #e4f0da;--surface: #d6e8c6;--paper: #f2f8ec;--ink: #1e3312;--ink-soft: #345024;--muted: #496537;--line: #c4dcb0;--accent: #356b31;--accent-dark: #20501d;--accent-light: #4c8f43;--secondary: #8a6a28;--wallpaper: url(/grass-bg.jpg);--veil: linear-gradient(135deg, rgb(228 240 218 / 57%), rgb(228 240 218 / 78%))}.hearth-shell[data-page=garden]{--bg: #edf1e4;--surface: #dee7d1;--paper: #f7faf0;--ink: #17200f;--ink-soft: #2f3d22;--muted: #5c6b47;--line: #cbd8b6;--accent: #38702e;--accent-dark: #25501e;--accent-light: #4e8a40;--secondary: #8a6318;--wallpaper: url(/garden-bg.jpg);--veil: linear-gradient(135deg, rgb(237 241 228 / 58%), rgb(237 241 228 / 79%))}.hearth-shell[data-page=pool]{--bg: #dceef3;--surface: #cbe6ee;--paper: #f0f9fb;--ink: #0f2e3a;--ink-soft: #1c4657;--muted: #416975;--line: #b4d8e2;--accent: #0e7c99;--accent-dark: #0a5c74;--accent-light: #2f9dbb;--secondary: #8a6230;--wallpaper: url(/pool-bg.jpg);--veil: linear-gradient(135deg, rgb(220 238 243 / 55%), rgb(220 238 243 / 76%))}.hearth-shell[data-page=recipes]{--bg: #f1e7da;--surface: #e7d6c3;--paper: #fbf4ea;--ink: #33221a;--ink-soft: #4e362a;--muted: #6e5344;--line: #dcc7af;--accent: #a84624;--accent-dark: #83351a;--accent-light: #c25e38;--secondary: #5e6b2e;--wallpaper: url(/kitchen-bg.jpg);--veil: linear-gradient(135deg, rgb(241 231 218 / 58%), rgb(241 231 218 / 78%))}.hearth-shell[data-theme=dark]{--bg: #20212a;--surface: #262732;--paper: #2e2f38;--ink: #f5efe3;--ink-soft: #e0d8c8;--muted: #a6a4ae;--line: #3a3b45;--accent: #c77aa0;--accent-dark: #9e5c84;--accent-light: #dca5c4;--secondary: #dcb87a;--on-accent: #1a1410;--danger: #d47a6a;--veil: linear-gradient(135deg, rgb(32 33 42 / 74%), rgb(32 33 42 / 88%));--card-shadow: 0 1px 3px rgb(0 0 0 / 50%), 0 6px 18px -6px rgb(0 0 0 / 60%);--card-shadow-hover: 0 4px 12px rgb(0 0 0 / 55%), 0 16px 36px -10px rgb(0 0 0 / 75%)}.hearth-shell[data-page=maintenance][data-theme=dark]{--bg: #221a0f;--surface: #2c2114;--paper: #362a19;--ink: #f3e7d0;--ink-soft: #e0cfb0;--muted: #b39e78;--line: #453519;--accent: #d89b45;--accent-dark: #b0781f;--accent-light: #f0b95f;--secondary: #e0c07a;--veil: linear-gradient(135deg, rgb(34 26 15 / 72%), rgb(34 26 15 / 88%))}.hearth-shell[data-page=inventory][data-theme=dark]{--bg: #201c16;--surface: #29241c;--paper: #322c22;--ink: #efe7d8;--ink-soft: #dacdb8;--muted: #a99a82;--line: #423a2c;--accent: #c0a276;--accent-dark: #9a8058;--accent-light: #d8be92;--secondary: #d8be92;--veil: linear-gradient(135deg, rgb(32 28 22 / 72%), rgb(32 28 22 / 88%))}.hearth-shell[data-page=yard][data-theme=dark]{--bg: #16241a;--surface: #1b2e1f;--paper: #213626;--ink: #e8f3e0;--ink-soft: #cfe4c4;--muted: #9bb58c;--line: #2e4a32;--accent: #7fc77a;--accent-dark: #5aa84f;--accent-light: #a6e39f;--secondary: #e0c07a;--veil: linear-gradient(135deg, rgb(22 36 26 / 72%), rgb(22 36 26 / 88%))}.hearth-shell[data-page=garden][data-theme=dark]{--bg: #101509;--surface: #171e0f;--paper: #1e2715;--ink: #edf3e2;--ink-soft: #d2dec2;--muted: #9aaa84;--line: #2c3720;--accent: #6fbf57;--accent-dark: #4a8f3a;--accent-light: #93d97c;--secondary: #d9b463;--veil: linear-gradient(135deg, rgb(16 21 9 / 70%), rgb(16 21 9 / 87%))}.hearth-shell[data-page=pool][data-theme=dark]{--bg: #0e1f27;--surface: #132a34;--paper: #183441;--ink: #e4f4f8;--ink-soft: #c6e4ec;--muted: #8fb3bf;--line: #274a57;--accent: #4fc5e0;--accent-dark: #2e9db8;--accent-light: #7fdbf0;--secondary: #e6bc7e;--veil: linear-gradient(135deg, rgb(14 31 39 / 68%), rgb(14 31 39 / 86%))}.hearth-shell[data-page=recipes][data-theme=dark]{--bg: #221812;--surface: #2c1f17;--paper: #36271e;--ink: #f3e5d8;--ink-soft: #e0cbbb;--muted: #b39684;--line: #452f22;--accent: #db7a52;--accent-dark: #b0562f;--accent-light: #ef9c74;--secondary: #a8b96a;--veil: linear-gradient(135deg, rgb(34 24 18 / 72%), rgb(34 24 18 / 88%))}.page-backdrop{position:fixed;inset:-2%;z-index:0;pointer-events:none;background-image:var(--wallpaper);background-position:center;background-size:cover}.page-backdrop:after{content:"";position:absolute;inset:0;background:var(--veil)}.hearth-sidebar{position:fixed;top:16px;bottom:16px;left:16px;z-index:40;width:212px;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 46%,transparent),color-mix(in srgb,var(--surface) 54%,transparent));border-radius:22px;outline:1px solid rgb(255 255 255 / 42%);outline-offset:-1px;box-shadow:0 8px 22px #2d1b261a,0 30px 60px -24px #2d1b2647;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.hearth-shell[data-theme=dark] .hearth-sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 52%,transparent),color-mix(in srgb,var(--surface) 58%,transparent));outline-color:#ffc8a00d;box-shadow:0 8px 22px #00000061,0 30px 60px -24px #00000094}.wordmark{min-height:85px;padding:20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.wordmark img{width:36px;height:36px;flex:0 0 auto;display:block;filter:drop-shadow(0 6px 16px rgb(92 42 74 / 30%))}.hearth-shell[data-theme=dark] .wordmark img{filter:none}.brand-copy{min-width:0;flex:1}.brand-copy>div{display:flex;align-items:center;gap:4px}.brand-copy strong{font-family:var(--hearth-heading);font-size:1.05rem;line-height:1.1;letter-spacing:-.01em}.brand-copy>span{display:block;margin-top:4px;color:var(--muted);font-size:.7rem;white-space:nowrap}.inline-theme-button,.sidebar-close,.floating-control{padding:0;display:inline-grid;place-items:center;border:0;background:transparent;cursor:pointer}.inline-theme-button{width:25px;height:25px;color:var(--muted);border-radius:50%}.inline-theme-button:hover{color:var(--accent)}.inline-theme-button svg{width:.95rem;height:.95rem}.hearth-nav{flex:1;min-height:0;padding:12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.hearth-nav a{text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.nav-home,.nav-item{min-height:34px;padding:6px 12px;display:flex;align-items:center;gap:8px;color:var(--muted);border-left:2px solid transparent;border-radius:8px;font-size:.825rem}.nav-home{margin-bottom:8px;font-weight:500}.nav-home svg{width:1rem;height:1rem}.nav-home:hover,.nav-item:hover{color:var(--ink-soft);background:color-mix(in srgb,var(--accent) 10%,transparent)}.nav-home.active,.nav-item.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-left-color:var(--accent);font-weight:600}.nav-group{margin-bottom:4px}.nav-group-heading{min-height:29px;padding:4px 8px;display:grid;grid-template-columns:6px 1fr 13px;align-items:center;gap:7px;color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.nav-group-heading i{width:5px;height:5px;display:block;border-radius:50%;background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 70%,transparent)}.nav-group-heading svg{width:.8rem;height:.8rem}.nav-item{min-height:32px;padding-left:12px;font-weight:400}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line)}.build-stamp{padding:10px 18px 7px;display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.63rem}.build-stamp code{color:inherit}.account-tile{padding:12px;display:grid;grid-template-columns:30px 1fr 18px;align-items:center;gap:10px}.account-avatar{width:30px;height:30px;display:grid;place-items:center;color:var(--on-accent);background:var(--accent);border-radius:50%;font-size:.68rem;font-weight:700}.account-tile>span:nth-child(2){min-width:0;font-size:.78rem;font-weight:600}.account-tile small{display:block;margin-top:2px;color:var(--muted);font-size:.65rem;font-weight:400}.account-tile>svg{color:var(--accent);width:.95rem;height:.95rem}.sidebar-close,.floating-control,.drawer-scrim{display:none}.page-frame{position:relative;z-index:1;min-height:100vh;margin-left:228px}.work-field{width:100%;max-width:1280px;min-height:100vh;margin:0 auto;padding:16px 16px 48px}.button{min-height:40px;padding:8px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--line);border-radius:999px;box-shadow:none;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease,filter .15s ease}.button:hover{color:var(--accent);border-color:var(--accent);background:var(--paper)}.button-primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.button-primary:hover{color:var(--on-accent);background:var(--accent-dark);filter:brightness(1.05)}.button:disabled{opacity:.5;cursor:wait}.button svg{width:1rem;height:1rem}.button-quiet{background:color-mix(in srgb,var(--paper) 76%,transparent)}.page-hero{position:relative;z-index:1;margin-bottom:32px;isolation:isolate}.page-hero:before,.page-hero:after{content:"";position:absolute;z-index:-1;width:300px;height:300px;border-radius:50%;filter:blur(50px);pointer-events:none}.page-hero:before{top:-105px;left:8%;background:color-mix(in srgb,var(--secondary) 17%,transparent)}.page-hero:after{top:-70px;right:5%;background:color-mix(in srgb,var(--accent) 13%,transparent)}.page-hero-row{min-height:155px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-hero-copy{min-width:0;max-width:760px;flex:1;padding:22px 26px;background:color-mix(in srgb,var(--bg) 83%,transparent);border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:14px;box-shadow:var(--card-shadow);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.hero-eyebrow,.pool-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--accent-dark);font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hearth-shell[data-theme=dark] .hero-eyebrow{color:var(--accent-light)}.hero-eyebrow i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.page-hero h1{max-width:700px;margin:8px 0 0;font-family:var(--hearth-heading);font-size:clamp(1.85rem,1.4rem + 1.8vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}.page-hero h1 em{color:var(--accent-dark);font-style:italic;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 18%,transparent)}.hearth-shell[data-theme=dark] .page-hero h1 em{color:var(--accent-light)}.hero-rule{width:64px;height:2px;margin-top:12px;display:block;background:linear-gradient(90deg,var(--accent),transparent);border-radius:2px;opacity:.72}.page-hero-copy p{max-width:65ch;margin:13px 0 0;color:var(--ink-soft);font-size:.96rem;line-height:1.6}.page-hero-actions{flex:0 0 auto}.hero-embers{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.hero-embers i{position:absolute;display:block;border-radius:50%;background:var(--accent-light);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 72%,transparent);animation:ember-drift 7s ease-in-out infinite}.hero-embers i:nth-child(1){width:4px;height:4px;left:53%;top:18%}.hero-embers i:nth-child(2){width:3px;height:3px;left:74%;top:57%;animation-delay:-2.4s;animation-duration:8.2s}.hero-embers i:nth-child(3){width:5px;height:5px;left:88%;top:24%;animation-delay:-4.1s;animation-duration:9.4s}@keyframes ember-drift{0%,to{transform:translate3d(0,8px,0);opacity:.35}50%{transform:translate3d(8px,-18px,0);opacity:.9}}.pool-hero{min-height:220px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#15708c85,#0b4a619e);border:1px solid rgb(255 255 255 / 15%);border-radius:14px;box-shadow:0 20px 44px -22px #0b4a6199;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.pool-hero:before,.pool-hero:after{display:none}.pool-caustics{position:absolute;inset:-60px;z-index:0;background:repeating-linear-gradient(112deg,rgb(255 255 255 / 7%) 0 2px,transparent 2px 26px),repeating-linear-gradient(68deg,rgb(255 255 255 / 5%) 0 2px,transparent 2px 34px),radial-gradient(circle at 78% 18%,rgb(255 255 255 / 28%),transparent 42%),radial-gradient(circle at 12% 82%,rgb(255 255 255 / 14%),transparent 40%);background-size:260px 260px,320px 320px,100% 100%,100% 100%;animation:pool-caustics 22s linear infinite}@keyframes pool-caustics{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:260px 120px,-320px 160px,0 0,0 0}}.pool-hero-copy{position:relative;z-index:2;max-width:620px;padding:32px}.pool-eyebrow{color:#ffffffd1}.pool-hero h1{margin-top:8px;color:#fff;font-size:clamp(1.7rem,1.35rem + 1.4vw,2.1rem);text-shadow:0 2px 12px rgb(11 74 97 / 50%)}.pool-hero-copy p{max-width:520px;margin:10px 0 0;color:#ffffffe5;font-size:.92rem;line-height:1.55}.pool-hero-actions{margin-top:18px}.pool-hero .button-primary{color:#0b4a61;background:#ffffffe5;border-color:transparent}.pool-hero .button-primary:hover{color:#0b4a61;background:#fff}.hero-stats{position:absolute;top:16px;right:16px;z-index:2;max-width:42%;margin:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.hero-stats>div{min-width:94px;padding:10px 14px;background:#ffffff29;border:1px solid rgb(255 255 255 / 28%);border-radius:14px;box-shadow:0 8px 20px -10px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-stats dt{color:#ffffffd1;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-stats dd{max-width:150px;margin:3px 0 0;overflow:hidden;color:#fff;font-family:var(--hearth-heading);font-size:1.12rem;font-weight:700;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.ledger-tabs{max-width:100%;width:max-content;margin:0 0 32px;display:flex;overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow)}.ledger-tabs button{min-height:44px;padding:8px 17px;flex:0 0 auto;color:var(--ink-soft);background:transparent;border:0;border-right:1px solid var(--line);font-size:.8rem;font-weight:600;cursor:pointer}.ledger-tabs button:last-child{border-right:0}.ledger-tabs button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ledger-tabs button[aria-current=page]{color:var(--ink);background:color-mix(in srgb,var(--accent) 18%,var(--paper));box-shadow:inset 3px 0 0 var(--accent);font-weight:800}.section-label{width:fit-content;margin:0 0 16px;padding:7px 11px;color:var(--muted);background:color-mix(in srgb,var(--bg) 82%,transparent);border-radius:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.7rem;font-weight:600;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.ledger-sheet,.dashboard-panel,.summary-card,.capture-grid a{background:linear-gradient(180deg,var(--paper),var(--surface));border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow)}.ledger-sheet{overflow:hidden}.ledger-heading{min-height:82px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.ledger-heading h2{margin:0;font-family:var(--hearth-heading);font-size:1.55rem;font-weight:700;letter-spacing:-.01em}.ledger-subtitle{display:block;margin-top:4px;color:var(--muted);font-size:.68rem}.entry-count,.attention-total{flex:0 0 auto;padding:7px 11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:999px;font-size:.72rem;font-weight:700}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{padding:11px 16px;color:var(--muted);background:color-mix(in srgb,var(--surface) 78%,transparent);border-bottom:1px solid var(--line);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}td{min-height:50px;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .15s ease}tbody tr:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.row-actions{width:124px;white-space:nowrap;text-align:right}.icon-button{width:34px;height:34px;padding:0;display:inline-grid;place-items:center;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer}.icon-button:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--line)}.icon-button.danger:hover{color:var(--danger);border-color:var(--danger)}.icon-button svg{width:1rem;height:1rem}.status-mark{padding:4px 8px;display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:999px;font-size:.75rem;text-transform:capitalize}.status-mark:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.status-open:before,.status-urgent:before,.status-high:before,.status-low:before,.status-watch:before,.status-needed:before{background:#c06f2a}.status-completed:before,.status-ok:before,.status-good:before,.status-purchased:before,.status-reviewed:before{background:#5f8a4e}.status-cancelled:before,.status-dismissed:before,.status-failed:before{background:var(--muted)}.status-unbalanced:before,.status-poor:before{background:var(--danger)}.state-panel{min-height:235px;padding:44px clamp(24px,8vw,96px);display:flex;align-items:flex-start;justify-content:center;gap:16px}.state-panel>svg{width:28px;height:28px;color:var(--accent)}.state-panel h2,.state-panel h3{margin:0 0 8px;font-family:var(--hearth-heading);font-size:1.2rem}.state-panel p{max-width:58ch;margin:0 0 12px;color:var(--muted);line-height:1.55}.state-error>svg{color:var(--danger)}.text-button{padding:0 0 3px;color:var(--accent);background:none;border:0;border-bottom:1px solid currentColor;font-weight:700;cursor:pointer}.skeleton-ledger{padding:6px 0}.skeleton-ledger i,.skeleton-card{display:block;background:linear-gradient(90deg,transparent,color-mix(in srgb,white 58%,transparent),transparent) 0 0 / 240px 100%;animation:shimmer 1.2s ease-out infinite}.skeleton-ledger i{height:48px;border-bottom:1px solid var(--line)}@keyframes shimmer{0%{background-position:-240px 0}to{background-position:calc(100% + 240px) 0}}.recipe-manager{padding-bottom:72px}.recipe-manager .page-hero-actions,.recipe-empty-actions{display:flex;flex-wrap:wrap;gap:9px}.recipe-tools{margin-bottom:28px;padding:14px;display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:14px;background:linear-gradient(180deg,var(--paper),var(--surface));border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow)}.recipe-search{min-width:0;min-height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;color:var(--muted);background:color-mix(in srgb,var(--paper) 84%,var(--bg));border:1px solid var(--line);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.recipe-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.recipe-search>svg{flex:0 0 auto}.recipe-search input{min-width:0;min-height:42px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.recipe-search input:focus{box-shadow:none}.recipe-search button,.recipe-notice button{width:32px;height:32px;padding:0;flex:0 0 auto;display:grid;place-items:center;color:var(--muted);background:transparent;border:0;border-radius:50%;cursor:pointer}.recipe-search button:hover,.recipe-notice button:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.recipe-search button svg,.recipe-notice button svg{width:.95rem;height:.95rem}.recipe-filters{display:flex;align-items:end;justify-content:flex-end;gap:9px}.recipe-filters>svg{align-self:center;color:var(--muted)}.recipe-filters label{display:grid;gap:4px}.recipe-filters label>span{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.recipe-filters select{min-width:132px;min-height:40px;padding-top:7px;padding-bottom:7px}.favorite-filter{min-height:40px;padding:8px 13px;display:inline-flex;align-items:center;gap:7px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer}.favorite-filter:hover,.favorite-filter.is-active{color:var(--accent-dark);background:color-mix(in srgb,var(--accent) 12%,var(--paper));border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.hearth-shell[data-theme=dark] .favorite-filter.is-active{color:var(--accent-light)}.favorite-filter.is-active svg{fill:currentColor}.recipe-notice{margin:-12px 0 24px;padding:10px 12px 10px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-soft);background:color-mix(in srgb,var(--secondary) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--secondary) 42%,var(--line));border-radius:10px;font-size:.875rem}.recipe-notice.is-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--paper));border-color:color-mix(in srgb,var(--danger) 52%,var(--line))}.recipe-results-heading{margin-bottom:15px;display:flex;align-items:end;justify-content:space-between;gap:16px}.recipe-results-heading h2{margin:0;font-family:var(--hearth-heading);font-size:1.55rem;letter-spacing:-.01em;line-height:1.1}.recipe-results-heading p{margin:5px 0 0;color:var(--muted);font-size:.875rem}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-card{position:relative;min-width:0;overflow:hidden;background:linear-gradient(180deg,var(--paper),var(--surface));border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow);transition:box-shadow .18s ease,transform .18s ease}.recipe-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.recipe-card-open{width:100%;padding:0;display:block;color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.recipe-card-image{width:100%;aspect-ratio:16 / 9;overflow:hidden;color:color-mix(in srgb,var(--accent) 74%,var(--ink));background:radial-gradient(circle at 24% 28%,color-mix(in srgb,var(--secondary) 20%,transparent),transparent 36%),linear-gradient(140deg,color-mix(in srgb,var(--accent) 12%,var(--paper)),var(--surface));border-bottom:1px solid var(--line)}.recipe-card-image>img,.recipe-card-image>.recipe-image-fallback{width:100%;height:100%;display:grid;object-fit:cover;place-items:center}.recipe-image-fallback svg{width:32px;height:32px;opacity:.7}.recipe-card-copy{padding:17px 18px 15px}.recipe-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recipe-card h2{margin:0;font-family:var(--hearth-heading);font-size:1.55rem;line-height:1.1;letter-spacing:-.01em}.recipe-rating{padding-top:3px;display:inline-flex;align-items:center;gap:4px;color:var(--secondary);font-size:.875rem;font-weight:700}.recipe-rating svg{width:.9rem;height:.9rem;fill:currentColor}.recipe-card-copy>p{min-height:2.9em;margin:9px 0 13px;display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.875rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recipe-chips,.recipe-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.recipe-chips span,.recipe-detail-tags span{padding:4px 8px;color:var(--ink-soft);background:color-mix(in srgb,var(--paper) 72%,transparent);border:1px solid var(--line);border-radius:999px;font-size:.66rem;font-weight:700}.recipe-chips .difficulty-easy{color:#356b31;border-color:color-mix(in srgb,#356b31 52%,var(--line))}.recipe-chips .difficulty-medium{color:var(--secondary);border-color:color-mix(in srgb,var(--secondary) 52%,var(--line))}.recipe-chips .difficulty-hard{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 52%,var(--line))}.hearth-shell[data-theme=dark] .recipe-chips .difficulty-easy{color:#7fc77a}.recipe-card-meta{margin:16px 0 0;padding-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;border-top:1px solid var(--line)}.recipe-card-meta div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-card-meta dt{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.66rem}.recipe-card-meta dt svg{width:.85rem;height:.85rem}.recipe-card-meta dd{margin:0;color:var(--ink-soft);font-size:.875rem;font-weight:700}.recipe-favorite{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;padding:0;display:grid;place-items:center;color:var(--ink-soft);background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:50%;box-shadow:0 4px 12px #2d1b2629;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.recipe-favorite:hover,.recipe-favorite.is-active{color:var(--accent);background:var(--paper);border-color:var(--accent)}.recipe-favorite.is-active svg{fill:currentColor}.recipe-favorite:disabled{opacity:.55;cursor:wait}.recipe-card-actions{min-height:48px;padding:7px 10px 7px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}.recipe-card-actions>span{min-width:0;overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.recipe-card-actions>div{flex:0 0 auto}.recipe-card-skeleton{min-height:400px;padding:0 18px 18px}.recipe-card-skeleton i,.recipe-card-skeleton span{display:block;background:linear-gradient(90deg,transparent,color-mix(in srgb,white 58%,transparent),transparent) 0 0 / 240px 100%,var(--surface);animation:shimmer 1.2s ease-out infinite}.recipe-card-skeleton i{height:185px;margin:0 -18px 18px}.recipe-card-skeleton span{height:15px;margin-bottom:12px;border-radius:8px}.recipe-card-skeleton span:nth-of-type(1){width:68%;height:24px}.recipe-card-skeleton span:nth-of-type(3){width:46%}.recipe-empty-state{min-height:285px;padding:52px clamp(24px,8vw,100px);display:flex;align-items:flex-start;justify-content:center;gap:18px;background:linear-gradient(180deg,var(--paper),var(--surface));border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow)}.recipe-empty-state.compact{min-height:210px}.recipe-empty-state>svg{width:34px;height:34px;color:var(--accent)}.recipe-empty-state.is-error>svg{color:var(--danger)}.recipe-empty-state h2{margin:0 0 8px;font-family:var(--hearth-heading);font-size:1.55rem;line-height:1.1}.recipe-empty-state p{max-width:62ch;margin:0 0 17px;color:var(--muted);line-height:1.6}.recipe-dialog{width:min(940px,calc(100vw - 32px));max-height:min(92dvh,960px);padding:0;overflow:hidden;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 64px #2d1b2647}.recipe-dialog::backdrop{background:#1c0f07a3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.recipe-dialog form{max-height:min(92dvh,960px);display:flex;flex-direction:column}.recipe-dialog-heading{min-height:88px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--paper);border-bottom:1px solid var(--line)}.recipe-dialog-heading h2{margin:0;font-family:var(--hearth-heading);font-size:1.55rem;line-height:1.1}.recipe-dialog-heading p{margin:5px 0 0;color:var(--muted);font-size:.875rem}.ai-import-dialog{width:min(680px,calc(100vw - 32px))}.ai-import-body{padding:22px;overflow-y:auto}.ai-provider-note,.ai-review-note{padding:14px 16px;display:flex;align-items:flex-start;gap:11px;color:var(--ink-soft);background:color-mix(in srgb,var(--secondary) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--secondary) 42%,var(--line));border-radius:10px}.ai-provider-note.is-unconfigured{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--paper));border-color:color-mix(in srgb,var(--danger) 48%,var(--line))}.ai-provider-note>svg,.ai-review-note>svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.ai-provider-note.is-unconfigured>svg{color:var(--danger)}.ai-provider-note strong,.ai-review-note strong{color:var(--ink);font-size:.875rem}.ai-provider-note p,.ai-review-note p{margin:3px 0 0;font-size:.875rem;line-height:1.55}.ai-review-note{margin-bottom:24px}.ai-import-modes{margin:18px 0;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.ai-import-modes button{min-height:44px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);background:transparent;border:1px solid transparent;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer}.ai-import-modes button:hover{color:var(--accent)}.ai-import-modes button[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--line);box-shadow:var(--card-shadow)}.ai-import-field{display:flex;flex-direction:column;gap:7px;color:var(--ink);font-size:.875rem;font-weight:700}.ai-import-field textarea{min-height:245px}.ai-import-field small{color:var(--muted);font-size:.66rem;font-weight:400;line-height:1.5}.ai-import-body .inline-error{margin:17px 0 0}.recipe-editor-body{padding:22px;overflow-y:auto}.recipe-editor fieldset{min-width:0;margin:0 0 26px;padding:0;border:0}.recipe-editor fieldset:last-of-type{margin-bottom:0}.recipe-editor fieldset:disabled{opacity:.65}.recipe-editor legend,.recipe-fieldset-heading legend{margin:0 0 14px;padding:0;font-family:var(--hearth-heading);font-size:1.55rem;font-weight:700;line-height:1.1}.recipe-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}.recipe-form-grid label,.ingredient-editor-row label{min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--ink-soft);font-size:.66rem;font-weight:700;letter-spacing:.02em}.recipe-form-grid label>span,.ingredient-editor-row label>span{color:var(--ink)}.recipe-form-grid b{color:var(--danger)}.recipe-form-grid .field-wide{grid-column:1 / -1}.recipe-form-grid small{color:var(--muted);font-size:.66rem;font-weight:400;letter-spacing:0}.recipe-check{grid-column:1 / -1;min-height:42px;flex-direction:row!important;align-items:center;gap:10px!important;font-size:.875rem!important;letter-spacing:0!important}.recipe-check input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--accent)}.input-suffix{position:relative}.input-suffix input{padding-right:42px}.input-suffix span{position:absolute;top:50%;right:11px;color:var(--muted);font-size:.66rem;font-weight:600;transform:translateY(-50%)}.recipe-fieldset-heading{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.recipe-fieldset-heading legend{margin:0}.ingredient-empty{margin:0;padding:18px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:10px}.ingredient-editor-list{display:grid;gap:8px}.ingredient-editor-row{padding:12px;display:grid;grid-template-columns:28px minmax(150px,1.4fr) minmax(80px,.55fr) minmax(90px,.65fr) minmax(150px,1fr) auto;align-items:end;gap:9px;background:color-mix(in srgb,var(--surface) 72%,var(--paper));border:1px solid var(--line);border-radius:10px}.ingredient-position{width:26px;height:26px;margin-bottom:8px;display:grid;place-items:center;color:var(--on-accent);background:var(--accent);border-radius:50%;font-size:.66rem;font-weight:700}.ingredient-row-actions{display:flex;align-items:center;padding-bottom:4px}.ingredient-row-actions .icon-button:disabled{opacity:.28;cursor:not-allowed}.editor-photo-strip{margin-top:24px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line)}.editor-photo-strip h3{margin:0;font-family:var(--hearth-heading);font-size:1.55rem}.editor-photo-strip p{margin:4px 0 0;color:var(--muted);font-size:.875rem}.editor-photo-strip>div:last-child{display:flex;gap:8px;overflow-x:auto}.editor-photo-strip img,.editor-photo-strip .recipe-image-fallback{width:72px;height:72px;flex:0 0 auto;display:grid;object-fit:cover;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px}.recipe-editor .inline-error{margin:18px 0 0}.recipe-dialog-actions{min-height:68px;padding:13px 21px;display:flex;align-items:center;justify-content:flex-end;gap:9px;background:var(--surface);border-top:1px solid var(--line)}.recipe-detail-dialog{width:min(980px,calc(100vw - 32px));overflow-y:auto}.recipe-detail-header{position:relative;min-height:310px;display:grid;grid-template-columns:minmax(280px,42%) 1fr;background:var(--surface);border-bottom:1px solid var(--line)}.recipe-detail-cover{width:100%;height:100%;min-height:310px;display:grid;object-fit:cover;place-items:center;color:var(--accent);background:radial-gradient(circle at 30% 24%,color-mix(in srgb,var(--secondary) 20%,transparent),transparent 38%),linear-gradient(140deg,color-mix(in srgb,var(--accent) 12%,var(--paper)),var(--surface))}.recipe-detail-cover svg{width:48px;height:48px}.recipe-detail-title{padding:34px 34px 28px;align-self:center}.recipe-detail-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-detail-kicker>span{color:var(--accent);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.recipe-detail-favorite{padding:6px 9px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;font-size:.66rem;font-weight:700;cursor:pointer}.recipe-detail-favorite:hover,.recipe-detail-favorite.is-active{color:var(--accent);border-color:var(--accent)}.recipe-detail-favorite.is-active svg{fill:currentColor}.recipe-detail-title h2{margin:12px 0 0;font-family:var(--hearth-heading);font-size:clamp(1.85rem,1.4rem + 1.8vw,2.5rem);line-height:1.12;letter-spacing:-.02em}.recipe-detail-title>p{margin:13px 0 0;color:var(--ink-soft);line-height:1.6}.recipe-detail-meta{margin:24px 0 0;display:flex;flex-wrap:wrap;gap:15px 22px}.recipe-detail-meta div{display:grid;gap:3px}.recipe-detail-meta dt{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.recipe-detail-meta dd{margin:0;color:var(--ink);font-size:.875rem;font-weight:700}.recipe-detail-close{position:absolute;top:14px;right:14px;width:36px;height:36px;padding:0;display:grid;place-items:center;color:var(--ink-soft);background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--line);border-radius:50%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.recipe-detail-close:hover{color:var(--accent);background:var(--paper)}.recipe-detail-body{padding:28px}.recipe-detail-columns{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:start}.recipe-detail-section h3,.recipe-notes h3,.recipe-gallery h3{margin:0;font-family:var(--hearth-heading);font-size:1.55rem;line-height:1.1}.detail-section-heading{min-height:34px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.detail-section-heading>span{padding:4px 8px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;font-size:.66rem;font-weight:700}.ingredients-panel>ol,.method-panel>ol{margin:0;padding:0;list-style:none}.ingredients-panel li{min-height:46px;padding:9px 0;display:grid;grid-template-columns:minmax(74px,.45fr) 1fr;gap:12px;border-bottom:1px solid var(--line)}.ingredients-panel li:last-child{border-bottom:0}.ingredients-panel li>span{color:var(--accent);font-size:.875rem;font-weight:700}.ingredients-panel li strong{display:block;color:var(--ink);font-size:.875rem}.ingredients-panel li small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem}.ingredients-panel>p{color:var(--muted)}.method-panel li{padding:0 0 15px;display:grid;grid-template-columns:28px 1fr;gap:11px}.method-panel li>span{width:26px;height:26px;display:grid;place-items:center;color:var(--on-accent);background:var(--accent);border-radius:50%;font-size:.66rem;font-weight:700}.method-panel li p{margin:2px 0 0;color:var(--ink-soft);line-height:1.6;white-space:pre-wrap}.recipe-notes,.nutrition-panel,.recipe-gallery{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.recipe-notes p{margin:10px 0 0;padding:15px 17px;color:var(--ink-soft);background:var(--surface);border-radius:10px;line-height:1.6;white-space:pre-wrap}.recipe-detail-tags{margin-top:20px}.nutrition-panel .detail-section-heading{margin-bottom:17px}.net-carb-feature{width:min(100%,310px);margin-bottom:14px;padding:15px 17px;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:10px;color:var(--ink);background:color-mix(in srgb,var(--secondary) 15%,var(--paper));border:1px solid color-mix(in srgb,var(--secondary) 48%,var(--line));border-radius:10px}.net-carb-feature strong{font-family:var(--hearth-heading);font-size:1.55rem;line-height:1}.net-carb-feature>span{padding-bottom:2px;font-weight:700}.net-carb-feature small{grid-column:1 / -1;margin-top:5px;color:var(--muted)}.nutrition-grid{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.nutrition-grid div{padding:12px 8px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px}.nutrition-grid dd{margin:0;font-family:var(--hearth-heading);font-size:1.55rem;font-weight:700;line-height:1}.nutrition-grid dd small{margin-left:2px;color:var(--muted);font-family:var(--hearth-body);font-size:.66rem}.nutrition-grid dt{margin-top:5px;color:var(--muted);font-size:.66rem}.recipe-gallery>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.recipe-gallery img,.recipe-gallery .recipe-image-fallback{width:100%;aspect-ratio:4 / 3;display:grid;object-fit:cover;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px}.dialog-action-spacer{flex:1}.source-link svg{width:.9rem;height:.9rem}.danger-button{color:var(--danger)}.danger-button:hover{color:var(--danger);border-color:var(--danger)}.record-dialog{width:min(780px,calc(100vw - 32px));max-height:min(88vh,900px);padding:0;overflow:hidden;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 64px #2d1b2647}.record-dialog::backdrop{background:#1c0f079e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.record-dialog form{padding:0}.dialog-heading{min-height:84px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.dialog-heading h2{margin:0;font-family:var(--hearth-heading);font-size:1.5rem}.folio-label{display:block;margin-top:4px;color:var(--accent);font-size:.68rem;font-weight:600}.form-grid{max-height:calc(88vh - 170px);padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;overflow-y:auto}.form-grid label{display:flex;flex-direction:column;gap:6px;color:var(--ink-soft);font-size:.75rem;font-weight:700}.form-grid label>span{color:var(--ink)}.form-grid b{color:var(--danger)}.field-wide{grid-column:1 / -1}.checkbox-field{justify-content:flex-end}.checkbox-control{min-height:42px;display:flex;align-items:center;gap:9px}.checkbox-control input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--accent)}.checkbox-control>span{color:var(--ink-soft);font-size:.875rem;font-weight:600}input[type=file]{padding:7px 9px}input[type=file]::file-selector-button{margin-right:10px;padding:6px 10px;color:var(--on-accent);background:var(--accent);border:0;border-radius:8px;font-weight:600;cursor:pointer}input,textarea,select{width:100%;min-height:42px;padding:9px 11px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px}textarea{resize:vertical;line-height:1.45}input:hover,textarea:hover,select:hover{border-color:var(--accent)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);outline:0}label small{color:var(--muted);font-size:.67rem;font-weight:400;line-height:1.35}.inline-error{margin:0 22px;padding:10px 12px;display:flex;align-items:center;gap:9px;color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:.8rem}.workspace-error{margin:0 0 16px}.dialog-actions{padding:14px 21px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:var(--surface)}.record-details-dialog{width:min(840px,calc(100vw - 32px))}.record-detail-grid{max-height:calc(88vh - 170px);margin:0;padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;overflow-y:auto}.record-detail-grid>div{min-width:0;padding-bottom:12px;border-bottom:1px solid var(--line)}.record-detail-grid .detail-wide{grid-column:1 / -1}.record-detail-grid dt{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.record-detail-grid dd{margin:6px 0 0;color:var(--ink-soft);line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.record-detail-grid .json-value{font-family:var(--hearth-body);font-size:.875rem}.blob-action{display:inline-flex;align-items:center;gap:6px}.blob-action svg{width:.9rem;height:.9rem}.blob-action:disabled{opacity:.55;cursor:wait}.record-details-dialog>.inline-error{margin-bottom:14px}.dashboard-page{color:var(--ink)}.hearth-hero{position:relative;min-height:250px;margin-bottom:32px;overflow:hidden;color:#fff;background:linear-gradient(105deg,rgb(20 10 6 / 58%),rgb(20 10 6 / 21%) 48%,transparent 76%);border:1px solid rgb(255 255 255 / 14%);border-radius:14px;box-shadow:var(--card-shadow)}.hearth-hero:after{content:"";position:absolute;right:-6%;bottom:-75%;z-index:0;width:460px;height:460px;background:radial-gradient(circle,rgb(255 164 74 / 34%),rgb(255 120 40 / 14%) 40%,transparent 70%);animation:hearth-glow 5.5s ease-in-out infinite}@keyframes hearth-glow{0%,to{opacity:.75;transform:scale(1)}48%{opacity:1;transform:scale(1.08)}}.hearth-hero .hero-embers{z-index:1}.hearth-hero-copy{position:relative;z-index:2;max-width:650px;padding:34px}.hearth-hero-copy>span{color:#ffe0bee0;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hearth-hero h1{margin:9px 0 0;color:#fff6ec;font-family:var(--hearth-heading);font-size:clamp(1.9rem,1.55rem + 1.5vw,2.4rem);line-height:1.08;text-shadow:0 2px 16px rgb(20 10 6 / 60%)}.hearth-hero h1 em{color:#f3c67e;font-style:italic}.hearth-hero p{max-width:520px;margin:12px 0 0;color:#fff0e1eb;font-size:.95rem;line-height:1.55;text-shadow:0 1px 8px rgb(20 10 6 / 50%)}.hearth-glance{position:absolute;top:16px;right:16px;z-index:3;max-width:54%;margin:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.hearth-glance>div{min-width:112px;padding:10px 14px;background:#1c100a75;border:1px solid rgb(255 210 150 / 28%);border-radius:14px;box-shadow:0 8px 20px -12px #0000007f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hearth-glance dt{color:#ffe0bed9;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hearth-glance dd{margin:3px 0 0;color:#fff3e4;font-size:.95rem;font-weight:700}.dashboard-section{margin-bottom:32px}.dashboard-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skeleton-card{min-height:180px;background-color:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow)}.dashboard-state{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow)}.attention-panel{overflow:hidden}.attention-panel>header{min-height:82px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.attention-panel h3{margin:0;font-family:var(--hearth-heading);font-size:1.42rem}.attention-panel header p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.first-run{max-width:650px;padding:52px clamp(24px,7vw,78px)}.first-run>svg{width:38px;height:38px;color:var(--accent)}.first-run h3{margin:19px 0 9px;font-family:var(--hearth-heading);font-size:clamp(1.7rem,1.4rem + 1.3vw,2.2rem);line-height:1.1}.first-run p{max-width:62ch;margin:0;color:var(--muted);line-height:1.65}.first-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:9px}.attention-list{margin:0;padding:0;list-style:none}.attention-list li{min-height:66px;padding:10px 18px;display:grid;grid-template-columns:9px 1fr 38px;align-items:center;gap:13px;border-bottom:1px solid var(--line)}.attention-list li:last-child{border-bottom:0}.attention-list b,.attention-list span{display:block}.attention-list b{margin-bottom:3px;font-size:.88rem}.attention-list span{color:var(--muted);font-size:.72rem;text-transform:capitalize}.attention-list a{width:36px;height:36px;display:grid;place-items:center;color:var(--accent);border-radius:8px}.attention-list a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.domain-pin{width:7px;height:25px;background:var(--accent);border-radius:4px}.clear-field{padding:48px clamp(24px,7vw,78px);display:flex;align-items:flex-start;gap:17px}.clear-field>span{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#5f8a4e;border-radius:50%}.clear-field h3{margin:0 0 7px;font-family:var(--hearth-heading);font-size:1.2rem}.clear-field p{margin:0;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.summary-card{min-width:0;padding:19px;display:block;text-decoration:none;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.summary-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.summary-card span{display:block;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.summary-card strong{display:block;margin:8px 0 4px;color:var(--accent);font-family:var(--hearth-heading);font-size:1.85rem;line-height:1}.summary-card small{color:var(--muted);font-size:.68rem}.capture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.capture-grid a{min-height:76px;padding:15px 17px;display:grid;grid-template-columns:30px 1fr 24px;align-items:center;gap:10px;text-decoration:none;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.capture-grid a:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.capture-grid a>svg:first-child{color:var(--accent)}.capture-grid a>svg:last-child{color:var(--muted)}.capture-grid span{font-size:.84rem;font-weight:700}.capture-grid small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;font-weight:400}.context-list{margin:0;padding:7px 18px;list-style:none}.context-list li{padding:11px 4px;border-bottom:1px solid var(--line);font-size:.82rem}.context-list li:last-child{border-bottom:0}.context-list small{display:block;margin-top:2px;color:var(--muted)}.missing-page{display:flex;flex-direction:column;align-items:flex-start;gap:17px;padding-top:72px}.missing-page h1{max-width:700px;margin:0;font-family:var(--hearth-heading);font-size:clamp(2rem,5vw,4rem);line-height:1.05}@media(max-width:1199px){.page-frame{margin-left:0}.work-field{padding-top:62px}.hearth-sidebar{top:0;bottom:0;left:0;width:280px;border-radius:0 22px 22px 0;outline:0;transform:translate(-105%);transition:transform .22s cubic-bezier(.16,1,.3,1)}.hearth-sidebar.is-open{transform:translate(0)}.sidebar-close{position:absolute;top:9px;right:9px;z-index:2;width:32px;height:32px;display:grid;color:var(--muted);border-radius:50%}.sidebar-close:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.floating-control{position:fixed;top:14px;z-index:30;width:36px;height:36px;display:grid;color:var(--ink-soft);background:color-mix(in srgb,var(--paper) 82%,transparent);border:1px solid var(--line);border-radius:50%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}.floating-control:hover{color:var(--accent);background:var(--paper)}.mobile-menu-button{left:16px}.mobile-theme-button{right:16px}.drawer-scrim{position:fixed;inset:0;z-index:35;display:block;padding:0;background:#1c0f077a;border:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}}@media(max-width:900px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-tools{grid-template-columns:1fr}.recipe-filters{justify-content:flex-start}.ingredient-editor-row{grid-template-columns:28px minmax(150px,1.5fr) minmax(80px,.55fr) minmax(90px,.65fr) auto}.ingredient-editor-row label:nth-of-type(4){grid-column:2 / -1}}@media(max-width:720px){.work-field{padding-right:14px;padding-left:14px}.page-hero-row{min-height:0;flex-direction:column}.page-hero-copy{width:100%;padding:19px}.page-hero-actions,.page-hero-actions .button{width:100%}.recipe-manager .page-hero-actions{flex-direction:column}.hero-stats,.hearth-glance{display:none}.pool-hero{min-height:250px}.pool-hero-copy{padding:26px 22px}.pool-hero .button{width:100%}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-grid,.dashboard-loading{grid-template-columns:1fr}.hearth-hero{min-height:230px}.hearth-hero-copy{padding:28px 23px}.ledger-tabs{width:100%;border-radius:14px}.ledger-tabs button{flex:1 0 auto}.form-grid{grid-template-columns:1fr;padding:18px}.field-wide{grid-column:auto}.recipe-filters{flex-wrap:wrap}.recipe-filters>svg{display:none}.recipe-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-detail-header{grid-template-columns:1fr}.recipe-detail-cover{min-height:220px;max-height:280px}.recipe-detail-title{padding:26px 22px 24px}.recipe-detail-columns{grid-template-columns:1fr;gap:28px}.nutrition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.table-scroll{overflow:visible}table,thead,tbody,tr,th,td{display:block}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}tbody tr{padding:13px 14px;border-bottom:1px solid var(--line)}td{min-height:0;padding:5px 0;display:grid;grid-template-columns:minmax(86px,35%) 1fr;gap:9px;border:0}td:before{content:attr(data-label);color:var(--muted);font-size:.65rem;font-weight:700;text-transform:uppercase}.row-actions{width:100%;margin-top:7px;display:flex;justify-content:flex-end}.row-actions:before{display:none}.record-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.form-grid{max-height:calc(100dvh - 190px)}.record-detail-grid{grid-template-columns:1fr;padding:17px}.record-detail-grid .detail-wide{grid-column:auto}.ledger-heading{padding:15px}.attention-panel>header{padding:15px}.first-run,.clear-field{padding:36px 22px}.recipe-grid{grid-template-columns:1fr}.recipe-tools{padding:10px}.recipe-filters{display:grid;grid-template-columns:1fr 1fr;align-items:end}.recipe-filters label select{width:100%;min-width:0}.favorite-filter{width:100%}.recipe-empty-state{padding:38px 22px}.recipe-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.recipe-dialog form{max-height:calc(100dvh - 20px)}.recipe-dialog-heading,.ai-import-body,.recipe-editor-body,.recipe-detail-body{padding-right:17px;padding-left:17px}.recipe-form-grid{grid-template-columns:1fr}.recipe-form-grid .field-wide,.recipe-check{grid-column:auto}.recipe-fieldset-heading{align-items:flex-start;flex-direction:column}.ingredient-editor-row{grid-template-columns:28px 1fr;align-items:start}.ingredient-position{grid-row:1}.ingredient-editor-row label,.ingredient-editor-row label:nth-of-type(4){grid-column:2}.ingredient-row-actions{grid-column:2;padding:0;justify-content:flex-end}.editor-photo-strip{align-items:flex-start;flex-direction:column}.recipe-detail-kicker{padding-right:42px;align-items:flex-start;flex-direction:column}.recipe-dialog-actions{flex-wrap:wrap}.dialog-action-spacer{display:none}.recipe-detail-dialog .recipe-dialog-actions .source-link{margin-right:auto}.recipe-gallery>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.summary-grid{grid-template-columns:1fr}.first-actions{display:grid;grid-template-columns:1fr}.first-actions .button{width:100%}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.record-details-dialog .dialog-actions{display:flex}.recipe-results-heading{align-items:flex-start;flex-direction:column}.recipe-filters{grid-template-columns:1fr}.recipe-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-detail-dialog .recipe-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.recipe-detail-dialog .recipe-dialog-actions .source-link{grid-column:1 / -1;margin:0}.ai-import-modes{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.summary-card:hover,.capture-grid a:hover,.recipe-card:hover{transform:none}}
