this repo has no description
at main 148 lines 5.4 kB view raw
1:host { display: block; position: relative; font-family: var(--xo-font, monospace); font-size: var(--xo-font-size, 1em); margin-bottom: var(--xo-margin-bottom, 0.75em) } 2:host([mode="exercise"]) .cm-editor { border-left: 3px solid var(--xo-exercise-border, #4CAF50); } 3:host([mode="exercise"]) .cm-gutters { border-left: none !important; } 4.cm-editor { background: var(--xo-bg, transparent); color: var(--xo-text, inherit); } 5.cm-editor.cm-focused { outline: 1px dotted var(--xo-focus-outline, #AAA) !important } 6.cm-gutters { background: var(--xo-gutter-bg, inherit) !important; color: var(--xo-gutter-text, #6c6c6c) !important; border-right: 1px solid var(--xo-gutter-border, #ddd) !important; } 7.cm-cursor { border-left-color: var(--xo-text, currentColor) !important; } 8.cm-selectionBackground { background: var(--xo-selection, #AAA4) !important; } 9.cm-focused .cm-selectionBackground { background: var(--xo-selection-focused, #AAA6) !important; } 10.cm-tooltip { background: var(--xo-tooltip-bg, #fff) !important; color: var(--xo-tooltip-text, #333) !important; border: 1px solid var(--xo-tooltip-border, #ddd) !important; } 11.cm-tooltip-section { 12 max-width: 400px; 13 height: 1lh; 14 text-overflow: ellipsis; /* not working, because width/height must be px(?) */ 15 padding: 0.3em 0.5em; 16 overflow: hidden; 17 color: var(--xo-tooltip-text, #333); 18} 19.cm-lineNumbers { min-width: var(--xo-line-numbers-min-width, 30px) } 20.cm-lineNumbers .cm-gutterElement { padding: var(--xo-gutter-element-padding, 0 3px 0 5px) !important; } 21.cm-content { padding-left: var(--xo-content-padding-left, 0) !important; } 22.cm-activeLine, .cm-activeLineGutter { background: var(--xo-active-line, transparent) !important } 23.cm-focused .cm-activeLine, 24.cm-focused .cm-activeLineGutter 25{ 26 background: var(--xo-active-line-focused, #AAA2) !important; 27} 28 29.run_btn { 30 position: absolute; width: 100%; height: 100%; z-index: 999; pointer-events: none; 31} 32.run_btn button { 33 pointer-events: auto; 34 position: absolute; right: 2px; top: 2px; 35 width: 28px; height: 28px; 36 padding: 0; margin: 0; 37 border: 2.5px solid transparent; 38 border-radius: 50%; 39 background-color: var(--xo-btn-icon, currentColor); 40 cursor: pointer; 41 opacity: 0.4; 42 transition: opacity 0.15s ease; 43 box-sizing: border-box; 44 -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='white'/%3E%3C/svg%3E") center / contain no-repeat; 45 mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='white'/%3E%3C/svg%3E") center / contain no-repeat; 46} 47.run_btn button::after { 48 content: ""; 49 position: absolute; 50 top: 50%; left: 53%; 51 transform: translate(-50%, -50%); 52 width: 0; height: 0; 53 border-style: solid; 54 border-width: 5px 0 5px 8.5px; 55 border-color: transparent transparent transparent var(--xo-btn-play, white); 56} 57.run_btn button:hover { opacity: 0.8; } 58 59/* Running state: spinning arc with stop square */ 60.run_btn button.running { 61 background-color: transparent; 62 -webkit-mask: none; 63 mask: none; 64 border-color: var(--xo-btn-spinner-track, rgba(128,128,128,0.15)); 65 border-top-color: var(--xo-btn-spinner, #E53935); 66 opacity: 1; 67 animation: xo-spin 0.8s linear infinite; 68} 69.run_btn button.running::after { 70 width: 8px; height: 8px; 71 border: none; 72 left: 50%; 73 background: var(--xo-btn-spinner, #E53935); 74 border-radius: 1px; 75} 76.run_btn button.running:hover { opacity: 0.7; } 77@keyframes xo-spin { to { transform: rotate(360deg); } } 78 79.test-details { position: relative } 80.test-details summary { 81 cursor: pointer; 82 font-size: 0.85em; 83 color: var(--xo-test-summary-text, #666); 84 padding: 0.3em 0.5em; 85 user-select: none; 86} 87.test-details summary:hover { color: var(--xo-test-summary-hover, #333); } 88.test-indicator { font-weight: bold; margin-left: 0.2em; } 89.test-indicator.test-pass { color: var(--xo-test-pass, #4CAF50); } 90.test-indicator.test-fail { color: var(--xo-test-fail, #E53935); } 91.test-indicator.test-error { color: var(--xo-test-error, #FF9800); } 92 93.caml_stdout { 94 background: var(--xo-stdout-bg, #E8F6FF); 95 color: var(--xo-stdout-text, #141A6A); 96 margin: 0; 97 padding: 0.2em 0.2em; 98 padding-left: 0.7em; 99} 100.caml_stderr { 101 background: var(--xo-stderr-bg, #FDEEEE); 102 color: var(--xo-stderr-text, #EB5656); 103 margin: 0; 104 padding: 0.2em 0.2em; 105 padding-left: 0.7em; 106} 107.caml_meta { 108 margin: 0; 109 padding: 0.2em 0.5em; 110 font-style: italic; 111 color: var(--xo-meta-text, #444); 112 padding-bottom: 0.5em; 113 background: var(--xo-meta-bg, #eee); 114} 115.caml_html { 116 margin: 0; 117 padding: 0.2em 0.5em; 118 color: var(--xo-text, black); 119 border: 1px solid transparent; 120 white-space: collapse; 121} 122 123.reset_btn_wrap { 124 position: absolute; left: 0; bottom: 0; z-index: 999; 125 pointer-events: none; 126} 127.reset_exercise_btn { 128 pointer-events: auto; 129 cursor: pointer; 130 font-size: 0.75em; 131 padding: 0.15em 0.5em; 132 background: var(--xo-reset-btn-bg, rgba(0,0,0,0.05)); 133 border: 1px solid var(--xo-reset-btn-border, rgba(0,0,0,0.15)); 134 color: var(--xo-reset-btn-text, #888); 135 opacity: 0.5; 136 transition: opacity 0.15s; 137} 138.reset_exercise_btn:hover { 139 opacity: 1; 140 background: var(--xo-reset-btn-hover-bg, rgba(0,0,0,0.1)); 141 color: var(--xo-reset-btn-hover-text, #333); 142} 143 144table, tr, td, th { 145 border: 1px solid var(--xo-text, black); 146 border-collapse: collapse; 147 padding: 0.2em; 148}