:root{--bg: #0e1117;--panel: #161b22;--panel-2: #1c2430;--border: #2a3441;--border-strong: #3a4658;--text: #e6edf3;--muted: #8b98a9;--accent: #58a6ff;--accent-soft: rgba(88, 166, 255, .14);--ok: #3fb950;--warn: #d29922;--error: #f85149;--radius: 10px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}code{font-family:var(--mono);font-size:.86em;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px}a{color:var(--accent)}.app-header{padding:24px 24px 18px;border-bottom:1px solid var(--border)}.app-header h1{margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em}.app-header .accent{color:var(--accent)}.tagline{margin:5px 0 0;color:var(--muted);font-size:13.5px}.layout{max-width:1360px;margin:0 auto;padding:20px 24px 40px;display:grid;grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:18px;align-items:start}.sidebar{display:flex;flex-direction:column;gap:18px;min-width:0}.content-panel{display:flex;flex-direction:column;position:sticky;top:20px;min-width:0}@media (max-width: 940px){.layout{grid-template-columns:minmax(0,1fr)}.content-panel{position:static}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:10px}.panel-head h2{margin:0;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.status{font-family:var(--mono);font-size:11.5px;color:var(--muted);text-align:right;min-width:0;overflow-wrap:anywhere}.status[data-tone=ok]{color:var(--ok)}.status[data-tone=warn]{color:var(--warn)}.status[data-tone=error]{color:var(--error)}.row{display:flex;align-items:center;gap:8px;min-width:0}.row-tight{margin-top:12px;flex-wrap:wrap;row-gap:8px}.spacer{flex:1}input[type=password],input[type=search],textarea{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:8px 11px;font-size:13.5px;font-family:var(--mono);outline:none;transition:border-color .12s ease,box-shadow .12s ease}input::placeholder,textarea::placeholder{color:#5c6a7d}input:focus,textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn{flex:none;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);font-size:13.5px;font-weight:500;padding:8px 14px;border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#06121f;font-weight:600}.btn-primary:hover:not(:disabled){background:#79b8ff;border-color:#79b8ff}.btn-ghost{background:transparent;font-weight:400}.btn-sm{padding:5px 10px;font-size:12.5px}.select{flex:none;background:var(--panel-2);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:5px 6px;font-size:12px;font-family:var(--mono);cursor:pointer;outline:none}.hint{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.hint-foot{margin-top:10px}.results{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;max-height:42vh;overflow-y:auto}.results:empty{display:none}.result{border-radius:8px}.result-button{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:8px 10px;color:inherit;font:inherit;cursor:pointer;transition:background .1s ease,border-color .1s ease}.result-button:hover{background:var(--panel-2);border-color:var(--border)}.result.is-active .result-button{background:var(--accent-soft);border-color:var(--accent)}.result-repo{font-size:13px;font-weight:600;overflow-wrap:anywhere}.result-path{font-family:var(--mono);font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}.pager{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.pager[hidden]{display:none}.pager-info{flex:1;min-width:0;text-align:center;font-family:var(--mono);font-size:11.5px;color:var(--muted);white-space:nowrap}.file-meta{display:flex;flex-direction:column;gap:2px}.file-name{font-family:var(--mono);font-size:13.5px;font-weight:600;text-decoration:none;overflow-wrap:anywhere}.file-name:hover{text-decoration:underline}.file-sub{font-family:var(--mono);font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}.textarea-stats{font-family:var(--mono);font-size:11.5px;color:var(--muted);white-space:nowrap}.tabs{display:inline-flex;gap:2px;padding:2px;background:var(--bg);border:1px solid var(--border-strong);border-radius:8px}.tab{border:none;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;padding:5px 12px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease}.tab:hover:not(:disabled){color:var(--text)}.tab.is-active{background:var(--panel-2);color:var(--text);font-weight:600}.tab:disabled{opacity:.45;cursor:default}.field{display:flex;align-items:center;gap:6px;min-width:0}.nav-group{display:inline-flex;align-items:center;gap:6px;flex:none}.nav-position{font-family:var(--mono);font-size:11.5px;color:var(--muted);min-width:54px;text-align:center;white-space:nowrap}.field-label{flex:none;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stage{position:relative;flex:1;margin-top:12px;min-height:62vh;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:#0e1117}.canvas-container{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-container canvas{display:block}.stage-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6;pointer-events:none;overflow-wrap:anywhere}.stage-message[hidden]{display:none}.stage-message[data-tone=warn]{color:var(--warn)}.stage-message[data-tone=error]{color:var(--error)}#file-panel[data-view=preview] #file-content,#file-panel[data-view=source] .stage{display:none}#file-content{margin-top:12px;flex:1;min-height:62vh;resize:vertical;line-height:1.45;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-wrap:normal;overflow-x:auto}
