:root{--accent:#2b579a;--accent-contrast:#fff;--chrome:#f3f3f3;--chrome-border:#d6d6d6;--workspace:#e6e6e6;--page:#fff;--text:#1f1f1f;--text-dim:#616161;--hover:#e1e1e1;--danger:#a4262c;--comment:#fffbe6;--comment-edge:#c19c00;--comment-text:#1f1f1f;color:var(--text);font-family:Segoe UI,Noto Sans,system-ui,sans-serif;font-size:13px}@media (prefers-color-scheme:dark){:root{--accent:#1e3f73;--chrome:#292929;--chrome-border:#3d3d3d;--workspace:#1f1f1f;--page:#fff;--text:#f0f0f0;--text-dim:#a8a8a8;--hover:#3a3a3a;--danger:#f1707b;--comment:#3a3420;--comment-edge:#d4b000;--comment-text:#f0f0f0}}*{box-sizing:border-box}body{background:var(--workspace);margin:0}button{font:inherit;color:inherit}.app{grid-template-rows:auto auto 1fr auto;height:100vh;display:grid}.title-bar{background:var(--accent);color:var(--accent-contrast);align-items:center;gap:16px;padding:6px 12px;display:flex}.app-name{font-weight:600}.file-name{text-align:center;opacity:.9;flex:1}.ribbon{background:var(--chrome);border-bottom:1px solid var(--chrome-border);position:relative}.tabs{background:var(--accent);align-items:stretch;gap:8px;padding:0 8px;display:flex}.quick-access{border-right:1px solid color-mix(in srgb, var(--accent-contrast) 30%, transparent);align-items:center;gap:2px;padding-right:8px;display:flex}.quick{color:var(--accent-contrast);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:3px;display:flex;position:relative}.quick .icon svg{fill:currentColor;width:16px;height:16px}.quick:hover:not(:disabled){background:color-mix(in srgb, var(--accent-contrast) 18%, transparent)}.quick:disabled{opacity:.5;cursor:default}.tab-list{scrollbar-width:none;flex:1;gap:2px;min-width:0;display:flex;overflow-x:auto}.tab{color:var(--accent-contrast);cursor:pointer;background:0 0;border:none;padding:6px 14px;position:relative}.search{align-items:center;display:flex;position:relative}.search-box{background:color-mix(in srgb, var(--accent-contrast) 85%, var(--accent));color:#1f1f1f;width:clamp(120px,22vw,220px);height:22px;font:inherit;border:1px solid #0000;border-radius:3px;padding:0 8px}.search-box:focus{outline:2px solid var(--accent-contrast);background:#fff}.commands-found{z-index:20;border:1px solid var(--chrome-border);background:var(--chrome);width:300px;color:var(--text);border-radius:4px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0003}.found-command{cursor:pointer;align-items:center;gap:8px;padding:4px 10px;display:flex}.found-command .icon svg{fill:currentColor;width:16px;height:16px}.found-command.chosen{background:var(--hover)}.found-command[aria-disabled=true]{color:var(--text-dim);cursor:default}.found-label{flex:1}.found-where{color:var(--text-dim);font-size:11px}@media (width<=640px){.search,.quick-access{display:none}}.tooltip{z-index:30;border:1px solid var(--chrome-border);background:var(--chrome);pointer-events:none;border-radius:3px;flex-direction:column;gap:4px;max-width:260px;padding:6px 8px;display:flex;position:absolute;box-shadow:0 2px 8px #0000002e}.tooltip-title{font-weight:600}.tooltip-text{color:var(--text-dim);white-space:normal}.keytip{z-index:10;border:1px solid var(--text-dim);background:var(--page);color:#1f1f1f;border-radius:2px;padding:0 3px;font-size:10px;line-height:13px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.control-holder{display:inline-flex;position:relative}.tab.active{background:var(--chrome);color:var(--text)}.groups{height:102px;padding:4px 8px 0;display:flex;overflow-x:auto}.group{border-right:1px solid var(--chrome-border);flex-direction:column;padding:0 8px;display:flex}.commands{flex:1;grid-template-rows:repeat(3,22px);grid-auto-flow:column;place-content:start;gap:2px;display:grid}.command-holder:has(>.command.large){grid-row:span 3}.command{cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;position:relative}.command.large{flex-direction:column;align-items:center;gap:4px;min-width:56px;height:70px;padding:6px 8px 4px;display:flex}.command.small{text-align:left;align-items:center;gap:6px;height:22px;padding:0 6px;display:flex}.command .icon{display:flex}.command .icon svg{fill:currentColor}.command.large .icon svg{width:32px;height:32px}.command.small .icon svg{width:16px;height:16px}.command:disabled .icon{opacity:.45}.command:hover:not(:disabled){background:var(--hover);border-color:var(--chrome-border)}.command:disabled{color:var(--text-dim);cursor:default}.controls{gap:4px;margin:2px 0 4px;display:flex}.control{border:1px solid var(--chrome-border);background:var(--chrome);height:22px;color:var(--text);font:inherit;border-radius:2px;padding:0 4px}.control.font{width:140px}.control.size{width:52px}.control.style{width:150px}.control.line-spacing{width:110px}.commands.compact{flex-flow:wrap;max-width:240px;max-height:48px;display:flex}.commands.icons-only .command.small .label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.command.pressed{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--chrome-border)}.group-label{color:var(--text-dim);text-align:center;margin:0;padding:2px 0 4px;font-size:11px;font-weight:400}.workspace{min-height:0;display:flex}.canvas{flex:1;padding:24px;position:relative;overflow:auto}.canvas:focus:not(:focus-visible){outline:none}.text-input{opacity:0;resize:none;pointer-events:none;border:0;width:1px;padding:0;font-size:16px;position:absolute;overflow:hidden}.page{background:var(--page);margin:0 auto 16px;display:block;box-shadow:0 1px 4px #00000040}.sheet{margin:0 auto 16px;position:relative}.sheet>.page{margin:0}.mirror{color:#0000;forced-color-adjust:none;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.mirror div{position:absolute}.mirror .line{white-space:pre;overflow:hidden}.mirror a{color:#0000}.announcer{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.selected,.composed,.found,.dragged,.caret{pointer-events:none;position:absolute}.composed{box-sizing:border-box;border-bottom:2px solid #000}.selected{background:#0078d74d}.dimmed{pointer-events:none;background:#ffffff8c;position:absolute}.story-edge{pointer-events:none;border-top:1px dashed #2b579a;position:absolute;left:0;right:0}.story-edge span{color:#fff;background:#2b579a;padding:1px 6px;font-size:11px;position:absolute;left:0}.story-edge.header span{top:0}.story-edge.footer span{bottom:0}.found{background:#ffc80073}.find-bar{background:var(--chrome);border-bottom:1px solid var(--chrome-border);flex-direction:column;gap:4px;padding:6px 12px;font-size:12px;display:flex}.find-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.find-field{align-items:center;gap:6px;display:flex}.find-field span{min-width:72px}.find-field input{border:1px solid var(--chrome-border);background:var(--page);color:#1f1f1f;width:220px;font:inherit;padding:2px 4px}.find-bar button{border:1px solid var(--chrome-border);background:var(--chrome);color:var(--text);font:inherit;cursor:pointer;padding:2px 8px}.find-bar button:hover:not(:disabled){background:var(--hover)}.find-bar button:disabled{color:var(--text-dim);cursor:default}.find-option{align-items:center;gap:4px;display:flex}.find-count,.find-outcome{min-width:96px;color:var(--text-dim)}.caret{background:#000;animation:1.06s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.caret{animation:none}}.page.empty{color:#1f1f1f;width:min(816px,100%);min-height:1056px;padding:96px}canvas.page{cursor:text}canvas.page.linked{cursor:pointer}canvas.page.movable{cursor:move}.dragged{box-sizing:border-box;border:1px dashed #000}.hint{color:#616161}.error{max-width:816px;color:var(--danger);margin:0 auto 16px}.parts-panel{background:var(--chrome);border-left:1px solid var(--chrome-border);width:320px;padding:12px;overflow:auto}.parts-panel h2{margin:0 0 8px;font-size:13px}.parts-panel ul{margin:0;padding:0;list-style:none}.parts-panel li{border-bottom:1px solid var(--chrome-border);flex-direction:column;padding:4px 0;display:flex}.parts-panel li.main code{font-weight:700}.parts-panel h2+ul{margin-bottom:16px}.findings .action{text-transform:uppercase;font-size:11px;font-weight:600}.findings .repaired .action{color:var(--accent)}.findings .kept .action{color:var(--text-dim)}.parts-panel small{color:var(--text-dim);overflow-wrap:anywhere}.status-bar{background:var(--accent);color:var(--accent-contrast);justify-content:space-between;padding:2px 12px;font-size:12px;display:flex}.parts-panel h3{color:var(--text-dim);margin:8px 0 4px;font-size:12px}.properties{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:12px}.properties th,.properties td{text-align:left;vertical-align:top;border-bottom:1px solid var(--chrome-border);overflow-wrap:anywhere;padding:2px 4px}.properties th{font-family:ui-monospace,monospace;font-weight:400}.properties .source{color:var(--text-dim)}.properties .defaulted{opacity:.6}.zoom{align-items:center;gap:6px;display:flex}.zoom button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 6px}.comments{width:220px;position:absolute;top:0}.comment{box-sizing:border-box;border-left:3px solid var(--comment-edge);background:var(--comment);width:100%;color:var(--comment-text);padding:6px 8px;font:12px/1.4 system-ui,sans-serif;position:absolute}.comment.resolved{opacity:.6}.comment header{font-weight:600}.comment p{white-space:pre-wrap;margin:2px 0 4px}.comment .reply{margin-left:8px}.comment textarea{box-sizing:border-box;border:1px solid var(--comment-edge);background:var(--page);color:#1f1f1f;width:100%;font:inherit;border-radius:2px}.comment button{border:1px solid var(--comment-edge);color:var(--comment-text);font:inherit;cursor:pointer;background:0 0;border-radius:3px;margin:2px 4px 0 0;padding:1px 8px}.comment button:hover{background:color-mix(in srgb, var(--comment-edge) 25%, transparent)}.tab.contextual{font-weight:600}.tab.contextual:not(.active){background:color-mix(in srgb, var(--accent-contrast) 18%, transparent)}.command-holder{display:inline-flex;position:relative}.command .last-color{width:16px;height:3px;position:absolute;bottom:2px;left:6px}.palette-arrow{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;width:14px;padding:0;font-size:10px}.palette-arrow:hover:not(:disabled){background:var(--hover);border-color:var(--chrome-border)}.palette-arrow:disabled{color:var(--text-dim);cursor:default}.palette{z-index:25;border:1px solid var(--chrome-border);background:var(--chrome);border-radius:4px;grid-template-columns:repeat(5,22px);gap:4px;padding:8px;display:grid;position:fixed;box-shadow:0 4px 12px #0003}.swatch{border:1px solid var(--chrome-border);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;height:22px;padding:2px;display:flex}.swatch.plain{grid-column:1/-1;justify-content:flex-start;padding:0 6px}.swatch.last{box-shadow:inset 0 0 0 2px var(--accent)}.swatch:focus-visible{outline:2px solid var(--text);outline-offset:1px}.swatch-color{width:100%;height:100%}.gallery{gap:4px;margin-bottom:2px;display:flex}.style-tile{border:1px solid var(--chrome-border);background:var(--page);color:#1f1f1f;cursor:pointer;border-radius:2px;flex-direction:column;justify-content:space-between;align-items:center;width:72px;height:46px;padding:2px 4px;display:flex;overflow:hidden}.style-tile.pressed{box-shadow:inset 0 0 0 2px var(--accent)}.style-tile:focus-visible{outline:2px solid var(--text);outline-offset:1px}.style-tile:disabled{opacity:.5;cursor:default}.style-sample{white-space:nowrap;max-width:100%;line-height:1.2;overflow:hidden}.style-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.combo{display:inline-flex;position:relative}.combo .control{border-top-right-radius:0;border-bottom-right-radius:0}.combo-arrow{border:1px solid var(--chrome-border);background:var(--chrome);width:16px;height:22px;color:var(--text);cursor:pointer;border-left:none;border-radius:0 2px 2px 0;padding:0;font-size:10px}.combo-arrow:hover:not(:disabled){background:var(--hover)}.combo-arrow:disabled{color:var(--text-dim);cursor:default}.combo-list{z-index:25;border:1px solid var(--chrome-border);background:var(--chrome);max-height:280px;color:var(--text);border-radius:3px;margin:0;padding:4px 0;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 4px 12px #0003}.combo-option{white-space:nowrap;cursor:pointer;padding:3px 10px}.combo-option.chosen,.combo-option:hover{background:var(--hover)}.menu-mark{font-size:9px}.menu{z-index:25;border:1px solid var(--chrome-border);background:var(--chrome);min-width:180px;color:var(--text);border-radius:4px;flex-direction:column;padding:4px 0;display:flex;position:fixed;box-shadow:0 4px 12px #0003}.menu-item{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;padding:5px 12px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--hover);outline:none}.menu-detail{color:var(--text-dim);font-size:11px}.menu.grid{min-width:0;padding:8px}.grid-cells{gap:2px;display:grid}.grid-cell{border:1px solid var(--chrome-border);background:var(--page);cursor:pointer;width:14px;height:14px;padding:0}.grid-cell.lit{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 30%, var(--page))}.grid-cell:focus-visible{outline:2px solid var(--text);outline-offset:0}.grid-caption{text-align:center;margin-top:6px;font-size:12px}
