:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100%;max-width:1280px;margin:0 auto;padding:2rem;font-family:monospace}h1{font-size:1.5rem;margin-bottom:1rem}.drop-zone{border:2px dashed #555;border-radius:8px;padding:3rem 2rem;cursor:pointer;text-align:center;transition:border-color .2s,background .2s;-webkit-user-select:none;user-select:none}.drop-zone:hover,.drop-zone:focus{border-color:#aaa;background:#ffffff0a;outline:none}.drop-zone--disabled{cursor:default;opacity:.5}.drop-zone p{margin:0;font-size:1rem;color:#ccc}.drop-zone__hint{font-size:.8rem!important;color:#777!important;margin-top:.25rem!important}.status-bar{margin:.75rem 0;font-size:.85rem;color:#aaa}.status-bar--error{color:#f87171}.log-viewer{margin-top:1rem;border:1px solid #333;border-radius:6px;overflow:hidden}.log-viewer__header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#1e1e1e;border-bottom:1px solid #333;font-size:.85rem}.log-viewer__filename{color:#ccc;font-weight:700}.log-viewer__count{color:#666}.log-viewer__body{max-height:70vh;overflow-y:auto;background:#111}.log-line{display:flex;gap:.75rem;padding:.15rem .75rem;font-size:.8rem;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.03)}.log-line:hover{background:#ffffff0a}.log-line__index{min-width:3rem;color:#444;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0}.log-line__raw{color:#d4d4d4;white-space:pre-wrap;word-break:break-all}.log-line--error .log-line__raw{color:#f87171}.log-line--warn .log-line__raw{color:#fbbf24}.log-line--info .log-line__raw{color:#60a5fa}.log-line--debug .log-line__raw{color:#a3e635}.log-line--trace .log-line__raw{color:#94a3b8}.filters-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;flex-wrap:wrap}.filters-bar__search{flex:1;min-width:12rem;padding:.35rem .6rem;background:#1e1e1e;border:1px solid #444;border-radius:4px;color:#ccc;font-family:monospace;font-size:.85rem}.filters-bar__search:focus{outline:none;border-color:#666}.filters-bar__levels{display:flex;gap:.375rem}.filters-bar__level{padding:.2rem .5rem;border-radius:4px;border:1px solid transparent;background:#1e1e1e;font-size:.75rem;font-family:monospace;cursor:pointer;opacity:.4}.filters-bar__level--active{opacity:1;border-color:currentColor}.filters-bar__level--error{color:#f87171}.filters-bar__level--warn{color:#fbbf24}.filters-bar__level--info{color:#60a5fa}.filters-bar__level--debug{color:#a3e635}.filters-bar__level--trace{color:#94a3b8}.filters-bar__count{font-size:.8rem;color:#666;white-space:nowrap}.log-table{margin-top:1rem;border:1px solid #333;border-radius:6px;background:#111;font-family:monospace}.log-table__row{display:flex;align-items:center;gap:.75rem;padding:0 .75rem;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.03);box-sizing:border-box;overflow:hidden}.log-table__row:hover{background:#ffffff0a}.log-table__index{min-width:3rem;color:#444;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0}.log-table__time{color:#666;flex-shrink:0;white-space:nowrap}.log-table__level{flex-shrink:0;font-size:.7rem;font-weight:700;min-width:3.5rem;text-align:center}.log-table__level--error{color:#f87171}.log-table__level--warn{color:#fbbf24}.log-table__level--info{color:#60a5fa}.log-table__level--debug{color:#a3e635}.log-table__level--trace{color:#94a3b8}.log-table__message{color:#d4d4d4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.log-table__payload{flex-shrink:0;color:#555;font-size:.75rem}.log-table__row--selected{background:#ffffff14!important;outline:1px solid #444}.log-table__row--error .log-table__message{color:#f87171}.log-table__row--warn .log-table__message{color:#fbbf24}.log-table__row--info .log-table__message{color:#60a5fa}.log-table__row--debug .log-table__message{color:#a3e635}.log-table__row--trace .log-table__message{color:#94a3b8}.logs-list-page{margin-top:.5rem}.logs-list-page__toolbar{display:flex;gap:.6rem;margin-bottom:1rem}.logs-list-page__search{flex:1;padding:.4rem .6rem;background:#1a1a1a;border:1px solid #333;border-radius:5px;color:#ccc;font-family:monospace;font-size:.85rem}.logs-list-page__search:focus{outline:none;border-color:#555}.logs-list-page__refresh{padding:.4rem .9rem;background:#1a1a1a;border:1px solid #333;border-radius:5px;color:#aaa;font-family:monospace;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.logs-list-page__refresh:hover:not(:disabled){border-color:#555;color:#ccc}.logs-list-page__refresh:disabled{opacity:.5;cursor:default}.logs-list-page__error{margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem;color:#f87171;background:#f8717112;border:1px solid rgba(248,113,113,.2);border-radius:5px}.logs-list-page__empty{margin:2rem 0;font-size:.85rem;color:#555;text-align:center}.logs-list-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.log-file-card{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;transition:border-color .15s;cursor:default;overflow:hidden}.log-file-card:hover{border-color:#444}.log-file-card__icon{font-size:1.2rem;flex-shrink:0;line-height:1.2;opacity:.4}.log-file-card__body{display:flex;flex-direction:column;gap:.18rem;min-width:0}.log-file-card__name{font-size:.88rem;color:#ddd;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-file-card__size{font-size:.75rem;color:#777;font-family:monospace}.log-file-card__date{font-size:.72rem;color:#555;font-family:monospace}.archive-viewer{margin-top:.5rem}.archive-viewer__back{background:none;border:none;color:#888;font-family:monospace;font-size:.85rem;cursor:pointer;padding:0;margin-bottom:1.25rem;display:inline-block}.archive-viewer__back:hover{color:#ccc}.archive-viewer__toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.archive-viewer__filename{font-size:.85rem;color:#888;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-viewer__stage-card{margin-top:2rem;padding:2rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:420px;margin-left:auto;margin-right:auto}.archive-viewer__stage-card .archive-viewer__filename{font-size:.9rem;color:#ccc;text-align:center}.archive-viewer__spinner{width:28px;height:28px;border:2px solid #333;border-top-color:#666;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.archive-viewer__stage-label{font-size:.85rem;color:#888;font-family:monospace}.archive-viewer__error{text-align:center}.archive-viewer__error p{margin:0 0 .75rem;font-size:.85rem;color:#f87171}.archive-viewer__retry{padding:.35rem .9rem;background:none;border:1px solid #555;border-radius:5px;color:#aaa;font-family:monospace;font-size:.82rem;cursor:pointer}.archive-viewer__retry:hover{border-color:#888;color:#ccc}.log-file-card--clickable{cursor:pointer}.log-file-card--clickable:hover{border-color:#555;background:#202020}.auth-bar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:.4rem 0;margin-bottom:.5rem;border-bottom:1px solid #2a2a2a}.auth-bar__email{font-size:.8rem;color:#666;font-family:monospace}.auth-bar__signout{padding:.2rem .6rem;background:none;border:1px solid #444;border-radius:4px;color:#888;font-size:.78rem;font-family:monospace;cursor:pointer}.auth-bar__signout:hover{border-color:#666;color:#ccc}.auth-form__hint{margin:0;font-size:.75rem;color:#888}.auth-page{display:flex;align-items:center;justify-content:center;min-height:80vh;width:100%}.auth-card{width:100%;max-width:380px;background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:2rem 2rem 1.75rem}.auth-card__title{margin:0 0 .25rem;font-size:1.25rem;color:#eee;font-family:monospace}.auth-card__subtitle{margin:0 0 1.5rem;font-size:.85rem;color:#666}.auth-form{display:flex;flex-direction:column;gap:.5rem}.auth-form__label{font-size:.78rem;color:#888;margin-top:.25rem}.auth-form__input{padding:.5rem .7rem;background:#111;border:1px solid #3a3a3a;border-radius:6px;color:#ccc;font-size:.9rem;font-family:monospace;transition:border-color .15s}.auth-form__input:focus{outline:none;border-color:#555}.auth-form__input:disabled{opacity:.5}.auth-form__error{font-size:.8rem;color:#f87171;padding:.4rem .6rem;background:#f8717114;border:1px solid rgba(248,113,113,.25);border-radius:5px;margin-top:.25rem}.auth-form__btn{margin-top:.75rem;padding:.55rem 1rem;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#ddd;font-size:.9rem;font-family:monospace;cursor:pointer;transition:background .15s,border-color .15s}.auth-form__btn:hover:not(:disabled){background:#333;border-color:#666}.auth-form__btn:disabled{opacity:.4;cursor:default}.auth-success{display:flex;align-items:center;gap:.75rem}.auth-success__icon{font-size:1.25rem;color:#4ade80;flex-shrink:0}.auth-success__msg{margin:0;font-size:.9rem;color:#ccc}.event-viewer{display:flex;flex-direction:column;overflow:hidden}.event-stats{font-size:.72rem;color:#555;padding:.2rem 0;margin-bottom:.25rem}.event-table{font-size:.8rem}.event-table__row{display:flex;align-items:center;gap:.6rem;padding:0 .5rem;cursor:pointer;border-bottom:1px solid #1c1c1c;box-sizing:border-box}.event-table__row:hover{background:#1e1e1e}.event-table__row--selected{background:#1a2a3a}.event-table__time{color:#555;white-space:nowrap;flex-shrink:0;font-size:.72rem}.event-table__tag{background:#252535;color:#99c;padding:0 .35rem;border-radius:3px;font-size:.68rem;white-space:nowrap;flex-shrink:0}.event-table__msg{color:#ddd;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-table__payload-hint{color:#444;flex-shrink:0;font-size:.72rem}.log-viewer-page{display:flex;flex-direction:column;overflow:hidden}.detail-panel{border:1px solid #333;border-radius:6px;background:#1a1a1a;margin-top:.5rem;overflow:hidden}.detail-panel__header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;background:#222;border-bottom:1px solid #333;font-size:.8rem;color:#aaa}.detail-panel__close{background:none;border:none;color:#aaa;cursor:pointer;font-size:1rem;padding:0 .25rem;line-height:1}.detail-panel__body{padding:.75rem;overflow-y:auto;height:30vh;display:flex;flex-direction:column;gap:.75rem}.detail-panel__section h3{margin:0 0 .25rem;font-size:.7rem;text-transform:uppercase;color:#555;letter-spacing:.05em}.detail-panel__section pre{margin:0;font-size:.78rem;color:#ccc;white-space:pre-wrap;word-break:break-all}
