@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{--ink:#233e35;--paper:#f6f3eb;--cream:#ede8dc;--line:#d8d8ca;--muted:#58685f;--gold:#e1aa50;--rust:#9d492e;--white:#fffdf7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Trebuchet MS,sans-serif;font-size:15px;line-height:1.6}header,main,footer{max-width:1260px;margin:auto}header{padding:26px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:'Fraunces',Georgia,serif;font-size:35px;text-decoration:none;display:flex;align-items:center;gap:18px;color:var(--ink)}.wordmark span,.edition{font-family:'DM Sans',Trebuchet MS,sans-serif;font-size:10px;font-weight:700;letter-spacing:1.8px}.edition b{display:inline-block;border:1px solid var(--ink);border-radius:50%;padding:6px 10px;margin-left:15px}main{padding:0 40px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500}h1{font-size:clamp(40px,5.2vw,69px);letter-spacing:-2.4px;line-height:1.08;margin:16px 0 24px}h1 em{font-weight:400;color:#61745a}h2{font-size:29px;line-height:1.2}h3{font-size:22px}.hero{display:grid;grid-template-columns:1fr 270px;align-items:center;padding:52px 0 40px;gap:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;margin:0}.intro{font-size:16px;color:var(--muted);max-width:520px;line-height:1.8}.jar-art{text-align:center;position:relative;max-width:220px;margin:auto}.jar-lid{width:142px;height:18px;background:var(--ink);border-radius:6px 6px 2px 2px;margin:auto}.jar{height:190px;width:146px;border:2px solid #7c8d7b;border-top:0;border-radius:8px 8px 26px 26px;position:relative;margin:auto;overflow:hidden;background:#ffffff50}.starter{position:absolute;bottom:0;left:0;width:100%;height:110px;background:#d7c9a7;border-radius:45% 35% 0 0}.starter i{position:absolute;border:1px solid #b29d74;border-radius:50%;width:13px;height:13px;top:22%;left:16%}.starter i:nth-child(2){top:56%;left:45%;width:22px;height:22px}.starter i:nth-child(3){top:19%;left:66%}.starter i:nth-child(4){top:73%;left:76%;width:8px;height:8px}.starter i:nth-child(5){top:65%;left:12%}.starter i:nth-child(6){top:35%;left:37%;width:7px;height:7px}.starter i:nth-child(7){top:48%;left:81%}.jar-mark{position:absolute;top:62px;right:6px;font-size:9px;letter-spacing:1px;border-top:1px dashed #61745a;width:115px;z-index:1;text-align:right}.jar span{position:absolute;bottom:15px;left:0;right:0;font-size:9px;color:var(--ink);font-style:italic}.jar-art p{margin:14px 0 0;font-size:12px;font-style:italic;color:var(--muted)}.workbench{background:var(--white);border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 35px #233e3507;scroll-margin-top:12px}.worktop{padding:20px 26px;display:flex;justify-content:space-between;gap:12px;align-items:center}.draft{font-size:8px;letter-spacing:1px;color:var(--muted);margin-left:12px}.unit-label{display:flex;gap:10px;align-items:center;font-size:12px}select,input,button{font:inherit;color:inherit}select,input{background:var(--white);border:1px solid #a8b3a6;border-radius:3px;padding:10px 12px;width:100%;min-width:0}select{cursor:pointer}button,.import{cursor:pointer;min-height:44px;border:1px solid #bac1b2;border-radius:3px;background:transparent;padding:9px 14px;font-size:12px;font-weight:600}button:hover,.import:hover{background:#edece1}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.import:focus-within{outline:3px solid var(--gold);outline-offset:3px}#unit{width:105px;padding:7px}#modes{display:flex;padding:0 26px;gap:8px;border-bottom:1px solid var(--line);overflow-x:auto}#modes button{border:0;border-radius:0;border-bottom:3px solid transparent;white-space:nowrap;padding:13px 14px;color:var(--muted)}#modes button[aria-pressed=true]{color:var(--ink);border-color:var(--ink);background:#f3f2e8}.workspace-grid{display:grid;grid-template-columns:1.04fr 1fr}.inputs{padding:28px 30px;border-right:1px solid var(--line)}.mode-note{font-size:13px;color:var(--muted);margin-bottom:22px}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}label.field{display:block;font-size:12px;font-weight:600}.field input,.field select{margin-top:6px;font-size:16px}.field small{display:block;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted);margin-top:5px}.wide{grid-column:1/-1}.section-label{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;margin-top:2px;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.storage-note{font-size:11px;color:var(--muted);line-height:1.6;margin:24px 0 0}.results{background:#f1f1e5;padding:28px 30px}.result-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.badge{background:var(--ink);color:var(--white);border-radius:30px;padding:4px 10px;font-size:10px;align-self:flex-start;white-space:nowrap}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.metric{border-top:1px solid #b7c2ae;padding:12px 0}.metric b{font-family:'Fraunces',Georgia,serif;font-size:clamp(24px,2.7vw,38px);font-weight:500;display:block;line-height:1.2;letter-spacing:-1px}.metric span{font-size:9px;letter-spacing:1px;text-transform:uppercase;font-weight:700}.metric small{font-size:12px;font-weight:400;letter-spacing:0}.balance{height:7px;display:flex;gap:2px;margin:8px 0 18px;overflow:hidden;border-radius:5px}.balance i:nth-child(1){background:var(--ink)}.balance i:nth-child(2){background:#91a285}.balance i:nth-child(3){background:var(--gold)}.result-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #bac3b1;border-bottom:1px solid #bac3b1;padding:12px 0;gap:10px}.result-total b{font-size:22px;font-family:'Fraunces',Georgia,serif}.facts{margin:16px 0}.facts div{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:5px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;font-weight:600}.note,.warning,.error{padding:12px 15px;font-size:12px;line-height:1.65;margin:16px 0;border-left:3px solid #6a8059;background:#ffffff70}.warning{border-color:var(--gold);background:#fff3d8}.error{border-color:var(--rust);background:#ffebe1}.stage{border-top:1px solid #bac3b1;padding:14px 0}.stage h3{font-family:'DM Sans',Trebuchet MS,sans-serif;font-size:12px;font-weight:700;margin-bottom:6px}.stage p{font-size:13px;margin-bottom:4px}.stage small{font-size:11px;color:var(--muted)}.schedule{margin-top:24px}.schedule h3{font-size:20px}.schedule-row{padding:12px 0;border-bottom:1px solid #ced4c2;font-size:12px}.schedule-row b{display:block}.schedule-row span{color:var(--muted)}.toolbar{display:flex;gap:8px;padding:18px 26px;border-top:1px solid var(--line);align-items:center;flex-wrap:wrap}.primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.primary:hover{background:#415749}.saved-label{font-size:11px;display:flex;gap:8px;align-items:center}.saved-label select{font-size:11px;padding:7px;max-width:185px}.import{position:relative;overflow:hidden;display:inline-flex;align-items:center}.import input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer;padding:0}#status{font-size:12px;padding:0 26px;margin-bottom:15px;min-height:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:50px 0 35px}.principles span{font-size:9px;font-weight:700;letter-spacing:1.5px}.principles h2{font-size:24px;margin:12px 0}.principles p{font-size:13px;color:var(--muted)}.method{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:30px}.method summary{cursor:pointer;font-family:'Fraunces',Georgia,serif;font-size:20px}.method div{max-width:850px;margin-top:20px;font-size:13px;color:var(--muted)}a{color:var(--ink)}footer{padding:14px 40px 30px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:9px;letter-spacing:1px}footer p{font-family:'Fraunces',Georgia,serif;font-size:16px;margin:0;letter-spacing:0}.skip{position:absolute;left:10px;top:-100px;background:var(--ink);color:white;padding:10px;z-index:20}.skip:focus{top:10px}.journal-list{max-height:380px;overflow:auto}.journal-entry{font-size:12px;border-bottom:1px solid #bac3b1;padding:12px 0}.journal-entry b{display:block}.add-entry{margin-top:18px}#fields .preset-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}#fields .preset-row button{min-height:36px;padding:6px 10px}input[type=datetime-local]{font-size:13px}.result-action{margin-top:14px}.empty{padding:25px 0;color:var(--muted);font-size:13px}
.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{min-width:0}
input[aria-invalid=true]{border-color:var(--rust);box-shadow:0 0 0 1px var(--rust)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.import:focus-within{outline-color:var(--ink)}
.metric b{overflow-wrap:anywhere}.facts dt,.facts dd{min-width:0;overflow-wrap:anywhere}
#fields .preset-row button{min-height:44px}#status{min-height:24px}
@media(max-width:520px){#modes{flex-wrap:wrap;overflow:visible}#modes button{flex:1 0 auto}.result-head{flex-wrap:wrap}h1{font-size:clamp(34px,10vw,40px)}}
@media(max-width:800px){header{padding:20px 22px}.edition{display:none}main{padding:0 22px}.hero{grid-template-columns:1fr 160px;padding:36px 0 25px}h1{font-size:43px}.jar-art{transform:scale(.8)}.workspace-grid{grid-template-columns:1fr}.inputs{border-right:0;border-bottom:1px solid var(--line)}.metric b{font-size:40px}.principles{gap:20px}.draft{display:block;margin:5px 0 0}footer{padding:15px 22px;flex-wrap:wrap}}
@media(max-width:520px){header{padding:15px 18px}.wordmark{font-size:29px;gap:12px}.wordmark span{font-size:8px;letter-spacing:1px}main{padding:0 14px}.hero{display:block;padding:32px 5px 18px}.jar-art{display:none}h1{font-size:40px;letter-spacing:-1.5px}.intro{font-size:14px}.worktop{padding:16px}.worktop .eyebrow{font-size:9px;letter-spacing:1px}.unit-label{font-size:11px}#unit{width:91px}#modes{padding:0 8px;gap:0}#modes button{font-size:11px;padding:12px 11px}.inputs,.results{padding:24px 18px}.fields-grid{gap:16px 12px}.field small{font-size:10px}.metric b{font-size:32px}.toolbar{padding:16px}.toolbar button,.import{font-size:11px}.saved-label{width:100%}.saved-label select{max-width:none;flex:1}.principles{grid-template-columns:1fr;padding:32px 6px 15px;gap:15px}.principles h2{margin:7px 0}.principles p{margin-bottom:5px}.method{padding:20px 6px}footer span:last-child{display:none}.result-total b{font-size:20px}}
@media(prefers-reduced-motion:no-preference){.hero{animation:rise .65s ease-out}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media print{header,.hero,nav,.inputs,.toolbar,.principles,.method,footer,.worktop,#status{display:none!important}main{padding:0}.workspace-grid{display:block}.results{background:white;padding:0}.workbench{border:0;box-shadow:none}.results:before{content:'Crust & Crumb Academy · Starter & Levain Studio';display:block;font-size:22px;font-family:Georgia,serif;margin-bottom:20px}.metric b{font-size:30px}.stage,.schedule-row{break-inside:avoid}.result-action{display:none}}
