.function-tool{--fp-mint:#a9d5b5;--fp-paper:#ececc7;--fp-coral:#e6aaa1}.function-tool [hidden]{display:none!important}.fp-heading{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:24px}.fp-heading h2{font-size:25px;font-weight:400;line-height:1.6;letter-spacing:.6px;margin:10px 0}.fp-heading p:not(.mini-kicker){font-size:13px;color:var(--muted);line-height:1.9}.fp-modes{display:flex;gap:6px;flex-shrink:0;padding:5px;border:1px solid var(--line);border-radius:12px;background:#a9d5b508}.fp-modes button{min-height:44px;padding:10px 15px;border-radius:8px;font-size:13px;color:var(--muted);white-space:nowrap}.fp-modes button[aria-pressed=true]{background:#b6dedc20;color:var(--ink)}.fp-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px;align-items:start}.fp-controls,.fp-main{display:grid;gap:16px;min-width:0}.fp-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:#15333c66;padding:18px}.fp-card h3{font-size:16px;font-weight:400;line-height:1.6;margin:0 0 15px}.fp-section-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.fp-section-title>span{font-size:11px;color:var(--muted)}.fp-card label{display:block;font-size:12px;line-height:1.8;color:var(--muted);min-width:0}.fp-card input:not([type=checkbox]):not([type=range]):not([type=color]),.fp-card textarea,.fp-card select,.fp-card .custom-select{width:100%;min-width:0;margin:6px 0 14px;box-sizing:border-box}.fp-card input[type=text],.fp-card textarea{font-family:Consolas,"Microsoft YaHei",monospace;font-size:14px}.fp-card textarea{resize:vertical;min-height:70px}.fp-card .button,.fp-project-actions .button{font-size:12px;min-height:42px;padding:10px 13px;line-height:1.6;white-space:normal;text-align:center}.fp-text-button{font-size:12px;color:var(--accent);min-height:38px;padding:7px 0;margin:-5px 0 10px;text-align:left}.fp-expression{margin:12px 0 16px;border-top:1px solid var(--line);padding-top:12px}.fp-expression-line{display:grid;grid-template-columns:20px 26px minmax(0,1fr) 30px;gap:7px;align-items:center}.fp-expression-line label{font-size:12px;color:var(--ink)}.fp-expression-line input[type=checkbox]{width:16px;height:16px;accent-color:var(--fp-mint)}.fp-expression-line input[type=color]{width:26px;height:28px;border:0;padding:0;background:transparent;cursor:pointer}.fp-expression-line button{box-sizing:border-box;width:30px;height:30px;min-width:30px;min-height:30px;padding:0;display:grid;place-items:center;line-height:1;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:18px}.fp-expression>input{margin-bottom:0!important}.fp-expression-error{font-size:11px;line-height:1.7;margin-top:6px;min-height:0;color:var(--fp-coral);overflow-wrap:anywhere}.fp-expression.invalid>input{border-color:#e6aaa180}.fp-status{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px;min-height:42px;overflow-wrap:anywhere}.fp-status.error{color:var(--fp-coral)}#fp-draw,#fp-add{width:100%;margin-top:6px}.fp-note{font-size:12px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.fp-parameter{display:grid;grid-template-columns:14px minmax(50px,1fr) 64px;gap:10px;align-items:center;margin-top:12px}.fp-parameter>label{font-size:15px;font-style:italic;color:var(--accent)}.fp-parameter input[type=range]{width:100%;min-width:0;height:44px;padding:0;border:0;background:transparent;accent-color:var(--fp-mint)}.fp-parameter input[type=number]{margin:0!important;padding:8px 6px;text-align:center}.fp-syntax p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:13px}.fp-syntax code{font-size:12px;color:var(--accent);overflow-wrap:anywhere}.fp-card summary{cursor:pointer;font-size:14px;color:var(--accent);line-height:1.8;min-height:30px}.fp-plot-card{padding:16px;overflow:hidden}.fp-plot-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px;font-size:13px;color:var(--accent)}.fp-plot-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.fp-canvas-wrap{border:0;border-radius:10px;overflow:hidden;min-width:0;background:#102b35}.fp-canvas-wrap canvas{display:block;width:100%;height:430px;touch-action:none;outline:0;border:0;cursor:crosshair}.fp-canvas-wrap canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.fp-legend{display:flex;gap:8px 18px;flex-wrap:wrap;min-height:20px;margin-top:14px;font-size:11px;line-height:1.8;color:var(--muted)}.fp-legend span{display:inline-flex;align-items:baseline;gap:7px;overflow-wrap:anywhere;min-width:0}.fp-legend i{display:inline-block;width:14px;height:2px;flex-shrink:0;align-self:center}.fp-readout{font-size:11px;line-height:1.8;min-height:38px;color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:10px}.fp-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}.fp-view-grid h4{font-size:12px;font-weight:400;color:var(--accent);margin-bottom:10px}.fp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fp-display-options{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;margin:6px 0 12px}.fp-display-options>label,.fp-analysis-actions>label{display:inline-flex;gap:8px;align-items:center;font-size:12px;line-height:1.8}.fp-display-options input[type=checkbox],.fp-analysis-actions input[type=checkbox]{accent-color:var(--fp-mint);width:16px;height:16px;flex-shrink:0}.fp-background input{width:30px;height:28px;padding:0;border:0;background:transparent}.fp-display-options .custom-select{min-width:105px;margin:0}.fp-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fp-analysis-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fp-result{display:block;font-size:13px;line-height:1.9;margin-top:16px;padding:14px;border-radius:10px;background:#a9d5b50a;color:var(--accent);white-space:pre-wrap;overflow-wrap:anywhere}.fp-result.error{color:var(--fp-coral)}.fp-table-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:15px}.fp-table-controls>label{max-width:130px}.fp-table-controls input{margin-bottom:0!important}.fp-table-scroll{max-height:310px;overflow:auto;overscroll-behavior:contain;max-width:100%;margin-top:12px}.fp-table-scroll table{width:100%;border-collapse:collapse;min-width:330px;font-size:12px;font-variant-numeric:tabular-nums}.fp-table-scroll th,.fp-table-scroll td{font-weight:400;white-space:nowrap;padding:10px 12px;text-align:right;border-bottom:1px solid var(--line);color:var(--muted)}.fp-table-scroll th{color:var(--accent)}.fp-project-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fp-project-actions>span{flex:1 0 160px}.fp-file-label{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.fp-file-label input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.fp-file-label:focus-within{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:1200px){.fp-layout{grid-template-columns:260px minmax(0,1fr);gap:14px}.fp-card{padding:15px}.fp-canvas-wrap canvas{height:400px}.fp-heading h2{font-size:22px}}
@media(max-width:950px){.fp-layout{grid-template-columns:minmax(0,1fr)}.fp-main{display:contents}.fp-controls{order:1}.fp-plot-card{order:0}.fp-view-options{order:2}#fp-analysis{order:3}#fp-table{order:4}.fp-project-actions{order:5}.fp-heading{flex-wrap:wrap;gap:15px}.fp-canvas-wrap canvas{height:390px}.fp-card input:not([type=range]):not([type=checkbox]):not([type=color]),.fp-card textarea{font-size:16px}.fp-card .button,.fp-project-actions .button,.fp-text-button{min-height:44px}.fp-expression-line{grid-template-columns:24px 30px minmax(0,1fr) 44px}.fp-expression-line button{width:44px;height:44px;min-width:44px;min-height:44px}.fp-expression-line input[type=color]{width:30px;height:32px}}
@media(max-width:600px){.fp-heading h2{font-size:20px;letter-spacing:0}.fp-card{padding:14px 12px}.fp-canvas-wrap canvas{height:330px}.fp-view-grid{grid-template-columns:minmax(0,1fr);gap:3px}.fp-analysis-grid{grid-template-columns:minmax(0,1fr)}.fp-analysis-actions .button{flex:1 1 130px}.fp-plot-toolbar>div:last-child{width:100%}.fp-plot-toolbar .button{flex:1}.fp-plot-toolbar{gap:8px}.fp-parameter{grid-template-columns:14px minmax(45px,1fr) 72px}.fp-modes{width:100%}.fp-modes button{flex:1}.fp-legend{gap:8px}.fp-project-actions .button{flex:1 1 135px}.fp-table-controls .button{flex:1 1 95px}.fp-table-controls>label{max-width:none;flex:1 0 100%}.fp-plot-card>.fp-note{font-size:11px}#fp-table .fp-note{margin-top:10px}}
@media(max-width:360px){.fp-canvas-wrap canvas{height:290px}.fp-heading h2{font-size:18px}.fp-display-options{gap:12px}.fp-card{padding:12px 10px}}
