:root{--bg:#E8EBCF;--ink:#26384D;--red:#B84E3A;--paper:#F9F8EE;--rule:#bfc2a9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;background:transparent;border:1px solid var(--rule);border-radius:5px;padding:10px 15px}button:hover{background:#dfe2c6}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover{background:#3b5068}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:bold}.fine{font-size:12px;line-height:1.7;color:#536052}.pill{font-size:10px;border:1px solid var(--rule);border-radius:30px;padding:9px 14px;letter-spacing:1px}header{position:sticky;top:14px;z-index:10;margin:18px auto 0;max-width:1280px;width:calc(100% - 64px);display:flex;justify-content:space-between;align-items:center;border-radius:12px;background:var(--ink);color:var(--paper);padding:15px 24px;box-shadow:0 5px 14px #26384d12}.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:23px;white-space:nowrap}.brand span{font:8px Arial;letter-spacing:1.5px;max-width:78px;white-space:normal;margin-left:8px}nav{display:flex;align-items:center;gap:25px;font-size:12px}nav #list-count{border:1px solid #819085;border-radius:50%;padding:2px 5px;font-size:10px}.navbtn{border:0;padding:0;color:inherit}.navbtn:hover{background:transparent}main{max-width:1280px;margin:auto;padding:0 0 30px}.opening{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:148px;padding:25px 32px}.opening p{font:italic 21px Georgia;margin:8px 0}.intro-slips{display:flex;align-items:center;gap:15px}.intro-slips span{font:10px monospace;padding:13px 16px;background:var(--paper);border-bottom:2px dashed var(--rule);transform:rotate(-5deg)}.intro-slips span:nth-of-type(2){transform:rotate(5deg)}.intro-slips b{font-size:13px;line-height:2}.intro-slips strong{color:var(--red);border:2px solid;padding:4px;font:18px monospace;transform:rotate(-10deg)}.intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.intro-actions small{font-size:9px;color:#536052}.intro-actions button{padding:3px 0;font-size:11px;border:0;text-decoration:underline}.opening.playing .intro-slips span:first-child{animation:slip 8s both}.opening.playing .intro-slips span:nth-of-type(2){animation:slip 8s .3s both}.opening.playing .intro-slips strong{animation:stamp 8s both}@keyframes slip{0%,15%{opacity:.2;transform:translateX(20px) rotate(12deg)}45%,100%{opacity:1;transform:translateX(0) rotate(0)}}@keyframes stamp{0%,55%{opacity:0;transform:scale(1.6) rotate(-10deg)}70%,100%{opacity:1;transform:scale(1) rotate(-10deg)}}.ledger{display:flex;background:var(--paper);border:1px solid #c9cbb7;border-radius:10px;overflow:hidden;box-shadow:0 12px 25px #26384d08}.ledger-margin{width:95px;flex:none;border-right:1px solid var(--rule);padding:25px 17px;display:flex;flex-direction:column;align-items:center;font:10px monospace;letter-spacing:1px;background:#eef0dc}.ledger-margin p{font-size:9px;margin:30px 0 60px;line-height:2}.vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px}.ledger-main{flex:1;min-width:0;padding:30px 38px 15px}.ledger-heading{display:flex;align-items:center;justify-content:space-between}.ledger-heading h1{font:64px/1.1 Georgia,serif;letter-spacing:-2.5px;margin:12px 0 12px}.ledger-heading h1 em{color:var(--red)}.ledger-heading p{font-size:14px;margin:0 0 30px}.groceries{width:205px;height:155px;flex:none}.ledger-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--ink);padding:12px 0 19px}.tabs{display:flex;gap:4px}.tabs button{font-size:11px;border:0;border-radius:25px;padding:7px 12px}.tabs .active{background:var(--ink);color:var(--paper)}.ledger-toolbar label{font-size:10px;white-space:nowrap}select{background:transparent;border:0;border-bottom:1px solid var(--rule);font-size:11px;padding:6px}.column-labels,.comparison{display:grid;grid-template-columns:1.5fr 1.15fr 1fr 55px;gap:18px;align-items:center}.column-labels{font-size:8px;letter-spacing:1.2px;padding:17px 0;border-bottom:1px solid var(--rule)}.comparison{padding:23px 0;border-bottom:1px solid var(--rule)}.productname{font:22px Georgia;margin:0}.comparison small{font-size:10px;display:block;margin-top:5px;color:#596459}.price{font:15px monospace}.price .old{font-size:12px;color:#596459;display:inline-block;margin-right:5px}.badge{display:inline-block;font-size:10px;border:1px solid var(--red);color:var(--red);padding:3px 6px;transform:rotate(-2deg)}.badge.neutral{color:#52624f;border-color:#879580;transform:none}.add-product{font-size:23px;padding:2px 12px;border-radius:50%;justify-self:end}.ledger-footer{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:10px;font-size:10px}.ledger-footer button{font-size:11px;border:0;padding:0;text-decoration:underline}.empty{padding:35px 0;color:#596459;font-family:Georgia;font-size:21px}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding:90px 45px}.editorial h2,.shopping h2{font:52px/1.05 Georgia;letter-spacing:-1.8px;margin:20px 0 25px}.editorial p{max-width:370px;color:#465445}.textlink{display:inline-block;border:0;border-bottom:1px solid;padding:8px 0;border-radius:0;font-size:12px;font-weight:bold}.editorial figure{margin:0}.art{background:#dce0c6;border-radius:50% 50% 4px 4px;overflow:hidden;aspect-ratio:1.16}.art img,.art svg{width:100%;height:100%;object-fit:cover}.editorial figcaption{display:flex;gap:20px;border-top:1px solid var(--rule);padding:15px 0;margin-top:20px;font-size:9px;letter-spacing:1px}.editorial figcaption span{font:12px Georgia;letter-spacing:0}.intake{border-top:1px solid var(--ink);padding:38px 44px 45px;background:#f1f2e0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-title h2{font:40px Georgia;letter-spacing:-1px;margin:10px 0 25px}.intake-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}h3{font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:1px}.intake p{font-size:13px}.filezone{display:flex;flex-direction:column;gap:10px;background:var(--paper);border:1px dashed #829074;border-radius:6px;padding:22px;margin:22px 0 10px;font-size:14px}.filezone span{font-size:10px;color:#596459}input[type=file]{max-width:100%;font-size:11px}input::file-selector-button{border:0;background:var(--ink);color:#fff;padding:7px;border-radius:3px;cursor:pointer}details{margin-top:20px;font-size:12px}summary{cursor:pointer;padding:10px 0}code{overflow-wrap:anywhere;font-size:11px}label[for=csv]{font-size:11px}textarea{display:block;width:100%;resize:vertical;min-height:170px;background:var(--paper);border:1px solid var(--rule);border-radius:5px;font:11px/1.6 monospace;padding:12px;margin:8px 0 15px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row button{font-size:12px}.status{color:#52624f}.status.error{color:#943c2b}#preview{max-height:180px;overflow:auto;font-size:11px}#preview p{border-top:1px solid var(--rule);padding:8px 0;margin:0;font-size:11px}.shopping{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:85px 60px}.shopping p{max-width:355px;font-size:14px}.shopping p.fine{font-size:11px}.shopping-paper{background:var(--paper);padding:28px 30px;box-shadow:4px 8px 0 #d4d8bc;transform:rotate(1deg)}.slip-header{display:flex;justify-content:space-between;font:11px monospace;letter-spacing:1px;border-bottom:1px solid var(--ink);padding-bottom:18px}.slip-header span{font-size:9px;letter-spacing:0}#add-form{display:flex;border-bottom:1px solid var(--rule);padding:14px 0;gap:10px}#new-item{width:100%;border:0;background:none;font:18px Georgia}#add-form button{padding:2px 12px;font-size:20px}.shop-row{display:grid;grid-template-columns:20px 1fr 65px 22px;align-items:center;gap:8px;padding:15px 0;border-bottom:1px solid var(--rule)}.shop-row input[type=text]{width:100%;background:none;border:0;border-bottom:1px dashed var(--rule);padding:3px 0;font-size:12px}.shop-row input[type=checkbox]{accent-color:var(--ink);width:16px;height:16px}.shop-row button{border:0;padding:0;font-size:18px}.shop-row.done .item-label{text-decoration:line-through;opacity:.5}.slip-bottom{font:italic 16px Georgia;display:flex;justify-content:space-between;padding-top:25px}footer{border-top:1px solid var(--rule);margin:0 30px;padding:35px 10px;display:flex;flex-wrap:wrap;align-items:center;gap:25px}footer p{font:italic 14px Georgia;flex:1}footer div:last-of-type{display:flex;gap:20px}footer button,footer a{border:0;font-size:10px;padding:0}footer small{width:100%;font-size:10px;color:#536052}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:12px;max-width:570px;width:calc(100% - 36px);padding:38px;max-height:85vh;overflow:auto}dialog::backdrop{background:#15253699}dialog h2{font:37px/1.1 Georgia}dialog p{font-size:14px}.close{position:absolute;right:15px;top:10px;border:0;font-size:27px;padding:0 6px}pre{background:#e8ebd7;padding:15px;white-space:pre-wrap;max-height:220px;overflow:auto;font-size:11px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:white;border-radius:8px;box-shadow:0 4px 15px #26384d33;font-size:12px;z-index:30;max-width:90vw;pointer-events:none;opacity:0}#toast.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skiplink{position:fixed;left:10px;top:-60px;z-index:50;background:var(--paper);padding:10px}.skiplink:focus{top:10px}.noscript{background:var(--paper);padding:30px}[hidden]{display:none!important}@media(max-width:1000px){main{padding-left:22px;padding-right:22px}.ledger-heading h1{font-size:49px}.ledger-main{padding:25px}.ledger-margin{width:65px;padding:22px 8px}.groceries{width:150px}.editorial{gap:35px;padding:65px 15px}.shopping{gap:40px;padding:65px 20px}.intake{padding:30px}.intake-body{gap:30px}.opening{padding:25px 0}.intro-slips{gap:8px}.opening .eyebrow{font-size:8px}.intro-slips span{padding:10px}.column-labels,.comparison{gap:10px;grid-template-columns:1.25fr 1.1fr 1fr 38px}.productname{font-size:19px}header{width:calc(100% - 44px)}}@media(max-width:680px){body{font-size:14px}header{top:8px;margin-top:8px;padding:12px 15px;width:calc(100% - 24px)}.brand{font-size:19px;gap:6px}.brand img{width:31px;height:31px}.brand span{display:none}nav{gap:12px;font-size:10px}nav a:first-child{display:none}main{padding-left:12px;padding-right:12px}.opening{gap:8px;flex-wrap:wrap;min-height:175px;padding:22px 6px 17px}.opening>div:first-child{width:100%}.opening p{font-size:19px;margin:3px 0}.intro-slips span{font-size:8px;padding:6px 11px}.intro-slips b{font-size:10px}.intro-slips strong{font-size:13px}.intro-actions small{font-size:8px}.intro-actions button{font-size:10px}.ledger-margin{display:none}.ledger-main{padding:23px 18px 12px}.ledger-heading h1{font-size:39px;letter-spacing:-1.4px}.ledger-heading p{font-size:11px;max-width:185px;margin-bottom:20px}.ledger-heading .eyebrow{font-size:8px;letter-spacing:1px}.groceries{width:86px;height:110px}.ledger-toolbar{flex-wrap:wrap;padding:9px 0 12px;gap:8px}.tabs{gap:0}.tabs button{font-size:9px;padding:7px 9px}.ledger-toolbar label{margin-left:auto;font-size:9px}.column-labels{display:none}.comparison{grid-template-columns:1fr 35px;position:relative;gap:9px;padding:21px 0}.comparison>div:nth-child(1){grid-column:1}.comparison>div:nth-child(2){grid-column:1}.comparison>div:nth-child(3){grid-column:1}.comparison>.add-product{grid-column:2;grid-row:1/4;align-self:center}.productname{font-size:23px}.price{font-size:14px}.comparison small{font-size:10px}.ledger-footer{align-items:flex-start;font-size:9px}.ledger-footer button{font-size:10px;max-width:110px;text-align:right}.fine{font-size:10px}.editorial{grid-template-columns:1fr;gap:35px;padding:55px 18px}.editorial h2,.shopping h2{font-size:43px}.editorial p{font-size:14px}.editorial figure{max-width:430px}.section-title{align-items:flex-start;flex-direction:column;gap:0}.section-title h2{font-size:34px;margin-bottom:15px}.section-title .pill{margin-bottom:20px}.intake{padding:28px 18px}.intake-body{grid-template-columns:1fr;gap:26px}.shopping{grid-template-columns:1fr;gap:28px;padding:55px 16px}.shopping-paper{padding:23px 20px;transform:rotate(.5deg)}footer{margin:0 8px;padding:25px 8px;gap:16px}footer p{width:100%;flex:auto;margin:0}footer div:last-of-type{flex-wrap:wrap}dialog{padding:30px 24px}dialog h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.filezone{position:relative;cursor:pointer}.filezone:focus-within{outline:3px solid var(--red);outline-offset:4px}.source-details{border-top:1px solid var(--rule);margin-top:0}.source-details summary{font-size:11px}.source-details summary span{font-size:10px;color:#596459}.source-lines{overflow:auto;max-height:320px}.source-lines table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.source-lines th{font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:.6px}.source-lines td,.source-lines th{padding:12px 10px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}.source-lines td{overflow-wrap:anywhere;min-width:85px}.source-lines small{display:block;color:#596459;font-size:10px}.source-lines td:last-child{white-space:nowrap}
