
:root{--cc-navy:#082b55;--cc-navy2:#051f3e;--cc-gold:#d2a02e;--cc-bg:#f3f6f9;--cc-paper:#fff;--cc-ink:#17212c;--cc-muted:#647480;--cc-line:#d8e1e8;--cc-green:#176642;--cc-red:#9b3030;--cc-shadow:0 18px 50px rgba(8,43,85,.09);--cc-font:"Arial Nova","Avenir Next","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cc-bg);color:var(--cc-ink);font-family:var(--cc-font);line-height:1.5;-webkit-font-smoothing:antialiased}.cc-site{width:min(calc(100% - 36px),1120px);margin-inline:auto}.cc-hero{padding:48px 0 32px;background:linear-gradient(118deg,#f8f2e8 0%,#fff 56%,#eef4f8 100%)}.cc-eyebrow{margin:0 0 9px;color:#9b6d0d;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900}.cc-hero h1{margin:0;color:var(--cc-navy);font-size:clamp(2.35rem,6vw,5.1rem);line-height:.95;letter-spacing:-.052em}.cc-lead{max-width:850px;margin:17px 0 0;color:#53626e;font-size:1.03rem}.cc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.cc-chip{padding:7px 10px;border:1px solid #d9e2e8;border-radius:999px;background:rgba(255,255,255,.88);color:#53616d;font-size:.76rem;font-weight:850}.cc-main{padding:30px 0 64px}.cc-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:22px;align-items:start}.cc-card{border:1px solid var(--cc-line);border-radius:22px;background:#fff;box-shadow:var(--cc-shadow)}.cc-card-pad{padding:24px}.cc-card h2,.cc-card h3{margin:0;color:var(--cc-navy);line-height:1.08}.cc-card h2{font-size:1.62rem}.cc-card h3{font-size:1.12rem}.cc-sub{margin:7px 0 0;color:var(--cc-muted);font-size:.91rem}.cc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.cc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-field{display:block;min-width:0}.cc-field.full{grid-column:1/-1}.cc-label{display:block;margin:0 0 7px;color:#455461;font-size:.78rem;font-weight:900}.cc-input{display:flex;align-items:stretch;border:1px solid #cfdbe4;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.cc-input:focus-within{border-color:#7696ae;box-shadow:0 0 0 3px rgba(8,43,85,.08)}.cc-input input,.cc-input select{width:100%;min-width:0;height:50px;padding:10px 12px;border:0;outline:0;background:transparent;color:var(--cc-ink);font:inherit;font-size:.98rem;font-weight:800}.cc-input select{appearance:auto}.cc-unit{display:grid;place-items:center;min-width:46px;padding:0 10px;border-left:1px solid #dde5eb;background:#f5f8fa;color:#60707d;font-size:.75rem;font-weight:900}.cc-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.cc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:9px 15px;border:1px solid #cfd9e1;border-radius:12px;background:#fff;color:var(--cc-navy);font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.cc-btn.primary{background:var(--cc-navy);border-color:var(--cc-navy);color:#fff}.cc-btn.gold{background:#fff8e7;border-color:#e8ce8a;color:#78560d}.cc-btn.ghost{background:#f5f8fa}.cc-btn.danger{color:var(--cc-red)}.cc-preset-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.cc-preset{min-height:38px;padding:7px 11px;border:1px solid #d3dde5;border-radius:10px;background:#f8fafb;color:var(--cc-navy);font:inherit;font-weight:900;cursor:pointer}.cc-result{position:sticky;top:110px;padding:24px;background:var(--cc-navy);color:#fff}.cc-result h2,.cc-result h3{color:#fff}.cc-big{margin-top:16px;color:#f3c65a;font-size:clamp(2.9rem,7vw,5rem);line-height:.9;font-weight:950;letter-spacing:-.055em}.cc-big small{font-size:.23em;letter-spacing:.02em;color:#dce8ef}.cc-result-line{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.88rem}.cc-result-line span{color:#c9d8e3}.cc-result-line strong{text-align:right}.cc-note-dark{margin-top:16px;padding:13px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(255,255,255,.07);color:#dce7ef;font-size:.81rem}.cc-section{margin-top:22px;padding:24px}.cc-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.cc-section-head .cc-actions{margin:0}.cc-empty{margin-top:17px;padding:22px;border:1px dashed #cad6df;border-radius:14px;background:#f8fafb;color:#687783;text-align:center}.cc-table-wrap{margin-top:17px;overflow-x:auto}.cc-table{width:100%;border-collapse:collapse;font-size:.86rem}.cc-table th,.cc-table td{padding:10px 8px;border-bottom:1px solid #e1e7ec;text-align:left;white-space:nowrap}.cc-table th{color:#647480;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.cc-remove{border:0;background:transparent;color:var(--cc-red);font:inherit;font-weight:900;cursor:pointer}.cc-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:17px}.cc-total{padding:14px;border-radius:14px;background:#f0f4f7}.cc-total span{display:block;color:#697985;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.cc-total strong{display:block;margin-top:4px;color:var(--cc-navy);font-size:1.23rem}.cc-callout{margin-top:18px;padding:17px;border-left:4px solid var(--cc-gold);border-radius:12px;background:#fff8e7;color:#5e4b1a;font-size:.87rem}.cc-info{padding:50px 0;background:#fff}.cc-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.cc-info-card{padding:21px;border:1px solid var(--cc-line);border-radius:18px;background:#fbfcfd}.cc-info-card h2,.cc-info-card h3{margin:0;color:var(--cc-navy);font-size:1.13rem}.cc-info-card p{margin:9px 0 0;color:var(--cc-muted);font-size:.89rem}.cc-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);z-index:120;padding:10px 14px;border-radius:999px;background:var(--cc-navy2);color:#fff;font-size:.83rem;font-weight:850;opacity:0;pointer-events:none;transition:.2s}.cc-toast.show{opacity:1;transform:translate(-50%,0)}
/* Fraction calculator */.cc-op-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.cc-op{min-height:48px;border:1px solid #ccd8e0;border-radius:12px;background:#f6f9fb;color:var(--cc-navy);font-size:1.35rem;font-weight:950;cursor:pointer}.cc-op.active{background:var(--cc-navy);border-color:var(--cc-navy);color:#fff}.cc-example-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.cc-example{border:1px solid #d9e2e8;border-radius:999px;background:#fff;color:#53616d;padding:7px 10px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}
/* Repeating entry rows */.cc-entry-list{display:grid;gap:10px;margin-top:17px}.cc-entry{display:grid;grid-template-columns:1.25fr repeat(3,minmax(90px,.7fr)) auto;gap:8px;align-items:end;padding:12px;border:1px solid #e0e7ec;border-radius:14px;background:#fbfcfd}.cc-entry .cc-field{margin:0}.cc-entry .cc-input input{height:44px}.cc-entry-remove{width:42px;height:44px;border:1px solid #e1c9c9;border-radius:10px;background:#fff5f5;color:var(--cc-red);font-size:1.25rem;font-weight:900;cursor:pointer}.cc-room{grid-template-columns:1.15fr .8fr .8fr .65fr auto}.cc-part{grid-template-columns:1.2fr 1fr .55fr auto}.cc-sheet-part{grid-template-columns:1.15fr .75fr .75fr .5fr auto}
/* Cut plan */.cc-plan{display:grid;gap:13px;margin-top:18px}.cc-stock-card{padding:15px;border:1px solid #dbe4ea;border-radius:15px;background:#fbfcfd}.cc-stock-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.cc-stock-head strong{color:var(--cc-navy)}.cc-bar{display:flex;align-items:stretch;width:100%;height:54px;margin-top:10px;border:1px solid #cbd7df;border-radius:10px;overflow:hidden;background:#eef3f6}.cc-segment{display:grid;place-items:center;min-width:1px;padding:2px;border-right:1px solid #fff;background:#dce9f2;color:#153b5c;font-size:.66rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-segment:nth-child(even){background:#f1e4bd}.cc-offcut{display:grid;place-items:center;background:#f2f4f5;color:#77848d;font-size:.65rem;font-weight:850}.cc-cuts{margin:9px 0 0;color:#596975;font-size:.82rem}
/* Sheet diagrams */.cc-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px}.cc-sheet-card{padding:15px;border:1px solid #dbe4ea;border-radius:15px;background:#fbfcfd}.cc-sheet-svg{display:block;width:100%;height:auto;margin-top:10px;border:1px solid #c7d4dd;background:#fff}.cc-sheet-svg text{font-family:Arial,sans-serif;font-weight:700}.cc-check{display:flex;align-items:flex-start;gap:9px;margin-top:17px;padding:12px;border:1px solid #dbe4ea;border-radius:12px;background:#f8fafb;color:#4f5f6b;font-size:.87rem;font-weight:750}.cc-check input{width:18px;height:18px;margin-top:1px}.cc-warning{margin-top:14px;padding:12px 14px;border:1px solid #e2c3c3;border-radius:12px;background:#fff5f5;color:#8a2b2b;font-size:.85rem;font-weight:800}.cc-hidden{display:none!important}
@media(max-width:900px){.cc-layout{grid-template-columns:1fr}.cc-result{position:static}.cc-info-grid{grid-template-columns:1fr}.cc-totals{grid-template-columns:1fr 1fr}.cc-sheet-grid{grid-template-columns:1fr}}
@media(max-width:760px){.cc-site{width:min(calc(100% - 22px),1120px)}.cc-hero{padding:36px 0 26px}.cc-main{padding-top:20px}.cc-card-pad,.cc-result,.cc-section{padding:18px}.cc-grid,.cc-grid.three{grid-template-columns:1fr}.cc-field.full{grid-column:auto}.cc-section-head{display:block}.cc-section-head .cc-actions{margin-top:12px}.cc-entry,.cc-room,.cc-part,.cc-sheet-part{grid-template-columns:1fr 1fr}.cc-entry .cc-field:first-child{grid-column:1/-1}.cc-entry-remove{grid-column:2;justify-self:end}.cc-totals{grid-template-columns:1fr 1fr}.cc-btn{flex:1}.cc-op-row{gap:6px}}
@media(max-width:460px){.cc-totals{grid-template-columns:1fr}.cc-entry,.cc-room,.cc-part,.cc-sheet-part{grid-template-columns:1fr}.cc-entry .cc-field:first-child{grid-column:auto}.cc-entry-remove{grid-column:1;justify-self:stretch;width:100%}.cc-big{font-size:3.25rem}}
