:root{--bg:#0b0e0a;--panel:#111610;--surface:#151c13;--line:#35442f;--line2:#4d6240;--acid:#c2fc28;--acid-hover:#d4ff62;--ink:#eaf1e3;--muted:#a8b69f;--soft:#7f9178;--bad:#ff8172;--radius:0}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 97% 8%,rgba(72,105,21,.15),transparent 40%),var(--bg);color:var(--ink);font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,Monaco,monospace}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 5px,rgba(202,255,185,.035) 6px,transparent 7px);opacity:.47;z-index:8}.scanline{position:fixed;pointer-events:none;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 33px,rgba(166,217,99,.018) 34px);z-index:9}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}
.bar{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(22px,3.1vw,62px);border-bottom:1px solid var(--line);background:rgba(9,13,9,.72)}.brand{display:inline-flex;gap:13px;align-items:center;flex-shrink:0}.brand:hover{text-decoration:none}.brand .skull{width:40px;height:48px;object-fit:contain;filter:drop-shadow(0 0 1px rgba(195,252,40,.3))}.brand-text{font-family:Arial,Helvetica,sans-serif;letter-spacing:-1.8px;font-size:29px;font-weight:900;line-height:1}.accent,.punct{color:var(--acid)}.bar-note{color:var(--soft);font-size:11px;letter-spacing:1.5px}.bar-tools{display:flex;align-items:center;gap:18px}.marker{border:1px solid #38591b;color:var(--acid);font-size:10px;letter-spacing:1.4px;padding:9px 13px;white-space:nowrap}.marker i{display:inline-block;width:6px;height:6px;background:var(--acid);box-shadow:0 0 9px rgba(194,252,40,.45);border-radius:50%;margin-right:7px}.end-session{border:0;color:var(--soft);background:none;font-size:10px;letter-spacing:.9px}.end-session:hover{color:var(--ink)}
.layout{max-width:1560px;margin:auto;padding:0 clamp(22px,3.1vw,62px) 40px}.hero{padding:34px 0 26px;border-bottom:1px solid rgba(75,104,52,.3);margin-bottom:24px}.eyebrow{color:#91a187;letter-spacing:1.7px;font-size:11px;margin:0 0 12px}.hero h1,.login h1{font-family:Impact,'Arial Black',system-ui,sans-serif;font-weight:900;letter-spacing:-2px;font-size:clamp(48px,5vw,84px);line-height:.94;margin:0 0 23px}.hero h1 em,.login h1 em{font-style:normal;color:var(--acid)}.desc{font-size:14px;color:#b7c3b0;max-width:710px;line-height:1.75;margin:0}.workspace{display:grid;grid-template-columns:minmax(310px,430px) minmax(0,1fr);gap:14px;align-items:stretch}.panel{background:rgba(16,22,14,.82);border:1px solid var(--line);min-width:0;padding:27px 29px}.panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px;padding-bottom:17px;font-size:10px;letter-spacing:1.2px;color:var(--soft)}.strip{color:var(--acid)}.panel-id{white-space:nowrap}.panel h2{font-size:30px;letter-spacing:-1.2px;font-weight:800;margin:20px 0 7px;line-height:1.15}.help{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 24px}.inventory-heading{display:flex;gap:10px;align-items:baseline}.inventory-heading .count{color:var(--acid);border:1px solid var(--line2);padding:2px 8px;font-size:11px;line-height:1.2}.inventory .help{margin-bottom:22px}
label{display:block;font-size:10px;font-weight:700;color:#c6d1be;letter-spacing:1.1px;margin:21px 0 9px}input,textarea{min-width:0;display:block;width:100%;padding:13px 13px;border:1px solid #506046;background:#080c08;color:var(--ink);border-radius:0;outline:none;font-size:13px}input::placeholder{color:#80907a}input:focus-visible,textarea:focus-visible,summary:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:3px}input:hover{border-color:#6e845e}.field-help{color:var(--soft);font-size:11px;margin:8px 0 3px}.details{border-block:1px solid var(--line);padding:15px 0;margin-top:25px}.details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.details summary::-webkit-details-marker{display:none}.details summary:before{content:'+';color:var(--acid);margin-right:10px;font-size:19px;line-height:1}.details[open] summary:before{content:'−'}.details summary span{margin-left:auto;font-size:10px;line-height:1.4;color:var(--soft);font-weight:400}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding-top:10px}.advanced-grid>div:nth-child(3){grid-column:span 2}.capability-note{font-size:11px;color:#9fae95;line-height:1.7;margin:20px 0 8px}.deploy-btn,.button-primary{display:inline-flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;background:var(--acid);border:1px solid var(--acid);color:#13190b;font-weight:900;letter-spacing:.7px;font-size:13px;min-height:48px;text-decoration:none}.deploy-btn{width:100%;margin-top:17px}.deploy-btn:hover:not(:disabled),.button-primary:hover:not(:disabled){background:var(--acid-hover);text-decoration:none}.message{margin:13px 0 0;color:var(--acid);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.message.is-error,.app-error{color:var(--bad)}
.app-list{display:flex;flex-direction:column}.app-card{border-top:1px solid var(--line);padding:22px 0 24px}.app-card:first-child{padding-top:17px}.app-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.app-title-group{min-width:0}.app-title{margin:0 0 2px;font-size:18px;font-weight:800;letter-spacing:-.5px;overflow-wrap:anywhere}.app-url{font-size:12px;color:#bbd3a3;display:block;max-width:100%;overflow-wrap:anywhere}.app-url:hover{color:var(--acid)}.state{color:#b9b9a9;border:1px solid #40513b;display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.6px;line-height:1.3;padding:7px 9px;white-space:nowrap;text-transform:uppercase}.state:before{content:'•';font-size:15px;line-height:.6}.state-ready{color:var(--acid);border-color:#466523}.state-progress{color:#b0c5ee}.state-attention{color:var(--bad);border-color:#854438}.app-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:9px 14px;font-size:11px;white-space:nowrap;letter-spacing:.5px;font-weight:700;background:transparent;border:1px solid #4a603f;color:var(--ink);text-decoration:none}.button:hover:not(:disabled){border-color:var(--acid);color:var(--acid);text-decoration:none}.app-actions>.button-primary{min-height:39px;font-size:11px;color:#111a08;padding:9px 18px}.app-actions>.button-primary:hover{color:#111a08}.button-secondary{border-color:var(--acid);color:var(--acid)}.app-details{margin-left:auto;position:relative;min-width:0}.app-details summary{border:1px solid transparent;padding:9px 8px;cursor:pointer;font-size:11px;letter-spacing:.5px;list-style:none;color:var(--soft)}.app-details summary::-webkit-details-marker{display:none}.app-details summary::after{content:'⌄';color:var(--acid);margin-left:8px}.app-details[open] summary{color:var(--ink);border-color:var(--line)}.app-details-content{margin-top:7px;border:1px solid var(--line);padding:16px;background:#0b110a;max-width:100%;min-width:min(330px,100%);font-size:12px}.app-detail-line{font-size:11px;color:#98a994;overflow-wrap:anywhere;margin:7px 0}.tech-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tech-actions .button{font-size:10px;min-height:32px;padding:7px 9px}.empty-state{border:1px dashed var(--line);padding:48px 15px;text-align:center;color:var(--muted)}.empty-state h3{color:var(--ink);margin:0}.empty-state p{margin:8px 0 16px}.footer{display:flex;justify-content:space-between;gap:12px;color:#708366;font-size:10px;letter-spacing:.75px;margin:40px 0 5px;padding:18px 0;border-top:1px solid var(--line)}
.login{margin:75px auto;max-width:620px;background:rgba(15,21,13,.86);border:1px solid var(--line);padding:36px}.login h1{font-size:clamp(48px,5vw,70px)}.login .desc{margin:0 0 24px}.login .deploy-btn{margin-top:16px}
.dialog{width:min(570px,calc(100% - 24px));max-height:88vh;overflow:auto;margin:auto;background:#111810;color:var(--ink);border:1px solid #6d853d;padding:0;box-shadow:0 18px 80px rgba(0,0,0,.6);border-radius:0}.dialog::backdrop{background:rgba(0,0,0,.78)}.dialog-inner{padding:27px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog h2{font-size:24px;margin:0;letter-spacing:-.6px}.close-btn{border:0;background:transparent;color:var(--acid);font-size:11px;letter-spacing:1px}.logs{background:#080c07;border:1px solid var(--line);padding:17px;color:#d6ebcc;max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace}
/* Sharing: keep the same one-operator API and honest link semantics */
.share-dialog{width:min(600px,calc(100% - 20px));max-height:90vh;overflow:auto;background:#111810;border:1px solid #789747;color:var(--ink);border-radius:0;padding:27px;box-shadow:0 26px 88px rgba(0,0,0,.65)}.share-dialog::backdrop{background:rgba(0,0,0,.76)}.share-dialog h2{font-size:27px;letter-spacing:-.6px;margin:0 0 12px}.share-dialog p{font-size:12px;color:var(--muted);line-height:1.65;margin:10px 0 16px}.share-dialog input{margin:9px 0 12px}.share-dialog button{border:1px solid #4d653f;background:#121c10;color:var(--acid);padding:10px 13px;font-size:11px;letter-spacing:.55px;font-weight:750;margin:0 8px 12px 0}.share-dialog button:hover{border-color:var(--acid)}.share-dialog section{border-top:1px solid var(--line);padding:19px 0 8px}.share-dialog .share-preview-person{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:9px 0;color:var(--muted);font-size:12px}.share-dialog .share-preview-person button{flex-shrink:0}.share-dialog textarea{margin-bottom:10px;resize:none}.share-dialog button:last-child{margin-top:8px}
/* If a new account layout is adopted later, preserve the same visual identity. */
@media(max-width:1000px){.workspace{grid-template-columns:minmax(290px,390px) minmax(0,1fr)}.panel{padding:22px}.hero{padding:32px 0 26px}.hero h1{font-size:clamp(52px,6.6vw,76px)}}
@media(max-width:760px){.bar{height:67px}.bar-note{display:none}.bar-tools{gap:8px}.marker{font-size:9px;padding:7px 9px}.brand{gap:8px}.brand .skull{width:30px;height:36px}.brand-text{font-size:23px}.end-session{font-size:9px}.layout{padding:0 16px 30px}.hero{padding:26px 0 22px}.hero h1{font-size:clamp(47px,11vw,68px);letter-spacing:-1px}.hero .desc{font-size:13px}.workspace{grid-template-columns:1fr}.panel{padding:22px 18px}.publish{order:1}.inventory{order:2}.app-card{padding:20px 0}.advanced-grid{grid-template-columns:1fr}.advanced-grid>div:nth-child(3){grid-column:auto}.footer{flex-direction:column}.share-dialog{padding:21px}.app-details{margin-left:0}.app-details-content{min-width:100%}}
@media(max-width:390px){.marker{display:none}.hero h1{font-size:45px}.app-card-top{gap:8px}.app-title{font-size:16px}.app-actions .button{padding:9px 12px}.app-details{width:auto}.app-url{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* High-contrast primary actions override the generic .button rule. */
.app-actions>a.button.button-primary{background:var(--acid);border-color:var(--acid);color:#111a08;font-weight:900;letter-spacing:.7px}
.app-actions>a.button.button-primary:hover{background:var(--acid-hover);color:#111a08}
.refresh{border:0;background:transparent;color:var(--acid);font-size:10px;letter-spacing:.6px;padding:4px;white-space:nowrap}
.refresh:hover{color:var(--acid-hover)}
/* Customer account controls: original industrial identity, fewer decisions. */
.auth-switch{display:flex;gap:10px;margin:20px 0 21px}
.auth-switch button,.auth-links button{font:inherit;font-size:11px;font-weight:750;background:transparent;color:var(--acid);border:1px solid #435338;padding:10px 12px;cursor:pointer}
.auth-switch button[aria-pressed="true"]{background:var(--acid);color:#111a08}
.auth-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:13px}
.auth-links button{border:0;padding:7px 0;text-decoration:underline}
#account-login-form:not([hidden]),#signup-form:not([hidden]),#forgot-form:not([hidden]),#verify-form:not([hidden]),#reset-form:not([hidden]){display:block}
#login-panel form[hidden]{display:none}

/* Minimal, accessible password reveal: applies to login, setup, reset and operator. */
.password-wrap{position:relative;display:block;width:100%}
.password-wrap input{padding-right:56px}
.password-eye{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#b8d39b;cursor:pointer;border-radius:0}
.password-eye svg{width:20px;height:20px}
.password-eye:hover{color:var(--acid)}
.password-eye[aria-pressed="true"] svg{color:var(--acid)}
.password-eye[aria-pressed="true"]:after{content:'';position:absolute;width:24px;height:1.6px;background:var(--acid);transform:rotate(-42deg);pointer-events:none}
.password-eye:focus-visible{outline:2px solid var(--acid);outline-offset:-3px}
.auth-switch[hidden]{display:none!important}
