:root{--navy-deep:#021022;--navy-text:#002352;--cyan:#00c7e0;--ice:#edf8fc;--bg:#f5f8fa;--surface:#fff;--text:#0e1b2c;--text-soft:#5a6b7e;--border:#d9e2ea;--accent:var(--cyan);--danger:#c62828;--radius:14px;--shadow:0 1px 4px #0210221a}@media (prefers-color-scheme:dark){:root{--bg:#021022;--surface:#0a1e36;--text:var(--ice);--text-soft:#8fa5b8;--border:#1c3350;--shadow:0 1px 4px #0006}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex}.app-header{justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.app-header img{height:34px}.lang-switch{gap:2px;display:flex}.lang-switch button{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:.8rem}.lang-switch button[aria-pressed=true]{color:var(--accent);font-weight:700}main{flex:1;padding:0 16px 90px}.search{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:12px 14px}.card-grid{gap:10px;margin:14px 0;padding:0;list-style:none;display:grid}.card-tile{width:100%;font:inherit;text-align:left;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:14px;min-height:64px;padding:14px;display:flex}.card-tile .name{font-size:1.05rem;font-weight:600}.badge{color:#fff;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.empty{color:var(--text-soft);text-align:center;margin-top:40px}.fab{font:inherit;cursor:pointer;background:var(--accent);color:var(--navy-deep);border:none;border-radius:999px;padding:14px 22px;font-weight:700;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00c7e066}.card-view{z-index:10;background:var(--navy-deep);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.card-view .panel{color:#0e1b2c;border-radius:var(--radius);text-align:center;background:#fff;width:min(92vw,460px);padding:22px}.card-view .panel h2{margin:0 0 14px}.card-view svg,.card-view canvas{max-width:100%;height:auto}.card-view .note{color:#5a6b7e;margin:10px 0 0}.card-view .actions{gap:12px;display:flex}button.secondary{font:inherit;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:10px 18px}.card-view button.secondary{color:var(--ice);background:0 0;border-color:#2a4a6e}form.card-form{gap:14px;margin-top:10px;display:grid}form.card-form label{color:var(--text-soft);gap:6px;font-size:.9rem;display:grid}form.card-form input,form.card-form select,form.card-form textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:11px 12px}.field-error{color:var(--danger);font-size:.85rem}.field-hint{color:var(--text-soft);font-size:.8rem}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.form-actions .primary{font:inherit;cursor:pointer;background:var(--accent);color:var(--navy-deep);border:none;border-radius:999px;flex:1;padding:13px;font-weight:700}button.danger{color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:none;padding:10px}.type-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.type-chip{font:inherit;background:var(--surface);color:var(--text);cursor:pointer;border:1px solid var(--border);border-radius:10px;justify-items:center;gap:6px;padding:10px 6px;font-size:.78rem;display:grid}.type-chip[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.type-chip .badge{width:34px;height:34px;font-size:.8rem}.info-btn{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1.05rem}.about{padding-bottom:24px;line-height:1.55}.about .about-logo{justify-content:center;margin:18px 0 14px;display:flex}.about .about-logo img{object-fit:contain;max-width:90%;height:72px}.about .tagline{text-align:center;margin-bottom:2px;font-size:1.1rem;font-weight:700}.about .baseline{color:var(--text-soft);text-align:center;margin-top:0;font-style:italic}.about h2{margin:22px 0 8px;font-size:1.05rem}.about ul,.about ol{gap:6px;margin:0;padding-left:20px;display:grid}.about a.sponsor{color:var(--accent);text-align:center;flex-direction:column;align-items:center;gap:12px;margin:26px auto;font-weight:600;text-decoration:none;display:flex}.about a.sponsor img{width:auto;height:48px}.about>button.secondary{margin:30px auto 16px;display:block}.settings{padding-bottom:24px;line-height:1.5}.settings h2{margin:22px 0 8px;font-size:1.05rem}.settings h3{margin:16px 0 6px;font-size:.95rem}.settings label{color:var(--text-soft);gap:6px;margin:10px 0;font-size:.9rem;display:grid}.settings input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:11px 12px}.settings>button.secondary{margin:26px auto 12px;display:block}.role-badge{vertical-align:middle;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.role-owner{background:var(--accent);color:var(--navy-deep)}.role-member{background:var(--border);color:var(--text)}.device-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.device-list li{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.device-actions{gap:4px;display:flex}.device-actions button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:6px;font-size:.85rem}.device-actions button.danger{color:var(--danger)}.qr-box{color:#0e1b2c;border-radius:var(--radius);background:#fff;justify-items:center;gap:10px;margin:16px 0;padding:18px;display:grid}.scan-dialog{z-index:20;background:var(--navy-deep);color:var(--ice);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0}#tuuut-scanner{width:min(92vw,420px)}
