UNPKG

@ciao-lang/ts-ciao-interface

Version:

Simple Ciao interface for node.

1,267 lines (1,133 loc) 39.3 kB
/* * LPdoc stylesheet for the HTML backend (+playground components) * * (c) 2018-2022 The Ciao Development Team */ /* --------------------------------------------------------------------------- */ /* Color theme */ html { --bg: #FFFFFF; --fg: #000000; --sidebar-link: #4263ab; --link-fg: #4263ab; --code-fg: #666; --code-bg: #f7f7f7; --codeblock-bg: #fff8dd; --codeblock-border: #fbe89d; --var-fg: #e06000; --border: #EEE; --fgdim: #888; --header: #2e4985; --defname-bg: #eee; --note-accent: #b6cbdc; --note-bg: #f5f8f9; --note-border: #ebf3f9; --alert-accent: #ff8282; --alert-bg: #fffafa; --alert-border: #f9ebed; --cartouche-border: #c8e2f0; --cartouche-bg: #eff6fc; --cartouche-fg: #1d609a; --dropdown-bg: whitesmoke; --scrollbar-thumb: #b0b0b0; --button-bg: rgb(239, 239, 239); --button-color: #111111; --button-border: lightgray; --button-border-hover: #B0B0B0; } html[data-theme='dark'] { color-scheme: dark; --bg: #23272D; --fg: #AFBAC6; --sidebar-link: #73869c; --link-fg: #5c9cec; --code-fg: #AFBAC6; --code-bg: #2E333A; --codeblock-bg: #2E333A; --codeblock-border: #2E333A; --var-fg: #fdce56; --border: #383838; --fgdim: #747b84; --header: #E0E0E0; --defname-bg: #1e2125; --note-accent: #0085fa; --note-bg: #172531; --note-border: #01396a; --alert-accent: #ff6060; --alert-bg: #33272D; --alert-border: #53272D; --cartouche-border: #2e333b; /* #23334d */ --cartouche-bg: #1e2125; /* #1b2432 */ --cartouche-fg: #a8dbff; /* #9bdcf3 */ --dropdown-bg: #000000; --scrollbar-thumb: #39414c; --button-bg: #000000; --button-color: white; --button-border: #000000; --button-border-hover: #3b4756; } ::-webkit-scrollbar { background: var(--bg); } ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); } ::-webkit-scrollbar-corner { background: var(--bg); } html { scrollbar-color: var(--scrollbar-thumb) var(--bg); } body, html { margin:0; padding:0; font-family: -apple-system,Helvetica,Arial,sans-serif; font-size: 16px; line-height: 1.3em; color: var(--fg); background-color: var(--bg); } /* --------------------------------------------------------------------------- */ /* Language and documentation elements */ .lpdoc-defname { font-size: 105%; font-weight:bold; background-color: var(--defname-bg); padding: 3px 8px 3px 8px; border-radius: 3px; } .lpdoc-deftext { padding-top: 0.5em; padding-bottom: 0.5em; padding-left: 16px; } .lpdoc-on-right { float: right; } .lpdoc-iso { color: #ffffff; background-color: #48d; /* text-shadow: 0px 1px 2px #000000; */ font-size: 80%; padding-left: 4px; padding-right: 4px; border-radius: 4px; } .lpdoc-emacskey { border-radius: 3px; /* border-bottom: 1px solid #666;*/ /* border-left: 1px solid #666;*/ /* border-right: 1px solid #666;*/ /* border-top: 1px solid #888;*/ background-color: #444; font-size: 14px; font-family: -apple-system,Helvetica,Arial,sans-serif; font-weight: normal; color: #ffffff; text-shadow: 0px 0px 2px #000000; padding-top: 1px; padding-bottom: 1px; padding-left: 4px; padding-right: 4px; } .lpdoc-itemize-none { list-style-type: none; } .lpdoc-itemize-plain { list-style-type: none; padding-left: 0px; } .lpdoc-itemize-minus { list-style-type: circle; } pre.lpdoc-codeblock { font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace; font-size: 14px; line-height: normal; padding: 8px; background-color: var(--codeblock-bg); border: 1px solid var(--codeblock-border); border-radius: 3px; overflow-x: auto; } pre.lpdoc-codeblock .lpdoc-var, pre.lpdoc-codeblock tt, pre.lpdoc-codeblock code { background: none; } pre.lpdoc-codeblock tt, pre.lpdoc-codeblock code { color: var(--fg); } .lpdoc-var, pre, tt, code { font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace; font-size: 85%; } .lpdoc-var { color: var(--var-fg); } tt, code { color: var(--code-fg); } .lpdoc-var, tt, code { padding: 0.2em 0.3em; border-radius: 3px; background-color: var(--code-bg); } /* Assertion status tags (on the right) */ span.lpdoc-true-header, span.lpdoc-false-header, span.lpdoc-check-header, span.lpdoc-checked-header, span.lpdoc-trust-header { color: var(--bg); padding: 3px 8px 3px 8px; margin-left: 4px; border-radius: 3px; float: right; } /* Name tag for true assertions (in green) */ span.lpdoc-true-header { background-color: #78ac2b; } /* Name tag for false assertions (in red) */ span.lpdoc-false-header { background-color: #ff6262; } /* Name tag for check assertions (including Usage) (in blue) */ span.lpdoc-check-header { background-color: #3f8cdc; } /* Name tag for checked assertions (in lightest green) */ span.lpdoc-checked-header { background-color: #6eb88c; } /* Name tag for trust assertions (in orange) */ span.lpdoc-trust-header { background-color: #ffa162; } /* E.g., "Usage 1" */ span.lpdoc-usage-header { font-weight: bold; padding-right: 8px; } /* E.g., foo(+,-,+) */ span.lpdoc-usage-decl { /* background-color: #eee; */ background-color: var(--cartouche-bg); /* like mod usage */ color: var(--cartouche-fg); padding: 3px 8px 3px 8px; /* border-radius: 0px 3px 3px 0px; */ border-radius: 3px; line-height: 1.6em; /* TODO: better way? (avoid some overlap in narrow windows) */ } span.lpdoc-usage-decl .lpdoc-var, span.lpdoc-usage-decl tt, span.lpdoc-usage-decl code { background: none; color: var(--cartouche-fg); } /* Tag for predicates (PREDICATE, REGTYPE, etc.) */ span.lpdoc-predtag { font-size: 14px; font-weight: bold; color: var(--fgdim); /* background-color: #eee; */ /* padding: 3px 8px 3px 8px; */ /* border-radius: 3px; */ padding-right: 8px; /* float: right; */ /* on the right (unused) */ } /* --------------------------------------------------------------------------- */ /* Special blocks */ .lpdoc-cartouche { border: 1px solid var(--cartouche-border); border-radius: 3px; padding: 8px; background-color: var(--cartouche-bg); } .lpdoc-cartouche .lpdoc-var, .lpdoc-cartouche tt, .lpdoc-cartouche code { background: none; color: var(--cartouche-fg); } /* ul immediate child of cartouche */ .lpdoc-cartouche > ul { margin: 8px; padding: 0px; list-style-type: none; } .lpdoc-note { border: 1px solid var(--note-border); border-left: 5px solid var(--note-accent); padding: 8px; border-radius: 3px; color: var(--fg); background-color: var(--note-bg); } .lpdoc-alert { border: 1px solid var(--alert-border); border-left: 5px solid var(--alert-accent); padding: 8px; border-radius: 3px; color: var(--fg); background-color: var(--alert-bg); } div.lpdoc-twocolumns { -moz-column-count: 2; -moz-column-gap: 20px; -webkit-column-count: 2; -webkit-column-gap: 20px; column-count: 2; column-gap: 20px; } .lpdoc-table { border-collapse: collapse; width: 100%; } .lpdoc-table td, .lpdoc-table th { border: 1px solid var(--border); padding: 8px; } .lpdoc-table th { border: 1px solid var(--border); background: var(--defname-bg); text-align: left; font-weight: bold; } /* --------------------------------------------------------------------------- */ /* Page elements */ div.lpdoc-nav { padding: 5px 0px 5px 0px; background-color: var(--bg); } div.lpdoc-nav ul { margin:0; padding:0; list-style:none; } div.lpdoc-nav li { display:inline; margin:0; padding:0; } div.lpdoc-nav .header-icon-img { height: 18px; width: 18px; vertical-align: middle; margin-right: 10px; } div.lpdoc-main { color: var(--fg); background-color: var(--bg); padding: 1px 20px 0px 20px; /* padding: 1px 20px 30px 20px; */ /* border-right: 1px solid #dedede; */ /* right-sidebar */ } div.lpdoc-sidebar { background-color: var(--bg); padding:10px 10px 10px 20px; font-size: 14px; line-height: 1.3em; } div.lpdoc-sidebar h2 { margin-top: 1ex; } div.lpdoc-clearer { clear: both; } div.lpdoc-footer { font-size: 11px; /* font-size: 75%; */ color: var(--fgdim); background-color: var(--bg); border-top: 1px solid var(--border); /* background-color: #f8f8f8; */ width: 100%; padding: 3px 0 3px 0; margin-top: 30px; text-align: center; } div.lpdoc-footer a { color: var(--fg); text-decoration: underline; } h1, h2, h3, h4, h5, h6 { font-family: -apple-system,Helvetica,Arial,sans-serif; line-height: 1.3em; font-weight: 600; color: var(--header); } /* --------------------------------------------------------------------------- */ /* Page layout */ div.lpdoc-page { background-color: var(--bg); } /* Document with left sidebar */ .leftbar {} .leftbar > div.lpdoc-main { margin-left: 230px; } .leftbar > div.lpdoc-sidebar { box-sizing: border-box; /* include padding in width */ float: left; width: 230px; height: 100%; position: relative; } /* Document with right sidebar */ .rightbar {} .rightbar > div.lpdoc-main { margin-right: 230px; } .rightbar > div.lpdoc-sidebar { box-sizing: border-box; /* include padding in width */ float: right; width: 230px; height: 100%; position: relative; } /* Document with left sidebar */ .fixleftbar {} .fixleftbar > div.lpdoc-main { margin-left: 230px; } .fixleftbar > div.lpdoc-sidebar { box-sizing: border-box; /* include padding in width */ float: left; width: 230px; height: 100%; position: fixed; overflow-y: auto; top: 0; bottom: 0; border-right: 1px solid var(--border); } /* Document with right sidebar */ .fixrightbar {} .fixrightbar > div.lpdoc-main { margin-right: 230px; } .fixrightbar > div.lpdoc-sidebar { box-sizing: border-box; /* include padding in width */ float: fixright; width: 230px; height: 100%; position: fixed; overflow-y: auto; top: 0; bottom: 0; border-left: 1px solid var(--border); } hr { border: none; border-top: 1px solid var(--border); } /* --------------------------------------------------------------------------- */ /* Links */ div.lpdoc-sidebar a:link { color: var(--sidebar-link); text-decoration: none; } div.lpdoc-sidebar a:visited { color: var(--sidebar-link); text-decoration: none; } div.lpdoc-sidebar a:hover { color: var(--link-fg); text-decoration: none; } a.lpdoc-missing:link { color: #aa0000; text-decoration: none; } a.lpdoc-missing:visited { color: #aa0000; text-decoration: none; } a.lpdoc-missing:hover { color: #aa0000; text-decoration: underline; } a.lpdoc-missing:active { color: #FA0000; text-decoration: underline; } a.lpdoc-idx-anchor:link { color: var(--link-fg); text-decoration: none; } a.lpdoc-idx-anchor:visited { color: var(--link-fg); text-decoration: none; } a.lpdoc-idx-anchor:hover { color: var(--link-fg); text-decoration: underline; } a.lpdoc-idx-anchor:active { color: var(--link-fg); text-decoration: underline; } div.lpdoc-defname a.lpdoc-idx-anchor:link { color: var(--fg); text-decoration: none; } div.lpdoc-defname a.lpdoc-idx-anchor:visited { color: var(--fg); text-decoration: none; } div.lpdoc-defname a.lpdoc-idx-anchor:hover { color: var(--fg); text-decoration: underline; } div.lpdoc-defname a.lpdoc-idx-anchor:active { color: var(--fg); text-decoration: underline; } a:link { color: var(--link-fg); text-decoration: none; } a:visited { color: var(--link-fg); text-decoration: none; } a:hover { color: var(--link-fg); text-decoration: underline; } a:active { color: var(--link-fg); text-decoration: underline; } /* --------------------------------------------------------------------------- */ /* Navigation buttons (special links) */ .lpdoc-navbutton, .lpdoc-navbutton-disabled { font-size: 20px; border-radius: 2px; padding: 2px 8px 2px 8px; margin-left: 1px; margin-right: 1px; } .lpdoc-navbutton { color: var(--link-fg); } a.lpdoc-navbutton:link { color: var(--link-fg); text-decoration: none; } a.lpdoc-navbutton:visited { color: var(--link-fg); text-decoration: none; } a.lpdoc-navbutton:hover { color: var(--link-fg); text-decoration: none; } a.lpdoc-navbutton:active { color: #FAA700; text-decoration: none; } .lpdoc-navbutton-disabled { color: var(--border); } /* --------------------------------------------------------------------------- */ /* Toggleable sidebar (for small screens) */ div#sidebar { display: block; } a#sidebar-toggle-button { display:none; } /* --------------------------------------------------------------------------- */ /* Menu at sidebar */ div.lpdoc-sidebar h2 { font-size: 100%; } div.lpdoc-sidebar p { margin-left: 0px; } /* ul for sectpath in sidebar */ div.lpdoc-sidebar ul.lpdoc-itemize-sectpath { margin-left: 0px; list-style-type: none; color: var(--sidebar-link); padding-left: 0px; margin: 0px; } div.lpdoc-sidebar ul { margin-left: 0px; list-style-type: circle; color: #9cadd3; padding-left: 16px; margin: 0px; } div.lpdoc-sidebar li { /* list-style-type: circle; */ padding-left: 0px; /* margin: 0px; */ /* (tighter when names are split into several lines) */ line-height: 1.0; margin: 6px 0px 6px 0px; } /* --------------------------------------------------------------------------- */ /* Cover */ div.lpdoc-cover-address { line-height:1.3em; font-size: 11px; float:right; /* padding: 16px; */ padding-left: 16px; color: var(--fgdim); } div.lpdoc-cover-authors { font-size: 11px; line-height: 1.3em; /* padding: 16px; */ float:right; text-align:right; color: var(--fgdim); } div.lpdoc-cover-logo { float: right; } div.lpdoc-cover-title { /* padding: 16px; */ margin: 0px; margin-bottom: 16px; background-color: var(--bg); color: var(--header); } div.lpdoc-cover-subtitle-extra { font-size: 11px; line-height: 1.3em; /* padding: 16px; */ border-radius: 8px; color: var(--fgdim); } h1.lpdoc-cover-h1 { margin-bottom:0px; font-size: 40px; } /* --------------------------------------------------------------------------- */ /* Ciao syntax highlight (htmlfontify) */ html { --face-sectioning: #000080; --face-funexp-atom: #6b8e23; --face-type-assrt: #0000cd; --face-prop-assrt: #0000ff; --face-entry-assrt: #a52a2a; --face-trust-assrt: #ff7f50; --face-false-assrt: #ff0000; --face-true-assrt: #228b22; --face-check-assrt: #000080; --face-checked-assrt: #006400; --face-lpdoc-command: #4169e1; --face-lpdoc-verbatim: #000080; --face-lpdoc-include: #000080; --face-concurrency-op: #ff7f50; --face-prompt: #ff7f50; --face-variable: #a0522d; --face-string: #bc8f8f; --face-lpdoc-comment: #000080; --face-lpdoc-bug-comment: #ff0000; --face-clauseheadname: #0000ff; --face-user-directive: #000080; --face-library-directive: #000080; --face-predicate-directive: #4169e1; --face-builtin-directive: #0000ff; --face-quoted-atom: #666666; --face-module-directive: #000080; --face-comment: #b22222; --face-cut: #4169e1; --face-error-mess: #ff0000; --face-warning-mess: #a52a2a; --face-other-mess: #a52a2a; --face-no-answer: #b8860b; --face-yes-answer: #228b22; --face-answer-var: #a020f0; --face-answer-val: #0000ff; --face-debug-call: #5f42f4; --face-debug-call-bg: #5f42f440; --face-debug-exit: #7dd120; --face-debug-exit-bg: #7dd12040; --face-debug-fail: #b22222; --face-debug-fail-bg: #b2222240; --face-debug-redo: #ffa500; --face-debug-redo-bg: #ffa50040; --face-debug-expansion: #ffff00; --face-debug-expansion-bg: #ffff0020; --face-debug-breakpoint: #ff0000; } html[data-theme='dark'] { --face-sectioning: #ffec8b; --face-funexp-atom: #b3ee3a; --face-type-assrt: #1e90ff; --face-prop-assrt: #1e90ff; --face-trust-assrt: #ff7f50; --face-false-assrt: #ff0000; --face-true-assrt: #32cd32; --face-checked-assrt: #90ee90; --face-check-assrt: #1e90ff; --face-cut: #6495ed; --face-concurrency-op: #ff7f50; --face-prompt: #ff7f50; --face-variable: #eedd82; --face-string: #ffa07a; --face-lpdoc-command: #c6e2ff; --face-lpdoc-bug-comment: #ff0000; --face-lpdoc-comment: #9fb6cd; --face-clauseheadname: #87cefa; --face-user-directive: #1e90ff; --face-library-directive: #1e90ff; --face-predicate-directive: #1e90ff; --face-builtin-directive: #87cefa; --face-quoted-atom: #e5e5e5; --face-module-directive: #9f79ee; --face-comment: #6c7b8b; --face-script-header: #32cd32; --face-error-mess: #ff0000; --face-warning-mess: #ff8c69; --face-other-mess: #ff8c69; --face-no-answer: #eedd82; --face-yes-answer: #32cd32; --face-answer-var: #00ffff; --face-answer-val: #87cefa; --face-debug-call: #2793fa; --face-debug-call-bg: #2793fa40; --face-debug-exit: #7dd120; --face-debug-exit-bg: #7dd12040; --face-debug-fail: #b22222; --face-debug-fail-bg: #b2222240; --face-debug-redo: #ffa500; --face-debug-redo-bg: #ffa50040; --face-debug-expansion: #ffff00; --face-debug-expansion-bg: #ffff0020; --face-debug-breakpoint: #ff0000; /*--face-debug-call: #0000cd80; --face-debug-exit: #556b2f80; --face-debug-fail: #b2222280; --face-debug-redo: #ffa50080; --face-debug-expansion: #ffff0080; --face-debug-breakpoint: #ff000080;*/ } span.ciao-face-sectioning-5-face { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; text-decoration: none; } span.ciao-face-sectioning-5-face a { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; text-decoration: underline; } span.ciao-face-sectioning-4-face { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; font-size: 15pt; text-decoration: none; } span.ciao-face-sectioning-4-face a { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; font-size: 15pt; text-decoration: underline; } span.ciao-face-sectioning-3-face { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; font-size: 18pt; text-decoration: none; } span.ciao-face-sectioning-3-face a { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; font-size: 18pt; text-decoration: underline; } span.ciao-face-sectioning-2-face { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; font-size: 20pt; text-decoration: none; } span.ciao-face-sectioning-2-face a { color: var(--face-sectioning); font-weight: 700; font-family: "Trebuchet MS", Helvetica, sans-serif; font-size: 20pt; text-decoration: underline; } span.ciao-face-funexp-atom { color: var(--face-funexp-atom); font-weight: 500; text-decoration: none; } span.ciao-face-funexp-atom a { color: var(--face-funexp-atom); font-weight: 500; text-decoration: underline; } span.ciao-face-type-assrt { color: var(--face-type-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-type-assrt a { color: var(--face-type-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-prop-assrt { color: var(--face-prop-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-prop-assrt a { color: var(--face-prop-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-entry-assrt { color: var(--face-entry-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-entry-assrt a { color: var(--face-entry-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-trust-assrt { color: var(--face-trust-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-trust-assrt a { color: var(--face-trust-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-false-assrt { color: var(--face-false-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-false-assrt a { color: var(--face-false-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-true-assrt { color: var(--face-true-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-true-assrt a { color: var(--face-true-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-check-assrt { color: var(--face-check-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-check-assrt a { color: var(--face-check-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-checked-assrt { color: var(--face-checked-assrt); font-weight: 700; text-decoration: none; } span.ciao-face-checked-assrt a { color: var(--face-checked-assrt); font-weight: 700; text-decoration: underline; } span.ciao-face-lpdoc-command { color: var(--face-lpdoc-command); font-weight: 500; text-decoration: none; } span.ciao-face-lpdoc-command a { color: var(--face-lpdoc-command); font-weight: 500; text-decoration: underline; } span.ciao-face-lpdoc-verbatim { color: var(--face-lpdoc-verbatim); font-weight: 700; text-decoration: none; } span.ciao-face-lpdoc-verbatim a { color: var(--face-lpdoc-verbatim); font-weight: 700; text-decoration: underline; } span.ciao-face-lpdoc-include { color: var(--face-lpdoc-include); font-weight: 700; text-decoration: none; } span.ciao-face-lpdoc-include a { color: var(--face-lpdoc-include); font-weight: 700; text-decoration: underline; } span.ciao-face-concurrency-op { color: var(--face-concurrency-op); font-weight: 700; text-decoration: none; } span.ciao-face-concurrency-op a { color: var(--face-concurrency-op); font-weight: 700; text-decoration: underline; } span.ciao-face-prompt { color: var(--face-prompt); font-weight: 700; text-decoration: none; } span.ciao-face-prompt a { color: var(--face-prompt); font-weight: 700; text-decoration: underline; } span.ciao-face-variable { color: var(--face-variable); font-weight: 500; text-decoration: none; } span.ciao-face-variable a { color: var(--face-variable); font-weight: 500; text-decoration: underline; } span.ciao-face-string { color: var(--face-string); font-weight: 500; text-decoration: none; } span.ciao-face-string a { color: var(--face-string); font-weight: 500; text-decoration: underline; } span.ciao-face-lpdoc-comment { color: var(--face-lpdoc-comment); font-weight: 500; text-decoration: none; } span.ciao-face-lpdoc-comment a { color: var(--face-lpdoc-comment); font-weight: 500; text-decoration: underline; } span.ciao-face-lpdoc-bug-comment { color: var(--face-lpdoc-bug-comment); font-weight: 700; text-decoration: none; } span.ciao-face-lpdoc-bug-comment a { color: var(--face-lpdoc-bug-comment); font-weight: 700; text-decoration: underline; } span.ciao-face-clauseheadname { color: var(--face-clauseheadname); font-weight: 500; text-decoration: none; } span.ciao-face-clauseheadname a { color: var(--face-clauseheadname); font-weight: 500; text-decoration: underline; } span.ciao-face-user-directive { color: var(--face-user-directive); font-weight: 500; text-decoration: none; } span.ciao-face-user-directive a { color: var(--face-user-directive); font-weight: 500; text-decoration: underline; } span.ciao-face-library-directive { color: var(--face-library-directive); font-weight: 700; text-decoration: none; } span.ciao-face-library-directive a { color: var(--face-library-directive); font-weight: 700; text-decoration: underline; } span.ciao-face-predicate-directive { color: var(--face-predicate-directive); font-weight: 500; text-decoration: none; } span.ciao-face-predicate-directive a { color: var(--face-predicate-directive); font-weight: 500; text-decoration: underline; } span.ciao-face-builtin-directive { color: var(--face-builtin-directive); font-weight: 700; text-decoration: none; } span.ciao-face-builtin-directive a { color: var(--face-builtin-directive); font-weight: 700; text-decoration: underline; } span.ciao-face-quoted-atom { color: var(--face-quoted-atom); font-weight: 500; text-decoration: none; } span.ciao-face-quoted-atom a { color: var(--face-quoted-atom); font-weight: 500; text-decoration: underline; } span.ciao-face-module-directive { color: var(--face-module-directive); font-weight: 700; text-decoration: none; } span.ciao-face-module-directive a { color: var(--face-module-directive); font-weight: 700; text-decoration: underline; } span.ciao-face-comment { color: var(--face-comment); font-weight: 500; text-decoration: none; } span.ciao-face-comment a { color: var(--face-comment); font-weight: 500; text-decoration: underline; } span.ciao-face-cut { color: var(--face-cut); font-weight: 500; text-decoration: none; } span.ciao-face-cut a { color: var(--face-cut); font-weight: 500; text-decoration: underline; } span.ciao-face-error-mess { color: var(--face-error-mess); font-weight: 700; text-decoration: none; } span.ciao-face-error-mess a { color: var(--face-error-mess); font-weight: 700; text-decoration: underline; } span.ciao-face-warning-mess { color: var(--face-warning-mess); font-weight: 700; text-decoration: none; } span.ciao-face-warning-mess a { color: var(--face-warning-mess); font-weight: 700; text-decoration: underline; } span.ciao-face-other-mess { color: var(--face-other-mess); font-weight: 700; text-decoration: none; } span.ciao-face-other-mess a { color: var(--face-other-mess); font-weight: 700; text-decoration: underline; } span.ciao-face-no-answer { color: var(--face-no-answer); font-weight: 700; text-decoration: none; } span.ciao-face-no-answer a { color: var(--face-no-answer); font-weight: 700; text-decoration: underline; } span.ciao-face-yes-answer { color: var(--face-yes-answer); font-weight: 700; text-decoration: none; } span.ciao-face-yes-answer a { color: var(--face-yes-answer); font-weight: 700; text-decoration: underline; } ciao-face-answer-var { color: var(--face-answer-var); font-weight: 700; text-decoration: none; } ciao-face-answer-var a { color: var(--face-answer-var); font-weight: 700; text-decoration: underline; } ciao-face-answer-val { color: var(--face-answer-val); font-weight: 700; text-decoration: none; } ciao-face-answer-val a { color: var(--face-answer-val); font-weight: 700; text-decoration: underline; } .ciao-face-debug-call { box-shadow: inset 0px 0px 0px 1px var(--face-debug-call); background: var(--face-debug-call-bg); } .ciao-face-debug-call-bg { background: var(--face-debug-call-bg); } .ciao-face-debug-exit { box-shadow: inset 0px 0px 0px 1px var(--face-debug-exit); background: var(--face-debug-exit-bg); } .ciao-face-debug-exit-bg { background: var(--face-debug-exit-bg); } .ciao-face-debug-fail { box-shadow: inset 0px 0px 0px 1px var(--face-debug-fail); background: var(--face-debug-fail-bg); } .ciao-face-debug-fail-bg { background: var(--face-debug-fail-bg); } .ciao-face-debug-redo { box-shadow: inset 0px 0px 0px 1px var(--face-debug-redo); background: var(--face-debug-redo-bg); } .ciao-face-debug-redo-bg { background: var(--face-debug-redo-bg); } .ciao-face-debug-expansion { box-shadow: inset 0px 0px 0px 1px var(--face-debug-expansion); background: var(--face-debug-expansion-bg); } .ciao-face-debug-expansion-bg { background: var(--face-debug-expansion-bg); } .ciao-face-debug-breakpoint { background: var(--face-debug-breakpoint); } /* Other languages */ span.constant { color: #008b8b; font-weight: 500; text-decoration: none; } span.constant a { color: #008b8b; font-weight: 500; text-decoration: underline; } span.negation-char { font-weight: 500; color: #000000; text-decoration: none; } span.negation-char a { font-weight: 500; color: #000000; text-decoration: underline; } span.variable-name { color: #a0522d; font-weight: 500; text-decoration: none; } span.variable-name a { color: #a0522d; font-weight: 500; text-decoration: underline; } span.type { color: #228b22; font-weight: 500; text-decoration: none; } span.type a { color: #228b22; font-weight: 500; text-decoration: underline; } span.hc-tab { background: #000000; font-weight: 500; color: #000000; text-decoration: none; } span.hc-tab a { background: #000000; font-weight: 500; color: #000000; text-decoration: underline; } span.hc-trailing-whitespace { background: #000000; font-weight: 500; color: #000000; text-decoration: none; } span.hc-trailing-whitespace a { background: #000000; font-weight: 500; color: #000000; text-decoration: underline; } span.function-name { color: #0000ff; font-weight: 500; text-decoration: none; } span.function-name a { color: #0000ff; font-weight: 500; text-decoration: underline; } span.keyword { color: #a020f0; font-weight: 500; text-decoration: none; } span.keyword a { color: #a020f0; font-weight: 500; text-decoration: underline; } span.string { color: #8b2252; font-weight: 500; text-decoration: none; } span.string a { color: #8b2252; font-weight: 500; text-decoration: underline; } span.preprocessor { color: #483d8b; font-weight: 500; text-decoration: none; } span.preprocessor a { color: #483d8b; font-weight: 500; text-decoration: underline; } span.comment { color: #b22222; font-weight: 500; text-decoration: none; } span.comment a { color: #b22222; font-weight: 500; text-decoration: underline; } span.comment-delimiter { color: #b22222; font-weight: 500; text-decoration: none; } span.comment-delimiter a { color: #b22222; font-weight: 500; text-decoration: underline; } span.sh-quoted-exec { color: #ff00ff; font-weight: 500; text-decoration: none; } span.sh-quoted-exec a { color: #ff00ff; font-weight: 500; text-decoration: underline; } /* --------------------------------------------------------------------------- */ /* Search */ #search-input { font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace; font-size: 14px; line-height: normal; padding: 8px; color: var(--codeblock-fg); background-color: var(--codeblock-bg); border: 1px solid var(--codeblock-border); border-radius: 3px; width: 80%; box-sizing: border-box; } #search-input:focus { outline: none; } /* --------------------------------------------------------------------------- */ /* LPdoc runnable code blocks (see ciao_playground) */ .lpdoc-codeblock-runnable { display: none; } .lpdoc-runnable-container { position: relative; margin-top: 1em; margin-bottom: 1em; } /* .lpdoc-runnable-container details { font-size: 12px; padding: .25em .5em 0 .5em; } .lpdoc-runnable-container summary { margin: -.25em -.5em 0 -.5em; padding: .25em .5em .25em .5em; user-select: none; color: var(--link-fg); } .lpdoc-runnable-container details[open] { padding: .25em .5em .25em .5em; }*/ .lpdoc-runnable-help { color: var(--sidebar-link); border: 1px solid var(--note-bg); border-radius: 5px; background: var(--note-bg); font-size: 12px; cursor: pointer; } .lpdoc-runnable-statusmark { } .lpdoc-runnable-status-failed { color: #ff6262; } .lpdoc-runnable-status-checked { color: #6eb88c; } .lpdoc-runnable-status-unknown { color: #ffa162; } .comint-echo { font-size: 14px; font-family: -apple-system,Helvetica,Arial,sans-serif; font-weight: bold; line-height: normal; right: 5px; top: 5px; padding: 2px 4px 2px 4px; border-radius: 3px; } .comint-echo-running { color: var(--link-fg); } .comint-echo-error { color: red; } .comint-echo-hidden { display: none } .lpdoc-runnable-comint { display: none } .lpdoc-runnable-preview { display: none } .lpdoc-runnable-buttons { position: absolute; z-index: 100; right: 5px; top: 5px; color: var(--fgdim); cursor: pointer; } .lpdoc-runnable-button { color: var(--fgdim); margin-right: 5px; padding: 0; font-size: 14px; cursor: pointer; background: transparent; border: 0px; /* border: 1px solid var(--fgdim); border-radius: 3px; */ /* width: 20px; */ height: 20px; } /* --------------------------------------------------------------------------- */ /* UI - Dropdown menus */ /* dropdown buttons */ .dropdown-btn { font-family: -apple-system,Helvetica,Arial,sans-serif; font-size: 17px; font-weight: 500; color: var(--sidebar-link); background: none; border: none; cursor: pointer; padding: 0px; } .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; padding: 5px 5px; background-color: var(--dropdown-bg); border-radius: 6px; /* min-width: 160px; */ width: max-content; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; overflow: hidden; } div.dropdown-content a { font-family: -apple-system,Helvetica,Arial,sans-serif; font-size: 15px; color: var(--fg); padding: 5px 10px; text-align: justify; text-decoration: none; display: block; cursor: pointer; } div.dropdown-content a:hover { text-decoration: none; background-color: var(--fg); color: var(--dropdown-bg); border-radius: 3px; } .dropdown-mark { display: inline-block; width: 14px; } .show { display: block; } /* --------------------------------------------------------------------------- */ /* UI - Menu bars */ /* Top left menu */ .main-menu { flex: 0 1 auto; font-family: -apple-system,Helvetica,Arial,sans-serif; font-size: 15px; width: 100%; padding-left: 0px; padding-right: 0px; padding-bottom: 8px; display: flex; } .file-upload { opacity: 0; width: 0.1px; height: 0.1px; position: absolute; } .main-menu label { display: block; position: relative; color: var(--button-color); border: 1px solid var(--button-border); border-radius: 6px; background: var(--button-bg); /* background: linear-gradient(90deg, rgba(239, 239, 239, 1) 0%, rgba(233, 233, 237, 1) 35%, rgba(241, 243, 244, 1) 100%); */ /* height: 21px; */ width: 50px; margin-right: 5px; display: flex; align-items: center; justify-content: center; } .main-menu label:hover { border: 1px solid var(--button-border-hover); cursor: pointer; } .main-menu .header-icon-img { height: 20px; width: 20px; margin-top: 0px; } .main-menu .header-icon-img:hover { transform: scale(1.0); } .menu-button { font-family: -apple-system,Helvetica,Arial,sans-serif; font-size: 15px; color: var(--button-color); border: 1px solid var(--button-border); border-radius: 6px; padding: 4px 8px 4px 8px; background: var(--button-bg); margin-right: 5px; /* background: linear-gradient(90deg, rgba(239, 239, 239, 1) 0%, rgba(233, 233, 237, 1) 35%, rgba(241, 243, 244, 1) 100%); */ /* height: 23px; */ } .menu-button:hover { border: 1px solid var(--button-border-hover); cursor: pointer; } .right-menu { margin-left: auto; margin-right: 0px; display: flex; } .right-menu .menu-button { margin-right: 0px; margin-left: 5px; } /* --------------------------------------------------------------------------- */ /* Runnable code (editor) */ .lpdoc-runnable-editor-container, .lpdoc-runnable-container .comint-editor-container { border: 1px solid var(--codeblock-border); border-radius: 3px; padding-top: 8px; padding-bottom: 8px; background: var(--codeblock-bg); } .monaco-editor .scroll-decoration { /* (does not look nice in our setting) */ box-shadow: none !important; } /* --------------------------------------------------------------------------- */ /* Comint (command-interpreter-in-a-buffer ala emacs) */ .comint-container { width: 100%; height: 100%; display: flex; flex-flow: column; } .comint-editor-container { flex: 1 1 auto; border: 1px solid var(--codeblock-border); border-radius: 6px; overflow: hidden; } /* control bar for toplevel query buttons */ .comint-control { width: 100%; flex: 0 1 26px; margin-top: 8px; /* (only top margin to separate from toplevelEd) */ } /* avoid scrollback (use instead of 'hidden'; solution from https://github.com/microsoft/monaco-editor/issues/1588) */ /* .editor-container .monaco-editor { overflow: unset; } .comint-container .monaco-editor { overflow: unset; } */ .comint-button { font-family: -apple-system,Helvetica,Arial,sans-serif; font-size: 14px; color: var(--button-color); border: 1px solid var(--button-border); border-radius: 6px; padding: 4px 8px 4px 8px; background: var(--button-bg); display: none; margin-right: 5px; } .comint-button:hover { border: 1px solid var(--button-border-hover); cursor: pointer; } .comint-button-abort { /* width: 115px; */ float: right; /* transition: all 0.3s ease; */ opacity: 1; animation-name: fadeInOpacity; animation-iteration-count: 1; animation-timing-function: ease-in; animation-duration: 0.5s; margin-right: 0px; } @keyframes fadeInOpacity { 0% { opacity: 0; } 100% { opacity: 1; } } /* --------------------------------------------------------------------------- */ /* Playgroung editing and toplevel */ .playground { overflow: hidden; margin: 0px; padding: 0px; flex: 1 1 auto; /*height: calc(100% - 35px);*/ width: 100%; /* box-sizing: border-box; */ } /* (see split.js documentation) */ .split-vert { } .split-horiz { display: flex; flex-direction: row; } .gutter.gutter-vertical { cursor: row-resize; } .gutter.gutter-horizontal { cursor: col-resize; } .editor-container { border: 1px solid var(--codeblock-border); overflow: hidden; border-radius: 6px; } .preview-container { width: 100%; height: 100%; border: 1px solid var(--codeblock-border); overflow: hidden; border-radius: 6px; } /* --------------------------------------------------------------------------- */ /* Mobile-friendly */ @media (max-width: 700px) { /* Reset sidebar position */ .leftbar > div.lpdoc-main { margin-left: 0; } .rightbar > div.lpdoc-main { margin-right: 0; } .leftbar > div.lpdoc-sidebar, .rightbar > div.lpdoc-sidebar { float: none; width: auto; position: relative; } .fixleftbar > div.lpdoc-main { margin-left: 0; } .fixrightbar > div.lpdoc-main { margin-right: 0; } .fixleftbar > div.lpdoc-sidebar, .fixrightbar > div.lpdoc-sidebar { float: none; width: auto; position: relative; } div.lpdoc-nav { padding-right: 20px; /* some space for toggle button */ } a#sidebar-toggle-button { z-index: 1; display: block; position: absolute; right: 0; top: 0; padding:7px 10px 7px 10px; } div#sidebar { display: none; } div#sidebar.sidebar-toggled { display: block; border-bottom: 1px solid var(--fgdim); font-size: 16px; z-index: 0; } } @media (max-width: 700px) { .right-header { margin-top: 10px; } .main-menu .header-icon-img { margin-top: 0px; } .menu-button { font-size: 14px; } .main-menu { font-size: 14px; } }