:root{--paper:#fffdf6;--paper-warm:#fff6ea;--ink:#1e2a2b;--coral:#ff6b5e;--coral-deep:#e2493c;--coral-soft:#ffe3df;--teal:#0f6b66;--teal-deep:#0a4844;--teal-soft:#d8efed;--sun:#ffc94d;--border-width:2.5px;--radius-card:20px;--radius-control:12px;--shadow-offset:5px;--card-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--ink);--card-shadow-small:3px 3px 0 var(--ink);--font-display:"Bricolage Grotesque", "Avenir Next", "Trebuchet MS", sans-serif;--space-page:clamp(1rem, 4vw, 3rem);--content-max:72rem}*,:before,:after{box-sizing:border-box}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#1e2a2b12 1.2px,#0000 1.2px);background-size:26px 26px;margin:0;font-size:1rem;line-height:1.55}h1,h2,h3{margin:0;line-height:1.15}p{margin:0}input,button{font:inherit;color:inherit}button{cursor:pointer}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}ul,dl,dd,dt{margin:0;padding:0}ul{list-style:none}.receipt,.rent-card__input{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{max-width:var(--content-max);padding:var(--space-page);flex-direction:column;gap:2.5rem;margin:0 auto;display:flex}.hero{max-width:44rem;padding:1.5rem 0 .5rem;position:relative}.hero__doodles{gap:1rem;display:flex;position:absolute;top:0;right:0}.hero__doodle{width:64px;height:64px}.hero__doodle--house{color:var(--coral);transform:rotate(-6deg)}.hero__doodle--plant{color:var(--teal);transform:rotate(5deg)}.hero__kicker{background:var(--teal-soft);border:var(--border-width) solid var(--ink);letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--card-shadow-small);border-radius:999px;padding:.25rem .9rem;font-size:.85rem;font-weight:700;display:inline-block}.hero__title{letter-spacing:-.02em;color:var(--ink);margin-top:.9rem;font-size:clamp(2.6rem,7vw,4.5rem);font-weight:800}.hero__title:after{content:"";background:var(--coral);border:var(--border-width) solid var(--ink);border-radius:999px;width:5.5rem;height:.5rem;margin-top:.6rem;display:block}.hero__intro{max-width:38rem;margin-top:1.1rem;font-size:1.05rem}.layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:2rem;display:grid}.layout__inputs{flex-direction:column;gap:1.5rem;display:flex}.rent-card{background:var(--coral-soft);border:var(--border-width) solid var(--ink);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:1.4rem 1.5rem;transform:rotate(-.4deg)}.rent-card__label{font-size:1.15rem;font-weight:800;display:block}.rent-card__field{align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.rent-card__symbol{color:var(--coral-deep);font-size:2rem;font-weight:800}.rent-card__input{border:var(--border-width) solid var(--ink);border-radius:var(--radius-control);background:#fff;width:100%;max-width:14rem;padding:.55rem .85rem;font-size:1.7rem;font-weight:800}.rent-card__hint{color:var(--teal-deep);margin-top:.6rem;font-size:.85rem}.rooms{flex-direction:column;gap:1.1rem;display:flex}.rooms__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.rooms__header h2{font-size:1.5rem;font-weight:800}.rooms__header p{color:var(--teal-deep);font-size:.85rem}.room-card{border:var(--border-width) solid var(--ink);border-radius:var(--radius-card);box-shadow:var(--card-shadow);background:#fff;padding:1.1rem 1.25rem 1.25rem;position:relative}.room-card:nth-of-type(2n){transform:rotate(.35deg)}.room-card:nth-of-type(odd){transform:rotate(-.35deg)}.room-card__legend{float:left;background:var(--sun);border:var(--border-width) solid var(--ink);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-bottom:.75rem;padding:.1rem .8rem;font-size:.8rem;font-weight:800}.room-card__grid{clear:both;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:.9rem 1rem;display:grid}.room-card__field label,.room-card__windows legend{margin-bottom:.35rem;font-size:.85rem;font-weight:700;display:block}.room-card__field input[type=text],.room-card__field input[type=number]{background:var(--paper-warm);border:var(--border-width) solid var(--ink);border-radius:var(--radius-control);width:100%;padding:.55rem .75rem;font-size:1.05rem;font-weight:600}.room-card__windows{grid-column:1/-1}.room-card__window-options{flex-wrap:wrap;gap:.5rem;display:flex}.window-chip{border:var(--border-width) solid var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;min-height:44px;padding:.4rem .9rem;font-size:.9rem;font-weight:700;display:inline-flex}.window-chip--active{background:var(--teal);color:#fff;box-shadow:var(--card-shadow-small)}.window-chip input{clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;position:absolute}.window-chip:has(input:focus-visible){outline:3px solid var(--teal);outline-offset:2px}.room-card__field--ensuite{grid-column:1/-1}.ensuite-toggle{cursor:pointer;align-items:center;gap:.6rem;min-height:44px;font-weight:700;display:inline-flex}.ensuite-toggle input{width:1.35rem;height:1.35rem;accent-color:var(--coral);border:var(--border-width) solid var(--ink)}.room-card__remove{border:var(--border-width) solid var(--ink);color:var(--coral-deep);background:#fff;border-radius:999px;padding:.25rem .8rem;font-size:.8rem;font-weight:700;position:absolute;top:.9rem;right:1rem}.room-card__remove:hover{background:var(--coral-soft)}.rooms__add{background:var(--coral);color:#fff;border:var(--border-width) solid var(--ink);box-shadow:var(--card-shadow-small);border-radius:999px;align-self:flex-start;min-height:48px;padding:.7rem 1.4rem;font-size:1rem;font-weight:800}.rooms__add:hover:not(:disabled){background:var(--coral-deep)}.rooms__add:active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.rooms__add:disabled{color:var(--ink);cursor:not-allowed;box-shadow:none;background:#d8d3c8}.receipt{border:var(--border-width) solid var(--ink);border-radius:var(--radius-card);box-shadow:var(--card-shadow);background:#fff;padding:1.5rem 1.5rem 1.4rem;position:sticky;top:1.5rem}.receipt__header h2{font-size:1.6rem;font-weight:800}.receipt__header p{color:var(--teal-deep);margin-top:.2rem;font-size:.85rem}.receipt__empty{background:var(--paper-warm);border:2px dashed var(--ink);border-radius:var(--radius-control);margin-top:1.2rem;padding:1.2rem;font-weight:600}.receipt__rooms{flex-direction:column;gap:1.2rem;margin-top:1.2rem;display:flex}.receipt__room{border-top:2px dashed var(--ink);padding-top:1rem}.receipt__room-name{justify-content:space-between;align-items:baseline;gap:1rem;font-size:1.1rem;font-weight:800;display:flex}.receipt__room-final{color:var(--coral-deep);white-space:nowrap;font-size:1.25rem}.receipt__lines{flex-direction:column;gap:.3rem;margin-top:.6rem;display:flex}.receipt__line{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.92rem;display:flex}.receipt__line dt{font-weight:600}.receipt__line dt small{color:var(--teal-deep);font-size:.78rem;font-weight:500;display:block}.receipt__line dd{white-space:nowrap;font-weight:700}.receipt__line--final{border-top:2px solid var(--ink);margin-top:.35rem;padding-top:.45rem;font-size:1rem}.receipt__line--final dd{color:var(--teal-deep);font-weight:800}.receipt__total{background:var(--teal);color:#fff;border:var(--border-width) solid var(--ink);border-radius:var(--radius-control);margin-top:1.3rem;padding:.9rem 1.1rem}.receipt__total-row{justify-content:space-between;font-size:1.25rem;font-weight:800;display:flex}.receipt__total-check{margin-top:.15rem;font-size:.85rem;font-weight:600}.receipt__note{color:var(--teal-soft);margin-top:.7rem;font-size:.78rem;line-height:1.5}.share-bar{background:var(--sun);border:var(--border-width) solid var(--ink);border-radius:var(--radius-card);box-shadow:var(--card-shadow);flex-wrap:wrap;align-items:center;gap:1.4rem;padding:1.3rem 1.6rem;display:flex}.share-bar__doodle{width:52px;height:52px;color:var(--ink);flex-shrink:0;transform:rotate(-8deg)}.share-bar__text{flex:16rem}.share-bar__text h2{font-size:1.3rem;font-weight:800}.share-bar__text p{margin-top:.25rem;font-size:.92rem}.share-bar__button{background:var(--ink);color:#fff;border:var(--border-width) solid var(--ink);border-radius:999px;min-height:48px;padding:.8rem 1.6rem;font-size:1rem;font-weight:800;box-shadow:3px 3px #1e2a2b59}.share-bar__button:hover{background:var(--teal-deep)}.share-bar__button:active{box-shadow:none;transform:translate(2px,2px)}.faq h2{font-size:1.6rem;font-weight:800}.faq__items{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.1rem;display:grid}.faq__item{border:var(--border-width) solid var(--ink);border-radius:var(--radius-card);box-shadow:var(--card-shadow-small);background:#fff;padding:1.2rem 1.3rem}.faq__item h3{font-size:1.05rem;font-weight:800}.faq__item p{margin-top:.5rem;font-size:.9rem}.footer{text-align:center;color:var(--teal-deep);padding:1rem 0 1.5rem;font-size:.9rem;font-weight:600}@media (width<=960px){.layout{grid-template-columns:1fr}.receipt{position:static}.faq__items{grid-template-columns:1fr}}@media (width<=640px){.hero__doodles{margin-bottom:.8rem;position:static}.hero__doodle{width:48px;height:48px}.room-card__grid{grid-template-columns:1fr}.room-card__remove{float:right;margin-bottom:.5rem;position:static}.share-bar{flex-direction:column;align-items:flex-start}.share-bar__button{width:100%}}@media (width<=360px){.page{gap:1.8rem}.rent-card,.room-card,.receipt,.share-bar,.faq__item{padding-left:.9rem;padding-right:.9rem}.rent-card__input{max-width:100%;font-size:1.4rem}.receipt__room-final{font-size:1.05rem}.receipt__line{font-size:.85rem}.window-chip{padding:.4rem .7rem;font-size:.82rem}}
