*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0f1116;color:#e7ecf3}body,#app,.container{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,select,option,[contenteditable=true],.selectable-text,.selectable-text *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}#app{margin:0 auto;padding:2rem}.placeholder{background:#131722;border:1px solid #1f2633;border-radius:8px;padding:1.5rem}.placeholder h1{margin-top:0}.placeholder p{color:#a8b3c5;margin:.4rem 0}.app-shell{font-family:var(--font-sans);color:var(--text-0);background:var(--ink-0);min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--ink-1);border-bottom:1px solid var(--line-1)}.app-header .brand{font-weight:700;font-size:18px;letter-spacing:.02em}.status{display:flex;align-items:center;gap:8px}.progress{width:120px;height:3px;background:var(--ink-3);border-radius:2px;overflow:hidden}.progress-fill{height:100%;width:0%;background:var(--steel);transition:width .2s ease}.app-main{display:grid;gap:12px;padding:12px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.panel{background:var(--ink-1);border:1px solid var(--line-1);border-radius:var(--radius-2);padding:10px}.panel-header{border-bottom:1px solid var(--line-1);margin-bottom:8px;padding-bottom:6px}.row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.app-table{width:100%;border-collapse:collapse}.app-table th,.app-table td{border:1px solid var(--line-1);padding:6px;font-size:12px}.app-table th{background:var(--ink-2);color:var(--text-1);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:10px}.recent-list{max-height:240px;overflow:auto;display:grid;gap:6px}.recent-item{padding:8px;background:var(--ink-2);border:1px solid var(--line-1);border-radius:var(--radius-1);cursor:pointer;transition:border-color .15s ease}.recent-item:hover{border-color:var(--steel)}.auth-bar input{background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-0);padding:6px;border-radius:var(--radius-1)}.auth-bar input:focus{outline:none;border-color:var(--steel);box-shadow:var(--focus-ring)}.auth-bar button{background:var(--steel);border:none;color:var(--text-0);padding:6px 10px;cursor:pointer;border-radius:var(--radius-1);font-weight:600}.auth-bar button:hover{background:var(--steel-hi)}.danger{background:var(--crimson)!important;color:var(--text-0)!important}.danger:hover{background:var(--crimson-hi)!important}.image-frame{background:var(--ink-0);border:1px solid var(--line-1);min-height:320px;display:flex;align-items:center;justify-content:center;position:relative}.image-frame img{max-width:100%;max-height:100%}.image-frame .overlay{position:absolute;inset:0;max-width:100%;max-height:100%;pointer-events:none;opacity:.7}button{background:var(--ink-3);color:var(--text-1);border:1px solid var(--line-2);padding:6px 10px;cursor:pointer;border-radius:var(--radius-1);transition:background .15s ease,border-color .15s ease,color .15s ease}button:hover{background:var(--ink-4);color:var(--text-0);border-color:var(--line-3)}button.active{background:var(--steel-lo);color:var(--text-0);border-color:var(--steel)}button:disabled{opacity:.4;cursor:not-allowed}input,select{background:var(--ink-2);border:1px solid var(--line-1);color:var(--text-0);padding:6px;border-radius:var(--radius-1)}input:focus,select:focus{outline:none;border-color:var(--steel);box-shadow:var(--focus-ring)}.meta{color:var(--text-2);font-size:12px}.pill{display:inline-block;background:var(--ink-2);border:1px solid var(--line-1);padding:4px 8px;border-radius:999px;font-size:11px;margin-right:4px;color:var(--text-1)}.stent-list{list-style:none;padding-left:0;margin:0;display:grid;gap:6px}.stent-list li{background:var(--ink-2);border:1px solid var(--line-1);padding:6px;border-radius:var(--radius-1)}.llm-chat-messages{background:var(--ink-0);border:1px solid var(--line-1);padding:8px;min-height:120px;border-radius:var(--radius-1)}.llm-message-user{color:var(--text-0)}.llm-message-assistant{color:var(--steel-hi)}.llm-error{color:var(--crimson-hi);font-size:12px}.llm-toggle-btn{background:var(--ink-3);color:var(--text-0);border-radius:var(--radius-1);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2)}.llm-toggle-btn:hover{background:var(--steel-lo);border-color:var(--steel)}.app-modal{display:none;position:fixed;inset:0;background:#000000bf;z-index:999;align-items:center;justify-content:center}.app-modal-content{background:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--radius-2);padding:12px;width:min(640px,90vw)}.app-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.app-pre{background:var(--ink-0);border:1px solid var(--line-1);padding:8px;border-radius:var(--radius-1);max-height:360px;overflow:auto;color:var(--text-1);font-family:var(--font-mono);font-size:12px}.app-overlay{position:fixed;inset:0;background:var(--steel-soft);border:1px dashed var(--steel);pointer-events:none;display:none;z-index:998}.adv-filter-panel{background:var(--ink-1);border:1px solid var(--line-1);padding:8px;border-radius:var(--radius-1);display:grid;gap:6px}.adv-filter-panel .pill{cursor:pointer}.llm-message{margin-bottom:6px}.llm-message .llm-message-content{background:var(--ink-2);border:1px solid var(--line-1);padding:6px;border-radius:var(--radius-1)}.llm-message-user .llm-message-content{background:var(--ink-3)}.llm-message-assistant .llm-message-content{background:var(--steel-soft);border-color:var(--steel-line)}.bar{position:relative;background:var(--ink-2);border:1px solid var(--line-1);height:8px;border-radius:var(--radius-1);overflow:hidden;margin:4px 0 10px}.bar-fill{background:var(--steel);height:100%;width:0%;transition:width .2s ease}
