:root{--bg:#090b0a;--bg-raised:#10140f;--text:#9fb8a4;--text-h:#eafff0;--text-dim:#5c7262;--border:#39ff8d29;--code-bg:#0e1310;--accent:#39ff8d;--accent-strong:#7bffb3;--accent-bg:#39ff8d14;--accent-border:#39ff8d66;--accent-ink:#04140a;--danger:#ff5c5c;--danger-bg:#ff5c5c1a;--danger-border:#ff5c5c66;--warn:#ffb300;--warn-bg:#ffb3001a;--glow:0 0 0 1px var(--accent-border), 0 0 20px -6px #39ff8d80;--shadow:#00000080 0 10px 24px -8px, #0000004d 0 4px 8px -4px;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--sans:var(--mono);--heading:var(--mono);font:16px/155% var(--mono);letter-spacing:.01em;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:15px}}*{box-sizing:border-box}::selection{background:var(--accent);color:var(--accent-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--accent-border)}html{background:var(--bg)}body{background:radial-gradient(ellipse 900px 500px at 50% -10%, #39ff8d0f, transparent), repeating-linear-gradient(0deg, #39ff8d06 0px, #39ff8d06 1px, transparent 1px, transparent 3px), var(--bg);min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-.01em;margin:0 0 8px;font-size:28px}h2{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 12px;font-size:14px;line-height:118%}h2:before{content:"> ";color:var(--text-dim)}p{margin:0}a{color:var(--accent)}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:2px;display:inline-flex}code{background:var(--code-bg);border:1px solid var(--border);padding:2px 6px;font-size:14px;line-height:135%}#login{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}#login .login-panel{border:1px solid var(--border);background:var(--bg-raised);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}#login .login-panel-bar{border-bottom:1px solid var(--border);background:#39ff8d08;align-items:center;gap:6px;padding:10px 12px;display:flex}#login .login-panel-bar span{background:var(--border);border-radius:50%;width:9px;height:9px}#login .login-panel-bar .path{color:var(--text-dim);letter-spacing:.04em;margin-left:8px;font-size:11px}#login .login-panel-body{flex-direction:column;align-items:center;gap:8px;padding:32px 28px;display:flex}#login h1{font-size:20px}#login p{color:var(--text-dim);margin-bottom:16px;font-size:13px}#login p strong{color:var(--text-h);font-weight:500}#login .login-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;padding:14px 24px;display:flex}#app-header .brand{color:var(--text-h);letter-spacing:.02em;align-items:baseline;gap:8px;font-weight:600;text-decoration:none;display:flex}#app-header .brand .brand-mark{color:var(--accent)}#app-header .brand .brand-cursor{background:var(--accent);width:8px;height:15px;animation:1.1s step-end infinite blink;display:inline-block}#app-header .user{color:var(--text-dim);align-items:center;gap:14px;font-size:13px;display:flex}#app-header .admin-link{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--accent-border);border-radius:3px;padding:3px 8px;font-size:12px;text-decoration:none}#app-header .admin-link:hover{background:var(--accent-bg)}#app-header button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:5px 10px;font-family:inherit;font-size:13px}#app-header button:hover{border-color:var(--accent-border);color:var(--accent)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.counter{color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:4px;padding:7px 14px;font-size:14px;font-weight:600;transition:box-shadow .15s,transform .1s}.counter:hover{box-shadow:var(--glow)}.counter:active{transform:translateY(1px)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.counter:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.error{color:var(--danger);font-size:13px}.error:before{content:"✕ "}.badge{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border:1px solid var(--border);border-radius:3px;margin-left:8px;padding:2px 7px;font-size:11px}.badge-itr{color:#00d9ff;background:#00d9ff1a;border-color:#00d9ff66;margin-left:0;font-weight:600}.meta{color:var(--text-dim);font-size:12px}.empty{color:var(--text-dim);font-size:13px}#dashboard{width:100%;max-width:max(80vw,760px);margin:0 auto 64px;padding:0 24px}#dashboard .dashboard-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}#dashboard .dashboard-header h1:before{content:"~/";color:var(--text-dim);margin-right:2px}#dashboard .project-section{margin-bottom:32px}#dashboard .project-list{flex-direction:column;gap:10px;display:flex}.project-card{border:1px solid var(--border);background:var(--bg-raised);color:inherit;border-radius:6px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.project-card strong{color:var(--text-h)}.project-card:hover{border-color:var(--accent-border);box-shadow:var(--glow)}.project-form{flex-direction:column;gap:10px;display:flex}.project-form input,.project-form textarea{font:inherit;border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);border-radius:4px;padding:9px 11px}:is(.project-form input,.project-form textarea):focus{border-color:var(--accent-border);box-shadow:var(--glow);outline:none}:is(.project-form input,.project-form textarea)::placeholder{color:var(--text-dim)}.project-form textarea{resize:vertical;min-height:60px}.field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:4px;font-size:12px;display:flex}.checkbox-field{color:var(--text);accent-color:var(--accent);align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-field input{width:auto}.modal-backdrop{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-raised);border:1px solid var(--accent-border);width:100%;max-width:480px;box-shadow:var(--shadow);border-radius:8px;padding:24px}.modal h2{margin-top:0}.secondary{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:14px}.secondary:hover{border-color:var(--accent-border);color:var(--accent)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.modal-actions button{cursor:pointer}#project-view{width:100%;max-width:max(80vw,760px);margin:0 auto 64px;padding:0 24px}#project-view .back-link{color:var(--text-dim);align-items:center;gap:4px;margin-bottom:24px;font-size:13px;text-decoration:none;display:inline-flex}#project-view .back-link:hover{color:var(--accent)}#project-view .project-view-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}#project-view .project-view-header h1{margin:0}#project-view .project-view-header .badges{gap:4px;display:flex}#project-view .project-view-header .header-actions{gap:8px;margin-left:auto;display:flex}#project-view .project-fields{border:1px solid var(--border);background:var(--bg-raised);border-radius:6px;grid-template-columns:max-content 1fr;gap:10px 16px;margin:0 0 28px;padding:16px;display:grid}#project-view .project-fields dt{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:11px}#project-view .project-fields dd{color:var(--text);margin:0}#project-view h1{margin-bottom:8px}#project-view h1:before{content:"# ";color:var(--text-dim)}#project-view h2{margin-top:28px}#project-view .prompt{white-space:pre-wrap;color:var(--text)}.prompt-history{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.prompt-entry{border:1px solid var(--border);background:var(--bg-raised);border-radius:6px;padding:12px 16px}.prompt-entry .prompt-entry-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.prompt-entry .prompt-entry-header strong{color:var(--text-h)}.prompt-entry .prompt-entry-header .meta{margin-left:auto}.prompt-entry .prompt-text{white-space:pre-wrap;color:var(--text);margin:0}.status-badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:3px;padding:2px 6px;font-size:10px}.status-badge:before{content:"● ";font-size:8px}.status-submitted{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.status-review,.status-processing{color:var(--warn);background:var(--warn-bg);border-color:#ffb30059}.status-processed{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.status-rejected{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.review-actions{gap:6px;display:flex}.submit-button,.reject-button{padding:3px 9px;font-size:12px}.submit-button{border-color:var(--accent-border);color:var(--accent)}.submit-button:hover{border-color:var(--accent)}.reject-button{border-color:var(--danger-border);color:var(--danger)}.reject-button:hover{border-color:var(--danger)}.prompt-attachments{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.prompt-response{border-left:2px solid var(--accent-border);background:var(--accent-bg);border-radius:0 4px 4px 0;margin-top:10px;padding:10px 12px}.prompt-response .prompt-text{color:var(--text-h)}.prompt-response-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.prompt-response-list li.prompt-text{margin:0}.prompt-response-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:4px;font-size:10px;display:block}.prompt-response-label:before{content:"✓ "}.prompt-response-progress{background:var(--warn-bg);border-left-color:#ffb30059}.prompt-response-progress .prompt-response-label{color:var(--warn)}.prompt-response-progress .prompt-response-label:before{content:"… "}.prompt-artifact-links{flex-wrap:wrap;gap:16px;display:flex}.prompt-questions{--ask:#4fd8ff;--ask-bg:#4fd8ff12;--ask-border:#4fd8ff73;border:1px dashed var(--ask-border);border-left:3px solid var(--ask);background:var(--ask-bg);border-radius:0 4px 4px 0;margin:10px 0 12px;padding:10px 12px}.prompt-questions .prompt-text{color:var(--text-h)}.prompt-questions-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ask);margin-bottom:6px;font-size:10px;display:block}.prompt-questions-label:before{content:"? ";font-weight:700}.prompt-questions-list{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.prompt-questions-list li.prompt-text{margin:0}.prompt-questions-list li::marker{color:var(--ask);font-weight:600}.prompt-questions-hint{color:var(--text-dim);margin:8px 0 0;font-size:11px}.prompt-artifact-link{margin-top:10px;font-size:13px;font-weight:500;display:inline-block}#project-view .prompts-heading{align-items:baseline;gap:12px;margin-top:28px;display:flex}#project-view .prompts-heading h2{margin:0 0 12px}#project-view .prompts-heading .artifacts-link{margin-left:auto;font-size:13px}#project-artifacts,#artifact-view{width:100%;max-width:max(80vw,760px);margin:0 auto 64px;padding:0 24px}:is(#project-artifacts,#artifact-view) .back-link{color:var(--text-dim);align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}:is(#project-artifacts,#artifact-view) .back-link:hover{color:var(--accent)}#project-artifacts .back-link{margin-bottom:24px}#project-artifacts h1:before{content:"# ";color:var(--text-dim)}.artifact-group{border:1px solid var(--border);background:var(--bg-raised);border-radius:6px;margin-top:20px;padding:12px 16px;scroll-margin-top:16px}.artifact-group .artifact-group-title{white-space:pre-wrap;margin:0 0 2px;font-size:15px}.artifact-group .meta{margin:0 0 8px}.artifact-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.artifact-list a{border:1px solid var(--border);border-radius:4px;padding:8px 12px;font-size:13px;text-decoration:none;display:block}.artifact-list a:hover{border-color:var(--accent-border);background:var(--accent-bg)}.artifact-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.artifact-toolbar .artifact-download{margin-left:auto;font-size:13px}.artifact-toolbar .artifact-window-link{font-size:13px}#artifact-view.artifact-window{flex-direction:column;max-width:none;height:100svh;margin:0;padding:10px 14px;display:flex}#artifact-view.artifact-window .artifact-frame{flex:1;height:auto;min-height:0}.artifact-tabs{flex-wrap:wrap;gap:4px;display:flex}.artifact-tabs a{border:1px solid var(--border);border-radius:3px;padding:3px 9px;font-size:12px;text-decoration:none}.artifact-tabs a.active{border-color:var(--accent-border);background:var(--accent-bg)}.artifact-frame{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;height:78vh;display:block}.artifact-image{border:1px solid var(--border);border-radius:6px;max-width:100%;display:block}.artifact-text{border:1px solid var(--border);background:var(--bg-raised);white-space:pre-wrap;border-radius:6px;max-height:78vh;margin:0;padding:12px 16px;font-size:13px;overflow:auto}.prompt-processing{text-transform:uppercase;letter-spacing:.08em;color:var(--warn);align-items:center;gap:7px;margin:10px 0 0;font-size:11px;display:inline-flex}.prompt-processing:before{content:"";background:var(--warn);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite processing-pulse}@keyframes processing-pulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}.attachment-chip{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);border-radius:3px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-flex}.attachment-chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.attachment-image-link{display:block}.attachment-image{border:1px solid var(--border);border-radius:4px;max-width:160px;max-height:160px;display:block}.pending-attachments{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.prompt-composer{margin-bottom:48px}.prompt-composer .composer-box{border:1px solid var(--border);background:var(--bg-raised);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.prompt-composer .composer-box:focus-within{border-color:var(--accent-border);box-shadow:var(--glow)}.prompt-composer .prompt-caret{color:var(--accent);-webkit-user-select:none;user-select:none;font-weight:600;line-height:24px}.prompt-composer .composer-fields{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.prompt-composer textarea{font:inherit;color:var(--text-h);resize:none;background:0 0;border:none;outline:none;min-height:24px;max-height:240px}.prompt-composer textarea::placeholder{color:var(--text-dim)}.prompt-composer .composer-actions{justify-content:space-between;align-items:center;display:flex}.prompt-composer .attach-button{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px}.prompt-composer .attach-button:hover{background:var(--accent-bg);color:var(--accent)}.prompt-composer .send-button{margin-left:auto}#admin{width:100%;max-width:max(80vw,900px);margin:0 auto 64px;padding:0 24px}#admin h1:before{content:"~/admin ";color:var(--text-dim)}#admin h2{margin-top:32px}.admin-table{border:1px solid var(--border);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.admin-row{color:var(--text);border-top:1px solid var(--border);gap:12px;padding:10px 14px;font-size:13px;text-decoration:none;display:grid}.admin-row:first-child{border-top:none}.admin-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}a.admin-row{transition:background .1s}a.admin-row:hover{background:var(--accent-bg)}a.admin-row:hover span:first-child{color:var(--accent)}.admin-row-head{background:var(--bg-raised);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.admin-table-projects .admin-row{grid-template-columns:2fr 2fr 1.5fr 1fr}.admin-table-users .admin-row{grid-template-columns:2fr 1fr 1fr}
