:root{--brand: #7c5cff;--brand-soft: rgba(124, 92, 255, .14);--bg: #14121f;--panel: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .12);--text-1: #f1eff7;--text-2: #a9a4bd;--danger: #ff5c7a;--ok: #2fbf8f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(80% 60% at 15% 0%,color-mix(in srgb,var(--brand) 26%,transparent),transparent 60%),radial-gradient(60% 50% at 100% 100%,color-mix(in srgb,var(--brand) 14%,transparent),transparent 55%),var(--bg);color:var(--text-1);min-height:100vh;-webkit-font-smoothing:antialiased}.wrap{max-width:760px;margin:0 auto;padding:14px 14px 90px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header{display:flex;align-items:center;gap:12px;padding:16px 2px 12px}.header img.logo{width:44px;height:44px;border-radius:12px;object-fit:contain;background:var(--brand-soft)}.header .mono{width:44px;height:44px;border-radius:12px;background:var(--brand);display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff}.header h1{font-size:20px;margin:0;line-height:1.1}.header p{margin:2px 0 0;font-size:12px;color:var(--text-2)}h2{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:18px 2px 8px}h3{font-size:15px;margin:0}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.muted{color:var(--text-2);font-size:12px}.small{font-size:12px}.bar{height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden;flex:1}.bar>i{display:block;height:100%;border-radius:999px;background:var(--brand);transition:width .5s ease}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}button,.btn{font:inherit;border:1px solid var(--border);background:transparent;color:var(--text-1);border-radius:12px;padding:9px 14px;font-weight:600;cursor:pointer}button.primary{background:var(--brand);border-color:transparent;color:#fff}button:disabled{opacity:.5;cursor:default}button.link{border:none;padding:4px 6px;color:var(--brand);font-size:12px}input,textarea,select{font:inherit;width:100%;border-radius:12px;padding:10px 12px;background:#ffffff12;border:1px solid var(--border);color:var(--text-1);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--brand)}select{width:auto;padding:6px 8px;font-size:12px;border-radius:9px}.task{border:1px solid var(--border);border-radius:14px;padding:11px 12px;margin-bottom:8px;background:#ffffff0a}.task .title{font-weight:600;font-size:14px}.task.done .title{text-decoration:line-through;opacity:.6}.thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.thumbs img{width:58px;height:58px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.filechip{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid var(--border);border-radius:10px;padding:5px 9px;font-size:12px;color:var(--text-1);text-decoration:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.note{background:var(--brand-soft);border-radius:11px;padding:7px 10px;font-size:13px;margin-top:6px}.note .when{font-size:10px;color:var(--text-2);margin-top:2px}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);background:#2a2740;color:#fff;border-radius:12px;padding:10px 16px;font-size:13px;box-shadow:0 8px 30px #00000073;z-index:50;max-width:90vw}.cred{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border)}.cred:last-child{border-bottom:none}.cred code{user-select:all;background:#ffffff14;border-radius:6px;padding:1px 6px;font-size:12px}.statusgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.statusgrid button{padding:6px 2px;font-size:11px;border-radius:9px}.center{display:grid;place-items:center;min-height:70vh;text-align:center;padding:20px}footer.app{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:8px;font-size:10px;color:var(--text-2);background:linear-gradient(transparent,var(--bg) 60%);pointer-events:none}@media(min-width:640px){.header h1{font-size:24px}.wrap{padding-top:8px}}
