diff --git a/GUIA_DE_DESARROLLO.md b/GUIA_DE_DESARROLLO.md
index 6b77c42..fec74ee 100644
--- a/GUIA_DE_DESARROLLO.md
+++ b/GUIA_DE_DESARROLLO.md
@@ -56,6 +56,8 @@ Ahora mismo hay enganches en `main_views.js`, `tribes_view.js`, `vote_view.js`,
Aquí se puede hacer lo que haga falta.
+- `src/client/assets/styles/mobile_base.css`: la maqueta del móvil (lanzador, barras,
+ tarjetas, formularios). Se carga siempre en el móvil, antes del skin.
- `src/client/assets/styles/mobile_ux.css`: márgenes, letra, botones y todas las
piezas nuevas. Vale para los dos skins de móvil.
- `src/client/assets/themes/Acampada.css` y `styles/hive_acampada.css`: el skin
@@ -170,11 +172,9 @@ inspeccionar la WebView desde `chrome://inspect`.
Cosas de antes de estas normas que aún no las cumplen, por orden de lo que más
duele:
-1. `OasisMobile.css` se parece poco a la del dev: 4.873 líneas distintas. Hay que
- devolverle la suya y pasar nuestra maqueta a una hoja propia.
-2. Quedan 21 trozos nuestros en `backend.js` (copia de seguridad, avatar de la barra
+1. Quedan 21 trozos nuestros en `backend.js` (copia de seguridad, avatar de la barra
de arriba, vídeos, filtro del lanzador...). Tienen que irse al router propio.
-3. El workflow `activists` sigue cambiado en `workflows_model.js`. Hay que dejarlo
+2. El workflow `activists` sigue cambiado en `workflows_model.js`. Hay que dejarlo
como el del dev; el nuestro ya es `acampada`.
-4. Selectores que ya no apuntan a nada: 61 en `OasisMobile.css`, 29 en
+3. Selectores que ya no apuntan a nada: unos 60 en `styles/mobile_base.css`, 29 en
`hive_acampada.css` y 5 en `Acampada.css`.
diff --git a/docs/FRONTERA_UPSTREAM.md b/docs/FRONTERA_UPSTREAM.md
index 75d74e7..fcacb54 100644
--- a/docs/FRONTERA_UPSTREAM.md
+++ b/docs/FRONTERA_UPSTREAM.md
@@ -125,9 +125,9 @@ nada, pero son peso muerto y confunden.
- Fase A (hecha el 19/10): lo del 19/10 que se metio en ficheros del dev sale a
ficheros propios. Ver la seccion 6.
-- Fase B: `OasisMobile.css`. Devolverle la version del dev y llevar nuestra maqueta
- a una hoja propia (`styles/mobile_base.css`) que carguen Acampada y el skin
- OasisMobile de la rama. Es el mayor foco de conflictos.
+- Fase B (hecha el 19/10): `OasisMobile.css` vuelve a ser la del dev, identica a la
+ 1.3.3. Nuestra maqueta esta en `styles/mobile_base.css`, que el movil carga siempre
+ antes del skin. Con el skin OasisMobile se ve el tema del dev encima de la maqueta.
- Fase C: los 21 trozos antiguos de `backend.js` (exportar copia de seguridad,
avatar de la topbar, `#t=0.1` en los videos, filtro del lanzador...) pasan al router
propio como envoltorios.
diff --git a/src/client/assets/styles/mobile_base.css b/src/client/assets/styles/mobile_base.css
new file mode 100644
index 0000000..0e3b955
--- /dev/null
+++ b/src/client/assets/styles/mobile_base.css
@@ -0,0 +1,1289 @@
+/* Maqueta de movil de la rama (lanzador, barras, tarjetas, formularios).
+ *
+ * Hasta el 19/10/2026 vivia dentro de themes/OasisMobile.css, que es un tema del dev
+ * y cambia en 21 de cada 39 versiones: cada integracion era elegir entre su fichero
+ * y el nuestro. Ahora ese tema vuelve a ser el suyo y esto va aparte. En el movil se
+ * carga siempre, antes del skin (Acampada.css o el OasisMobile.css del dev).
+ * Ver GUIA_DE_DESARROLLO.md. */
+
+html { overflow-x: clip; overflow-y: visible; height: auto; }
+body { overflow-x: clip; overflow-y: visible; }
+
+
+.oasis-bottombar {
+ display: flex;
+ position: fixed;
+ left: 0; right: 0; bottom: 0;
+ z-index: 1000;
+ justify-content: space-around;
+ align-items: center;
+ gap: 4px;
+ background: #1F1F1F;
+ border-top: 1px solid #333;
+ padding: 8px 6px calc(8px + env(safe-area-inset-bottom, 0px));
+}
+.oasis-bottombar .bb-item {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 3px;
+ flex: 1 1 0;
+ min-width: 0;
+ padding: 2px 0;
+ text-decoration: none;
+}
+.oasis-bottombar .bb-ico { font-size: 18px; line-height: 1; color: #FFD700; }
+.oasis-bottombar .bb-lbl { font-size: 9px; color: #FFD700; white-space: nowrap; }
+.oasis-bottombar .bb-badge {
+ position: absolute;
+ top: -4px;
+ left: calc(50% + 6px);
+ min-width: 15px; height: 15px;
+ padding: 0 3px;
+ border-radius: 8px;
+ background: #FFD700;
+ color: #121212;
+ font-size: 9px; font-weight: bold;
+ display: flex; align-items: center; justify-content: center;
+}
+
+body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
+
+/* topbar FIJA arriba: [logo] [Personal] [Community] [avatar]; el lanzador scrollea por debajo */
+.oasis-mobile-topbar {
+ position: fixed; top: 0; left: 0; right: 0; z-index: 100;
+ display: flex; align-items: center; gap: 8px;
+ padding: 8px 12px;
+ background: #121212;
+ border-bottom: 1px solid #333;
+}
+body { padding-top: 74px; background: #121212; }
+
+.oasis-mobile-topbar .omt-logo, .oasis-mobile-topbar .omt-avatar { flex: 0 0 auto; }
+.oasis-mobile-topbar .omt-logo img,
+.oasis-mobile-topbar .omt-avatar img {
+ width: 42px; height: 42px;
+ border-radius: 50%;
+ border: 2px solid #FFD700;
+ object-fit: cover; display: block;
+}
+
+.oasis-mobile-topbar .omt-menus {
+ flex: 1 1 auto; min-width: 0;
+ display: flex; justify-content: center; gap: 8px;
+}
+.oasis-mobile-topbar .omt-menus .oasis-menu-btn {
+ display: flex; align-items: center; justify-content: center;
+ padding: 7px 14px;
+ border: 1px solid #FFD700; border-radius: 8px;
+ background: #161616; color: #FFD700;
+ font-weight: 600; letter-spacing: .5px; text-decoration: none;
+ font-size: 13px; white-space: nowrap; cursor: pointer;
+}
+.oasis-mobile-topbar .omt-menus .oasis-menu-btn.active {
+ background: #FFD700; color: #121212; border-color: #FFD700;
+}
+.oasis-mobile-topbar .omt-menus .oasis-menu-btn span { text-decoration: none; }
+
+/* ANULAR el "card" global de style.css `div{background:#222;border-radius:10px;box-shadow;padding:20px;margin-bottom:20px}`
+ en nuestro chrome móvil propio: era el 2º color (caja mas clara) detras de los botones,
+ la caja redondeada de la topbar y el fondo #222 detras del lanzador. */
+.header, .launcher, .ln-group, .ln-grid,
+.oasis-mobile-topbar, .oasis-mobile-topbar .omt-menus {
+ background-color: transparent; box-shadow: none; border-radius: 0;
+}
+.oasis-mobile-topbar { background-color: #121212; } /* fija: fondo opaco (el contenido scrollea por debajo) */
+.oasis-mobile-topbar .omt-menus { padding: 0; margin: 0; } /* sin caja ni relleno detras de los botones */
+
+.header .top-bar-left > a.logo-icon { display: none; }
+
+.oasis-mobile-menus { display: flex; gap: 8px; padding: 0 10px 6px; }
+.oasis-mobile-menus .oasis-menu-ico { display: none; }
+.oasis-mobile-menus .oasis-menu-btn {
+ flex: 1 1 0;
+ display: flex; align-items: center; justify-content: center;
+ padding: 10px 12px;
+ border: 1px solid #FFD700; border-radius: 8px;
+ background: #161616; color: #FFD700;
+ font-weight: 600; letter-spacing: 1px; text-decoration: none; cursor: pointer;
+}
+.oasis-mobile-menus .oasis-menu-btn span { text-decoration: none; }
+
+.oasis-mobile-menus .oasis-menu-btn.active {
+ background: #FFD700; color: #121212; border-color: #FFD700;
+}
+
+:root {
+ --space-1: 4px; --space-2: 8px; --space-3: 16px; --space-4: 24px; --space-5: 32px;
+ --fs-caption: 12px; --fs-body: 14px; --fs-body-lg: 16px; --fs-title: 20px;
+ --lh-body: 1.5; --measure: 66ch;
+ --c-muted: #8c8c8c; --radius-md: 12px;
+}
+
+.oasis-bottombar .bb-fab .bb-ico {
+ width: 46px; height: 46px;
+ margin-top: -22px;
+ border-radius: 50%;
+ background: #FFD700; color: #121212;
+ display: flex; align-items: center; justify-content: center;
+ font-size: 22px;
+ box-shadow: 0 2px 8px rgba(0,0,0,.4);
+}
+.oasis-bottombar .bb-fab .bb-lbl { color: #FFD700; font-weight: bold; }
+
+.main-column, .main-column p, .main-column li, .main-column a,
+.main-column span, .main-column td, .main-column h1, .main-column h2, .main-column h3 {
+ overflow-wrap: anywhere;
+ word-break: break-word;
+}
+.main-column { padding: var(--space-3); }
+.main-column p { line-height: var(--lh-body); }
+
+.main-column > * + * { margin-top: var(--space-3); }
+
+.main-column img, .main-column video, .main-column table, .main-column pre, .main-column iframe {
+ max-width: 100%; height: auto;
+}
+.main-column pre { white-space: pre-wrap; }
+
+.oasis-nav-group {
+ list-style: none;
+ background: #1c1c1c;
+ border: 1px solid #333;
+ border-radius: var(--radius-md);
+ overflow: hidden;
+ margin-bottom: var(--space-2);
+}
+.oasis-nav-header {
+ display: flex; align-items: center; gap: var(--space-2);
+ min-height: 48px; padding: 0 var(--space-3);
+ cursor: pointer;
+ color: #FFD700; font-weight: bold;
+ text-transform: uppercase; letter-spacing: .04em;
+ font-size: var(--fs-caption);
+}
+.oasis-nav-header .nav-text { flex: 1 1 auto; }
+.oasis-nav-header .oasis-nav-arrow { color: var(--c-muted); transition: transform 150ms ease; }
+.oasis-nav-toggle:checked + .oasis-nav-header .oasis-nav-arrow { transform: rotate(180deg); }
+.oasis-nav-header:active { background: #262626; }
+.oasis-nav-list { list-style: none; padding: 0; margin: 0; }
+.oasis-nav-list li a {
+ display: flex; align-items: center; gap: var(--space-3);
+ min-height: 48px; padding: 0 var(--space-3);
+ color: #FFD700; text-decoration: none;
+ border-top: 1px solid #262626;
+}
+.oasis-nav-list li a .emoji { flex: 0 0 auto; width: 22px; text-align: center; color: #FFD700; }
+.oasis-nav-list li a .nav-text { font-size: var(--fs-body); }
+.oasis-nav-list li a:active { background: #262626; }
+.oasis-nav-list li a.current { color: #FFD700; font-weight: bold; }
+
+.main-column h1 { font-size: var(--fs-title); font-weight: 700; line-height: 1.25; margin: 0 0 var(--space-2); }
+.main-column h2 { font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0 0 var(--space-2); }
+.main-column h3 { font-size: var(--fs-body-lg); font-weight: 600; margin: 0 0 var(--space-1); }
+.main-column p { font-size: var(--fs-body-lg); }
+.main-column .created-at, .main-column .small, .main-column .time,
+.main-column .meta, .main-column .author-meta, .main-column .subtitle {
+ color: var(--c-muted); font-size: var(--fs-caption);
+}
+
+/* solo las tarjetas (clase acabada en -card), no sus piezas: -card-header,
+ -card-hero-image... heredaban fondo, borde y relleno y salian como cajas */
+.main-column article,
+.main-column :is([class$="-card"], [class*="-card "]) {
+ background: #1c1c1c;
+ border: 1px solid #333;
+ border-radius: var(--radius-md);
+ padding: var(--space-3);
+}
+.main-column article:active,
+.main-column :is([class$="-card"], [class*="-card "]):active { background: #202020; }
+
+.btn, button, input[type="submit"], input[type="button"], .submit-button,
+.filter-btn, .create-button, .edit-btn, .delete-btn, .join-btn, .leave-btn, .buy-btn {
+ min-height: 48px;
+}
+button:active, input[type="submit"]:active, .submit-button:active,
+.filter-btn:active, .create-button:active, .edit-btn:active,
+.delete-btn:active, .join-btn:active, .leave-btn:active, .buy-btn:active {
+ filter: brightness(.85);
+}
+.main-column a:active { opacity: .6; }
+
+* { -webkit-tap-highlight-color: transparent; }
+a, button, label, .tap, .oasis-menu-btn, .bb-item, .oasis-nav-header, .oasis-nav-list li a {
+ touch-action: manipulation;
+}
+body { overscroll-behavior: none; }
+
+.main-content, .main-column, .header { overflow: visible; }
+
+/* === Usabilidad 0.9.1: Personal/Community filtran el lanzador server-side (enlaces ?hive=) + desplegable FILTER === */
+
+/* desplegable FILTER de la ristra de filtros de Activity (oculto por defecto) */
+.activity-filter-toggle { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; margin: 0; }
+.activity-filter-btn {
+ display: flex; align-items: center; justify-content: center; gap: 8px;
+ width: 100%; min-height: 44px; margin: 4px 0 8px; padding: 10px 12px;
+ border: 1.5px solid #333; border-radius: 10px;
+ background: #121212; color: #FFD700;
+ font-weight: bold; letter-spacing: 1px; text-transform: uppercase; cursor: pointer;
+}
+.activity-filter-caret { transition: transform 150ms ease; }
+#activity-filter-toggle:checked ~ .activity-filter-btn { background: #FFD700; color: #121212; border-color: #FFD700; }
+#activity-filter-toggle:checked ~ .activity-filter-btn .activity-filter-caret { transform: rotate(180deg); }
+.activity-filter-panel { display: none; }
+#activity-filter-toggle:checked ~ .activity-filter-panel { display: block; }
+.activity-filter-panel .activity-filter-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 8px; }
+.activity-filter-panel .activity-filter-col { display: contents; }
+.activity-filter-panel form { margin: 0; }
+
+.bb-manage { margin: 8px 0 16px; }
+.bb-manage h3, .bb-manage-add h3 {
+ font-size: 13px; text-transform: uppercase; letter-spacing: .05em;
+ color: #FFD700; margin: 14px 0 8px;
+}
+.bb-manage-list { display: flex; flex-direction: column; gap: 8px; }
+.bb-manage-form { margin: 0; width: 100%; }
+.bb-manage-btn {
+ width: 100%;
+ display: flex; align-items: center; gap: 12px;
+ min-height: 52px; padding: 0 14px;
+ background: #1c1c1c; border: 1px solid #333; border-radius: 10px;
+ color: #FFD700; cursor: pointer; text-align: left;
+}
+.bb-manage-ico { font-size: 20px; color: #FFD700; width: 26px; text-align: center; }
+.bb-manage-lbl { flex: 1 1 auto; font-size: 15px; }
+.bb-manage-x { font-size: 16px; color: #FFD700; font-weight: bold; }
+.bb-manage-empty, .bb-manage-full { color: #999; font-size: 14px; padding: 8px 2px; }
+.bb-manage-done {
+ display: block; text-align: center;
+ margin-top: 16px; min-height: 48px; line-height: 48px;
+}
+
+/* Lanzador de modulos de la home (sustituye a los hexagonos): secciones con un
+ rotulo discreto y una rejilla de baldosas, como el cajon de apps del movil */
+.launcher { margin: 6px 0 20px; padding: 0; border: 0; }
+.ln-group { margin: 0; padding: 0; border: 0; }
+.ln-group + .ln-group { margin-top: 20px; }
+.ln-title {
+ margin: 0 2px 10px; padding: 0; border: 0;
+ font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
+ color: var(--c-muted);
+}
+.ln-grid {
+ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
+ gap: 14px 8px; margin: 0; padding: 0;
+}
+.ln-app {
+ display: flex; flex-direction: column; align-items: center; gap: 6px;
+ min-width: 0; text-decoration: none; -webkit-tap-highlight-color: transparent;
+}
+.ln-ico {
+ width: 54px; height: 54px; box-sizing: border-box;
+ display: flex; align-items: center; justify-content: center;
+ border-radius: 16px; background: #1c1c1c; border: 1px solid #333;
+ color: #FFD700; font-size: 22px; line-height: 1;
+ transition: background-color .12s, border-color .12s;
+}
+.ln-app:active .ln-ico, .ln-app:focus-visible .ln-ico { background: #2a2412; border-color: #FFD700; }
+.ln-lbl {
+ max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
+ font-size: 11px; line-height: 1.2; text-align: center; color: #e6e6e6;
+}
+
+.header .top-bar-left nav,
+.header .top-bar-right nav { display: none; }
+
+.oasis-mobile-topbar { padding-top: calc(env(safe-area-inset-top, 0px) + 10px); }
+
+.oasis-bottombar .bb-pair {
+ display: flex; align-items: center;
+ flex: 0 0 auto;
+ gap: 2px; padding: 3px;
+ background: #262626;
+ border: 1px solid #3a3a3a;
+ border-radius: 999px;
+}
+.oasis-bottombar .bb-pair .bb-item { flex: 0 0 auto; padding: 2px 8px; }
+.oasis-bottombar .bb-pair .bb-lbl { font-size: 8px; }
+
+.oasis-bottombar a.bb-item.current .bb-ico {
+ background: #FFD700; color: #121212;
+ border-radius: 999px; padding: 4px 12px;
+}
+.oasis-bottombar a.bb-item.current .bb-lbl { color: #FFD700; font-weight: bold; }
+.oasis-bottombar a.bb-item.current .bb-badge { background: #121212; color: #FFD700; }
+
+.main-column, .main-column p, .main-column li, .main-column a,
+.main-column span, .main-column td, .main-column th, .main-column label,
+.main-column h1, .main-column h2, .main-column h3, .main-column h4,
+.main-column strong, .main-column em, .main-column small,
+.created-at, .post-meta, .feed-post-meta,
+.feed-row .small, .feed-row .time, .feed-row .created-at,
+.profile-sensors-box > *,
+.card-field .card-value, .card-field .card-label {
+ overflow-wrap: break-word;
+ word-break: normal;
+ -webkit-hyphens: none;
+ hyphens: none;
+}
+
+.main-column pre, .main-column code, kbd, samp,
+.peer-key, .user-link.peer-key, .oasis-id-copy, .search-oasis-id,
+.pm-sent-key-value, .kpi__value,
+.block-info-table td .peer-key, .block-info-table td .user-link,
+.pm-info-table td .user-link,
+.main-column a[href*="ed25519"], .main-column a[href^="ssb:"],
+.main-column a[href^="/author/"] {
+ overflow-wrap: anywhere;
+ word-break: break-all;
+}
+
+button, input[type="submit"], input[type="button"],
+.filter-btn, a.filter-btn, .create-button, .edit-btn, .delete-btn,
+.join-btn, .leave-btn, .buy-btn, .submit-button, .btn,
+.conn-actions button, .peers-conn-actions button,
+.mode-buttons button, .mode-buttons .filter-btn,
+.filter-group button, .filter-group .filter-btn,
+.main-column button, .main-column input[type="submit"] {
+ white-space: normal;
+ word-break: normal;
+ overflow-wrap: break-word;
+ -webkit-hyphens: none;
+ hyphens: none;
+}
+
+.conn-actions, .peers-conn-actions {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: stretch;
+ gap: 8px;
+ width: 100%;
+ max-width: 100%;
+ overflow-x: hidden;
+}
+.conn-actions > form, .peers-conn-actions > form {
+ flex: 0 1 auto;
+ width: auto;
+ min-width: 0;
+ margin: 0;
+ display: flex;
+}
+
+.pm-info-table, .pm-info-table tbody,
+.block-info-table, .block-info-table tbody {
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ border: 0;
+ background: transparent;
+ box-shadow: none;
+ table-layout: auto;
+}
+.pm-info-table thead, .block-info-table thead { display: none; }
+.pm-info-table tr, .block-info-table tr {
+ display: block;
+ width: 100%;
+ box-sizing: border-box;
+ border: 0;
+ border-bottom: 1px solid rgba(255,215,0,0.18);
+ border-radius: 0;
+ margin: 0 0 8px 0;
+ padding: 6px 0;
+ background: transparent;
+}
+.pm-info-table td, .block-info-table td {
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ box-sizing: border-box;
+ border: 0;
+ background: transparent;
+ padding: 1px 0;
+ text-align: left;
+ overflow-wrap: break-word;
+ word-break: normal;
+}
+
+.pm-info-table td.card-label, .block-info-table td.card-label {
+ color: var(--c-muted, #8c8c8c);
+ font-size: 11px;
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 2px;
+ padding-bottom: 0;
+}
+.pm-info-table td.card-value, .block-info-table td.card-value {
+ font-size: 15px;
+ line-height: 1.5;
+ margin-bottom: 6px;
+}
+
+.block-info-table tr:first-child:has(> td.card-label) { display: none; }
+.block-info-table td[data-label]:not([data-label=""])::before {
+ content: attr(data-label);
+ display: block;
+ color: var(--c-muted, #8c8c8c);
+ font-size: 10px;
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 1px;
+ white-space: nowrap;
+ word-break: normal;
+}
+.block-info-table td[data-label=""]::before { content: none; }
+
+.peers-list .block-info-table td,
+.peers-technical-block .block-info-table td,
+.gov-overview tbody td {
+ word-break: normal;
+ overflow-wrap: break-word;
+}
+
+.pm-info-table td .user-link, .pm-info-table td .peer-key, .pm-info-table td a[href],
+.block-info-table td .peer-key, .block-info-table td .user-link, .block-info-table td a[href] {
+ display: inline-block;
+ max-width: 100%;
+ overflow-wrap: anywhere;
+ word-break: break-all;
+}
+
+.pm-info-table td form, .block-info-table td form,
+.pm-info-table td button, .block-info-table td button {
+ width: 100%;
+ margin: 0;
+}
+
+.main-content { width: 100%; max-width: 100%; }
+.main-column {
+ width: 100%; max-width: 100%;
+ padding: 16px; box-sizing: border-box;
+}
+.main-column .card-field {
+ flex-direction: column;
+ align-items: stretch;
+ gap: 2px;
+}
+.main-column .card-field .card-value {
+ width: 100%; max-width: 100%; font-size: 15px;
+}
+.main-column .card-field .card-label {
+ color: var(--c-muted, #8c8c8c); font-size: 11px;
+}
+.main-column img, .main-column video, .main-column iframe, .main-column canvas {
+ max-width: 100%; height: auto;
+}
+.main-column hr {
+ width: 100%; border: 0;
+ border-top: 1px solid #333; margin: 16px 0;
+}
+
+.activity-filter-acc { width: 100%; margin-bottom: 8px; }
+
+.activity-quick-modes {
+ display: flex; flex-wrap: nowrap; gap: 6px; margin-bottom: 8px;
+}
+.activity-quick-modes form { flex: 1 1 0; min-width: 0; margin: 0; display: flex; }
+.activity-quick-modes .filter-btn {
+ flex: 1 1 0; width: 100%; min-height: 44px;
+ white-space: nowrap; word-break: keep-all; overflow-wrap: normal;
+ padding-left: 6px; padding-right: 6px; font-size: 14px;
+}
+
+.activity-groups { list-style: none; padding: 0; margin: 0; }
+
+.activity-groups .oasis-nav-header .emoji { display: none; }
+.activity-groups .oasis-nav-header .nav-text { flex: 1 1 auto; }
+.activity-groups .act-count {
+ flex: 0 0 auto; min-width: 20px; text-align: center;
+ font-size: 11px; font-weight: 700; color: #121212;
+ background: #FFD700; border-radius: 999px; padding: 1px 7px;
+ margin: 0 8px 0 0;
+}
+
+.activity-groups .oasis-nav-list li { list-style: none; margin: 0; padding: 0; }
+.activity-groups .oasis-nav-list form { margin: 0; display: block; width: 100%; }
+.activity-groups .oasis-nav-list .filter-btn {
+ display: block; width: 100%; text-align: left;
+ min-height: 44px; margin: 2px 0; box-sizing: border-box;
+}
+.activity-groups .oasis-nav-list .filter-btn.active {
+ outline: 2px solid #FFD700; outline-offset: -2px;
+}
+
+.message-list { display: flex; flex-direction: column; gap: 4px; width: 100%; }
+.message-list .pm-thread { display: flex; flex-direction: column; width: 100%; align-self: stretch; }
+.pm-thread-replies { display: flex; flex-direction: column; gap: 4px; }
+
+.pm-card.pm-bubble {
+ max-width: 82%; width: fit-content; min-width: 0;
+ box-sizing: border-box; padding: 8px 12px; margin: 2px 0;
+ border-radius: 16px; border: 1px solid #333;
+ background: #1e1e1e; box-shadow: none; cursor: default;
+}
+
+.pm-card.pm-bubble.pm-recv {
+ align-self: flex-start; margin-left: 0; margin-right: auto;
+ border-bottom-left-radius: 4px; background: #1e1e1e; border-color: #343434;
+}
+
+.pm-card.pm-bubble.pm-sent {
+ align-self: flex-end; margin-left: auto; margin-right: 0;
+ border-bottom-right-radius: 4px; background: #2a2413; border-color: #5c4c1f;
+}
+
+.pm-bubble .pm-bubble-sender { font-size: 11px; font-weight: 700; color: #FFD700; margin-bottom: 3px; }
+.pm-bubble .pm-bubble-sender a { color: #FFD700; }
+
+.pm-bubble .message-text { font-size: 15px; line-height: 1.42; color: #FFD700; margin: 0; }
+.pm-bubble .message-text a { color: #FFD700; }
+
+.pm-bubble .pm-bubble-meta {
+ display: flex; flex-wrap: wrap; align-items: center;
+ gap: 6px; margin-top: 4px; font-size: 10px; color: var(--c-muted, #8c8c8c);
+}
+.pm-card.pm-sent .pm-bubble-meta { justify-content: flex-end; }
+.pm-card.pm-recv .pm-bubble-meta { justify-content: flex-start; }
+.pm-bubble .pm-bubble-subject { font-style: italic; opacity: .75; max-width: 50%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
+.pm-bubble .pm-bubble-lock { opacity: .85; }
+.pm-bubble .pm-bubble-eco { font-size: 9px; opacity: .9; }
+.pm-bubble .pm-bubble-eco * { font-size: 9px; }
+
+.pm-bubble .pm-actions { margin-top: 6px; display: flex; gap: 6px; }
+.pm-card.pm-sent .pm-actions { justify-content: flex-end; }
+.pm-bubble .pm-actions .pm-btn { font-size: 10px; padding: 3px 8px; min-height: 28px; }
+.pm-bubble .pm-actions form { margin: 0; }
+
+.pm-bubble .pm-info-table { display: none; }
+
+.pm-thread .pm-thread-details { width: 100%; }
+.pm-thread .pm-thread-toggle { font-size: 12px; color: var(--c-muted, #8c8c8c); padding: 4px 0; cursor: pointer; }
+
+.main-column h1, .main-column h2, .main-column h3, .main-column h4,
+.tags-header h2, .tags-header h3, .title-with-chip h2, .pm-title, h2.pm-title,
+.cn-name, h1.cn-name, .cn-section, h2.cn-section, .profile-side-name, h2.profile-side-name {
+ text-wrap: balance;
+ overflow-wrap: break-word;
+ word-break: keep-all;
+ -webkit-hyphens: none; hyphens: none;
+ text-align: left;
+}
+.main-column h1, .tags-header h2, .cn-name {
+ font-size: var(--fs-title, 20px); font-weight: 700;
+ line-height: 1.22; letter-spacing: -0.01em;
+ margin: 0 0 var(--space-2, 8px);
+}
+.main-column h2, .pm-title, .title-with-chip h2, .cn-section {
+ font-size: 18px; font-weight: 700;
+ line-height: 1.28; margin: var(--space-1, 4px) 0 var(--space-2, 8px);
+}
+.main-column h3 {
+ font-size: var(--fs-body-lg, 16px); font-weight: 600;
+ line-height: 1.35; margin: var(--space-1, 4px) 0;
+}
+.main-column h1, .main-column h2, .main-column h3,
+.tags-header h2, .pm-title, .cn-name, .cn-section {
+ max-width: 40ch; width: auto; min-width: 0;
+}
+
+.main-column h1 code, .main-column h2 code, .main-column h3 code,
+.tags-header h2 code, .pm-title code,
+.main-column h1 a[href*="ed25519"], .main-column h2 a[href*="ed25519"],
+.main-column h1 a[href^="ssb:"], .main-column h2 a[href^="ssb:"] {
+ word-break: break-all; overflow-wrap: anywhere;
+}
+
+.main-column .tags-header {
+ display: flex; flex-direction: column; align-items: flex-start;
+ gap: var(--space-1, 4px); width: 100%; max-width: 100%;
+ margin: 0 0 var(--space-2, 8px);
+}
+.main-column .tags-header h2 { margin: 0; }
+
+.main-column .title-with-chip {
+ display: flex; flex-wrap: wrap; align-items: center;
+ gap: var(--space-2, 8px); width: 100%; max-width: 100%;
+}
+.main-column .title-with-chip h2 { flex: 1 1 auto; min-width: 0; margin: 0; max-width: none; }
+.main-column .title-with-chip > :not(h2) { flex: 0 0 auto; }
+
+.main-column p, .main-column li,
+.tags-header p, .tags-header .prefs-help, .indexing-note, .indexing-percent,
+.error-page-message, .welcome-text, .message-text, .pm-bubble .message-text {
+ text-wrap: pretty;
+ line-height: 1.55;
+ max-width: min(66ch, 100%);
+ overflow-wrap: anywhere;
+ word-break: normal;
+ min-width: 0;
+ -webkit-hyphens: none; hyphens: none;
+}
+.main-column p + p { margin-top: var(--space-3, 16px); }
+.tags-header p, .tags-header .prefs-help, .indexing-note { line-height: 1.5; margin: 4px 0 0 0; }
+.pm-bubble .message-text { line-height: 1.45; max-width: 100%; }
+
+[style*="auto-fill"],
+[style*="minmax(240px"], [style*="minmax(280px"], [style*="minmax(300px"],
+[style*="minmax( 240px"], [style*="minmax( 280px"], [style*="minmax( 300px"],
+.trending-container, .cn-hub-grid, .cn-products {
+ display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important;
+ width: 100% !important; max-width: 100% !important;
+}
+.trending-container > *, .games-grid > *, .market-grid > *, .tribe-grid > *,
+.feed-container, .feed-card, .trending-card,
+.main-column article, .main-column [class*="-card"], .main-column [class*="-item"],
+.main-column [class*="-entry"], .main-column .card {
+ width: 100%; max-width: 100%; min-width: 0;
+ box-sizing: border-box; margin-left: 0; margin-right: 0;
+}
+.feed-card .feed-text, .trending-card .feed-text,
+.main-column article p, .main-column [class*="-card"] p { max-width: var(--measure, 66ch); }
+.main-column form, .comment-form, .comment-form-wrapper, .market-form,
+.new-message-form, .project-control-form, .filter-box {
+ display: block; width: 100%; max-width: 100%;
+ min-width: 0; box-sizing: border-box;
+}
+.main-column input:not([type="checkbox"]):not([type="radio"]):not(.oasis-nav-toggle):not(.oasis-nav-side-toggle),
+.main-column textarea, .main-column select {
+ width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
+}
+.main-column form > button:only-of-type, .main-column form > .create-button,
+.comment-form button[type="submit"], .market-form button[type="submit"],
+.new-message-form button[type="submit"] {
+ display: block; width: 100%; max-width: 100%;
+ box-sizing: border-box; margin-top: 8px;
+}
+[style*="width:33%"], [style*="width: 33%"], [style*="width:25%"], [style*="width: 25%"],
+[style*="width:60%"], [style*="width: 60%"], [style*="width:40%"], [style*="width: 40%"] {
+ width: 100% !important; max-width: 100% !important;
+}
+.main-column [style*="max-width: 800px"], .main-column [style*="max-width:800px"],
+.ai-response, .ai-train-bar {
+ max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
+}
+.message-list, .pm-thread, .pm-thread-replies { width: 100%; max-width: 100%; box-sizing: border-box; }
+
+.main-column p .user-link, .main-column p a[href^="/author/"],
+.main-column li .user-link, .main-column span .user-link,
+.main-column .message-text .user-link, .main-column .message-text a[href^="/author/"],
+.pm-bubble .message-text .user-link, .pm-bubble .message-text a[href^="/author/"],
+.pm-quote a[href^="/author/"] {
+ display: inline; white-space: normal;
+ overflow-wrap: anywhere; word-break: keep-all;
+ -webkit-hyphens: none; hyphens: none;
+}
+
+.peer-key, .user-link.peer-key, .block-info-table td .peer-key, .pm-info-table td .peer-key,
+.pm-info-table td .user-link, .block-info-table td .user-link,
+.search-oasis-id, .pm-sent-key-value, .kpi__value {
+ display: inline-block; max-width: 100%;
+ overflow-wrap: anywhere; word-break: break-all;
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
+ font-variant-numeric: tabular-nums; line-height: 1.45;
+}
+
+.oasis-id-copy {
+ display: block; width: 100%; white-space: nowrap;
+ overflow: hidden; text-overflow: ellipsis;
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
+}
+.invites-list .user-link.peer-key, .peers-list .block-info-table td .peer-key {
+ display: block; max-width: 100%; white-space: nowrap;
+ overflow: hidden; text-overflow: ellipsis; word-break: normal;
+}
+
+.main-column .message-text a[href^="http"], .main-column p a[href^="http"],
+.pm-bubble .message-text a[href^="http"], .main-column .message-text a.oasis-path-link,
+.main-column .message-text a.job-link, .main-column .message-text a.project-link,
+.main-column .message-text a.market-link {
+ overflow-wrap: anywhere; word-break: keep-all;
+ -webkit-hyphens: none; hyphens: none;
+}
+.main-column code:not(pre code), .pm-bubble .message-text code {
+ display: inline; max-width: 100%;
+ overflow-wrap: anywhere; word-break: break-word; white-space: pre-wrap;
+}
+
+.main-column .tags-header { margin-bottom: 6px; gap: 2px; }
+.main-column .tags-header h2, .tags-header h2 {
+ font-size: 17px; line-height: 1.2; letter-spacing: 0;
+}
+.main-column .tags-header p { font-size: 13px; line-height: 1.35; margin: 0; }
+
+.main-column { padding: 10px 12px 16px 12px; }
+.activity-filter-acc { margin-bottom: 4px; }
+
+.empty-state {
+ display: flex; flex-direction: column; align-items: center;
+ justify-content: center; text-align: center;
+ padding: 40px 16px; gap: 8px; width: 100%; box-sizing: border-box;
+}
+.empty-state-icon { font-size: 44px; line-height: 1; opacity: 0.55; }
+.empty-state-title { font-size: 16px; font-weight: 700; margin: 4px 0 0 0; color: #FFD700; }
+.empty-state-text { color: var(--c-muted, #8c8c8c); font-size: 14px; line-height: 1.4; max-width: 40ch; margin: 0; }
+.empty-state-cta { margin-top: 10px; min-height: 48px; display: inline-flex; align-items: center; }
+
+.activity-filter-collapsed {
+ display: flex; align-items: center; gap: 10px;
+ flex-wrap: wrap; margin-bottom: 8px; width: 100%;
+}
+.activity-back {
+ display: inline-flex; align-items: center; gap: 4px;
+ min-height: 44px; padding: 6px 14px 6px 10px; flex: 0 0 auto;
+}
+.activity-back-arrow { font-size: 22px; line-height: 1; font-weight: bold; }
+.activity-active-filter {
+ font-weight: 700; color: #FFD700; text-transform: uppercase;
+ font-size: 13px; letter-spacing: .03em;
+}
+
+.oasis-bottombar .bb-item { min-height: 48px; }
+.oasis-bottombar .bb-pair .bb-item { min-height: 44px; padding: 4px 10px; }
+.oasis-mobile-menus .oasis-menu-btn { min-height: 48px; }
+.pm-bubble .pm-actions .pm-btn { min-height: 40px; padding: 6px 12px; }
+.score-btn, .vote-btn, .feed-action-btn {
+ min-height: 44px; min-width: 44px;
+ display: inline-flex; align-items: center; justify-content: center;
+}
+.score-btn:active, .vote-btn:active, .feed-action-btn:active { filter: brightness(.85); }
+
+.oasis-bottombar .bb-add .bb-ico {
+ background: #FFD700; color: #121212; border-radius: 999px;
+ width: 30px; height: 30px; display: inline-flex;
+ align-items: center; justify-content: center;
+ font-weight: bold; font-size: 20px; line-height: 1;
+}
+.bb-pick-grid {
+ display: grid; grid-template-columns: repeat(3, 1fr);
+ gap: 8px; width: 100%; margin-top: 8px;
+}
+.bb-pick-form { margin: 0; display: block; }
+.bb-pick-btn {
+ display: flex; flex-direction: column; align-items: center;
+ justify-content: center; gap: 6px; width: 100%;
+ min-height: 76px; padding: 10px 6px; box-sizing: border-box;
+ background: #1c1c1c; border: 1px solid #333; border-radius: 12px; color: #FFD700;
+}
+.bb-pick-btn.active { border-color: #FFD700; background: #2a2412; }
+.bb-pick-ico { font-size: 26px; color: #FFD700; line-height: 1; }
+.bb-pick-lbl { font-size: 11px; text-align: center; line-height: 1.2; }
+
+
+/* Ocultar los checkboxes nativos del drawer (nav-left/right-toggle) — si no, salen 2 cuadrados blancos arriba */
+.oasis-nav-side-toggle {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ opacity: 0;
+ pointer-events: none;
+ margin: 0;
+}
+
+/* ==========================================================================
+ Usabilidad 0.9.1 — Chats estilo Signal + widgets compactos + foros con hilos
+ Todo en NUESTRO tema (carga tras mobile.css → gana por cascada, sin !important)
+ ========================================================================== */
+
+/* --- Chats: burbujas tipo Signal (los hooks .chat-message-self/-author ya existen) --- */
+.chat-messages-list { display: flex; flex-direction: column; gap: 4px; width: 100%; }
+.chat-message {
+ max-width: 82%; width: fit-content; min-width: 0; box-sizing: border-box;
+ padding: 8px 12px; margin: 2px 0;
+ border: 1px solid #343434; background: #1e1e1e;
+ border-radius: 16px; border-bottom-left-radius: 4px;
+ align-self: flex-start;
+}
+.chat-message.chat-message-self {
+ align-self: flex-end; margin-left: auto; margin-right: 0;
+ background: #2a2413; border-color: #5c4c1f;
+ border-bottom-left-radius: 16px; border-bottom-right-radius: 4px;
+}
+.chat-message-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 3px; font-size: 10px; color: var(--c-muted, #8c8c8c); }
+.chat-message.chat-message-self .chat-message-meta { justify-content: flex-end; }
+.chat-message-sender, .chat-message-sender a { font-size: 11px; font-weight: 700; color: #FFD700; }
+.chat-message-date { opacity: .8; }
+.chat-message-text {
+ display: block; font-size: 15px; line-height: 1.42; color: #FFD700; margin: 0;
+ word-break: break-word; overflow-wrap: anywhere;
+}
+.chat-message-text a { color: #FFD700; }
+.chat-message-image-wrap { margin-top: 6px; }
+.chat-message-image { max-width: 100%; border-radius: 10px; }
+
+/* --- Compose de chat: caja redondeada + enviar como pill (no bloque naranja de ancho completo) --- */
+.chat-message-form textarea {
+ width: 100%; box-sizing: border-box; border-radius: 14px;
+ padding: 10px 14px; resize: vertical; font-size: 15px;
+}
+.chat-message-form .filter-btn {
+ width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important;
+ padding: 0 !important; border-radius: 50% !important;
+ display: inline-flex !important; align-items: center !important; justify-content: center !important;
+ font-size: 0 !important; line-height: 0 !important;
+}
+.chat-message-form .filter-btn::before { content: "\27A4"; font-size: 18px; line-height: 1; color: #121212; }
+.chat-message-form input[type="file"] { font-size: 12px; }
+
+/* --- Reply a mensaje en chats (server-side ?replyTo=, sin JS) --- */
+.chat-message-meta .chat-reply-btn { margin-left: auto; padding: 0 4px; color: #FFD700; text-decoration: none; font-size: 15px; opacity: .85; }
+.chat-message-self .chat-message-meta .chat-reply-btn { margin-left: 8px; }
+.chat-quote {
+ display: block; border-left: 3px solid #FFD700; padding: 3px 8px; margin: 0 0 5px;
+ background: rgba(255,215,0,.08); border-radius: 6px; font-size: 12px; line-height: 1.3;
+}
+.chat-quote-author, .chat-quote-author a { color: #FFD700; font-weight: 700; margin-right: 6px; }
+.chat-quote-text { color: #FFDD44; }
+.chat-replying-to {
+ display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
+ border-left: 3px solid #FFD700; background: rgba(255,215,0,.10);
+ padding: 6px 10px; margin-bottom: 8px; border-radius: 8px; font-size: 12px;
+}
+.chat-replying-label { color: #FFD700; font-weight: 700; }
+.chat-reply-cancel { margin-left: auto; color: #FFD700; text-decoration: none; font-weight: 700; font-size: 14px; }
+
+/* --- Switcher de chats: tira horizontal para saltar entre conversaciones --- */
+.chat-switcher {
+ display: flex; gap: 6px; overflow-x: auto; padding: 6px 0; margin: 4px 0 8px;
+ -webkit-overflow-scrolling: touch; scrollbar-width: none;
+}
+.chat-switcher::-webkit-scrollbar { display: none; }
+.chat-switch-chip {
+ flex: 0 0 auto; max-width: 140px; padding: 6px 12px; border-radius: 999px;
+ background: #1c1c1c; border: 1px solid #333; color: #FFD700; text-decoration: none;
+ font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
+}
+.chat-switch-chip.active { background: #FFD700; color: #121212; border-color: #FFD700; font-weight: 700; }
+
+/* --- Subtopics de foro: tira de pestañas (topics con nombre) + input de topic en el compose --- */
+.forum-topics {
+ display: flex; gap: 6px; overflow-x: auto; padding: 6px 0; margin: 4px 0 8px;
+ scrollbar-width: none;
+}
+.forum-topics::-webkit-scrollbar { display: none; }
+.forum-topic-chip {
+ flex: 0 0 auto; max-width: 160px; padding: 6px 14px; border-radius: 999px;
+ background: #1c1c1c; border: 1px solid #333; color: #FFD700; text-decoration: none;
+ font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
+}
+.forum-topic-chip.active { background: #FFD700; color: #121212; border-color: #FFD700; font-weight: 700; }
+.new-message-form { flex-wrap: wrap; }
+.forum-topic-input {
+ flex: 1 0 100%; box-sizing: border-box; border-radius: 12px;
+ padding: 8px 12px; font-size: 13px; margin: 0 0 6px;
+}
+
+/* --- #1: chat estilo Signal — compose ABAJO + mensajes arriba (el reply deja de "saltar") --- */
+.tribe-main.chat-full-width { display: flex; flex-direction: column-reverse; }
+#chatbox { scroll-margin-top: 8px; scroll-margin-bottom: 8px; }
+
+/* --- Botón spread → pill compacto (vence button{min-height:48px}/ancho completo) --- */
+.card-spread-centered, .card-spread-left, .spread-row { margin: 6px 0; }
+.card-spread-centered .spread-btn, .card-spread-left .spread-btn,
+.spread-row .spread-btn, .card-chips-row .spread-btn {
+ display: inline-flex; align-items: center; justify-content: center;
+ width: auto; min-width: 0; min-height: 30px; height: 30px;
+ padding: 2px 14px; font-size: 13px; line-height: 1;
+ border-radius: 999px; border: 1px solid #555; background: #1a1a1a; color: #FFD700;
+}
+.card-spread-centered .spread-btn.spread-btn-on,
+.card-spread-left .spread-btn.spread-btn-on { background: #FFD700; color: #1a1a1a; border-color: #FFD700; }
+
+/* --- Caja de votos (▲ n ▼): compacta y HORIZONTAL.
+ El problema era una cadena de flex-stretch (comment-vote-col flex → estiraba la caja a 135px).
+ Rompemos el estiramiento con height:auto + inline-flex en toda la cadena, con !important
+ para vencer el min-height:44px de .score-btn (762) y el !important de epsylon en mobile.css. --- */
+.comment-vote-col { display: block; height: auto; min-height: 0; width: auto; }
+.forum-score-box {
+ display: inline-flex; height: auto; min-height: 0;
+ min-width: 0; width: auto;
+ padding: 4px 8px; border-radius: 10px;
+ flex-direction: row; flex-wrap: nowrap; gap: 12px; align-items: center;
+}
+.forum-score-box .forum-score-form {
+ display: inline-flex; height: auto; width: auto;
+ flex-direction: row; flex-wrap: nowrap; gap: 12px; align-items: center;
+}
+.score-btn {
+ flex: 0 0 auto !important;
+ width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important;
+ font-size: 0.95em !important; border-radius: 8px !important; padding: 0 !important;
+}
+.score-total { flex: 0 0 auto; font-size: 1.15em; min-height: 0; height: auto; margin: 0; white-space: nowrap; }
+.comment-votes .votes-count { font-size: 11px; }
+
+/* Aplanar el comentario: quitar las cajas/recuadros internos para que sea UN bloque limpio
+ (cada sección salía como una tarjeta con padding enorme → mucho hueco muerto) */
+.forum-comment .comment-header,
+.forum-comment .comment-body-row,
+.forum-comment .comment-vote-col,
+.forum-comment .comment-text-col,
+.forum-comment .new-reply {
+ background: transparent; border: none; box-shadow: none;
+ padding: 0; margin: 6px 0 0; border-radius: 0;
+}
+.forum-comment .comment-header { margin-top: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; }
+/* la barra de votos de abajo ya muestra el score → ocultar el ▲:0 ▼:0 redundante de la cabecera */
+.forum-comment .comment-header .comment-votes { display: none; }
+.forum-comment .comment-text-col p { margin: 4px 0; }
+.forum-comment .comment-text-col > div { background: transparent; border: none; padding: 0; }
+.forum-comment { padding: 10px 12px; margin-bottom: 8px; }
+/* barra de votos alineada a la izquierda, no centrada, para que ocupe poco.
+ `display:flex !important` es DE PELEA: vence a mobile.css:164 `.comment-body-row{display:block!important}` */
+.forum-comment .comment-body-row { display: flex !important; flex-direction: column; align-items: flex-start; }
+
+/* --- Reply/compose del foro estilo Signal: fila [textarea que crece] + [botón REDONDO con icono ↩] --- */
+/* especificidad extra (.main-column …) para ganar a nuestra propia regla `.main-column form{display:block}` sin !important */
+.main-column .new-reply .comment-form,
+.main-column .new-message-form { display: flex; flex-direction: row; align-items: flex-end; gap: 8px; margin: 6px 0 0; }
+.main-column .new-message-form br { display: none; }
+.main-column .comment-textarea, .main-column .new-message-form textarea {
+ flex: 1 1 auto; box-sizing: border-box; border-radius: 14px;
+ padding: 9px 14px; min-height: 42px; resize: none; font-size: 14px; margin: 0;
+}
+.forum-send-btn {
+ flex: 0 0 auto !important;
+ width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
+ padding: 0 !important; margin: 0 !important; border-radius: 50% !important;
+ font-size: 0 !important; line-height: 0 !important;
+ display: inline-flex !important; align-items: center !important; justify-content: center !important;
+}
+.forum-send-btn::before { content: "\21A9"; font-size: 20px; line-height: 1; color: #121212; }
+.new-reply { margin-top: 6px; }
+
+/* --- Fase 2: hilos anidados. mobile.css fuerza margin-left:0 !important → necesitamos !important para ganar --- */
+.forum-comment.level-1 { margin-left: 10px; border-left: 2px solid #333; }
+.forum-comment.level-2 { margin-left: 20px; border-left: 2px solid #3a3a3a; }
+.forum-comment.level-3 { margin-left: 28px; border-left: 2px solid #404040; }
+.forum-comment.level-4 { margin-left: 34px; border-left: 2px solid #454545; }
+/* comentario destacado: acento sutil a la izquierda en vez del marco naranja enorme */
+.forum-comment.highlighted-reply { border: 1px solid #3a3a3a; border-left: 3px solid #FFD700; background: #1b1a16; }
+
+/* --- Reply del foro SIN tocar la vista de epsylon: la cajita se agranda al enfocarla;
+ el botón redondo ↩ está SIEMPRE visible (el usuario pidió icono de reply, no gesto/JS). --- */
+.new-reply .comment-textarea { min-height: 42px; }
+.new-reply:focus-within .comment-textarea { min-height: 64px; }
+
+/* ==========================================================================
+ Mejoras UI 0.9.1: fuente única + barra de búsqueda en topbar + hive global + bottombar fija
+ ========================================================================== */
+
+/* --- fuente única en todo el UI móvil (quitar el lío monospace/sans) --- */
+.oasis-mobile-topbar, .oasis-mobile-menus, .launcher, .oasis-bottombar, .main-column,
+.oasis-mobile-topbar input, .main-column input, .main-column textarea, .main-column select, button {
+ font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+}
+
+/* (topbar sin barra de búsqueda: vuelve el título "OASIS" — CSS .omt-title más arriba) */
+
+/* --- el lanzador va en el header (debajo de los 2 botones), solo en la home --- */
+.header .launcher { width: 100%; max-width: 440px; box-sizing: border-box; margin: 4px auto 10px; padding: 0 14px; }
+
+/* holgura bajo la topbar fija */
+body { padding-top: 74px; }
+
+/* ==========================================================================
+ FORK_IA_UX · Módulo KARVAN (mensajes temporales + WebRTC) — chat estilo burbujas
+ ========================================================================== */
+.karvan-intro h2 { color: #FFD700; margin: 0 0 6px; }
+.karvan-sub { color: #FFDD44; font-size: 13px; }
+.karvan-create input[type="text"] { width: 100%; box-sizing: border-box; padding: 10px 12px;
+ background: #161616; border: 1px solid #333; border-radius: 10px; color: #FFD700; }
+.karvan-ttl { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
+.karvan-ttl-lbl { color: #FFDD44; font-size: 13px; }
+.karvan-ttl-opt { display: inline-flex; align-items: center; gap: 4px; color: #FFD700; font-size: 13px; }
+.karvan-create button, .karvan-compose button { padding: 10px 16px; border: 1px solid #FFD700;
+ border-radius: 10px; background: #FFD700; color: #121212; font-weight: 700; cursor: pointer; }
+.karvan-rooms { list-style: none; margin: 8px 0 0; padding: 0; }
+.karvan-rooms li { margin: 0 0 8px; }
+.karvan-room-item { display: flex; justify-content: space-between; align-items: center; gap: 10px;
+ padding: 12px 14px; background: #161616; border: 1px solid #333; border-radius: 12px;
+ color: #FFD700; text-decoration: none; min-height: 48px; box-sizing: border-box; }
+.karvan-room-item .kr-title { font-weight: 600; }
+.karvan-room-item .kr-meta { color: #FFDD44; font-size: 12px; white-space: nowrap; }
+.karvan-empty { color: #FFDD44; }
+
+/* sala */
+.karvan-room-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
+.karvan-back { color: #FFD700; text-decoration: none; font-weight: 600; }
+.karvan-room-title { flex: 1 1 auto; color: #FFD700; font-weight: 700; text-align: center;
+ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
+.karvan-expire { color: #FFDD44; font-size: 12px; white-space: nowrap; }
+.karvan-live { display: inline-flex; align-items: center; gap: 6px; color: #FFDD44; font-size: 12px; margin-bottom: 8px; }
+.karvan-live .kl-dot { width: 8px; height: 8px; border-radius: 50%; background: #777; }
+.karvan-live.on .kl-dot { background: #35d07f; }
+.karvan-live.on .kl-txt { color: #35d07f; }
+.karvan-msgs { list-style: none; margin: 0; padding: 6px 0; display: flex; flex-direction: column; gap: 6px;
+ max-height: 58vh; overflow-y: auto; }
+.karvan-msg { max-width: 82%; align-self: flex-start; background: #1c1c1c; border: 1px solid #333;
+ border-radius: 14px; padding: 7px 11px; box-sizing: border-box; }
+.karvan-msg-self { align-self: flex-end; background: #2a2412; border-color: #FFD700; }
+.karvan-msg-live { border-left: 2px solid #35d07f; } /* recibido al instante por WebRTC (P2P) */
+.karvan-msg .km-from { display: block; font-size: 10px; color: #FFDD44; margin-bottom: 2px; }
+.karvan-msg .km-text { color: #FFD700; word-break: break-word; }
+.karvan-compose { display: flex; gap: 8px; margin-top: 10px; }
+.karvan-compose input[type="text"] { flex: 1 1 auto; min-width: 0; padding: 10px 12px;
+ background: #161616; border: 1px solid #333; border-radius: 10px; color: #FFD700; }
+/* Fase 2: invitar a un contacto por feed id */
+.karvan-invite { display: flex; gap: 8px; margin-top: 8px; }
+.karvan-invite input[type="text"] { flex: 1 1 auto; min-width: 0; padding: 9px 12px;
+ background: #161616; border: 1px solid #333; border-radius: 10px; color: #FFD700; font-family: monospace; font-size: 12px; }
+.karvan-invite button { flex: 0 0 auto; padding: 9px 14px; border: 1px solid #FFD700; background: #161616; color: #FFD700; border-radius: 10px; cursor: pointer; }
+.karvan-invite-msg { font-size: 12px; margin: 6px 0 0; }
+.karvan-invite-msg.ok { color: #35d07f; }
+.karvan-invite-msg.err { color: #ff8a8a; }
+
+/* --- Karvan videollamada (Fase 1): media P2P sobre el mismo WebRTC del chat --- */
+.karvan-call, .karvan-videos, .karvan-call-bar, .kc-status {
+ background-color: transparent; box-shadow: none; border-radius: 0; padding: 0; margin: 0; /* anular div{#222} */
+}
+.karvan-call { margin: 10px 0; }
+.karvan-videos { display: none; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin-bottom: 8px; }
+.karvan-call.active .karvan-videos { display: grid; }
+.kc-video { width: 100%; aspect-ratio: 4 / 3; background: #000; border-radius: 10px; border: 1px solid #333; object-fit: cover; display: block; }
+.kc-local { transform: scaleX(-1); } /* espejo, como cámara frontal */
+.kc-remote { display: contents; } /* los vídeos remotos entran en la misma rejilla */
+.karvan-call-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
+.kc-btn { min-height: 44px; min-width: 44px; padding: 8px 12px; border-radius: 999px;
+ border: 1px solid #333; background: #161616; color: #FFD700; line-height: 1; cursor: pointer; }
+.kc-btn.on { background: #FFD700; color: #121212; border-color: #FFD700; }
+.kc-btn-start { font-weight: 600; }
+.kc-btn-stop { background: #241414; border-color: #5a2a2a; }
+.kc-status { font-size: 12px; color: #FFDD44; margin-top: 6px; min-height: 14px; }
+
+/* ==========================================================================
+ 1.3.x: upstream trae en mobile.css su propio chrome movil (cabecera fija, cajones
+ laterales y botones Personal/Community que los abren). La rama ya tiene el suyo
+ (topbar, lanzador y barra inferior), asi que aqui se apaga el de upstream sin
+ tocar mobile.css. Va con !important porque las reglas que anula lo llevan.
+ ========================================================================== */
+.oasis-nav-side-toggle ~ .header {
+ position: static !important;
+ display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important;
+ align-items: stretch !important;
+ min-height: 0 !important; padding: 0 !important; gap: 0 !important;
+ z-index: auto !important;
+}
+body:has(.oasis-nav-side-toggle) { padding-top: 84px !important; }
+.oasis-nav-side-toggle ~ .header .oasis-mobile-menus,
+.oasis-nav-side-toggle ~ .header .top-bar-left nav,
+.oasis-nav-side-toggle ~ .header .top-bar-right nav,
+.oasis-nav-side-toggle ~ .header .top-bar-left a.logo-icon { display: none !important; }
+
+/* ==========================================================================
+ Upstream 1.3.3: piezas nuevas (karma del perfil, directo a pantalla completa,
+ salas en vivo, graphos). Copiado tal cual del tema oficial: el resto de ese
+ tema es otro aspecto y no se trae.
+ ========================================================================== */
+.main-column .live-lightbox.live-fullscreen {
+ top: 0 !important;
+ bottom: 0 !important;
+ z-index: 10050 !important;
+ background: #000 !important;
+}
+.main-column .live-lightbox .live-fullscreen-btn {
+ top: 8px !important;
+ right: 64px !important;
+ z-index: 2 !important;
+ color: #FFD700 !important;
+}
+
+.profile-sensors-box span.karma-line.karma-line-stacked {
+ display: flex !important;
+ flex-direction: column !important;
+ align-items: center !important;
+ gap: 1px !important;
+}
+.profile-sensors-box span.karma-line .karma-line-main {
+ display: block !important;
+ line-height: 1.25 !important;
+}
+.profile-sensors-box span.karma-line .karma-received-row {
+ display: flex !important;
+ justify-content: center !important;
+ align-items: center !important;
+ gap: 14px !important;
+ margin-top: 0 !important;
+ line-height: 1.25 !important;
+}
+.profile-sensors-box span.karma-line .karma-received {
+ display: inline-flex !important;
+ align-items: center !important;
+ gap: 4px !important;
+}
+
+.main-column .room-live-panel .room-live-head {
+ gap: 6px !important;
+}
+.main-column .room-live-head .room-live-controls {
+ gap: 6px !important;
+}
+.main-column .room-live-controls .tribe-action-btn {
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ min-height: 0 !important;
+ height: auto !important;
+ padding: 5px 10px !important;
+ font-size: 12px !important;
+ line-height: 1.2 !important;
+ letter-spacing: 0 !important;
+ border-radius: 8px !important;
+}
+.main-column .room-live-controls .room-stream-input:invalid ~ .room-stream-go,
+.main-column .room-live-controls .room-stream-input:valid ~ .room-stream-pick {
+ display: none !important;
+}
+.main-column .room-stream-chip {
+ display: inline-flex !important;
+ align-items: center !important;
+ gap: 4px !important;
+ max-width: 100% !important;
+ padding: 2px 10px !important;
+ border-radius: 12px !important;
+ font-size: 12px !important;
+ line-height: 1.4 !important;
+ background: rgba(255, 163, 0, 0.1) !important;
+}
+.main-column .room-live-panel .video-grid {
+ margin: 10px 0 !important;
+}
+.main-column .room-live-panel #room-video {
+ scroll-margin-top: 80px !important;
+}
+.main-column .room-live-panel .phone-contacts {
+ gap: 4px !important;
+}
+.main-column .phone-contact.room-peer {
+ min-height: 0 !important;
+ padding: 4px 6px !important;
+ gap: 6px !important;
+}
+.main-column .phone-contact.room-peer .user-link {
+ padding: 4px 10px !important;
+ font-size: 11px !important;
+}
+.main-column .phone-contact.room-peer :is(.room-peer-you, .room-peer-cam, .room-peer-muted, .room-peer-hand) {
+ padding: 1px 5px !important;
+ font-size: 10px !important;
+}
+.main-column .phone-contact.room-peer :is(button, .tribe-action-btn) {
+ min-height: 0 !important;
+ padding: 3px 8px !important;
+ font-size: 11px !important;
+}
+.main-column .live-lightbox.live-fullscreen {
+ top: 0 !important;
+ bottom: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ width: 100vw !important;
+ height: 100vh !important;
+}
+.main-column .video-grid-solo .video-tile { width: 100% !important; }
+.main-column .inhabitants-grid .inhabitant-card { padding-bottom: 12px !important; }
+
+/* ==========================================================================
+ Filtros como fichas. Las reglas de botones grandes (48px, ancho completo)
+ tambien pillaban a los filtros de chats, feed, foros, pads...: en el foro
+ las 20 categorias llenaban la pantalla y el contenido quedaba debajo.
+ Ahora van en fila como los de Actividad; "Crear ..." sigue grande, aparte.
+ ========================================================================== */
+.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 6px !important;
+ padding: 10px 12px !important;
+}
+.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) > form {
+ display: block !important;
+ width: auto !important;
+ flex: 0 0 auto !important;
+ margin: 0 !important;
+}
+.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) .filter-btn:not(.create-button) {
+ min-height: 0 !important;
+ width: auto !important;
+ padding: 6px 12px !important;
+ font-size: 12px !important;
+ line-height: 1.3 !important;
+ letter-spacing: .3px !important;
+ border-radius: 16px !important;
+ border: 1px solid #555 !important;
+ background: transparent !important;
+ color: #ddd !important;
+ box-shadow: none !important;
+ white-space: nowrap !important;
+}
+.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) .filter-btn.active:not(.create-button) {
+ background: #FFD700 !important;
+ border-color: #FFD700 !important;
+ color: #121212 !important;
+}
+.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) > form:has(.create-button) {
+ flex: 1 1 100% !important;
+ margin-top: 6px !important;
+}
+.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) .create-button {
+ width: 100% !important;
+ min-height: 44px !important;
+}
+
+/* fichas de filtro vacias (el foro solo pinta las categorias con hilos) */
+.main-column .filter-group:empty { display: none !important; }
+
+/* acciones de la tarjeta (borrar, fijar, enlace, abrir): una fila a la derecha.
+ ".main-column form" las ponia a ancho completo y partia la fila en dos */
+.main-column .content-actions {
+ display: flex !important;
+ flex-wrap: nowrap !important;
+ justify-content: flex-end !important;
+ align-items: center !important;
+ gap: 6px !important;
+ width: auto !important;
+ margin-left: auto !important;
+}
+.main-column .content-actions > form {
+ display: inline-flex !important;
+ width: auto !important;
+ flex: 0 0 auto !important;
+ margin: 0 !important;
+}
+.main-column .content-actions .btn-singleview {
+ min-height: 0 !important;
+ width: 36px !important;
+ height: 36px !important;
+ padding: 0 !important;
+ border-radius: 50% !important;
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+}
+
+/* Skins y workflows en Ajustes (views/settings_view.js): tarjetas de un toque */
+.skin-pick { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }
+.skin-card {
+ display: flex !important; flex-direction: column; align-items: stretch; gap: 8px;
+ width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 8px !important;
+ background: #1c1c1c !important; color: #e6e6e6 !important;
+ border: 1px solid #444 !important; border-radius: 16px !important; cursor: pointer;
+}
+.skin-card .skin-shot { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; border-radius: 10px; display: block; }
+.skin-card .skin-name { font-size: 17px; font-weight: 700; text-align: center; }
+.skin-card.is-current { border: 2px solid #FFD700 !important; background: #2a2412 !important; }
+.skin-card.is-current .skin-name::after { content: " \2713"; }
+.workflow-pick { display: flex !important; flex-direction: column; gap: 10px; margin: 0; }
+.workflow-card {
+ width: 100% !important; min-height: 56px !important; margin: 0 !important; padding: 10px 16px !important;
+ font-size: 18px !important; text-align: left !important;
+ background: #1c1c1c !important; color: #e6e6e6 !important; border: 1px solid #444 !important; border-radius: 14px !important;
+}
+.workflow-card.is-current { border: 2px solid #FFD700 !important; background: #2a2412 !important; color: #FFD700 !important; }
+.workflow-card.is-current::after { content: " \2713"; }
diff --git a/src/client/assets/themes/Acampada.css b/src/client/assets/themes/Acampada.css
index cf40f26..ae5edf6 100644
--- a/src/client/assets/themes/Acampada.css
+++ b/src/client/assets/themes/Acampada.css
@@ -3,10 +3,10 @@
* Los colores y las formas salen de acampada26s.net: bordes negros gruesos,
* botones con sombra solida que se hunden al pulsar y titulos en mayusculas.
*
- * La maqueta de movil es la de OasisMobile.css, que main_views.js carga justo antes
+ * La maqueta de movil es styles/mobile_base.css, que main_views.js carga justo antes
* con su propio versionado (no con @import: se quedaba en la cache del
* WebView); aqui solo se cambian colores, letra y formas encima. Por eso casi todo lleva
- * !important: OasisMobile.css tambien lo usa. Las piezas propias de la rama
+ * !important: la maqueta tambien lo usa. Las piezas propias de la rama
* (panal, barras) se ajustan en styles/hive_acampada.css. */
@font-face {
font-family: "Anton";
diff --git a/src/client/assets/themes/OasisMobile.css b/src/client/assets/themes/OasisMobile.css
index 1c94839..889157e 100644
--- a/src/client/assets/themes/OasisMobile.css
+++ b/src/client/assets/themes/OasisMobile.css
@@ -1,1077 +1,3940 @@
-html { overflow-x: clip; overflow-y: visible; height: auto; }
-body { overflow-x: clip; overflow-y: visible; }
-
-
-.oasis-bottombar {
- display: flex;
- position: fixed;
- left: 0; right: 0; bottom: 0;
- z-index: 1000;
- justify-content: space-around;
- align-items: center;
- gap: 4px;
- background: #1F1F1F;
- border-top: 1px solid #333;
- padding: 8px 6px calc(8px + env(safe-area-inset-bottom, 0px));
+body {
+ background-color: #121212;
+ color: #FFD700;
}
-.oasis-bottombar .bb-item {
- position: relative;
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 3px;
- flex: 1 1 0;
- min-width: 0;
- padding: 2px 0;
+
+header, footer {
+ background-color: #1F1F1F;
+}
+
+.sidebar-left, .sidebar-right {
+ background-color: #1A1A1A;
+ border: 1px solid #333;
+}
+
+.main-column {
+ background-color: #1C1C1C;
+}
+
+button, input[type="submit"], input[type="button"] {
+ background-color: #444;
+ color: #FFD700;
+ border: 1px solid #444;
+}
+
+button:hover, input[type="submit"]:hover, input[type="button"]:hover {
+ background-color: #333;
+ border-color: #666;
+}
+
+input, textarea, select {
+ background-color: #333;
+ color: #FFD700;
+ border: 1px solid #555;
+}
+
+a {
+ color: #FFD700;
+}
+
+a:hover {
+ color: #FFDD44;
+}
+
+table {
+ background-color: #222;
+ color: #FFD700;
+}
+
+table th {
+ background-color: #333;
+}
+
+table tr:nth-child(even) {
+ background-color: #2A2A2A;
+}
+
+nav ul li a:hover {
+ color: #FFDD44;
+ text-decoration: underline;
+}
+
+.profile {
+ background-color: #222;
+ padding: 15px;
+ border-radius: 8px;
+}
+
+.profile .name {
+ color: #FFD700;
+}
+
+.avatar {
+ border: 3px solid #FFD700;
+}
+
+article, section {
+ background-color: #1C1C1C;
+ color: #FFD700;
+}
+
+.article img {
+ border: 3px solid #FFD700;
+}
+
+.post-preview img {
+ border: 3px solid #FFD700;
+}
+
+.post-preview .image-container {
+ max-width: 100%;
+ overflow: hidden;
+ display: block;
+ margin: 0 auto;
+}
+
+div {
+ background-color: transparent;
+ border: 0;
+ box-shadow: none;
+ transition: none !important;
+}
+
+div .header-content {
+ width: 100%;
+}
+
+::-webkit-scrollbar {
+ width: 10px;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: #444;
+ border-radius: 10px;
+}
+
+::-webkit-scrollbar-track {
+ background-color: #222;
+}
+
+.action-container {
+ background-color: #1A1A1A;
+ border: 1px solid #333;
+ padding: 10px;
+ border-radius: 8px;
+ color: #FFD700;
+}
+
+footer {
+ background-color: #1F1F1F;
+ padding: 10px 0;
+}
+
+footer a {
+ background-color: #444;
+ color: #FFD700;
+ text-align: center;
+ padding: 8px 16px;
+ border-radius: 5px;
text-decoration: none;
}
-.oasis-bottombar .bb-ico { font-size: 18px; line-height: 1; color: #FFD700; }
-.oasis-bottombar .bb-lbl { font-size: 9px; color: #FFD700; white-space: nowrap; }
-.oasis-bottombar .bb-badge {
- position: absolute;
- top: -4px;
- left: calc(50% + 6px);
- min-width: 15px; height: 15px;
- padding: 0 3px;
- border-radius: 8px;
- background: #FFD700;
- color: #121212;
- font-size: 9px; font-weight: bold;
- display: flex; align-items: center; justify-content: center;
+
+footer a:hover {
+ background-color: #333;
+ color: #FFDD44;
}
-body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
-
-/* topbar FIJA arriba: [logo] [Personal] [Community] [avatar]; el lanzador scrollea por debajo */
-.oasis-mobile-topbar {
- position: fixed; top: 0; left: 0; right: 0; z-index: 100;
- display: flex; align-items: center; gap: 8px;
- padding: 8px 12px;
- background: #121212;
- border-bottom: 1px solid #333;
-}
-body { padding-top: 74px; background: #121212; }
-
-.oasis-mobile-topbar .omt-logo, .oasis-mobile-topbar .omt-avatar { flex: 0 0 auto; }
-.oasis-mobile-topbar .omt-logo img,
-.oasis-mobile-topbar .omt-avatar img {
- width: 42px; height: 42px;
- border-radius: 50%;
- border: 2px solid #FFD700;
- object-fit: cover; display: block;
+.card {
+ border-radius: 16px;
+ padding: 0px 24px 10px 24px;
+ margin-bottom: 16px;
+ color: #FFD600;
+ font-family: inherit;
+ box-shadow: 0 2px 20px 0 #FFD60024;
}
-.oasis-mobile-topbar .omt-menus {
- flex: 1 1 auto; min-width: 0;
- display: flex; justify-content: center; gap: 8px;
-}
-.oasis-mobile-topbar .omt-menus .oasis-menu-btn {
- display: flex; align-items: center; justify-content: center;
- padding: 7px 14px;
- border: 1px solid #FFD700; border-radius: 8px;
- background: #161616; color: #FFD700;
- font-weight: 600; letter-spacing: .5px; text-decoration: none;
- font-size: 13px; white-space: nowrap; cursor: pointer;
-}
-.oasis-mobile-topbar .omt-menus .oasis-menu-btn.active {
- background: #FFD700; color: #121212; border-color: #FFD700;
-}
-.oasis-mobile-topbar .omt-menus .oasis-menu-btn span { text-decoration: none; }
-
-/* ANULAR el "card" global de style.css `div{background:#222;border-radius:10px;box-shadow;padding:20px;margin-bottom:20px}`
- en nuestro chrome móvil propio: era el 2º color (caja mas clara) detras de los botones,
- la caja redondeada de la topbar y el fondo #222 detras del lanzador. */
-.header, .launcher, .ln-group, .ln-grid,
-.oasis-mobile-topbar, .oasis-mobile-topbar .omt-menus {
- background-color: transparent; box-shadow: none; border-radius: 0;
-}
-.oasis-mobile-topbar { background-color: #121212; } /* fija: fondo opaco (el contenido scrollea por debajo) */
-.oasis-mobile-topbar .omt-menus { padding: 0; margin: 0; } /* sin caja ni relleno detras de los botones */
-
-.header .top-bar-left > a.logo-icon { display: none; }
-
-.oasis-mobile-menus { display: flex; gap: 8px; padding: 0 10px 6px; }
-.oasis-mobile-menus .oasis-menu-ico { display: none; }
-.oasis-mobile-menus .oasis-menu-btn {
- flex: 1 1 0;
- display: flex; align-items: center; justify-content: center;
- padding: 10px 12px;
- border: 1px solid #FFD700; border-radius: 8px;
- background: #161616; color: #FFD700;
- font-weight: 600; letter-spacing: 1px; text-decoration: none; cursor: pointer;
-}
-.oasis-mobile-menus .oasis-menu-btn span { text-decoration: none; }
-
-.oasis-mobile-menus .oasis-menu-btn.active {
- background: #FFD700; color: #121212; border-color: #FFD700;
+.card-section {
+ border:none;
+ padding: 10px 0 0 16px;
}
-:root {
- --space-1: 4px; --space-2: 8px; --space-3: 16px; --space-4: 24px; --space-5: 32px;
- --fs-caption: 12px; --fs-body: 14px; --fs-body-lg: 16px; --fs-title: 20px;
- --lh-body: 1.5; --measure: 66ch;
- --c-muted: #8c8c8c; --radius-md: 12px;
-}
-
-.oasis-bottombar .bb-fab .bb-ico {
- width: 46px; height: 46px;
- margin-top: -22px;
- border-radius: 50%;
- background: #FFD700; color: #121212;
- display: flex; align-items: center; justify-content: center;
- font-size: 22px;
- box-shadow: 0 2px 8px rgba(0,0,0,.4);
-}
-.oasis-bottombar .bb-fab .bb-lbl { color: #FFD700; font-weight: bold; }
-
-.main-column, .main-column p, .main-column li, .main-column a,
-.main-column span, .main-column td, .main-column h1, .main-column h2, .main-column h3 {
- overflow-wrap: anywhere;
- word-break: break-word;
-}
-.main-column { padding: var(--space-3); }
-.main-column p { line-height: var(--lh-body); }
-
-.main-column > * + * { margin-top: var(--space-3); }
-
-.main-column img, .main-column video, .main-column table, .main-column pre, .main-column iframe {
- max-width: 100%; height: auto;
-}
-.main-column pre { white-space: pre-wrap; }
-
-.oasis-nav-group {
- list-style: none;
- background: #1c1c1c;
- border: 1px solid #333;
- border-radius: var(--radius-md);
- overflow: hidden;
- margin-bottom: var(--space-2);
-}
-.oasis-nav-header {
- display: flex; align-items: center; gap: var(--space-2);
- min-height: 48px; padding: 0 var(--space-3);
- cursor: pointer;
- color: #FFD700; font-weight: bold;
- text-transform: uppercase; letter-spacing: .04em;
- font-size: var(--fs-caption);
-}
-.oasis-nav-header .nav-text { flex: 1 1 auto; }
-.oasis-nav-header .oasis-nav-arrow { color: var(--c-muted); transition: transform 150ms ease; }
-.oasis-nav-toggle:checked + .oasis-nav-header .oasis-nav-arrow { transform: rotate(180deg); }
-.oasis-nav-header:active { background: #262626; }
-.oasis-nav-list { list-style: none; padding: 0; margin: 0; }
-.oasis-nav-list li a {
- display: flex; align-items: center; gap: var(--space-3);
- min-height: 48px; padding: 0 var(--space-3);
- color: #FFD700; text-decoration: none;
- border-top: 1px solid #262626;
-}
-.oasis-nav-list li a .emoji { flex: 0 0 auto; width: 22px; text-align: center; color: #FFD700; }
-.oasis-nav-list li a .nav-text { font-size: var(--fs-body); }
-.oasis-nav-list li a:active { background: #262626; }
-.oasis-nav-list li a.current { color: #FFD700; font-weight: bold; }
-
-.main-column h1 { font-size: var(--fs-title); font-weight: 700; line-height: 1.25; margin: 0 0 var(--space-2); }
-.main-column h2 { font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0 0 var(--space-2); }
-.main-column h3 { font-size: var(--fs-body-lg); font-weight: 600; margin: 0 0 var(--space-1); }
-.main-column p { font-size: var(--fs-body-lg); }
-.main-column .created-at, .main-column .small, .main-column .time,
-.main-column .meta, .main-column .author-meta, .main-column .subtitle {
- color: var(--c-muted); font-size: var(--fs-caption);
-}
-
-/* solo las tarjetas (clase acabada en -card), no sus piezas: -card-header,
- -card-hero-image... heredaban fondo, borde y relleno y salian como cajas */
-.main-column article,
-.main-column :is([class$="-card"], [class*="-card "]) {
- background: #1c1c1c;
- border: 1px solid #333;
- border-radius: var(--radius-md);
- padding: var(--space-3);
-}
-.main-column article:active,
-.main-column :is([class$="-card"], [class*="-card "]):active { background: #202020; }
-
-.btn, button, input[type="submit"], input[type="button"], .submit-button,
-.filter-btn, .create-button, .edit-btn, .delete-btn, .join-btn, .leave-btn, .buy-btn {
- min-height: 48px;
-}
-button:active, input[type="submit"]:active, .submit-button:active,
-.filter-btn:active, .create-button:active, .edit-btn:active,
-.delete-btn:active, .join-btn:active, .leave-btn:active, .buy-btn:active {
- filter: brightness(.85);
-}
-.main-column a:active { opacity: .6; }
-
-* { -webkit-tap-highlight-color: transparent; }
-a, button, label, .tap, .oasis-menu-btn, .bb-item, .oasis-nav-header, .oasis-nav-list li a {
- touch-action: manipulation;
-}
-body { overscroll-behavior: none; }
-
-.main-content, .main-column, .header { overflow: visible; }
-
-/* === Usabilidad 0.9.1: Personal/Community filtran el lanzador server-side (enlaces ?hive=) + desplegable FILTER === */
-
-/* desplegable FILTER de la ristra de filtros de Activity (oculto por defecto) */
-.activity-filter-toggle { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; margin: 0; }
-.activity-filter-btn {
- display: flex; align-items: center; justify-content: center; gap: 8px;
- width: 100%; min-height: 44px; margin: 4px 0 8px; padding: 10px 12px;
- border: 1.5px solid #333; border-radius: 10px;
- background: #121212; color: #FFD700;
- font-weight: bold; letter-spacing: 1px; text-transform: uppercase; cursor: pointer;
-}
-.activity-filter-caret { transition: transform 150ms ease; }
-#activity-filter-toggle:checked ~ .activity-filter-btn { background: #FFD700; color: #121212; border-color: #FFD700; }
-#activity-filter-toggle:checked ~ .activity-filter-btn .activity-filter-caret { transform: rotate(180deg); }
-.activity-filter-panel { display: none; }
-#activity-filter-toggle:checked ~ .activity-filter-panel { display: block; }
-.activity-filter-panel .activity-filter-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 8px; }
-.activity-filter-panel .activity-filter-col { display: contents; }
-.activity-filter-panel form { margin: 0; }
-
-.bb-manage { margin: 8px 0 16px; }
-.bb-manage h3, .bb-manage-add h3 {
- font-size: 13px; text-transform: uppercase; letter-spacing: .05em;
- color: #FFD700; margin: 14px 0 8px;
-}
-.bb-manage-list { display: flex; flex-direction: column; gap: 8px; }
-.bb-manage-form { margin: 0; width: 100%; }
-.bb-manage-btn {
- width: 100%;
- display: flex; align-items: center; gap: 12px;
- min-height: 52px; padding: 0 14px;
- background: #1c1c1c; border: 1px solid #333; border-radius: 10px;
- color: #FFD700; cursor: pointer; text-align: left;
-}
-.bb-manage-ico { font-size: 20px; color: #FFD700; width: 26px; text-align: center; }
-.bb-manage-lbl { flex: 1 1 auto; font-size: 15px; }
-.bb-manage-x { font-size: 16px; color: #FFD700; font-weight: bold; }
-.bb-manage-empty, .bb-manage-full { color: #999; font-size: 14px; padding: 8px 2px; }
-.bb-manage-done {
- display: block; text-align: center;
- margin-top: 16px; min-height: 48px; line-height: 48px;
-}
-
-/* Lanzador de modulos de la home (sustituye a los hexagonos): secciones con un
- rotulo discreto y una rejilla de baldosas, como el cajon de apps del movil */
-.launcher { margin: 6px 0 20px; padding: 0; border: 0; }
-.ln-group { margin: 0; padding: 0; border: 0; }
-.ln-group + .ln-group { margin-top: 20px; }
-.ln-title {
- margin: 0 2px 10px; padding: 0; border: 0;
- font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
- color: var(--c-muted);
-}
-.ln-grid {
- display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
- gap: 14px 8px; margin: 0; padding: 0;
-}
-.ln-app {
- display: flex; flex-direction: column; align-items: center; gap: 6px;
- min-width: 0; text-decoration: none; -webkit-tap-highlight-color: transparent;
-}
-.ln-ico {
- width: 54px; height: 54px; box-sizing: border-box;
- display: flex; align-items: center; justify-content: center;
- border-radius: 16px; background: #1c1c1c; border: 1px solid #333;
- color: #FFD700; font-size: 22px; line-height: 1;
- transition: background-color .12s, border-color .12s;
-}
-.ln-app:active .ln-ico, .ln-app:focus-visible .ln-ico { background: #2a2412; border-color: #FFD700; }
-.ln-lbl {
- max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
- font-size: 11px; line-height: 1.2; text-align: center; color: #e6e6e6;
-}
-
-.header .top-bar-left nav,
-.header .top-bar-right nav { display: none; }
-
-.oasis-mobile-topbar { padding-top: calc(env(safe-area-inset-top, 0px) + 10px); }
-
-.oasis-bottombar .bb-pair {
- display: flex; align-items: center;
- flex: 0 0 auto;
- gap: 2px; padding: 3px;
- background: #262626;
- border: 1px solid #3a3a3a;
- border-radius: 999px;
-}
-.oasis-bottombar .bb-pair .bb-item { flex: 0 0 auto; padding: 2px 8px; }
-.oasis-bottombar .bb-pair .bb-lbl { font-size: 8px; }
-
-.oasis-bottombar a.bb-item.current .bb-ico {
- background: #FFD700; color: #121212;
- border-radius: 999px; padding: 4px 12px;
-}
-.oasis-bottombar a.bb-item.current .bb-lbl { color: #FFD700; font-weight: bold; }
-.oasis-bottombar a.bb-item.current .bb-badge { background: #121212; color: #FFD700; }
-
-.main-column, .main-column p, .main-column li, .main-column a,
-.main-column span, .main-column td, .main-column th, .main-column label,
-.main-column h1, .main-column h2, .main-column h3, .main-column h4,
-.main-column strong, .main-column em, .main-column small,
-.created-at, .post-meta, .feed-post-meta,
-.feed-row .small, .feed-row .time, .feed-row .created-at,
-.profile-sensors-box > *,
-.card-field .card-value, .card-field .card-label {
- overflow-wrap: break-word;
- word-break: normal;
- -webkit-hyphens: none;
- hyphens: none;
-}
-
-.main-column pre, .main-column code, kbd, samp,
-.peer-key, .user-link.peer-key, .oasis-id-copy, .search-oasis-id,
-.pm-sent-key-value, .kpi__value,
-.block-info-table td .peer-key, .block-info-table td .user-link,
-.pm-info-table td .user-link,
-.main-column a[href*="ed25519"], .main-column a[href^="ssb:"],
-.main-column a[href^="/author/"] {
- overflow-wrap: anywhere;
- word-break: break-all;
-}
-
-button, input[type="submit"], input[type="button"],
-.filter-btn, a.filter-btn, .create-button, .edit-btn, .delete-btn,
-.join-btn, .leave-btn, .buy-btn, .submit-button, .btn,
-.conn-actions button, .peers-conn-actions button,
-.mode-buttons button, .mode-buttons .filter-btn,
-.filter-group button, .filter-group .filter-btn,
-.main-column button, .main-column input[type="submit"] {
- white-space: normal;
- word-break: normal;
- overflow-wrap: break-word;
- -webkit-hyphens: none;
- hyphens: none;
-}
-
-.conn-actions, .peers-conn-actions {
+.card-header {
display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: center;
- align-items: stretch;
+ justify-content: space-between;
+ align-items: center;
+ padding-bottom: 0px;
+ margin-top: 8px;
+ padding-top: 0px;
+ border: none;
+}
+
+.card-label {
+ color: #ffa300;
+ font-weight: bold;
+ letter-spacing: 1.5px;
+ line-height: 1.2;
+ margin-bottom: 0;
+}
+
+.card-footer {
+ margin-top: 6px;
+ font-weight: 500;
+ color: #ff9900;
+ font-size: 1.07em;
+ display: flex;
+ align-items: center;
gap: 8px;
- width: 100%;
- max-width: 100%;
- overflow-x: hidden;
+ background: none;
+ border: none;
+ padding-top: 0;
+ margin-bottom: 6;
}
-.conn-actions > form, .peers-conn-actions > form {
- flex: 0 1 auto;
- width: auto;
- min-width: 0;
- margin: 0;
+
+.card-body {
+ margin-top: 0;
+ margin-bottom: 4;
+ padding: 0;
+}
+
+.card-field {
display: flex;
+ align-items: baseline;
+ padding: 0;
+ margin-bottom: 0;
+ border: none;
+ background: none;
}
-.pm-info-table, .pm-info-table tbody,
-.block-info-table, .block-info-table tbody {
- display: block;
- width: 100%;
- max-width: 100%;
- border: 0;
- background: transparent;
- box-shadow: none;
- table-layout: auto;
-}
-.pm-info-table thead, .block-info-table thead { display: none; }
-.pm-info-table tr, .block-info-table tr {
- display: block;
- width: 100%;
- box-sizing: border-box;
- border: 0;
- border-bottom: 1px solid rgba(255,215,0,0.18);
- border-radius: 0;
- margin: 0 0 8px 0;
- padding: 6px 0;
- background: transparent;
-}
-.pm-info-table td, .block-info-table td {
- display: block;
- width: 100%;
- max-width: 100%;
- box-sizing: border-box;
- border: 0;
- background: transparent;
- padding: 1px 0;
- text-align: left;
- overflow-wrap: break-word;
- word-break: normal;
+.card-tags {
+ margin: 5px 0 3px 0;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 9px;
}
-.pm-info-table td.card-label, .block-info-table td.card-label {
- color: var(--c-muted, #8c8c8c);
- font-size: 11px;
- font-weight: 700;
- text-transform: uppercase;
- letter-spacing: .03em;
- margin-bottom: 2px;
- padding-bottom: 0;
+
+
+a.user-link, button.user-link {
+ background-color: #FFA500;
+ color: #000;
+ padding: 8px 16px;
+ border-radius: 5px;
+ text-align: center;
+ font-weight: bold;
+ text-decoration: none;
+ display: inline-block;
+ border: 2px solid transparent;
+ transition: background-color 0.3s, color 0.3s, border-color 0.3s;
+ font-size: 0.8em;
}
-.pm-info-table td.card-value, .block-info-table td.card-value {
+
+a.user-link:hover, button.user-link:hover {
+ background-color: #FFD700;
+ border-color: #FFD700;
+ color: #000;
+ cursor: pointer;
+}
+
+a.user-link:focus, button.user-link:focus {
+ background-color: #007B9F;
+ border-color: #007B9F;
+ color: #fff;
+}
+
+.date-link {
+ background-color: #444;
+ color: #FFD600;
+ padding: 8px 16px;
+ border-radius: 5px;
+ margin-left: 8px;
+}
+
+.date-link:hover {
+ background-color: #555;
+ color: #FFD700;
+}
+
+.activitySpreadInhabitant2 {
+ background-color: #007B9F;
+ color: #fff;
+ padding: 8px 16px;
+ border-radius: 5px;
+ font-weight: bold;
+ text-decoration: none;
+ display: inline-block;
+ border: 2px solid transparent;
+}
+
+.activityVotePost {
+ background-color: #557d3b;
+ color: #fff;
+ padding: 8px 16px;
+ border-radius: 5px;
+ font-weight: bold;
+ text-decoration: none;
+ display: inline-block;
+ border: 2px solid transparent;
+}
+html {
+ -webkit-text-size-adjust: 100%;
+ box-sizing: border-box;
+ overflow-x: hidden !important;
+}
+
+*, *::before, *::after {
+ box-sizing: inherit;
+}
+
+body {
font-size: 15px;
- line-height: 1.5;
+ overflow-x: hidden;
+ max-width: 100vw;
+}
+
+img,
+video,
+canvas,
+iframe,
+table {
+ max-width: 100% !important;
+}
+
+pre,
+code {
+ white-space: pre-wrap !important;
+ word-break: break-word !important;
+ overflow-wrap: anywhere !important;
+}
+
+.header {
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ padding: 4px !important;
+ gap: 4px !important;
+ overflow: visible !important;
+}
+
+.header-content {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ padding: 2px !important;
+ gap: 4px !important;
+ overflow: visible !important;
+}
+
+.top-bar-left,
+.top-bar-mid,
+.top-bar-right {
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ align-items: stretch !important;
+ gap: 6px !important;
+}
+
+.top-bar-left nav ul,
+.top-bar-mid nav ul,
+.top-bar-right nav ul {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ gap: 6px !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ overflow: visible !important;
+}
+
+.top-bar-left nav ul li,
+.top-bar-mid nav ul li,
+.top-bar-right nav ul li {
+ margin: 0 !important;
+}
+
+.top-bar-left nav ul li a,
+.top-bar-mid nav ul li a,
+.top-bar-right nav ul li a {
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ padding: 6px 8px !important;
+ font-size: 0.9rem !important;
+ white-space: nowrap !important;
+}
+
+.search-input,
+.feed-search-input,
+.activity-search-input {
+ width: 100% !important;
+ max-width: 100% !important;
+ min-width: 0 !important;
+ height: 40px !important;
+ font-size: 16px !important;
+}
+
+.main-content {
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ gap: 12px !important;
+}
+
+.sidebar-left,
+.sidebar-right,
+.main-column {
+ width: 100% !important;
+ max-width: 100% !important;
+ min-width: 0 !important;
+ padding: 10px !important;
+ border-left: none !important;
+ border-right: none !important;
+}
+
+.sidebar-left {
+ order: 1 !important;
+}
+
+.main-column {
+ order: 3 !important;
+}
+
+.sidebar-right {
+ order: 2 !important;
+}
+
+.sidebar-left nav ul,
+.sidebar-right nav ul {
+ display: flex !important;
+ flex-direction: column !important;
+}
+
+.oasis-nav-header {
+ font-size: 0.85rem !important;
+}
+
+.oasis-nav-list li a {
+ font-size: 0.9rem !important;
+ padding: 8px 12px !important;
+}
+
+button,
+input[type="submit"],
+input[type="button"],
+.filter-btn,
+.create-button,
+.edit-btn,
+.delete-btn,
+.join-btn,
+.leave-btn,
+.buy-btn {
+ min-height: 44px !important;
+ font-size: 16px !important;
+ white-space: normal !important;
+ text-align: center !important;
+}
+
+.feed-row,
+.comment-body-row,
+table {
+ display: block !important;
+ width: 100% !important;
+ overflow-x: auto !important;
+}
+
+textarea,
+input,
+select {
+ width: 100% !important;
+ max-width: 100% !important;
+ font-size: 16px !important;
+}
+
+.gallery {
+ display: grid !important;
+ grid-template-columns: 1fr 1fr !important;
+ gap: 8px !important;
+}
+
+footer,
+.footer {
+ display: block !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ padding: 12px !important;
+ overflow-x: auto !important;
+}
+
+footer div {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 8px !important;
+}
+
+h1 { font-size: 1.35em !important; }
+h2 { font-size: 1.2em !important; }
+h3 { font-size: 1em !important; }
+
+.small,
+.time {
+ font-size: 0.8rem !important;
+}
+
+.created-at {
+ display: block !important;
+ width: 100% !important;
+ white-space: normal !important;
+ word-break: break-word !important;
+ overflow-wrap: anywhere !important;
+ line-height: 1.5 !important;
+ font-size: 0.8rem !important;
+}
+
+.header-content .created-at {
+ display: block !important;
+ flex: 1 1 100% !important;
+ min-width: 0 !important;
+ max-width: 100% !important;
+}
+
+.post-meta,
+.feed-post-meta,
+.feed-row .small,
+.feed-row .time,
+.feed-row .created-at {
+ display: block !important;
+ width: 100% !important;
+ white-space: normal !important;
+ word-break: break-word !important;
+ overflow-wrap: anywhere !important;
+ line-height: 1.4 !important;
+}
+
+.post-meta,
+.feed-post-meta {
+ flex-direction: column !important;
+ gap: 4px !important;
+}
+
+.mode-buttons,
+.mode-buttons-cols,
+.mode-buttons-row,
+.filter-group,
+.activity-filter-grid,
+.activity-sub-filter,
+.bank-range-tabs,
+.filters .ui-toolbar {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ gap: 6px !important;
+ overflow-x: hidden !important;
+ overflow-y: visible !important;
+ grid-template-columns: none !important;
+ box-sizing: border-box !important;
+}
+
+.mode-buttons .column,
+.mode-buttons > div,
+.activity-filter-col {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ width: auto !important;
+ gap: 6px !important;
+ flex: 1 1 auto !important;
+}
+
+.mode-buttons form,
+.filter-group form,
+.activity-filter-col form {
+ width: auto !important;
+ flex: 0 0 auto !important;
+ scroll-snap-align: start !important;
+}
+
+.mode-buttons .filter-btn,
+.mode-buttons button,
+.filter-group .filter-btn,
+.filter-group button,
+.activity-filter-grid .filter-btn,
+.activity-filter-grid button,
+.activity-sub-filter .filter-btn,
+.filters .filter-btn,
+.filters button {
+ width: auto !important;
+ flex: 0 0 auto !important;
+ white-space: nowrap !important;
+ min-width: 0 !important;
+}
+
+.inhabitant-card {
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ overflow: hidden !important;
+}
+
+.inhabitant-left {
+ width: 100% !important;
+ text-align: center !important;
+}
+
+.inhabitant-details {
+ width: 100% !important;
+}
+
+.inhabitant-photo,
+.inhabitant-photo-details {
+ max-width: 200px !important;
+ margin: 0 auto !important;
+}
+
+.inhabitants-list,
+.inhabitants-grid {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 10px !important;
+}
+
+.tribe-card {
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ overflow: hidden !important;
+}
+
+.tribe-grid {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 10px !important;
+ grid-template-columns: 1fr !important;
+}
+
+.tribes-list,
+.tribes-grid {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 10px !important;
+}
+
+.tribe-card-image {
+ width: 100% !important;
+ max-width: 100% !important;
+}
+
+.forum-card {
+ flex-direction: column !important;
+}
+
+.forum-score-col,
+.forum-main-col,
+.root-vote-col {
+ width: 100% !important;
+}
+
+.forum-header-row {
+ flex-direction: column !important;
+ gap: 4px !important;
+}
+
+.forum-meta {
+ flex-wrap: wrap !important;
+ gap: 8px !important;
+}
+
+.forum-thread-header {
+ flex-direction: column !important;
+}
+
+.forum-comment {
+ margin-left: 0 !important;
+ padding-left: 8px !important;
+}
+
+.comment-body-row {
+ flex-direction: column !important;
+}
+
+.comment-vote-col,
+.comment-text-col {
+ width: 100% !important;
+}
+
+.forum-score-box,
+.forum-score-form {
+ flex-direction: row !important;
+ justify-content: center !important;
+}
+
+.new-message-form textarea,
+.comment-textarea {
+ width: 100% !important;
+}
+
+[style*="grid-template-columns: repeat(6"] {
+ grid-template-columns: 1fr !important;
+}
+
+[style*="grid-template-columns: repeat(3"] {
+ grid-template-columns: 1fr !important;
+}
+
+[style*="grid-template-columns:repeat(6"] {
+ grid-template-columns: 1fr !important;
+}
+
+[style*="grid-template-columns:repeat(3"] {
+ grid-template-columns: 1fr !important;
+}
+
+[style*="grid-template-columns: repeat(auto-fit"] {
+ grid-template-columns: 1fr !important;
+}
+
+[style*="grid-template-columns:repeat(auto-fit"] {
+ grid-template-columns: 1fr !important;
+}
+
+[style*="width:50%"] {
+ width: 100% !important;
+}
+
+.update-banner {
+ background-color: #1a1400;
+ border-bottom-color: #3a2e00;
+ color: #FFD700;
+}
+
+.update-banner-link {
+ color: #FFD700;
+}
+
+.snh-invite-code {
+ color: #FFA500 !important;
+}
+
+.stats-kpi-label {
+ color: #ffa300 !important;
+}
+
+.stats-kpi-value {
+ color: #FFD700 !important;
+}
+
+.carbon-bar-note,
+.carbon-bar-formula {
+ color: #FFD700 !important;
+}
+
+.graphos-node-label {
+ fill: #ddd !important;
+}
+
+.graphos-node-label-me {
+ fill: #5dade2 !important;
+}
+
+.graphos-legend {
+ color: #ddd !important;
+}
+
+.oasis-nav-side-toggle {
+ position: absolute !important;
+ width: 1px !important;
+ height: 1px !important;
+ opacity: 0 !important;
+ pointer-events: none !important;
+}
+
+.header {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ justify-content: center !important;
+ gap: 8px !important;
+ padding: 8px !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+}
+
+.header .top-bar-left,
+.header .top-bar-right,
+.header .top-bar-mid,
+.header .top-bar-center {
+ display: contents !important;
+}
+
+.header .top-bar-left a.logo-icon {
+ order: 1 !important;
+ flex: 1 1 100% !important;
+ display: flex !important;
+ justify-content: center !important;
+ margin: 0 0 4px 0 !important;
+}
+
+.oasis-mobile-menus {
+ order: 2 !important;
+ display: flex !important;
+ flex: 1 1 auto !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ align-items: center !important;
+ gap: 8px !important;
+}
+
+.oasis-menu-btn {
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ gap: 4px !important;
+ min-height: 42px !important;
+ padding: 6px 12px !important;
+ border: 1px solid #FFD700 !important;
+ border-radius: 8px !important;
+ background: #161616 !important;
+ color: #FFD700 !important;
+ font-weight: 600 !important;
+ font-size: 0.85rem !important;
+ text-decoration: none !important;
+ white-space: nowrap !important;
+ cursor: pointer !important;
+}
+.oasis-menu-btn .oasis-menu-ico { font-size: 1.05rem !important; }
+
+.room-item .mailing-archive-head {
+ flex-direction: column !important;
+ flex-wrap: nowrap !important;
+ align-items: stretch !important;
+ gap: 8px !important;
+}
+.room-item .mailing-archive-head > .content-actions {
+ order: -1 !important;
+ align-self: flex-end !important;
+}
+.room-item .mailing-archive-meta {
+ width: 100% !important;
+ flex: 1 1 auto !important;
+ align-items: center !important;
+ gap: 6px !important;
+}
+.room-item .mailing-archive-meta > .pm-exposition-chip,
+.room-item .mailing-archive-meta > span {
+ white-space: nowrap !important;
+ flex: 0 0 auto !important;
+ width: auto !important;
+}
+.card-section .card-field.activity-room-title {
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ justify-content: flex-start !important;
+ gap: 8px !important;
+}
+.card-section .card-field.activity-room-title > .card-value {
+ text-align: left !important;
+}
+.oasis-pager-sizes {
+ flex: 1 1 100% !important;
+ margin-right: 0 !important;
+}
+.room-live-controls .room-refresh-btn {
+ font-size: 16px !important;
+ min-height: 44px !important;
+}
+
+.oasis-menu-slot {
+ display: inline-flex !important;
+}
+.oasis-menu-slot .oasis-menu-close {
+ display: none !important;
+}
+#nav-left-toggle:checked ~ .header .oasis-menu-slot-left .oasis-menu-open,
+#nav-right-toggle:checked ~ .header .oasis-menu-slot-right .oasis-menu-open {
+ display: none !important;
+}
+#nav-left-toggle:checked ~ .header .oasis-menu-slot-left .oasis-menu-close,
+#nav-right-toggle:checked ~ .header .oasis-menu-slot-right .oasis-menu-close {
+ display: inline-flex !important;
+ background: #FFD700 !important;
+ color: #161616 !important;
+}
+
+.header .top-bar-left nav {
+ order: 3 !important;
+ flex: 1 1 100% !important;
+ width: 100% !important;
+}
+.header .top-bar-right nav {
+ order: 4 !important;
+ flex: 1 1 100% !important;
+ width: 100% !important;
+}
+.header .top-bar-left nav ul,
+.header .top-bar-right nav ul,
+.header .top-bar-mid nav ul {
+ display: grid !important;
+ grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
+ gap: 6px !important;
+ overflow: visible !important;
+ list-style: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.header .top-bar-left nav ul li,
+.header .top-bar-right nav ul li,
+.header .top-bar-mid nav ul li {
+ width: 100% !important;
+ margin: 0 !important;
+}
+.header .top-bar-left nav ul li,
+.header .top-bar-right nav ul li { margin: 0 !important; }
+.header .top-bar-left nav ul li a,
+.header .top-bar-right nav ul li a {
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ gap: 4px !important;
+ width: 100% !important;
+ min-height: 42px !important;
+ box-sizing: border-box !important;
+ padding: 6px 4px !important;
+ font-size: 0.78rem !important;
+ line-height: 1.15 !important;
+ text-align: center !important;
+ white-space: normal !important;
+ overflow-wrap: break-word !important;
+ hyphens: auto !important;
+ border: 1px solid #FFD700 !important;
+ border-radius: 8px !important;
+ background: #161616 !important;
+ color: #FFD700 !important;
+ text-decoration: none !important;
+ font-weight: 600 !important;
+}
+.header a,
+.header a:link,
+.header a:visited {
+ text-decoration: none !important;
+}
+.header .top-bar-left nav ul li a .inbox-badge {
+ color: #fff !important;
+}
+
+.main-content {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 10px !important;
+}
+.main-content .main-column { order: 0 !important; }
+.main-content .sidebar-left,
+.main-content .sidebar-right {
+ display: none !important;
+}
+#nav-left-toggle:checked ~ .main-content .sidebar-left,
+#nav-right-toggle:checked ~ .main-content .sidebar-right {
+ display: block !important;
+ order: -1 !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ background: #0d0d0d !important;
+ border: 1px solid #FFD700 !important;
+ border-radius: 10px !important;
+ padding: 8px !important;
+ margin: 0 0 8px 0 !important;
+}
+.sidebar-left nav ul,
+.sidebar-right nav ul {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 4px !important;
+ list-style: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+.activity-filter-grid,
+.activity-filters,
+.activity-sub-filter,
+.bank-range-tabs,
+.filters .ui-toolbar {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ align-items: flex-start !important;
+ gap: 6px !important;
+ overflow-x: hidden !important;
+ grid-template-columns: none !important;
+ scroll-snap-type: none !important;
+ width: 100% !important;
+ max-width: 100% !important;
+}
+.activity-filter-col {
+ display: flex !important;
+ flex: 1 1 100% !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ gap: 6px !important;
+ width: 100% !important;
+ max-width: 100% !important;
+}
+.activity-filter-grid form,
+.activity-filter-col form,
+.activity-sub-filter form {
+ flex: 0 1 auto !important;
+ scroll-snap-align: none !important;
+ width: auto !important;
+}
+.activity-filter-grid .filter-btn,
+.activity-filter-col .filter-btn {
+ width: auto !important;
+ min-width: 0 !important;
+ white-space: nowrap !important;
+}
+
+.oasis-footer,
+.oasis-footer-center {
+ overflow-x: hidden !important;
+ max-width: 100% !important;
+}
+.oasis-footer-center span,
+.oasis-footer-center a {
+ overflow-wrap: anywhere !important;
+ word-break: break-all !important;
+ max-width: 100% !important;
+}
+
+a:not([class]),
+a.mention,
+a.hashtag {
+ color: #FFD700 !important;
+ text-decoration: underline !important;
+}
+
+.module-locked { opacity: 0.45 !important; }
+.module-locked .input-checkbox { cursor: not-allowed !important; }
+
+.game-row {
+ flex-direction: column !important;
+ align-items: stretch !important;
+}
+.game-row-media,
+.game-row-media img {
+ width: 100% !important;
+ max-width: 100% !important;
+}
+.game-row-body { width: 100% !important; min-width: 0 !important; }
+.game-row-actions { justify-content: center !important; width: 100% !important; }
+.games-grid { grid-template-columns: 1fr !important; }
+
+.profile-sensors-box { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 6px !important; max-width: 100% !important; }
+.profile-sensors-box span { display: block !important; max-width: 100% !important; overflow-wrap: anywhere !important; }
+.larp-sign-block { display: block !important; max-width: 100% !important; overflow: hidden !important; text-align: center !important; }
+.larp-sign-large { max-width: 100% !important; height: auto !important; display: block !important; margin: 0 auto !important; }
+.profile-side-mention { max-width: 100% !important; overflow-wrap: anywhere !important; word-break: break-all !important; }
+.profile-side-mention a, .profile-side-mention strong { max-width: 100% !important; overflow-wrap: anywhere !important; word-break: break-all !important; display: inline-block !important; }
+.inhabitant-stats-box { max-width: 100% !important; overflow: hidden !important; }
+.inhabitant-stats-grid { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 6px !important; max-width: 100% !important; }
+.inhabitant-stat { max-width: 100% !important; overflow-wrap: anywhere !important; }
+.profile-reach { max-width: 100% !important; overflow: hidden !important; text-align: center !important; }
+.feed-card .card-footer { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 6px !important; row-gap: 4px !important; }
+.feed-card .date-link { max-width: 100% !important; overflow-wrap: anywhere !important; font-size: 0.85em !important; padding: 6px 10px !important; }
+
+.data-cohesion-figures { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important; gap: 8px !important; max-width: 100% !important; }
+.data-figure { border: 1px solid rgba(128, 128, 128, .25) !important; border-radius: 8px !important; padding: 8px 6px !important; text-align: center !important; max-width: 100% !important; min-width: 0 !important; }
+.data-figure-value { font-size: 1.2em !important; overflow-wrap: anywhere !important; }
+.data-figure-label { font-size: .7em !important; overflow-wrap: anywhere !important; }
+.data-top-terms { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; max-width: 100% !important; }
+.data-card { max-width: 100% !important; overflow: hidden !important; }
+.data-card-title, .data-card-author { overflow-wrap: anywhere !important; }
+.data-common-row { max-width: 100% !important; }
+.data-search { width: 100% !important; max-width: 100% !important; }
+.data-search input { width: 100% !important; max-width: 100% !important; }
+.data-cohesion { max-width: 100% !important; overflow: hidden !important; }
+.chat-message { max-width: 92% !important; }
+.chat-message.chat-poll { max-width: 97% !important; }
+.data-pair { grid-template-columns: 1fr !important; gap: 6px !important; }
+.data-pair-side { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
+.data-pair-link { max-width: 100% !important; overflow-wrap: anywhere !important; }
+
+.main-content.chatsux-only { padding: 4px !important; }
+.chat-workspace {
+ display: grid !important;
+ grid-template-columns: minmax(92px, 34%) 1fr !important;
+ grid-template-areas: "info info" "list chat" !important;
+ grid-template-rows: min-content 1fr !important;
+ align-content: start !important;
+ gap: 8px !important;
+ min-height: 72vh !important;
+}
+.chat-topics { grid-area: list !important; width: 100% !important; max-width: 100% !important; max-height: none !important; overflow: hidden !important; }
+.chat-topics a { overflow-wrap: anywhere !important; }
+.chat-topics-head { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 6px !important; }
+.chat-topics-head .chat-topics-title-link { overflow-wrap: normal !important; white-space: nowrap !important; }
+.chat-topics-new { padding: 2px 8px !important; font-size: .9em !important; flex-shrink: 0 !important; line-height: 1.4 !important; }
+.chat-workspace-main.chat-workspace-empty { grid-area: chat !important; display: flex !important; align-items: center !important; justify-content: center !important; }
+.chat-workspace-main:not(.chat-workspace-empty) { display: contents !important; }
+.chat-workspace-details { display: contents !important; }
+.chat-workspace-details > .tribe-side {
+ grid-area: info !important;
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 8px !important;
+ padding: 6px 8px !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ border: 1px solid rgba(128, 128, 128, .25) !important;
+ border-radius: 8px !important;
+}
+.chat-workspace-details > .tribe-side .shop-title-row { margin: 0 !important; }
+.chat-workspace-details > .tribe-side .tribe-card-title { font-size: 1em !important; margin: 0 !important; }
+.chat-workspace-details .tribe-detail-image { max-width: 36px !important; max-height: 36px !important; height: auto !important; border-radius: 50% !important; }
+.chat-workspace-details .tribe-info-table { display: none !important; }
+.chat-workspace-details > .tribe-main { grid-area: chat !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
+.chat-list-toggle { display: none !important; }
+.chat-list-hide-btn { display: inline-flex !important; align-items: center !important; padding: 2px 8px !important; border: 1px solid rgba(128, 128, 128, .25) !important; border-radius: 8px !important; cursor: pointer !important; font-size: .8em !important; user-select: none !important; flex-shrink: 0 !important; }
+.chat-list-show-btn { display: none !important; }
+#chat-list-toggle:checked ~ .chat-list-show-btn { display: inline-flex !important; align-items: center !important; width: fit-content !important; padding: 3px 10px !important; margin: 0 0 6px 0 !important; border: 1px solid rgba(128, 128, 128, .25) !important; border-radius: 8px !important; cursor: pointer !important; font-size: .8em !important; user-select: none !important; }
+#chat-list-toggle:checked ~ .chat-workspace { grid-template-columns: 1fr !important; grid-template-areas: "info" "chat" !important; }
+#chat-list-toggle:checked ~ .chat-workspace .chat-topics { display: none !important; }
+.chat-workspace-details > .tribe-side > div,
+.chat-workspace-details > .tribe-side > form {
+ display: inline-flex !important; flex-direction: row !important; flex-wrap: wrap !important;
+ align-items: center !important; gap: 6px !important;
+ background: transparent !important; border: none !important; box-shadow: none !important;
+ padding: 0 !important; margin: 0 !important; width: auto !important; min-width: 0 !important;
+}
+.chat-workspace-details > .tribe-side div { background: transparent !important; border: none !important; box-shadow: none !important; }
+.chat-workspace-details > .tribe-side > .tribe-detail-image { order: -2 !important; }
+.chat-workspace-details > .tribe-side > .shop-title-row { order: -1 !important; }
+.chat-workspace-details > .tribe-side .tribe-side-actions form, .chat-workspace-details > .tribe-side .inline-form { display: inline-flex !important; margin: 0 !important; }
+.chat-workspace-details > .tribe-side .tribe-action-btn { padding: 3px 10px !important; font-size: .85em !important; }
+.chat-workspace-details > .tribe-side .card-label { margin: 0 !important; }
+.chat-workspace-details > .tribe-side .tribe-members-count { font-size: .85em !important; }
+.chat-workspace-details > .tribe-side { padding: 4px 8px !important; }
+.chat-workspace-details > .tribe-side .card-chips-row,
+.chat-workspace-details > .tribe-side .tribe-side-tags,
+.chat-workspace-details > .tribe-side .tribe-open-invite,
+.chat-workspace-details > .tribe-side .housing-status-row > span { display: none !important; }
+.chat-workspace-details > .tribe-side .tribe-card-title { font-size: .95em !important; }
+.chat-workspace-details > .tribe-side .tribe-action-btn { padding: 2px 8px !important; font-size: .8em !important; }
+.chat-workspace-details > .tribe-side .card-header { display: none !important; }
+.chat-workspace-details > .tribe-side .tribe-detail-image { display: inline-block !important; max-width: 28px !important; max-height: 28px !important; width: auto !important; height: auto !important; border-radius: 50% !important; order: -3 !important; }
+.chat-workspace-details > .tribe-side > .shop-title-row { order: -2 !important; }
+.chat-workspace-details > .tribe-side .tribe-card-description { order: -1 !important; margin: 2px 0 0 0 !important; font-size: .8em !important; opacity: .85 !important; white-space: normal !important; overflow: visible !important; text-overflow: unset !important; max-width: 100% !important; flex-basis: 100% !important; }
+.chat-workspace-details > .tribe-side .tribe-card-members { flex-basis: 100% !important; font-size: .85em !important; }
+.chat-topic { display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important; }
+.chat-topic-thumb { width: 28px !important; height: 28px !important; border-radius: 50% !important; object-fit: cover !important; flex-shrink: 0 !important; }
+.chat-topic-title { flex: 1 1 auto !important; min-width: 0 !important; }
+.chat-topic-meta { flex-basis: 100% !important; font-size: .75em !important; opacity: .7 !important; }
+.chat-topics { min-width: 0 !important; justify-content: flex-start !important; gap: 2px !important; padding: 6px !important; }
+.chat-topic { padding: 6px 6px !important; min-height: 0 !important; }
+.chat-topic-title { white-space: normal !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; font-size: .85em !important; font-weight: 600 !important; color: #ddd !important; }
+.chat-topic-active .chat-topic-title { color: #ffa300 !important; }
+.chat-topic-meta { display: none !important; }
+.chat-topics-head { padding: 2px 4px !important; }
+.chat-topics-title-link { font-size: .95em !important; }
+.chat-list-hide-btn { color: #ffa300 !important; font-size: 1em !important; line-height: 1.2 !important; padding: 2px 9px !important; }
+.chat-topic-meta { display: block !important; flex-basis: 100% !important; font-size: .7em !important; color: #ffa300 !important; opacity: .9 !important; }
+.chat-topic-last { flex-basis: 100% !important; font-size: .75em !important; color: #999 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; min-width: 0 !important; max-width: 100% !important; }
+.chat-workspace-details > .tribe-side .tribe-card-members { font-size: .9em !important; color: #ffa300 !important; font-weight: bold !important; }
+.chat-workspace-details > .tribe-side .tribe-action-btn { padding: 1px 7px !important; font-size: .75em !important; }
+.chat-topic-last-author { font-weight: bold !important; color: #bbb !important; }
+.chat-topic { display: grid !important; grid-template-columns: 32px minmax(0, 1fr) !important; grid-auto-rows: min-content !important; column-gap: 8px !important; row-gap: 2px !important; align-items: center !important; padding: 6px !important; }
+.chat-topic-thumb { grid-column: 1 !important; grid-row: 1 / span 2 !important; width: 32px !important; height: 32px !important; }
+.chat-topic-title { grid-column: 2 !important; grid-row: 1 !important; line-height: 1.25 !important; }
+.chat-topic-meta { grid-column: 2 !important; grid-row: 2 !important; }
+.chat-topic-last { grid-column: 1 / -1 !important; grid-row: 3 !important; display: block !important; }
+.chat-workspace { grid-template-columns: minmax(140px, 42%) 1fr !important; }
+.chat-topic { display: grid !important; grid-template-columns: 38px minmax(0, 1fr) !important; grid-template-rows: auto auto auto !important; column-gap: 8px !important; row-gap: 1px !important; align-items: center !important; padding: 6px !important; }
+.chat-topic-thumb { grid-column: 1 !important; grid-row: 1 / span 3 !important; width: 38px !important; height: 38px !important; align-self: center !important; }
+.chat-topic-title { grid-column: 2 !important; grid-row: 1 !important; display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; font-size: .85em !important; font-weight: 700 !important; color: #eee !important; }
+.chat-topic-meta { grid-column: 2 !important; grid-row: 2 !important; display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; font-size: .7em !important; }
+.chat-topic-last { grid-column: 2 !important; grid-row: 3 !important; display: block !important; font-size: .75em !important; }
+.chat-workspace-list .chat-list-hide-btn { display: none !important; }
+.chat-topics-new { min-width: auto !important; min-height: auto !important; width: auto !important; height: auto !important; padding: 2px 10px !important; line-height: 1.3 !important; font-size: 1em !important; }
+.chat-topic-last { font-size: .7em !important; }
+.chat-topic-last-author { font-size: 1em !important; }
+.chat-workspace-list .chat-workspace { grid-template-columns: 1fr !important; grid-template-areas: "list" !important; }
+.chat-workspace-list .chat-workspace-empty { display: none !important; }
+.chat-workspace-list .chat-topics { border: none !important; background: transparent !important; }
+.chat-topic-title { color: #ffa300 !important; }
+.chat-topic-last-author { color: #ffa300 !important; }
+.chat-topic-last-author { color: #ffdd44 !important; }
+.chat-topic-meta { color: #ffdd44 !important; }
+.chat-topic-last-author { color: #ddd !important; }
+.chat-jump-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; }
+#chat-list-toggle:checked ~ .chat-workspace .chat-list-show-btn { display: inline-flex !important; align-items: center !important; padding: 3px 10px !important; border: 1px solid rgba(128, 128, 128, .25) !important; border-radius: 8px !important; cursor: pointer !important; font-size: .8em !important; user-select: none !important; }
+.chat-workspace-section:has(.chat-jump-row) > .chat-list-show-btn { display: none !important; }
+.chat-workspace-details > .tribe-side .tribe-action-btn { padding: 1px 6px !important; font-size: .7em !important; }
+.chat-workspace { grid-template-columns: 1fr !important; grid-template-areas: "info" "chat" !important; }
+.chat-back-btn { text-decoration: none !important; }
+.chat-workspace-details .tribe-card-description { white-space: normal !important; overflow: visible !important; text-overflow: unset !important; max-width: 100% !important; flex-basis: 100% !important; margin: 2px 0 0 0 !important; font-size: .8em !important; opacity: .85 !important; }
+
+.relationship-actions { display: flex !important; flex-direction: column !important; gap: 6px !important; width: 100% !important; }
+.relationship-actions form { width: 100% !important; margin: 0 !important; display: block !important; }
+.relationship-actions .filter-btn { width: 100% !important; white-space: nowrap !important; }
+.inhabitant-activity-group { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 4px !important; width: 100% !important; }
+.inhabitant-last-activity { text-align: center !important; }
+.profile-sensors-box { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; }
+.profile-sensors-box > * { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
+.feed-row { align-items: center !important; }
+.refeed-column { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 4px !important; }
+.refeed-column h1 { margin: 0 !important; }
+.feed-card .card-footer { justify-content: center !important; align-items: center !important; text-align: center !important; }
+.invite-qr-card { border: none !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; margin: 8px auto !important; display: flex !important; justify-content: center !important; width: fit-content !important; }
+.invite-qr-img { display: block !important; margin: 0 auto !important; }
+.stats-kpi { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; gap: 8px !important; width: 100% !important; }
+.stats-kpi-label { text-align: left !important; margin: 0 !important; }
+.stats-kpi-value { text-align: right !important; margin: 0 !important; }
+audio, video { max-width: 100% !important; }
+.main-column audio { width: 100% !important; display: block !important; }
+.chat-workspace-details > .tribe-side .housing-status-row:not(:has(form)) { display: none !important; }
+.buy-btn { display: block !important; width: 100% !important; padding: 10px 16px !important; font-size: 1.05em !important; font-weight: bold !important; background: #ffa300 !important; color: #111 !important; border: none !important; border-radius: 8px !important; text-align: center !important; margin: 8px auto 4px auto !important; cursor: pointer !important; }
+.chat-messages-list { gap: 3px !important; }
+.chat-messages-list > div, .chat-bubble-row { margin: 0 !important; padding: 0 !important; }
+.chat-message { margin: 0 !important; }
+.chat-message p { margin: 0 !important; }
+.chat-day-separator { margin: 8px 0 2px 0 !important; }
+.module-table { width: 100% !important; table-layout: fixed !important; border-collapse: collapse !important; }
+.module-table td:first-child, .module-table th:first-child { width: 27% !important; }
+.module-table td:last-child, .module-table th:last-child { width: 19% !important; text-align: center !important; }
+.module-table th { white-space: nowrap !important; font-size: .9em !important; }
+.module-table td:first-child a { white-space: normal !important; word-break: keep-all !important; overflow-wrap: normal !important; hyphens: none !important; }
+.module-table td, .module-table th { padding: 8px 6px !important; vertical-align: middle !important; }
+.module-table td:nth-child(2) p { font-size: .85em !important; margin: 0 !important; }
+.pdf-canvas-wrap { height: auto !important; max-height: 70vh !important; overflow: auto !important; }
+.pdf-viewer-container { padding: 8px !important; }
+.pdf-viewer-container .pdf-controls { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: center !important; align-items: center !important; margin-top: 8px !important; }
+.pdf-viewer-container button { font-size: 1em !important; padding: 7px 10px !important; min-width: 42px !important; }
+.pdf-viewer-container span { margin: 0 4px !important; }
+.pdf-viewer-container { margin-bottom: 8px !important; }
+.pdf-maximized { position: fixed !important; inset: 0 !important; z-index: 9999 !important; margin: 0 !important; border-radius: 0 !important; background: #111 !important; display: flex !important; flex-direction: column !important; padding: 6px !important; overflow: hidden !important; }
+.pdf-maximized .pdf-canvas-wrap { flex: 1 1 auto !important; max-height: none !important; height: auto !important; overflow: auto !important; }
+.pdf-maximized .pdf-controls { flex-shrink: 0 !important; margin: 6px 0 !important; }
+.pdf-maximized-body { overflow: hidden !important; }
+
+.main-content .feed-workspace { display: flex !important; flex-direction: column !important; gap: 10px !important; }
+.feed-workspace .feed-side { display: block !important; position: static !important; }
+.feed-workspace .feed-side-left { order: 1 !important; }
+.feed-workspace .feed-side-right { order: 2 !important; }
+.feed-workspace .feed-workspace-center { order: 3 !important; }
+.feed-workspace .feed-side-users { flex-direction: row !important; overflow-x: auto !important; gap: 12px !important; padding: 2px 0 6px 0 !important; }
+.feed-workspace .feed-side-user { flex-direction: column !important; flex: 0 0 auto !important; width: 64px !important; align-items: center !important; gap: 4px !important; }
+.feed-workspace .feed-side-avatar { width: 44px !important; height: 44px !important; }
+.feed-workspace .feed-side-user a { font-size: .65em !important; max-width: 62px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
+.feed-workspace .feed-side-box { padding: 8px 10px !important; }
+.feed-workspace .feed-side-title { font-size: .85em !important; margin: 0 0 6px 0 !important; }
+.feed-card .feed-row { display: flex !important; flex-direction: column !important; gap: 6px !important; align-items: stretch !important; }
+.feed-card .refeed-column { order: 2 !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 10px !important; align-items: center !important; justify-content: center !important; }
+.feed-card .refeed-column h1 { font-size: 1.1em !important; margin: 0 !important; }
+.feed-card .refeed-column .muted { font-size: .7em !important; margin: 0 !important; }
+.feed-card .refeed-btn { padding: 4px 14px !important; font-size: .85em !important; width: auto !important; }
+.feed-card .feed-main { order: 1 !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
+.feed-card .feed-main h2 { font-size: .85em !important; }
+.feed-card .date-link { font-size: .7em !important; padding: 2px 6px !important; }
+.feed-sides-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin: 8px 0 !important; align-items: start !important; width: 100% !important; }
+.feed-sides-row .feed-side { display: block !important; position: static !important; width: 100% !important; min-width: 0 !important; }
+.feed-sides-row .feed-side-box { padding: 8px !important; width: 100% !important; box-sizing: border-box !important; }
+.feed-sides-row .feed-side-title { font-size: .8em !important; margin: 0 0 6px 0 !important; }
+.feed-sides-row .feed-side-users { display: flex !important; flex-direction: column !important; gap: 6px !important; overflow: visible !important; padding: 0 !important; }
+.feed-sides-row .feed-side-user { flex-direction: row !important; width: 100% !important; gap: 6px !important; align-items: center !important; }
+.feed-sides-row .feed-side-avatar { width: 24px !important; height: 24px !important; }
+.feed-sides-row .feed-side-user a { font-size: .75em !important; max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
+.feed-sides-row .feed-side-tags { gap: 4px !important; }
+.feed-sides-row .tag-link { font-size: .75em !important; }
+.feed-card { padding: 8px !important; }
+.feed-card .activity-card-header { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
+.feed-card .card-section { padding: 4px !important; margin: 0 !important; }
+.feed-card .feed-card-body { padding: 4px !important; }
+.feed-card .feed-main { padding: 0 !important; width: 100% !important; }
+.feed-card .feed-text { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
+.feed-card .refeed-column { justify-content: center !important; align-items: center !important; gap: 10px !important; margin: 4px 0 0 0 !important; }
+.feed-card .refeed-column h1 { font-size: 1.5em !important; margin: 0 !important; padding: 6px 16px !important; border: 1px solid rgba(128, 128, 128, .35) !important; border-radius: 8px !important; line-height: 1 !important; }
+.feed-card .refeed-column .muted { font-size: .75em !important; }
+.feed-card .card-footer { gap: 4px !important; margin: 4px 0 0 0 !important; }
+.feed-card .card-footer a { font-size: .75em !important; padding: 2px 8px !important; }
+.feed-card .date-link { font-size: .7em !important; padding: 2px 6px !important; }
+.feed-card .activity-card-header { justify-content: flex-end !important; gap: 4px !important; margin-bottom: 4px !important; }
+.feed-card .activity-card-header button, .feed-card .activity-card-header a { width: 34px !important; height: 34px !important; min-width: 34px !important; padding: 4px !important; font-size: .9em !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
+.feed-card .feed-main h2 { text-align: center !important; margin: 6px 0 2px 0 !important; }
+.feed-card .card-footer { justify-content: center !important; flex-wrap: nowrap !important; }
+.feed-card .date-link { display: inline-flex !important; align-items: center !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: 55% !important; font-size: .65em !important; }
+.feed-card .card-footer a { max-width: 42% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; display: inline-block !important; }
+.feed-card .card-engage { display: flex !important; flex-direction: column !important; gap: 4px !important; margin-top: 6px !important; }
+.feed-card .card-engage summary { padding: 6px 10px !important; font-size: .85em !important; min-height: 0 !important; }
+.feed-card .card-engage details, .feed-card .card-engage .comments-link { padding: 0 !important; margin: 0 !important; }
+.feed-card .comments-link { padding: 6px 10px !important; font-size: .85em !important; display: block !important; text-align: center !important; }
+.feed-card .card-footer { flex-wrap: wrap !important; justify-content: center !important; max-width: 100% !important; }
+.feed-card .date-link { white-space: normal !important; overflow: visible !important; text-overflow: unset !important; max-width: 100% !important; font-size: .75em !important; }
+.feed-card .card-footer a { max-width: 100% !important; white-space: normal !important; overflow: visible !important; overflow-wrap: anywhere !important; }
+.feed-card .refeed-column { border: 1px solid rgba(128, 128, 128, .3) !important; border-radius: 8px !important; padding: 8px !important; width: 100% !important; box-sizing: border-box !important; }
+.feed-card { overflow: hidden !important; }
+.feed-card .refeed-column { flex-wrap: wrap !important; }
+.feed-card .refeed-column .muted { flex-basis: 100% !important; text-align: center !important; margin: 4px 0 0 0 !important; }
+.feed-card .card-engage summary, .feed-card .comments-link { min-height: 40px !important; padding: 8px 10px !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: .85em !important; }
+.comments-collapse .comments-inline-form { display: flex !important; flex-direction: column !important; gap: 6px !important; padding: 8px !important; }
+.comments-collapse textarea { width: 100% !important; box-sizing: border-box !important; margin: 0 !important; }
+.comments-collapse .filter-btn { width: auto !important; align-self: center !important; padding: 6px 18px !important; }
+.comments-collapse .comments-view-all { display: block !important; text-align: center !important; padding: 6px !important; font-size: .8em !important; }
+.comments-collapse .comment-form { display: flex !important; flex-direction: column !important; gap: 6px !important; width: 100% !important; }
+.comments-collapse .comment-textarea { width: 100% !important; box-sizing: border-box !important; margin: 0 !important; }
+.comments-collapse .comment-file-upload { display: flex !important; flex-direction: column !important; gap: 4px !important; width: 100% !important; }
+.comments-collapse .comment-file-upload input { width: 100% !important; box-sizing: border-box !important; margin: 0 !important; }
+.comments-collapse .comment-form-title { font-size: .9em !important; margin: 4px 0 !important; }
+.comments-collapse .comment-submit-btn { align-self: center !important; padding: 6px 20px !important; }
+.comments-collapse .vote-comments-section { padding: 8px !important; }
+.feed-card .refeed-column h1 { min-height: 44px !important; min-width: 44px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 16px !important; font-size: 1.3em !important; box-sizing: border-box !important; }
+.feed-card .refeed-btn { min-height: 44px !important; box-sizing: border-box !important; display: inline-flex !important; align-items: center !important; }
+.feed-card .refeed-column h1, .feed-card .refeed-column .refeed-btn { height: 48px !important; min-height: 48px !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; vertical-align: middle !important; }
+.feed-card .refeed-column form { margin: 0 !important; display: inline-flex !important; align-items: center !important; }
+.school-lessons { width: 100% !important; padding: 8px !important; box-sizing: border-box !important; }
+.school-lesson { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; padding: 8px !important; margin: 0 0 8px 0 !important; }
+.school-lesson-header { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 6px !important; width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: none !important; }
+.school-lesson-header h3 { margin: 0 !important; flex: 1 1 auto !important; min-width: 0 !important; font-size: 1em !important; }
+.school-lesson-header h3 a { display: block !important; width: 100% !important; overflow-wrap: anywhere !important; }
+.school-lesson > p { width: 100% !important; max-width: 100% !important; margin: 6px 0 !important; padding: 0 !important; }
+.school-lesson-meta { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; width: 100% !important; max-width: 100% !important; padding: 4px 0 0 0 !important; margin: 0 !important; background: transparent !important; border: none !important; font-size: .8em !important; opacity: .8 !important; }
+.school-lesson-meta span { white-space: normal !important; overflow-wrap: anywhere !important; }
+.school-teacher-panel { width: 100% !important; box-sizing: border-box !important; padding: 8px !important; }
+.school-teacher-panel input, .school-teacher-panel textarea, .school-teacher-panel select { width: 100% !important; box-sizing: border-box !important; }
+textarea, select, input:not([type="checkbox"]):not([type="radio"]) { width: 100% !important; box-sizing: border-box !important; }
+.create-tribe-form { width: 100% !important; box-sizing: border-box !important; padding: 8px !important; }
+.create-tribe-form form { width: 100% !important; }
+.tribe-card { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
+.tribe-card-body { width: 100% !important; box-sizing: border-box !important; padding: 8px !important; }
+.filter-box { width: 100% !important; box-sizing: border-box !important; }
+.filter-box__input { width: 100% !important; }
+
+.main-content { padding: 6px !important; gap: 8px !important; }
+.main-column { padding: 4px !important; }
+.tribe-details { padding: 8px !important; gap: 12px !important; }
+.tribe-side, .tribe-main { padding: 10px !important; width: 100% !important; box-sizing: border-box !important; }
+.feed-container, [class*="-module-section"] { padding: 8px !important; }
+.trending-card { padding: 10px !important; margin: 0 0 10px 0 !important; }
+.card-section { padding: 8px !important; }
+.main-column section { padding-left: 0 !important; padding-right: 0 !important; }
+.card-section-action { padding: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; justify-content: center !important; }
+.card-section-action .keep-reading-link { margin: 6px auto !important; }
+
+.bank-range-tabs .filter-btn,
+.tribe-mode-buttons .filter-btn, .ui-toolbar--filters .filter-btn, .mode-buttons .filter-btn, .mode-buttons-row .filter-btn, .mode-buttons-cols .filter-btn, .filters .filter-btn, .inhabitant-action .filter-btn, .activity-filter-grid .filter-btn, .activity-filter-col .filter-btn, .activity-sub-filter .filter-btn {
+ min-height: 0 !important;
+ height: auto !important;
+ font-size: .75em !important;
+ padding: 2px 9px !important;
+ border: 1px solid #555 !important;
+ border-radius: 12px !important;
+ background: transparent !important;
+ color: inherit !important;
+ line-height: 1.5 !important;
+ font-weight: normal !important;
+}
+.bank-range-tabs .filter-btn.active,
+.tribe-mode-buttons .filter-btn.active, .ui-toolbar--filters .filter-btn.active, .mode-buttons .filter-btn.active, .mode-buttons-row .filter-btn.active, .mode-buttons-cols .filter-btn.active, .filters .filter-btn.active, .inhabitant-action .filter-btn.active, .activity-filter-grid .filter-btn.active, .activity-filter-col .filter-btn.active, .activity-sub-filter .filter-btn.active {
+ background: #ffa300 !important;
+ border-color: #ffa300 !important;
+ color: #111 !important;
+ font-weight: bold !important;
+}
+.tribe-mode-buttons .create-button, .ui-toolbar--filters .create-button, .mode-buttons .create-button, .mode-buttons-row .create-button, .filters .create-button {
+ min-height: 0 !important;
+ height: auto !important;
+ font-size: .75em !important;
+ padding: 2px 10px !important;
+ border: 1px solid #ffcc00 !important;
+ border-radius: 12px !important;
+ background: #ffcc00 !important;
+ color: #111 !important;
+ font-weight: bold !important;
+ line-height: 1.5 !important;
+}
+.tribe-mode-buttons, .ui-toolbar--filters, .mode-buttons, .mode-buttons-row, .mode-buttons-cols, .filters, .inhabitant-action {
+ gap: 5px !important;
+ margin-top: 8px !important;
+}
+
+.tags-header.module-header-line, .tags-header.activity-header-line {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 4px 10px !important;
+ padding: 8px 10px !important;
+}
+.module-header-line h2, .activity-header-line h2 { margin: 0 !important; flex: 0 0 auto !important; }
+.module-header-line p, .activity-header-line p { margin: 0 !important; flex: 1 1 auto !important; min-width: 0 !important; font-size: .85em !important; }
+.module-header-line .pm-exposition-chip, .module-header-line .pm-exposition-chip-link, .activity-header-line .pm-exposition-chip, .activity-header-line .pm-exposition-chip-link {
+ margin-left: auto !important;
+ flex: 0 0 auto !important;
+}
+.filter-box button, .filter-box .filter-box__button, .filter-box input[type="submit"] {
+ min-height: 0 !important;
+ height: 32px !important;
+ width: auto !important;
+ flex: 0 0 auto !important;
+ font-size: .85em !important;
+ padding: 0 14px !important;
+ border-radius: 4px !important;
+ border: 1px solid rgba(255, 255, 255, 0.12) !important;
+ background: rgba(255, 255, 255, 0.16) !important;
+ color: inherit !important;
+ font-weight: normal !important;
+}
+
+.module-header-line + .shop-title-row, .activity-header-line + .shop-title-row {
+ display: flex !important;
+ justify-content: flex-end !important;
+ width: 100% !important;
+ margin: 0 !important;
+ padding: 0 10px !important;
+}
+
+.feed-card .card-footer {
+ flex-direction: column !important;
+ align-items: stretch !important;
+ gap: 4px !important;
+ width: 100% !important;
+}
+.feed-card .card-footer .date-link,
+.feed-card .card-footer .user-link {
+ display: block !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+ min-height: 40px !important;
+ height: auto !important;
+ margin: 0 !important;
+ padding: 8px 12px !important;
+ font-size: 14px !important;
+ line-height: 24px !important;
+ text-align: center !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ white-space: nowrap !important;
+}
+.feed-card .card-footer .user-link > * {
+ display: inline !important;
+ max-width: 100% !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ white-space: nowrap !important;
+}
+.feed-card .card-footer .user-link {
+ font-weight: bold !important;
+}
+.update-download-link {
+ display: inline-block !important;
+ flex: 1 1 100% !important;
+ width: auto !important;
+ max-width: fit-content !important;
+ margin: 14px 0 12px 0 !important;
+ padding: 11px 18px !important;
+ background: #FFA500 !important;
+ border: 0 !important;
+ border-radius: 6px !important;
+ color: #000000 !important;
+ font-size: 14px !important;
+ font-weight: bold !important;
+ text-align: left !important;
+ text-decoration: none !important;
+ white-space: nowrap !important;
+}
+.update-banner {
+ justify-content: flex-start !important;
+ gap: 10px !important;
+ padding: 8px 12px !important;
+ text-align: left !important;
+}
+.update-banner:not(.welcome-banner) {
+ padding-right: 44px !important;
+}
+.update-banner .update-banner-icon {
+ flex: 0 0 24px !important;
+ width: 24px !important;
+ text-align: center !important;
+}
+.update-banner .update-banner-text {
+ flex: 1 1 auto !important;
+ min-width: 0 !important;
+}
+.update-banner .update-banner-link {
+ flex: 0 0 auto !important;
+ margin-left: auto !important;
+ text-align: right !important;
+ white-space: nowrap !important;
+}
+.update-banner .welcome-banner-close {
+ flex: 0 0 auto !important;
+ margin-left: 0 !important;
+}
+.update-banner.ai-suggestion-banner {
+ gap: 6px !important;
+}
+.update-banner.ai-suggestion-banner .update-banner-icon {
+ flex: 0 0 auto !important;
+ width: auto !important;
+}
+.update-banner.ai-suggestion-banner .update-banner-link {
+ flex: 1 1 auto !important;
+ margin-left: 0 !important;
+ min-width: 0 !important;
+ text-align: left !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+}
+.wallet-error-actions {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ gap: 10px !important;
+ margin: 4px 0 !important;
+ padding: 2px !important;
+ border: 0 !important;
+ background: none !important;
+ box-shadow: none !important;
+}
+.wallet-error-actions .update-download-link {
+ flex: 0 0 auto !important;
+ margin: 0 !important;
+}
+.update-download-link.wallet-settings-link {
+ background: transparent !important;
+ border: 1px solid #FFA500 !important;
+ color: #FFA500 !important;
+ padding: 10px 17px !important;
+}
+.wallet-history,
+.bank-info-table {
+ display: table !important;
+ width: 100% !important;
+ table-layout: fixed !important;
+ border-collapse: collapse !important;
+}
+.wallet-history th,
+.wallet-history td,
+.bank-info-table th,
+.bank-info-table td {
+ padding: 8px 6px !important;
+ font-size: 13px !important;
+ letter-spacing: normal !important;
+ word-break: normal !important;
+ overflow-wrap: normal !important;
+ vertical-align: middle !important;
+}
+.wallet-history th:nth-child(1), .wallet-history td:nth-child(1) { display: none !important; }
+.wallet-history th:nth-child(2), .wallet-history td:nth-child(2) { width: 33% !important; }
+.wallet-history th:nth-child(3), .wallet-history td:nth-child(3) { width: 39% !important; }
+.wallet-history th:nth-child(4), .wallet-history td:nth-child(4) { width: 28% !important; text-align: right !important; }
+.wallet-history td.tcell-ellipsis {
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ white-space: nowrap !important;
+}
+.bank-summary {
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+ box-shadow: none !important;
+}
+.bank-info-table th:first-child,
+.bank-info-table td:first-child {
+ width: 54% !important;
+ font-weight: bold !important;
+}
+.bank-info-table td:last-child {
+ text-align: right !important;
+}
+.bank-allocs,
+.bank-allocs tbody,
+.bank-allocs tr,
+.bank-allocs td,
+.bank-epochs,
+.bank-epochs tbody,
+.bank-epochs tr,
+.bank-epochs td {
+ display: block !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.bank-allocs thead,
+.bank-epochs thead {
+ display: none !important;
+}
+.bank-allocs tr,
+.bank-epochs tr {
+ margin: 0 0 8px 0 !important;
+ padding: 10px !important;
+ border: 1px solid #444444 !important;
+ border-radius: 6px !important;
+ background: #222222 !important;
+}
+.bank-allocs td,
+.bank-epochs td {
+ padding: 3px 0 !important;
+ border: 0 !important;
+ background: none !important;
+ font-size: 13px !important;
+ white-space: normal !important;
+ text-align: left !important;
+}
+.bank-allocs td:last-child,
+.bank-epochs td:last-child {
+ padding: 8px 1px 1px 1px !important;
+ overflow: visible !important;
+}
+.bank-allocs td form,
+.bank-epochs td form {
+ display: inline-block !important;
+}
+.wallet-history .pm-exposition-chip {
+ white-space: nowrap !important;
+ font-size: .78em !important;
+ padding: 2px 7px !important;
+ gap: 3px !important;
+}
+.wallet-qr-img {
+ display: block !important;
+ width: 100% !important;
+ max-width: 280px !important;
+ height: auto !important;
+ margin: 0 auto !important;
+}
+.wallet-section {
+ padding: 12px !important;
+}
+.wallet-section > h2 {
+ margin: 14px 0 6px 0 !important;
+ color: #FFA300 !important;
+ font-size: 15px !important;
+}
+.wallet-section > h2:first-child {
+ margin-top: 0 !important;
+}
+.wallet-section .wallet-address,
+.wallet-section .div-center {
+ margin: 0 !important;
+ padding: 12px !important;
+}
+.wallet-section .wallet-address h2.element {
+ display: block !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ font-family: monospace !important;
+ font-size: 13px !important;
+ letter-spacing: 0 !important;
+ line-height: 1.4 !important;
+ text-align: center !important;
+ white-space: normal !important;
+ word-break: break-all !important;
+ overflow-wrap: anywhere !important;
+ overflow: visible !important;
+}
+.wallet-section .wallet-address {
+ overflow: visible !important;
+}
+.wallet-section .div-center > h2 {
+ margin: 0 !important;
+ font-size: 22px !important;
+ text-align: center !important;
+}
+.wallet-section .div-center + .div-center {
+ margin-top: 12px !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+ box-shadow: none !important;
+}
+.wallet-form-button-group-center {
+ display: flex !important;
+ gap: 8px !important;
+ width: 100% !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+ box-shadow: none !important;
+ box-sizing: border-box !important;
+}
+.wallet-form-button-group-center form {
+ flex: 1 1 0 !important;
+ min-width: 0 !important;
+ margin: 0 !important;
+}
+.wallet-form-button-group-center button {
+ width: 100% !important;
+}
+.bank-eco-chart-zoom-link {
+ display: block !important;
+ width: 100% !important;
+}
+.bank-eco-chart-lightbox .bank-eco-chart-canvas-zoom {
+ flex: 0 0 auto !important;
+ width: 96vh !important;
+ max-width: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+ box-shadow: none !important;
+ overflow: visible !important;
+ transform: rotate(90deg) !important;
+}
+.bank-eco-chart-lightbox .bank-eco-chart-svg {
+ display: block !important;
+ width: 96vh !important;
+ height: auto !important;
+ max-height: 96vw !important;
+}
+.bank-eco-chart-lightbox .lightbox-close {
+ top: 40px !important;
+ right: 12px !important;
+ z-index: 2 !important;
+}
+.bank-eco-chart-lightbox .bank-eco-chart-canvas-zoom {
+ position: relative !important;
+ z-index: 1 !important;
+}
+.subscription-actions .tribe-action-btn {
+ white-space: nowrap !important;
+ font-size: .8em !important;
+ padding: 4px 10px !important;
+ width: auto !important;
+ min-height: 0 !important;
+ height: 32px !important;
+}
+.subscription-actions .btn-pm {
+ min-height: 0 !important;
+ height: 32px !important;
+ width: 32px !important;
+ padding: 0 !important;
+ font-size: 14px !important;
+}
+.bank-addresses .delete-btn {
+ display: block !important;
+ width: 100% !important;
+ margin: 0 !important;
+}
+.bank-addresses,
+.bank-addresses tbody,
+.bank-addresses tr,
+.bank-addresses td {
+ display: block !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.bank-addresses thead {
+ display: none !important;
+}
+.bank-addresses tr {
+ margin: 0 0 8px 0 !important;
+ padding: 10px !important;
+ border: 1px solid #444444 !important;
+ border-radius: 6px !important;
+ background: #222222 !important;
+}
+.bank-addresses td {
+ padding: 3px 0 !important;
+ border: 0 !important;
+ background: none !important;
+ font-size: 13px !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ white-space: nowrap !important;
+}
+.bank-addresses td:nth-child(2) {
+ font-family: monospace !important;
+}
+.bank-addresses td:last-child {
+ padding: 8px 1px 1px 1px !important;
+ overflow: visible !important;
+ white-space: normal !important;
+}
+.bank-addresses td a,
+.bank-addresses td .user-link {
+ display: inline !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+ color: #FFA300 !important;
+ font-size: 13px !important;
+}
+.bank-addresses {
+ border: 0 !important;
+ background: none !important;
+}
+.bank-addresses .row-actions,
+.bank-addresses .addr-del {
+ overflow: visible !important;
+ padding: 1px !important;
+}
+.bank-range-tabs {
+ gap: 6px !important;
+ justify-content: flex-start !important;
+ margin: 0 0 10px 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+}
+.bank-range-tabs .filter-btn {
+ width: auto !important;
+ flex: 0 0 auto !important;
+ text-decoration: none !important;
+}
+.ubi-pub-summary .bank-info-table td {
+ white-space: normal !important;
+ overflow-wrap: anywhere !important;
+}
+.ubi-pub-summary .bank-info-table td.card-value {
+ width: auto !important;
+ text-align: right !important;
+}
+.ubi-pub-card,
+.ubi-pub-summary,
+.addr-card {
+ overflow: visible !important;
+ max-width: 100% !important;
+}
+.addr-cards {
+ display: block !important;
+}
+.addr-cards .addr-card {
+ margin: 0 0 12px 0 !important;
+}
+.pm-info-table,
+.pm-info-table tbody,
+.pm-info-table tr,
+.pm-info-table td {
+ display: block !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.pm-info-table tr {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 6px !important;
+ border-bottom: 1px solid #333 !important;
+}
+.pm-info-table td {
+ border: 0 !important;
+ padding: 4px 6px !important;
+ font-size: 13px !important;
+ width: auto !important;
+}
+.pm-info-table td.card-label {
+ flex: 0 0 auto !important;
+ opacity: .8 !important;
+}
+.pm-info-table td.card-value {
+ flex: 1 1 auto !important;
+ min-width: 0 !important;
+ overflow-wrap: anywhere !important;
+}
+.pm-card .pm-title {
+ font-size: 15px !important;
+ margin: 8px 0 !important;
+}
+.pm-actions {
+ gap: 6px !important;
+}
+.pm-actions .pm-btn {
+ padding: 4px 8px !important;
+ font-size: 11px !important;
+}
+.bank-info-table td,
+.tribe-info-table td,
+.larp-info-table td,
+.block-info-table td,
+.pm-info-table td {
+ white-space: normal !important;
+ overflow-wrap: anywhere !important;
+ word-break: break-word !important;
+}
+.invites-used-table td:nth-child(1),
+.invites-used-table td:nth-child(3) {
+ white-space: nowrap !important;
+ overflow-wrap: normal !important;
+ word-break: normal !important;
+}
+.bank-info-table td.card-value,
+.tribe-info-table td.card-value,
+.block-info-table td.card-value {
+ width: auto !important;
+}
+.main-column > *,
+.main-column section,
+.main-column .tags-header,
+.main-column .filters {
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+}
+.main-column img,
+.main-column svg,
+.main-column video,
+.main-column canvas {
+ max-width: 100% !important;
+ height: auto !important;
+}
+.mobile-counters {
+ position: fixed !important;
+ right: 10px !important;
+ bottom: 10px !important;
+ display: flex !important;
+ gap: 6px !important;
+ z-index: 60 !important;
+}
+.mobile-counter {
+ display: inline-flex !important;
+ align-items: center !important;
+ gap: 4px !important;
+ background: #e74c3c !important;
+ color: #fff !important;
+ border-radius: 14px !important;
+ padding: 5px 10px !important;
+ font-weight: 700 !important;
+ font-size: 0.9rem !important;
+ text-decoration: none !important;
+ box-shadow: 0 2px 6px rgba(0,0,0,.4) !important;
+}
+
+.activity-toolbar-row .inbox-exposition {
+ margin: 0 0 12px 0 !important;
+}
+
+.hemicycle-canvas {
+ position: relative !important;
+}
+.hemi-zoom-link {
+ position: absolute !important;
+ inset: 0 !important;
+ display: block !important;
+ border: 0 !important;
+ background: transparent !important;
+ padding: 0 !important;
+ cursor: zoom-in !important;
+}
+.bank-eco-chart-lightbox .hemicycle-svg {
+ display: block !important;
+ width: 96vh !important;
+ height: auto !important;
+ max-height: 96vw !important;
+}
+.bank-eco-chart-lightbox .hemi-zoom-canvas circle {
+ r: 9 !important;
+}
+
+.inhabitant-card .inhabitant-photo-details {
+ width: 150px !important;
+ height: 150px !important;
+ object-fit: cover !important;
+ border-radius: 50% !important;
+}
+.profile-sensors-box span span {
+ display: inline !important;
+}
+.profile-sensors-box .inhabitant-last-activity {
+ white-space: nowrap !important;
+}
+
+.torrent-table,
+.torrent-table tbody,
+.torrent-table tr,
+.torrent-table td {
+ display: block !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.torrent-table {
+ border: 0 !important;
+ background: transparent !important;
+}
+.torrent-table tr:first-child,
+.torrent-table th {
+ display: none !important;
+}
+.torrent-table tr {
+ margin: 0 0 12px 0 !important;
+ padding: 12px !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ background: #1e1e1e !important;
+}
+.torrent-table td {
+ padding: 3px 0 !important;
+ border: 0 !important;
+ background: none !important;
+ font-size: 13px !important;
+ white-space: normal !important;
+ text-align: left !important;
+ overflow-wrap: anywhere !important;
+ height: auto !important;
+}
+.torrent-table td .user-link {
+ display: inline-block !important;
+ max-width: 100% !important;
+ overflow-wrap: anywhere !important;
+ white-space: normal !important;
+ font-size: 12px !important;
+}
+.torrent-table td.row-chips {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ gap: 4px !important;
+ padding: 0 0 6px 0 !important;
+}
+.torrent-table td.row-title {
+ font-weight: 700 !important;
+}
+.torrent-table td.torrent-spread-cell .spread-form {
+ display: inline-flex !important;
+ vertical-align: middle !important;
+}
+.torrent-table td > form {
+ display: block !important;
+ margin: 6px 0 0 0 !important;
+}
+.torrent-table td > form .filter-btn {
+ width: 100% !important;
+}
+.torrent-table tr {
+ display: flex !important;
+ flex-direction: column !important;
+}
+.torrent-table td.row-actions {
+ order: -1 !important;
+ padding: 0 0 8px 0 !important;
+}
+.torrent-table td.torrent-spread-cell,
+.file-table td.torrent-spread-cell {
+ display: flex !important;
+ align-items: center !important;
+ gap: 6px !important;
+}
+.torrent-table .torrent-card-actions,
+.file-table .torrent-card-actions {
+ display: flex !important;
+ gap: 6px !important;
+ margin: 6px 0 0 0 !important;
+ padding: 0 !important;
+}
+.torrent-table .torrent-card-actions .filter-btn,
+.file-table .torrent-card-actions .filter-btn {
+ flex: 1 1 0 !important;
+}
+
+.stats-grid {
+ display: block !important;
+ width: 100% !important;
+}
+.stats-grid .stats-kpi {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: baseline !important;
+ justify-content: flex-start !important;
+ gap: 6px !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+ padding: 6px 0 !important;
+ margin: 0 !important;
+ border: 0 !important;
+ border-bottom: 1px solid #3a3a3a !important;
+ border-radius: 0 !important;
+ background: none !important;
+ text-align: left !important;
+}
+.stats-grid .stats-kpi:last-child { border-bottom: 0 !important; }
+.stats-grid .stats-kpi .stats-kpi-label {
+ text-align: left !important;
+ width: auto !important;
+ flex: 0 1 auto !important;
+ font-size: 13px !important;
+ margin: 0 !important;
+ color: #FFD700 !important;
+ font-weight: bold !important;
+ letter-spacing: 1.5px !important;
+}
+.stats-grid .stats-kpi .stats-kpi-value {
+ text-align: left !important;
+ width: auto !important;
+ flex: 0 0 auto !important;
+ font-weight: 700 !important;
+ margin: 0 !important;
+}
+.stats-block .stats-toplist {
+ padding-left: 0 !important;
+ margin-left: 0 !important;
+ list-style: none !important;
+}
+.stats-block .stats-toplist li {
+ justify-content: flex-start !important;
+ gap: 8px !important;
+ padding: 5px 0 !important;
+}
+.stats-block .stats-toplist .stats-toplist-name {
+ min-width: 92px !important;
+ text-align: left !important;
+ flex: 0 0 auto !important;
+}
+.stats-block .stats-toplist .stats-bar-track {
+ height: 8px !important;
+ min-height: 0 !important;
+ flex: 1 1 auto !important;
+ align-self: center !important;
+}
+.stats-block .stats-toplist .stats-toplist-num {
+ margin-left: auto !important;
+ text-align: right !important;
+}
+
+.mailing-archive-meta > .user-link,
+.mailing-archive-meta > .forum-category {
+ flex: 0 0 100% !important;
+}
+.mailing-archive-meta > .mailing-counts {
+ flex: 0 1 auto !important;
+ width: auto !important;
+ font-size: .85em !important;
+}
+
+.forum-thread-container {
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+ margin: 0 0 12px 0 !important;
+}
+.forum-thread-container .forum-card {
+ padding: 10px !important;
+ margin: 0 0 10px 0 !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.forum-thread-container .forum-card.forum-thread-header {
+ flex-direction: row !important;
+ flex-wrap: nowrap !important;
+ align-items: stretch !important;
+ gap: 8px !important;
+}
+.forum-thread-header .root-vote-col {
+ flex: 0 0 52px !important;
+ width: 52px !important;
+ padding: 0 !important;
+ border: 0 !important;
+ margin: 0 !important;
+}
+.forum-thread-header .forum-score-box,
+.forum-thread-header .forum-score-form,
+.forum-comment .comment-vote-col .forum-score-box,
+.forum-comment .comment-vote-col .forum-score-form {
+ flex-direction: column !important;
+ justify-content: flex-start !important;
+ align-items: center !important;
+ gap: 2px !important;
+ min-height: 0 !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ width: 100% !important;
+}
+.forum-thread-header .score-btn,
+.forum-comment .score-btn {
+ min-height: 30px !important;
+ padding: 2px 8px !important;
+ font-size: 14px !important;
+}
+.forum-thread-header .score-total,
+.forum-comment .score-total {
+ font-size: 18px !important;
+ padding: 0 !important;
+ min-height: 0 !important;
+}
+.forum-thread-header .forum-main-col {
+ flex: 1 1 auto !important;
+ min-width: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ margin: 0 !important;
+ width: auto !important;
+}
+.forum-card .forum-header-row {
+ align-items: flex-start !important;
+ text-align: left !important;
+}
+.forum-card .forum-header-row,
+.forum-card .forum-body,
+.forum-card .forum-meta,
+.forum-card .forum-footer {
+ padding: 0 !important;
+ border: 0 !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.forum-card .forum-meta {
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ gap: 4px 14px !important;
+}
+.forum-card .forum-footer {
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 6px !important;
+}
+.forum-card .forum-footer .date-link,
+.forum-card .forum-footer .user-link {
+ font-size: .72em !important;
+ padding: 3px 8px !important;
+ text-align: left !important;
+ max-width: 100% !important;
+ overflow-wrap: anywhere !important;
+}
+.main-column .forum-comment .comment-body-row {
+ display: flex !important;
+ overflow-x: visible !important;
+ flex-direction: row !important;
+ flex-wrap: nowrap !important;
+ align-items: flex-start !important;
+ gap: 8px !important;
+}
+.main-column .forum-comment .comment-vote-col {
+ flex: 0 0 52px !important;
+ width: 52px !important;
+}
+.main-column .forum-comment .comment-text-col {
+ flex: 1 1 auto !important;
+ min-width: 0 !important;
+ width: auto !important;
+}
+
+.forum-thread-header .content-actions {
+ width: 100% !important;
+ flex-wrap: wrap !important;
+}
+.content-actions .content-action-delete {
+ order: -1 !important;
+ margin-left: 0 !important;
+ margin-right: auto !important;
+}
+
+.main-column .forum-comment {
+ padding: 8px !important;
+}
+.main-column .forum-comment .comment-header {
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 6px !important;
+ padding: 0 0 6px 0 !important;
+ border: 0 !important;
+}
+.main-column .forum-comment .comment-header .date-link {
+ white-space: nowrap !important;
+ font-size: .72em !important;
+ padding: 3px 8px !important;
+ margin: 0 !important;
+}
+.main-column .forum-comment .comment-header .user-link {
+ font-size: .72em !important;
+ padding: 3px 8px !important;
+ flex: 0 1 auto !important;
+ min-width: 0 !important;
+ max-width: 100% !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ white-space: nowrap !important;
+ text-align: left !important;
+}
+.main-column .forum-comment .comment-header .comment-votes {
+ margin-left: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ display: flex !important;
+ gap: 14px !important;
+ flex: 0 0 100% !important;
+ width: 100% !important;
+ justify-content: flex-start !important;
+ margin: 2px 0 0 0 !important;
+}
+.main-column .forum-comment .comment-text-col > div {
+ padding: 0 !important;
+ border: 0 !important;
+ background: none !important;
+}
+
+.main-column .forum-comment {
+ display: flex !important;
+ flex-direction: column !important;
+}
+.main-column .forum-comment .comment-header {
+ order: 99 !important;
+ padding: 16px 8px 10px 8px !important;
+ margin: 0 !important;
+}
+.main-column .forum-comment .comment-vote-col {
+ padding: 0 !important;
+ align-self: flex-start !important;
+}
+
+.main-column .forum-thread-header .root-vote-col {
+ align-self: stretch !important;
+ display: flex !important;
+}
+.main-column .forum-thread-header .root-vote-col .forum-score-box {
+ height: 100% !important;
+ justify-content: center !important;
+}
+
+.main-column .forum-card .forum-meta {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ justify-content: flex-start !important;
+ gap: 4px 18px !important;
+}
+.main-column .forum-card .forum-meta > .forum-positive-votes,
+.main-column .forum-card .forum-meta > .forum-negative-votes {
+ flex: 0 0 auto !important;
+ order: 0 !important;
+}
+.main-column .forum-card .forum-meta::before {
+ content: "" !important;
+ flex: 0 0 100% !important;
+ height: 0 !important;
+ order: 1 !important;
+}
+.main-column .forum-card .forum-meta > .forum-participants,
+.main-column .forum-card .forum-meta > .forum-messages {
+ flex: 0 0 auto !important;
+ order: 2 !important;
+}
+
+.activity-card-header {
+ align-items: center !important;
+ flex-wrap: nowrap !important;
+ gap: 8px !important;
+}
+.activity-card-header .card-chips-row {
+ flex: 0 1 auto !important;
+ min-width: 0 !important;
+}
+.activity-card-header .content-actions {
+ flex: 0 0 auto !important;
+ margin-bottom: 0 !important;
+ justify-content: flex-end !important;
+ gap: 4px !important;
+}
+.activity-card-header .content-actions .btn-singleview {
+ min-width: 30px !important;
+ width: 30px !important;
+ height: 30px !important;
+ min-height: 30px !important;
+ padding: 0 !important;
+ font-size: 13px !important;
+}
+
+.btn-singleview.btn-content,
+.main-column .content-actions .btn-singleview.btn-content {
+ background: #ffa300 !important;
+ color: #1e1f23 !important;
+ border: 1px solid #ffa300 !important;
+}
+.btn-singleview.btn-content:hover,
+.main-column .content-actions .btn-singleview.btn-content:hover {
+ background: #FFD700 !important;
+ color: #1e1f23 !important;
+ border-color: #FFD700 !important;
+}
+
+.tribe-details.pad-page { padding: 8px !important; gap: 10px !important; }
+.pad-page > .tribe-side { padding: 8px 10px !important; gap: 6px 12px !important; }
+.pad-page > .tribe-side .tribe-info-table { font-size: .85em !important; }
+.pad-page > .tribe-side .tribe-side-actions form, .pad-page > .tribe-side .inline-form { display: inline-flex !important; margin: 0 !important; }
+.pad-page > .tribe-main { padding: 0 !important; border: none !important; background: transparent !important; }
+.pad-workspace { grid-template-columns: 1fr !important; gap: 10px !important; }
+.pad-workspace-main form { margin: 0 !important; }
+.pad-editor { min-height: 45vh !important; font-size: 16px !important; padding: 10px !important; }
+.pad-document { min-height: 30vh !important; padding: 10px !important; }
+.pad-workspace-side { flex-direction: column !important; }
+.pad-history { max-height: 32vh !important; }
+.pad-gutter { padding: 10px 6px 10px 6px !important; font-size: 16px !important; }
+.pad-editor-wrap .pad-editor { min-height: 45vh !important; }
+.pad-member-chip .user-link { max-width: 150px !important; }
+
+.file-table,
+.file-table tbody,
+.file-table tr,
+.file-table td {
+ display: block !important;
+ width: 100% !important;
+ box-sizing: border-box !important;
+}
+.file-table {
+ border: 0 !important;
+ background: transparent !important;
+}
+.file-table tr:first-child,
+.file-table th {
+ display: none !important;
+}
+.file-table tr {
+ margin: 0 0 12px 0 !important;
+ padding: 12px !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ background: #1e1e1e !important;
+}
+.file-table td {
+ padding: 3px 0 !important;
+ border: 0 !important;
+ background: none !important;
+ font-size: 13px !important;
+ white-space: normal !important;
+ text-align: left !important;
+ overflow-wrap: anywhere !important;
+ height: auto !important;
+}
+.file-table td .user-link {
+ display: inline-block !important;
+ max-width: 100% !important;
+ overflow-wrap: anywhere !important;
+ white-space: normal !important;
+ font-size: 12px !important;
+}
+.file-table td.row-chips {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ gap: 4px !important;
+ padding: 0 0 6px 0 !important;
+}
+.file-table td.row-title {
+ font-weight: 700 !important;
+}
+.file-table td.torrent-spread-cell .spread-form {
+ display: inline-flex !important;
+ vertical-align: middle !important;
+}
+.file-table td > form {
+ display: block !important;
+ margin: 6px 0 0 0 !important;
+}
+.file-table td > form .filter-btn {
+ width: 100% !important;
+}
+
+.file-table td[data-label]::before,
+.torrent-table td[data-label]::before {
+ content: attr(data-label) ": " !important;
+ color: #ffa300 !important;
+ font-weight: 600 !important;
+}
+.file-table td:empty,
+.torrent-table td:empty {
+ display: none !important;
+}
+.file-table td .user-link,
+.torrent-table td .user-link {
+ font-size: 10px !important;
+ padding: 2px 6px !important;
+ line-height: 1.25 !important;
+}
+
+body,
+.main-content,
+.main-column,
+.main-column section,
+article {
+ background: #121212 !important;
+ border: 0 !important;
+ box-shadow: none !important;
+}
+.main-column div,
+.main-column section,
+.main-column article {
+ border: 0 !important;
+ box-shadow: none !important;
+}
+.main-column section,
+.main-column article,
+.main-column :is(div:not([class]), [class$="-list"], [class*="-list "], [class$="-grid"], [class*="-grid "], [class$="-wrap"]:not(.pad-editor-wrap), [class*="-wrap "], [class$="-section"], [class*="-section "], [class$="-container"], [class*="-container "], [class$="-header"], [class*="-header "], [class$="-body"], [class*="-body "], [class$="-row"], [class*="-row "], .tribe-side, .tribe-main, .filters, .card-field, .card-engage, .card-footer) {
+ background-color: transparent !important;
+}
+.main-column :is([class$="-card"], [class*="-card "], .card) {
+ background: #1e1e1e !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ padding: 12px !important;
+ margin: 0 0 12px 0 !important;
+ box-shadow: none !important;
+}
+.main-column :is([class$="-card"], [class*="-card "], .card) :is([class$="-card"], [class*="-card "], .card, div:not([class]), [class^="card-"], [class*=" card-"], [class$="-body"], [class*="-body "], [class$="-section"], [class*="-section "], [class$="-row"], [class*="-row "], [class$="-header"], [class*="-header "]) {
+ background: transparent !important;
+ border-radius: 0 !important;
+ margin-left: 0 !important;
+ margin-right: 0 !important;
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+}
+.main-column :is([class$="-card"], [class*="-card "], .card).own-content {
+ box-shadow: inset 3px 0 0 #ffa300 !important;
+}
+
+.header {
+ background: #121212 !important;
+ border: 0 !important;
+ box-shadow: none !important;
+}
+.oasis-mobile-menus {
+ background: transparent !important;
+ border: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.oasis-menu-btn {
+ border: 0 !important;
+ background: #1e1e1e !important;
+ border-radius: 14px !important;
+ min-height: 44px !important;
+ padding: 6px 18px !important;
+}
+body > .header {
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: center !important;
+ gap: 8px 6px !important;
+ padding: 8px 8px 4px !important;
+}
+.header .top-bar-left a.logo-icon {
+ order: 1 !important;
+ flex: 0 0 auto !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.header .top-bar-left a.logo-icon img.logo-icon {
+ width: 44px !important;
+ height: 44px !important;
+ margin: 0 !important;
+}
+.oasis-mobile-menus {
+ flex: 1 1 auto !important;
+ justify-content: flex-end !important;
+ flex-wrap: nowrap !important;
+}
+.header .top-bar-left nav,
+.header .top-bar-right nav {
+ flex: 1 1 calc(50% - 4px) !important;
+ width: auto !important;
+ min-width: 0 !important;
+}
+.header .top-bar-left nav ul,
+.header .top-bar-right nav ul {
+ gap: 4px !important;
+}
+.header .top-bar-left nav ul li a,
+.header .top-bar-right nav ul li a {
+ position: relative !important;
+ min-height: 50px !important;
+ padding: 0 !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ background: #1e1e1e !important;
+ font-size: 0 !important;
+ gap: 0 !important;
+}
+.header .top-bar-left nav ul li a .nav-text,
+.header .top-bar-right nav ul li a .nav-text {
+ display: none !important;
+}
+.header .top-bar-left nav ul li a .emoji,
+.header .top-bar-right nav ul li a .emoji {
+ font-size: 1.6rem !important;
+ line-height: 1 !important;
+ margin: 0 !important;
+}
+.header .top-bar-left nav ul li a .inbox-badge {
+ position: absolute !important;
+ top: 3px !important;
+ right: 3px !important;
+ margin: 0 !important;
+ font-size: 0.66rem !important;
+ line-height: 1.35 !important;
+ padding: 0 4px !important;
+ min-width: 15px !important;
+}
+.oasis-footer {
+ border-top: 0 !important;
+ padding: 0 10px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
+}
+.oasis-footer-center {
+ background: #1e1e1e !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ box-shadow: none !important;
+ padding: 14px 18px !important;
+}
+.oasis-footer .oasis-footer-center {
+ width: 100% !important;
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+}
+.oasis-footer .oasis-footer-center input.oasis-id-copy[readonly] {
+ display: block !important;
+ width: 100% !important;
+ margin: 6px 0 6px 0 !important;
+ padding: 9px 6px !important;
+ border: 0 !important;
+ border-radius: 10px !important;
+ background: #2a2a2a !important;
+ color: #FFD700 !important;
+ font-family: monospace !important;
+ font-size: clamp(8px, 2.5vw, 11px) !important;
+ letter-spacing: 0 !important;
+ text-align: center !important;
+ text-overflow: clip !important;
+}
+.oasis-footer .oasis-id-copy + br,
+.oasis-footer .oasis-footer-logo-link + br {
+ display: none !important;
+}
+.content-actions {
+ flex-wrap: wrap !important;
+ justify-content: flex-end !important;
+ gap: 4px !important;
+ min-width: 0 !important;
+}
+.main-column .content-actions .btn-singleview {
+ background: #2a2a2a !important;
+}
+.main-column .content-actions .btn-singleview.btn-pin-on {
+ background: #ffa300 !important;
+ color: #000 !important;
+}
+.activity-card-header {
+ flex-wrap: wrap !important;
+}
+.activity-card-header .content-actions {
+ flex: 1 1 auto !important;
+}
+.main-column .content-actions .btn-singleview,
+.main-column .activity-card-header .content-actions .btn-singleview {
+ width: 32px !important;
+ min-width: 32px !important;
+ height: 32px !important;
+ min-height: 32px !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ font-size: 14px !important;
+ line-height: 1 !important;
+ border-radius: 50% !important;
+}
+.main-column .content-actions .spread-form .btn-singleview {
+ width: auto !important;
+ padding: 0 10px !important;
+ border-radius: 16px !important;
+}
+.main-column .content-actions .content-action-form,
+.main-column .content-actions .spread-form {
+ margin: 0 !important;
+ padding: 0 !important;
+ display: inline-flex !important;
+}
+.main-column .mailing-archive {
+ padding: 0 !important;
+ margin: 0 !important;
+ list-style: none !important;
+}
+.main-column .mailing-archive-item {
+ background: #1e1e1e !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ padding: 12px !important;
+ margin: 0 0 12px 0 !important;
+}
+.main-column .mailing-archive-head {
+ display: flex !important;
+ flex-direction: column !important;
+ flex-wrap: nowrap !important;
+ align-items: stretch !important;
+ gap: 8px !important;
+ margin: 0 !important;
+}
+.main-column .mailing-archive-head > .content-actions {
+ order: -1 !important;
+ align-self: stretch !important;
+ justify-content: flex-end !important;
+}
+.main-column .mailing-archive-meta > a.user-link:first-child {
+ background: transparent !important;
+ color: #FFD700 !important;
+ border: 0 !important;
+ padding: 0 !important;
+ font-size: 1.15rem !important;
+ font-weight: 700 !important;
+ text-align: left !important;
+ text-decoration: underline !important;
+ display: block !important;
+}
+.main-column .mailing-archive-meta > .forum-category {
+ background: transparent !important;
+ padding: 0 !important;
+}
+.main-column .mailing-archive-meta .tribe-action-btn {
+ background: #ffa300 !important;
+ color: #111 !important;
+ border: 0 !important;
+ border-radius: 10px !important;
+ padding: 8px 16px !important;
+ min-height: 0 !important;
+ font-size: 0.85rem !important;
+ font-weight: 700 !important;
+}
+.main-column section > div:not(:is([class$="-card"], [class*="-card "], .card, .tribe-details)) {
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+}
+.main-column .tribe-details:not(.profile-layout) {
+ background: #1e1e1e !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ padding: 12px !important;
+ margin: 0 0 12px 0 !important;
+ gap: 10px !important;
+}
+.main-column .tribe-details .tribe-side,
+.main-column .tribe-details .tribe-main {
+ background: transparent !important;
+ border: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ box-shadow: none !important;
+}
+.main-column .card-tags {
+ background: transparent !important;
+ padding: 0 !important;
+ margin: 6px 0 !important;
+}
+.main-column .tribe-info-table,
+.main-column .bank-info-table,
+.main-column .block-info-table {
+ border: 0 !important;
+ border-collapse: collapse !important;
+ background: transparent !important;
+ margin: 0 0 10px 0 !important;
+}
+.main-column .tribe-info-table tr,
+.main-column .tribe-info-table td {
+ border: 0 !important;
+ background: transparent !important;
+}
+.main-column .tribe-info-table td.tribe-info-label {
+ padding: 8px 0 2px 0 !important;
+ font-size: 0.75rem !important;
+ color: #ffa300 !important;
+}
+.main-column .tribe-info-table td.tribe-info-value {
+ padding: 0 0 6px 0 !important;
+ border-bottom: 1px solid #2a2a2a !important;
+}
+.main-column .card-engage {
+ grid-template-columns: 1fr 1fr !important;
+ gap: 8px !important;
+}
+.main-column .card-engage .opinions-summary,
+.main-column .card-engage .comments-summary {
+ border: 0 !important;
+ border-radius: 12px !important;
+ background: #2a2a2a !important;
+ padding: 8px 10px !important;
+ min-height: 38px !important;
+}
+.main-column .card-footer {
+ border: 0 !important;
+}
+.main-column .card-title-link {
+ color: inherit !important;
+ text-decoration: underline !important;
+}
+#nav-left-toggle:checked ~ .main-content .sidebar-left,
+#nav-right-toggle:checked ~ .main-content .sidebar-right {
+ background: transparent !important;
+ border: 0 !important;
+ padding: 0 4px !important;
+ margin: 0 0 8px 0 !important;
+}
+.main-content .sidebar-left nav > ul,
+.main-content .sidebar-right nav > ul {
+ gap: 2px !important;
+}
+.main-content .oasis-nav-group {
+ margin: 0 0 6px 0 !important;
+ padding: 0 !important;
+}
+.main-content .oasis-nav-header {
+ border: 0 !important;
+ border-radius: 0 !important;
+ background: transparent !important;
+ margin: 0 !important;
+ padding: 10px 4px 8px !important;
+ font-size: 0.78rem !important;
+ color: #ffa300 !important;
+}
+.main-content .sidebar-left .oasis-nav-list,
+.main-content .sidebar-right .oasis-nav-list {
+ display: grid !important;
+ grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
+ gap: 8px !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.main-content .oasis-nav-header + .oasis-nav-list {
+ margin-top: 0 !important;
+}
+.main-content .oasis-nav-list li {
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 !important;
+ background: transparent !important;
+ min-width: 0 !important;
+}
+.main-content .oasis-nav-list li a {
+ display: flex !important;
+ flex-direction: column !important;
+ align-items: center !important;
+ justify-content: center !important;
+ gap: 6px !important;
+ min-height: 74px !important;
+ height: 100% !important;
+ padding: 8px 4px !important;
+ margin: 0 !important;
+ border: 0 !important;
+ border-radius: 14px !important;
+ background: #1e1e1e !important;
+ color: #FFD700 !important;
+ text-align: center !important;
+ font-size: 0.72rem !important;
+ font-weight: 600 !important;
+ opacity: 1 !important;
+ text-decoration: none !important;
+}
+.main-content .oasis-nav-list li a .emoji {
+ width: auto !important;
+ font-size: 1.5rem !important;
+ line-height: 1 !important;
+}
+.main-content .oasis-nav-list li a .nav-text {
+ line-height: 1.15 !important;
+ overflow-wrap: anywhere !important;
+}
+.main-content .oasis-nav-header {
+ background: #1a1a1a !important;
+ border-radius: 12px !important;
+ padding: 12px !important;
+ margin: 0 0 6px 0 !important;
+}
+.update-banner {
+ border: 0 !important;
+ border-radius: 14px !important;
+ margin: 4px 8px 8px !important;
+}
+.main-column .card-meta-row .opinions-summary,
+.main-column .card-meta-row .comments-summary-link,
+.main-column .card-meta-row .comments-summary {
+ border: 0 !important;
+ border-radius: 10px !important;
+ background: #2a2a2a !important;
+}
+.wallet-line {
+ flex-wrap: nowrap !important;
+ justify-content: center !important;
+ max-width: 100% !important;
+ border: 0 !important;
+ background: transparent !important;
+}
+.wallet-line .wallet-line-head {
+ flex: 0 0 auto !important;
+}
+.wallet-line .wallet-address,
+.wallet-line .wallet-line-link {
+ min-width: 0 !important;
+ font-size: 11px !important;
+ overflow-wrap: anywhere !important;
+ word-break: break-all !important;
+}
+.main-column .invites-pubs-table,
+.main-column .invites-pubs-table tbody,
+.main-column .invites-pubs-table tr,
+.main-column .invites-pubs-table td {
+ display: block !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+ border: 0 !important;
+ background: transparent !important;
+}
+.main-column .invites-pubs-table {
+ overflow: visible !important;
+ margin: 0 0 10px 0 !important;
+}
+.main-column .invites-pubs-table tr:first-child {
+ display: none !important;
+}
+.main-column .invites-pubs-table tr {
+ background: #1e1e1e !important;
+ border-radius: 14px !important;
+ padding: 12px !important;
+ margin: 0 0 10px 0 !important;
+}
+.main-column .invites-pubs-table td {
+ padding: 0 !important;
+ text-align: left !important;
+}
+.main-column .invites-pubs-table td:nth-child(1),
+.main-column .invites-pubs-table td:nth-child(2) {
+ display: inline !important;
+ width: auto !important;
+ font-weight: 700 !important;
+ font-size: 1rem !important;
+ color: #FFD700 !important;
+ overflow-wrap: anywhere !important;
+}
+.main-column .invites-pubs-table td:nth-child(2)::before {
+ content: ":" !important;
+}
+.main-column .invites-pubs-table td:nth-child(3) {
+ margin: 8px 0 0 0 !important;
+}
+.main-column .invites-pubs-table td:nth-child(3) .user-link {
+ display: block !important;
+ font-size: 10px !important;
+ text-align: left !important;
+ word-break: break-all !important;
+ padding: 6px 8px !important;
+}
+.main-column .invites-pubs-table td:nth-child(4) {
+ margin: 8px 0 0 0 !important;
+}
+.main-column .invites-pubs-table td:nth-child(4) button {
+ width: 100% !important;
+}
+.main-column .table-wrap {
+ overflow: visible !important;
+}
+.main-column .table-wrap table.table,
+.main-column .table-wrap table.table tbody,
+.main-column .table-wrap table.table tr,
+.main-column .table-wrap table.table td {
+ display: block !important;
+ width: 100% !important;
+ max-width: 100% !important;
+ box-sizing: border-box !important;
+ border: 0 !important;
+ background: transparent !important;
+ text-align: left !important;
+}
+.main-column .table-wrap table.table thead {
+ display: none !important;
+}
+.main-column .table-wrap table.table tr {
+ background: #1e1e1e !important;
+ border-radius: 14px !important;
+ padding: 12px !important;
+ margin: 0 0 10px 0 !important;
+}
+.main-column .table-wrap table.table td {
+ padding: 3px 0 !important;
+ font-size: 13px !important;
+ overflow-wrap: anywhere !important;
+}
+.main-column .table-wrap table.table td[data-label]::before {
+ content: attr(data-label) ": " !important;
+ color: #ffa300 !important;
+ font-weight: 600 !important;
+}
+.main-column .table-wrap table.table td .user-link {
+ display: inline-block !important;
+ max-width: 100% !important;
+ font-size: 10px !important;
+ padding: 2px 6px !important;
+ word-break: break-all !important;
+}
+.main-column .table-wrap table.table td.table-row-action {
+ padding: 8px 0 0 0 !important;
+}
+.main-column .table-wrap table.table td.table-row-action button {
+ width: 100% !important;
+}
+.main-column .table-wrap table.table td.table-row-action .link-button {
+ background: #ffa300 !important;
+ color: #111 !important;
+ border: 0 !important;
+ border-radius: 10px !important;
+ font-weight: 700 !important;
+ min-height: 42px !important;
+}
+.main-column .housing-grid,
+.main-column .shop-products-grid {
+ display: grid !important;
+ grid-template-columns: minmax(0, 1fr) !important;
+ gap: 12px !important;
+ margin: 12px 0 !important;
+}
+.main-column .tribe-details .shop-product-card {
+ background: #262626 !important;
+ margin: 0 !important;
+ min-width: 0 !important;
+}
+.main-column :is([class$="-card"], [class*="-card "], .card) > * {
+ max-width: 100% !important;
+ min-width: 0 !important;
+ box-sizing: border-box !important;
+}
+.main-column :is(div:not([class]), [class$="-list"], [class*="-list "], [class$="-grid"], [class*="-grid "], [class$="-wrap"], [class*="-wrap "], [class$="-section"]:not(.card-section), [class$="-container"], .tribe-main, .tribe-side) {
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+}
+.main-column .event-card-body .time-chip {
+ display: inline-flex !important;
+ margin: 6px 0 0 0 !important;
+}
+.main-column .pledge-box button.btn {
+ display: block !important;
+ width: 100% !important;
+ padding: 10px 16px !important;
+ font-size: 1.05em !important;
+ font-weight: bold !important;
+ background: #ffa300 !important;
+ color: #111 !important;
+ border: none !important;
+ border-radius: 8px !important;
+ text-align: center !important;
+ margin: 8px auto 4px auto !important;
+ cursor: pointer !important;
+ text-transform: uppercase !important;
+}
+.main-column .calendar-nav {
+ display: flex !important;
+ justify-content: space-between !important;
+ align-items: center !important;
+ gap: 12px !important;
+ padding: 0 !important;
+ margin: 8px 0 !important;
+}
+.main-column .calendar-nav .filter-btn {
+ min-width: 52px !important;
+ font-size: 20px !important;
+ padding: 4px 14px !important;
+}
+.main-column .calendar-nav .tribe-info-label {
+ flex: 1 1 auto !important;
+ text-align: center !important;
+ font-size: 1rem !important;
+}
+.main-column .calendar-grid {
+ grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
+ gap: 4px !important;
+ padding: 0 !important;
+}
+.main-column .calendar-grid .calendar-day-header {
+ padding: 6px 0 !important;
+ text-align: center !important;
+ font-size: 0.85rem !important;
+ border: 0 !important;
+ background: transparent !important;
+}
+.main-column .calendar-grid .calendar-day {
+ padding: 8px 0 !important;
+ margin: 0 !important;
+ text-align: center !important;
+ border-radius: 8px !important;
+ background: #262626 !important;
+ min-width: 0 !important;
+}
+.main-column .calendar-grid .calendar-day-empty {
+ background: transparent !important;
+}
+.main-column .calendar-grid .calendar-day-marked {
+ background: #ffa300 !important;
+}
+.main-column .calendar-grid .calendar-day-marked a {
+ color: #111 !important;
+ font-weight: 700 !important;
+}
+.main-column .graphos-statsbar {
+ margin: 0 0 8px 0 !important;
+}
+.main-column .graphos-canvas .graphos-zoom-btn {
+ min-height: 36px !important;
+ padding: 6px 14px !important;
+ font-size: 13px !important;
+}
+.graphos-lightbox .graphos-canvas-zoom {
+ width: 100vw !important;
+ height: 100vh !important;
+ overflow: auto !important;
+ border: 0 !important;
+ border-radius: 0 !important;
+ padding: 48px 0 0 0 !important;
+ background: #0d0d0d !important;
+}
+.graphos-lightbox .graphos-svg {
+ width: 200vw !important;
+ max-width: none !important;
+ max-height: none !important;
+ height: auto !important;
+ min-height: 0 !important;
+}
+.graphos-lightbox .lightbox-close {
+ position: fixed !important;
+ top: 8px !important;
+ right: 14px !important;
+ z-index: 10001 !important;
+ font-size: 32px !important;
+ color: #FFD700 !important;
+}
+.main-column .pad-document {
+ padding: 8px 8px 8px 0 !important;
+}
+.main-column .pad-lines .pad-line-num {
+ min-width: 0 !important;
+ width: 1% !important;
+ padding: 0 6px 0 4px !important;
+ background: #f1f1f1 !important;
+ border-right: 1px solid #ddd !important;
+}
+.main-column .pad-lines .pad-line-num a,
+.main-column .pad-lines .pad-line-num a:not([class]) {
+ color: #888 !important;
+ text-decoration: none !important;
+ font-size: 13px !important;
+}
+.main-column .pad-lines tr:target .pad-line-num a {
+ color: #c77700 !important;
+ font-weight: 700 !important;
+}
+.main-column .pad-lines .pad-line-text {
+ padding-left: 8px !important;
+ color: #111 !important;
+}
+.main-column .pad-editor-wrap {
+ background: #fff !important;
+ border: 1px solid #ccc !important;
+ border-radius: 10px !important;
+}
+.main-column .pad-editor-wrap .pad-gutter {
+ padding: 10px 6px 10px 4px !important;
+ background: #f1f1f1 !important;
+ color: #888 !important;
+ font-size: 16px !important;
+ line-height: 1.45 !important;
+ border-right: 1px solid #ddd !important;
+}
+.main-column .pad-editor-wrap .pad-editor {
+ line-height: 1.45 !important;
+ padding: 10px 8px !important;
+ color: #111 !important;
+ background: #fff !important;
+ border: 0 !important;
+}
+.main-column .pad-history-item {
+ flex-wrap: nowrap !important;
+ gap: 6px !important;
+ min-width: 0 !important;
+}
+.main-column .pad-history-item .pad-version-link {
+ flex: 0 0 auto !important;
+ font-size: 11px !important;
+ letter-spacing: -0.2px !important;
+}
+.main-column .pad-history-item .user-link {
+ flex: 0 1 auto !important;
+ min-width: 0 !important;
+ max-width: 100% !important;
+ white-space: nowrap !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ font-size: 11px !important;
+ padding: 3px 8px !important;
+}
+.main-column .backup-kit-line {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 2px !important;
+ margin: 0 0 8px 0 !important;
+}
+.main-column .backup-kit-id {
+ font-family: monospace !important;
+ font-size: 9.5px !important;
+ letter-spacing: -0.2px !important;
+ white-space: nowrap !important;
+ overflow-wrap: normal !important;
+ word-break: normal !important;
+}
+.main-column .backup-kit-secret {
+ font-size: 11px !important;
+ line-height: 1.4 !important;
+ padding: 10px !important;
+}
+.main-column .melody-regen-form {
+ display: flex !important;
+ flex-wrap: nowrap !important;
+ gap: 12px !important;
+ align-items: stretch !important;
+ margin: 10px 0 !important;
+}
+.main-column .melody-regen-form > form,
+.main-column .melody-regen-form > a {
+ flex: 1 1 0 !important;
+ margin: 0 !important;
+}
+.main-column .melody-regen-form > form .filter-btn,
+.main-column .melody-regen-form > a.filter-btn {
+ width: 100% !important;
+ height: 46px !important;
+ min-height: 46px !important;
+ margin: 0 !important;
+ box-sizing: border-box !important;
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ text-decoration: none !important;
+}
+.main-column .confirm-actions,
+.main-column .error-page-actions {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ gap: 10px !important;
+ align-items: stretch !important;
+ margin: 12px 0 0 0 !important;
+}
+.main-column .confirm-actions > input[type="hidden"] {
+ display: none !important;
+}
+.main-column .confirm-actions > .create-button,
+.main-column .confirm-actions > .filter-btn,
+.main-column .error-page-actions > .filter-btn {
+ flex: 1 1 0 !important;
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ min-height: 46px !important;
+ margin: 0 !important;
+ padding: 10px 14px !important;
+ background: #ffa300 !important;
+ color: #111 !important;
+ border: 0 !important;
+ border-radius: 10px !important;
+ font-size: 15px !important;
+ font-weight: 700 !important;
+ text-decoration: none !important;
+ text-transform: uppercase !important;
+}
+.main-column .card-section table,
+.main-column [class*="-card"] table:not(.pad-lines) {
+ border: 0 !important;
+ border-collapse: collapse !important;
+ background: transparent !important;
+}
+.main-column [class*="-card"] table:not(.pad-lines) th,
+.main-column [class*="-card"] table:not(.pad-lines) td {
+ border: 0 !important;
+ border-bottom: 1px solid #2a2a2a !important;
+ background: transparent !important;
+}
+.main-column .search-filters-row {
+ padding: 0 !important;
+}
+.main-column .search-filters-table,
+.main-column .search-filters-table tr,
+.main-column .search-filters-table td {
+ border: 0 !important;
+ background: transparent !important;
+}
+.main-column .search-filters-table td {
+ padding: 0 0 6px 0 !important;
+}
+.header .top-bar-left nav,
+.header .top-bar-right nav {
+ background: #161616 !important;
+ border-top: 1px solid #2a2a2a !important;
+}
+.header .top-bar-left nav ul li a,
+.header .top-bar-right nav ul li a {
+ background: transparent !important;
+ min-height: 46px !important;
+ border-radius: 12px !important;
+}
+.header .top-bar-left nav ul li a[aria-current="page"],
+.header .top-bar-right nav ul li a[aria-current="page"] {
+ background: rgba(255, 215, 0, 0.16) !important;
+}
+.main-content .oasis-nav-group > .oasis-nav-header {
+ background: #1e1e1e !important;
+ border-radius: 14px !important;
+ color: #ffa300 !important;
+}
+.main-content .oasis-nav-toggle:checked + .oasis-nav-header {
+ background: rgba(255, 215, 0, 0.18) !important;
+ color: #FFD700 !important;
+}
+.main-content .oasis-nav-group > .oasis-nav-list {
+ background: #181818 !important;
+ border-radius: 14px !important;
+ padding: 8px !important;
+}
+.main-column .content-actions .content-action-form.content-action-delete {
+ order: -1 !important;
+ margin: 0 auto 0 0 !important;
+}
+.main-column .inhabitants-grid {
+ display: grid !important;
+ grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
+ gap: 10px !important;
+}
+.main-column .inhabitants-grid > .inhabitants-card {
+ margin: 0 !important;
+ padding: 10px 8px !important;
+ min-width: 0 !important;
+}
+.main-column .inhabitants-grid .content-actions {
+ justify-content: center !important;
+ gap: 3px !important;
+}
+.main-column .inhabitants-grid .content-actions .btn-singleview {
+ width: 28px !important;
+ min-width: 28px !important;
+ height: 28px !important;
+ min-height: 28px !important;
+ font-size: 12px !important;
+}
+.main-column .inhabitants-grid .inhabitant-card,
+.main-column .inhabitants-grid .inhabitant-left {
+ display: flex !important;
+ flex-direction: column !important;
+ align-items: center !important;
+ gap: 6px !important;
+ width: 100% !important;
+ min-width: 0 !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.main-column .inhabitants-grid .inhabitant-left > a:first-of-type,
+.main-column .inhabitants-grid .inhabitant-photo-details {
+ width: 92px !important;
+ height: 92px !important;
+ min-width: 0 !important;
+ margin: 4px auto 0 !important;
+}
+.main-column .inhabitants-grid .inhabitant-left-name {
+ margin: 0 !important;
+ max-width: 100% !important;
+}
+.main-column .inhabitants-grid .inhabitant-left-name .user-link {
+ display: block !important;
+ max-width: 100% !important;
+ font-size: 11px !important;
+ padding: 4px 8px !important;
+ white-space: nowrap !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+}
+.main-column .inhabitants-grid .profile-sensors-box {
+ display: flex !important;
+ flex-direction: column !important;
+ align-items: stretch !important;
+ gap: 4px !important;
+ width: 100% !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.main-column .inhabitants-grid .profile-sensors-box > span {
+ display: block !important;
+ margin: 0 !important;
+ padding: 3px 4px !important;
+ font-size: 10.5px !important;
+ line-height: 1.3 !important;
+ text-align: center !important;
+ white-space: normal !important;
+ border-radius: 8px !important;
+}
+.main-column .inhabitants-grid .wallet-line {
+ justify-content: center !important;
+ gap: 4px !important;
+ padding: 0 !important;
+ min-width: 0 !important;
+}
+.main-column .inhabitants-grid .wallet-line .wallet-address {
+ font-size: 9px !important;
+ white-space: nowrap !important;
+ overflow: hidden !important;
+ text-overflow: ellipsis !important;
+ word-break: normal !important;
+ overflow-wrap: normal !important;
+ min-width: 0 !important;
+ max-width: 100% !important;
+}
+.main-column .inhabitants-grid .phone-number-line .pm-exposition-chip {
+ font-size: 9px !important;
+ padding: 1px 6px !important;
+}
+.main-column .inhabitants-grid .inhabitant-left-name .status.you {
+ font-size: 11px !important;
+ display: inline-block !important;
+ line-height: 1.3 !important;
+}
+.main-column .inhabitants-grid .inhabitant-card {
+ padding-bottom: 12px !important;
+}
+:where(.main-column) div {
+ margin-bottom: 8px;
+ padding: 0;
+}
+:where(.main-column) p {
+ margin-top: 6px;
margin-bottom: 6px;
}
-
-.block-info-table tr:first-child:has(> td.card-label) { display: none; }
-.block-info-table td[data-label]:not([data-label=""])::before {
- content: attr(data-label);
- display: block;
- color: var(--c-muted, #8c8c8c);
- font-size: 10px;
- font-weight: 700;
- text-transform: uppercase;
- letter-spacing: .03em;
- margin-bottom: 1px;
- white-space: nowrap;
- word-break: normal;
-}
-.block-info-table td[data-label=""]::before { content: none; }
-
-.peers-list .block-info-table td,
-.peers-technical-block .block-info-table td,
-.gov-overview tbody td {
- word-break: normal;
- overflow-wrap: break-word;
-}
-
-.pm-info-table td .user-link, .pm-info-table td .peer-key, .pm-info-table td a[href],
-.block-info-table td .peer-key, .block-info-table td .user-link, .block-info-table td a[href] {
- display: inline-block;
- max-width: 100%;
- overflow-wrap: anywhere;
- word-break: break-all;
-}
-
-.pm-info-table td form, .block-info-table td form,
-.pm-info-table td button, .block-info-table td button {
- width: 100%;
- margin: 0;
-}
-
-.main-content { width: 100%; max-width: 100%; }
-.main-column {
- width: 100%; max-width: 100%;
- padding: 16px; box-sizing: border-box;
-}
-.main-column .card-field {
- flex-direction: column;
- align-items: stretch;
- gap: 2px;
-}
-.main-column .card-field .card-value {
- width: 100%; max-width: 100%; font-size: 15px;
-}
-.main-column .card-field .card-label {
- color: var(--c-muted, #8c8c8c); font-size: 11px;
-}
-.main-column img, .main-column video, .main-column iframe, .main-column canvas {
- max-width: 100%; height: auto;
-}
-.main-column hr {
- width: 100%; border: 0;
- border-top: 1px solid #333; margin: 16px 0;
-}
-
-.activity-filter-acc { width: 100%; margin-bottom: 8px; }
-
-.activity-quick-modes {
- display: flex; flex-wrap: nowrap; gap: 6px; margin-bottom: 8px;
-}
-.activity-quick-modes form { flex: 1 1 0; min-width: 0; margin: 0; display: flex; }
-.activity-quick-modes .filter-btn {
- flex: 1 1 0; width: 100%; min-height: 44px;
- white-space: nowrap; word-break: keep-all; overflow-wrap: normal;
- padding-left: 6px; padding-right: 6px; font-size: 14px;
-}
-
-.activity-groups { list-style: none; padding: 0; margin: 0; }
-
-.activity-groups .oasis-nav-header .emoji { display: none; }
-.activity-groups .oasis-nav-header .nav-text { flex: 1 1 auto; }
-.activity-groups .act-count {
- flex: 0 0 auto; min-width: 20px; text-align: center;
- font-size: 11px; font-weight: 700; color: #121212;
- background: #FFD700; border-radius: 999px; padding: 1px 7px;
- margin: 0 8px 0 0;
-}
-
-.activity-groups .oasis-nav-list li { list-style: none; margin: 0; padding: 0; }
-.activity-groups .oasis-nav-list form { margin: 0; display: block; width: 100%; }
-.activity-groups .oasis-nav-list .filter-btn {
- display: block; width: 100%; text-align: left;
- min-height: 44px; margin: 2px 0; box-sizing: border-box;
-}
-.activity-groups .oasis-nav-list .filter-btn.active {
- outline: 2px solid #FFD700; outline-offset: -2px;
-}
-
-.message-list { display: flex; flex-direction: column; gap: 4px; width: 100%; }
-.message-list .pm-thread { display: flex; flex-direction: column; width: 100%; align-self: stretch; }
-.pm-thread-replies { display: flex; flex-direction: column; gap: 4px; }
-
-.pm-card.pm-bubble {
- max-width: 82%; width: fit-content; min-width: 0;
- box-sizing: border-box; padding: 8px 12px; margin: 2px 0;
- border-radius: 16px; border: 1px solid #333;
- background: #1e1e1e; box-shadow: none; cursor: default;
-}
-
-.pm-card.pm-bubble.pm-recv {
- align-self: flex-start; margin-left: 0; margin-right: auto;
- border-bottom-left-radius: 4px; background: #1e1e1e; border-color: #343434;
-}
-
-.pm-card.pm-bubble.pm-sent {
- align-self: flex-end; margin-left: auto; margin-right: 0;
- border-bottom-right-radius: 4px; background: #2a2413; border-color: #5c4c1f;
-}
-
-.pm-bubble .pm-bubble-sender { font-size: 11px; font-weight: 700; color: #FFD700; margin-bottom: 3px; }
-.pm-bubble .pm-bubble-sender a { color: #FFD700; }
-
-.pm-bubble .message-text { font-size: 15px; line-height: 1.42; color: #FFD700; margin: 0; }
-.pm-bubble .message-text a { color: #FFD700; }
-
-.pm-bubble .pm-bubble-meta {
- display: flex; flex-wrap: wrap; align-items: center;
- gap: 6px; margin-top: 4px; font-size: 10px; color: var(--c-muted, #8c8c8c);
-}
-.pm-card.pm-sent .pm-bubble-meta { justify-content: flex-end; }
-.pm-card.pm-recv .pm-bubble-meta { justify-content: flex-start; }
-.pm-bubble .pm-bubble-subject { font-style: italic; opacity: .75; max-width: 50%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
-.pm-bubble .pm-bubble-lock { opacity: .85; }
-.pm-bubble .pm-bubble-eco { font-size: 9px; opacity: .9; }
-.pm-bubble .pm-bubble-eco * { font-size: 9px; }
-
-.pm-bubble .pm-actions { margin-top: 6px; display: flex; gap: 6px; }
-.pm-card.pm-sent .pm-actions { justify-content: flex-end; }
-.pm-bubble .pm-actions .pm-btn { font-size: 10px; padding: 3px 8px; min-height: 28px; }
-.pm-bubble .pm-actions form { margin: 0; }
-
-.pm-bubble .pm-info-table { display: none; }
-
-.pm-thread .pm-thread-details { width: 100%; }
-.pm-thread .pm-thread-toggle { font-size: 12px; color: var(--c-muted, #8c8c8c); padding: 4px 0; cursor: pointer; }
-
-.main-column h1, .main-column h2, .main-column h3, .main-column h4,
-.tags-header h2, .tags-header h3, .title-with-chip h2, .pm-title, h2.pm-title,
-.cn-name, h1.cn-name, .cn-section, h2.cn-section, .profile-side-name, h2.profile-side-name {
- text-wrap: balance;
- overflow-wrap: break-word;
- word-break: keep-all;
- -webkit-hyphens: none; hyphens: none;
- text-align: left;
-}
-.main-column h1, .tags-header h2, .cn-name {
- font-size: var(--fs-title, 20px); font-weight: 700;
- line-height: 1.22; letter-spacing: -0.01em;
- margin: 0 0 var(--space-2, 8px);
-}
-.main-column h2, .pm-title, .title-with-chip h2, .cn-section {
- font-size: 18px; font-weight: 700;
- line-height: 1.28; margin: var(--space-1, 4px) 0 var(--space-2, 8px);
-}
-.main-column h3 {
- font-size: var(--fs-body-lg, 16px); font-weight: 600;
- line-height: 1.35; margin: var(--space-1, 4px) 0;
-}
-.main-column h1, .main-column h2, .main-column h3,
-.tags-header h2, .pm-title, .cn-name, .cn-section {
- max-width: 40ch; width: auto; min-width: 0;
-}
-
-.main-column h1 code, .main-column h2 code, .main-column h3 code,
-.tags-header h2 code, .pm-title code,
-.main-column h1 a[href*="ed25519"], .main-column h2 a[href*="ed25519"],
-.main-column h1 a[href^="ssb:"], .main-column h2 a[href^="ssb:"] {
- word-break: break-all; overflow-wrap: anywhere;
-}
-
-.main-column .tags-header {
- display: flex; flex-direction: column; align-items: flex-start;
- gap: var(--space-1, 4px); width: 100%; max-width: 100%;
- margin: 0 0 var(--space-2, 8px);
-}
-.main-column .tags-header h2 { margin: 0; }
-
-.main-column .title-with-chip {
- display: flex; flex-wrap: wrap; align-items: center;
- gap: var(--space-2, 8px); width: 100%; max-width: 100%;
-}
-.main-column .title-with-chip h2 { flex: 1 1 auto; min-width: 0; margin: 0; max-width: none; }
-.main-column .title-with-chip > :not(h2) { flex: 0 0 auto; }
-
-.main-column p, .main-column li,
-.tags-header p, .tags-header .prefs-help, .indexing-note, .indexing-percent,
-.error-page-message, .welcome-text, .message-text, .pm-bubble .message-text {
- text-wrap: pretty;
- line-height: 1.55;
- max-width: min(66ch, 100%);
- overflow-wrap: anywhere;
- word-break: normal;
- min-width: 0;
- -webkit-hyphens: none; hyphens: none;
-}
-.main-column p + p { margin-top: var(--space-3, 16px); }
-.tags-header p, .tags-header .prefs-help, .indexing-note { line-height: 1.5; margin: 4px 0 0 0; }
-.pm-bubble .message-text { line-height: 1.45; max-width: 100%; }
-
-[style*="auto-fill"],
-[style*="minmax(240px"], [style*="minmax(280px"], [style*="minmax(300px"],
-[style*="minmax( 240px"], [style*="minmax( 280px"], [style*="minmax( 300px"],
-.trending-container, .cn-hub-grid, .cn-products {
- display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important;
- width: 100% !important; max-width: 100% !important;
-}
-.trending-container > *, .games-grid > *, .market-grid > *, .tribe-grid > *,
-.feed-container, .feed-card, .trending-card,
-.main-column article, .main-column [class*="-card"], .main-column [class*="-item"],
-.main-column [class*="-entry"], .main-column .card {
- width: 100%; max-width: 100%; min-width: 0;
- box-sizing: border-box; margin-left: 0; margin-right: 0;
-}
-.feed-card .feed-text, .trending-card .feed-text,
-.main-column article p, .main-column [class*="-card"] p { max-width: var(--measure, 66ch); }
-.main-column form, .comment-form, .comment-form-wrapper, .market-form,
-.new-message-form, .project-control-form, .filter-box {
- display: block; width: 100%; max-width: 100%;
- min-width: 0; box-sizing: border-box;
-}
-.main-column input:not([type="checkbox"]):not([type="radio"]):not(.oasis-nav-toggle):not(.oasis-nav-side-toggle),
-.main-column textarea, .main-column select {
- width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
-}
-.main-column form > button:only-of-type, .main-column form > .create-button,
-.comment-form button[type="submit"], .market-form button[type="submit"],
-.new-message-form button[type="submit"] {
- display: block; width: 100%; max-width: 100%;
- box-sizing: border-box; margin-top: 8px;
-}
-[style*="width:33%"], [style*="width: 33%"], [style*="width:25%"], [style*="width: 25%"],
-[style*="width:60%"], [style*="width: 60%"], [style*="width:40%"], [style*="width: 40%"] {
- width: 100% !important; max-width: 100% !important;
-}
-.main-column [style*="max-width: 800px"], .main-column [style*="max-width:800px"],
-.ai-response, .ai-train-bar {
- max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
-}
-.message-list, .pm-thread, .pm-thread-replies { width: 100%; max-width: 100%; box-sizing: border-box; }
-
-.main-column p .user-link, .main-column p a[href^="/author/"],
-.main-column li .user-link, .main-column span .user-link,
-.main-column .message-text .user-link, .main-column .message-text a[href^="/author/"],
-.pm-bubble .message-text .user-link, .pm-bubble .message-text a[href^="/author/"],
-.pm-quote a[href^="/author/"] {
- display: inline; white-space: normal;
- overflow-wrap: anywhere; word-break: keep-all;
- -webkit-hyphens: none; hyphens: none;
-}
-
-.peer-key, .user-link.peer-key, .block-info-table td .peer-key, .pm-info-table td .peer-key,
-.pm-info-table td .user-link, .block-info-table td .user-link,
-.search-oasis-id, .pm-sent-key-value, .kpi__value {
- display: inline-block; max-width: 100%;
- overflow-wrap: anywhere; word-break: break-all;
- font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
- font-variant-numeric: tabular-nums; line-height: 1.45;
-}
-
-.oasis-id-copy {
- display: block; width: 100%; white-space: nowrap;
- overflow: hidden; text-overflow: ellipsis;
- font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
-}
-.invites-list .user-link.peer-key, .peers-list .block-info-table td .peer-key {
- display: block; max-width: 100%; white-space: nowrap;
- overflow: hidden; text-overflow: ellipsis; word-break: normal;
-}
-
-.main-column .message-text a[href^="http"], .main-column p a[href^="http"],
-.pm-bubble .message-text a[href^="http"], .main-column .message-text a.oasis-path-link,
-.main-column .message-text a.job-link, .main-column .message-text a.project-link,
-.main-column .message-text a.market-link {
- overflow-wrap: anywhere; word-break: keep-all;
- -webkit-hyphens: none; hyphens: none;
-}
-.main-column code:not(pre code), .pm-bubble .message-text code {
- display: inline; max-width: 100%;
- overflow-wrap: anywhere; word-break: break-word; white-space: pre-wrap;
-}
-
-.main-column .tags-header { margin-bottom: 6px; gap: 2px; }
-.main-column .tags-header h2, .tags-header h2 {
- font-size: 17px; line-height: 1.2; letter-spacing: 0;
-}
-.main-column .tags-header p { font-size: 13px; line-height: 1.35; margin: 0; }
-
-.main-column { padding: 10px 12px 16px 12px; }
-.activity-filter-acc { margin-bottom: 4px; }
-
-.empty-state {
- display: flex; flex-direction: column; align-items: center;
- justify-content: center; text-align: center;
- padding: 40px 16px; gap: 8px; width: 100%; box-sizing: border-box;
-}
-.empty-state-icon { font-size: 44px; line-height: 1; opacity: 0.55; }
-.empty-state-title { font-size: 16px; font-weight: 700; margin: 4px 0 0 0; color: #FFD700; }
-.empty-state-text { color: var(--c-muted, #8c8c8c); font-size: 14px; line-height: 1.4; max-width: 40ch; margin: 0; }
-.empty-state-cta { margin-top: 10px; min-height: 48px; display: inline-flex; align-items: center; }
-
-.activity-filter-collapsed {
- display: flex; align-items: center; gap: 10px;
- flex-wrap: wrap; margin-bottom: 8px; width: 100%;
-}
-.activity-back {
- display: inline-flex; align-items: center; gap: 4px;
- min-height: 44px; padding: 6px 14px 6px 10px; flex: 0 0 auto;
-}
-.activity-back-arrow { font-size: 22px; line-height: 1; font-weight: bold; }
-.activity-active-filter {
- font-weight: 700; color: #FFD700; text-transform: uppercase;
- font-size: 13px; letter-spacing: .03em;
-}
-
-.oasis-bottombar .bb-item { min-height: 48px; }
-.oasis-bottombar .bb-pair .bb-item { min-height: 44px; padding: 4px 10px; }
-.oasis-mobile-menus .oasis-menu-btn { min-height: 48px; }
-.pm-bubble .pm-actions .pm-btn { min-height: 40px; padding: 6px 12px; }
-.score-btn, .vote-btn, .feed-action-btn {
- min-height: 44px; min-width: 44px;
- display: inline-flex; align-items: center; justify-content: center;
-}
-.score-btn:active, .vote-btn:active, .feed-action-btn:active { filter: brightness(.85); }
-
-.oasis-bottombar .bb-add .bb-ico {
- background: #FFD700; color: #121212; border-radius: 999px;
- width: 30px; height: 30px; display: inline-flex;
- align-items: center; justify-content: center;
- font-weight: bold; font-size: 20px; line-height: 1;
-}
-.bb-pick-grid {
- display: grid; grid-template-columns: repeat(3, 1fr);
- gap: 8px; width: 100%; margin-top: 8px;
-}
-.bb-pick-form { margin: 0; display: block; }
-.bb-pick-btn {
- display: flex; flex-direction: column; align-items: center;
- justify-content: center; gap: 6px; width: 100%;
- min-height: 76px; padding: 10px 6px; box-sizing: border-box;
- background: #1c1c1c; border: 1px solid #333; border-radius: 12px; color: #FFD700;
-}
-.bb-pick-btn.active { border-color: #FFD700; background: #2a2412; }
-.bb-pick-ico { font-size: 26px; color: #FFD700; line-height: 1; }
-.bb-pick-lbl { font-size: 11px; text-align: center; line-height: 1.2; }
-
-
-/* Ocultar los checkboxes nativos del drawer (nav-left/right-toggle) — si no, salen 2 cuadrados blancos arriba */
-.oasis-nav-side-toggle {
- position: absolute;
- width: 1px;
- height: 1px;
- opacity: 0;
- pointer-events: none;
- margin: 0;
-}
-
-/* ==========================================================================
- Usabilidad 0.9.1 — Chats estilo Signal + widgets compactos + foros con hilos
- Todo en NUESTRO tema (carga tras mobile.css → gana por cascada, sin !important)
- ========================================================================== */
-
-/* --- Chats: burbujas tipo Signal (los hooks .chat-message-self/-author ya existen) --- */
-.chat-messages-list { display: flex; flex-direction: column; gap: 4px; width: 100%; }
-.chat-message {
- max-width: 82%; width: fit-content; min-width: 0; box-sizing: border-box;
- padding: 8px 12px; margin: 2px 0;
- border: 1px solid #343434; background: #1e1e1e;
- border-radius: 16px; border-bottom-left-radius: 4px;
- align-self: flex-start;
-}
-.chat-message.chat-message-self {
- align-self: flex-end; margin-left: auto; margin-right: 0;
- background: #2a2413; border-color: #5c4c1f;
- border-bottom-left-radius: 16px; border-bottom-right-radius: 4px;
-}
-.chat-message-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 3px; font-size: 10px; color: var(--c-muted, #8c8c8c); }
-.chat-message.chat-message-self .chat-message-meta { justify-content: flex-end; }
-.chat-message-sender, .chat-message-sender a { font-size: 11px; font-weight: 700; color: #FFD700; }
-.chat-message-date { opacity: .8; }
-.chat-message-text {
- display: block; font-size: 15px; line-height: 1.42; color: #FFD700; margin: 0;
- word-break: break-word; overflow-wrap: anywhere;
-}
-.chat-message-text a { color: #FFD700; }
-.chat-message-image-wrap { margin-top: 6px; }
-.chat-message-image { max-width: 100%; border-radius: 10px; }
-
-/* --- Compose de chat: caja redondeada + enviar como pill (no bloque naranja de ancho completo) --- */
-.chat-message-form textarea {
- width: 100%; box-sizing: border-box; border-radius: 14px;
- padding: 10px 14px; resize: vertical; font-size: 15px;
-}
-.chat-message-form .filter-btn {
- width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important;
- padding: 0 !important; border-radius: 50% !important;
- display: inline-flex !important; align-items: center !important; justify-content: center !important;
- font-size: 0 !important; line-height: 0 !important;
-}
-.chat-message-form .filter-btn::before { content: "\27A4"; font-size: 18px; line-height: 1; color: #121212; }
-.chat-message-form input[type="file"] { font-size: 12px; }
-
-/* --- Reply a mensaje en chats (server-side ?replyTo=, sin JS) --- */
-.chat-message-meta .chat-reply-btn { margin-left: auto; padding: 0 4px; color: #FFD700; text-decoration: none; font-size: 15px; opacity: .85; }
-.chat-message-self .chat-message-meta .chat-reply-btn { margin-left: 8px; }
-.chat-quote {
- display: block; border-left: 3px solid #FFD700; padding: 3px 8px; margin: 0 0 5px;
- background: rgba(255,215,0,.08); border-radius: 6px; font-size: 12px; line-height: 1.3;
-}
-.chat-quote-author, .chat-quote-author a { color: #FFD700; font-weight: 700; margin-right: 6px; }
-.chat-quote-text { color: #FFDD44; }
-.chat-replying-to {
- display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
- border-left: 3px solid #FFD700; background: rgba(255,215,0,.10);
- padding: 6px 10px; margin-bottom: 8px; border-radius: 8px; font-size: 12px;
-}
-.chat-replying-label { color: #FFD700; font-weight: 700; }
-.chat-reply-cancel { margin-left: auto; color: #FFD700; text-decoration: none; font-weight: 700; font-size: 14px; }
-
-/* --- Switcher de chats: tira horizontal para saltar entre conversaciones --- */
-.chat-switcher {
- display: flex; gap: 6px; overflow-x: auto; padding: 6px 0; margin: 4px 0 8px;
- -webkit-overflow-scrolling: touch; scrollbar-width: none;
-}
-.chat-switcher::-webkit-scrollbar { display: none; }
-.chat-switch-chip {
- flex: 0 0 auto; max-width: 140px; padding: 6px 12px; border-radius: 999px;
- background: #1c1c1c; border: 1px solid #333; color: #FFD700; text-decoration: none;
- font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
-}
-.chat-switch-chip.active { background: #FFD700; color: #121212; border-color: #FFD700; font-weight: 700; }
-
-/* --- Subtopics de foro: tira de pestañas (topics con nombre) + input de topic en el compose --- */
-.forum-topics {
- display: flex; gap: 6px; overflow-x: auto; padding: 6px 0; margin: 4px 0 8px;
- scrollbar-width: none;
-}
-.forum-topics::-webkit-scrollbar { display: none; }
-.forum-topic-chip {
- flex: 0 0 auto; max-width: 160px; padding: 6px 14px; border-radius: 999px;
- background: #1c1c1c; border: 1px solid #333; color: #FFD700; text-decoration: none;
- font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
-}
-.forum-topic-chip.active { background: #FFD700; color: #121212; border-color: #FFD700; font-weight: 700; }
-.new-message-form { flex-wrap: wrap; }
-.forum-topic-input {
- flex: 1 0 100%; box-sizing: border-box; border-radius: 12px;
- padding: 8px 12px; font-size: 13px; margin: 0 0 6px;
-}
-
-/* --- #1: chat estilo Signal — compose ABAJO + mensajes arriba (el reply deja de "saltar") --- */
-.tribe-main.chat-full-width { display: flex; flex-direction: column-reverse; }
-#chatbox { scroll-margin-top: 8px; scroll-margin-bottom: 8px; }
-
-/* --- Botón spread → pill compacto (vence button{min-height:48px}/ancho completo) --- */
-.card-spread-centered, .card-spread-left, .spread-row { margin: 6px 0; }
-.card-spread-centered .spread-btn, .card-spread-left .spread-btn,
-.spread-row .spread-btn, .card-chips-row .spread-btn {
- display: inline-flex; align-items: center; justify-content: center;
- width: auto; min-width: 0; min-height: 30px; height: 30px;
- padding: 2px 14px; font-size: 13px; line-height: 1;
- border-radius: 999px; border: 1px solid #555; background: #1a1a1a; color: #FFD700;
-}
-.card-spread-centered .spread-btn.spread-btn-on,
-.card-spread-left .spread-btn.spread-btn-on { background: #FFD700; color: #1a1a1a; border-color: #FFD700; }
-
-/* --- Caja de votos (▲ n ▼): compacta y HORIZONTAL.
- El problema era una cadena de flex-stretch (comment-vote-col flex → estiraba la caja a 135px).
- Rompemos el estiramiento con height:auto + inline-flex en toda la cadena, con !important
- para vencer el min-height:44px de .score-btn (762) y el !important de epsylon en mobile.css. --- */
-.comment-vote-col { display: block; height: auto; min-height: 0; width: auto; }
-.forum-score-box {
- display: inline-flex; height: auto; min-height: 0;
- min-width: 0; width: auto;
- padding: 4px 8px; border-radius: 10px;
- flex-direction: row; flex-wrap: nowrap; gap: 12px; align-items: center;
-}
-.forum-score-box .forum-score-form {
- display: inline-flex; height: auto; width: auto;
- flex-direction: row; flex-wrap: nowrap; gap: 12px; align-items: center;
-}
-.score-btn {
+:where(.main-column) section {
+ margin-bottom: 10px;
+}
+.main-column :is(form, section, div) > br {
+ display: none !important;
+}
+.main-column .card-field > a.card-value.user-link {
+ display: inline-block !important;
+ max-width: 100% !important;
+ background: #FFA500 !important;
+ color: #000 !important;
+ border: 0 !important;
+ border-radius: 6px !important;
+ padding: 6px 12px !important;
+ font-size: 14px !important;
+ font-weight: 700 !important;
+ line-height: 1.3 !important;
+ white-space: normal !important;
+ text-decoration: none !important;
+}
+.main-column .content-actions .btn-singleview.btn-spread-on {
+ background: #ffa300 !important;
+ color: #000 !important;
+}
+.main-column .engage-on,
+.main-column .card-engage .engage-on,
+.main-column .card-meta-row .engage-on {
+ background: #ff9900 !important;
+ color: #000 !important;
+ border: 1px solid #e68a00 !important;
+}
+.main-column .engage-on *,
+.main-column .content-actions .btn-singleview.btn-spread-on * {
+ color: inherit !important;
+}
+.main-column .tribe-card-members {
+ margin: 8px 0 !important;
+ padding: 0 !important;
+ text-align: center !important;
+}
+.main-column .tribe-side-actions,
+.main-column .tribe-card-members + form {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ gap: 8px !important;
+ margin: 4px 0 10px !important;
+}
+.main-column .card-tags {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ gap: 6px 14px !important;
+ margin: 6px 0 !important;
+}
+.main-column .doc-export-actions {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ gap: 8px !important;
+ margin: 6px 0 !important;
+}
+.main-column .doc-export-actions form {
+ margin: 0 !important;
+}
+.main-column .calendar-details {
+ display: flex !important;
+ flex-direction: column !important;
+}
+.main-column .calendar-details > .tribe-side,
+.main-column .calendar-details > .tribe-main {
+ display: contents !important;
+}
+.main-column .calendar-details .card-header.activity-card-header {
+ order: -1 !important;
+ margin: 0 !important;
+}
+.main-column .calendar-details .calendar-nav {
+ margin: 8px 0 4px !important;
+}
+.main-column .calendar-details .calendar-grid {
+ margin: 4px 0 8px !important;
+}
+.main-column .tag-table {
+ display: table !important;
+ width: 100% !important;
+ table-layout: auto !important;
+}
+.main-column .tag-table th:last-child,
+.main-column .tag-table td:last-child {
+ width: 1% !important;
+ white-space: nowrap !important;
+ text-align: right !important;
+ padding-right: 10px !important;
+}
+.main-column .tag-table th:first-child,
+.main-column .tag-table td:first-child {
+ width: auto !important;
+ overflow-wrap: anywhere !important;
+}
+.main-column .peers-conn-actions {
+ display: flex !important;
+ flex-wrap: nowrap !important;
+ gap: 6px !important;
+ margin: 8px 0 !important;
+}
+.main-column .peers-conn-actions form {
+ flex: 1 1 0 !important;
+ min-width: 0 !important;
+ margin: 0 !important;
+ display: flex !important;
+}
+.main-column .peers-conn-actions .filter-btn {
+ width: 100% !important;
+ min-width: 0 !important;
+ min-height: 40px !important;
+ padding: 6px 4px !important;
+ font-size: 12px !important;
+ line-height: 1.15 !important;
+ white-space: normal !important;
+ overflow-wrap: normal !important;
+ border-radius: 10px !important;
+ background: #ffa300 !important;
+ color: #111 !important;
+ border: 0 !important;
+}
+.main-column .peers-import-form {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 8px !important;
+}
+.main-column .peers-import-form .filter-btn {
+ align-self: flex-start !important;
+}
+.main-column .graphos-canvas {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.main-column .graphos-canvas .graphos-svg {
+ min-height: 0 !important;
+ height: auto !important;
+}
+.main-column .graphos-statsbar {
+ margin: 4px 0 6px 0 !important;
+}
+.main-column .graphos-fed-table,
+.main-column .graphos-fed-table tbody,
+.main-column .graphos-fed-table tr,
+.main-column .graphos-fed-table td {
+ display: block !important;
+ width: 100% !important;
+ border: 0 !important;
+ background: transparent !important;
+ text-align: left !important;
+}
+.main-column .graphos-fed-table tr:first-child {
+ display: none !important;
+}
+.main-column .graphos-fed-table tr {
+ background: #1e1e1e !important;
+ border-radius: 14px !important;
+ padding: 10px 12px !important;
+ margin: 0 0 10px 0 !important;
+}
+.main-column .graphos-fed-table td {
+ padding: 2px 0 !important;
+ font-size: 13px !important;
+}
+.main-column .graphos-fed-table td[data-label]::before {
+ content: attr(data-label) ": " !important;
+ color: #ffa300 !important;
+ font-weight: 600 !important;
+}
+.main-column .card-field:has(> .card-label) {
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ align-items: baseline !important;
+ gap: 2px 6px !important;
+}
+.main-column .card-field:has(> .card-label) > .card-label,
+.main-column .card-field:has(> .card-label) > .card-value {
+ display: inline !important;
+ width: auto !important;
+ margin: 0 !important;
+}
+.main-column .room-live-panel .room-live-head {
+ display: flex !important;
+ flex-direction: column !important;
+ align-items: center !important;
+ gap: 8px !important;
+ text-align: center !important;
+}
+.main-column .room-live-panel .room-live-head-main {
+ width: 100% !important;
+ text-align: center !important;
+}
+.main-column .tribe-main:has(> .room-live-panel) {
+ display: flex !important;
+ flex-direction: column !important;
+}
+.main-column .tribe-main:has(> .room-live-panel) > .pad-members-details {
+ order: 1 !important;
+ text-align: center !important;
+}
+.main-column .tribe-main:has(> .room-live-panel) > .pm-form-error-msg {
+ order: -2 !important;
+}
+.torrent-table td.torrent-spread-cell,
+.file-table td.torrent-spread-cell {
+ display: flex !important;
+ align-items: center !important;
+ gap: 8px !important;
+ min-height: 0 !important;
+ padding: 0 !important;
+}
+.torrent-table td.torrent-spread-cell > form,
+.file-table td.torrent-spread-cell > form {
+ display: inline-flex !important;
+ margin: 0 !important;
+}
+.torrent-table td.torrent-spread-cell .btn-singleview,
+.file-table td.torrent-spread-cell .btn-singleview {
+ width: auto !important;
+ min-width: 0 !important;
+ height: 20px !important;
+ min-height: 20px !important;
+ padding: 0 !important;
+ justify-content: flex-start !important;
+ font-size: 15px !important;
+}
+.main-column .tribe-side,
+.main-column .tribe-main {
+ gap: 8px !important;
+}
+.main-column .tribe-side > .tribe-card-members,
+.main-column .tribe-main > .tribe-card-members {
+ margin: 0 !important;
+}
+.main-column .tribe-side > .tribe-info-table,
+.main-column .tribe-main > .tribe-info-table {
+ margin-bottom: 0 !important;
+}
+.main-column .tribe-side-actions {
+ padding: 2px 0 !important;
+ margin: 0 !important;
+}
+.main-column :is(.card-tags, .tribe-side-tags) {
+ gap: 4px 12px !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.main-column .calendar-details :is(.div-center, .calendar-interval-block) {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.main-column :is(.card-tags, .tribe-side-tags) .tag-link {
+ margin: 0 !important;
+ padding: 2px 0 !important;
+}
+.main-column form :is(textarea, select, input:not([type="hidden"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"])) {
+ margin-top: 4px !important;
+ margin-bottom: 6px !important;
+}
+.main-column .peers-import-form > :is(label, textarea, input) {
+ margin: 0 !important;
+}
+.main-column .tribe-details:has(> .tribe-main > .card-header .content-actions) > :is(.tribe-side, .tribe-main) {
+ display: contents !important;
+}
+.main-column .tribe-details:has(> .tribe-main > .card-header .content-actions) > .tribe-main > .card-header {
+ order: -1 !important;
+}
+.graphos-lightbox .graphos-zoom-stage {
+ position: relative !important;
+ width: 200vw !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.graphos-lightbox .graphos-zoom-svg {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+.graphos-lightbox .graphos-zoom-focus {
+ position: absolute !important;
+ left: calc(50% - 50vw) !important;
+ top: calc(50% - 50vh) !important;
+ width: 100vw !important;
+ height: 100vh !important;
+ pointer-events: none !important;
+}
+.graphos-lightbox:has(.graphos-zoom-focus:target) {
+ display: flex !important;
+}
+.graphos-lightbox .graphos-canvas-zoom {
+ display: flex !important;
+ flex-direction: column !important;
+ justify-content: safe center !important;
+ align-items: flex-start !important;
+}
+.graphos-lightbox .graphos-zoom-stage {
flex: 0 0 auto !important;
- width: 30px !important; height: 30px !important; min-width: 30px !important; min-height: 30px !important;
- font-size: 0.95em !important; border-radius: 8px !important; padding: 0 !important;
}
-.score-total { flex: 0 0 auto; font-size: 1.15em; min-height: 0; height: auto; margin: 0; white-space: nowrap; }
-.comment-votes .votes-count { font-size: 11px; }
-
-/* Aplanar el comentario: quitar las cajas/recuadros internos para que sea UN bloque limpio
- (cada sección salía como una tarjeta con padding enorme → mucho hueco muerto) */
-.forum-comment .comment-header,
-.forum-comment .comment-body-row,
-.forum-comment .comment-vote-col,
-.forum-comment .comment-text-col,
-.forum-comment .new-reply {
- background: transparent; border: none; box-shadow: none;
- padding: 0; margin: 6px 0 0; border-radius: 0;
+.main-column .tribe-info-table tr:has(> td.tribe-info-label + td.tribe-info-value) {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ align-items: baseline !important;
+ gap: 2px 6px !important;
+ padding: 6px 0 !important;
+ border-bottom: 1px solid #2a2a2a !important;
}
-.forum-comment .comment-header { margin-top: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; }
-/* la barra de votos de abajo ya muestra el score → ocultar el ▲:0 ▼:0 redundante de la cabecera */
-.forum-comment .comment-header .comment-votes { display: none; }
-.forum-comment .comment-text-col p { margin: 4px 0; }
-.forum-comment .comment-text-col > div { background: transparent; border: none; padding: 0; }
-.forum-comment { padding: 10px 12px; margin-bottom: 8px; }
-/* barra de votos alineada a la izquierda, no centrada, para que ocupe poco.
- `display:flex !important` es DE PELEA: vence a mobile.css:164 `.comment-body-row{display:block!important}` */
-.forum-comment .comment-body-row { display: flex !important; flex-direction: column; align-items: flex-start; }
-
-/* --- Reply/compose del foro estilo Signal: fila [textarea que crece] + [botón REDONDO con icono ↩] --- */
-/* especificidad extra (.main-column …) para ganar a nuestra propia regla `.main-column form{display:block}` sin !important */
-.main-column .new-reply .comment-form,
-.main-column .new-message-form { display: flex; flex-direction: row; align-items: flex-end; gap: 8px; margin: 6px 0 0; }
-.main-column .new-message-form br { display: none; }
-.main-column .comment-textarea, .main-column .new-message-form textarea {
- flex: 1 1 auto; box-sizing: border-box; border-radius: 14px;
- padding: 9px 14px; min-height: 42px; resize: none; font-size: 14px; margin: 0;
+.main-column .tribe-info-table tr:has(> td.tribe-info-label + td.tribe-info-value) > td {
+ display: inline !important;
+ width: auto !important;
+ padding: 0 !important;
+ border: 0 !important;
}
-.forum-send-btn {
+.main-column .tribe-info-table tr:has(> td.tribe-info-label + td.tribe-info-value) > td.tribe-info-label::after {
+ content: ":";
+}
+.main-column .ui-toolbar--filters {
+ justify-content: flex-start !important;
+}
+.main-column .phone-call-panel .phone-call-who > .phone-call-icon {
+ display: none !important;
+}
+.main-column .phone-call-actions {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ align-items: center !important;
+ gap: 10px !important;
+}
+.main-column .phone-call-actions a.phone-speaker-btn {
+ display: inline-flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ box-sizing: border-box !important;
+ height: 44px !important;
+ min-height: 44px !important;
+ margin: 0 !important;
+ padding: 6px 16px !important;
+ font-size: 16px !important;
+ line-height: 19.2px !important;
+ text-align: center !important;
+ white-space: nowrap !important;
+}
+.main-column .phone-call-actions > form {
+ display: flex !important;
+ margin: 0 !important;
+}
+.main-column .phone-call-actions > form > button {
+ margin: 0 !important;
+}
+.main-column .phone-call-panel .phone-call-who {
+ justify-content: center !important;
+}
+.main-column .phone-speaker-btn .phone-ico {
+ color: transparent !important;
+ text-shadow: 0 0 0 #ffa300 !important;
+}
+.main-column .phone-call-actions:has(> a.phone-speaker-btn) {
+ display: grid !important;
+ grid-template-columns: 1fr 1fr !important;
+ gap: 10px !important;
+}
+.main-column .phone-call-actions:has(> a.phone-speaker-btn) > * {
+ width: 100% !important;
+ min-width: 0 !important;
+}
+.main-column .phone-call-actions:has(> a.phone-speaker-btn) > form > button,
+.main-column .phone-call-actions:has(> a.phone-speaker-btn) > a {
+ width: 100% !important;
+ padding-left: 6px !important;
+ padding-right: 6px !important;
+}
+.main-column .phone-call-actions:has(> a.phone-speaker-btn) > :last-child:nth-child(odd) {
+ grid-column: 1 / -1 !important;
+ justify-self: center !important;
+ width: calc(50% - 5px) !important;
+}
+.main-column .wiki-page > .card-section {
+ display: flex !important;
+ flex-direction: column !important;
+ gap: 10px !important;
+}
+.main-column .wiki-page > .card-section > * {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+.main-column .wiki-page > .card-section > .shop-title-row {
+ order: -1 !important;
+}
+.main-column .wiki-page .wiki-actions-top {
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ gap: 8px !important;
+ padding: 0 !important;
+}
+.main-column .wiki-page .wiki-actions-top > .wiki-actions-left {
+ flex: 0 0 100% !important;
+ justify-content: flex-start !important;
+ margin: 0 !important;
+}
+.main-column .card-engage .comments-summary.engage-on,
+.main-column .card-engage .opinions-summary.engage-on,
+.main-column .card-meta-row .comments-summary-link.engage-on {
+ background: #ff9900 !important;
+ color: #000 !important;
+ border: 1px solid #e68a00 !important;
+}
+.main-column .video-grid { gap: 6px !important; margin-top: 18px !important; }
+.main-column .video-tile { width: calc(50% - 3px) !important; }
+.main-column .video-grid-solo .video-tile { width: 100% !important; }
+.main-column .forum-comment.highlighted-reply {
+ background-color: transparent !important;
+ border-left: 2px solid rgba(255, 164, 0, 0.55) !important;
+}
+.main-column .video-tile .video-tile-name,
+.main-column .video-tile .user-link,
+.main-column .video-grid-names {
+ display: none !important;
+}
+.main-column .tribe-side-actions.housing-status-row {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ align-items: center !important;
+ gap: 8px !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.main-column .tribe-side-actions.housing-status-row > .card-label {
+ width: auto !important;
flex: 0 0 auto !important;
- width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
- padding: 0 !important; margin: 0 !important; border-radius: 50% !important;
- font-size: 0 !important; line-height: 0 !important;
- display: inline-flex !important; align-items: center !important; justify-content: center !important;
+ margin: 0 !important;
+ letter-spacing: 0 !important;
}
-.forum-send-btn::before { content: "\21A9"; font-size: 20px; line-height: 1; color: #121212; }
-.new-reply { margin-top: 6px; }
-
-/* --- Fase 2: hilos anidados. mobile.css fuerza margin-left:0 !important → necesitamos !important para ganar --- */
-.forum-comment.level-1 { margin-left: 10px; border-left: 2px solid #333; }
-.forum-comment.level-2 { margin-left: 20px; border-left: 2px solid #3a3a3a; }
-.forum-comment.level-3 { margin-left: 28px; border-left: 2px solid #404040; }
-.forum-comment.level-4 { margin-left: 34px; border-left: 2px solid #454545; }
-/* comentario destacado: acento sutil a la izquierda en vez del marco naranja enorme */
-.forum-comment.highlighted-reply { border: 1px solid #3a3a3a; border-left: 3px solid #FFD700; background: #1b1a16; }
-
-/* --- Reply del foro SIN tocar la vista de epsylon: la cajita se agranda al enfocarla;
- el botón redondo ↩ está SIEMPRE visible (el usuario pidió icono de reply, no gesto/JS). --- */
-.new-reply .comment-textarea { min-height: 42px; }
-.new-reply:focus-within .comment-textarea { min-height: 64px; }
-
-/* ==========================================================================
- Mejoras UI 0.9.1: fuente única + barra de búsqueda en topbar + hive global + bottombar fija
- ========================================================================== */
-
-/* --- fuente única en todo el UI móvil (quitar el lío monospace/sans) --- */
-.oasis-mobile-topbar, .oasis-mobile-menus, .launcher, .oasis-bottombar, .main-column,
-.oasis-mobile-topbar input, .main-column input, .main-column textarea, .main-column select, button {
- font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+.main-column .tribe-side-actions.housing-status-row > .inline-form {
+ display: inline-flex !important;
+ width: auto !important;
+ flex: 0 0 auto !important;
+ margin: 0 !important;
}
-
-/* (topbar sin barra de búsqueda: vuelve el título "OASIS" — CSS .omt-title más arriba) */
-
-/* --- el lanzador va en el header (debajo de los 2 botones), solo en la home --- */
-.header .launcher { width: 100%; max-width: 440px; box-sizing: border-box; margin: 4px auto 10px; padding: 0 14px; }
-
-/* holgura bajo la topbar fija */
-body { padding-top: 74px; }
-
-/* ==========================================================================
- FORK_IA_UX · Módulo KARVAN (mensajes temporales + WebRTC) — chat estilo burbujas
- ========================================================================== */
-.karvan-intro h2 { color: #FFD700; margin: 0 0 6px; }
-.karvan-sub { color: #FFDD44; font-size: 13px; }
-.karvan-create input[type="text"] { width: 100%; box-sizing: border-box; padding: 10px 12px;
- background: #161616; border: 1px solid #333; border-radius: 10px; color: #FFD700; }
-.karvan-ttl { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
-.karvan-ttl-lbl { color: #FFDD44; font-size: 13px; }
-.karvan-ttl-opt { display: inline-flex; align-items: center; gap: 4px; color: #FFD700; font-size: 13px; }
-.karvan-create button, .karvan-compose button { padding: 10px 16px; border: 1px solid #FFD700;
- border-radius: 10px; background: #FFD700; color: #121212; font-weight: 700; cursor: pointer; }
-.karvan-rooms { list-style: none; margin: 8px 0 0; padding: 0; }
-.karvan-rooms li { margin: 0 0 8px; }
-.karvan-room-item { display: flex; justify-content: space-between; align-items: center; gap: 10px;
- padding: 12px 14px; background: #161616; border: 1px solid #333; border-radius: 12px;
- color: #FFD700; text-decoration: none; min-height: 48px; box-sizing: border-box; }
-.karvan-room-item .kr-title { font-weight: 600; }
-.karvan-room-item .kr-meta { color: #FFDD44; font-size: 12px; white-space: nowrap; }
-.karvan-empty { color: #FFDD44; }
-
-/* sala */
-.karvan-room-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
-.karvan-back { color: #FFD700; text-decoration: none; font-weight: 600; }
-.karvan-room-title { flex: 1 1 auto; color: #FFD700; font-weight: 700; text-align: center;
- overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
-.karvan-expire { color: #FFDD44; font-size: 12px; white-space: nowrap; }
-.karvan-live { display: inline-flex; align-items: center; gap: 6px; color: #FFDD44; font-size: 12px; margin-bottom: 8px; }
-.karvan-live .kl-dot { width: 8px; height: 8px; border-radius: 50%; background: #777; }
-.karvan-live.on .kl-dot { background: #35d07f; }
-.karvan-live.on .kl-txt { color: #35d07f; }
-.karvan-msgs { list-style: none; margin: 0; padding: 6px 0; display: flex; flex-direction: column; gap: 6px;
- max-height: 58vh; overflow-y: auto; }
-.karvan-msg { max-width: 82%; align-self: flex-start; background: #1c1c1c; border: 1px solid #333;
- border-radius: 14px; padding: 7px 11px; box-sizing: border-box; }
-.karvan-msg-self { align-self: flex-end; background: #2a2412; border-color: #FFD700; }
-.karvan-msg-live { border-left: 2px solid #35d07f; } /* recibido al instante por WebRTC (P2P) */
-.karvan-msg .km-from { display: block; font-size: 10px; color: #FFDD44; margin-bottom: 2px; }
-.karvan-msg .km-text { color: #FFD700; word-break: break-word; }
-.karvan-compose { display: flex; gap: 8px; margin-top: 10px; }
-.karvan-compose input[type="text"] { flex: 1 1 auto; min-width: 0; padding: 10px 12px;
- background: #161616; border: 1px solid #333; border-radius: 10px; color: #FFD700; }
-/* Fase 2: invitar a un contacto por feed id */
-.karvan-invite { display: flex; gap: 8px; margin-top: 8px; }
-.karvan-invite input[type="text"] { flex: 1 1 auto; min-width: 0; padding: 9px 12px;
- background: #161616; border: 1px solid #333; border-radius: 10px; color: #FFD700; font-family: monospace; font-size: 12px; }
-.karvan-invite button { flex: 0 0 auto; padding: 9px 14px; border: 1px solid #FFD700; background: #161616; color: #FFD700; border-radius: 10px; cursor: pointer; }
-.karvan-invite-msg { font-size: 12px; margin: 6px 0 0; }
-.karvan-invite-msg.ok { color: #35d07f; }
-.karvan-invite-msg.err { color: #ff8a8a; }
-
-/* --- Karvan videollamada (Fase 1): media P2P sobre el mismo WebRTC del chat --- */
-.karvan-call, .karvan-videos, .karvan-call-bar, .kc-status {
- background-color: transparent; box-shadow: none; border-radius: 0; padding: 0; margin: 0; /* anular div{#222} */
+.main-column .tribe-main > .pad-members-details .pad-members-chips {
+ justify-content: center !important;
}
-.karvan-call { margin: 10px 0; }
-.karvan-videos { display: none; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; margin-bottom: 8px; }
-.karvan-call.active .karvan-videos { display: grid; }
-.kc-video { width: 100%; aspect-ratio: 4 / 3; background: #000; border-radius: 10px; border: 1px solid #333; object-fit: cover; display: block; }
-.kc-local { transform: scaleX(-1); } /* espejo, como cámara frontal */
-.kc-remote { display: contents; } /* los vídeos remotos entran en la misma rejilla */
-.karvan-call-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
-.kc-btn { min-height: 44px; min-width: 44px; padding: 8px 12px; border-radius: 999px;
- border: 1px solid #333; background: #161616; color: #FFD700; line-height: 1; cursor: pointer; }
-.kc-btn.on { background: #FFD700; color: #121212; border-color: #FFD700; }
-.kc-btn-start { font-weight: 600; }
-.kc-btn-stop { background: #241414; border-color: #5a2a2a; }
-.kc-status { font-size: 12px; color: #FFDD44; margin-top: 6px; min-height: 14px; }
-
-/* ==========================================================================
- 1.3.x: upstream trae en mobile.css su propio chrome movil (cabecera fija, cajones
- laterales y botones Personal/Community que los abren). La rama ya tiene el suyo
- (topbar, lanzador y barra inferior), asi que aqui se apaga el de upstream sin
- tocar mobile.css. Va con !important porque las reglas que anula lo llevan.
- ========================================================================== */
-.oasis-nav-side-toggle ~ .header {
- position: static !important;
- display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important;
- align-items: stretch !important;
- min-height: 0 !important; padding: 0 !important; gap: 0 !important;
- z-index: auto !important;
+.main-column .tribe-side-actions.housing-status-row > .inline-form .tribe-action-btn {
+ min-height: 32px !important;
+ padding: 4px 12px !important;
+ font-size: 13px !important;
+}
+.main-column .tribe-side-actions.owner-actions {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.main-column .tribe-main > .room-live-panel {
+ padding: 8px 10px !important;
+ margin: 0 !important;
+}
+.main-column .tribe-main > .pad-members-details {
+ margin: 0 !important;
+}
+.main-column .tribe-main > .pad-members-details > summary {
+ margin: 0 !important;
+}
+.main-column .room-live-panel .phone-empty {
+ margin: 0 0 8px !important;
+}
+.main-column .tribe-side:has(> .owner-actions) {
+ display: flex !important;
+ flex-direction: column !important;
+}
+.main-column .tribe-side:has(> .owner-actions) > :is(.tribe-side-description, .tribe-info-table, .card-tags, .tribe-side-tags, .tribe-card-members, .tribe-side-actions:not(.owner-actions):not(.housing-status-row)) {
+ order: 1 !important;
+}
+.main-column .tribe-side:has(> .owner-actions) > .housing-status-row {
+ order: -1 !important;
+}
+.main-column .tribe-side:has(> .owner-actions) > :is(.card-header, .shop-title-row, .card-chips-row) {
+ order: -2 !important;
+}
+.main-column .room-live-head .room-live-controls {
+ display: flex !important;
+ flex-wrap: wrap !important;
+ justify-content: center !important;
+ gap: 8px !important;
+}
+.main-column .live-lightbox {
+ top: 60px !important;
+ bottom: 66px !important;
+ margin: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ width: auto !important;
+ height: auto !important;
+ padding: 0 !important;
+ z-index: 800 !important;
+ background: #0d0d0d !important;
+}
+.main-column .live-lightbox .lightbox-image {
+ width: 100% !important;
+ height: 100% !important;
+ max-width: 100% !important;
+ max-height: 100% !important;
+ object-fit: contain !important;
+ margin: 0 !important;
+ border: 0 !important;
+ border-radius: 0 !important;
+}
+.main-column .live-lightbox .lightbox-close {
+ position: absolute !important;
+ top: 8px !important;
+ right: 14px !important;
+ z-index: 2 !important;
+ font-size: 32px !important;
+ line-height: 1 !important;
+ color: #FFD700 !important;
+}
+.main-column .live-lightbox .lightbox-image-link {
+ display: block !important;
+ width: 100% !important;
+ height: 100% !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ border: 0 !important;
+ background: none !important;
}
-body:has(.oasis-nav-side-toggle) { padding-top: 84px !important; }
-.oasis-nav-side-toggle ~ .header .oasis-mobile-menus,
-.oasis-nav-side-toggle ~ .header .top-bar-left nav,
-.oasis-nav-side-toggle ~ .header .top-bar-right nav,
-.oasis-nav-side-toggle ~ .header .top-bar-left a.logo-icon { display: none !important; }
-
-/* ==========================================================================
- Upstream 1.3.3: piezas nuevas (karma del perfil, directo a pantalla completa,
- salas en vivo, graphos). Copiado tal cual del tema oficial: el resto de ese
- tema es otro aspecto y no se trae.
- ========================================================================== */
.main-column .live-lightbox.live-fullscreen {
top: 0 !important;
bottom: 0 !important;
@@ -1177,105 +4040,3 @@ body:has(.oasis-nav-side-toggle) { padding-top: 84px !important; }
width: 100vw !important;
height: 100vh !important;
}
-.main-column .video-grid-solo .video-tile { width: 100% !important; }
-.main-column .inhabitants-grid .inhabitant-card { padding-bottom: 12px !important; }
-
-/* ==========================================================================
- Filtros como fichas. Las reglas de botones grandes (48px, ancho completo)
- tambien pillaban a los filtros de chats, feed, foros, pads...: en el foro
- las 20 categorias llenaban la pantalla y el contenido quedaba debajo.
- Ahora van en fila como los de Actividad; "Crear ..." sigue grande, aparte.
- ========================================================================== */
-.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) {
- display: flex !important;
- flex-direction: row !important;
- flex-wrap: wrap !important;
- align-items: center !important;
- gap: 6px !important;
- padding: 10px 12px !important;
-}
-.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) > form {
- display: block !important;
- width: auto !important;
- flex: 0 0 auto !important;
- margin: 0 !important;
-}
-.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) .filter-btn:not(.create-button) {
- min-height: 0 !important;
- width: auto !important;
- padding: 6px 12px !important;
- font-size: 12px !important;
- line-height: 1.3 !important;
- letter-spacing: .3px !important;
- border-radius: 16px !important;
- border: 1px solid #555 !important;
- background: transparent !important;
- color: #ddd !important;
- box-shadow: none !important;
- white-space: nowrap !important;
-}
-.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) .filter-btn.active:not(.create-button) {
- background: #FFD700 !important;
- border-color: #FFD700 !important;
- color: #121212 !important;
-}
-.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) > form:has(.create-button) {
- flex: 1 1 100% !important;
- margin-top: 6px !important;
-}
-.main-column :is(.tribe-mode-buttons, .mode-buttons, .mode-buttons-row, .filter-group) .create-button {
- width: 100% !important;
- min-height: 44px !important;
-}
-
-/* fichas de filtro vacias (el foro solo pinta las categorias con hilos) */
-.main-column .filter-group:empty { display: none !important; }
-
-/* acciones de la tarjeta (borrar, fijar, enlace, abrir): una fila a la derecha.
- ".main-column form" las ponia a ancho completo y partia la fila en dos */
-.main-column .content-actions {
- display: flex !important;
- flex-wrap: nowrap !important;
- justify-content: flex-end !important;
- align-items: center !important;
- gap: 6px !important;
- width: auto !important;
- margin-left: auto !important;
-}
-.main-column .content-actions > form {
- display: inline-flex !important;
- width: auto !important;
- flex: 0 0 auto !important;
- margin: 0 !important;
-}
-.main-column .content-actions .btn-singleview {
- min-height: 0 !important;
- width: 36px !important;
- height: 36px !important;
- padding: 0 !important;
- border-radius: 50% !important;
- display: inline-flex !important;
- align-items: center !important;
- justify-content: center !important;
-}
-
-/* Skins y workflows en Ajustes (views/settings_view.js): tarjetas de un toque */
-.skin-pick { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }
-.skin-card {
- display: flex !important; flex-direction: column; align-items: stretch; gap: 8px;
- width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 8px !important;
- background: #1c1c1c !important; color: #e6e6e6 !important;
- border: 1px solid #444 !important; border-radius: 16px !important; cursor: pointer;
-}
-.skin-card .skin-shot { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; border-radius: 10px; display: block; }
-.skin-card .skin-name { font-size: 17px; font-weight: 700; text-align: center; }
-.skin-card.is-current { border: 2px solid #FFD700 !important; background: #2a2412 !important; }
-.skin-card.is-current .skin-name::after { content: " \2713"; }
-.workflow-pick { display: flex !important; flex-direction: column; gap: 10px; margin: 0; }
-.workflow-card {
- width: 100% !important; min-height: 56px !important; margin: 0 !important; padding: 10px 16px !important;
- font-size: 18px !important; text-align: left !important;
- background: #1c1c1c !important; color: #e6e6e6 !important; border: 1px solid #444 !important; border-radius: 14px !important;
-}
-.workflow-card.is-current { border: 2px solid #FFD700 !important; background: #2a2412 !important; color: #FFD700 !important; }
-.workflow-card.is-current::after { content: " \2713"; }
diff --git a/src/views/main_views.js b/src/views/main_views.js
index 88c75a0..d1848c9 100644
--- a/src/views/main_views.js
+++ b/src/views/main_views.js
@@ -442,17 +442,15 @@ exports.CONTENT_SPREADABLE = CONTENT_SPREADABLE;
exports.CONTENT_TORRENTABLE = CONTENT_TORRENTABLE;
exports.contentDeleteAction = contentDeleteAction;
exports.THEMES = [['Acampada', 'Acampada'], ['Dark-SNH', 'Dark-SNH'], ['Clear-SNH', 'Clear-SNH'], ['Purple-SNH', 'Purple-SNH'], ['Matrix-SNH', 'Matrix-SNH'], ['OasisMobile', 'Oasis-Mobile']];
-// Acampada importa la maqueta de OasisMobile.css: los dos son solo de movil, y en el
-// movil son los unicos que valen (los de escritorio no traen la maqueta)
+// los dos skins de movil; los de escritorio no estan pensados para la maqueta del movil
exports.MOBILE_THEMES = [['Acampada', 'Acampada'], ['OasisMobile', 'Oasis Mobile']];
exports.WIZARD_THEMES = process.env.OASIS_MOBILE === '1'
? exports.MOBILE_THEMES
: exports.THEMES.filter(([value]) => value !== 'OasisMobile' && value !== 'Acampada');
-// el tema Acampada es la maqueta de OasisMobile.css con otros colores. OasisMobile.css va
-// en su propio versionado y no como @import dentro de Acampada.css: un @import sin
-// ?v= se queda en la cache del WebView y tras actualizar se veia la maqueta vieja.
-// hive_acampada.css va detras del tema: pinta lanzador, barras y tarjetas.
-const acampadaBase = (theme) => theme === 'Acampada' ? link({ rel: "stylesheet", href: `/assets/themes/OasisMobile.css?v=${assetVersion()}` }) : null;
+// en el movil la maqueta de la rama (styles/mobile_base.css) va antes de cualquier skin;
+// encima, Acampada.css o el OasisMobile.css del dev. hive_acampada.css va detras del
+// tema Acampada: pinta lanzador, barras y tarjetas.
+const acampadaBase = () => process.env.OASIS_MOBILE === '1' ? link({ rel: "stylesheet", href: `/assets/styles/mobile_base.css?v=${assetVersion()}` }) : null;
const acampadaLink = (theme) => theme === 'Acampada' ? link({ rel: "stylesheet", href: `/assets/styles/hive_acampada.css?v=${assetVersion()}` }) : null;
const renderDocumentActions = (kind, id, leadingNodes = []) => {