:root{font-family:system-ui,-apple-system,Noto Sans JP,sans-serif;font-synthesis:none;--bg:#f4f5f7;--card:#fff;--soft:#eceef1;--text:#20242b;--muted:#555e6b;--line:#cdd2da;--accent:#086b51;--on-accent:#fff;--red:#b52932;color:var(--text);background:var(--bg);color-scheme:light;font-size:16px}*{box-sizing:border-box}html{scroll-padding-block:72px}body{margin:0;overflow-wrap:anywhere}button,input,select{font:inherit;color:var(--text)}button,select,.file-button,summary{cursor:pointer}button{min-width:44px;min-height:44px;padding:9px 12px;font-weight:650;border:1px solid var(--line);border-radius:10px;background:var(--card);touch-action:manipulation}button:active{filter:brightness(.9)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.file-button:focus-within{outline:3px solid var(--accent);outline-offset:2px}button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}select{min-height:46px;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 8px;font-size:1rem}input{min-width:0;width:100%;min-height:48px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px;font-size:1rem}input::placeholder{color:var(--muted);opacity:1}input,select{scroll-margin-block:88px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:1.4rem;line-height:1.4;margin:0}h2{font-size:1rem;margin:0 0 12px}h3{font-size:1rem}p{line-height:1.65}.app-header{max-width:760px;margin:auto;padding:6px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{font-size:1.25rem;white-space:nowrap}.brand span{font-size:.9rem;font-weight:500}.app-header button,.app-header select{font-size:.875rem;min-height:44px}.app-header .row{gap:6px}main{max-width:720px;margin:auto;padding:4px 14px calc(60px + env(safe-area-inset-bottom))}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 12px}.module-heading{margin-bottom:8px}.module-heading button{font-size:1.3rem;background:transparent;border:0;color:var(--accent)}.card,.metric,.result{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;min-width:0}.result{padding:16px;margin-top:12px}.input-grid,.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.input-grid>.metric{margin-bottom:0}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.875rem;font-weight:650;margin:0 0 10px}.field:last-child{margin-bottom:0}.input-wrap{display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding-right:8px}.input-wrap input{flex:1 1 0;width:0;border:0;background:transparent;font-size:1.4rem;font-variant-numeric:tabular-nums;padding:9px 8px}.input-wrap>span{flex:0 0 auto;white-space:nowrap;color:var(--muted);font-size:.875rem}.hint,.formula,.exact{font-size:.8125rem;line-height:1.7;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}.formula,.exact{font-variant-numeric:tabular-nums}.empty{padding:20px 10px;color:var(--muted);font-size:.9rem;text-align:center;line-height:1.7}.row{display:flex;align-items:center;justify-content:space-between;gap:8px}.row h2{margin:0}.wrap{flex-wrap:wrap}.primary,.keys .equals{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.error,.danger,.loss{color:var(--red)}.error{font-size:.9rem;line-height:1.7}.loss{border-color:var(--red)}.message{border:1px solid var(--line);padding:10px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.875rem;margin:8px 0;line-height:1.65}.message button{flex-shrink:0}.hero>strong,.metric>strong{display:block;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,6vw,2rem);line-height:1.5;margin:6px 0;overflow-wrap:anywhere}.hero>strong{font-size:clamp(2rem,8vw,2.7rem)}.hero>strong small,.metric>strong small,.large-result small{font-size:1rem;font-weight:500}.metric>span,.hero>span{font-size:.9rem;font-weight:650}.metric>b{font-size:1rem}.metric>.formula{margin-bottom:0}.profit-results{margin-top:12px}.profit-results .input-grid{margin-bottom:12px}.profit-results .metric>span{display:block}.large-result{display:block;font-size:clamp(1.8rem,7vw,2.5rem);line-height:1.4;margin:10px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.segment{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 0 14px;padding-bottom:6px}.segment button{flex:1;min-width:0;font-size:.875rem;padding:8px 5px;border-color:transparent;background:transparent;line-height:1.4}.segment button[aria-pressed=true]{border-color:var(--accent);background:var(--card);color:var(--accent)}.category-picker{margin-bottom:14px}.category-picker select{width:100%}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;min-width:0}.home-tile{width:100%;min-height:168px;text-align:left;background:transparent;border:0;padding:44px 14px 18px}.home-tile>span{display:block;font-size:1.9rem;line-height:1.2;margin-bottom:10px}.home-tile h2{font-size:1.1rem;margin-bottom:7px}.home-tile small{font-size:.8125rem;color:var(--muted);line-height:1.6}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:center;gap:2px;background:var(--card);border-top:1px solid var(--line);padding:3px 4px calc(3px + env(safe-area-inset-bottom))}.bottom-nav button{flex:1;max-width:144px;min-width:44px;min-height:48px;border:0;border-radius:7px;padding:3px 1px;font-size:.7rem;color:var(--muted);background:transparent;line-height:1.3}.bottom-nav button>span{display:block;font-size:1.3rem;line-height:1.3;height:27px;position:relative}.bottom-nav button[aria-current]{color:var(--accent);background:var(--soft)}.calculator.card{padding:10px;margin-bottom:6px}.display{text-align:right;overflow-wrap:anywhere;padding:3px 2px 10px;border-block:1px solid var(--line);position:relative;min-height:106px}.history-handle{display:block;margin:0 auto;min-height:44px;padding:2px 16px;background:transparent;border:0;font-size:.8125rem;color:var(--muted)}.expression{min-height:20px;color:var(--muted);font-size:.875rem;line-height:1.5;max-height:64px;overflow:auto}.display output{display:block;font-size:clamp(2rem,9vw,3rem);font-variant-numeric:tabular-nums;line-height:1.2;font-weight:650;margin-top:4px;letter-spacing:-.5px}.display output.error{font-size:1.3rem}.calc-memory-status{font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:5px}.special-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:6px 0}.special-keys button{min-height:49px;padding:4px 0;font-size:.9rem;background:var(--soft);border-color:transparent}.special-keys small,.keys small{display:block;font-size:.6875rem;font-weight:500;line-height:1.5}.keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.keys button{min-height:51px;padding:5px 2px;font-size:1.5rem;background:var(--soft);border-color:transparent}.keys .operator{background:var(--card);border-color:var(--line);color:var(--accent)}.keys .equals{background:var(--accent)}.calculator-page>section>.hint{font-size:.75rem;margin:6px 0}.calc-help-button{width:100%;font-size:.8125rem;padding:6px;min-height:44px}.swipe-display{touch-action:pan-x}.sheet{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:16px 16px 0 0;width:min(100%,720px);max-height:calc(100dvh - 24px);margin:auto auto 0;padding:0 14px calc(18px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#0009}.sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;padding:10px 0;background:var(--card);z-index:2}.sheet-heading h2{margin:0;font-size:1.05rem}.sheet-heading button{flex-shrink:0}.sheet:has(.history-list){display:none}.sheet[open]:has(.history-list){display:flex;flex-direction:column;max-height:85dvh}.history-current{padding:10px;background:var(--soft);border-radius:9px;font-size:.875rem;flex-shrink:0;overflow:auto;max-height:20dvh}.history-current strong{display:block;font-size:1.8rem;line-height:1.4;overflow-wrap:anywhere}.history-list{overflow:auto;min-height:40px;overscroll-behavior:contain;flex:1}.history-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 0}.history-answer{flex:1;min-width:0;text-align:left;background:var(--bg);border:0}.history-answer small,.history-answer strong,.history-answer time{display:block;overflow-wrap:anywhere}.history-answer strong{font-size:1.5rem;margin:5px 0}.history-answer time{font-size:.75rem;color:var(--muted)}.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.file-button{position:relative;display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.management-links{display:grid;gap:10px;margin:18px 0}summary{font-size:.875rem;min-height:44px;padding:10px 0;font-weight:650}details p{font-size:.875rem;line-height:1.7}.quick-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.quick-buttons button{font-size:.875rem}.quick-buttons button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.total-input{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:12px}.total-input .input-wrap input{font-size:1.9rem}.materials-heading{margin:12px 0}.ratio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ratio-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ratio-material.card{padding:8px;margin-bottom:6px}.ratio-material .field{font-size:.8125rem}.ratio-material input{padding:8px 5px}.ratio-material .input-wrap{padding:0}.ratio-material .input-wrap input{font-size:1.5rem}.ratio-material .weight{display:block;padding:8px 0 0;border:0}.ratio-material .weight strong{font-size:clamp(1.1rem,4.5vw,1.65rem);max-width:100%}.ratio-material .weight small{font-size:.75rem;font-weight:500}.ratio-material .formula{font-size:.75rem;line-height:1.7;margin-bottom:0}.ratio-material .formula small{font-size:inherit}.weight{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.weight strong{font-size:1.75rem;max-width:70%;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.recipe-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px}.recipe-material{margin-top:12px}.recipe-material .weight{border:0}.diagram{display:block;width:100%;max-width:360px;height:auto;color:var(--text);background:var(--bg);border-radius:9px;margin:12px auto;overflow:hidden}.cut-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cut-images .diagram{margin:0}.flat{margin:12px 0}.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.875rem;margin:14px 0}.check input{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--accent)}.zone-item{border-top:1px solid var(--line);padding:12px 0}.zone-item p{margin:6px 0}.zone-item small{display:block;color:var(--muted);line-height:1.7;margin:6px 0}.next-result>strong{display:block;font-size:clamp(2rem,9vw,3rem);line-height:1.4;margin:8px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.next-result small{font-size:1rem}.result .metrics strong{display:block;font-size:clamp(1.4rem,6vw,2rem);line-height:1.5;font-variant-numeric:tabular-nums}.result .metrics small{font-size:.9rem}.conversion{line-height:1.8}.offline-status{font-size:.8125rem;color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}:root[data-theme=dark]{--bg:#121416;--card:#1c1f24;--soft:#292d34;--text:#f1f3f6;--muted:#bbc2cd;--line:#4c545f;--accent:#7de0b7;--on-accent:#102c21;--red:#ffa5ac;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121416;--card:#1c1f24;--soft:#292d34;--text:#f1f3f6;--muted:#bbc2cd;--line:#4c545f;--accent:#7de0b7;--on-accent:#102c21;--red:#ffa5ac;color-scheme:dark}}:root{color:var(--text);background:var(--bg)}@media(max-width:380px){main{padding-inline:10px}.app-header{padding-inline:10px}.input-grid,.metrics{gap:8px}.card,.metric{padding:12px}.ratio-material.card{padding:6px}.input-wrap input{font-size:1.25rem}.home-tile h2{font-size:1rem}.home-tile{padding-inline:12px}.segment button{font-size:.8125rem}.cut-images{grid-template-columns:1fr}.cut-images .diagram{max-width:280px;margin:auto}}@media(max-height:780px){.keys button{min-height:46px}.display{min-height:96px}.display output{font-size:2.1rem}.special-keys button{min-height:46px}.module-heading{margin-bottom:3px}.calculator.card{padding:8px}.calculator-page>section>.hint{margin:4px 0}}@media(min-width:900px){.home-tile{min-height:190px}.home-tile h2{font-size:1.35rem}.ratio-grid{gap:12px}.ratio-material.card{padding:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}details.zone-entry:not([open]),details.zone-history:not([open]){padding-block:2px}.zone-entry>summary,.zone-history>summary{font-size:.9rem}.zone-entry>.row{margin-block:10px}.module-heading{min-height:32px;margin:0 0 4px}.display{border:0;min-height:0;padding:0}.calculation-screen{border-block:1px solid var(--line);padding:6px 2px}.calculation-screen>.expression{font-size:.875rem;color:var(--muted);min-height:21px}.calculation-screen output{margin:2px 0}.display .history-handle{min-height:44px}.profit-inputs .field{margin-bottom:8px}.profit-results{margin-top:0}.profit-results .hero{margin:10px 0}.profit-results .hero>strong{margin:2px 0;font-size:2.5rem}.profit-results .hero p{margin:5px 0}.profit-results .metric{padding:12px}.profit-results .metric strong{font-size:1.7rem;margin:3px 0}.profit-plain{font-size:.875rem}.derived-sale{padding:12px;margin:8px 0}.derived-sale .large-result{font-size:2rem;margin:2px 0}.derived-cost{margin:6px 0;font-size:1rem}.derived-sale .formula{margin:4px 0}.profit-details{margin-top:8px}.ratio-mode>.card{padding:12px;margin-bottom:10px}.ratio-mode .materials-heading{margin:8px 0}.ratio-mode .ratio-material .weight strong{font-size:clamp(1.4rem,5vw,1.8rem)}.ratio-mode .mix-sum{margin:4px 0 6px;padding:6px 2px;font-size:1rem}.mix-sum .formula{margin:2px 0}.ratio-mode>.field{margin-bottom:6px}.mix-options,.recipe-options{margin-top:6px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.recipe-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid .recipe-material{padding:8px;margin:4px 0}.recipe-grid .recipe-row{display:block}.recipe-grid .recipe-material .weight{display:block;padding:5px 0}.recipe-grid .recipe-material .weight>span{display:none}.recipe-grid .weight strong{max-width:100%;font-size:1.5rem}.recipe-grid .recipe-material .formula{margin:4px 0}.recipe-grid input{padding-inline:6px}.batch-inputs{padding:12px}.target-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.target-row .field{margin:0}.target-row button{font-size:.8125rem;min-height:48px}.batch-inputs>.hint{margin:5px 0 10px}.batch-inputs .next-result{border-top:1px solid var(--line);padding-top:8px;margin-top:10px}.next-result>strong{margin:2px 0;font-size:2.8rem}.mixed-result{display:block;font-size:1rem}.next-result .formula,.next-result .hint{margin:4px 0}.batch-summary{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;gap:8px}.batch-summary span{font-size:.8125rem}.batch-summary strong{display:block;font-size:1.5rem;font-variant-numeric:tabular-nums}.batch-summary strong small{font-size:.875rem}.batch-summary>.formula{grid-column:1/-1;margin:0}.batch-status{font-size:.8125rem;margin:4px 0;color:var(--muted)}.batch-mode .zone-entry,.batch-mode .zone-history{margin-bottom:7px}.batch-mode .zone-entry>summary{font-size:.875rem}.batch-actions{gap:8px}.batch-actions button{flex:1;font-size:.875rem}.batch-inputs .width-sets{margin:6px 0}.total-input .field{margin-bottom:0}.ratio-mode .ratio-grid .ratio-material{padding:7px}.recipe-mode>.field{margin-bottom:5px}@media(max-width:380px){.recipe-grid{gap:5px}.recipe-grid .recipe-material{padding:6px}.recipe-grid .weight strong{font-size:1.25rem}.ratio-mode .ratio-grid .ratio-material{padding:6px}.target-row{gap:6px}.batch-inputs{padding:10px}}.home-tile{padding-top:24px;min-height:156px}.ratio-mode>.mix-total{padding:0;border:0;background:transparent;margin-bottom:9px}.mix-choices{margin:0 0 10px}.mix-choices>.field{flex:1;margin:0;min-width:0}.mix-choices>.field select{width:100%}.mix-choices>select{width:108px}.ratio-mode .mix-sum{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:5px 1px}.mix-sum>span{font-size:.8125rem;color:var(--muted)}.recipe-controls{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;align-items:end;margin:6px 0 8px}.recipe-controls>.field{margin:0}.recipe-controls .quick-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}.recipe-controls button{min-width:44px;padding-inline:2px;font-size:.875rem}.batch-mode>.batch-inputs{padding-block:8px}.batch-summary{margin-top:8px;padding-top:8px}.input-wrap .inline-unit{min-height:44px;width:54px;padding:3px 0 3px 3px;border:0;background:transparent;font-size:1rem}.input-wrap:has(.inline-unit){padding-right:3px}.profit-result-heading{font-size:.875rem}.profit-result-heading .derived-cost{font-size:.8125rem;margin:0}.batch-inputs>.total-input{margin-top:10px}.profit-money-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}.profit-money-pair>.result{margin:0;padding:12px}.profit-money-pair .large-result{margin:3px 0}.profit-money-pair .formula{margin:4px 0}.profit-money-pair .hero>strong{font-size:2.5rem}.profit-money-pair .profit-result-heading{display:block}
