:root{color:#29251f;font-synthesis:none;text-rendering:optimizelegibility;--accent:#c6671e;--accent-deep:#9d4b11;--accent-soft:#fff0e2;--ink:#29251f;--muted:#766f66;--quiet:#a39b91;--line:#e7dfd5;--panel:#fffdf9;--page:#f5f1ea;--success:#2f7d52;--danger:#a53d31;--shadow:0 18px 48px #49362214;background:#f5f1ea;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 0%, #e68e4614, transparent 28rem), var(--page);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:2px;outline:3px solid #c6671e42}input:focus-visible{outline-offset:2px;outline:3px solid #c6671e42}select:focus-visible{outline-offset:2px;outline:3px solid #c6671e42}summary:focus-visible{outline-offset:2px;outline:3px solid #c6671e42}h1,h2,h3,h4,p{margin-top:0}.home-page{min-height:100vh}.home-hero{padding:calc(72px + env(safe-area-inset-top)) 24px 56px;text-align:center}.home-brand{border-radius:24px;width:72px;height:72px;margin:0 auto 28px;overflow:hidden;box-shadow:0 16px 35px #a64c103b}.home-brand img{object-fit:cover;width:100%;height:100%;display:block}.eyebrow{color:var(--accent);letter-spacing:.26em;margin-bottom:14px;font-size:.72rem;font-weight:800}.home-hero h1,.page-hero h1{color:var(--ink);letter-spacing:-.035em;margin-bottom:14px;font-size:clamp(2rem,6vw,3.6rem);line-height:1.08}.hero-subtitle{max-width:680px;color:var(--muted);margin-bottom:0;font-size:1rem;line-height:1.8}.home-hero .hero-subtitle{margin-inline-start:auto;margin-inline-end:auto}.offline-badge{color:#655f57;background:#ffffff7a;border:1px solid #dfd7cc;border-radius:999px;align-items:center;gap:8px;margin-top:24px;padding:8px 13px;font-size:.75rem;display:inline-flex}.offline-badge span{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #2f7d521a}.home-content{width:min(760px,100% - 32px);margin:0 auto}.section-heading,.subsection-title-row,.field-title-row,.member-heading,.candidate-topline,.member-result>div,.alternative-card>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading{margin-bottom:14px;padding:0 6px}.section-heading h2{margin:0;font-size:1rem}.section-heading span{color:var(--quiet);font-size:.78rem}.calculator-list{gap:14px;display:grid}.calculator-card{border:1px solid var(--line);background:var(--panel);width:100%;min-height:124px;color:var(--ink);box-shadow:var(--shadow);text-align:left;cursor:pointer;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.calculator-card:hover{border-color:#d9b899;transform:translateY(-2px);box-shadow:0 22px 54px #4936221f}.calculator-index,.step{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:13px;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.calculator-copy{gap:5px;min-width:0;display:grid}.calculator-copy strong{font-size:1.06rem}.calculator-copy small{color:var(--accent);letter-spacing:.12em;font-size:.63rem;font-weight:800}.calculator-copy>span{color:var(--muted);font-size:.84rem;line-height:1.55}.calculator-arrow{color:var(--quiet);font-size:1.35rem}.overview-note,.install-guide{color:var(--muted);background:#3930270d;border-radius:18px;margin-top:22px;padding:22px;font-size:.86rem;line-height:1.75}.overview-note p{margin:8px 0 0}.install-guide summary{color:var(--ink);cursor:pointer;font-weight:750}.install-guide ol{margin-bottom:8px;padding-left:22px}.install-guide p{margin-bottom:0}.app-header{z-index:10;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf7f2e0;border-bottom:1px solid #dbd2c6bf;position:sticky;top:0}.app-header-inner{align-items:center;gap:12px;width:min(1180px,100% - 32px);min-height:70px;margin:0 auto;display:flex}.back-button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px}.brand-mark{border-radius:12px;width:40px;height:40px;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand-name{font-size:.94rem;font-weight:800}.brand-subtitle{color:var(--quiet);letter-spacing:.14em;margin-top:2px;font-size:.57rem;font-weight:750}.page-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:52px 0 36px}.page-hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:44px;margin-bottom:28px;display:grid}.page-hero h1{font-size:clamp(2rem,4vw,3.2rem)}.scope-note{background:#fffcf7ad;border:1px solid #e7d9ca;border-radius:18px;gap:16px;padding:20px;display:flex}.scope-note>span{color:var(--accent);font-size:.72rem;font-weight:850}.scope-note strong{font-size:.88rem}.scope-note p{color:var(--muted);margin:7px 0 0;font-size:.76rem;line-height:1.65}.panel{border:1px solid var(--line);background:var(--panel);border-radius:22px;margin-bottom:20px;padding:24px;box-shadow:0 12px 38px #4936220d}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.heading-left{align-items:center;gap:12px;display:flex}.panel-heading h2{margin:0;font-size:1rem}.panel-heading .step{border-radius:11px;width:36px;height:36px;font-size:.69rem}.heading-meta{color:var(--quiet);letter-spacing:.14em;font-size:.61rem;font-weight:800}.mode-layout,.mode-subrow,.options-two-up{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.control-label{color:#514b44;margin:0 0 10px;font-size:.76rem;font-weight:800}.choice-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice-group.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-button{border:1px solid var(--line);min-height:58px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;justify-content:center;align-items:flex-start;padding:11px 12px;transition:border-color .16s,background .16s;display:flex}.choice-button:hover{border-color:#d7b99d}.choice-button.selected{background:var(--accent-soft);border-color:#d28345;box-shadow:inset 0 0 0 1px #c6671e1f}.choice-code{color:var(--accent);font-size:.68rem;font-weight:850}.choice-label{font-size:.78rem;font-weight:760}.choice-note{color:var(--quiet);margin-top:3px;font-size:.62rem;line-height:1.35}.inline-notice,.catalog-note,.neutral-warning,.connection-notice,.scope-warning{color:var(--muted);background:#f7f2eb;border-radius:12px;margin-top:18px;padding:13px 15px;font-size:.74rem;line-height:1.65}.workspace-grid{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);align-items:start;gap:20px;display:grid}.result-column{top:calc(90px + env(safe-area-inset-top));position:sticky}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;min-width:0;padding:15px;display:flex}.field-card.disabled{opacity:.58}.field-label{color:#4f4942;font-size:.76rem;font-weight:800;display:block}.field-symbol{min-height:1.4em;color:var(--quiet);margin-top:4px;font-size:.63rem;line-height:1.4;display:block}.input-shell{background:#fdfbf8;border:1px solid #ded6cc;border-radius:10px;align-items:center;min-height:43px;margin-top:12px;padding:0 12px;display:flex}.input-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #c6671e17}.input-shell input,.compact-number input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.9rem}.input-shell input:disabled{color:#8c857d;-webkit-text-fill-color:#8c857d;opacity:1}.unit{color:var(--quiet);white-space:nowrap;margin-left:8px;font-size:.68rem}.field-help{color:var(--quiet);margin-top:8px;font-size:.61rem;line-height:1.45}.field-title-row{align-items:flex-start}.toggle{color:var(--quiet);cursor:pointer;flex:none;align-items:center;gap:6px;font-size:.63rem;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#d5cec5;border-radius:999px;width:33px;height:19px;transition:background .16s;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000002e}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(14px)}.toggle.disabled{opacity:.45}.subsection,.member-section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.subsection-title-row p{color:var(--quiet);margin:4px 0 0;font-size:.65rem}.compact-number{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;width:132px;padding:9px 11px;display:flex}.compact-number b{color:var(--quiet);white-space:nowrap;font-size:.64rem}.text-button{width:100%;color:var(--accent-deep);cursor:pointer;background:#faf6f0;border:1px solid #dfd4c7;border-radius:11px;margin-top:14px;padding:11px 14px;font-size:.72rem;font-weight:760}.chip-list{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.chip-list button{border:1px solid var(--line);color:#625b53;cursor:pointer;background:#fff;border-radius:9px;min-width:44px;padding:7px 10px;font-size:.68rem}.chip-list button.selected{background:var(--accent-soft);color:var(--accent-deep);border-color:#cf7a38;font-weight:800}.switch-card{justify-content:space-between;gap:16px}.validation-panel{color:#76531d;background:#fff9e9;border:1px solid #e8c997;border-radius:12px;margin:14px 0;padding:14px;font-size:.72rem;line-height:1.65}.validation-panel.critical{color:var(--danger);background:#fff1ef;border-color:#e4b3ae}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d6762e,#aa4e12);border:0;border-radius:13px;width:100%;min-height:48px;margin-top:14px;font-size:.83rem;font-weight:800;box-shadow:0 12px 25px #aa4e1233}.calculation-message{color:var(--success);text-align:center;margin:10px 0 0;font-size:.7rem}.status-pill{color:var(--quiet);background:#eee9e2;border-radius:999px;padding:6px 10px;font-size:.65rem;font-weight:800}.status-pill.ready{color:var(--success);background:#e8f3eb}.result-content{gap:14px;display:grid}.primary-result,.result-summary{color:#fff;background:linear-gradient(145deg,#302b26,#1f1c19);border-radius:17px;padding:23px}.primary-result>span,.result-summary>span{color:#d5c9bb;letter-spacing:.08em;font-size:.67rem;font-weight:800}.primary-result>div{align-items:baseline;gap:8px;margin-top:8px;display:flex}.primary-result strong{letter-spacing:-.04em;font-size:clamp(2.1rem,8vw,3.4rem);line-height:1}.primary-result b{color:#e09a62}.primary-result p,.result-summary p{color:#cfc5ba;margin:10px 0 0;font-size:.7rem;line-height:1.55}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;gap:7px;min-width:0;padding:15px;display:flex}.metric-card.accent{background:#fff8f1;border-color:#e7c6aa}.metric-card span{color:var(--quiet);font-size:.64rem}.metric-card strong{overflow-wrap:anywhere;font-size:.92rem}.detail-list{margin:2px 0 0;padding:0 2px}.detail-list>div{border-bottom:1px solid #eee8e0;justify-content:space-between;gap:12px;padding:10px 0;font-size:.69rem;display:flex}.detail-list dt{color:var(--quiet)}.detail-list dd{text-align:right;margin:0}.process-panel,.candidate-notes,.warning-list{color:var(--muted);background:#f5f1eb;border-radius:12px;padding:15px;font-size:.68rem;line-height:1.65}.process-panel p,.candidate-notes p,.warning-list p{margin:7px 0 0}.process-assumption{border-top:1px solid #ded6cc;padding-top:9px}.result-empty{color:var(--quiet);text-align:center;padding:56px 20px}.result-empty strong{color:#665f57;font-size:.88rem}.result-empty p{max-width:280px;margin:10px auto 0;font-size:.7rem;line-height:1.65}.scope-warning{margin-bottom:0}.member-heading{align-items:flex-start}.member-heading h3{margin:0;font-size:.9rem}.member-heading p{color:var(--quiet);margin:4px 0 0;font-size:.65rem}.member-heading>span{color:#676058;background:#eae6e0;border-radius:999px;padding:5px 9px;font-size:.62rem;font-weight:800}.member-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.option-block,.options-two-up,.member-section>.field-card{margin-top:18px}.result-summary{background:linear-gradient(145deg,#42362c,#27221e)}.result-summary strong{margin-top:8px;font-size:1.25rem;display:block}.candidate-card,.alternative-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px}.candidate-topline{align-items:flex-start}.candidate-topline>div:first-child{gap:4px;display:grid}.candidate-topline span{color:var(--quiet);font-size:.64rem}.utilization{text-align:right;display:grid}.utilization b{color:var(--accent);font-size:1.25rem}.member-result-list{gap:9px;margin:16px 0;display:grid}.member-result{background:#f8f5f0;border-radius:11px;padding:12px}.member-result span,.member-result small{color:var(--quiet);font-size:.62rem}.member-result p{margin:7px 0 4px;font-size:.7rem;line-height:1.5}.check-list{gap:10px;margin-top:14px;display:grid}.check-item{background:#faf8f4;border:1px solid #e8e1d8;border-radius:12px;padding:12px}.check-item.warning{background:#fffaf0;border-color:#e6c995}.check-item.fail{background:#fff6f3;border-color:#e2a89a}.check-item-heading,.check-utilization-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.check-item-heading span{color:var(--ink);font-size:.72rem;font-weight:750}.check-item-heading em{color:var(--success);background:#e9f3ed;border-radius:999px;padding:3px 7px;font-size:.6rem;font-style:normal;font-weight:750}.check-item.warning .check-item-heading em{color:#a65b12;background:#fff0d9}.check-item.fail .check-item-heading em{color:#aa3f2c;background:#fbe3dc}.check-item i{background:var(--success);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.check-item i.warning{background:#c77a24}.check-item i.fail{background:#bf4e39}.check-value{color:var(--ink);margin-top:10px;font-size:.86rem;display:block}.check-breakdown{color:var(--muted);margin:5px 0 10px;font-size:.67rem;line-height:1.55}.check-utilization-row{color:var(--quiet);border-top:1px solid #eee8e0;padding-top:8px;font-size:.65rem}.check-utilization-row b{color:var(--accent);font-size:.82rem}.check-warning{color:#745326;border-top:1px dashed #dfc7ae;margin-top:10px;padding-top:9px;font-size:.66rem;line-height:1.65}.check-warning summary,.general-warning summary{color:#9a5314;cursor:pointer;font-weight:750}.check-warning p{margin:7px 0 0}.alternative-list{gap:9px;display:grid}.alternative-card p{color:#5f5850;margin:8px 0 0;font-size:.67rem}.alternative-card span,.alternative-card small{color:var(--quiet);font-size:.63rem}.connection-notice{background:#fff8ef;border:1px solid #ead8c7;margin-top:0}.connection-notice p{margin:6px 0 0}.warning-list{color:#745326;background:#fff8ec}.general-warning+.general-warning{border-top:1px solid #ecd9bd;margin-top:10px;padding-top:10px}.general-warning p{margin:7px 0 0}.page-footer{padding:34px 20px calc(34px + env(safe-area-inset-bottom));color:var(--quiet);text-align:center;font-size:.68rem}@media (max-width:920px){.page-hero,.workspace-grid{grid-template-columns:1fr}.page-hero{align-items:start;gap:22px}.result-column{position:static}}@media (max-width:640px){.home-hero{padding-top:calc(48px + env(safe-area-inset-top))}.home-hero h1,.page-hero h1{font-size:2rem}.calculator-card{border-radius:20px;gap:13px;min-height:116px;padding:18px}.calculator-index{width:40px;height:40px}.page-shell{width:min(100% - 20px,1180px);padding-top:34px}.app-header-inner{width:calc(100% - 20px)}.panel{border-radius:18px;padding:18px}.page-hero{padding-inline-start:5px;padding-inline-end:5px}.mode-layout,.mode-subrow,.options-two-up,.field-grid,.choice-group.three-up{grid-template-columns:1fr}.choice-group.three-up .choice-button{min-height:52px}.choice-button{min-height:55px}.heading-meta{display:none}.field-title-row{gap:8px}.scope-note{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
