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 = []) => {