:root{color:#2f2b29;font-synthesis:none;text-rendering:optimizelegibility;--page-bg:#fafaf9;--card-bg:#fff;--internal-bg:#f7f6f4;--warm-bg:#fcfaf8;--text:#2f2b29;--text-secondary:#77716c;--accent:#e98932;--accent-strong:#d97422;--accent-soft:#fff1e4;--border:#e8e4e0;--divider:#efebe7;--danger:#c95858;background:#fafaf9;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--page-bg);min-width:1024px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.ui-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.page-shell{width:min(1240px,100% - 64px);margin:38px auto 64px}.calculator-card{border:1px solid var(--border);background:var(--card-bg);border-radius:16px;overflow:visible;box-shadow:0 16px 50px #4132280f}.tool-disclaimer{color:#77716c;white-space:nowrap;overscroll-behavior-inline:contain;max-width:100%;margin-top:24px;font-size:12px;font-weight:400;line-height:1.4;overflow:auto hidden}.tool-disclaimer-content{justify-content:center;align-items:center;gap:8px;width:max-content;min-width:100%;padding:0 12px;display:flex}.tool-disclaimer img{object-fit:contain;flex:none;width:28px;height:28px}.page-header{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px 16px;display:flex}.page-heading{align-items:center;gap:16px;display:flex}.header-actions{align-items:center;gap:8px;display:flex}.line-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.page-heading h1{color:var(--text);align-items:center;gap:9px;margin:0;font-size:24px;line-height:1.2;display:flex}.page-title-icon{color:var(--accent-strong)}.button-icon{width:17px;height:17px}.help-link{color:var(--text-secondary);background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:5px 8px;font-size:13px;display:inline-flex}.help-link:hover,.help-link:focus-visible{background:var(--accent-soft);color:var(--accent-strong);outline:none}.question-icon,.info-button{color:currentColor;background:0 0;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.calculator-body{gap:14px;padding:8px 20px 20px;display:grid}.button{border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 15px;font-size:13px;font-weight:700;display:inline-flex}.button-secondary{border:1px solid var(--accent);color:var(--accent-strong);background:#fff}.button-secondary:hover,.icon-button:hover{border-color:var(--accent-strong);background:var(--accent-soft)}.button-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.button-primary:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.button-plain{border:1px solid var(--border);color:var(--text-secondary);background:#fff}.button-plain:hover{background:var(--internal-bg);color:var(--text)}.icon-button{border:1px solid var(--accent);width:36px;color:var(--accent-strong);background:#fff;padding:0;font-size:19px;font-weight:500}.solution-combobox{position:relative}.solution-combobox>input{border:1px solid var(--border);width:100%;height:42px;color:var(--text);background:#fff;border-radius:9px;padding:8px 44px 8px 16px;font-size:14px;font-weight:700}.solution-combobox>input:focus,.field input:focus,.material-row input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e989321f}.combobox-toggle{width:30px;height:30px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.combobox-toggle:hover,.combobox-toggle:focus-visible{color:var(--accent-strong);outline:none}.combobox-icon{width:18px;height:18px}.solution-menu{z-index:20;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:280px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #3c322d1a}.solution-option-row{border-radius:7px;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;display:grid}.solution-option-row:hover,.solution-option[aria-selected=true]{background:var(--internal-bg)}.solution-option{min-width:0;min-height:34px;color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:7px 10px;overflow:hidden}.solution-delete,.material-delete{color:#b7b1ac;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.solution-delete{width:26px;height:26px}.solution-delete:hover,.material-delete:hover{color:var(--danger);background:#fff1f2;border-color:#f2bdc2}.form-message{color:#9a5119;background:#fff8f1;border:1px solid #efc6a4;border-radius:8px;padding:10px 12px;font-size:13px}.mold-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.mold-card{border:1px solid var(--border);background:var(--card-bg);border-radius:12px;align-content:start;gap:16px;padding:18px;display:grid}.section-title{color:var(--text);align-items:center;gap:9px;margin:0;font-size:16px;font-weight:700;display:flex}.section-icon{width:19px;height:19px;color:var(--accent-strong)}.desktop-box-icon{stroke-width:2px;flex-basis:18px;width:18px;height:18px}.dimension-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;display:grid}.dimension-secondary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.field{color:#403a3a;flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:500;display:flex}.field-label-row{align-items:center;gap:5px;width:max-content;max-width:100%;display:inline-flex}.field input{border:1px solid var(--border);background:var(--card-bg);width:100%;min-width:0;height:38px;color:var(--text);border-radius:7px;padding:7px 11px;font-size:13px}.field input:disabled,#source-fill-ratio{border-color:var(--border);color:var(--text-secondary);cursor:default;background:#f0efed}.percentage-input{display:block;position:relative}.percentage-input input{padding-right:30px}.percentage-suffix{color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.materials-card{border:1px solid var(--border);background:var(--card-bg);border-radius:12px;overflow:visible}.section-heading{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.section-actions{align-items:center;gap:8px;display:flex}.material-table{overflow:visible}.material-head,.material-row{grid-template-columns:minmax(180px,1fr) 150px 150px 110px 64px 44px;align-items:center;gap:8px;display:grid}.material-head{color:#6b584c;background:#fbf7f3;min-height:38px;padding:7px 12px;font-size:13px;font-weight:700}.material-head>span:not(:first-child){text-align:center}.result-heading{text-align:center;display:block}.result-heading-label{display:inline-block;position:relative}.result-heading .tooltip-wrap{position:absolute;top:50%;left:calc(100% + 5px);transform:translateY(-50%)}.tooltip-wrap{color:var(--text-secondary);display:inline-flex;position:relative}.info-button{width:16px;height:16px;font-size:10px}.tooltip-bubble{z-index:30;border:1px solid var(--border);width:236px;color:var(--text);text-align:left;opacity:0;pointer-events:none;visibility:hidden;background:#fff;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:400;line-height:1.55;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 20px #3c322d1f}.tooltip-wrap:hover .tooltip-bubble,.tooltip-wrap:focus-within .tooltip-bubble,.tooltip-wrap.is-open .tooltip-bubble{opacity:1;visibility:visible;transform:translate(-50%)}.tooltip-bubble-lines{gap:3px;display:grid}.tooltip-bubble-lines strong,.tooltip-bubble-lines span{display:block}.material-row{border-bottom:1px solid var(--divider);background:var(--card-bg);min-height:42px;padding:6px 12px}.material-row:last-child{border-bottom:0}.material-row input{width:100%;min-width:0;height:29px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-size:13px}.material-row input[type=number]{text-align:center}.material-result{min-height:29px;color:var(--accent-strong);text-align:center;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;line-height:29px}.material-result-proportion{color:var(--text)}.material-result.is-placeholder{color:#c9c4bf;font-size:0}.material-result.is-placeholder:before{content:"";vertical-align:middle;background:currentColor;width:12px;height:1px;display:inline-block}.material-unit{color:var(--text-secondary);text-align:center;font-size:13px}.material-delete{justify-self:center;width:28px;height:28px;font-size:18px}.material-empty{color:var(--text-secondary);text-align:center;padding:22px 16px;font-size:13px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.summary-card{border:1px solid var(--border);background:var(--warm-bg);border-radius:12px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:5px 14px;display:grid}.summary-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.summary-svg{width:20px;height:20px}.summary-svg-wheat,.summary-svg-box{stroke-width:2px}.summary-card>div{gap:3px;min-width:0;display:grid}.summary-label{color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.35}.summary-value{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.1}.modal-open{overflow:hidden}.modal-overlay{z-index:100;background:#2f2b296b;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.help-dialog{border:1px solid var(--border);background:#fff;border-radius:14px;width:min(620px,100%);max-height:min(720px,100vh - 64px);display:grid;overflow:hidden;box-shadow:0 24px 70px #2f2b2933}.import-dialog{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(820px,100vh - 64px);display:grid;overflow:hidden;box-shadow:0 24px 70px #2f2b2933}.validation-dialog{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-rows:auto auto auto;width:min(420px,100%);display:grid;overflow:hidden;box-shadow:0 24px 70px #2f2b2933}.mobile-info-dialog{border:1px solid var(--border);background:#fff;border-radius:12px;width:min(340px,100%);display:grid;overflow:hidden;box-shadow:0 20px 55px #2f2b2933}.mobile-info-content{color:var(--text);white-space:pre-line;overflow-wrap:anywhere;padding:16px 18px 18px;font-size:13px;line-height:1.7}.validation-content{color:var(--text);padding:24px 20px;font-size:14px;line-height:1.7}.validation-content p{margin:0}.dialog-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.dialog-header h2{margin:0;font-size:18px}.dialog-title-row{align-items:center;gap:12px;min-width:0;display:flex}.import-help-link{white-space:nowrap;flex:none;margin:0}.import-help-panel{background:#fff8f1;border:1px solid #efc6a4;border-radius:10px;padding:14px}.import-help-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-help-heading h3,.import-help-content h4,.import-help-content p{margin:0}.import-help-heading h3{color:var(--text);font-size:15px}.import-help-content{gap:10px;margin-top:10px;display:grid}.import-help-content section{gap:3px;display:grid}.import-help-content h4{color:var(--text);font-size:13px}.import-help-content p{color:var(--text-secondary);font-size:12px;line-height:1.6}.dialog-close{width:32px;height:32px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.dialog-close-icon{width:19px;height:19px}.delete-icon{width:16px;height:16px}.dialog-close:hover{background:var(--internal-bg);color:var(--text)}.dialog-content{gap:18px;padding:20px;display:grid;overflow-y:auto}.import-content{background:var(--internal-bg);gap:14px;padding:18px 20px;display:grid;overflow-y:auto}.import-step{border:1px solid var(--border);background:#fff;border-radius:10px;gap:10px;padding:16px;display:grid}.import-step-heading,.import-step-heading>div{justify-content:space-between;align-items:center;gap:9px;display:flex}.import-step-heading h3{color:var(--text);margin:0;font-size:14px}.step-number{background:var(--accent-soft);width:22px;height:22px;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.action-feedback{min-height:18px;color:var(--accent-strong);font-size:12px}.import-textarea{resize:vertical;border:1px solid var(--border);background:var(--warm-bg);width:100%;color:var(--text);border-radius:8px;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.import-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e989321f}.prompt-textarea{min-height:190px;padding:11px 12px}.json-textarea{background:#fff;min-height:150px;padding:11px 12px}.import-action{justify-self:start}.import-message{color:#9a5119;background:#fff8f1;border:1px solid #efc6a4;border-radius:8px;padding:9px 11px;font-size:12px;line-height:1.5}.dialog-actions{border-top:1px solid var(--divider);background:#fff;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.dialog-content section{gap:6px;display:grid}.dialog-content h3,.dialog-content p{margin:0}.dialog-content h3{color:var(--accent-strong);font-size:14px}.dialog-content p,.dialog-note{color:var(--text-secondary);font-size:13px;line-height:1.75}.dialog-note{background:var(--accent-soft);color:#755035;border-radius:9px;padding:12px 14px}.dialog-note.usage-note{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.dialog-note-content{gap:4px;min-width:0;display:grid}.dialog-note-content p{color:inherit;margin:0}@media (width<=1100px){body{min-width:900px}.page-shell{width:calc(100% - 40px)}.material-head,.material-row{grid-template-columns:minmax(150px,1fr) 130px 130px 92px 54px 38px}}@media (width<=900px){body{min-width:0;overflow-x:hidden}.page-shell{width:calc(100% - 32px);margin:24px auto 40px}.mold-groups{grid-template-columns:minmax(0,1fr)}.materials-card{min-width:0;overflow:hidden}.material-table{overscroll-behavior-inline:contain;max-width:100%;overflow:auto visible}.material-head,.material-row{grid-template-columns:minmax(180px,1fr) 150px 150px 110px 64px 44px;min-width:760px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.page-shell{width:calc(100% - 20px);margin:10px auto 24px}.tool-disclaimer{white-space:normal;max-width:100%;margin-top:20px;padding:0 36px;overflow:visible}.tool-disclaimer-content{gap:6px;width:fit-content;min-width:0;max-width:100%;margin:0 auto;padding:0}.tool-disclaimer-content span{overflow-wrap:anywhere;min-width:0}.tool-disclaimer img{width:24px;height:24px}.page-header{flex-wrap:wrap;align-items:flex-start;padding:18px 16px 14px}.page-heading{justify-content:space-between;width:100%}.header-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.header-actions .button{width:100%}.calculator-body{padding:6px 12px 14px}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-head,.material-row{grid-template-columns:42% 38% 38% 28% 18% 14%;width:100%;min-width:0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:5px 8px}.summary-icon{width:34px;height:34px}.summary-svg{width:18px;height:18px}.tooltip-bubble{display:none}.modal-overlay{padding:10px}.help-dialog,.import-dialog,.validation-dialog{width:100%;max-height:calc(100dvh - 20px)}.dialog-content,.import-content{padding:14px}.dialog-actions{padding:12px 14px}}@media (width<=460px){.dimension-secondary,.target-secondary{grid-template-columns:minmax(0,1fr)}.target-secondary:has(>#adjustment-field:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
