:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#23352e;background:#e9eeeb;--accent:#087e6a;--ink:#183d32;--muted:#677970;--line:#dce4de;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;min-height:44px;padding:10px 14px;font-weight:600}button:hover{background:#edf6f0;border-color:#88afa0}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c48528;outline-offset:3px}a{color:#076b59;overflow-wrap:anywhere}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-1.2px;margin:5px 0 0;font-weight:750}h1 span{font-weight:400}h2{font-size:25px;letter-spacing:-.7px;margin:6px 0}h3{font-size:17px;margin:23px 0 12px}p{line-height:1.65}small{font-size:12px}input,select,textarea{width:100%;border:1px solid #bdcdc3;background:#fbfcfa;border-radius:10px;min-height:48px;padding:10px 12px;color:#223d30;font-size:16px;max-width:100%}textarea{min-height:100px;resize:vertical}select{padding-right:28px}input[aria-invalid=true]{border-color:#b14434;background:#fff5f2}.app{max-width:560px;margin:auto;min-height:100vh;background:#f9fbf8;padding:25px 24px calc(115px + env(safe-area-inset-bottom));box-shadow:0 0 80px #28423612}.brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.brand>button{font-size:13px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:#64766b}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:21px}.toolbar label{display:flex;align-items:center;gap:7px;color:var(--muted)}.toolbar select{font-size:12px;min-height:36px;padding:5px;width:105px}.text-button{border:0;background:transparent;font-size:11px;min-height:36px;padding:5px}.dashboard{background:#173e32;border-radius:17px;overflow:hidden;margin-bottom:29px;box-shadow:0 7px 15px #153b2915;color:#f6f9ef}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 17px 2px;font-size:10px;font-weight:600;letter-spacing:1.4px}.dashboard-heading>div{display:flex;gap:3px}.dashboard-heading button{background:transparent;border:0;color:#dcf3dd;padding:3px;min-width:32px;min-height:32px;font-size:22px}.dashboard-heading button.help{font-size:12px}.dashboard-body{display:block;width:100%;color:inherit;background:transparent;border:0;border-radius:0;padding:10px 17px 14px;text-align:left}.dashboard-body:hover{background:#1b493b}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding-bottom:17px}.summary-grid>div{min-width:0}.summary-grid span{display:block;color:#b3c9ba;font-size:11px;font-weight:400}.summary-grid strong{display:block;font-size:24px;line-height:1.35;overflow-wrap:anywhere;letter-spacing:-.6px;margin:3px 0}.summary-grid small{font-size:11px;font-weight:400;color:#b9d6bf;letter-spacing:0}.summary-grid em{font-size:10px;font-style:normal;font-weight:400;color:#b9d6bf}.summary-footer{display:block;border-top:1px solid #ffffff25;padding-top:11px;font-size:11px;color:#d5e6cb}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.progress-chip{border:1px solid #cfddce;border-radius:20px;font-size:10px;white-space:nowrap;padding:6px 9px;color:#42694d}.progress-track{height:3px;background:#e0e9df;border-radius:2px;margin:12px 0 8px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--accent);transition:width .2s}.progress-copy{color:var(--muted);font-size:11px;margin-bottom:19px}.pane-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-bottom:12px}.pane-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:10px 3px;font-size:13px;font-weight:500;color:#78867e}.pane-tabs button.active{border-color:var(--accent);color:var(--ink);font-weight:700}.pane{animation:enter .2s ease-out}.pane.results{animation-name:enter-results}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0 21px}.mode-row p{font-size:10px;color:var(--muted);margin:0}.switch{display:flex;gap:7px;align-items:center;font-size:12px}.switch input{width:16px;height:16px;min-height:16px;accent-color:var(--accent)}.field{margin-bottom:23px;scroll-margin:20px}.field-title{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin-bottom:3px}.field-title label{font-size:13px;font-weight:650}.help{border-radius:50%;width:25px;min-height:25px;max-height:25px;padding:0;font-size:11px;font-weight:700;flex-shrink:0;background:transparent;color:#587b65;border-color:#b9ccbd}.field-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:10px;color:#79867a;margin-bottom:7px;line-height:1.5}.field-meta span{color:#64816b}.preset-slider{min-height:24px;height:24px;padding:0;accent-color:var(--accent);border:0;background:transparent;margin-top:6px}.slider-caption{font-size:9px;color:#829080}.error{font-size:12px;color:#a23527;margin:5px 0}.primary{background:var(--accent);color:#fff;width:100%;border:0;margin-top:14px;padding:14px}.primary:hover{background:#086d59;color:#fff}.save-actions{display:flex;align-items:center;gap:8px;margin:12px 0}.save-actions>button:not(.help){flex:1;font-size:11px}.next{display:block;width:100%;margin-top:20px;background:#edf3e9;font-size:12px;text-align:left;border-color:#d4e0ce}.muted{color:var(--muted);font-size:12px}.result-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:17px 0}.result{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;min-width:0}.result-open{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;border-radius:0;padding:13px;min-height:150px;font-weight:400;gap:8px;background:transparent}.result-label{font-size:11px;line-height:1.5;color:#5c7062}.result strong{font-size:23px;font-weight:650;letter-spacing:-.7px;overflow-wrap:anywhere;max-width:100%}.unit{font-size:10px;color:#829083}.badge{display:inline-block;border-radius:4px;background:#edf2ea;color:#5b735f;padding:3px 5px;font-size:9px;margin-top:auto}.result.unknown .badge,.result.missing .badge,.result.unsupported .badge{background:#fcf2d9;color:#8b6a28}.result.invalid .badge{background:#ffebe5;color:#a23527}.result.estimate .badge{background:#eef1fd;color:#5a6493}.reuse{border-top:1px solid #edf0ea;padding:5px 10px;display:flex;gap:6px;align-items:center;font-size:9px;color:var(--muted)}.reuse button{border:0;min-height:25px;min-width:25px;padding:3px;font-size:10px;background:#f2f5ee}.result-list{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.result.compact .result-open{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:75px;padding:12px;gap:5px 10px}.compact .result-label{grid-column:1;grid-row:1;font-size:11px}.compact strong{font-size:15px;max-width:160px;text-align:right;grid-column:2;grid-row:1}.compact .unit{grid-column:2;text-align:right;font-size:9px}.compact .badge{grid-row:2;grid-column:1;justify-self:start;font-size:8px}.coverage-box{border:1px solid #d9e3d4;background:#f1f5ec;padding:16px;border-radius:12px;margin:18px 0}.coverage-box p{font-size:12px}.coverage-box h3{margin-top:0}.page-footer{text-align:center;font-size:9px;color:#8a968c;line-height:1.9;margin-top:35px;overflow-wrap:anywhere}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(560px,100%);background:#fafcf8ed;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;z-index:5}.bottom-nav>button:first-child{flex:1;border:0;background:transparent;text-align:left;font-size:13px}.bottom-nav span{float:right;font-size:10px;color:#819077;padding-top:3px}.notice,.snapshot-banner{background:#e9f3e0;border:1px solid #ccddc2;border-radius:10px;padding:12px;font-size:12px;margin-bottom:15px;line-height:1.6;overflow-wrap:anywhere}.notice button{font-size:10px;margin:5px;min-height:28px;padding:5px}.snapshot-banner>*{display:block;margin:6px 0}.snapshot-banner{background:#fff5d9}.snapshot-banner span{font-size:10px}.warning{padding:12px;border-radius:8px;background:#fff4d8;color:#765d29;font-size:12px}dialog{border:1px solid #d2dfd0;border-radius:19px;background:#f9fbf7;color:#23392b;width:min(530px,calc(100% - 24px));max-height:calc(90dvh - env(safe-area-inset-bottom));padding:0;box-shadow:0 25px 100px #001b2750}dialog::backdrop{background:#102a2566;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f9fbf7;z-index:1}.dialog-head h2{font-size:19px;margin:0;overflow-wrap:anywhere}.dialog-head button{font-size:11px;min-height:36px}.dialog-body{padding:18px;overflow-wrap:anywhere}.dialog-body>p{font-size:13px}.dialog-body section{margin:20px 0 28px}.dialog-body label{display:block;font-size:13px;margin-bottom:8px}.dialog-body details summary{font-size:12px;cursor:pointer;padding:10px 0}.dialog-body details .result{margin-bottom:8px}.dialog-body ul{padding-left:20px;font-size:12px;line-height:1.8}.dialog-body .detail-number{font-size:30px}.explanation{font-size:17px!important;line-height:2}.section-menu{display:flex;flex-direction:column;gap:7px}.section-menu>button{display:flex;align-items:center;gap:15px;text-align:left;padding:12px;border-color:transparent}.section-menu>button[aria-current]{background:#e9f2e3;border-color:#b9d5b4}.section-menu small{display:block;font-size:10px;color:#7b8a7c;margin-top:5px}.section-menu strong{font-size:13px}.progress-ring{width:49px;height:49px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.progress-ring b{width:41px;height:41px;display:grid;place-items:center;background:#fafcf8;border-radius:50%;font-size:10px}.saved-item{padding:10px 0 20px;border-bottom:1px solid var(--line)}.saved-item p{font-size:10px}.saved-item button{margin-right:8px;font-size:12px}.saved-item h3{margin-top:5px}@keyframes enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes enter-results{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media(max-width:360px){.app{padding-left:16px;padding-right:16px}.toolbar{gap:3px}.toolbar label{font-size:10px;gap:4px}.toolbar select{width:95px}.toolbar .text-button{font-size:9px}.summary-grid strong{font-size:21px}.bottom-nav span{display:block;float:none}.result-open{padding:10px}.result strong{font-size:20px}.compact strong{max-width:115px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}dialog.navigation-sheet{margin:auto auto 0;border-radius:19px 19px 0 0;animation:sheet-in .2s ease-out;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dashboard-heading{padding:10px 16px;letter-spacing:1px;gap:8px}.dashboard-heading button{min-height:44px;min-width:44px}.dashboard-heading button:first-child{font-size:12px;letter-spacing:0;padding:8px}.dashboard-heading button:first-child span{font-size:20px;vertical-align:middle;margin-right:3px}.gpu-recommendation{padding:5px 17px 17px;text-align:left}.gpu-kicker{font-size:10px;letter-spacing:1.2px;color:#b5d9c4}.gpu-recommendation h3{margin:8px 0;font-size:21px;line-height:1.4;overflow-wrap:anywhere}.gpu-recommendation p{font-size:12px;line-height:1.7;margin:7px 0;color:#d4e7db}.gpu-recommendation h4{font-size:13px;margin:18px 0 5px}.gpu-recommendation details{font-size:12px;margin:13px 0;line-height:1.8}.gpu-recommendation summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.gpu-recommendation details ul{padding-left:18px}.gpu-recommendation details li{margin:8px 0}.gpu-candidates{padding:0;list-style:none;display:grid;gap:8px}.gpu-candidates li{border:1px solid #ffffff30;border-radius:10px;padding:11px;font-size:12px;line-height:1.6}.gpu-candidates strong,.gpu-candidates span{display:block}.gpu-candidates a{color:#b6e6d7;font-size:11px;display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:10px 0}.candidate-limit{color:#ffe0a8}.gpu-action{width:100%;margin-top:7px;text-align:left;font-size:12px;background:#e7f3e9}.dashboard-body{border-top:1px solid #ffffff25}.coverage-box .gpu-recommendation{padding:0;color:var(--ink)}.coverage-box .gpu-recommendation p,.coverage-box .gpu-kicker{color:var(--muted)}.coverage-box .gpu-candidates li{border-color:var(--line);background:#fff}.coverage-box .gpu-candidates a{color:var(--accent)}.coverage-box .candidate-limit{color:#8b5425}.length-note{font-size:12px;color:var(--muted);line-height:1.7}.dialog-head button{min-width:64px;min-height:44px}.dialog-head h2:focus{outline:none}.help{min-width:44px;min-height:44px;max-height:44px;width:44px}.field-title{margin-bottom:0}.explanation{font-size:16px!important;line-height:1.9}.gpu-compact{padding:0 17px 14px;display:grid;gap:5px}.gpu-compact strong{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gpu-compact span{font-size:11px;color:#c5ddce}.gpu-compact button{min-height:44px;text-align:left;font-size:12px;margin-top:4px}.readiness{border-left:3px solid #b9d6c7;padding:3px 0 3px 12px;margin:10px 0 18px;font-size:12px}.readiness .progress-copy{margin:0 0 6px}.readiness strong{display:block;font-size:13px}.readiness p{margin:5px 0;color:var(--muted);font-size:11px}.readiness small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.readiness details{margin-top:8px}.readiness summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-size:12px}.readiness ul{padding-left:16px}.readiness li{margin:7px 0;line-height:1.6}.readiness li button{font-size:11px;text-align:left;padding:7px}.connection-status{background:#edf3e9;border-radius:8px;padding:12px}code{overflow-wrap:anywhere}.planning-mode{border:1px solid #d0ddce;border-radius:10px;padding:12px;margin:14px 0}.planning-mode label{display:block;font-size:12px;font-weight:650;margin-bottom:8px}.automatic-decision{border:1px solid #ffffff35;border-radius:11px;padding:12px;margin:12px 0}.automatic-decision h4{margin:10px 0;font-size:16px}.automatic-decision a{color:#c8edde;display:inline-flex;min-height:44px;align-items:center;font-size:12px}.automatic-decision .auto-limits{font-size:11px}.coverage-box .automatic-decision{border-color:var(--line)}.coverage-box .automatic-decision a{color:var(--accent)}
