:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#152428;--muted:#647278;--line:#d8e1e2;--base:#f4f7f6;--panel:#fff;--accent:#0d676d;--accent-strong:#084e53;--accent-soft:#def0ef;--warning:#a34816;--danger:#9b2f32;--shadow:0 20px 55px #12313414;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% -5%, #1c858a26, transparent 29rem), linear-gradient(180deg, #edf5f3 0, var(--base) 22rem);min-width:320px;color:var(--ink);margin:0;font-family:Inter,Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #0d676d3d}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fafcfbe6;border-bottom:1px solid #d8e1e2e6;position:sticky;top:0}.header-inner,.page-shell,.site-footer{width:min(1440px,100% - 40px);margin-inline:auto}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:70px;display:flex}.brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;letter-spacing:-.03em;border-radius:12px 12px 4px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:grid;box-shadow:0 8px 20px #0d676d38}.brand strong{letter-spacing:-.03em;font-size:20px;line-height:1;display:block}.brand small{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:900;display:inline-block}.header-actions,.button-group,.parts-actions,.dialog-actions{align-items:center;gap:9px;display:flex}.status-pill{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.status-pill:before{content:"";background:#2b9b65;border-radius:50%;width:8px;height:8px}.status-pill.offline:before{background:#ca6c31}.tier-pill{min-height:27px;color:var(--muted);background:#f4f6f6;border:1px solid #d5dddf;border-radius:999px;align-items:center;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.tier-pill.registered{background:var(--accent-soft);color:var(--accent-strong);border-color:#a9cfd0}.account-button{min-height:38px;color:var(--accent-strong);background:#fff;border:1px solid #b9d8d7;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex}.account-button.signed-in{background:var(--accent-soft)}.account-button:disabled{cursor:wait;opacity:.55}.compact-select select,.field>select,.field>input,.quantity-field input,.allowance-field input,.measurement-input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:10px}.compact-select select{border-radius:9px;min-height:38px;padding:0 30px 0 10px;font-size:13px;font-weight:750}.page-shell{padding-block:42px 26px}.hero-copy{max-width:890px;margin-bottom:28px}.eyebrow{color:var(--accent);letter-spacing:.13em;margin:0 0 10px;font-size:12px;font-weight:900}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;max-width:820px;margin-bottom:0;font-size:clamp(30px,5vw,56px);line-height:1.08}h2{letter-spacing:-.02em;margin-bottom:0;font-size:19px}.workspace-grid{grid-template-columns:minmax(280px,350px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.panel{border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);border:1px solid #d3dedef2}.settings-panel,.parts-panel,.results-panel,.cut-panel{padding:20px}.settings-panel{position:sticky;top:88px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.panel-heading p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.field{gap:7px;min-width:0;margin-bottom:14px;display:grid}.field>span,.field legend,.grain-field>legend{color:var(--muted);font-size:12px;font-weight:800}.field>select,.field>input,.quantity-field input,.allowance-field input{width:100%;min-width:0;padding:0 11px}.three-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.measurement-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.measurement-input input{background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:42px;padding:0 7px 0 11px}.measurement-input b{color:var(--muted);padding-right:10px;font-size:11px}.margin-preview{background:var(--accent-soft);color:var(--accent-strong);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 18px;padding:12px;display:flex}.margin-preview span{font-size:12px;font-weight:800}.margin-preview strong{font-size:20px}.grain-field{border:0;margin:0 0 18px;padding:0}.segmented{border:1px solid var(--line);background:#f5f8f8;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:8px;padding:4px;display:grid}.segmented button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:7px;font-size:12px;font-weight:850}.segmented button.active{background:var(--accent);color:#fff;box-shadow:0 5px 13px #0d676d2e}.privacy-note{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.privacy-note>span:first-child{color:#2b9b65;margin-right:3px;font-size:8px}.parts-heading{align-items:center}.parts-list{gap:10px;display:grid}.part-row{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;grid-template-columns:34px minmax(115px,1.2fr) minmax(88px,.75fr) minmax(88px,.75fr) 72px minmax(150px,1fr) auto;align-items:end;gap:8px;padding:11px;display:grid}.part-row .field{margin:0}.part-index{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border-radius:9px;align-self:center;place-items:center;font-size:12px;font-weight:900;display:grid}.part-tools{align-items:center;gap:5px;min-height:44px;display:flex}.icon-button,.quiet-button,.secondary-button,.primary-button,.text-button{border-radius:9px;font-weight:850}.icon-button{border:1px solid var(--line);min-width:37px;min-height:37px;color:var(--muted);background:#fff;font-size:0}.icon-button:before{content:"⧉";font-size:16px}.icon-button.danger:before{content:"×"}.icon-button.danger{color:var(--danger)}.quiet-button,.secondary-button,.primary-button{min-height:42px;padding:0 15px}.quiet-button:disabled,.secondary-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.quiet-button{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary-button{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 9px 22px #0d676d33}.primary-button:hover{background:var(--accent-strong)}.text-button{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:8px;text-decoration:underline}.parts-actions{justify-content:space-between;margin-top:18px}.job-panel{margin-bottom:18px;padding:20px}.job-heading{align-items:center}.job-actions{align-items:center;gap:8px;display:flex}.job-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.job-fields .field{margin-bottom:0}.results-panel,.cut-panel{margin-top:18px}.results-heading{align-items:center}.export-actions{align-items:center;gap:9px;display:flex}.job-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px;display:grid}.job-summary>span{border-left:3px solid var(--accent);background:#f7fafa;min-width:0;padding:7px 10px}.job-summary small,.job-summary strong{display:block}.job-summary small{color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:850}.job-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;display:grid}.metrics article,.locked-metric{border:1px solid var(--line);min-height:84px;color:var(--ink);text-align:left;background:#f8fafa;border-radius:11px;padding:12px}.metrics span{color:var(--muted);font-size:11px;font-weight:800;display:block}.metrics strong{letter-spacing:-.03em;margin-top:8px;font-size:clamp(19px,3vw,25px);display:block}.locked-metric{background:#f7fbfa;border-style:dashed}.locked-metric strong{color:var(--accent-strong);letter-spacing:0;font-size:14px}.estimate-area-note{color:var(--muted);margin:8px 2px 0;font-size:10px}.result-message{min-height:24px;color:var(--muted);margin:15px 0 10px;font-size:13px;font-weight:750}.result-message.error{border-left:3px solid var(--warning);color:var(--warning);padding-left:12px}.result-message ul{margin:0;padding-left:18px}.layout-container{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;min-height:360px;position:relative;overflow:auto}.layout-svg{width:100%;min-width:680px;max-height:960px;display:block}.sheet-background{fill:#fff}.layout-grid line{stroke:#e9eeee;stroke-width:1px;vector-effect:non-scaling-stroke}.roll-outline{fill:none;stroke:var(--ink);stroke-width:3px;vector-effect:non-scaling-stroke}.roll-label,.used-label,.piece-name,.piece-size{fill:var(--ink);font-family:inherit}.roll-label{font-size:24px;font-weight:850}.piece-outer{stroke:var(--ink);stroke-width:1.5px;vector-effect:non-scaling-stroke}.piece-input-size{fill:none;stroke:#15242880;stroke-dasharray:6 4;stroke-width:1.2px;vector-effect:non-scaling-stroke}.piece-name{font-size:21px;font-weight:900}.piece-size{font-size:15px;font-weight:750}.used-line{stroke:#a34816;stroke-width:2px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke}.used-label{fill:#a34816;font-size:18px;font-weight:850}.empty-layout{min-height:360px;color:var(--muted);text-align:center;place-items:center;margin:0;padding:30px;display:grid}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px 10px}th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}td{font-size:13px;font-weight:700}.pro-card{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(120deg,#f7ffff,#e8f5f3);border:1px solid #a9cfd0;margin-top:18px}.pro-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:17px 20px;list-style:none;display:flex}.pro-card summary::-webkit-details-marker{display:none}.pro-card summary>span:first-child{align-items:center;gap:10px;display:flex}.pro-card summary b{background:var(--accent);color:#fff;letter-spacing:.08em;border-radius:999px;padding:5px 8px;font-size:10px}.pro-card>div{color:var(--muted);border-top:1px solid #0d676d2e;padding:18px 20px}.pro-card p{margin-bottom:8px}.site-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding-block:10px 38px;font-size:12px;display:flex}dialog{border:0;border-radius:16px;width:min(680px,100% - 28px);padding:0;box-shadow:0 28px 90px #00000040}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a191c8c}.dialog-card{gap:16px;padding:22px;display:grid}.dialog-card p{color:var(--muted);margin:7px 0 0;font-size:13px}.dialog-card textarea{resize:vertical;border:1px solid var(--line);border-radius:10px;width:100%;padding:12px;line-height:1.6}.dialog-errors{color:var(--warning);font-size:13px;font-weight:750}.dialog-actions{justify-content:flex-end}@media (width<=1120px){.part-row{grid-template-columns:34px minmax(130px,1.2fr) repeat(3,minmax(82px,.7fr)) auto}.allowance-field{grid-column:2/6}.part-tools{grid-area:2/6}}@media (width<=880px){.workspace-grid{grid-template-columns:1fr}.settings-panel{position:static}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.header-inner,.page-shell,.site-footer{width:min(100% - 24px,1440px)}.header-inner{min-height:64px}.header-actions .status-pill,.header-actions .tier-pill,.header-actions #installButton{display:none}.compact-select select{width:70px;padding-right:18px}.page-shell{padding-top:28px}.hero-copy{margin-bottom:20px}.settings-panel,.parts-panel,.results-panel,.cut-panel{padding:15px}.parts-heading{flex-direction:column;align-items:flex-start}.button-group{width:100%}.button-group>button{flex:1}.part-row{grid-template-columns:32px 1fr 1fr;gap:9px}.part-index{grid-row:1}.part-name-field{grid-column:2/4}.part-row>.field:nth-of-type(2){grid-column:1/3}.part-row>.field:nth-of-type(3){grid-column:3}.quantity-field{grid-column:1}.allowance-field{grid-column:2/4}.part-tools{grid-area:auto/1/auto/4;justify-content:flex-end;min-height:auto}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-svg{min-width:620px}}@media (width<=440px){.brand small{display:none}.account-button{justify-content:center;width:38px;padding:0;font-size:0}.account-button span{font-size:13px}.header-actions{gap:5px}.three-fields,.segmented{grid-template-columns:1fr}.parts-actions{flex-direction:column-reverse;align-items:stretch}.parts-actions .primary-button{width:100%}.metrics{grid-template-columns:1fr 1fr}.metrics article:last-child{grid-column:1/3}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a191c8c;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:min(680px,100%);max-height:calc(100vh - 28px);overflow:auto;box-shadow:0 28px 90px #00000040}.projects-modal-heading,.saved-project,.saved-project-actions{align-items:center;gap:12px;display:flex}.projects-modal-heading,.saved-project{justify-content:space-between}.project-message{background:var(--accent-soft);border-radius:10px;margin:0;padding:11px 13px;font-weight:800;color:var(--accent-strong)!important}.cloud-login-banner{width:100%;color:var(--accent-strong);text-align:left;background:linear-gradient(120deg,#f7ffff,#e8f5f3);border:1px solid #a9cfd0;border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.cloud-login-banner>span:first-child{background:var(--accent);color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.cloud-login-banner strong,.cloud-login-banner small{display:block}.cloud-login-banner small{color:var(--muted);margin-top:4px;line-height:1.45}.device-import-card{background:#fffdf4;border:1px solid #d6c994;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.device-import-card p{margin:4px 0 0}.saved-project-list{gap:9px;display:grid}.saved-project{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;padding:13px}.saved-project>div:first-child{gap:4px;min-width:0;display:grid}.saved-project strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-project span{color:var(--muted);font-size:11px}.danger-button{color:var(--danger)}.empty-projects{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;padding:28px}.empty-projects p{margin:7px 0 0}.remnant-toggle{cursor:pointer;background:#f4fbfa;border:1px solid #b9d8d7;border-radius:11px;align-items:flex-start;gap:10px;margin:0 0 6px;padding:12px;display:flex}.remnant-toggle input{width:18px;height:18px;accent-color:var(--accent);margin:1px 0 0}.remnant-toggle span,.remnant-toggle strong,.remnant-toggle small{display:block}.remnant-toggle strong{font-size:13px}.remnant-toggle small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.remnant-manage-link{margin-bottom:10px;padding-left:0;font-size:11px}.feature-lock-card{width:100%;color:var(--ink);text-align:left;background:#f4fbfa;border:1px dashed #a9cfd0;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:12px;display:grid}.feature-lock-card span:nth-child(2),.feature-lock-card strong,.feature-lock-card small{display:block}.feature-lock-card strong{font-size:13px}.feature-lock-card small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4}.feature-lock-card b{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:9px}.remnant-modal{width:min(1100px,100%)}.remnant-add-card,.remnant-inventory-row{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;align-items:flex-end;gap:10px;padding:13px;display:flex}.remnant-add-card{background:#f3fbfa;border-color:#a9cfd0}.remnant-add-grid,.remnant-edit-grid{flex:1;grid-template-columns:1.15fr 1fr repeat(2,minmax(100px,.7fr)) minmax(70px,.42fr);gap:8px;display:grid}.remnant-add-grid .field,.remnant-edit-grid .field{margin:0}.remnant-safety-note,.remnant-result-note{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.remnant-inventory-list{gap:9px;display:grid}.remnant-inventory-row.invalid{background:#fff9f5;border-color:#e2b297}.remnant-row-actions{gap:7px;display:grid}.auth-modal{width:min(520px,100%)}.auth-modal .eyebrow{margin-bottom:7px}.account-summary{background:#f3fbfa;border:1px solid #a9cfd0;border-radius:12px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.account-summary>span{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.account-summary div{min-width:0}.account-summary strong,.account-summary small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-summary small{color:var(--muted);margin-top:4px}.otp-input{letter-spacing:.28em;font-size:22px;font-weight:900}.auth-note{border-left:3px solid #a9cfd0;padding-left:11px;line-height:1.55;margin:0!important;font-size:11px!important}.remnant-results-panel{margin-top:18px;padding:20px}.remnant-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.remnant-layout-card{border:1px solid var(--line);break-inside:avoid;background:#fbfcfc;border-radius:12px;min-width:0;padding:12px}.remnant-layout-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.remnant-layout-heading>div,.remnant-layout-heading strong,.remnant-layout-heading span{display:block}.remnant-layout-heading span{color:var(--muted);margin-top:4px;font-size:11px}.remnant-layout-container{min-height:260px}.remnant-layout-svg{min-width:460px;max-height:650px}.remnant-outline{stroke:var(--accent)}.remnant-result-note{margin-top:12px}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff}.site-header,.hero-copy,.job-panel,.workspace-grid,.pro-card,.site-footer,.modal-backdrop,.export-actions,.remnant-layout-heading button,.result-message{display:none!important}.page-shell{width:100%;padding:0}.results-panel,.cut-panel{box-shadow:none;border:0;margin:0;padding:0}.cut-panel{break-before:page;margin-top:8mm}.layout-container{border-color:#9aa;min-height:0;overflow:visible}.layout-svg{width:100%;min-width:0;max-height:none}.table-scroll{overflow:visible}table{min-width:0}th,td{white-space:normal;padding:7px 5px;font-size:9px}}@media (width<=700px){.job-panel{padding:15px}.job-heading,.results-heading,.projects-modal-heading,.saved-project{flex-direction:column;align-items:stretch}.job-fields,.job-summary{grid-template-columns:1fr}.job-actions,.remnant-add-card,.remnant-inventory-row,.device-import-card{flex-direction:column;align-items:stretch}.job-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.job-actions .secondary-button{grid-column:1/3}.remnant-add-grid,.remnant-edit-grid,.remnant-layout-grid{grid-template-columns:1fr}.remnant-layout-svg{min-width:420px}.export-actions,.saved-project-actions,.remnant-row-actions{width:100%}.export-actions>button,.saved-project-actions>button,.remnant-row-actions>button{flex:1}.projects-button{min-height:38px;padding-inline:10px}}
