@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fira+Code:wght@400;500;600&display=swap";:root{--mono-black:#000;--mono-white:#fff;--mono-gray:#f5f5f5;--mono-border:#eaeaea;--mono-red:#d32f2f;--mono-green:#2e7d32}body{background-color:var(--mono-white);color:#1a1a1a;min-height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:2rem}@media (width<=1024px){.container{padding:1.5rem 1rem}}.header{border-bottom:1px solid var(--mono-border);margin-bottom:2rem;padding-bottom:1rem}.header h1{margin:0 0 .5rem;font-size:2rem;font-weight:600}.header p{color:#666;margin:0;font-size:1.1rem}.ide-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr);gap:2rem;width:100%;display:grid}.ide-grid>*{min-width:0}@media (width<=1024px){.ide-grid{grid-template-columns:1fr}}.editor-sidebar{flex-direction:column;gap:1.5rem;display:flex}.panel-card{background:var(--mono-white);border:1px solid var(--mono-black);flex-direction:column;padding:1.5rem;display:flex}.editor-section{flex-direction:column;grid-area:editor;gap:1rem;display:flex}.query-input{border:1px solid var(--mono-black);resize:vertical;background:var(--mono-white);width:100%;padding:1rem;font-family:Fira Code,monospace;font-size:1rem}.query-input:focus{outline:none;box-shadow:0 0 0 2px #0000001a}.tools-bar{flex-direction:column;gap:1rem;display:flex}.btn-run{background-color:var(--mono-black);color:var(--mono-white);cursor:pointer;border:none;width:100%;padding:.75rem 2rem;font-family:Inter,sans-serif;font-weight:600;transition:opacity .2s}.btn-run:hover{opacity:.8}.engine-toggles{background:var(--mono-gray);border:1px solid var(--mono-border);grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem;font-size:.85rem;display:grid}.tool-toggle{cursor:pointer;color:var(--mono-black);align-items:center;gap:.5rem;font-weight:400;display:flex}.output-section{border:1px solid var(--mono-black);background:var(--mono-white);flex-direction:column;align-self:start;padding:0;display:flex}.tabs-header{background:var(--mono-gray);border-bottom:1px solid var(--mono-black);display:flex}.tab-btn{border:none;border-right:1px solid var(--mono-border);color:#555;cursor:pointer;background:0 0;flex:1;padding:1rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s}.tab-btn:last-child{border-right:none}.tab-btn:hover{background:#eee}.tab-btn.active{color:var(--mono-black);background:var(--mono-white);border-bottom:2px solid var(--mono-black)}.tab-content{flex-grow:1;max-height:500px;padding:1.5rem;overflow-y:auto}.smt-output{white-space:pre-wrap;color:#333;margin:0;font-family:Fira Code,monospace;font-size:.9rem}.stats-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.stat-item{border-bottom:1px solid var(--mono-border);flex-direction:column;padding:.5rem 0;display:flex}.stat-item:last-child{border-bottom:none}.stat-label{color:#555;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.stat-value{margin-top:.25rem;font-family:Fira Code,monospace;font-size:1.1rem;font-weight:600}.stat-value.success{color:var(--mono-green)}.stat-value.error{color:var(--mono-red)}.tooltip-wrap{border:1px solid var(--mono-black);width:16px;height:16px;color:var(--mono-black);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-family:sans-serif;font-size:.65rem;font-weight:700;display:inline-flex;position:relative}.tooltip-wrap:hover:after{content:attr(data-tooltip);background:var(--mono-white);width:max-content;max-width:200px;color:var(--mono-black);border:1px solid var(--mono-black);text-align:left;white-space:normal;z-index:10;padding:.5rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;position:absolute;bottom:150%;left:50%;transform:translate(-50%)}.syntax-sidebar{border:1px solid var(--mono-black);background:var(--mono-white);padding:1rem}.syntax-sidebar h3{border-bottom:1px solid var(--mono-border);margin:0 0 1.5rem;padding-bottom:.5rem;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600}.syntax-grid{flex-wrap:wrap;gap:.25rem;display:flex}.syntax-btn{border:1px solid var(--mono-border);cursor:pointer;text-align:left;background:0 0;flex-direction:row;justify-content:flex-start;align-items:center;gap:.2rem;padding:.15rem .3rem;transition:all .1s;display:flex;overflow:hidden}.syntax-btn:hover{border-color:var(--mono-black);background:#0000000d}.syntax-btn code{color:var(--mono-black);flex-shrink:0;font-family:Fira Code,monospace;font-size:.75rem;font-weight:600}.syntax-btn span{color:#666;white-space:nowrap;font-family:Inter,sans-serif;font-size:.68rem}.graph-view-container{background:var(--mono-white);border:1px dashed var(--mono-border);justify-content:center;align-items:center;height:100%;min-height:250px;display:flex;position:relative}.graph-node{fill:var(--mono-black);stroke:var(--mono-black);stroke-width:2px;transition:all .3s}.graph-node.erratic{fill:var(--mono-red);stroke:var(--mono-red)}.graph-node.stable{fill:var(--mono-black)}.graph-edge{stroke:var(--mono-black);stroke-width:2px}.graph-edge.erratic{stroke:var(--mono-red);stroke-dasharray:4 4}.dashboard-section{border-top:2px solid var(--mono-black);width:100%;margin-top:3rem;margin-bottom:4rem;padding-top:2rem}.dashboard-title{text-transform:uppercase;letter-spacing:.05em;color:var(--mono-black);margin-bottom:2rem;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;display:grid}.dashboard-card{background:var(--mono-white);border:1px solid var(--mono-black);flex-direction:column;padding:1.5rem;display:flex}.dashboard-card h3{border-bottom:1px solid #0000001a;margin-top:0;margin-bottom:1.5rem;padding-bottom:.5rem;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600}.tutorial-list{flex-direction:column;gap:.5rem;display:flex}.btn-tut{border:1px solid var(--mono-black);text-align:left;cursor:pointer;color:var(--mono-black);background:0 0;padding:.5rem 1rem;font-family:Fira Code,monospace;font-size:.8rem}.btn-tut:hover{background:var(--mono-black);color:var(--mono-white)}.error-box{border:1px solid var(--mono-red);color:var(--mono-red);background-color:#d32f2f0d;margin-top:1rem;padding:1rem;font-family:Fira Code,monospace;font-size:.9rem}.active-challenge-box{border:1px dashed var(--mono-black);color:var(--mono-black);background-color:#00000008;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1.5rem;display:flex}.active-challenge-box h4{letter-spacing:.05em;margin:0;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700}.active-challenge-box p{margin:0;font-family:Inter,sans-serif;font-size:.95rem;line-height:1.5}.btn-close-challenge{background-color:var(--mono-black);color:var(--mono-white);cursor:pointer;border:none;align-self:flex-start;padding:.5rem 1rem;font-family:Inter,sans-serif;font-weight:600}.btn-close-challenge:hover{opacity:.8}#quarto-header{padding:.5rem 0}#quarto-header .nav-link{font-weight:500;color:#000c!important}#quarto-header .nav-link.active{font-weight:700;color:#000!important}.repl-ide-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;width:100%;margin-bottom:1.5rem;display:grid}.repl-ide-grid>*{min-width:0}@media (width<=1024px){.repl-ide-grid{grid-template-columns:100%}}.repl-terminal{background-color:var(--mono-white,#fff);color:var(--mono-black,#000);border:1px solid var(--mono-black,#000);border-radius:0;flex-direction:column;height:520px;padding:15px;font-family:Fira Code,monospace;display:flex;position:relative;overflow:hidden}.repl-history{flex-grow:1;margin-bottom:10px;padding-right:36px;font-size:.95rem;overflow-y:auto}.repl-line{white-space:pre-wrap;word-break:break-word;margin-bottom:5px}.repl-input{color:var(--mono-black,#000);font-weight:500}.repl-output{color:#333}.repl-error{color:var(--mono-red,#d32f2f);font-weight:500}.repl-input-form{border-top:1px solid var(--mono-border,#eaeaea);align-items:center;gap:8px;padding:8px 36px 0 0;display:flex}.repl-prompt{color:var(--mono-black,#000);font-family:Fira Code,monospace;font-weight:700}.repl-input-field{color:var(--mono-black,#000);background:0 0;border:1px solid #ccc;outline:none;flex-grow:1;padding:6px 10px;font-family:Fira Code,monospace;font-size:.95rem}.repl-input-field:focus{border-color:#000}.starter-bar{border:1px solid var(--mono-border,#eaeaea);background:#fafafa;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;display:flex}.starter-title{text-transform:uppercase;letter-spacing:.5px;color:#666;margin-right:4px;font-size:.8rem;font-weight:600}.starter-chip{cursor:pointer;background:#fff;border:1px solid #ccc;padding:3px 8px;font-family:Inter,sans-serif;font-size:.8rem;transition:all .15s}.starter-chip:hover{color:#fff;background:#000;border-color:#000}.tactic-palette{border-top:1px solid var(--mono-border,#eaeaea);flex-wrap:wrap;gap:5px;margin-top:5px;padding:8px 36px 8px 0;display:flex}.tactic-chip{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;padding:2px 7px;font-family:Fira Code,monospace;font-size:.78rem;transition:all .12s}.tactic-chip:hover{color:#fff;background:#007acc;border-color:#007acc}.proof-sidebar{flex-direction:column;height:100%;display:flex}.infoview-header{border-bottom:1px solid var(--mono-border,#eaeaea);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.infoview-header h3{margin:0;font-size:1.1rem}.strat-badge{letter-spacing:.3px;border-radius:2px;padding:3px 8px;font-size:.75rem;font-weight:600}.strat-badge.stratified{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.strat-badge.collision{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.goal-tabs{gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.goal-tab{cursor:pointer;background:#f5f5f5;border:1px solid #ddd;padding:4px 10px;font-family:Fira Code,monospace;font-size:.8rem}.goal-tab.active{color:#fff;background:#000;border-color:#000}.proof-state-box{border:1px solid var(--mono-border,#eaeaea);background:#fafafa;flex-grow:1;padding:12px;font-family:Fira Code,monospace;font-size:.88rem;overflow-y:auto}.context-section-title{text-transform:uppercase;color:#888;margin-bottom:8px;font-size:.75rem;font-weight:600}.hyp-row{background:#fff;border:1px solid #eee;border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;padding:4px 6px;display:flex}.hyp-row:hover{background:#f9f9f9;border-color:#ccc}.hyp-left{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.tag-hyp{color:#1565c0;background:#e3f2fd;padding:1px 4px;font-size:.7rem;font-weight:700}.tag-var{color:#e65100;background:#fff3e0;padding:1px 4px;font-size:.7rem;font-weight:700}.hyp-name{color:#000;font-weight:600}.hyp-actions{gap:4px;display:flex}.hyp-action-btn{cursor:pointer;color:#444;background:#f5f5f5;border:1px solid #ddd;border-radius:2px;padding:2px 6px;font-size:.72rem}.hyp-action-btn:hover{color:#fff;background:#007acc;border-color:#007acc}.goal-divider-line{text-align:left;border-top:1px solid #ccc;margin:12px 0 8px;position:relative}.turnstile{color:#000;background:#fafafa;padding-right:6px;font-size:1rem;font-weight:700;position:absolute;top:-10px;left:0}.target-row{color:#000;word-break:break-word;overflow-wrap:break-word;background:#fff;border:1px solid #2e7d32;margin-top:6px;padding:8px 10px;font-weight:500}.tok-connective{color:#0d47a1;font-weight:600}.tok-quantifier{color:#00695c;font-weight:600}.tok-var{color:#212121}.tok-neg{color:#c62828;font-weight:700}
