@font-face{font-family:DM Sans;src:url(/antenna-designer/fonts/DM-Sans-Variable.ttf) format("truetype");font-weight:100 1000;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/antenna-designer/fonts/IBM-Plex-Mono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/antenna-designer/fonts/IBM-Plex-Mono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/antenna-designer/fonts/IBM-Plex-Mono-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#283b34;background:#f3f4ef;font-synthesis:none;--bg: #f3f4ef;--panel: #fff;--ink: #283b34;--muted: #7c8780;--faint: #9ca69f;--line: #e6e9e2;--subtle: #f7f8f4;--green: #38614c;--green-soft: #edf3ec;--copper: #b16b36;--copper-soft: #f7eee4;--preview: #eef1e9;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shadow: 0 4px 18px #233c2e05}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:3px}input:focus,select:focus{outline:none}input:focus-visible,select:focus-visible{box-shadow:0 0 0 2px #b16b3625;border-color:var(--copper)}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,p{margin:0}small{font-size:11px}svg{flex-shrink:0}input{color:var(--ink);background:transparent;min-width:0}button,.button,a,summary{transition:background .15s,color .15s,border-color .15s}button:hover:not(:disabled){filter:brightness(.97)}code{font-family:var(--mono);font-size:.9em}details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}.app-shell{min-height:100vh}.topbar{height:67px;background:#1d3029;color:#d8e2da;display:flex;align-items:center;justify-content:space-between;padding:0 31px}.brand{display:flex;gap:10px;align-items:center;font-size:28px;letter-spacing:-1.6px;font-weight:650}.brand-dot{color:#c89564}.brand-icon{background:#d6e2d9;color:#244133;display:grid;place-items:center;width:33px;height:33px;border-radius:9px;letter-spacing:0}.brand b{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:1.2px;color:#8fa397;align-self:center;border-left:1px solid #486052;margin-left:8px;padding-left:18px}.top-actions{display:flex;align-items:center;gap:19px}.quiet-btn{display:flex;align-items:center;gap:8px;font-size:12px;color:#c7d2ca}.top-divider{width:1px;height:22px;background:#40534a}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:5px;color:var(--muted)}.icon-btn:hover{background:var(--green-soft);color:var(--green)}.theme-btn{color:#c7d2ca}.theme-btn:hover{background:#314a3e;color:#fff}.local-badge{display:flex;gap:7px;align-items:center;font:9px var(--mono);letter-spacing:.8px;color:#93aa9c}.local-badge>span{width:5px;height:5px;background:#8aa888;border-radius:50%}.project-menu-wrap{position:relative;z-index:20}.project-menu{position:absolute;right:0;top:35px;width:310px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:12px;box-shadow:0 12px 45px #10251c30}.project-menu .eyebrow{margin:9px 8px}.project-menu button{width:100%;padding:10px 8px;display:flex;gap:11px;align-items:center;text-align:left;font-size:12px;border-radius:5px}.project-menu button:hover{background:var(--subtle)}.project-menu small{display:block;color:var(--muted);margin-top:3px}.saved-row{display:flex;align-items:center}.saved-row>button:last-child{width:30px}.empty-small{font-size:11px;color:var(--muted);padding:10px 8px}.project-heading{max-width:1860px;margin:auto;padding:28px 31px 26px;display:flex;justify-content:space-between;gap:15px;align-items:center}.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font:9px var(--mono);letter-spacing:1px;margin-bottom:10px}.project-title{display:flex;align-items:center;gap:12px}.project-title input{border:0;font-size:25px;font-weight:550;letter-spacing:-.7px;width:min(44vw,505px);max-width:100%;padding:0;line-height:1.5}.receive-badge{font:9px var(--mono);letter-spacing:.7px;color:#8b6b44;border:1px solid #dfd3bb;border-radius:4px;padding:4px 6px;white-space:nowrap}.project-heading p{font-size:12px;color:var(--muted);margin-top:5px}.heading-actions{display:flex;gap:9px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 13px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent}.button.subtle{border-color:#dbe0d7;background:var(--panel);color:var(--ink);box-shadow:0 2px 3px #203a2703}.button.subtle:hover{border-color:#9aada0}.button.share{border:1px solid var(--line);color:var(--muted)}.button.primary{background:#365d47;color:#fff;border:1px solid #365d47;box-shadow:0 2px 3px #203a2710}.button.primary:hover{background:#2c503c}.button.small{height:32px;padding:0 11px;font-size:10px}.workbench{max-width:1860px;padding:0 31px;display:grid;grid-template-columns:270px minmax(380px,1fr) 260px;gap:15px;align-items:stretch}.panel{background:var(--panel);border:1px solid #dfe5da;border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;gap:9px;height:52px;padding:0 18px;border-bottom:1px solid var(--line)}.panel-heading>svg{color:#687e70}.panel-heading h2{font-size:12px;font-weight:600;flex:1}.panel-heading .icon-btn{margin-right:-8px}.config-panel{height:639px}.config-body{height:calc(100% - 52px);overflow:auto;scrollbar-width:thin;scrollbar-color:#cfd8ca transparent}.config-section{padding:20px 18px 18px;border-bottom:1px solid var(--line)}.section-label{display:flex;gap:8px;align-items:center;font:9px var(--mono);letter-spacing:1px;color:#64766a;margin-bottom:15px}.section-label>span{color:#a8b3a7;font-size:9px}.type-selector{display:flex;gap:8px;margin-bottom:16px}.type-selector>button{width:50%;border:1px solid var(--line);border-radius:5px;padding:12px 10px 10px;position:relative;text-align:left;min-width:0;color:#7c8a7e}.type-selector>button>svg{margin-bottom:9px}.type-selector>button span{font-size:11px;font-weight:600;color:var(--ink);display:block}.type-selector>button small{font-size:9px;font-weight:400;display:block;color:var(--muted);margin-top:3px}.type-selector>button.active{border-color:#7e9981;background:#f2f6ef;color:#477252}.type-selector>button>i{position:absolute;width:9px;height:9px;border:1px solid #cdd6c9;top:10px;right:9px;border-radius:50%}.type-selector>button.active>i{background:#527b58;border-color:#527b58;box-shadow:inset 0 0 0 2px #f2f6ef}.field{display:block;min-width:0;margin-bottom:13px}.field>span,.field-label{display:flex;align-items:center;gap:5px;font-size:10px;color:#6a7d6e;margin-bottom:6px;font-weight:500}.help-dot{color:var(--faint)}.select-wrap{position:relative}.select-wrap>svg{position:absolute;right:10px;top:11px;pointer-events:none;color:#8e9e90}.select-wrap select{appearance:none;width:100%;height:34px;border-radius:4px;border:1px solid #dfe5d9;background:var(--panel);color:var(--ink);font-size:10.5px;padding:0 28px 0 10px;cursor:pointer}.number-field{display:flex;align-items:center;border:1px solid #dfe5d9;border-radius:4px;height:34px;overflow:hidden;background:var(--panel)}.number-field:focus-within{border-color:var(--copper)}.number-field input{width:100%;height:100%;border:0;font:11px var(--mono);padding:0 9px}.number-field input:focus-visible{box-shadow:none}.number-field em{font:9px var(--mono);font-style:normal;color:#9aa69b;padding:0 9px 0 0;white-space:nowrap}.number-field input::-webkit-inner-spin-button{width:10px;opacity:0}.number-field:hover input::-webkit-inner-spin-button{opacity:.7}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field-triple{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.field-triple .number-field em{display:none}.field-triple .number-field input{padding:0 6px}.frequency-field{display:flex;align-items:center;background:#f7f8f3;border:1px solid #d8dfd1;border-radius:5px;height:49px;margin-bottom:9px}.frequency-field input{width:100%;border:0;font:500 24px var(--mono);letter-spacing:-1px;padding:0 11px;height:100%}.frequency-field input:focus-visible{box-shadow:none}.frequency-field span{font:11px var(--mono);color:#87967f;padding:0 11px 0 2px}.frequency-field input::-webkit-inner-spin-button{display:none}.frequency-field:focus-within{border-color:#81a17b}.frequency-field.invalid{border-color:#b95948}.presets{display:flex;gap:6px}.presets button{font:9px var(--mono);border:1px solid #e4e9df;flex:1;border-radius:4px;padding:5px;color:#88927f;background:var(--subtle)}.presets button.active{background:#eaf0e3;color:#466941;border-color:#d4dfc9}.wavelength{display:flex;justify-content:space-between;margin-top:14px;font-size:10px;color:var(--muted)}.wavelength b{font:10px var(--mono);color:#526951}.inline-details{margin-top:14px}.inline-details summary{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.inline-details[open] summary{margin-bottom:12px}.material-note{display:flex;align-items:flex-start;gap:6px;font-size:9px;color:var(--muted);line-height:1.5;margin:-5px 0 14px}.copper-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c38850;box-shadow:inset 0 0 0 1px #b2703850;flex-shrink:0;margin-top:2px}.toggle-row{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:10px;color:#72816f;margin:13px 0;cursor:pointer;position:relative}.toggle-row input{position:absolute;opacity:0;right:0;width:28px;height:16px}.toggle-row i{width:26px;height:14px;background:#dce2d7;border-radius:20px;flex-shrink:0;position:relative;pointer-events:none}.toggle-row i:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:2px;left:2px;box-shadow:0 1px 2px #0002;transition:left .15s}.toggle-row input:checked+i{background:#668466}.toggle-row input:checked+i:after{left:14px}.toggle-row input:focus-visible+i{outline:2px solid var(--copper);outline-offset:2px}.p25-note{display:flex;gap:8px;background:#f2f5ed;border:1px solid #e4eada;border-radius:4px;padding:10px;margin:-3px 0 15px;color:#6b8356}.p25-note>svg{margin-top:1px}.p25-note p{font-size:10px;font-weight:600;line-height:1.5}.p25-note small{display:block;font-weight:400;font-size:9px;line-height:1.5;color:#869178;margin-top:3px}.advanced{margin-top:15px}.advanced>summary{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#71816d;border-top:1px dashed var(--line);padding-top:13px}.advanced[open]>summary{margin-bottom:17px}.units-setting{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;color:var(--muted);font-size:10px}.segmented{display:flex;background:var(--subtle);padding:3px;border:1px solid var(--line);border-radius:5px}.segmented button{padding:4px 9px;font-size:9px;color:#879581;border-radius:3px}.segmented button.active{background:var(--panel);box-shadow:0 1px 4px #233c2e14;color:#496443}.small-note{font-size:10px;color:var(--muted);line-height:1.7;margin-bottom:10px}.error-text{color:#b04c37!important;font-size:11px;line-height:1.5;margin-top:9px}.preview-panel{height:639px;display:flex;flex-direction:column}.preview-heading{height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid var(--line);flex-shrink:0}.eyebrow{font:8px var(--mono);letter-spacing:1px;color:#93a18e;display:block;margin-bottom:7px}.preview-heading h2{font-size:15px;font-weight:550;display:flex;align-items:center;gap:9px}.status-dot{width:5px;height:5px;background:#6a8d5d;border-radius:50%;display:inline-block}.model-tag{font:8px var(--mono);letter-spacing:.5px;border:1px solid var(--line);border-radius:4px;padding:5px 7px;display:flex;align-items:center;gap:5px;color:#8a9a82}.preview-stage{flex:1;min-height:0;position:relative;background:radial-gradient(ellipse at 50% 45%,#f7f8f3,#edf1e7);overflow:hidden}.three-host{position:absolute;inset:0;overflow:hidden}.three-host canvas{display:block;touch-action:none}.viewport-toolbar{display:flex;align-items:center;justify-content:space-between;position:absolute;top:16px;left:18px;right:18px;z-index:3;pointer-events:none}.viewport-toolbar>div{pointer-events:auto}.viewport-toolbar>div:last-child{display:flex;gap:5px}.view-segmented{background:#f4f7efe0;border-color:#d9e1d3}.view-segmented button{padding:5px 9px}.tool-btn{width:31px;height:31px;background:#f6f8f1b3;border:1px solid #dbe3d5;color:#8b9982}.tool-btn.active{background:#e4ebdc;color:#5d7751}.cad-loading{position:absolute;left:18px;top:59px;display:flex;gap:6px;align-items:center;font:9px var(--mono);color:#819173;padding:5px 7px;background:#f6f8f1c9;border-radius:4px}.cad-error{position:absolute;bottom:38px;left:12px;right:12px;background:#ffefe9;padding:12px;font-size:10px;color:#a04e31;display:flex;gap:8px;z-index:4}.model-label{position:absolute;display:flex;align-items:center;gap:6px;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:auto;border-radius:4px;padding:4px 6px;border:1px solid #d5dfcf;background:#fbfcf7e6;box-shadow:0 2px 4px #263f1b07;font:9px var(--mono);z-index:2}.model-label strong{font-size:9px;color:#62765a;font-weight:500}.model-label span{color:#87927f;font-size:8px}.model-label:after{content:"";width:1px;height:9px;background:#a6b49b;position:absolute;bottom:-9px;left:50%;opacity:.7}.model-label.feed-label{background:#fcf1e4;border-color:#e0c6a2}.model-label.feed-label strong{color:#a87844}.model-label.selected{border-color:#a76c31;box-shadow:0 0 0 2px #be874225}.preview-axis{position:absolute;bottom:30px;left:25px;width:46px;height:42px;font:8px var(--mono);pointer-events:none}.preview-axis i{height:31px;width:1px;background:#91a89b;position:absolute;left:19px;top:3px}.preview-axis i:after{content:"";height:1px;width:31px;background:#be9480;position:absolute;left:0;top:30px;transform:rotate(-18deg);transform-origin:left}.preview-axis i:before{content:"";height:1px;width:23px;background:#9facae;position:absolute;left:-20px;top:30px;transform:rotate(23deg);transform-origin:right}.axis-z{position:absolute;left:17px;top:-7px;color:#7c9889}.axis-x{position:absolute;right:-4px;bottom:9px;color:#b58e7c}.axis-y{position:absolute;left:-5px;bottom:-1px;color:#8ea19c}.view-help{position:absolute;bottom:14px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:9px;font:7px var(--mono);letter-spacing:.7px;color:#9fae94;pointer-events:none}.view-help i{width:2px;height:2px;background:#adb9a4;border-radius:50%}.selection-info{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;gap:12px;align-items:center;font-size:10px;background:var(--panel);border:1px solid var(--line);padding:6px 8px 6px 12px;border-radius:5px;box-shadow:0 4px 20px #23422214;white-space:nowrap}.selection-info b{color:var(--copper);font:10px var(--mono);margin-right:6px}.selection-info strong{font:10px var(--mono)}.preview-footer{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid var(--line);font-size:8px;flex-shrink:0}.material-key{display:flex;gap:14px}.material-key span{display:flex;align-items:center;gap:4px;color:#8a9585;white-space:nowrap}.material-key i{width:6px;height:6px;border-radius:50%}.key-copper{background:#bc8251}.key-plastic{background:#607a67}.key-coax{background:#3a423c}.key-solder{background:#b6beb4}.preview-scale{font:8px var(--mono);color:#97a18e;white-space:nowrap}.model-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 18px;background:#fbfcf9;border-top:1px solid var(--line);flex-shrink:0}.model-metrics>div{border-right:1px solid var(--line);padding:0 11px}.model-metrics>div:first-child{padding-left:0}.model-metrics>div:last-child{border:0;padding-right:0}.model-metrics span{display:block;font-size:8px;color:#8f9d86;margin-bottom:8px}.model-metrics strong{font:500 11px var(--mono);color:#546c4e}.results-panel{height:639px}.live-label{font:8px var(--mono);color:#7a986c;letter-spacing:.6px}.results-body{padding:22px 18px}.frequency-readout>span{font:8px var(--mono);letter-spacing:1px;color:#8e9c85}.frequency-readout>strong{display:block;font:500 28px var(--mono);letter-spacing:-1.3px;margin-top:6px}.frequency-readout strong small{font-size:12px;letter-spacing:0;color:#8c9d82}.frequency-readout>p{font-size:9px;color:#95a08d;margin-top:7px}.method-badge{display:flex;gap:6px;align-items:center;font-size:9px;color:#8c734e;background:#f8f4e9;border:1px solid #ebe3cf;padding:9px 8px;border-radius:4px;margin:19px 0 12px;line-height:1.5}.spec-list>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0e9;padding:11px 0;gap:4px;font-size:9px}.spec-list span{color:#7e8d76;display:flex;align-items:center;gap:4px}.spec-list b{font:10px var(--mono);text-align:right;color:#496340}.spec-list small{font:8px var(--mono);color:#91a086}.text-link{display:inline-flex;align-items:center;gap:5px;padding:0;font-size:9px;color:#69805b;background:none}.results-body>.text-link{margin-top:13px}.build-summary{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.build-summary h3{font:8px var(--mono);letter-spacing:1px;color:#8b9c80;margin-bottom:13px}.build-summary>div{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:9px;color:#7c8c72}.build-summary svg{color:#9cac90}.engineering-note{display:flex;align-items:flex-start;gap:7px;margin-top:20px;background:#f4f6ef;border:1px solid #e8ecdf;padding:10px 9px;border-radius:4px;color:#8d997d}.engineering-note>svg{color:#a5a471;margin-top:1px}.engineering-note p{font-size:8.5px;line-height:1.6}.engineering-note strong{font-weight:500;color:#768564;display:block}.reference-link{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:8px;color:#9aab8e;margin-top:11px}.details-panel{grid-column:1/-1;margin-top:1px;min-height:300px}.bottom-tabs{display:flex;align-items:stretch;height:53px;gap:22px;padding:0 23px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.bottom-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#8a9980;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0 2px}.bottom-tabs button.active{color:#456740;border-bottom-color:#67875e}.bottom-tabs svg{color:#99a68f}.bottom-tabs .active svg{color:#67845d}.bottom-tabs small{font:8px var(--mono);border:1px solid #e0e6d8;background:#f3f6ed;border-radius:3px;padding:2px 4px;color:#8da37d}.tab-content{padding:23px 23px 20px}.content-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.content-heading h2{font-size:15px;font-weight:550;letter-spacing:-.2px}.content-heading h3{font-size:13px;font-weight:550}.content-heading p{font-size:10px;color:#93a087;margin-top:6px;line-height:1.6}.content-heading code{font-size:9px;color:#7a8d6d}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:10px;line-height:1.45}th{font:8px var(--mono);letter-spacing:.7px;color:#96a18b;white-space:nowrap;padding:11px 12px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:#fafbf7}td{padding:12px;border-bottom:1px solid #edf0e8;color:#839174;font-size:9px}td:first-child{white-space:nowrap;color:#607c50}td:first-child strong{font-weight:500}td:last-child{font-size:8.5px;line-height:1.5;max-width:330px}tbody tr:hover{background:#fafcf7}tbody tr.row-selected{background:#faf0df}.element-chip{display:inline-block;font:8px var(--mono);color:#7d976c;background:#f0f4e9;border:1px solid #e1e8d6;border-radius:3px;min-width:26px;max-width:55px;text-align:center;padding:3px 4px;margin-right:10px;overflow:hidden;vertical-align:middle;text-overflow:ellipsis}.element-chip.driven{color:#b38451;background:#faf3e6;border-color:#ecddc1}.mono{font-family:var(--mono);font-size:9px;white-space:nowrap}.cut-value{color:#718c59}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;font-size:8px;color:#a1ad96}.table-footer>span:first-child{display:flex;align-items:center;gap:7px;white-space:nowrap}.table-footer b{font:9px var(--mono);font-weight:500;color:#7b9566;margin-left:5px}.table-footer>span:last-child{text-align:right;line-height:1.5}.guide-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.diagram-card{background:var(--subtle);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:14px;min-width:0}.diagram-card svg{width:100%;height:auto;max-height:470px}.steps{padding-top:3px}.step{display:flex;gap:12px;margin-bottom:19px}.step>span{display:grid;place-items:center;align-self:flex-start;width:25px;height:25px;border:1px solid #dfe7d5;background:#f4f7ed;color:#92a580;font:9px var(--mono);flex-shrink:0;border-radius:50%}.step h3{font-size:11px;font-weight:550;color:#5d7951;margin-top:3px}.step p{font-size:10px;color:#8d9b81;line-height:1.8;margin-top:5px}.safety-note{display:flex;gap:8px;padding:12px;background:#f9f3e7;border:1px solid #ede2ca;border-radius:4px;font-size:9px;line-height:1.7;color:#9b8b65}.safety-note svg{margin-top:3px}.simulation-layout{display:grid;grid-template-columns:290px 1fr;gap:20px}.method-card{border:1px solid var(--line);border-radius:5px;padding:18px;background:var(--subtle)}.method-card h3{font-size:12px;font-weight:550;margin-bottom:9px;line-height:1.5}.method-card>p{font-size:10px;line-height:1.8;color:var(--muted)}.method-card>a{font-size:9px;color:var(--green);display:flex;gap:5px;align-items:center;margin-top:11px}.method-ladder{margin-top:22px;display:grid;gap:14px}.method-ladder span{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--faint)}.method-ladder .complete{color:#688e59}.simulation-results{border:1px solid var(--line);border-radius:5px;min-height:300px;padding:18px;min-width:0}.solver-empty{min-height:265px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#b2bca8;gap:13px;max-width:500px;margin:auto}.solver-empty h3{font-size:13px;font-weight:500;color:#6d8461}.solver-empty p{font-size:10px;line-height:1.8;color:var(--muted);max-width:390px}.solver-empty code{font-size:11px;background:var(--subtle);padding:7px 12px;border:1px solid var(--line);border-radius:4px;color:#7c906d}.assumptions{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:25px;padding:18px 0 0;border-top:1px solid var(--line)}.assumptions h3{font-size:11px;font-weight:550;margin-bottom:7px}.assumptions p{font-size:10px;color:var(--muted);line-height:1.8}.response-plot{border:1px solid var(--line);border-radius:5px;background:var(--subtle);padding:14px 14px 2px;margin-bottom:15px}.chart-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--green);margin-bottom:5px}.chart-title span{display:flex;align-items:center;gap:6px}.chart-title i{width:7px;height:7px;background:var(--copper);border-radius:50%}.chart-title small{font-size:9px;color:var(--muted)}.response-plot svg{width:100%;max-height:230px}.response-plot svg text,.polar-plot text{font:9px var(--mono);fill:var(--muted)}.simulation-table td,.simulation-table th{padding:7px 8px;font:9px var(--mono)}.polar-plot{display:flex;align-items:center;gap:20px;max-width:600px;margin:15px auto}.polar-plot>svg{width:230px;flex-shrink:0}.polar-plot h3{font-size:12px;font-weight:500;margin-bottom:6px}.tuning-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.measurement-card{border:1px solid var(--line);padding:20px;border-radius:6px;background:var(--subtle)}.measurement-card h3{font-size:13px;margin-bottom:7px;font-weight:550}.measurement-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:15px}.measurement-fields>.field:first-child{grid-column:1/-1}.download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.download-card{position:relative;text-align:left;padding:20px 16px;border:1px solid var(--line);border-radius:5px;background:var(--subtle)}.download-card>svg{color:#8ba37d;margin-bottom:17px}.file-ext{position:absolute;right:14px;top:20px;font:8px var(--mono);color:#a1ad96;border:1px solid var(--line);padding:3px 5px;border-radius:3px}.download-card h3{font-size:12px;font-weight:550;margin-bottom:8px}.download-card p{color:var(--muted);font-size:10px;line-height:1.7;min-height:34px;margin-bottom:15px}.download-link{display:flex;align-items:center;gap:6px;font-size:9px;color:#73935d}.mesh-report{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.mesh-report h3{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:500;color:#74945e}.mesh-report span{font:8px var(--mono);color:var(--muted);line-height:1.5}.print-note{display:flex;gap:11px;background:#f3f6ec;border:1px solid #e4ead9;border-radius:4px;padding:14px;margin-top:20px;color:#91a47e}.print-note p{font-size:10px;line-height:1.8}.print-note b{color:#718d5d;font-weight:500}.validation-notes{max-width:1798px;margin:17px auto 0;padding:0 31px;display:flex;align-items:flex-start;gap:15px;font-size:9px;color:#9aa18b}.validation-notes>div{display:flex;align-items:center;gap:7px;white-space:nowrap}.validation-notes strong{font-weight:500}.validation-notes>div>span{font:8px var(--mono);padding:2px 4px;background:#e9eddf;border-radius:3px}.validation-notes details{flex:1}.validation-notes summary{display:flex;align-items:center;gap:6px;color:#96a38a}.validation-notes ul{padding-left:14px;line-height:1.9;font-size:10px;max-width:1100px;margin-top:15px}.app-footer{max-width:1860px;display:flex;align-items:center;justify-content:space-between;padding:24px 31px 26px;color:#a0ad93;font:8px var(--mono);letter-spacing:.5px}.app-footer>span{display:flex;align-items:center;gap:7px}.app-footer i{width:2px;height:2px;background:#b7c1ac;margin:0 3px}.footer-version{margin-left:7px;color:#bac4b0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:9px;align-items:center;max-width:calc(100vw - 36px);padding:13px 15px;border-radius:7px;background:#233e30;color:#e7eee2;border:1px solid #4e6c4f;font-size:11px;box-shadow:0 10px 40px #12271430;line-height:1.5}.toast>svg{color:#abc792}.toast button{display:flex;color:#d5e1cb;margin-left:12px}.export-progress{display:flex;gap:7px;align-items:center;position:fixed;bottom:25px;right:25px;z-index:80;padding:12px 15px;border-radius:6px;background:var(--panel);border:1px solid var(--line);font-size:11px;color:var(--green)}.preview-error{position:absolute;inset:30%;width:50%;font-size:12px;color:var(--muted);text-align:center;line-height:1.8}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark]{--bg: #16241d;--panel: #1e2e24;--ink: #d2dfcb;--muted: #92a18a;--faint: #687d5e;--line: #354430;--subtle: #253629;--green: #b0c69b;--green-soft: #3a4f32;--preview: #253829;background:var(--bg);color:var(--ink);--copper: #cf9a60;--copper-soft: #635036}.app-shell{background:var(--bg)}[data-theme=dark] .panel{border-color:var(--line)}[data-theme=dark] .topbar{background:#101f16}[data-theme=dark] .button.primary{background:#537044;border-color:#5d7e4b}[data-theme=dark] .frequency-field,[data-theme=dark] .model-metrics,[data-theme=dark] th{background:#233324}[data-theme=dark] .frequency-field,[data-theme=dark] .number-field,[data-theme=dark] .select-wrap select{border-color:#3b4c32}[data-theme=dark] .type-selector>button.active,[data-theme=dark] .p25-note,[data-theme=dark] .engineering-note,[data-theme=dark] .print-note,[data-theme=dark] .step>span{background:#2a3f29;border-color:#3c5032}[data-theme=dark] .method-badge,[data-theme=dark] .safety-note{background:#3d3925;border-color:#4d492d}[data-theme=dark] .preview-stage{background:radial-gradient(ellipse at 50% 45%,#3b4d3a,#2b3d2c)}[data-theme=dark] .spec-list>div,[data-theme=dark] td{border-color:var(--line)}[data-theme=dark] tbody tr:hover{background:#2a3e29}[data-theme=dark] .model-label{background:#324b2dec;border-color:#6f8860;color:#bac9ac}[data-theme=dark] .model-label strong{color:#cbdbba}[data-theme=dark] .model-label span{color:#acbd9e}[data-theme=dark] .model-label.feed-label{background:#5b482d;border-color:#9c7a4e}[data-theme=dark] .model-label.feed-label strong{color:#e4c599}[data-theme=dark] .button.subtle,[data-theme=dark] .button.share{border-color:var(--line)}[data-theme=dark] .segmented button.active{color:var(--ink)}@media(min-width:1550px){.workbench{grid-template-columns:295px minmax(500px,1fr) 285px}.config-panel,.preview-panel,.results-panel{height:695px}.preview-heading{height:84px}.config-section{padding:22px}.results-body{padding:26px 22px}.spec-list>div{padding:13px 0;font-size:10px}.frequency-readout>strong{font-size:31px}.engineering-note p{font-size:9.5px}.build-summary>div{font-size:10px;margin-top:12px}.model-metrics{padding:23px}.model-metrics span{font-size:9px}.model-metrics strong{font-size:13px}.preview-scale,.material-key{font-size:9px}}@media(max-width:1200px){.workbench{grid-template-columns:250px minmax(340px,1fr);gap:13px}.results-panel{grid-column:1/-1;height:auto}.results-panel .panel-heading{height:40px}.results-body{padding:16px;display:grid;grid-template-columns:1fr 1.6fr 1.1fr;gap:10px 24px;align-items:start}.frequency-readout{grid-column:1;grid-row:1}.method-badge{grid-column:1;margin:0;grid-row:2}.spec-list{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.spec-list>div{padding:11px 0}.build-summary{grid-column:3;grid-row:1/4;margin:0;padding:0;border:0}.build-summary h3{margin-bottom:8px}.build-summary>div{margin-top:8px}.engineering-note{display:none}.results-body>.text-link{grid-row:3;grid-column:1;margin:0}.reference-link,.brand b,.local-badge{display:none}.project-heading{padding-top:24px}.project-title input{font-size:22px;width:45vw}.heading-actions{gap:6px}.button.share{padding:0 9px}.button.share span,.preview-scale{display:none}.preview-panel,.config-panel{height:620px}.details-panel{grid-column:1/-1}.download-grid{grid-template-columns:repeat(3,1fr)}.guide-grid{gap:20px}.bottom-tabs{gap:24px}.preview-footer{padding:0 15px}.material-key{gap:12px}}@media(max-width:860px){.topbar{padding:0 20px;height:60px}.project-heading{padding:20px;flex-wrap:wrap;gap:16px}.project-title input{width:67vw;font-size:21px}.project-heading p{font-size:11px}.heading-actions{margin-left:auto}.workbench{padding:0 20px;grid-template-columns:230px minmax(0,1fr);gap:12px}.preview-heading{padding:0 15px;height:68px}.preview-heading h2{font-size:13px}.model-tag{display:none}.model-metrics{grid-template-columns:1fr 1fr;gap:15px;padding:16px}.model-metrics>div{padding:0;border:0}.model-metrics span{font-size:8px;margin-bottom:5px}.material-key{gap:8px;font-size:7px}.material-key span:last-child{display:none}.config-section{padding:18px 14px}.config-panel,.preview-panel{height:655px}.panel-heading{padding:0 14px}.results-body{grid-template-columns:1fr 1.5fr;gap:12px 24px}.build-summary{display:none}.simulation-layout{grid-template-columns:1fr}.method-card .method-ladder{grid-template-columns:1fr 1fr;display:grid;gap:15px;margin-top:15px}.guide-grid,.tuning-grid{grid-template-columns:1fr}.diagram-card svg{max-height:400px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.safety-note{grid-column:1/-1}.tuning-grid>.steps{display:block}.download-grid{grid-template-columns:1fr 1fr}.assumptions{grid-template-columns:1fr;gap:15px}.bottom-tabs{padding:0 17px;gap:22px}.tab-content{padding:20px 17px}.table-footer{align-items:flex-start}.app-footer{padding:22px 20px;font-size:7px}.app-footer>span:last-child{display:none}.validation-notes{padding:0 20px;gap:10px}.content-heading{align-items:flex-start}.content-heading h2{font-size:14px}}@media(max-width:620px){.workbench{display:flex;flex-direction:column;padding:0 13px;gap:13px}.topbar{padding:0 16px;height:57px}.brand{font-size:25px}.brand-icon{width:30px;height:30px}.quiet-btn{font-size:11px}.top-actions{gap:10px}.top-divider{display:none}.project-heading{padding:18px 15px 20px}.project-title{gap:7px}.project-title input{font-size:19px;width:calc(100vw - 105px)}.receive-badge{font-size:7px}.breadcrumb{font-size:8px}.project-heading p{font-size:10px}.heading-actions{width:100%;margin-top:3px;justify-content:flex-end}.heading-actions>.button:first-child{margin-right:auto}.button{height:35px;font-size:10px}.config-panel{height:auto;order:2}.config-panel .panel-heading{height:45px}.config-body{max-height:410px;display:grid;grid-template-columns:1fr 1fr;overflow:auto;height:auto}.config-section{padding:16px 13px}.config-section:nth-child(odd){border-right:1px solid var(--line)}.config-section .section-label{font-size:8px;letter-spacing:.7px;gap:6px}.type-selector{gap:5px}.type-selector>button{padding:10px 6px 8px}.type-selector>button>svg{width:19px}.type-selector>button span{font-size:9px}.type-selector>button small{font-size:8px}.select-wrap select{font-size:9px;padding-left:7px}.field>span{font-size:9px}.frequency-field{height:43px}.frequency-field input{font-size:21px;padding-left:9px}.frequency-field span{font-size:9px;padding-right:7px}.presets{gap:4px}.presets button{font-size:8px;padding:5px 3px}.wavelength{font-size:9px;display:block}.wavelength b{display:block;margin-top:4px}.units-setting{grid-column:1/-1;gap:15px;justify-content:flex-end}.units-setting>span{margin-right:auto}.preview-panel{order:1;height:465px}.preview-heading{height:63px}.preview-footer{height:34px}.material-key{font-size:8px}.model-metrics{padding:14px 16px;grid-template-columns:repeat(4,1fr);gap:10px}.model-metrics span{font-size:7px;line-height:1.5;min-height:21px}.model-metrics strong{font-size:8px}.view-help{font-size:5.5px;gap:7px}.view-help i{width:1px;height:1px}.preview-axis{bottom:30px;left:20px;transform:scale(.8);transform-origin:left bottom}.model-label{font-size:8px;gap:4px;padding:3px 4px}.model-label strong{font-size:8px}.model-label span{font-size:7px}.results-panel{order:3}.results-body{padding:16px 14px;gap:12px 18px}.frequency-readout>strong{font-size:24px}.frequency-readout>span{font-size:7px}.method-badge{font-size:8px;padding:6px}.spec-list{gap:0 12px}.spec-list>div{font-size:8px;display:block;padding:8px 0}.spec-list>div b{display:block;text-align:left;margin-top:4px;font-size:9px}.results-body>.text-link{font-size:8px;line-height:1.6}.frequency-readout>p{font-size:8px;line-height:1.6}.details-panel{order:4}.bottom-tabs{height:47px;gap:22px;padding:0 14px}.bottom-tabs button{font-size:10px;gap:5px}.bottom-tabs svg{width:14px}.tab-content{padding:19px 14px}.content-heading{gap:9px;margin-bottom:17px}.content-heading h2{font-size:13px}.content-heading p{font-size:9px}.content-heading .button{font-size:9px;padding:0 8px;height:30px}.content-heading .button svg{width:12px}.table-footer{display:block;font-size:8px}.table-footer>span:last-child{display:block;text-align:left;margin-top:10px}.steps{display:block}.step{margin-bottom:16px}.diagram-card{padding:4px}.guide-grid{gap:22px}.download-grid{gap:9px}.download-card{padding:16px 12px}.download-card h3{font-size:11px;line-height:1.4}.download-card p{font-size:9px}.download-card>svg{width:20px}.file-ext{font-size:7px;right:12px;top:17px}.validation-notes{padding:0 15px;display:block}.validation-notes details{margin-top:8px}.app-footer{padding:20px 15px}.simulation-layout{gap:13px}.simulation-results{padding:10px}.method-card{padding:15px}.method-card .method-ladder{gap:12px 8px}.method-ladder span{font-size:8px}.response-plot{padding:10px 5px}.chart-title{font-size:9px}.chart-title small{font-size:8px}.polar-plot{gap:8px;display:block}.polar-plot>svg{display:block;margin:auto;width:190px}.polar-plot>div{padding:0 10px}.toast{width:calc(100vw - 30px);font-size:10px;bottom:15px}.export-progress{bottom:70px;right:15px;font-size:10px}.preview-error{inset:25% 15%;width:auto}.tuning-grid{gap:15px}.number-field em{font-size:8px;padding-right:6px}.project-menu{right:-40px;width:min(310px,calc(100vw - 28px))}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}.convergence-alert{display:flex;align-items:center;gap:5px;padding:0 0 9px;font-size:8px;color:#ac7744}.results-panel .convergence-alert+.spec-list>div{padding:9px 0}.validation-banner{margin:0 31px 16px;border:1px solid #e8c9b4;border-radius:5px;background:#fcf2e9;color:#a66c44;display:flex;align-items:flex-start;gap:10px;padding:13px 16px;font-size:11px;line-height:1.7}.validation-banner>svg{margin-top:2px}.validation-banner strong{font-weight:600}.validation-banner p{font-size:10px}.printed-chip{color:#789077}.mesh-report{line-height:1.6}@media(max-width:620px){.validation-banner{margin:0 13px 13px}}.complete-guide{grid-column:1/-1;margin:6px 0 18px;padding:12px 14px;background:var(--subtle);border:1px solid var(--line);border-radius:5px}.complete-guide summary{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--green)}.complete-guide ol{padding-left:18px;color:var(--muted);font-size:10px;line-height:1.8;margin:15px 0 0}.complete-guide li{margin-bottom:12px}
