:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#fbf8f4;--paper-warm:#f6efe4;--surface:#fff;--surface-sunk:#f4efe8;--ink:#1a1613;--ink-muted:#756c63;--line:#ece4d9;--line-strong:#d9cfc2;--accent:#9c5518;--accent-strong:#8f4e14;--accent-soft:#faf0e4;--credit:#16704f;--danger:#b3261e;--danger-soft:#fbecea;--seat-1:#2e6f5e;--seat-2:#3a5fa8;--seat-3:#8a4f8f;--seat-4:#6b7a2e;--seat-5:#b03a5b;--seat-6:#8a5a3c;--on-seat:#fff;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--shadow-sm:0 1px 2px #4830180d, 0 2px 6px -2px #4830180f;--shadow-md:0 1px 2px #4830180d, 0 10px 24px -14px #4830183d;--shadow-lg:0 2px 6px #48301812, 0 24px 48px -26px #48301857;--ease:cubic-bezier(.22, 1, .36, 1);--fast:.15s;--slow:.42s;--safe-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#14110f;--paper-warm:#1b1714;--surface:#1d1916;--surface-sunk:#262019;--ink:#f2ede7;--ink-muted:#a69c91;--line:#322b24;--line-strong:#473e35;--accent:#eda35f;--accent-strong:#f7b879;--accent-soft:#2e2318;--credit:#5fd3ad;--danger:#f08a7a;--danger-soft:#35201c;--seat-1:#6fc9b0;--seat-2:#8fb4f0;--seat-3:#d9a0e0;--seat-4:#bccb72;--seat-5:#f094ac;--seat-6:#d4a87e;--on-seat:#14110f;--shadow-sm:0 1px 2px #0006, 0 2px 6px -2px #0006;--shadow-md:0 1px 2px #00000073, 0 10px 24px -14px #000000b3;--shadow-lg:0 2px 6px #00000080, 0 24px 48px -26px #000c}}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;background-image:linear-gradient(var(--paper-warm) 0, var(--paper) 28rem);background-repeat:no-repeat;font:400 1rem/1.6 system-ui,-apple-system,Segoe UI,sans-serif}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea,button{font:inherit;color:inherit;font-size:max(1rem,16px)}a{color:var(--accent);text-underline-offset:.18em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.wrap{max-width:74rem;margin:0 auto;padding-inline:1.25rem}.top{z-index:10;background:color-mix(in srgb, var(--paper-warm) 82%, transparent);-webkit-backdrop-filter:saturate(140%)blur(12px);backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid #0000;position:sticky;top:0}@supports (animation-timeline:scroll()){.top{animation:linear both top-line;animation-timeline:scroll();animation-range:0 4rem}@keyframes top-line{to{border-bottom-color:var(--line)}}}@supports not (animation-timeline:scroll()){.top{border-bottom-color:var(--line)}}.top-bar{justify-content:space-between;align-items:center;gap:1rem;padding-block:.7rem;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;font-size:1rem;font-weight:650;text-decoration:none}.brand-tld{color:var(--ink-muted);font-weight:400}.langs{border:1px solid var(--line);border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 70%, transparent);outline:none;align-items:center;gap:.1rem;padding:.15rem;display:flex}.lang-button{border-radius:var(--r-pill);min-width:2.1rem;min-height:2.1rem;color:var(--ink-muted);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:0;padding-inline:.4rem;font-size:.875rem;font-weight:550}.lang-button:hover{background:var(--accent-soft);color:var(--accent)}.app{padding-top:2.5rem;padding-bottom:calc(4rem + var(--safe-bottom))}.intro{animation:rise var(--slow) var(--ease) both;margin-bottom:2rem}h1{letter-spacing:-.035em;text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(2.1rem,1.2rem + 3.4vw,3.4rem);font-weight:700;line-height:1.04}h2{letter-spacing:-.015em;margin:0;font-size:1.0625rem;font-weight:650}h3{margin:0 0 .55rem;font-size:.8125rem;font-weight:600}.muted{color:var(--ink-muted)}.tag{border-radius:var(--r-pill);background:var(--surface-sunk);color:var(--ink-muted);letter-spacing:.01em;vertical-align:.1em;margin-left:.5rem;padding:.15rem .5rem;font-size:.6875rem;font-weight:500}.credit{color:var(--credit);font-weight:600}.result-total,.result-sum,.item-monthly,.strip-figure,.strip-legend,.net li,input[inputmode=decimal],.room-adjust{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--slow) var(--ease);padding:1.5rem;position:relative}.card:focus-within{box-shadow:var(--shadow-md)}.layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"inputs""result""extra";gap:1.25rem;display:grid}.area-inputs{flex-direction:column;grid-area:inputs;gap:1.25rem;display:flex}.area-extra{grid-area:extra}.area-inputs>*,.result,.area-extra>*{animation:rise var(--slow) var(--ease) both}.area-inputs>:first-child{animation-delay:60ms}.area-inputs>:nth-child(2){animation-delay:.12s}.result{animation-delay:.18s}.area-extra>*{animation-delay:.24s}@media (width>=62rem){.layout{grid-template-columns:minmax(0,1fr) 23rem;grid-template-areas:"inputs result""extra result";align-items:start;gap:1.5rem}.result{flex-direction:column;max-height:calc(100dvh - 6.5rem);display:flex;position:sticky;top:5.25rem}.result-rows{min-height:0;overflow-y:auto}.result-sum,.copy-button{flex:none}}.section-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.section-count{border-radius:var(--r-pill);background:var(--surface-sunk);color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding:.2rem .6rem;font-size:.8125rem}.footer-link{border-top:1px solid var(--line);margin:2.5rem 0 0;padding-top:1.25rem;font-size:.875rem}.foot-links{flex-wrap:wrap;gap:.4rem 1.5rem;display:flex}.site-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem;margin-top:3rem;padding-top:1.25rem;font-size:.875rem;display:flex}.strip-wrap{margin-top:1rem}.strip{border-radius:var(--r-md);background:var(--surface-sunk);gap:3px;height:3.25rem;padding:0;display:flex;position:relative}.strip-seg{min-width:0;transition:flex-grow var(--slow) var(--ease);border-radius:5px;flex-basis:0;justify-content:center;align-items:center;display:flex}.strip-seg:first-child{border-start-start-radius:var(--r-md);border-end-start-radius:var(--r-md)}.strip-seg:last-child{border-start-end-radius:var(--r-md);border-end-end-radius:var(--r-md)}.strip-room{background:var(--seat)}.strip-shared{background:repeating-linear-gradient(135deg, var(--line-strong) 0 1px, transparent 1px 6px), var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--line)}.strip-excess{inset-block:0;border-left:2px solid var(--surface);background:var(--danger);transition:width var(--slow) var(--ease);border-start-end-radius:var(--r-md);border-end-end-radius:var(--r-md);position:absolute;right:0}.strip-figure{color:var(--on-seat);padding-inline:.2rem;font-size:.8125rem;font-weight:650}.strip-shared .strip-figure{color:var(--ink-muted)}.strip-empty{border:1px dashed var(--line-strong);border-radius:var(--r-md);height:3.25rem;color:var(--ink-muted);background:0 0;justify-content:center;align-items:center;margin:1rem 0 0;font-size:.875rem;display:flex}.strip-legend{color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:.2rem 1rem;margin-top:.6rem;font-size:.8125rem;display:flex}.strip-legend .over{color:var(--danger);font-weight:600}.key{background:var(--seat,var(--accent));vertical-align:.04em;border-radius:2px;width:.5rem;height:.5rem;margin-right:.45rem;display:inline-block}.key-rooms{background:var(--seat-1)}.key-shared{background:var(--line-strong)}.result{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);grid-area:result;padding:1.5rem}.result h2{margin-bottom:1rem}.result-blocked{border-radius:var(--r-md);background:var(--surface-sunk);color:var(--ink-muted);margin:0;padding:1rem 1.1rem;font-size:.9375rem;line-height:1.55}.result-rows{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0 1.75rem;margin:0;padding:0;list-style:none;display:grid}.result-rows li{border-top:1px solid var(--line);padding:.85rem 0 .95rem}.result-rows li:first-child{border-top:0;padding-top:.2rem}.result-row-top,.result-row-foot{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.result-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;font-weight:600;overflow:hidden}.result-total{letter-spacing:-.035em;font-size:1.75rem;font-weight:700;line-height:1.1}.result-row-foot{color:var(--ink-muted);font-size:.8125rem}.bar{border-radius:var(--r-pill);background:var(--surface-sunk);height:6px;margin:.5rem 0 .45rem;overflow:hidden}.bar-fill{border-radius:var(--r-pill);background:var(--seat,var(--accent));height:6px;transition:width var(--slow) var(--ease)}.result-sum{border-radius:var(--r-md);background:var(--surface-sunk);justify-content:space-between;align-items:baseline;gap:.6rem;margin:1rem 0;padding:.7rem .9rem;font-size:.9375rem;display:flex}.result-sum span{color:var(--ink-muted)}.copy-button{background:var(--accent);border-radius:var(--r-pill);width:100%;min-height:3rem;color:var(--surface);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--fast) var(--ease), transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border:0;justify-content:center;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:650;display:flex}@media (prefers-color-scheme:dark){.copy-button{color:var(--paper)}}.copy-button:hover{background:var(--accent-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.copy-button:active{transform:translateY(0)scale(.99)}.copy-button svg{animation:pop .32s var(--ease) both}.field+.field,section>.field{margin-top:.9rem}.card>h2+.field,.card>h2+.flat-fields{margin-top:1.1rem}.flat-fields{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem;display:grid}.flat-fields .field{margin-top:0}.field-label{color:var(--ink-muted);margin-bottom:.4rem;font-size:.8125rem;font-weight:500;display:block}.field-box{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:stretch;display:flex;overflow:hidden}.field-box:hover{border-color:var(--ink-muted)}.field-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-box-invalid{border-color:var(--danger)}.field-box-invalid:focus-within{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.field-box input{text-align:right;letter-spacing:-.01em;background:0 0;border:0;flex:auto;min-width:0;padding:.75rem .8rem;font-weight:650}.field-box input:focus{outline:none}.field-affix{background:var(--surface-sunk);color:var(--ink-muted);align-items:center;padding-inline:.75rem;font-size:.8125rem;font-weight:500;display:flex}.field-box input:first-child+.field-affix{border-left:1px solid var(--line)}.field-affix:first-child{border-right:1px solid var(--line)}.rooms{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin-top:1.1rem;display:grid}.room{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:.85rem .9rem .9rem}.room:hover,.room:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.room-top,.room-bottom{gap:.5rem;display:flex}.room-captions{color:var(--ink-muted);gap:.5rem;margin-top:.7rem;font-size:.75rem;display:flex}.room-captions>span:first-child{flex:1 1 0}.room-captions>span:last-child{flex:0 0 7rem}.caption-adjust{align-items:flex-start;gap:.3rem;display:flex;position:relative}.hint{margin-top:-.12rem;line-height:1}.hint summary{border:1px solid var(--line-strong);width:.9rem;height:.9rem;color:var(--ink-muted);cursor:pointer;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:50%;place-items:center;list-style:none;display:grid}.hint summary::-webkit-details-marker{display:none}.hint summary:hover,.hint[open] summary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.hint p{z-index:3;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);width:max-content;max-width:17rem;box-shadow:var(--shadow-lg);color:var(--ink-muted);text-align:left;animation:fade-in var(--fast) var(--ease) both;margin:0;padding:.7rem .8rem;font-size:.8125rem;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + .4rem);right:0}.room-bottom{align-items:stretch;margin-top:.3rem}.room-bottom .field{flex:1 1 0;min-width:0;margin-top:0}.room-name,.item-name{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);min-width:0;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);flex:auto;padding:.7rem .8rem;font-weight:650}.room-name:hover,.item-name:hover{border-color:var(--ink-muted)}.room-name:focus,.item-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.room-adjust,.lifespan select,.item-fields select{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--fast) var(--ease);padding:.7rem .5rem;font-weight:500}.room-adjust:hover,.lifespan select:hover,.item-fields select:hover{border-color:var(--ink-muted)}.room-adjust{flex:0 0 7rem}.icon-button{border:1px solid var(--line);border-radius:var(--r-md);width:2.75rem;height:2.75rem;color:var(--ink-muted);cursor:pointer;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;flex:none;justify-content:center;align-items:center;display:flex}.icon-button:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.icon-button:active{transform:scale(.94)}.add-button{border:1px dashed var(--line-strong);border-radius:var(--r-md);width:100%;min-height:3rem;color:var(--accent);cursor:pointer;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;grid-column:1/-1;justify-content:center;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.add-button:hover{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.add-button:active{transform:scale(.995)}.add-button svg{transition:transform var(--slow) var(--ease)}.add-button:hover svg{transform:rotate(90deg)}.items+.add-button{margin-top:.75rem}.link-button{color:var(--ink-muted);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;margin-top:1rem;padding:0;font-size:.8125rem;text-decoration:underline}.link-button:hover{color:var(--ink)}.furniture-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1.1rem;display:flex}.items{flex-direction:column;gap:.75rem;display:flex}.item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:.85rem .9rem}.item:hover,.item:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.item-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;display:grid}.item-meta{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.4rem .6rem;display:flex}.item-monthly{letter-spacing:-.02em;flex:none;margin-left:auto;font-size:1.125rem;font-weight:700}.item-fields{flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-top:.7rem;display:flex}.item-fields .field{flex:8rem;min-width:0;margin-top:0}.lifespan{flex:0 auto;align-items:center;gap:.45rem;min-width:0;display:flex}.lifespan-label{color:var(--ink-muted);white-space:nowrap;font-size:.8125rem}.lifespan select{min-width:0}.payers{flex-direction:column;flex:3 17rem;gap:.45rem;min-width:0;display:flex}.payers-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.payers-label{color:var(--ink-muted);font-size:.8125rem;font-weight:500}.payer-row{flex-wrap:wrap;align-items:stretch;gap:.4rem;display:flex}.payer-who{flex:9rem;align-items:stretch;gap:.4rem;min-width:0;display:flex}.payer-row .field{flex:2 11rem;min-width:0;margin-top:0}.payer-who select{text-overflow:ellipsis;flex:auto;min-width:0}.payer-row .icon-button{width:2.5rem;height:auto}.payers-total{color:var(--ink-muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:.6rem;margin:0;font-size:.8125rem;display:flex}.payers-total strong{color:var(--ink)}.add-payer{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--accent);cursor:pointer;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;align-items:center;gap:.25rem;padding:.2rem .6rem .2rem .4rem;font-size:.8125rem;font-weight:550;display:inline-flex}.add-payer:hover{border-color:var(--accent);background:var(--accent-soft)}.add-payer svg{width:13px;height:13px}.item-foot{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem .75rem;margin-top:.7rem;padding-top:.7rem;font-size:.8125rem;display:flex}.users summary{color:var(--accent);cursor:pointer}.users ul{animation:fade-in var(--fast) var(--ease) both;flex-wrap:wrap;gap:.35rem 1rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.users label{cursor:pointer;align-items:center;gap:.45rem;min-height:2.1rem;font-size:.8125rem;display:flex}.users input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.offer{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:1.5rem;display:flex}.offer-text{flex:22rem;min-width:0}.offer p{max-width:58ch;color:var(--ink-muted);margin:.5rem 0 0;font-size:.9375rem;line-height:1.5}.offer-button{background:var(--accent);border-radius:var(--r-pill);min-height:3rem;color:var(--surface);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--fast) var(--ease), transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border:0;flex:none;align-items:center;gap:.5rem;padding-inline:1.35rem;font-size:.9375rem;font-weight:650;display:inline-flex}.offer-button:hover{background:var(--accent-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.offer-button:active{transform:translateY(0)scale(.98)}@media (prefers-color-scheme:dark){.offer-button{color:var(--paper)}}.page-content{max-width:44rem;padding:0 1.25rem calc(2.5rem + env(safe-area-inset-bottom,0px));color:var(--ink-muted);margin:0 auto;font-size:.875rem;line-height:1.65}.page-content h2,.page-content h3{color:var(--ink);margin:1.6rem 0 .4rem;font-size:.9375rem}.page-content p{margin:0 0 .7rem}.prose-pending main{animation:0s .3s both reveal}@keyframes reveal{0%{visibility:hidden}to{visibility:visible}}#root:empty~.page-content{animation:0s 4s both reveal}.page-article{max-width:44rem;color:var(--ink);margin-inline:0;padding-top:2.5rem;font-size:1rem}.page-article h1{max-width:none;margin:0 0 1.5rem;font-size:clamp(1.9rem,1.3rem + 2.2vw,2.6rem)}.page-article h2{margin:2.25rem 0 .5rem;font-size:1.125rem}.page-article code{background:var(--surface-sunk);color:var(--ink);border-radius:5px;padding:.1rem .35rem;font-size:.85em}.page-article p{max-width:68ch;color:var(--ink-muted);margin:0 0 .9rem;line-height:1.7}
