.grout-module{--paper:#f4f2ed;--surface:#fbfaf7;--ink:#1d211d;--muted:#6f746c;--line:#deddd5;--olive:#536a57;--olive-dark:#283a2e;--olive-light:#e2eae0;--danger:#9d665d}.grout-module *{box-sizing:border-box}.grout-module{background:var(--paper);color:var(--ink);font-family:var(--font-interface);margin:0;font-size:15px}.grout-module button,.grout-module input{font:inherit}.grout-module button,.grout-module label{-webkit-tap-highlight-color:transparent}.grout-module button{cursor:pointer}.grout-module a{color:inherit;text-decoration:none}.grout-module .grout-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#f3f1ebeb;border-bottom:1px solid #39413424;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,4vw,64px);display:flex;position:sticky;top:0}.grout-module .grout-brand{align-items:center;gap:12px;display:flex}.grout-module .grout-brand-mark{border:1px solid var(--olive-dark);letter-spacing:.06em;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:12px;display:grid}.grout-module .grout-brand>span:last-child{gap:1px;display:grid}.grout-module .grout-brand b{letter-spacing:.02em;font-size:15px}.grout-module .grout-brand small{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:11px}.grout-module .grout-top-actions{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.grout-module .grout-privacy-dot{background:#83936f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #dfe4d6}.grout-module .grout-ghost-button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:10px;margin-left:12px;padding:8px 13px}.grout-module .grout-ghost-button:hover{background:var(--surface)}.grout-module .grout-page-shell{width:min(1380px,100% - 40px);margin:0 auto;padding:56px 0 72px}.grout-module .grout-intro{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;display:flex}.grout-module .grout-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--olive);margin:0 0 12px;font-size:11px;font-weight:700}.grout-module h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1}.grout-module .grout-lead{max-width:680px;color:var(--muted);margin:17px 0 0;font-size:17px;line-height:1.55}.grout-module .grout-status-pill{border:1px solid var(--line);color:var(--muted);background:#ffffff5c;border-radius:999px;flex:none;padding:9px 14px;font-size:12px}.grout-module .grout-workspace{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:24px;display:grid}.grout-module .grout-form-column{gap:18px;display:grid}.grout-module .grout-panel,.grout-module .grout-result-card,.grout-module .grout-formula-card,.grout-module .grout-area-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 36px #272b230b}.grout-module .grout-panel{padding:26px}.grout-module .grout-panel-heading{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.grout-module .grout-panel-heading>div{align-items:center;gap:11px;display:flex}.grout-module .grout-panel-heading h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:650}.grout-module .grout-step{background:var(--olive-light);width:30px;height:30px;color:var(--olive-dark);border-radius:8px;place-items:center;font-size:11px;font-weight:700;display:grid}.grout-module .grout-panel-summary{color:var(--olive-dark);background:#eff0e8;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:650}.grout-module .grout-beta{color:var(--olive);border:1px solid #cfd3c1;border-radius:999px;padding:2px 6px;font-size:12px}.grout-module .grout-surface-head,.grout-module .grout-surface-row{grid-template-columns:1.35fr repeat(2,.9fr) .55fr .8fr 34px;align-items:center;gap:9px;display:grid}.grout-module .grout-surface-head{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:0 3px 8px;font-size:10px}.grout-module .grout-surface-list{gap:9px;display:grid}.grout-module .grout-surface-row label>span{display:none}.grout-module input{width:100%;min-width:0;color:var(--ink);background:#fbfaf6;border:1px solid #d7d7cf;border-radius:9px;outline:none;padding:11px 12px}.grout-module input:focus{border-color:var(--olive);background:#fff;box-shadow:0 0 0 3px #78806421}.grout-module input[type=number]{font-variant-numeric:tabular-nums}.grout-module .grout-remove-button{color:#9b9b92;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:22px;line-height:1}.grout-module .grout-remove-button:hover{color:var(--danger);background:#f4e8e5}.grout-module .grout-add-button{color:var(--olive-dark);background:0 0;border:0;margin-top:14px;padding:5px 2px;font-weight:650}.grout-module .grout-add-button span{margin-right:5px}.grout-module .grout-hint{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.5}.grout-module .grout-field-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.grout-module .grout-field-grid.grout-three{grid-template-columns:repeat(3,1fr)}.grout-module .grout-number-field>span{color:var(--muted);margin:0 0 8px 2px;font-size:12px;display:block}.grout-module .grout-number-field>div{background:#fbfaf6;border:1px solid #d7d7cf;border-radius:10px;align-items:center;display:flex;overflow:hidden}.grout-module .grout-number-field>div:focus-within{border-color:var(--olive);background:#fff;box-shadow:0 0 0 3px #78806421}.grout-module .grout-number-field input{background:0 0;border:0;border-radius:0;padding-right:3px;box-shadow:none!important}.grout-module .grout-number-field b{color:var(--muted);flex:none;padding:0 10px;font-size:11px;font-weight:500}.grout-module .grout-subheading{color:var(--muted);margin:23px 0 10px;font-size:12px;font-weight:650}.grout-module .grout-layout-options{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.grout-module .grout-layout-button{border:1px solid var(--line);min-height:48px;color:var(--muted);background:#fbfaf6;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.grout-module .grout-layout-button.grout-active{border-color:var(--olive);color:var(--olive-dark);box-shadow:inset 0 0 0 1px var(--olive);background:#f1f2e9}.grout-module .grout-layout-icon{transform-origin:50%;grid-template-columns:1fr 1fr;gap:2px;width:29px;height:24px;display:grid;overflow:hidden}.grout-module .grout-layout-icon i{border:1px solid;border-radius:1px}.grout-module .grout-layout-icon.grout-offset i:nth-child(n+3){transform:translate(-6px)}.grout-module .grout-layout-icon.grout-diagonal{transform:rotate(45deg)scale(.72)}.grout-module .grout-layout-icon.grout-herringbone{grid-template-columns:2fr 1fr;transform:rotate(45deg)}.grout-module .grout-pattern-preview{border:1px solid var(--line);background:#f7f5ef;border-radius:12px;align-items:center;gap:14px;margin-top:16px;padding:13px;display:flex;overflow:hidden}.grout-module .grout-pattern-preview>div:last-child{gap:3px;display:grid}.grout-module .grout-pattern-preview span{color:var(--muted);font-size:11px}.grout-module .grout-pattern-preview b{font-size:12px;font-weight:600}.grout-module .grout-tile-pattern{grid-template-columns:repeat(6,calc(17px * var(--tile-ratio)));gap:var(--joint);background:#bdb9ae;flex:none;grid-auto-rows:21px;width:150px;height:72px;padding:4px;display:grid;overflow:hidden}.grout-module .grout-tile-pattern i{background:#e7ded0;border:1px solid #d4c6b3;min-width:14px}.grout-module .grout-tile-pattern.grout-offset i:nth-child(6n+4),.grout-module .grout-tile-pattern.grout-offset i:nth-child(6n+5),.grout-module .grout-tile-pattern.grout-offset i:nth-child(6n+6){transform:translate(-13px)}.grout-module .grout-tile-pattern.grout-diagonal{grid-template-columns:repeat(7,24px);transform:rotate(-2deg)}.grout-module .grout-tile-pattern.grout-herringbone{display:block;position:relative}.grout-module .grout-tile-pattern.grout-herringbone i{width:34px;height:15px;margin:4px 1px;display:inline-block;position:relative;transform:rotate(45deg)}.grout-module .grout-tile-pattern.grout-herringbone i:nth-child(2n){margin-left:-8px;transform:rotate(-45deg)}.grout-module .grout-info-hint{padding-left:20px;position:relative}.grout-module .grout-info-hint:before{content:"i";width:14px;height:14px;color:var(--olive);border:1px solid #aeb39e;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.grout-module .grout-upload-box{cursor:pointer;text-align:center;background:#f8f7f2;border:1px dashed #bfc2b3;border-radius:13px;align-content:center;place-items:center;gap:5px;min-height:155px;padding:22px;display:grid}.grout-module .grout-upload-box:hover{border-color:var(--olive);background:#f3f3e9}.grout-module .grout-upload-box input,.grout-module .grout-replace-file input{display:none}.grout-module .grout-upload-icon{background:var(--olive-dark);color:#fff;border-radius:50%;place-items:center;width:33px;height:33px;margin-bottom:4px;font-size:18px;display:grid}.grout-module .grout-upload-box b{font-size:14px}.grout-module .grout-upload-box small{color:var(--muted);font-size:11px}.grout-module .grout-pdf-loaded{border:1px solid var(--line);border-radius:12px;overflow:hidden}.grout-module .grout-pdf-filebar{background:#f8f7f2;justify-content:space-between;align-items:center;min-height:54px;padding:9px 12px;display:flex}.grout-module .grout-pdf-filebar>div{align-items:center;gap:9px;min-width:0;display:flex}.grout-module .grout-pdf-filebar span{color:#fff;background:#9f6f64;border-radius:5px;padding:5px;font-size:9px;font-weight:700}.grout-module .grout-pdf-filebar b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.grout-module .grout-replace-file{color:var(--olive-dark);cursor:pointer;font-size:12px;font-weight:650}.grout-module .grout-pdf-preview{border:0;width:100%;height:430px;display:block}.grout-module .grout-coming-soon{background:#eeeade;border-radius:10px;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;display:flex}.grout-module .grout-coming-soon span{text-transform:uppercase;letter-spacing:.08em;color:#7e684d;flex:none;font-size:9px;font-weight:700}.grout-module .grout-coming-soon p{color:#655f56;margin:0;font-size:11px;line-height:1.45}.grout-module .grout-results-column{gap:16px;display:grid;position:sticky;top:96px}.grout-module .grout-result-card{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark);padding:25px;box-shadow:0 18px 45px #2d35282e}.grout-module .grout-result-kicker{color:#c8cebf;text-transform:uppercase;letter-spacing:.14em;margin:0 0 23px;font-size:10px}.grout-module .grout-main-result{grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px;display:grid}.grout-module .grout-main-result span{color:#c8cebf;grid-column:1/-1;margin-bottom:-1px;font-size:12px}.grout-module .grout-main-result strong{font-family:Georgia,serif;font-size:76px;font-weight:400;line-height:1}.grout-module .grout-main-result b{align-self:end;padding-bottom:10px;font-size:14px;font-weight:500}.grout-module .grout-weight-result{border-bottom:1px solid #ffffff2b;justify-content:space-between;align-items:baseline;padding:14px 0 22px;display:flex}.grout-module .grout-weight-result span{font-size:20px}.grout-module .grout-weight-result small{color:#bfc5b7}.grout-module .grout-result-breakdown{margin:17px 0 20px;display:grid}.grout-module .grout-result-breakdown div{justify-content:space-between;padding:8px 0;display:flex}.grout-module .grout-result-breakdown dt{color:#c9cec1}.grout-module .grout-result-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.grout-module .grout-result-breakdown .grout-muted-row{border-top:1px solid #ffffff1f;margin-top:5px;padding-top:12px}.grout-module .grout-primary-button{width:100%;min-height:48px;color:var(--olive-dark);background:#f1ecdf;border:0;border-radius:11px;font-weight:700}.grout-module .grout-primary-button:hover{background:#fff}.grout-module .grout-local-note{color:#acb4a5;text-align:center;margin:10px 15px 0;font-size:10px;line-height:1.4}.grout-module .grout-formula-card,.grout-module .grout-area-card{padding:20px}.grout-module .grout-formula-heading{align-items:center;gap:9px;display:flex}.grout-module .grout-formula-heading span{background:var(--olive-light);width:21px;height:21px;color:var(--olive);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.grout-module .grout-formula-heading h3{margin:0;font-size:14px}.grout-module .grout-formula-card p{color:var(--muted);font-size:11px;line-height:1.5}.grout-module .grout-formula-card code{text-align:center;color:var(--olive-dark);background:#f1efe8;border-radius:8px;padding:11px;font-size:11px;display:block}.grout-module .grout-formula-card ul{color:var(--muted);grid-template-columns:1fr 1fr;gap:5px 12px;margin:12px 0 0;padding:0;font-size:10px;list-style:none;display:grid}.grout-module .grout-formula-card li b{color:var(--ink)}.grout-module .grout-area-card>span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:9px}.grout-module .grout-area-card dl{margin:11px 0 0}.grout-module .grout-area-card dl div{justify-content:space-between;padding:6px 0;display:flex}.grout-module .grout-area-card dt{color:var(--muted)}.grout-module .grout-area-card dd{margin:0;font-weight:600}.grout-module .grout-area-card dl div:last-child{border-top:1px solid var(--line);margin-top:5px;padding-top:11px}.grout-module footer{min-height:75px;color:var(--muted);border-top:1px solid #39413424;justify-content:space-between;align-items:center;gap:25px;padding:18px max(20px,50vw - 690px);font-size:11px;display:flex}.grout-module footer a:hover{color:var(--ink)}@media (width<=1050px){.grout-module .grout-workspace{grid-template-columns:1fr 330px}.grout-module .grout-field-grid,.grout-module .grout-layout-options{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.grout-module .grout-topbar{height:66px;padding-inline:18px}.grout-module .grout-top-actions{font-size:0}.grout-module .grout-privacy-dot{display:none}.grout-module .grout-ghost-button{margin-left:0;font-size:12px}.grout-module .grout-page-shell{width:min(100% - 24px,720px);padding-top:35px}.grout-module .grout-intro{align-items:flex-start}.grout-module .grout-status-pill{display:none}.grout-module .grout-workspace{grid-template-columns:1fr}.grout-module .grout-results-column{grid-row:1;position:static}.grout-module .grout-formula-card,.grout-module .grout-area-card{display:none}.grout-module .grout-result-card{padding:22px}.grout-module .grout-main-result strong{font-size:62px}}@media (width<=620px){.grout-module .grout-brand small{display:none}.grout-module .grout-page-shell{width:calc(100% - 20px);padding-bottom:45px}.grout-module h1{font-size:39px}.grout-module .grout-lead{font-size:15px}.grout-module .grout-panel{padding:19px 15px}.grout-module .grout-surface-head{display:none}.grout-module .grout-surface-row{border:1px solid var(--line);background:#faf9f4;border-radius:12px;grid-template-columns:1fr 1fr 32px;padding:12px}.grout-module .grout-surface-row label:first-child{grid-column:1/3}.grout-module .grout-surface-row label:nth-child(4),.grout-module .grout-surface-row label:nth-child(5){grid-column:auto}.grout-module .grout-surface-row label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px 2px;font-size:9px;display:block}.grout-module .grout-surface-row .grout-remove-button{grid-area:1/3}.grout-module .grout-field-grid,.grout-module .grout-field-grid.grout-three{grid-template-columns:1fr 1fr}.grout-module .grout-field-grid.grout-three .grout-number-field:last-child{grid-column:1/-1}.grout-module .grout-layout-options{grid-template-columns:1fr 1fr}.grout-module .grout-pattern-preview{align-items:flex-start}.grout-module .grout-tile-pattern{width:105px}.grout-module .grout-pdf-preview{height:360px}.grout-module footer{flex-direction:column;align-items:flex-start;gap:6px;padding:20px}}@media (width<=390px){.grout-module .grout-field-grid,.grout-module .grout-field-grid.grout-three{grid-template-columns:1fr}.grout-module .grout-field-grid.grout-three .grout-number-field:last-child{grid-column:auto}.grout-module .grout-layout-options{grid-template-columns:1fr}}.grout-module .grout-select-field select{width:100%;min-height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none;padding:0 34px 0 12px}.grout-module .grout-bucket-field>span{color:var(--muted);margin:0 0 8px 2px;font-size:12px;display:block}.grout-module .grout-bucket-field>div{background:#fbfaf6;border:1px solid #d7d7cf;border-radius:10px;align-items:center;gap:5px;min-height:44px;padding:5px;display:flex}.grout-module .grout-bucket-field b{text-align:center;color:var(--olive-dark);white-space:nowrap;background:#eceee4;border-radius:6px;flex:1;padding:7px 3px;font-size:11px;font-weight:650}.grout-module .grout-surface-mode{border:1px solid var(--line);background:#f1efe8;border-radius:13px;grid-template-columns:1fr 1fr;gap:8px;margin:-5px 0 22px;padding:5px;display:grid}.grout-module .grout-surface-mode button{min-height:55px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px 14px;display:flex}.grout-module .grout-surface-mode button span{color:var(--ink);font-weight:700}.grout-module .grout-surface-mode button small{font-size:10px}.grout-module .grout-surface-mode button.grout-active{background:var(--surface);color:var(--olive);border-color:#d8d8cf;box-shadow:0 4px 13px #272b2312}.grout-module .grout-surface-mode button.grout-active span{color:var(--olive-dark)}.grout-module .grout-surface-head.grout-floor,.grout-module .grout-surface-row.grout-floor{grid-template-columns:1.5fr 1fr 1fr .7fr 34px}@media (width<=620px){.grout-module .grout-surface-mode{margin-bottom:17px}.grout-module .grout-surface-mode button{padding:8px 10px}.grout-module .grout-surface-row.grout-floor{grid-template-columns:1fr 1fr 32px}.grout-module .grout-surface-row.grout-floor label:first-child{grid-column:1/3}.grout-module .grout-surface-row.grout-floor .grout-remove-button{grid-area:1/3}}.grout-module .grout-floor-room-list{gap:12px;display:grid}.grout-module .grout-floor-room{border:1px solid var(--line);background:#faf9f4;border-radius:13px;padding:14px}.grout-module .grout-floor-room-top{grid-template-columns:1.45fr 1fr .55fr 34px;align-items:end;gap:9px;display:grid}.grout-module .grout-floor-room-top label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px 2px;font-size:10px;display:block}.grout-module .grout-floor-room-top .grout-remove-button{margin-bottom:5px}.grout-module .grout-wall-lengths{border-top:1px solid var(--line);margin-top:13px;padding-top:13px}.grout-module .grout-wall-lengths-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.grout-module .grout-wall-lengths-title span{color:var(--muted);font-size:11px}.grout-module .grout-wall-lengths-title b{color:var(--olive-dark);font-size:11px}.grout-module .grout-wall-length-list{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;display:grid}.grout-module .grout-wall-length-list label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 5px 2px;font-size:9px;display:block}.grout-module .grout-wall-length-list label>div{background:#fff;border:1px solid #d7d7cf;border-radius:9px;align-items:center;display:flex;overflow:hidden}.grout-module .grout-wall-length-list input{background:0 0;border:0;border-radius:0;padding:9px 4px 9px 10px;box-shadow:none!important}.grout-module .grout-wall-length-list label b{color:var(--muted);font-size:10px;font-weight:500}.grout-module .grout-wall-length-list label button{color:#a09f97;background:0 0;border:0;align-self:stretch;width:27px;font-size:17px}.grout-module .grout-wall-length-list label button:hover{color:var(--danger);background:#f4e8e5}.grout-module .grout-add-wall-button{color:var(--olive-dark);background:0 0;border:0;margin-top:10px;padding:3px 0;font-size:11px;font-weight:650}@media (width<=620px){.grout-module .grout-floor-room{padding:12px}.grout-module .grout-floor-room-top{grid-template-columns:1fr 1fr 32px}.grout-module .grout-floor-room-top label:first-child{grid-column:1/3}.grout-module .grout-floor-room-top .grout-remove-button{grid-area:1/3}.grout-module .grout-wall-length-list{grid-template-columns:1fr 1fr}}@media (width<=390px){.grout-module .grout-wall-length-list{grid-template-columns:1fr}}.grout-module{min-height:100vh}.grout-module .grout-intro-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.grout-module .grout-data-note{color:var(--muted);margin:0;font-size:12px}.grout-module .grout-ghost-button{border-radius:6px;margin-left:0}.grout-module .grout-page-shell{padding-top:40px}.grout-module .grout-panel,.grout-module .grout-result-card,.grout-module .grout-formula-card,.grout-module .grout-area-card{box-shadow:none;border-radius:12px}.grout-module footer{background:var(--paper)}.grout-module footer a{color:inherit}.grout-module button:focus-visible{outline:2px solid var(--olive);outline-offset:3px}.grout-module .grout-storage-notice{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}@media (width<=820px){.grout-module .grout-intro{flex-direction:column;gap:18px}.grout-module .grout-intro-actions{flex-flow:wrap;align-items:center;gap:12px}.grout-module .grout-result-breakdown div{gap:14px}.grout-module .grout-result-breakdown dd{text-align:right}.grout-module .grout-weight-result{flex-wrap:wrap;gap:8px}.grout-module .grout-results-column{grid-row:auto}.grout-module .grout-formula-card{display:block}}@media (prefers-reduced-motion:reduce){.grout-module *{scroll-behavior:auto}}@media (width<=620px){.grout-module .grout-surface-row{grid-template-columns:repeat(2,minmax(0,1fr))}.grout-module .grout-surface-row label:first-child{grid-area:1/1/auto/-1;padding-right:40px}.grout-module .grout-surface-row .grout-remove-button{grid-area:1/2;justify-self:end;width:32px}}.grout-module .grout-calculation-errors h2{margin:12px 0;font-size:20px}.grout-module .grout-calculation-errors ul{padding-left:20px;line-height:1.5}.grout-module .grout-calculation-errors li+li{margin-top:8px}.grout-module .grout-primary-button:disabled{cursor:not-allowed;opacity:.6}
