/* Copyright (c) RISC OS Technologies 2026. All rights reserved. */
:root{color-scheme:dark;font:18px/1.5 system-ui,-apple-system,sans-serif;color:#edf5ff;background:#0b1727}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(90deg,rgba(7,18,32,.85),rgba(7,18,32,.62)),url('/images/developer-wallpaper.jpg') center/cover fixed}
a{color:#78caff;text-decoration:underline}a:hover{color:#c9edff}
button{font:inherit;font-weight:700;padding:.65em 1.4em;border:0;border-radius:.65em;background:#38a9ee;color:#082034;cursor:pointer}
button:hover{background:#7bd0ff}
.login-panel{width:min(94vw,580px);margin:7vh auto;padding:clamp(24px,5vw,48px);background:rgba(10,26,45,.9);border:1px solid #7292ad;border-radius:20px;box-shadow:0 24px 70px #0008;text-align:center}
.login-logo{display:block;width:min(100%,440px);height:auto;margin:auto}
h1{font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.15}h2{font-size:1.5rem}
.login-panel form{text-align:left;display:grid;gap:.6em;margin:2em 0 1em}.login-panel input{font:inherit;width:100%;padding:.7em;background:#fff;color:#14283c;border:2px solid #8eb3ce;border-radius:8px}.login-panel button{margin-top:.6em}.hint{color:#c0d2e2;font-size:.9em}.error{color:#ffb2b2;font-weight:700}
.dashboard{max-width:1300px;margin:auto;padding:clamp(20px,4vw,52px)}
.dashboard header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #6285a0;padding-bottom:20px}.dashboard header img{width:min(350px,60vw);height:auto}
.dashboard nav{display:flex;gap:24px;margin:24px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:24px 0 48px}.file-card,.upload{background:rgba(10,29,50,.93);border:1px solid #557793;border-radius:16px;padding:24px}.file-card img{display:block;margin-bottom:14px}.file-card h3{overflow-wrap:anywhere;margin:.3em 0}.file-card p{color:#bed1e2}.upload{max-width:650px}.upload form{display:grid;gap:14px}.upload input[type=file]{font:inherit;max-width:100%}.upload button{justify-self:start}.notice{border-left:4px solid #78caff;padding:12px;background:#173852}
.file-protected{color:#ffd38f;font-weight:700}.login-panel form input[type=password]{font:inherit;width:100%;padding:.7em;background:#fff;color:#14283c;border:2px solid #8eb3ce;border-radius:8px}
.file-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}.file-actions .remove-link{color:#ffb2b2}.file-actions .remove-link:hover{color:#ffd3d3}.login-panel .danger-button{background:#b43c4b;color:#fff}.login-panel .danger-button:hover{background:#d55260}.login-panel .hint{overflow-wrap:anywhere}
.upload-progress{margin-top:24px;padding:18px;border:1px solid #4d9bc4;border-radius:12px;background:#12334e}.upload-progress[hidden]{display:none}.upload-progress p{margin:.35em 0}.upload-progress progress{display:block;width:100%;height:26px;margin:14px 0;accent-color:#38a9ee}.upload-progress button{margin-top:12px}.upload-progress.upload-error{border-color:#dd7878;background:#442d36}.upload-progress.upload-error #upload-status{color:#ffcdcd}.upload-progress button:disabled,.upload button:disabled{opacity:.55;cursor:default}
.upload-fallback{display:block;width:100%;height:170px;margin-top:22px;border:1px solid #4d9bc4;border-radius:12px;background:#102940}.upload-fallback[hidden]{display:none!important}.upload-result{position:absolute;left:-9999px;width:1px;height:1px;border:0}.upload-status-page{min-height:0;background:#102940}.upload-mini-status{padding:12px 18px}.upload-mini-status p{margin:.3em 0}.upload-mini-status progress{display:block;width:100%;height:22px;margin:8px 0;accent-color:#38a9ee}
.tracker-section{margin:48px 0 20px}.tracker-heading{margin-bottom:18px}.tracker-heading h2{margin-bottom:.1em}.tracker-heading p{margin-top:0;color:#c2d3e1}
.tracker-section details{background:rgba(10,29,50,.93);border:1px solid #557793;border-radius:14px;margin:12px 0}.tracker-section summary{cursor:pointer;padding:18px 22px;font-weight:700;list-style:disclosure-closed}.tracker-section details[open]>summary{border-bottom:1px solid #557793;list-style:disclosure-open}.bug-new>form,.bug-content{padding:22px}.tracker-section form{display:grid;gap:14px;max-width:780px}.tracker-section label{display:grid;gap:5px;font-weight:650}.tracker-section input,.tracker-section textarea,.tracker-section select{font:inherit;width:100%;padding:10px;border:2px solid #8eb3ce;border-radius:8px;background:#fff;color:#14283c}.tracker-section input[type=file]{background:transparent;color:#edf5ff;border:0;padding:4px}.tracker-section button{justify-self:start}
.bug-list{margin-top:22px}.bug-ticket summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bug-number{color:#83c9f2}.bug-summary{flex:1 1 320px}.bug-badge{font-size:.75em;border-radius:100px;padding:4px 11px;background:#45606f}.bug-badge.open{background:#175e45;color:#d9ffe9}.bug-meta{color:#c2d3e1;font-size:.9em}.bug-body{white-space:pre-wrap;overflow-wrap:anywhere}.bug-comment{padding:14px 0;border-top:1px solid #557793}.bug-comment-form,.bug-status-form{padding-top:24px;border-top:1px solid #557793;margin-top:24px}.bug-status-form{grid-template-columns:minmax(160px,250px) auto;align-items:end}
@media(max-width:600px){.dashboard header{align-items:flex-start;flex-direction:column}.dashboard nav{flex-wrap:wrap}.login-panel{margin:4vh auto}}
