@font-face { font-family: 'Neo Euler Medium'; font-style: normal; font-weight: normal; src: local('Neo Euler Medium'), url('/euler.woff') format('woff'); } .inline-rule { font-family:'Neo Euler Medium'; } :root { --link-col: #0000cc; --link-hover-col: #aa00cc; --link-active-col: #0000cc; --jump-hl-col: #ffee88; --gutter-hl-col: #ffee88; --editor-border-col: #0000aa; --editor-bg-col: #eeeeff; --faint-line-col: #eeeeee; --tab-border-col: #cccccc; --tab-fg-col: #666666; --tab-active-fg-col: #333333; --bg-col: white; --fg-col: black; --icon-teal-col: #0091aa; --icon-blue-col: #0000cc; --icon-red-col: #c30303; --icon-grey-col: #666666; --icon-active-col: #aa00cc; --icon-hover-col: #aa00cc; --editable-hover-col: #ccccff; --apply-option-hover-border-col: #cc00ff; --apply-option-hover-bg-col: #faeffa; --inactive-option-hover-border-col: #0091aa; --inactive-option-hover-bg-col: #d7f4f9; --apply-option-border-col: #0000cc; --apply-option-bg-col: #efeffa; --rule-binder-col: #006600; --rule-name-local-col: #0000aa; --metavar-col: #00aa00; --metavar-unnamed-col: #ff0000; --schematic-col: gray; --constructor-col: slategray; --bound-col: #9343a7; --placeholder-fg-col: #aaa; --symbol-col: #990000; --symbol-nat-col: #ffaa00; --item-inserting-col: #aa00cc; --sidebar-header-col: #c9c9d8; --error-bg-col: #ffaaaa; --logo-col: #c9dec9; --axioms-notwellformed-col: #ffeecc; --index-unsolved-col: #ffaa00; --index-solved-col: #00aa66; --index-bullet-col: #666666; --logo-shadow-col: #666; --sidebar-insert-bg-col: #eeeeff; --sidebar-insert-hover-bg-col: #ffeeff; --sidebar-text-col: #000; --rule-name-elim-col: #0091aa; --rule-name-rewrite-col: #5500aa; --scrollbar-col: #eee; --scrollbar-hover-col: #dfdfdf; } .inline-rule { white-space:nowrap; } .proof-goal:focused { border: 1px dashed black; } .axiom { display:inline-block; margin-bottom:5px; margin-top:5px; vertical-align: bottom; white-space:nowrap; } .axiom-set { white-space:normal; line-height:1.00; } .axiom-set .axiom { margin-left:15px; } .inline-rule > span > div { display:inline-block; } .axiom-set-Linear > .inline-rule { display:block; margin-top:5px; margin-bottom:5px; } .inline-rule > .rule-rulename:not(:empty) { margin-right:5px; } .inline-rule > .rule-rulename:not(:empty):after { content: ': '; } /* BUTTONS */ .button-icon { padding: 0; background: transparent; /* var(--bg-col); */ border: 0px; font-size: 16px; cursor: pointer; } .button-icon-teal { color: var(--icon-teal-col); } .button-icon-blue { color: var(--icon-blue-col); } .button-icon-red { color: var(--icon-red-col); } .button-icon-grey { color: var(--icon-grey-col); } .button-icon-active { color: var(--icon-active-col); } .button-icon:hover { color: var(--icon-hover-col); } .button-icon-insert { right: 0; position: absolute; bottom: -0.54em; z-index: 10000; } .button-icon-addbinder { font-size: small; } .button-icon-addpremise { margin-bottom: 2px; } .button-icon-goal { display: inline-block; margin-bottom: 2px; font-size: 20px; } .editable { color: var(--fg-col); background: var(--bg-col); border: none; cursor: text; border-radius: 4px; padding: 0px; } .editable:hover { background: var(--editable-hover-col); } .rule-cell { font-family: "Neo Euler Medium"; vertical-align: bottom; text-align: center; } .rule-conclusion { border-top: 1px solid var(--fg-col); padding-top: 2px; } .rule-hypothetical-conclusion { } .rule-premise { padding-left: 6px; padding-right: 6px; padding-bottom: 2px; } .rule-binderbox { padding-left: 2px; padding-right: 2px; } .rule-rulebox { padding-bottom: 0.8em; padding-left: 2px; padding-right: 2px; } .rule-spacer { height: 1em; } .rule-binders { font-family:'Neo Euler Medium'; padding-right: 4px; } .rule-binder { color: var(--rule-binder-col); font-size: small; padding-right: 1px; } .rule-rulename { font-family: "Neo Euler Medium"; font-size: small; } .rule-rulename > div > input { font-family: "Neo Euler Medium"; font-size: small; } .rule-rulename-cases { font-family: "Neo Euler Medium"; font-size: small; } .rule-rulename-keyword { font-family: "Computer Modern Sans"; font-size: small; } .rule-rulename-global { font-family: "Computer Modern Concrete"; font-variant: small-caps; } .rule-rulename-local { font-family: "Neo Euler Medium"; color: var(--rule-name-local-col); } .rule-rulename-rewrite { color: var(--rule-name-rewrite-col); } .rule-rulename-elim { color: var(--rule-name-elim-col); } /* TERMS */ .term-metavar { color: var(--metavar-col); } .term-metavar-unnamed { color: var(--metavar-unnamed-col); } .term-schematic { color: var(--schematic-col); font-style: italic; padding-right: 4px; } .term-schematic-telescope { font-size:xx-small; vertical-align: sub; } .term-binder { color: var(--bound-col); font-size: small; padding-right: 4px; } .term-boundvar { color: var(--bound-col); } .term-symbol { font-family: "Computer Modern Sans"; } .term-constructor { font-family: "Computer Modern Sans"; color: var(--constructor-col); font-weight:bold; } .term-constructor::first-letter { font-size: 0; } .placeholder { color: var(--placeholder-fg-col); } .term-lambda-punct { color: var(--symbol-col); } /* SYMBOLS */ .symbol { color: var(--symbol-col); } .symbol-nat { color: var(--symbol-nat-col) } .symbol-prelude { color: var(--symbol-prelude-col) } .symbol-turnstile { padding-left: 6px; padding-right: 6px; color: var(--symbol-col); font-weight:bold; } .symbol-comma { padding-left: 2px; padding-right: 4px; color: var(--symbol-col); font-weight:bold; } .proof-summary-node > .proof-goal { display:inline-block; } .symbol-mini { font-size: x-small; font-style: normal; } .editor-textArea { width:100%; height:10em; font-family:monospace; } .inference { margin-bottom:0px; border-spacing:0px; line-height:1.00; text-wrap-mode:nowrap; } .axiom-set-Linear > .inline-rule { display:block; } .proof-assumptions { margin:0px; padding-bottom:0px; list-style-type:none; padding-inline-start:32px; } .proof-judgement { font-family: "Neo Euler Medium"; } .proof-ruleName { font-family: "Neo Euler Medium"; } .proof-assumptions-Hybrid > li { display: inline-block; margin-left:10px; } .proof-tree { padding:10px; } .proof-assumptions-Gentzen > li { display: inline-block; margin-left:10px; } .axiom-set-Linear > section > details > .inline-rule { display:block; } .proof-text { font-style:italic; } .subgoals { list-style-type: none; padding-inline-start: 20px; margin: 0; } .subgoals > li { margin-bottom:5px; } .proof-denest > .proof-step { padding-left: 0px; padding-right: 0px; padding-bottom: 0px; margin-bottom: 0px; border-radius: 0px; border: 0; } .proof-denest { border-top: 1px solid rgba(1, 1, 1, 0.2); } .proof-step { overflow-x:scroll; overflow-y: clip; padding-left: 5px; padding-right: 5px; padding-bottom:5px; margin-bottom: 5px; border-radius: 5px; border: 1px solid rgba(1, 1, 1, 0.2); position:relative; box-sizing: border-box; } .error-box { position: absolute; background: rgb(255, 228, 228); color:black; padding-left: 4px; padding-right: 4px; border: 1px solid rgba(1, 1, 1, 0.2); border-radius: 3px; font-family: 'Inria Sans'; } .auto-input { min-width: 15px; field-sizing: content; } .label-span { cursor: pointer; padding: 2px 0px; } .label-span:hover { background-color: var(--editable-hover-col); } .editable-container { display:inline-block; } .display-tab-left { border-bottom-left-radius: 4px; } .display-tab-right { border-right: 1px solid rgb(1, 1, 1, 0.2); border-bottom-right-radius: 4px; } .display-tab { float: right; background: white; border-left: 1px solid rgb(1, 1, 1, 0.2); border-bottom: 1px solid rgb(1, 1, 1, 0.2); padding-left: 2px; padding-bottom: 2px; line-height: 1; padding-right: 2px; cursor:pointer; } .display-tab:hover { background: #acacfc; } .display-tab-selected { background: #4c4c98 !important; color:white; } .floating-delete { float: right; display: block; position: absolute; right: 5px; } .resize-handle { position: absolute; top: 0; left: 0; width: 6px; height: 100%; cursor: ew-resize; z-index: 1; } .results-group { padding-top: 0.2rem; padding-bottom: 0.4rem; border-top: 1px solid var(--group-border, #eee); } .results-group:first-child { border-top: none; padding-top: 0; } .results-group-label { font-size: 0.75rem; font-weight: 600; padding-left: 7px; text-transform: uppercase; letter-spacing: 0.03em; color: var(--group-label-color, #888); } .results-group-items { display: block; } .resize-handle:hover { background: rgba(0, 0, 0, 0.08); } .results-group:has(> .results-group-label .assumptions-label) { margin-top: 0px; margin-bottom: 0; padding-top:0.2rem; background: var(--assumptions-bg, #fff); border-radius: 6px; border-top: none; } .sidebar-content { position: fixed; top: 0; right: 0; height: 100vh; z-index: 1000; display: flex; flex-direction: column; min-width: 260px; width: 280px; background: var(--sidebar-bg, #fafafa); border-left: 1px solid var(--sidebar-border, #ddd); box-shadow: -2px 0 8px rgba(0, 0, 0, 0.12); font-size: 0.9rem; overflow: hidden; } .sidebar-goal-judgment { padding-left: 0.4rem; } .sidebar-rule { border-top: 1px solid var(--sidebar-border, #ddd); } .sidebar-goal { flex: 0 0 auto; padding: 0.75rem 0.75rem; font-family: 'Neo Euler Medium'; font-size: large; border-bottom: 1px solid var(--sidebar-border, #ddd); background: var(--sidebar-goal-bg, #fff); } .drill-down-container { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; overflow: hidden; } .breadcrumbs:empty { display: none; } .breadcrumbs { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 0.25rem; padding: 0.5rem 0.5rem 0; } .breadcrumb-heading { font-size: 0.75rem; font-weight: 600; color: var(--breadcrumb-color, #666); padding: 0.15rem 0.5rem; background: var(--breadcrumb-bg, #eee); border-radius: 999px; white-space: nowrap; display: inline-flex; align-items: center; gap: 0.3rem; } .breadcrumb-heading:not(:last-child)::after { content: "›"; margin-left: 0.4rem; color: var(--breadcrumb-arrow, #aaa); } .breadcrumb-heading-current { cursor: pointer; } .breadcrumb-heading-current:hover { background: var(--breadcrumb-hover-bg, #ddd); } .breadcrumb-close { font-size: 0.7rem; opacity: 0.6; } .breadcrumb-heading-current:hover .breadcrumb-close { opacity: 1; } .back-button { align-self: flex-start; margin: 0.5rem 1rem 0; padding: 0.25rem 0.6rem; font-size: 0.8rem; background: none; border: 1px solid var(--sidebar-border, #ddd); border-radius: 4px; cursor: pointer; color: var(--action-color, #333); } .back-button:hover { background: var(--hover-bg, #eee); } .menu-options { flex: 1 1 auto; overflow-y: auto; display: flex; flex-direction: column; } .menu-options > button { margin-right:7px; margin-bottom:7px; } .menu-options button { text-align: left; margin-left:7px; margin-top:7px; border: 1px solid var(--sidebar-border, #ddd); border-radius: 6px; background: var(--action-bg, #fff); cursor: pointer; font: inherit; color: var(--action-color, #222); transition: background 0.1s ease, border-color 0.1s ease; } .menu-options button:hover { background: var(--hover-bg, #f0f4ff); border-color: var(--hover-border, #b8c8f0); } .menu-options button:focus-visible { outline: 2px solid var(--focus-ring, #4a7dfc); outline-offset: 1px; } .axiom-set > section > details > summary > header > h1 { font-size: 12pt; } .axiom-set > section > details > summary > header { display:inline-block; } .grammar-view { display: flex; flex-direction: column; gap: 0.75rem; padding: 0.6rem 0.8rem; font-size: 0.9rem; } .grammar-section-title { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--grammar-title-color, #888); margin-bottom: 0.3rem; } .grammar-op-row, .grammar-tighter-row { display: flex; align-items: center; gap: 0.5rem; padding: 0.25rem 0.4rem; border-radius: 4px; } .grammar-op-name { background: var(--grammar-code-bg, #f0f0f0); padding: 0.05rem 0.35rem; border-radius: 4px; } .grammar-op-category, .grammar-cat-badge { font-size: 0.75rem; color: var(--grammar-category-color, #567); background: var(--grammar-category-bg, #eaf0fb); padding: 0.1rem 0.4rem; border-radius: 999px; } .assoc-badge { font-size: 0.7rem; font-weight: 600; padding: 0.05rem 0.35rem; border-radius: 3px; min-width: 3.2rem; text-align: center; } .assoc-left { background: #ffe9d6; color: #a05a00; } .assoc-right { background: #dcefff; color: #0a5aa0; } .assoc-none { background: #eee; color: #666; } .grammar-tighter-arrow { font-size: 0.75rem; color: var(--grammar-arrow-color, #999); } .grammar-empty { color: var(--grammar-empty-color, #999); font-style: italic; padding: 0.4rem; } .ident-sep { color: var(--identifier-sep-color, #bbb); margin: 0 0.05em; } .ident-bold { font-weight: 700; font-variant:initial; font-family: 'Computer Modern Sans'; } .ident-op-lit { font-family: 'Neo Euler Medium'; } .settings-panel { display: flex; flex-direction: column; gap: 0.6rem; } .settings-row { display: grid; grid-template-columns: 160px 1fr; grid-template-areas: "label control" "desc desc"; gap: 0.15rem 0.75rem; align-items: center; padding: 0.4rem 0; border-bottom: 1px solid var(--settings-border, #eee); } .settings-row:last-child { border-bottom: none; } .settings-label { grid-area: label; font-size: 0.85rem; font-weight: 500; } .settings-select { grid-area: control; justify-self: start; font: inherit; font-size: 0.85rem; padding: 0.25rem 0.5rem; border: 1px solid var(--select-border, #ccc); border-radius: 4px; background: var(--select-bg, #fff); } .settings-desc { grid-area: desc; font-size: 0.75rem; color: var(--settings-desc-color, #888); }