@font-face{font-family:Manrope;src:url('assets/Manrope-VF.woff2')}@font-face{font-family:Mono;src:url('assets/RobotoMono-400.ttf')}
:root{--yellow:#f5ea00;--ink:#151516;--paper:#fff;--bg:#f3f3ef;--line:#dddeda;--muted:#666760;--soft:#f7f7f3;--error:#a21c16;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Manrope,Arial,sans-serif}body.dark{--ink:#f4f4ee;--paper:#202022;--bg:#151516;--line:#444448;--muted:#b9b9af;--soft:#29292c;--error:#ffaca5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{transition:background .15s ease,color .15s ease}button{cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:9px 13px;font-weight:650}button:hover{background:var(--soft)}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8b8500;outline-offset:3px}.primary{background:var(--yellow);color:#151516;border-color:var(--yellow)}.primary:hover{background:#e3d900}.text-button{background:none;border:0;padding:4px}.skip{position:fixed;top:-80px;left:16px;background:var(--yellow);padding:12px;z-index:50}.skip:focus{top:12px}.topbar{height:88px;background:var(--paper);display:flex;align-items:center;gap:24px;padding:16px 30px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar img{display:block;object-fit:contain;background:white;border-radius:4px}.topcopy{font-size:10px;font-weight:800;letter-spacing:.15em;flex:1}.badge{font:10px Mono,monospace;background:var(--soft);padding:6px 9px;border-radius:4px;white-space:nowrap}.shell{display:grid;grid-template-columns:196px minmax(0,1fr) 265px;max-width:1880px;margin:auto}.sidebar{padding:32px 18px;border-right:1px solid var(--line)}.label{font:10px Mono,monospace;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.sidebar nav{display:grid;gap:5px;margin-top:20px}.sidebar nav a{text-decoration:none;padding:11px 12px;border-radius:8px;font-weight:650}.sidebar nav a.active{background:var(--ink);color:var(--paper)}.sidebar nav a:hover{box-shadow:inset 0 0 0 1px var(--line)}.sidebar-note{margin-top:40px;border-top:1px solid var(--line);padding:28px 12px}.sidebar-note p{font-size:20px;line-height:1.4;font-weight:750}.sidebar-note small{color:var(--muted);font-size:11px}main{padding:32px;min-width:0}h1{font-size:36px;line-height:1.18;letter-spacing:-.045em;margin:10px 0 18px;font-weight:800}h2{font-size:21px;line-height:1.35;letter-spacing:-.025em;margin:8px 0 14px}h3{font-size:16px;margin:5px 0 12px}p{margin:0 0 14px}.lead{font-size:15px;color:var(--muted);max-width:750px}.hero{padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--paper);display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.hero h1{font-size:48px}.hero-art{min-height:245px;background:var(--yellow);border-radius:12px;display:grid;place-content:center;color:#151516;position:relative;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#15151612 1px,transparent 1px),linear-gradient(90deg,#15151612 1px,transparent 1px);background-size:26px 26px}.hero-art img{width:100px;position:relative}.hero-art strong{font-size:32px;letter-spacing:-.04em;position:relative}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.card.accent{border-top:4px solid var(--yellow)}.card p{color:var(--muted)}.card small,.muted{color:var(--muted)}.card .number{font:28px Mono;margin:5px 0 14px;display:block}.actions,.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.actions{margin:14px 0}.note{padding:14px 18px;border-left:3px solid #a59e00;background:var(--soft);border-radius:0 8px 8px 0;font-size:12px;margin:16px 0}.error{color:var(--error);font-weight:650}.error:empty{display:none}label{font-size:12px;font-weight:650;display:block}input,select,textarea{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;min-height:42px;padding:9px 10px;width:100%;margin:4px 0 8px}input[type=checkbox]{width:18px;min-height:18px;vertical-align:middle}textarea{resize:vertical;min-height:76px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.fields .wide{grid-column:1/-1}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.list-item{border-bottom:1px solid var(--line);padding:18px 0}.list-item:last-child{border:0}.pill{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:20px;font-size:10px}.pill.yellow{background:var(--yellow);color:#151516;border:0}.pill.dark{background:var(--ink);color:var(--paper)}details{border-top:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:700}details>div{padding-top:12px}.table-wrap{overflow:auto;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:12px;min-width:500px}th{text-align:left;background:var(--soft);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}td,th{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}td.money,th.money{text-align:right;font-family:Mono;white-space:nowrap}.total{padding:24px;background:var(--yellow);color:#151516;border-radius:12px;margin:20px 0}.total strong{display:block;font:32px Mono;margin:8px 0}.total .row{justify-content:space-between}.totals-list{display:flex;gap:30px;flex-wrap:wrap;margin-top:12px;font-size:12px}.empty{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}.link-row{display:block;text-decoration:none;border-bottom:1px solid var(--line);padding:13px 0}.link-row span{float:right}ul{padding-left:20px}li{margin:6px 0}.calculator{background:var(--paper);border-left:1px solid var(--line);padding:25px 18px;position:sticky;top:88px;height:calc(100vh - 88px);overflow:auto}.calc-title{display:flex;justify-content:space-between;align-items:center}.calc-title h2{margin:4px 0 18px}.calculator .row{justify-content:space-between;margin:10px 0}.calculator input{font:15px Mono;height:54px}.calculator output{display:block;text-align:right;font:25px Mono;overflow-wrap:anywhere;min-height:52px;border-bottom:2px solid var(--yellow);margin-bottom:15px}.calculator small{font-size:10px;color:var(--muted)}.keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0}.keys button{padding:10px 0;font:12px Mono}.keys .equal{background:var(--yellow);color:#151516;grid-column:span 2}.calculator details{font-size:12px}.history-item{width:100%;text-align:left;font:10px Mono;margin:4px 0;overflow-wrap:anywhere}#closeCalc{display:none}.calc-toggle{display:none;position:fixed;bottom:22px;right:22px;background:var(--yellow);color:#151516;z-index:21;box-shadow:0 6px 25px #0002}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:13px 20px;border-radius:8px;z-index:100;box-shadow:0 5px 20px #0002;max-width:90vw}footer{border-top:1px solid var(--line);padding:22px 30px;color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:20px}.sketch{width:100%;max-height:210px;background:#f7f7f3;border-radius:10px;margin:15px 0}.sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.search{max-width:650px}.source-link{font:10px Mono}.table-note{font-size:11px;color:var(--muted)}.result-value{font:29px Mono;display:block;margin:16px 0}.smallprint{font-size:11px;color:var(--muted)}
@media(min-width:1650px){main{padding:42px 54px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1220px){.shell{grid-template-columns:170px minmax(0,1fr)}.calculator{display:none;position:fixed;right:0;top:0;bottom:0;height:100dvh;width:300px;z-index:30;box-shadow:-5px 0 40px #0003}.calculator.open{display:block}.calc-toggle,#closeCalc{display:block}.topcopy{display:none}.topbar .badge{margin-left:auto}.hero h1{font-size:42px}}
@media(max-width:760px){.topbar{height:70px;padding:12px 16px;gap:12px}.topbar img{width:110px;height:38px}.badge{font-size:8px}.shell{display:block}.sidebar{padding:12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.label,.sidebar-note{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px;margin:0;white-space:nowrap}.sidebar nav a{font-size:12px;padding:8px 12px}main{padding:22px 16px}h1{font-size:31px}.hero{padding:24px;grid-template-columns:1fr}.hero h1{font-size:39px}.hero-art{min-height:160px}.hero-art img{width:60px}.hero-art strong{font-size:25px}.cards{grid-template-columns:1fr}.card{padding:20px}.fields,.fields.three{grid-template-columns:1fr}.fields .wide{grid-column:auto}footer{padding-bottom:85px;flex-direction:column}.total strong{font-size:26px}}
@media print{.topbar{position:static;height:auto}.topcopy,.topbar button,.sidebar,.calculator,.calc-toggle,.actions,form,.no-print,#notice{display:none!important}.shell{display:block}main{padding:0}.topbar,footer{padding:12px 0}.card,.hero{break-inside:avoid;box-shadow:none;border:1px solid #ccc}.cards{display:block}.card{margin:14px 0}.hero-art{display:none}.hero{display:block}.table-wrap{overflow:visible}table{min-width:0}body,body.dark{--ink:#151516;--paper:#fff;--bg:#fff;--muted:#555;--soft:#f7f7f7;--line:#ddd}.total{background:#eee}a{overflow-wrap:anywhere}.badge{margin-left:auto}.no-print{display:none}details{display:block}}
.card.list-item{padding:24px;margin:12px 0} @media(max-width:760px){.card.list-item{padding:20px}}

.cost-breakdown table{min-width:880px}.cost-breakdown tbody th{text-transform:none;letter-spacing:0;font:inherit;color:var(--ink);background:none;text-align:left;min-width:255px}.cost-breakdown th small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.cost-breakdown .cost-group{background:var(--soft);font-weight:800}.cost-breakdown .cost-child th{padding-left:25px}.cost-breakdown .cost-total{background:var(--yellow);color:#151516;font-weight:800}.cost-breakdown .cost-total th{background:transparent;color:inherit}.cost-checks{font-size:12px}.cost-breakdown tfoot th{text-transform:none;letter-spacing:0;font-size:12px}
@media print{.cost-breakdown table{min-width:0;font-size:9px}.cost-breakdown td,.cost-breakdown th{padding:5px}.cost-breakdown tbody th{min-width:0}.cost-breakdown .cost-child th{padding-left:10px}#referenceResult>.cards{display:none}}

@media(min-width:1221px){.cost-view .shell{grid-template-columns:196px minmax(0,1fr)}.cost-view .calculator{display:none}.cost-view .calc-toggle,.cost-view #closeCalc{display:block}.cost-view .calculator.open{display:block;position:fixed;right:0;top:0;bottom:0;height:100dvh;width:300px;z-index:30;box-shadow:-5px 0 40px #0003}}
