:root{--font-ui:"ChicagoFLF", "Sysfont", "Geneva", "Verdana", "DejaVu Sans", ui-sans-serif, sans-serif;--font-code:"Monaco", "Menlo", "DejaVu Sans Mono", ui-monospace, monospace;--ink:#000;--paper:#fff;--shade:gray;--shade-light:silver;--desk:#9a9a9a;--border:1px solid var(--ink);--radius-button:9px;--shadow-hard:2px 2px 0 var(--ink);--shadow-card:3px 3px 0 #0000008c;--space-hair:2px;--space-tight:4px;--space:8px;--space-wide:16px;--text:13px;--text-small:11px;color-scheme:light}:root[data-theme=dark]{--ink:#e8e8e8;--paper:#16181a;--shade:#6a6f75;--shade-light:#2a2e33;--desk:#0c0d0f;--shadow-card:3px 3px 0 #000c;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);font-size:var(--text);color:var(--ink);background:var(--desk);-webkit-font-smoothing:none;user-select:none;background-image:linear-gradient(45deg,#0000000f 25%,#0000 25%),linear-gradient(-45deg,#0000000f 25%,#0000 25%);background-size:4px 4px}.app{flex-direction:column;height:100%;display:flex}.app__body{flex:1;min-height:0;display:flex}.app__stage{justify-content:center;align-items:center;gap:var(--space);min-width:0;padding:var(--space-wide);flex-direction:column;flex:1;display:flex;overflow:auto}.menubar{align-items:stretch;gap:var(--space-hair);background:var(--paper);border-bottom:var(--border);padding:0 var(--space-tight);display:flex}.menubar__title{padding:0 var(--space);letter-spacing:.5px;align-items:center;font-weight:700;display:flex}.menubar__spacer{flex:1}.menu{position:relative}.menu__button{font:inherit;color:inherit;padding:var(--space-tight) var(--space);cursor:default;background:0 0;border:0}.menu__button:hover,.menu__button[aria-expanded=true]{background:var(--ink);color:var(--paper)}.menu__items{z-index:10;min-width:190px;padding:var(--space-hair) 0;background:var(--paper);border:var(--border);box-shadow:var(--shadow-hard);margin:0;list-style:none;position:absolute;top:100%;left:0}.menu__item{justify-content:space-between;gap:var(--space-wide);width:100%;font:inherit;color:inherit;padding:var(--space-tight) var(--space);text-align:left;cursor:default;background:0 0;border:0;display:flex}.menu__item:hover:not(:disabled){background:var(--ink);color:var(--paper)}.menu__item:disabled,.menu__shortcut{color:var(--shade)}.menu__item:hover:not(:disabled) .menu__shortcut{color:var(--paper)}.menu__separator{height:1px;margin:var(--space-hair) 0;background:var(--shade-light)}.card{background:var(--paper);border:var(--border);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.card--editing{cursor:default}.card__grid{pointer-events:none;background-image:linear-gradient(to right, var(--shade-light) 1px, transparent 1px), linear-gradient(to bottom, var(--shade-light) 1px, transparent 1px);opacity:.5;background-size:16px 16px;position:absolute;inset:0}.part{font:inherit;font-size:var(--text);color:var(--ink);position:absolute;overflow:hidden}.part--hidden{opacity:.35;border-style:dashed!important}.part--selected{outline:2px solid var(--ink);outline-offset:1px}.image{background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.image--framed{border:var(--border);background:var(--paper)}.image__picture{object-fit:contain;image-rendering:auto;-webkit-user-drag:none;width:100%;height:100%}.image__missing{padding:var(--space-hair) var(--space-tight);border:1px dashed var(--shade);color:var(--shade);font-size:var(--text-small);text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.part--background:after{content:"";border:4px solid #0000;border-right-color:var(--shade);border-bottom-color:var(--shade);position:absolute;bottom:0;right:0}.button{padding:0 var(--space);background:var(--paper);border:var(--border);border-radius:var(--radius-button);box-shadow:var(--shadow-hard);cursor:default;white-space:nowrap;justify-content:center;align-items:center;display:flex}.button:active:not(:disabled),.button--pressed{color:var(--paper);background:var(--ink);box-shadow:none;transform:translate(2px,2px)}.button:disabled,.button--disabled{color:var(--shade);border-color:var(--shade);box-shadow:none}.button--rectangle{border-radius:0}.button--transparent{box-shadow:none;background:0 0;border-color:#0000}.field{padding:var(--space-hair) var(--space-tight);font:inherit;color:var(--ink);background:var(--paper);border:var(--border);resize:none;user-select:text;border-radius:0}.field:focus{outline:2px solid var(--ink);outline-offset:-1px}.field--transparent{background:0 0;border-color:#0000}.field--shadow{box-shadow:var(--shadow-hard)}.inspector{background:var(--paper);border-left:var(--border);flex-direction:column;width:290px;display:flex;overflow:hidden}.inspector__tabs{border-bottom:var(--border);display:flex}.inspector__tab{font:inherit;font-size:var(--text-small);color:inherit;background:var(--shade-light);border:0;border-right:var(--border);padding:var(--space-tight);cursor:default;flex:1}.inspector__tab:last-child{border-right:0}.inspector__tab[aria-selected=true]{background:var(--paper);font-weight:700}.inspector__body{padding:var(--space);flex:1;overflow:auto}.inspector__heading{margin:0 0 var(--space) 0;font-size:var(--text);border-bottom:var(--border);padding-bottom:var(--space-tight)}.inspector__empty{color:var(--shade)}.properties{gap:var(--space-tight);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.properties__name{font-size:var(--text-small);text-overflow:ellipsis;overflow:hidden}.properties input[type=text],.properties input[type=number]{width:100%;min-width:0;font:inherit;font-size:var(--text-small);color:var(--ink);background:var(--paper);border:var(--border);padding:1px var(--space-hair);border-radius:0}.hierarchy{font-size:var(--text-small);margin:0;padding:0;list-style:none}.hierarchy__item{width:100%;font:inherit;font-size:var(--text-small);color:inherit;padding:var(--space-hair) var(--space-tight);text-align:left;cursor:default;background:0 0;border:0}.hierarchy__item:hover{background:var(--shade-light)}.hierarchy__item[aria-current=true]{background:var(--ink);color:var(--paper)}.hierarchy__children{margin:0 0 0 var(--space-wide);padding:0;list-style:none}.script{gap:var(--space-tight);flex-direction:column;height:100%;display:flex}.script__source{min-height:220px;font-family:var(--font-code);color:var(--ink);background:var(--paper);border:var(--border);padding:var(--space-tight);resize:none;user-select:text;tab-size:2;flex:1;font-size:12px;line-height:1.45}.script__error{font-size:var(--text-small);color:var(--paper);background:var(--ink);padding:var(--space-tight)}.script__ok{font-size:var(--text-small);color:var(--shade)}.statusbar{align-items:center;gap:var(--space);background:var(--paper);border-top:var(--border);padding:var(--space-tight) var(--space);font-size:var(--text-small);display:flex}.statusbar__message{min-width:0;font-family:var(--font-code);color:var(--ink);background:var(--paper);border:var(--border);padding:var(--space-hair) var(--space-tight);user-select:text;flex:1;font-size:12px}.statusbar__error{color:var(--paper);background:var(--ink);padding:0 var(--space-tight)}.statusbar__notice{color:var(--ink);padding:0 var(--space-tight);text-align:left;background:0 0}.navigator{align-items:center;gap:var(--space-tight);display:flex}.navigator__label{text-align:center;min-width:110px;font-size:var(--text-small)}.tool{font:inherit;font-size:var(--text-small);color:inherit;background:var(--paper);border:var(--border);border-radius:var(--radius-button);padding:var(--space-hair) var(--space);box-shadow:var(--shadow-hard);cursor:default}.tool:active,.tool[aria-pressed=true]{color:var(--paper);background:var(--ink);box-shadow:none;transform:translate(2px,2px)}.tool:disabled{color:var(--shade);border-color:var(--shade);box-shadow:none;transform:none}.dialog__scrim{z-index:100;background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--paper);border:2px solid var(--ink);min-width:300px;max-width:460px;box-shadow:var(--shadow-card);padding:var(--space-wide)}.dialog__message{margin:0 0 var(--space-wide) 0;white-space:pre-wrap;user-select:text}.dialog__field{width:100%;margin-bottom:var(--space-wide);padding:var(--space-hair) var(--space-tight);font:inherit;color:var(--ink);background:var(--paper);border:var(--border);user-select:text;border-radius:0}.dialog__field:focus{outline:2px solid var(--ink);outline-offset:-1px}.dialog__buttons{justify-content:flex-end;gap:var(--space);display:flex}.notice{max-width:460px;padding:var(--space-wide);background:var(--paper);border:2px solid var(--ink);box-shadow:var(--shadow-card);margin:15vh auto}.notice code{font-family:var(--font-code);background:var(--shade-light);padding:0 var(--space-hair)}.assistant{background:var(--paper);border-left:var(--border);flex-direction:column;width:300px;display:flex;overflow:hidden}.assistant__bar{gap:var(--space-tight);padding:var(--space-tight) var(--space);border-bottom:var(--border);align-items:center;display:flex}.assistant__who{font-weight:700;font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.assistant__switches{gap:var(--space-hair);padding:var(--space-tight) var(--space);border-bottom:var(--border);font-size:var(--text-small);flex-direction:column;display:flex}.assistant__switch{gap:var(--space-tight);align-items:center;display:flex}.assistant__problems{padding:var(--space-tight) var(--space) var(--space-tight) var(--space-wide);border-bottom:var(--border);color:var(--paper);background:var(--ink);font-size:var(--text-small);margin:0}.assistant__transcript{padding:var(--space);flex:1;overflow-y:auto}.assistant__empty{color:var(--shade);font-size:var(--text-small)}.assistant__suggestions{gap:var(--space-tight);margin:var(--space) 0 0;flex-direction:column;align-items:flex-start;padding:0;list-style:none;display:flex}.assistant__thinking{color:var(--shade);font-size:var(--text-small)}.assistant__note{margin:var(--space-tight) 0 0;color:var(--shade);font-size:var(--text-small)}.assistant__ask{gap:var(--space-tight);padding:var(--space-tight) var(--space);border-top:var(--border);align-items:flex-end;display:flex}.assistant__field{padding:var(--space-tight);border:var(--border);background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-small);resize:none;user-select:text;flex:1}.said{margin-bottom:var(--space);font-size:var(--text-small)}.said__text{white-space:pre-wrap;user-select:text;margin:0}.said--question .said__text{padding:var(--space-tight);border:var(--border);background:var(--shade-light);font-weight:700}.said--failed .said__text{padding:var(--space-tight);color:var(--paper);background:var(--ink)}.said__sent>summary,.said--used>summary{color:var(--shade);cursor:default;font-size:var(--text-small)}.said--refused>summary{color:var(--ink);font-weight:700}.said__context{max-height:200px;margin:var(--space-hair) 0 0;padding:var(--space-tight);border:var(--border);font-family:var(--font-code);font-size:var(--text-small);white-space:pre-wrap;user-select:text;overflow:auto}.dialog--wide{width:420px}.map__scrim{z-index:90;padding:var(--space-wide);background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.map{background:var(--paper);border:2px solid var(--ink);width:100%;max-width:1100px;height:100%;box-shadow:var(--shadow-card);flex-direction:column;display:flex}.map__bar{align-items:center;gap:var(--space);padding:var(--space-tight) var(--space);border-bottom:var(--border);display:flex}.map__count{color:var(--shade);font-size:var(--text-small)}.map__spacer{flex:1}.map__legend{gap:var(--space) var(--space-wide);padding:var(--space-tight) var(--space);border-bottom:var(--border);color:var(--shade);font-size:var(--text-small);flex-wrap:wrap;margin:0;display:flex}.map__legend span{align-items:center;gap:var(--space-tight);display:flex}.map__legend code{font-family:var(--font-code);color:var(--ink)}.map__key{border:1px solid var(--ink);width:18px;height:10px}.map__key--here{border-width:3px}.map__key--stranded{outline:1px solid var(--ink);outline-offset:2px;margin:0 3px}.map__key--closed{border-color:var(--shade)}.map__canvas{flex:1;min-height:0;overflow:hidden}.map__route{color:var(--ink);stroke:var(--ink);fill:none;opacity:.45}.map__route--self{stroke-dasharray:2 2}.map__route--lit{opacity:1;stroke-width:2px}.map__card{cursor:pointer}.map__card rect{fill:var(--paper);stroke:var(--ink);stroke-width:1px}.map__card text{font-family:var(--font-ui);fill:var(--ink);pointer-events:none;font-size:10px}.map__card:hover rect{fill:var(--shade-light)}.map__card:focus-visible rect{outline:2px solid var(--ink)}.map__card--here rect{stroke-width:3px}.map__card--closed text{fill:var(--shade)}.map__card--closed rect{stroke:var(--shade)}.map__card-outer{fill:none}.map__doubt{font-family:var(--font-code);letter-spacing:-1px;font-size:9px}.map__card--stranded .map__doubt,.map__card .map__doubt{fill:var(--shade)}.map__foot{gap:var(--space-wide);max-height:140px;padding:var(--space) var(--space-wide);border-top:var(--border);display:flex;overflow:auto}.map__finding{flex:1;min-width:0}.map__finding h3{margin:0 0 var(--space-tight) 0;font-size:var(--text-small);letter-spacing:.5px;text-transform:uppercase}.map__finding ul{font-size:var(--text-small);margin:0;padding:0;list-style:none}.map__finding li{margin-bottom:var(--space-hair);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map__none{color:var(--shade);font-size:var(--text-small);margin:0}.map__jump{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--ink);box-shadow:none;cursor:pointer;background:0 0;border-radius:0;padding:0}.map__jump:active{background:var(--ink);color:var(--paper)}@media (width<=60rem){.app__body{flex-direction:column;min-width:0}.app__stage{padding:var(--space-tight);min-height:0;overflow:hidden}.card{zoom:var(--card-zoom,1)}.inspector,.assistant{border-left:none;border-top:var(--border);width:auto;max-height:50vh}.statusbar{row-gap:var(--space-tight);flex-wrap:wrap}.statusbar__message{flex-basis:100%;order:10}.menubar{padding:0 var(--space-hair);flex-wrap:wrap}.menubar__title{padding:0 var(--space-tight)}.menu__button{padding:var(--space-hair) var(--space)}.dialog{width:calc(100vw - 2 * var(--space));max-width:none}}
