:root{--pt-bg:#f5f7fa;--pt-surface:#fff;--pt-surface-alt:#f0f3f7;--pt-border:#dde2e8;--pt-text:#16212e;--pt-text-muted:#5d6b7a;--pt-primary:#1565c0;--pt-primary-soft:#e3f0fd;--pt-canvas:#fbfcfd;--pt-grid:#e9edf2;--pt-var-color:#7b1fa2;--pt-var-bg:#f3e5f5;--pt-closed:#2e7d32;--pt-closed-soft:#e8f5e9;--pt-open:#b26a00;--pt-open-soft:#fff4e0;--pt-danger:#c62828}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;background:var(--pt-bg);color:var(--pt-text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;overflow:hidden}code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace}.App,#root,body,html{width:100%;height:100%}.App{background:var(--pt-bg,#f5f7fa);height:100dvh;color:var(--pt-text,#16212e);flex-direction:column;display:flex;overflow:hidden}.InferenceArea{text-align:center;justify-content:center;align-items:center;padding:48px;display:flex}.main,.main_centered{flex-direction:row;display:flex}.RulePicker{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.RulePicker__input{min-width:168px}.RulePicker__input .MuiInputBase-root{background:var(--pt-surface,#fff);font-size:.82rem}.RulePicker__only{white-space:nowrap;min-width:0;padding:1px 8px;font-size:.78rem}.RulePicker__more{min-width:24px;padding:0}.RulePicker__count{height:20px;font-size:.68rem}.RulePicker__scope{cursor:pointer;height:20px;font-size:.68rem}.RulePicker__hint{white-space:normal;max-width:260px;color:var(--pt-text-muted,#5d6b7a)}li.RuleOption{justify-content:space-between;align-items:baseline;gap:12px;font-size:.84rem;display:flex}.RuleOption__name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.RuleOption__meta{color:var(--pt-text-muted,#5d6b7a);font-size:.72rem}.pt-exporting .RulePicker{display:none!important}.RulePicker__solve{white-space:nowrap;min-width:0;padding:1px 10px;font-size:.76rem}.RulePicker__input+.MuiAutocomplete-popper .MuiAutocomplete-groupLabel,.MuiAutocomplete-groupLabel{letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;line-height:2}.dropzone{background-color:var(--pt-primary-soft,#bfe4ff);border:dashed 3px var(--pt-border,#aaa);border-radius:3px;padding:3px;transition:background-color .3s}.rule_name{align-items:center;gap:2px;display:inline-flex}.rule_name__applied{align-items:center;gap:1px;display:inline-flex}.rule_name__label{color:var(--pt-text-muted,#5d6b7a);padding:0 2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;font-weight:600}.rule_name__delete{opacity:0;transition:opacity .12s}.separator:hover .rule_name__delete,.rule_name:focus-within .rule_name__delete{opacity:1}.separator{text-align:right;cursor:move;align-items:center;display:flex}.separator:before{content:"";border-bottom:1.5px solid var(--pt-text,#000);flex:1}.separator:not(:empty):before{margin-right:.25em}.separator--justified:before{border-bottom-style:solid;border-bottom-color:var(--pt-text,#000)}.separator--open:before{border-bottom-style:dashed;border-bottom-color:var(--pt-open,#b26a00)}.separator--locked{cursor:default}.separator:hover:before{border-bottom-color:var(--pt-primary,#1565c0)}.nobreak_center,.nobreak_center>div{white-space:nowrap;display:inline-block}.small_spacer{width:24px}.conclusion{color:var(--pt-text,#16212e);border-radius:4px;padding:1px 2px;font-family:Latin Modern Math,Cambria Math,Georgia,serif;font-size:1.02rem}.pt-node--todo>div>.nobreak_center>.conclusion{background:var(--pt-open-soft,#fff4e0);box-shadow:inset 0 0 0 1px var(--pt-open,#b26a00)}.error{background-color:#ff481a66}.finished{background-color:var(--pt-closed-soft,#00ff0026);box-shadow:inset 0 0 0 1px var(--pt-closed,#2e7d32);border-radius:10px;padding:8px 12px}.pt-var{color:var(--pt-var-color,#7b1fa2);cursor:pointer;border-bottom:1px dotted;border-radius:2px;font-style:italic;transition:background-color .12s}.pt-var:hover{background-color:var(--pt-var-bg,#f3e5f5)}.pt-var sub{font-size:.7em;font-style:normal}.rule_select_wrap{align-items:center;gap:2px;display:inline-flex}.pt-exporting{transform:none!important}.pt-exporting button,.pt-exporting .MuiButtonBase-root,.pt-exporting .rule_select_wrap{display:none!important}.pt-exporting .pt-node--todo>div>.nobreak_center>.conclusion{box-shadow:none;background:0 0}.auto_subtree_btn{color:var(--pt-var-color,#6a1b9a)!important}.rule .separator--open:before{border-bottom-style:solid;border-bottom-color:var(--pt-text-muted,#5d6b7a)}.rule .pt-node--todo>div>.nobreak_center>.conclusion{box-shadow:none;background:0 0}.codebox{white-space:nowrap;text-align:left;border:1px solid #ccc;max-height:100px;overflow:auto}.TermInput{flex-direction:column;display:flex}.TermInput--tight .MuiTextField-root{margin-top:2px;margin-bottom:2px}.GoalPreview--tight{margin-top:8px;padding:6px 8px}.GoalPreview--tight .GoalPreview__rendered{font-size:1em}.CalculusRules{flex-direction:column;gap:10px;width:100%;display:flex}.CalculusRules__add{flex-direction:column;gap:8px;display:flex}.CalculusRules__addRow{flex-direction:row;align-items:center;gap:8px;display:flex}.CalculusRules__hint{color:var(--pt-text-muted,#666);font-size:.8em;line-height:1.3}.CalculusRules__list{flex-direction:column;gap:4px;display:flex}.CalculusRules__groups{flex-direction:column;gap:8px;display:flex}.RuleGroup{border:1px solid var(--pt-border,#e2e2e2);border-radius:6px;overflow:hidden}.RuleGroup--disabled{opacity:.75}.RuleGroup--disabled .RuleGroup__name{color:var(--pt-text-muted,#5d6b7a);font-weight:500}.RuleGroup__header{background:var(--pt-surface-alt,#f2f4f7);align-items:center;gap:2px;padding:2px 4px;display:flex}.RuleGroup__name{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;font-size:.9em;font-weight:600}.RuleGroup__count{color:#fff;background:var(--pt-text-muted,#90a4ae);border-radius:9px;margin-right:2px;padding:1px 7px;font-size:.72em}.RuleGroup__rules{flex-direction:column;gap:4px;padding:6px;display:flex}.CalculusRule__controls{z-index:1;background:var(--pt-surface,#ffffffd9);opacity:.4;border-radius:4px;align-items:center;transition:opacity .12s;display:flex;position:absolute;top:1px;right:1px}.CalculusRule:hover .CalculusRule__controls{opacity:1}.CalculusRule--disabled>.rule{opacity:.45;filter:grayscale(.6)}.CalculusRules__empty{color:var(--pt-text-muted,#888);padding:8px 2px;font-size:.85em;font-style:italic}.CalculusRule{border:1px solid var(--pt-border,#eee);background:var(--pt-surface,#fff);border-radius:6px;width:100%;padding:8px 8px 10px;position:relative;overflow:hidden}.CalculusRule:hover{border-color:var(--pt-primary,#d0d0d0);background:var(--pt-surface-alt,#fcfcfd)}.CalculusRule__delete{z-index:1;opacity:.35;transition:opacity .12s;top:2px;right:2px;position:absolute!important}.CalculusRule:hover .CalculusRule__delete{opacity:1}.CalculusRule>.rule{transform-origin:0 0;width:122%;height:auto;overflow-x:auto;transform:scale(.82)}.add{justify-content:center;align-items:center}.ExtensionsPanel{width:100%;font-size:.9em}.ExtensionsPanel__help{color:var(--pt-text,#444);font-size:.85em;line-height:1.35}.ExtensionsPanel__hint{color:var(--pt-text-muted,#666);margin:2px 0 6px;font-size:.78em;line-height:1.3}.ExtensionsPanel h4{margin:12px 0 2px}.ExtensionsPanel__scroll{max-width:100%;overflow-x:auto}.ExtensionsPanel__table{border-collapse:collapse;width:100%;min-width:260px}.ExtensionsPanel__table th,.ExtensionsPanel__table td{text-align:left;vertical-align:bottom;border-bottom:1px solid var(--pt-border,#eee);padding:2px 4px}.ExtensionsPanel__table th{color:var(--pt-text-muted,#888);font-size:.75em;font-weight:600}.ExtensionsPanel__table code{background:var(--pt-surface-alt,#f4f4f4);border-radius:3px;padding:0 3px;font-size:.95em}.ExtensionsPanel__add td{border-bottom:none}.Sidebar{background:var(--pt-surface,#fafafa);border-right:1px solid var(--pt-border,#e0e0e0);flex:auto;height:100%;min-height:0;overflow:hidden auto}.Sidebar--collapsed{flex-direction:column;align-items:center;gap:8px;width:100%;padding-top:6px;display:flex}.Sidebar__collapsedIcon{color:var(--pt-text-muted,#9e9e9e)}.Sidebar__collapsedBadge{background:var(--pt-primary,#1565c0);color:#fff;border-radius:10px;padding:1px 6px;font-size:.68rem;font-weight:700}.Sidebar__header{border-bottom:1px solid var(--pt-border,#e0e0e0);background:var(--pt-surface-alt,#f0f0f0);z-index:2;justify-content:space-between;align-items:center;padding:4px 6px 4px 12px;display:flex;position:sticky;top:0}.Sidebar__heading{letter-spacing:.06em;text-transform:uppercase;color:var(--pt-text-muted,#555);font-size:.78rem;font-weight:700}.Sidebar__sectionIcon{color:var(--pt-text-muted,#5d6b7a);align-items:center;margin-right:8px;display:inline-flex}.Sidebar__sectionTitle{flex:1;font-size:.92em;font-weight:600}.Sidebar__badge{background:var(--pt-primary,#1565c0);color:#fff;border-radius:10px;align-self:center;margin-left:8px;padding:1px 7px;font-size:.7em}.Sidebar .MuiAccordionSummary-root{background:var(--pt-surface-alt,#f7f7f7);min-height:42px}.Sidebar .MuiAccordionSummary-content{align-items:center;margin:8px 0}.Sidebar .MuiAccordionDetails-root{padding:8px 10px 12px}.AppToolbar{z-index:5;background:var(--pt-surface,#fff)!important}.AppToolbar .MuiToolbar-root{padding-left:8px;padding-right:8px}.tb-brand{white-space:nowrap;color:var(--pt-text,#16212e);align-items:center;gap:6px;margin-right:4px;font-weight:700;display:flex}.tb-sep{background:var(--pt-border,#dde2e8);flex:none;align-self:stretch;width:1px;margin:8px 4px}.tb-grow{flex:auto}.tb-auto{white-space:nowrap}.tb-panels-btn{display:none!important}@media (width<=900px){.tb-brand .tb-label{display:none}}@media (width<=768px){.tb-panels-btn{display:inline-flex!important}.AppToolbar .tb-label{display:none}.AppToolbar .MuiButton-root{min-width:0;padding-left:6px;padding-right:6px}.AppToolbar .MuiButton-startIcon{margin-left:0;margin-right:0}.AppToolbar .MuiButton-endIcon{margin-left:-2px}.AppToolbar .MuiToolbar-root{gap:2px;padding-left:2px;padding-right:2px}.tb-sep{margin:8px 1px}}.StatusBar{background:var(--pt-surface-alt,#f0f3f7);border-bottom:1px solid var(--pt-border,#dde2e8);align-items:center;gap:8px;min-height:38px;padding:4px 10px;font-size:.9rem;display:flex;overflow:hidden}.StatusBar__edit{flex:none;font-size:1rem}.StatusBar__goal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--pt-text,#16212e);flex:0 auto;font-family:Latin Modern Math,Cambria Math,Georgia,serif;overflow:hidden}.StatusBar__spacer{flex:auto}.StatusBar__vars,.StatusBar__done{flex:none;font-size:.72rem}.StatusBar__vars{cursor:pointer}.StatusBar__progress{flex-direction:column;flex:none;gap:2px;min-width:130px;display:flex}.StatusBar__progressLabel{color:var(--pt-text-muted,#5d6b7a);line-height:1.1}.StatusBar__bar{border-radius:3px;height:5px}@media (width<=768px){.StatusBar{gap:6px;font-size:.8rem}.StatusBar__progress{min-width:92px}}.ZoomIsland{z-index:6;background:var(--pt-surface,#fff);border:1px solid var(--pt-border,#dde2e8);border-radius:999px;align-items:center;gap:2px;padding:3px 5px;display:flex;position:absolute;bottom:14px;right:14px}.ZoomIsland__scale{text-align:center;font-variant-numeric:tabular-nums;min-width:38px;color:var(--pt-text-muted,#5d6b7a);-webkit-user-select:none;user-select:none;font-size:.72rem}@media (width<=768px){.ZoomIsland{bottom:8px;right:8px}.ZoomIsland__scale{display:none}}.HelpDrawer{padding:12px 16px 32px}.HelpDrawer__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.HelpDrawer__intro{color:var(--pt-text-muted,#5d6b7a);margin-bottom:10px}.HelpDrawer__divider{margin:14px 0 10px}.HelpDrawer__keys{border-collapse:collapse;width:100%;font-size:.85rem}.HelpDrawer__keys td{vertical-align:top;padding:3px 6px}.HelpDrawer__keys td:first-child{white-space:nowrap;width:9.5em}.HelpDrawer kbd{border:1px solid var(--pt-border,#dde2e8);background:var(--pt-surface-alt,#f0f3f7);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;display:inline-block}.SplitPane{flex-direction:row;align-items:stretch;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.SplitPane--dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}.SplitPane__left{flex-direction:column;flex:none;min-width:0;height:100%;display:flex;overflow:hidden}.SplitPane__right{flex-direction:column;flex:auto;min-width:0;height:100%;display:flex;overflow:hidden}.SplitPane__divider{cursor:col-resize;background:var(--pt-border,#e3e6ea);border:none;flex:0 0 6px;padding:0;transition:background .12s;position:relative}.SplitPane__divider:after{content:"";position:absolute;inset:0 -4px}.SplitPane__divider:hover,.SplitPane__divider:focus-visible{background:var(--pt-primary,#1565c0);outline:none}.InferenceInterface{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.rowC{flex-direction:row;flex:auto;width:100%;min-height:0;display:flex}.rightcol{background:var(--pt-canvas,#fbfcfd);background-image:linear-gradient(to right, var(--pt-grid,#e9edf2) 1px, transparent 1px), linear-gradient(to bottom, var(--pt-grid,#e9edf2) 1px, transparent 1px);background-size:28px 28px;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative}.canvas{flex:auto;min-height:0;position:relative;overflow:hidden}.CanvasHint{z-index:6;background:var(--pt-surface,#fff);border:1px solid var(--pt-border,#dde2e8);max-width:min(560px,92vw);color:var(--pt-text-muted,#5d6b7a);border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 14px;font-size:.84rem;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000014}.GoalPreview{border:1px solid var(--pt-border,#e0e0e0);background:var(--pt-surface-alt,#fafafa);border-radius:6px;margin-top:16px;padding:10px 12px}.GoalPreview--tight{margin-top:8px}.GoalPreview__label{text-transform:uppercase;letter-spacing:.04em;color:var(--pt-text-muted,#888);margin-bottom:6px;font-size:.72em}.GoalPreview__rendered{white-space:nowrap;font-family:Latin Modern Math,Cambria Math,Georgia,serif;font-size:1.15em;overflow-x:auto}.GoalPreview__error{color:var(--pt-danger,#c62828);white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}@media (width<=768px){.InferenceArea{padding:16px}.CanvasHint{border-radius:10px;align-items:flex-start;max-width:none;padding:8px 8px 8px 12px;font-size:.78rem;bottom:56px;left:8px;right:8px;transform:none}}
