@import"https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;600;700;800&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--paper: #fffbf1;--ink: #111111;--accent: #ffd400;--line: #0f0f0f;--ok: #267a31;--warn: #996f00;--error: #a62828;--radius: 8px;--border-w: 3px;--border: #0f0f0f;--text: #111111;--text-muted: rgba(17, 17, 17, .65);--bg-panel: rgba(255, 251, 241, .84);--bg-secondary: #f1f1f1;--yellow: #ffd400;--yellow-soft: rgba(255, 212, 0, .15);--yellow-hover: #f5cb00;--shadow-sm: 3px 3px 0 var(--border)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:Space Grotesk,Trebuchet MS,Segoe UI,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden;position:relative}.grid-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(#f7f6f0 1px,transparent 1px),linear-gradient(90deg,#f7f6f0 1px,transparent 1px);background-size:40px 40px;opacity:.7}.deco-square{position:fixed;border:3px solid;border-radius:var(--radius);opacity:0;animation:squareAppear 1s ease forwards;z-index:0;pointer-events:none}.deco-square.sq-a{width:180px;height:180px;top:-30px;left:5%;background:#ffd60014;border-color:#ffd6004d;animation-delay:.2s}.deco-square.sq-b{width:120px;height:120px;top:20%;right:8%;background:#00c8530f;border-color:#00c85340;animation-delay:.5s}.deco-square.sq-c{width:90px;height:90px;bottom:12%;left:15%;background:#ffd6000d;border-color:#ffd60033;animation-delay:.7s}#app{min-height:100vh}.app-shell{position:relative;z-index:1;min-height:100vh;padding-top:10rem}.brutal-box{border:3px solid var(--line);border-radius:var(--radius);box-shadow:7px 7px 0 0 var(--line);background:#fffbf1d6;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.topbar{width:calc(100% - 2rem);position:fixed;top:1rem;left:1rem;right:1rem;z-index:10;padding:1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;animation:popIn .45s ease-out}.nav-brand{justify-self:start;margin:0;font-family:Archivo Black,Impact,sans-serif;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}.top-nav{justify-self:center;display:inline-flex;gap:.55rem}.auth-widget{justify-self:end;display:grid;gap:.35rem;justify-items:end}.auth-dropdown{position:relative}.auth-toggle{display:inline-flex;align-items:center;gap:.3rem;border:3px solid var(--line);border-radius:var(--radius);background:#ffffffe6;font-family:inherit;font-size:1rem;font-weight:700;padding:.32rem .6rem;cursor:pointer;box-shadow:4px 4px 0 0 var(--line);transition:transform .12s ease,box-shadow .12s ease}.auth-toggle:hover{transform:translate(4px,4px);box-shadow:0 0 0 0 var(--line)}.auth-toggle.ok{background:#dbf0de}.auth-toggle.warn{background:#fff0bf}.auth-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;border:3px solid var(--line);border-radius:var(--radius);background:#fffdf2;box-shadow:5px 5px 0 0 var(--line);z-index:10;padding:.3rem}.auth-menu-item{display:block;width:100%;border:none;background:none;padding:.5rem .6rem;font:inherit;font-size:1rem;font-weight:700;text-align:left;cursor:pointer;border-radius:calc(var(--radius) - 2px)}.auth-menu-item:hover{background:#fff0bf}.view{width:100%}.view-new{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:1rem 0 2rem}.view-history{min-height:calc(100vh - 140px);display:grid;place-items:start center;padding:1rem 0 2rem}.view-all{min-height:calc(100vh - 140px);padding:1rem}.view-all .history-panel{width:100%;max-width:100%}.panel{padding:1rem;animation:popIn .5s ease-out}.center-panel{width:min(90%,820px)}.history-panel{width:min(90%,920px)}h2{margin:0 0 .75rem;text-align:center;font-family:Archivo Black,Impact,sans-serif;letter-spacing:.02em;font-size:1.3rem;text-transform:uppercase}.notice-line{margin:0 0 .75rem;padding:.45rem .55rem;border:2px solid var(--line);border-radius:var(--radius);font-size:.86rem;font-weight:700}.notice-line.ok{background:#dbf0de}.notice-line.warn{background:#fff0bf}.notice-line.error{background:#ffd6d6}.mission-form{display:grid;gap:.75rem}label{font-weight:700}textarea,input{width:100%;border:3px solid var(--line);background:#fff;border-radius:var(--radius);padding:.75rem;font:inherit}textarea{min-height:170px;resize:vertical}.dropzone{border:3px dashed var(--line);border-radius:var(--radius);background:#ffffffc7;min-height:140px;display:grid;place-content:center;text-align:center;gap:.25rem;padding:1rem;transition:transform .16s ease,background-color .16s ease}.dropzone p{margin:0;font-weight:700}.dropzone-meta{font-size:.82rem;opacity:.75}.dropzone.is-dragging{background:#fff6c9;transform:translate(-3px,-3px)}#fileInput{display:none}.files{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.file-item{border:2px solid var(--line);border-radius:var(--radius);background:#ffffffe6;padding:.55rem .6rem;display:flex;justify-content:space-between;align-items:center;gap:.7rem}.list{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.history-item{border:2px solid var(--line);border-radius:var(--radius);background:#ffffffe6;padding:.65rem}.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.history-title{margin:0;font-size:.95rem;font-weight:700}.history-meta{margin:.38rem 0 0;font-size:.82rem;opacity:.9}.history-foot{margin-top:.4rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.history-open{padding:.36rem .7rem;font-size:.78rem}.status-pill{border:2px solid var(--line);border-radius:var(--radius);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#ededed;padding:.18rem .45rem;white-space:nowrap}.status-pill.is-qa{background:#ffd400}.status-pill.is-ok{background:#d7f6dc}.status-pill.is-error{background:#ffd6d6}.status-pill.is-queued{background:#ececec}.status-pill.is-polling{display:inline-flex;align-items:center;gap:.3em;animation:pill-pulse 2s ease-in-out infinite}.poll-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.6;animation:dot-blink 1.2s ease-in-out infinite}@keyframes pill-pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes dot-blink{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.muted{opacity:.7}.nav-item,.ghost,.send-btn{border:3px solid var(--line);border-radius:var(--radius);padding:.55rem .82rem;font:inherit;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;box-shadow:5px 5px 0 0 var(--line);transition:transform .12s ease,box-shadow .12s ease}.nav-item,.ghost{background:#ffffffe0}.send-btn,.nav-item.active{background:#ffd600eb}.send-btn{justify-self:end;min-width:145px}.nav-item:hover,.ghost:hover,.send-btn:hover{transform:translate(5px,5px);box-shadow:0 0 0 0 var(--line)}.nav-item:active,.ghost:active,.send-btn:active{transform:translate(5px,5px) scale(.97);box-shadow:0 0 0 0 var(--line)}.send-btn:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:5px 5px 0 0 var(--line)}.modal{position:fixed;inset:0;z-index:20;background:#00000075;display:grid;place-content:center;padding:1rem}.modal-card{width:min(100%,420px);padding:1.1rem;border-radius:var(--radius);background:#fffdf2;animation:popIn .2s ease-out}.modal-card h3{margin:0;font-family:Archivo Black,Impact,sans-serif}.modal-card p{margin-top:.4rem;margin-bottom:1rem}.login-form{display:grid;gap:.58rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.auth-switch{margin:.4rem 0 0;font-size:.82rem;text-align:center}.auth-switch-link{background:none;border:none;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink);text-decoration:underline;cursor:pointer;padding:0}.mission-preview-modal{position:fixed;inset:0;z-index:30;background:#00000085;padding:1rem}.mission-preview-shell{width:100%;height:calc(100vh - 2rem);overflow:auto;display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem 1.5rem}.badge{border:2px solid var(--line);border-radius:var(--radius);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.18rem .45rem;white-space:nowrap;background:#ededed}.badge.is-qa{background:#ffd400}.badge.is-ok{background:#d7f6dc}.badge.is-error{background:#ffd6d6}.badge.is-queued{background:#ececec}.badge.badge-cloud{background:#d6e8ff}.preview-hint{margin:0;border:2px solid var(--line);border-radius:var(--radius);background:#ffffffe6;padding:.45rem .55rem;font-size:.84rem;font-weight:700}.preview-hint.muted{background:#ececec}.preview-hint.warn{background:#fff0bf}.preview-hint.error{background:#ffd6d6}.mission-prompt-text{white-space:pre-wrap;word-break:break-word}.cost-widget{margin-top:16px}.cost-widget>summary,.cost-task>summary{list-style:none}.cost-widget>summary::-webkit-details-marker,.cost-task>summary::-webkit-details-marker{display:none}.cost-widget-summary{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);border:var(--border-w) solid var(--border);background:var(--bg-secondary);cursor:pointer;font-family:IBM Plex Mono,monospace}.cost-widget-summary:after,.cost-task-summary:after{content:"";margin-left:auto;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--text-muted);transition:transform .2s ease;flex-shrink:0}.cost-widget[open]>.cost-widget-summary:after,.cost-task[open]>.cost-task-summary:after{transform:rotate(180deg)}.cost-widget-summary:hover{background:#eee}.cost-widget[open]>.cost-widget-summary{border-radius:var(--radius) var(--radius) 0 0}.cost-total{font-size:16px;font-weight:800}.cost-meta{font-size:11px;color:var(--text-muted)}.cost-breakdown{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.cost-widget[open]>.cost-breakdown{grid-template-rows:1fr}.cost-breakdown-inner{overflow:hidden;border:var(--border-w) solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);background:#fff}.cost-task{border-bottom:1px solid var(--border)}.cost-task:last-child{border-bottom:none}.cost-task-summary{display:flex;align-items:center;gap:12px;padding:8px 14px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:12px}.cost-task-summary:hover{background:var(--bg-secondary)}.cost-task-id{font-weight:700;min-width:80px}.cost-task-cost{font-weight:800;min-width:80px}.cost-task-meta{color:var(--text-muted);font-size:11px}.cost-sources{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.cost-task[open]>.cost-sources{grid-template-rows:1fr}.cost-sources-inner{overflow:hidden;padding:0 14px 8px 28px}.cost-source-row{display:flex;align-items:center;gap:12px;padding:4px 0;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--text-muted)}.cost-source-name{min-width:140px;font-weight:600;color:var(--text)}.cost-source-cost{min-width:70px;font-weight:700}.cost-source-tokens{font-size:10px}.btn-primary,.btn-secondary,.btn-ghost{border:var(--border-w) solid var(--border);cursor:pointer;border-radius:var(--radius);font-weight:700;font-size:14px;padding:12px 20px;text-transform:uppercase;letter-spacing:.8px;transition:transform .1s ease,box-shadow .1s ease;position:relative}.btn-primary{background:var(--yellow);color:var(--text);box-shadow:6px 6px 0 var(--border)}.btn-primary:hover{background:var(--yellow-hover);transform:translate(5px,5px);box-shadow:1px 1px #1a1a1a}.btn-primary:active{transform:translate(5px,5px);scale:.97;box-shadow:1px 1px #312f2f}.btn-primary:disabled{opacity:.4;transform:translate(5px,5px);box-shadow:1px 1px #1a1a1a;cursor:not-allowed}.btn-secondary{background:var(--bg-secondary);color:var(--text);box-shadow:6px 6px 0 var(--border)}.btn-secondary:hover{transform:translate(5px,5px);box-shadow:1px 1px #1a1a1a}.btn-secondary:active{transform:translate(5px,5px);box-shadow:1px 1px #1a1a1a;scale:.97;transition:scale .1s ease}.btn-secondary:disabled{opacity:.4;transform:translate(5px,5px);box-shadow:1px 1px #1a1a1a;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--yellow-soft);transform:translate(-1px,-1px);box-shadow:4px 4px #1a1a1a}.btn-ghost:active{transform:translate(1px,1px);box-shadow:1px 1px #1a1a1a}.mission-logs-viewer{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:#ffffffeb;min-height:140px;max-height:480px;overflow:auto;padding:.55rem}.logs-viewer-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.78rem;font-weight:700}.mission-preview-log{margin:0;white-space:pre-wrap;word-break:break-word;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.83rem;line-height:1.45}.preview-inline-hint{margin:0;font-size:.84rem;font-weight:700}.preview-inline-link{font-size:.8rem;font-weight:700;text-decoration:underline;color:var(--ink)}.preview-grid{display:grid;gap:.45rem}.preview-grid-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:.45rem;align-items:start}.preview-grid-key{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;opacity:.82}.preview-grid-value{font-size:.9rem;line-height:1.35;word-break:break-word}.hidden{display:none}@keyframes squareAppear{0%{opacity:0;transform:scale(.8) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes popIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.topbar{grid-template-columns:1fr;justify-items:center}.auth-widget{justify-self:center;justify-items:center}.nav-brand{justify-self:center}.top-nav{width:100%;justify-content:center;flex-wrap:wrap}.send-btn{justify-self:stretch}.preview-grid-row{grid-template-columns:1fr;gap:.22rem}.cost-task-summary,.cost-source-row{flex-wrap:wrap;gap:.22rem}.file-row{grid-template-columns:auto 1fr auto;gap:.22rem}}.mission-detail-page{display:flex;flex-direction:column;gap:24px}.mission-detail-top{display:flex;align-items:center;gap:16px}.mission-title h1{font-size:24px;text-transform:uppercase;font-weight:800;letter-spacing:1px}.mission-badges{display:flex;gap:8px;margin-top:6px}.mission-section{background:var(--bg-panel);border:var(--border-w) solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.mission-prompt-box label,.mission-summary label{font-size:11px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:1.2px;display:block;margin-bottom:8px;font-family:IBM Plex Mono,monospace}.mission-prompt-text{padding:12px 16px;background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:IBM Plex Mono,monospace}.mission-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px}.mission-stats .stat-label{font-size:11px;margin-right:8px;color:var(--text-muted);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-weight:700;letter-spacing:.5px}.mission-stats .stat-value{font-size:16px;font-weight:800}.mission-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.mission-summary{margin-top:16px}.summary-text{padding:12px 16px;background:var(--yellow-soft);border:var(--border-w) solid var(--yellow);border-radius:var(--radius);font-size:13px;color:var(--text);font-family:IBM Plex Mono,monospace;box-shadow:2px 2px 0 var(--yellow)}.logs-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.files-count{margin-left:auto;font-size:12px;color:var(--text-muted);font-family:IBM Plex Mono,monospace}.log-tab{padding:6px 12px;border-radius:var(--radius);border:var(--border-w) solid var(--border);background:var(--bg-secondary);font-size:12px;cursor:pointer;color:var(--text-muted);font-weight:700;text-transform:uppercase;font-family:IBM Plex Mono,monospace;transition:transform .1s ease,box-shadow .1s ease;box-shadow:4px 4px 0 var(--border)}.log-tab:hover,.log-tab.active:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--border)}.log-tab:active,.log-tab.active:active{scale:.97;transition:scale .1s ease}.log-tab.active{background:var(--yellow);border-color:var(--border);color:var(--text);box-shadow:4px 4px 0 var(--border)}.mission-logs-viewer{padding:0}.logs-loading,.logs-empty{text-align:center;padding:32px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;text-transform:uppercase}.logs-loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.mission-files-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.files-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.file-card{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);overflow:hidden;cursor:pointer;box-shadow:3px 3px 0 var(--border);transition:transform .1s ease,box-shadow .1s ease}.file-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}.file-thumbnail{width:100%;aspect-ratio:16 / 9;max-height:500px;overflow:hidden;background:var(--text);display:flex;align-items:center;justify-content:center;border-bottom:2px solid var(--border)}.file-thumbnail img{width:100%;height:100%;object-fit:cover}.file-thumbnail-placeholder{color:var(--yellow);font-size:12px;font-family:IBM Plex Mono,monospace;text-transform:uppercase}.file-info{padding:10px 12px}.file-name{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,monospace}.file-size{font-size:11px;color:var(--text-muted);font-family:IBM Plex Mono,monospace}.files-list-details summary{padding:10px 14px;border-radius:var(--radius);border:var(--border-w) solid var(--border);background:var(--bg-secondary);cursor:pointer;font-weight:700;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.files-list{border:var(--border-w) solid var(--border);border-top:none;border-radius:var(--radius);background:#fff}.file-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:2px solid var(--border)}.file-row:last-child{border-bottom:none}.file-name-flex{flex:1;font-size:12px;font-family:IBM Plex Mono,monospace;font-weight:600}.file-actions{display:flex;gap:6px}.btn-file-action{width:30px;height:30px;border-radius:var(--radius);border:var(--border-w) solid var(--border);background:#fff;cursor:pointer;box-shadow:2px 2px 0 var(--border);transition:transform .1s ease,box-shadow .1s ease}.btn-file-action:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--border)}
