    :root{
      --ap-page-border: var(--portal-line, var(--border, rgba(15,23,42,.12)));
      --ap-page-surface: var(--portal-card, var(--surface, rgba(255,255,255,.82)));
      --ap-page-surface-2: var(--portal-card-2, var(--surface-2, rgba(15,23,42,.04)));
      --ap-page-text: var(--portal-text, var(--text, #0f172a));
      --ap-page-muted: var(--portal-muted, var(--text-2, #475569));
      --ap-page-accent: var(--portal-accent, var(--accent, #2563eb));
      --ap-page-accent-2: var(--portal-accent-2, var(--accent-2, #38bdf8));
      --ap-page-bg-soft: var(--portal-bg-soft, var(--surface, rgba(255,255,255,.72)));
      --ap-page-overlay-hero: linear-gradient(180deg, rgba(15,23,42,.06), rgba(15,23,42,.70));
    
      --ap-success-bg: rgba(34,197,94,.12);
      --ap-success-border: rgba(34,197,94,.28);
      --ap-success-text: #166534;
    
      --ap-danger-bg: rgba(239,68,68,.12);
      --ap-danger-border: rgba(239,68,68,.26);
      --ap-danger-text: #b91c1c;
    
      --ap-warning-bg: rgba(245,158,11,.12);
      --ap-warning-border: rgba(245,158,11,.28);
      --ap-warning-text: #b45309;
    
      --ap-info-bg: rgba(59,130,246,.12);
      --ap-info-border: rgba(59,130,246,.26);
      --ap-info-text: #1d4ed8;
    
      --ap-shadow-sm: 0 6px 18px rgba(15,23,42,.06);
      --ap-shadow-md: 0 14px 36px rgba(15,23,42,.09);
      --ap-shadow-lg: 0 24px 60px rgba(15,23,42,.14);
    }
    
    /* LIGHT esplicito, compatibile col portale */
    html[data-theme="light"] .public-portal,
    body.light.public-portal,
    .theme-light .public-portal{
      --ap-page-border: var(--portal-line, var(--border, rgba(15,23,42,.12)));
      --ap-page-surface: var(--portal-card, var(--surface, rgba(255,255,255,.82)));
      --ap-page-surface-2: var(--portal-card-2, var(--surface-2, rgba(15,23,42,.04)));
      --ap-page-text: var(--portal-text, var(--text, #0f172a));
      --ap-page-muted: var(--portal-muted, var(--text-2, #475569));
      --ap-page-accent: var(--portal-accent, var(--accent, #2563eb));
      --ap-page-accent-2: var(--portal-accent-2, var(--accent-2, #38bdf8));
      --ap-page-bg-soft: var(--portal-bg-soft, var(--surface, rgba(255,255,255,.72)));
      --ap-page-overlay-hero: linear-gradient(180deg, rgba(15,23,42,.06), rgba(15,23,42,.70));
    
      --ap-success-bg: rgba(34,197,94,.12);
      --ap-success-border: rgba(34,197,94,.28);
      --ap-success-text: #166534;
    
      --ap-danger-bg: rgba(239,68,68,.12);
      --ap-danger-border: rgba(239,68,68,.26);
      --ap-danger-text: #b91c1c;
    
      --ap-warning-bg: rgba(245,158,11,.12);
      --ap-warning-border: rgba(245,158,11,.28);
      --ap-warning-text: #b45309;
    
      --ap-info-bg: rgba(59,130,246,.12);
      --ap-info-border: rgba(59,130,246,.26);
      --ap-info-text: #1d4ed8;
    
      --ap-shadow-sm: 0 6px 18px rgba(15,23,42,.06);
      --ap-shadow-md: 0 14px 36px rgba(15,23,42,.09);
      --ap-shadow-lg: 0 24px 60px rgba(15,23,42,.14);
    }
    
    /* DARK compatibile col portale */
    html[data-theme="dark"] .public-portal,
    body.dark.public-portal,
    .theme-dark .public-portal{
      --ap-page-border: var(--portal-line, var(--border, rgba(255,255,255,.12)));
      --ap-page-surface: var(--portal-card, var(--surface, rgba(12,24,43,.76)));
      --ap-page-surface-2: var(--portal-card-2, var(--surface-2, rgba(255,255,255,.05)));
      --ap-page-text: var(--portal-text, var(--text, #eff6ff));
      --ap-page-muted: var(--portal-muted, var(--text-2, #b6c6df));
      --ap-page-accent: var(--portal-accent, var(--accent, #5eead4));
      --ap-page-accent-2: var(--portal-accent-2, var(--accent-2, #60a5fa));
      --ap-page-bg-soft: var(--portal-bg-soft, var(--surface, rgba(9,19,34,.82)));
      --ap-page-overlay-hero: linear-gradient(180deg, rgba(2,6,23,.08), rgba(2,6,23,.74));
    
      --ap-success-bg: rgba(34,197,94,.16);
      --ap-success-border: rgba(34,197,94,.34);
      --ap-success-text: #bbf7d0;
    
      --ap-danger-bg: rgba(239,68,68,.16);
      --ap-danger-border: rgba(239,68,68,.34);
      --ap-danger-text: #fecaca;
    
      --ap-warning-bg: rgba(250,204,21,.14);
      --ap-warning-border: rgba(250,204,21,.30);
      --ap-warning-text: #fde68a;
    
      --ap-info-bg: rgba(96,165,250,.16);
      --ap-info-border: rgba(96,165,250,.30);
      --ap-info-text: #bfdbfe;
    
      --ap-shadow-sm: 0 8px 20px rgba(0,0,0,.22);
      --ap-shadow-md: 0 18px 42px rgba(0,0,0,.28);
      --ap-shadow-lg: 0 28px 70px rgba(0,0,0,.34);
    }

        .public-page{
          padding:0 0 48px;
          color:var(--ap-page-text);
        }

        .public-page-shell{
          max-width:1240px;
          margin:0 auto;
          padding:28px 18px 0;
          display:grid;
          grid-template-columns:minmax(0,1fr) 340px;
          gap:22px;
          align-items:start;
        }

        .public-page-shell.no-aside{
          grid-template-columns:minmax(0,1fr);
          max-width:1080px;
        }

        .public-page-main{
          display:flex;
          flex-direction:column;
          gap:22px;
          min-width:0;
        }

        .public-page-aside-col{
          display:flex;
          flex-direction:column;
          gap:20px;
          min-width:0;
        }

        .public-page-aside{
          border-radius:24px;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          padding:20px;
          display:flex;
          flex-direction:column;
          gap:16px;
          color:var(--ap-page-text);
          box-shadow:var(--ap-shadow-md);
          backdrop-filter:blur(12px);
        }

        .public-page-aside.is-sticky{
          position:sticky;
          top:16px;
        }

        .public-page-aside a{
          color:var(--ap-page-accent);
        }

        .public-page-aside-sections{
          display:flex;
          flex-direction:column;
          gap:18px;
        }

        .pp-block{
          border-radius:24px;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          padding:24px;
          overflow:hidden;
          color:var(--ap-page-text);
          box-shadow:var(--ap-shadow-md);
          backdrop-filter:blur(12px);
        }

        .pp-block a{
          color:var(--ap-page-accent);
        }

        .pp-hero{
          min-height:420px;
          display:grid;
          align-items:end;
          background-image:var(--pp-hero-desktop);
          background-size:cover;
          background-position:center;
          position:relative;
          padding:0;
          box-shadow:var(--ap-shadow-lg);
        }

        .pp-hero::before{
          content:"";
          position:absolute;
          inset:0;
          background:var(--ap-page-overlay-hero);
        }

        .pp-hero__inner{
          position:relative;
          z-index:1;
          display:flex;
          flex-direction:column;
          align-items:flex-start;
          gap:12px;
          color:#fff;
          text-shadow:0 2px 14px rgba(0,0,0,.36);
          padding:32px;
          max-width:min(860px, 100%);
        }
        
        .pp-hero__inner::before{
          content:"";
          position:absolute;
          inset:20px 18px;
          z-index:-1;
          border-radius:22px;
          background:
            linear-gradient(135deg, rgba(15,23,42,.54), rgba(15,23,42,.30)),
            color-mix(in srgb, var(--ap-page-surface) 8%, transparent);
          border:1px solid rgba(255,255,255,.14);
          box-shadow:0 14px 36px rgba(0,0,0,.20);
          backdrop-filter:blur(7px);
        }
        
        html[data-theme="light"] .pp-hero__inner::before,
        body.light.public-portal .pp-hero__inner::before,
        .theme-light .public-portal .pp-hero__inner::before{
          background:
            linear-gradient(135deg, rgba(15,23,42,.50), rgba(15,23,42,.26)),
            rgba(255,255,255,.06);
        }
        
        html[data-theme="dark"] .pp-hero__inner::before,
        body.dark.public-portal .pp-hero__inner::before,
        .theme-dark .public-portal .pp-hero__inner::before{
          background:
            linear-gradient(135deg, rgba(2,6,23,.60), rgba(2,6,23,.36)),
            rgba(15,23,42,.08);
          border-color:rgba(255,255,255,.12);
        }

        .pp-hero__eyebrow{
          display:inline-flex;
          align-items:center;
          gap:8px;
          align-self:flex-start;
          min-height:34px;
          padding:6px 12px;
          border-radius:999px;
          background:rgba(255,255,255,.14);
          border:1px solid rgba(255,255,255,.18);
          backdrop-filter:blur(8px);
          font-size:.86rem;
          font-weight:700;
        }

        .pp-hero__title{
          margin:0;
          font-size:clamp(1.9rem, 3.4vw, 3rem);
          line-height:1.04;
          color:#fff;
          max-width:90%;
        }

        .pp-hero__subtitle{
          margin:0;
          max-width:760px;
          font-size:1.05rem;
          line-height:1.65;
          color:rgba(255,255,255,.92);
        }

        .pp-hero__chips{
          display:flex;
          gap:10px;
          flex-wrap:wrap;
          margin-top:4px;
        }
        
        .pp-hero__chips--meta{
          margin-top:0;
          max-width:760px;
        }
        
        .pp-hero__chip--category{
          background:rgba(255,255,255,.18);
          border-color:rgba(255,255,255,.24);
        }

        .pp-hero__chip{
          display:inline-flex;
          align-items:center;
          gap:8px;
          min-height:34px;
          padding:6px 12px;
          border-radius:999px;
          background:rgba(255,255,255,.12);
          border:1px solid rgba(255,255,255,.18);
          color:#fff;
          font-size:.84rem;
          font-weight:700;
          backdrop-filter:blur(8px);
        }

        .pp-richtext{
          line-height:1.82;
          word-break:break-word;
          color:var(--ap-page-text);
          font-size:1rem;
        }

        .pp-richtext :is(h1,h2,h3,h4,h5,h6){
          color:var(--ap-page-text);
          margin-top:0;
          line-height:1.16;
        }

        .pp-richtext h2{
          font-size:1.55rem;
          margin-bottom:14px;
        }

        .pp-richtext h3{
          font-size:1.18rem;
          margin-bottom:10px;
        }

        .pp-richtext :is(p,li,blockquote,small,strong,em,span){
          color:inherit;
        }

        .activity-info{
          display:grid;
          gap:12px;
          color:var(--ap-page-text);
        }

        .activity-info > div{
          padding:14px 14px;
          border-radius:16px;
          background:var(--ap-page-surface-2);
          border:1px solid var(--ap-page-border);
        }

        .activity-actions{
          display:grid;
          gap:10px;
        }

        .activity-actions a{
          display:flex;
          align-items:center;
          justify-content:center;
          gap:10px;
          min-height:46px;
          border-radius:14px;
          text-decoration:none;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface-2);
          color:var(--ap-page-text);
          transition:transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
          box-shadow:var(--ap-shadow-sm);
          font-weight:600;
        }

        .activity-actions a:hover{
          transform:translateY(-2px);
          border-color:var(--ap-page-accent);
          box-shadow:var(--ap-shadow-md);
        }

        .activity-mobile-info-panel{
          display:none;
        }
        
        .activity-mobile-info-panel__head{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
        }
        
        .activity-mobile-info-panel__address{
          display:flex;
          align-items:flex-start;
          gap:8px;
          margin:10px 0 0;
          color:var(--ap-page-muted);
          line-height:1.45;
        }
        
        .activity-mobile-info-panel__address i{
          margin-top:3px;
          color:var(--ap-page-accent);
        }
        
        .activity-mobile-info-panel__today,
        .activity-mobile-info-panel__email,
        .activity-mobile-info-panel__notice{
          margin-top:12px;
          padding:12px 14px;
          border-radius:16px;
          background:var(--ap-page-surface-2);
          border:1px solid var(--ap-page-border);
          color:var(--ap-page-text);
        }
        
        .activity-mobile-info-panel__today{
          display:flex;
          justify-content:space-between;
          gap:12px;
          align-items:center;
        }
        
        .activity-mobile-info-panel__today span{
          text-align:right;
          color:var(--ap-page-muted);
          font-weight:700;
        }
        
        .activity-mobile-info-panel__notice{
          display:flex;
          align-items:flex-start;
          gap:10px;
          color:var(--ap-page-muted);
          line-height:1.45;
        }
        
        .activity-mobile-info-panel__notice i{
          margin-top:3px;
          color:var(--ap-page-accent);
        }
        
        .activity-mobile-info-panel__actions{
          grid-template-columns:repeat(2, minmax(0, 1fr));
          margin-top:14px;
        }
        
        .activity-mobile-info-panel__email{
          overflow-wrap:anywhere;
          line-height:1.45;
        }
        
        .activity-mobile-info-panel__email a{
          color:var(--ap-page-accent);
          font-weight:700;
          text-decoration:none;
        }
        
        .activity-mobile-info-panel__social{
          margin-top:14px;
        }
        
        .activity-mobile-info-panel__social .public-section{
          margin:0;
        }

        .public-page-topbar{
          padding:0;
        }

        .activity-hours-card{
          display:flex;
          flex-direction:column;
          gap:12px;
          padding:16px;
          border-radius:18px;
          border:1px solid var(--ap-page-border);
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
          color:var(--ap-page-text);
        }

        .activity-hours-card__head{
          display:flex;
          align-items:center;
          justify-content:space-between;
          gap:10px;
          flex-wrap:wrap;
        }

        .activity-hours-card__today{
          display:flex;
          flex-direction:column;
          gap:4px;
          font-size:.95rem;
          color:var(--ap-page-text);
        }

        .activity-hours-card__notice{
          display:flex;
          align-items:flex-start;
          gap:8px;
          padding:10px 12px;
          border-radius:14px;
          font-size:.92rem;
          line-height:1.45;
          background:var(--ap-page-surface-2);
          border:1px solid var(--ap-page-border);
          color:var(--ap-page-text);
        }

        .activity-hours-card__notice.is-today-exception{
          background:var(--ap-info-bg);
          border-color:var(--ap-info-border);
          color:var(--ap-info-text);
        }

        .activity-hours-card__notice.is-upcoming{
          background:var(--ap-warning-bg);
          border-color:var(--ap-warning-border);
          color:var(--ap-warning-text);
        }

        .activity-hours-list{
          display:flex;
          flex-direction:column;
          gap:6px;
        }

        .activity-hours-list__row{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
          font-size:.94rem;
          padding:8px 0;
          border-top:1px solid var(--ap-page-border);
          color:var(--ap-page-text);
        }

        .activity-hours-list__row:first-child{
          border-top:0;
        }

        .activity-hours-list__row.is-today{
          color:var(--ap-page-accent);
          font-weight:700;
        }

        .activity-hours-list__row strong{
          color:inherit;
        }

        .activity-hours-badge{
          display:inline-flex;
          align-items:center;
          justify-content:center;
          min-height:30px;
          padding:4px 12px;
          border-radius:999px;
          font-size:.78rem;
          font-weight:800;
          letter-spacing:.04em;
          border:1px solid var(--ap-page-border);
        }

        .activity-hours-badge.is-open{
          background:var(--ap-success-bg);
          color:var(--ap-success-text);
          border-color:var(--ap-success-border);
        }

        .activity-hours-badge.is-closed{
          background:var(--ap-danger-bg);
          color:var(--ap-danger-text);
          border-color:var(--ap-danger-border);
        }

        .activity-hours-badge.is-muted{
          background:var(--ap-page-surface-2);
          color:var(--ap-page-muted);
          border-color:var(--ap-page-border);
        }

        .activity-hours-preview{
          display:flex;
          flex-direction:column;
          gap:6px;
          margin-top:2px;
          padding-top:10px;
          border-top:1px dashed var(--ap-page-border);
        }

        .activity-hours-preview__row{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
          font-size:.9rem;
          color:var(--ap-page-muted);
        }

        .activity-hours-preview__row strong{
          color:var(--ap-page-text);
          font-size:.9rem;
          text-align:right;
        }

        .ugc-panel{
          display:flex;
          flex-direction:column;
          gap:22px;
        }

        .ugc-grid{
          display:grid;
          grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);
          gap:20px;
          align-items:start;
        }

        .ugc-card{
          border:1px solid var(--ap-page-border);
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
          border-radius:20px;
          padding:18px;
          display:flex;
          flex-direction:column;
          gap:16px;
          color:var(--ap-page-text);
        }

        .ugc-card__head{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
          flex-wrap:wrap;
        }

        .ugc-kpi{
          display:inline-flex;
          align-items:center;
          gap:10px;
          flex-wrap:wrap;
          font-size:.95rem;
        }

        .ugc-stars{
          letter-spacing:.08em;
          font-weight:700;
          color:var(--ap-page-accent);
        }

        .ugc-list{
          display:flex;
          flex-direction:column;
          gap:14px;
        }

        .ugc-item{
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-bg-soft);
          border-radius:18px;
          padding:16px;
          display:flex;
          flex-direction:column;
          gap:12px;
          color:var(--ap-page-text);
          box-shadow:var(--ap-shadow-sm);
        }

        .ugc-item__meta{
          display:flex;
          align-items:center;
          justify-content:space-between;
          gap:10px;
          flex-wrap:wrap;
          font-size:.9rem;
          color:var(--ap-page-muted);
        }

        .ugc-item__author{
          display:flex;
          align-items:center;
          gap:8px;
          flex-wrap:wrap;
        }

        .ugc-item__title{
          margin:0;
          font-size:1.05rem;
          line-height:1.28;
          color:var(--ap-page-text);
        }

        .ugc-item__body{
          line-height:1.7;
          color:var(--ap-page-text);
          font-size:.97rem;
        }

        .ugc-muted{
          color:var(--ap-page-muted);
          font-size:.94rem;
        }

        .ugc-form{
          display:flex;
          flex-direction:column;
          gap:12px;
        }

        .ugc-form__row{
          display:grid;
          grid-template-columns:1fr 1fr;
          gap:12px;
        }

        .ugc-form label{
          display:flex;
          flex-direction:column;
          gap:6px;
          font-size:.92rem;
          color:var(--ap-page-text);
        }

        .ugc-form input,
        .ugc-form textarea,
        .ugc-form select{
          width:100%;
          min-height:46px;
          border-radius:14px;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          padding:12px 14px;
          font:inherit;
          box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
        }

        .ugc-form input::placeholder,
        .ugc-form textarea::placeholder{
          color:var(--ap-page-muted);
        }

        .ugc-form textarea{
          min-height:120px;
          resize:vertical;
        }

        .ugc-form input:focus,
        .ugc-form textarea:focus,
        .ugc-form select:focus,
        .ugc-toolbar select:focus{
          outline:none;
          border-color:var(--ap-page-accent);
          box-shadow:0 0 0 4px color-mix(in srgb, var(--ap-page-accent) 16%, transparent);
        }

        .ugc-form button,
        .ugc-toolbar button{
          min-height:46px;
          border:1px solid color-mix(in srgb, var(--ap-page-accent) 38%, var(--ap-page-border));
          border-radius:14px;
          padding:0 16px;
          font:inherit;
          font-weight:800;
          background:linear-gradient(135deg, var(--ap-page-accent), var(--ap-page-accent-2));
          color:#fff;
          cursor:pointer;
          transition:transform .18s ease, filter .18s ease, opacity .18s ease, box-shadow .18s ease;
          box-shadow:var(--ap-shadow-sm);
        }

        [data-theme="dark"] .ugc-form button,
        [data-theme="dark"] .ugc-toolbar button{
          color:#07111f;
        }

        .ugc-form button:hover,
        .ugc-toolbar button:hover{
          transform:translateY(-1px);
          filter:brightness(1.03);
          box-shadow:var(--ap-shadow-md);
        }

        .ugc-form button[disabled]{
          opacity:.65;
          cursor:wait;
        }

        .ugc-feedback{
          display:none;
          border-radius:14px;
          padding:11px 13px;
          font-size:.92rem;
          border:1px solid var(--ap-page-border);
        }

        .ugc-feedback.is-visible{
          display:block;
        }

        .ugc-feedback.is-success{
          background:var(--ap-success-bg);
          border-color:var(--ap-success-border);
          color:var(--ap-success-text);
        }

        .ugc-feedback.is-error{
          background:var(--ap-danger-bg);
          border-color:var(--ap-danger-border);
          color:var(--ap-danger-text);
        }

        .ugc-comments{
          display:flex;
          flex-direction:column;
          gap:10px;
          padding-top:12px;
          border-top:1px dashed var(--ap-page-border);
        }
        
        .ugc-comment{
          padding:12px 13px;
          border-radius:14px;
          background:var(--ap-page-surface);
          border:1px solid var(--ap-page-border);
          color:var(--ap-page-text);
        }
        
        .ugc-comment__meta{
          font-size:.84rem;
          color:var(--ap-page-muted);
          margin-bottom:6px;
        }

        .ugc-report details{
          border:1px dashed var(--ap-page-border);
          border-radius:14px;
          padding:10px 12px;
          background:transparent;
        }

        .ugc-report summary{
          cursor:pointer;
          font-weight:700;
          color:var(--ap-page-text);
        }

        .ugc-login-box{
          display:flex;
          flex-direction:column;
          gap:12px;
          padding:16px;
          border-radius:18px;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-bg-soft);
          color:var(--ap-page-text);
          box-shadow:var(--ap-shadow-sm);
        }

        .ugc-login-actions{
          display:flex;
          gap:10px;
          flex-wrap:wrap;
        }

        .ugc-login-actions a,
        .ugc-cta-card__actions a{
          display:inline-flex;
          align-items:center;
          justify-content:center;
          min-height:44px;
          padding:0 14px;
          border-radius:14px;
          border:1px solid var(--ap-page-border);
          text-decoration:none;
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
          box-shadow:var(--ap-shadow-sm);
          font-weight:700;
        }

        .ugc-login-actions a:hover,
        .ugc-cta-card__actions a:hover{
          transform:translateY(-1px);
          border-color:var(--ap-page-accent);
          box-shadow:var(--ap-shadow-md);
        }

        .ugc-badge{
          display:inline-flex;
          align-items:center;
          gap:6px;
          min-height:28px;
          padding:4px 10px;
          border-radius:999px;
          font-size:.78rem;
          font-weight:800;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
        }

        .ugc-summary-hero{
          display:flex;
          align-items:center;
          justify-content:space-between;
          gap:16px;
          flex-wrap:wrap;
          padding:16px 18px;
          border-radius:18px;
          border:1px solid var(--ap-page-border);
          background:
            radial-gradient(circle at top right, color-mix(in srgb, var(--ap-page-accent) 14%, transparent), transparent 40%),
            var(--ap-page-bg-soft);
          box-shadow:var(--ap-shadow-sm);
        }

        .ugc-summary-hero__value{
          display:flex;
          align-items:center;
          gap:14px;
          flex-wrap:wrap;
        }

        .ugc-summary-hero__score{
          font-size:2.2rem;
          font-weight:900;
          line-height:1;
          color:var(--ap-page-text);
        }

        .ugc-summary-hero__stars{
          font-size:1.18rem;
          letter-spacing:.08em;
          color:var(--ap-page-accent);
        }

        .ugc-summary-hero__meta{
          color:var(--ap-page-muted);
          font-size:.92rem;
        }

        .ugc-toolbar{
          display:flex;
          flex-wrap:wrap;
          gap:12px;
          align-items:end;
        }

        .ugc-toolbar form{
          display:flex;
          flex-wrap:wrap;
          gap:10px;
          align-items:end;
        }

        .ugc-toolbar label{
          display:flex;
          flex-direction:column;
          gap:6px;
          font-size:.9rem;
          color:var(--ap-page-text);
        }

        .ugc-toolbar select{
          min-width:170px;
          min-height:44px;
          border-radius:14px;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          padding:10px 12px;
        }

        .ugc-cta-card{
          display:flex;
          flex-direction:column;
          gap:10px;
          padding:18px;
          border-radius:20px;
          border:1px solid var(--ap-page-border);
          background:
            linear-gradient(180deg, color-mix(in srgb, var(--ap-page-accent) 7%, transparent), transparent),
            var(--ap-page-bg-soft);
          color:var(--ap-page-text);
          box-shadow:var(--ap-shadow-sm);
        }

        .ugc-cta-card__actions{
          display:flex;
          gap:10px;
          flex-wrap:wrap;
        }

        .ugc-item__permalink{
          font-size:.85rem;
          color:var(--ap-page-muted);
          text-decoration:none;
        }

        .ugc-item__permalink:hover{
          color:var(--ap-page-accent);
        }

        .ugc-media-help{
          font-size:.84rem;
          color:var(--ap-page-muted);
        }

        .ugc-media-grid{
          display:grid;
          grid-template-columns:repeat(3,minmax(0,1fr));
          gap:10px;
        }

        .ugc-media-item{
          display:block;
          border-radius:14px;
          overflow:hidden;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          box-shadow:var(--ap-shadow-sm);
          transition:transform .18s ease, box-shadow .18s ease;
        }

        .ugc-media-item:hover{
          transform:translateY(-2px);
          box-shadow:var(--ap-shadow-md);
        }

        .ugc-media-item img{
          display:block;
          width:100%;
          height:140px;
          object-fit:cover;
        }

        .pp-hero{
          overflow:hidden;
        }

        .pp-hero::after{
          content:"";
          position:absolute;
          inset:auto -10% -30% auto;
          width:320px;
          height:320px;
          border-radius:999px;
          background:radial-gradient(circle, color-mix(in srgb, var(--ap-page-accent) 26%, transparent), transparent 68%);
          opacity:.9;
          pointer-events:none;
          filter:blur(8px);
        }

        .pp-block,
        .ugc-card,
        .ugc-cta-card,
        .public-page-aside{
          position:relative;
        }

        .pp-block::before,
        .ugc-card::before,
        .ugc-cta-card::before,
        .public-page-aside::before{
          content:"";
          position:absolute;
          inset:0;
          pointer-events:none;
          border-radius:inherit;
          background:linear-gradient(180deg, rgba(255,255,255,.08), transparent 22%);
          opacity:.55;
        }

        [data-theme="dark"] .pp-block::before,
        [data-theme="dark"] .ugc-card::before,
        [data-theme="dark"] .ugc-cta-card::before,
        [data-theme="dark"] .public-page-aside::before{
          background:linear-gradient(180deg, rgba(255,255,255,.04), transparent 22%);
        }

        .ugc-item{
          overflow:hidden;
        }

        .ugc-item__header{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
          flex-wrap:wrap;
        }

        .ugc-item__author-wrap{
          display:flex;
          align-items:center;
          gap:12px;
          min-width:0;
        }

        .ugc-avatar{
          width:44px;
          height:44px;
          border-radius:999px;
          display:inline-flex;
          align-items:center;
          justify-content:center;
          font-weight:800;
          font-size:.96rem;
          border:1px solid var(--ap-page-border);
          background:
            linear-gradient(135deg, color-mix(in srgb, var(--ap-page-accent) 22%, transparent), color-mix(in srgb, var(--ap-page-accent-2) 18%, transparent)),
            var(--ap-page-surface);
          color:var(--ap-page-text);
          box-shadow:var(--ap-shadow-sm);
          flex:0 0 auto;
        }

        .ugc-item__author-meta{
          display:flex;
          flex-direction:column;
          gap:4px;
          min-width:0;
        }

        .ugc-item__author-name{
          font-weight:800;
          line-height:1.2;
          color:var(--ap-page-text);
        }

        .ugc-item__submeta{
          display:flex;
          align-items:center;
          gap:8px;
          flex-wrap:wrap;
          color:var(--ap-page-muted);
          font-size:.88rem;
        }

        .ugc-item__statusline{
          display:flex;
          align-items:center;
          gap:8px;
          flex-wrap:wrap;
        }

        .ugc-section-divider{
          height:1px;
          border-radius:999px;
          background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ap-page-accent) 26%, transparent), transparent);
        }

        .ugc-media-grid{
          display:grid;
          grid-template-columns:repeat(3,minmax(0,1fr));
          gap:12px;
        }

        .ugc-media-item{
          position:relative;
          display:block;
          border-radius:16px;
          overflow:hidden;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          box-shadow:var(--ap-shadow-sm);
          transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
          cursor:pointer;
        }

        .ugc-media-item:hover{
          transform:translateY(-2px) scale(1.01);
          box-shadow:var(--ap-shadow-md);
          border-color:color-mix(in srgb, var(--ap-page-accent) 38%, var(--ap-page-border));
        }

        .ugc-media-item img{
          display:block;
          width:100%;
          height:150px;
          object-fit:cover;
          transition:transform .24s ease;
        }

        .ugc-media-item:hover img{
          transform:scale(1.035);
        }

        .ugc-media-item__overlay{
          position:absolute;
          inset:auto 0 0 0;
          display:flex;
          align-items:center;
          justify-content:space-between;
          gap:8px;
          padding:10px 12px;
          background:linear-gradient(180deg, transparent, rgba(0,0,0,.62));
          color:#fff;
          font-size:.82rem;
          font-weight:700;
        }

        .ugc-media-item__zoom{
          position:absolute;
          top:10px;
          right:10px;
          width:34px;
          height:34px;
          border-radius:999px;
          display:inline-flex;
          align-items:center;
          justify-content:center;
          background:rgba(0,0,0,.42);
          color:#fff;
          border:1px solid rgba(255,255,255,.18);
          backdrop-filter:blur(6px);
        }

        .ugc-media-item.is-more::after{
          content:attr(data-more);
          position:absolute;
          inset:0;
          display:flex;
          align-items:center;
          justify-content:center;
          background:rgba(2,6,23,.52);
          color:#fff;
          font-size:1.15rem;
          font-weight:900;
          letter-spacing:.02em;
          z-index:2;
        }

        .ugc-media-item.is-more img{
          filter:blur(1px) brightness(.7);
        }

        .ugc-toolbar form{
          padding:10px 12px;
          border-radius:16px;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface-2);
        }

        .ugc-summary-hero{
          position:relative;
          overflow:hidden;
        }

        .ugc-summary-hero::after{
          content:"";
          position:absolute;
          inset:auto -40px -40px auto;
          width:160px;
          height:160px;
          border-radius:999px;
          background:radial-gradient(circle, color-mix(in srgb, var(--ap-page-accent) 18%, transparent), transparent 70%);
          pointer-events:none;
        }

        .ugc-cta-card{
          overflow:hidden;
        }

        .ugc-cta-card__actions a:first-child{
          background:linear-gradient(135deg, var(--ap-page-accent), var(--ap-page-accent-2));
          color:#fff;
          border-color:transparent;
        }

        [data-theme="dark"] .ugc-cta-card__actions a:first-child{
          color:#07111f;
        }

        .ugc-empty-state{
          padding:18px;
          border-radius:18px;
          border:1px dashed var(--ap-page-border);
          background:var(--ap-page-surface-2);
          color:var(--ap-page-muted);
        }

        .activity-actions a i,
        .ugc-badge i,
        .pp-hero__chip i,
        .pp-hero__eyebrow i{
          opacity:.92;
        }

        .ugc-lightbox{
          position:fixed;
          inset:0;
          z-index:calc(var(--z-drawer, 1800) + 30);
          display:none;
          background:rgba(2,6,23,.86);
          backdrop-filter:blur(10px);
          padding:24px;
        }

        .ugc-lightbox.is-open{
          display:flex;
          align-items:center;
          justify-content:center;
        }

        .ugc-lightbox__dialog{
          position:relative;
          width:min(1100px, 100%);
          max-height:calc(100vh - 48px);
          display:grid;
          grid-template-columns:minmax(0,1fr);
          gap:14px;
        }

        .ugc-lightbox__stage{
          position:relative;
          display:flex;
          align-items:center;
          justify-content:center;
          min-height:320px;
          max-height:calc(100vh - 140px);
          border-radius:22px;
          overflow:hidden;
          border:1px solid rgba(255,255,255,.10);
          background:rgba(255,255,255,.04);
          box-shadow:0 30px 80px rgba(0,0,0,.38);
        }

        .ugc-lightbox__img{
          max-width:100%;
          max-height:calc(100vh - 170px);
          width:auto;
          height:auto;
          display:block;
          object-fit:contain;
        }

        .ugc-lightbox__close,
        .ugc-lightbox__nav{
          position:absolute;
          z-index:3;
          width:46px;
          height:46px;
          border-radius:999px;
          border:1px solid rgba(255,255,255,.18);
          background:rgba(15,23,42,.52);
          color:#fff;
          display:inline-flex;
          align-items:center;
          justify-content:center;
          cursor:pointer;
          backdrop-filter:blur(8px);
          transition:transform .18s ease, background-color .18s ease;
        }

        .ugc-lightbox__close:hover,
        .ugc-lightbox__nav:hover{
          transform:scale(1.04);
          background:rgba(15,23,42,.72);
        }

        .ugc-lightbox__close{
          top:14px;
          right:14px;
        }

        .ugc-lightbox__nav--prev{
          left:14px;
          top:50%;
          transform:translateY(-50%);
        }

        .ugc-lightbox__nav--next{
          right:14px;
          top:50%;
          transform:translateY(-50%);
        }

        .ugc-lightbox__nav--prev:hover,
        .ugc-lightbox__nav--next:hover{
          transform:translateY(-50%) scale(1.04);
        }

        .ugc-lightbox__caption{
          display:flex;
          align-items:center;
          justify-content:space-between;
          gap:12px;
          flex-wrap:wrap;
          padding:12px 4px 0;
          color:#e5eefb;
          font-size:.92rem;
        }

        .ugc-lightbox__counter{
          color:#c8d7ee;
          font-weight:700;
        }

        .ugc-lightbox__thumbs{
          display:flex;
          gap:10px;
          overflow:auto;
          padding:2px 2px 6px;
        }

        .ugc-lightbox__thumb{
          flex:0 0 auto;
          width:78px;
          height:62px;
          border-radius:12px;
          overflow:hidden;
          border:1px solid rgba(255,255,255,.14);
          background:rgba(255,255,255,.06);
          cursor:pointer;
          opacity:.75;
          transition:opacity .18s ease, transform .18s ease, border-color .18s ease;
        }

        .ugc-lightbox__thumb:hover,
        .ugc-lightbox__thumb.is-active{
          opacity:1;
          transform:translateY(-1px);
          border-color:rgba(255,255,255,.32);
        }

        .ugc-lightbox__thumb img{
          width:100%;
          height:100%;
          object-fit:cover;
          display:block;
        }

        @media (max-width: 960px){
          .ugc-item__header{
            align-items:flex-start;
          }
        }

        @media (max-width: 720px){
          .ugc-media-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
          }

          .ugc-media-item img{
            height:132px;
          }

          .ugc-lightbox{
            padding:12px;
          }

          .ugc-lightbox__stage{
            border-radius:16px;
          }

          .ugc-lightbox__close,
          .ugc-lightbox__nav{
            width:42px;
            height:42px;
          }

          .ugc-lightbox__caption{
            font-size:.88rem;
          }

          .ugc-lightbox__thumb{
            width:68px;
            height:54px;
          }
        }

        @media (max-width: 560px){
          .ugc-media-grid{
            grid-template-columns:1fr 1fr;
            gap:10px;
          }

          .ugc-avatar{
            width:40px;
            height:40px;
            font-size:.9rem;
          }

          .ugc-item{
            padding:14px;
          }

          .ugc-lightbox__nav--prev{
            left:8px;
          }

          .ugc-lightbox__nav--next{
            right:8px;
          }

          .ugc-lightbox__close{
            top:8px;
            right:8px;
          }
        }

        @media (max-width: 960px){
          .ugc-grid{
            grid-template-columns:1fr;
          }

          .ugc-form__row{
            grid-template-columns:1fr;
          }

          .public-page-shell,
          .public-page-shell.no-aside{
            grid-template-columns:1fr;
          }

          .public-page-aside.is-sticky{
            position:static;
          }

            .activity-mobile-info-panel{
              display:block;
            }

          .pp-hero{
            min-height:340px;
          }

          .pp-hero__inner{
            padding:24px;
          }

          .pp-block{
            padding:20px;
            border-radius:20px;
          }
        }

        @media (max-width: 720px){
          .activity-mobile-info-panel__head,
          .activity-mobile-info-panel__today{
            align-items:flex-start;
            flex-direction:column;
          }
            
          .activity-mobile-info-panel__today span{
            text-align:left;
          }
            
          .activity-mobile-info-panel__actions{
            grid-template-columns:1fr;
          }
            
          .public-page-shell{
            padding:20px 14px 0;
            gap:18px;
          }

          .pp-hero{
            min-height:300px;
          }

          .pp-hero__title{
            max-width:none;
          }

          .ugc-media-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
          }

          .ugc-summary-hero{
            padding:14px;
          }

          .ugc-card,
          .ugc-cta-card{
            padding:16px;
          }
        }

        @media (max-width: 560px){
          .ugc-media-grid{
            grid-template-columns:1fr 1fr;
          }

          .ugc-toolbar form{
            width:100%;
          }

          .ugc-toolbar label{
            flex:1 1 100%;
          }

          .ugc-toolbar select,
          .ugc-toolbar button{
            width:100%;
          }

          .pp-hero__chips{
            gap:8px;
          }

          .pp-hero__chip,
          .pp-hero__eyebrow{
            font-size:.8rem;
          }
        }
        
        .ugc-more-reviews{
          border:1px solid var(--ap-page-border);
          border-radius:18px;
          background:var(--ap-page-surface-2);
          padding:14px 16px;
        }
        
        .ugc-more-reviews__summary{
          cursor:pointer;
          font-weight:800;
          color:var(--ap-page-text);
          list-style:none;
        }
        
        .ugc-more-reviews__summary::-webkit-details-marker{
          display:none;
        }
        
        .ugc-more-reviews__summary::after{
          content:"▾";
          float:right;
          color:var(--ap-page-muted);
        }
        
        .ugc-more-reviews[open] .ugc-more-reviews__summary::after{
          content:"▴";
        }
        
        .community-hub{
          display:flex;
          flex-direction:column;
          gap:20px;
        }

        .community-hub__top{
          display:grid;
          grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
          gap:18px;
          align-items:stretch;
        }

        .community-hub__summary,
        .community-hub__cta{
          border:1px solid var(--ap-page-border);
          border-radius:20px;
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
          padding:18px;
          box-shadow:var(--ap-shadow-sm);
        }

        .community-hub__summary{
          display:flex;
          flex-direction:column;
          gap:16px;
        }

        .community-hub__rating{
          display:flex;
          align-items:center;
          gap:14px;
          flex-wrap:wrap;
        }

        .community-hub__score{
          font-size:2.4rem;
          font-weight:900;
          line-height:1;
          color:var(--ap-page-text);
        }

        .community-hub__meta{
          color:var(--ap-page-muted);
          font-size:.93rem;
        }

        .community-hub__dist{
          display:grid;
          gap:8px;
        }

        .community-hub__dist-row{
          display:grid;
          grid-template-columns:40px 1fr 34px;
          gap:10px;
          align-items:center;
          font-size:.88rem;
          color:var(--ap-page-muted);
        }

        .community-hub__dist-bar{
          height:8px;
          border-radius:999px;
          background:var(--ap-page-surface);
          overflow:hidden;
          border:1px solid var(--ap-page-border);
        }

        .community-hub__dist-bar > span{
          display:block;
          height:100%;
          border-radius:999px;
          background:linear-gradient(90deg, var(--ap-page-accent), var(--ap-page-accent-2));
        }

        .community-hub__cta{
          display:flex;
          flex-direction:column;
          justify-content:space-between;
          gap:14px;
        }

        .community-hub__cta-actions{
          display:flex;
          gap:10px;
          flex-wrap:wrap;
        }

        .community-hub__button,
        .community-drawer__button,
        .community-tab{
          appearance:none;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          border-radius:14px;
          min-height:44px;
          padding:0 14px;
          font:inherit;
          font-weight:800;
          cursor:pointer;
          transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
          box-shadow:var(--ap-shadow-sm);
        }

        .community-hub__button:hover,
        .community-drawer__button:hover,
        .community-tab:hover{
          transform:translateY(-1px);
          border-color:var(--ap-page-accent);
          box-shadow:var(--ap-shadow-md);
        }

        .community-hub__button--primary,
        .community-drawer__button--primary,
        .community-tab.is-active{
          background:linear-gradient(135deg, var(--ap-page-accent), var(--ap-page-accent-2));
          color:#fff;
          border-color:transparent;
        }

        [data-theme="dark"] .community-hub__button--primary,
        [data-theme="dark"] .community-drawer__button--primary,
        [data-theme="dark"] .community-tab.is-active{
          color:#07111f;
        }

        .community-hub__columns{
          display:grid;
          grid-template-columns:minmax(0,1fr) minmax(0,1fr);
          gap:18px;
        }

        .community-preview-card{
          border:1px solid var(--ap-page-border);
          border-radius:20px;
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
          padding:18px;
          display:flex;
          flex-direction:column;
          gap:16px;
          box-shadow:var(--ap-shadow-sm);
        }

        .community-preview-card__head{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
          flex-wrap:wrap;
        }

        .community-preview-list{
          display:flex;
          flex-direction:column;
          gap:12px;
        }

        .community-review-preview,
        .community-tip-preview{
          border:1px solid var(--ap-page-border);
          border-radius:16px;
          background:var(--ap-page-bg-soft);
          padding:14px;
          display:flex;
          flex-direction:column;
          gap:10px;
          box-shadow:var(--ap-shadow-sm);
        }

        .community-review-preview__top,
        .community-tip-preview__top{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:12px;
        }

        .community-review-preview__body,
        .community-tip-preview__body{
          line-height:1.65;
          color:var(--ap-page-text);
          font-size:.95rem;
          display:-webkit-box;
          -webkit-line-clamp:3;
          -webkit-box-orient:vertical;
          overflow:hidden;
        }

        .community-review-preview__meta,
        .community-tip-preview__meta{
          color:var(--ap-page-muted);
          font-size:.86rem;
          display:flex;
          gap:8px;
          flex-wrap:wrap;
        }

        .community-review-preview__chips{
          display:flex;
          gap:8px;
          flex-wrap:wrap;
        }

        .community-chip{
          display:inline-flex;
          align-items:center;
          gap:6px;
          min-height:28px;
          padding:4px 10px;
          border-radius:999px;
          font-size:.78rem;
          font-weight:700;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
        }

        .community-drawer{
          position:fixed;
          inset:0;
          z-index:calc(var(--z-drawer, 1800) + 20);
          display:none;
          background:color-mix(in srgb, var(--ap-page-text) 22%, transparent);
          backdrop-filter:blur(8px);
          padding:20px;
        }

        .community-drawer.is-open{
          display:flex;
          align-items:flex-end;
          justify-content:center;
        }

        .community-drawer__panel{
          width:min(1100px,100%);
          max-height:min(90vh,920px);
          background:var(--ap-page-bg-soft);
          border:1px solid var(--ap-page-border);
          border-radius:26px 26px 0 0;
          box-shadow:var(--ap-shadow-lg);
          overflow:hidden;
          display:flex;
          flex-direction:column;
          color:var(--ap-page-text);
        }
        
        .community-drawer__header{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:16px;
          padding:20px 20px 14px;
          border-bottom:1px solid var(--ap-page-border);
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
          color:var(--ap-page-text);
        }
        
        .community-drawer__tabs{
          display:flex;
          gap:10px;
          flex-wrap:wrap;
          padding:14px 20px 0;
          background:var(--ap-page-surface);
        }
        
        .community-drawer__content{
          padding:20px;
          overflow:auto;
          display:flex;
          flex-direction:column;
          gap:18px;
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
        }

        .community-pane{
          display:none;
          flex-direction:column;
          gap:18px;
        }

        .community-pane.is-active{
          display:flex;
        }

        .community-drawer__section{
          border:1px solid var(--ap-page-border);
          border-radius:20px;
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
          padding:18px;
          display:flex;
          flex-direction:column;
          gap:16px;
        }

        .community-inline-count{
          color:var(--ap-page-muted);
          font-size:.9rem;
          font-weight:700;
        }

        @media (max-width: 960px){
          .community-hub__top,
          .community-hub__columns{
            grid-template-columns:1fr;
          }

          .community-drawer{
            padding:10px;
          }

          .community-drawer__panel{
            max-height:94vh;
            border-radius:22px 22px 0 0;
          }
        }

        @media (max-width: 640px){
          .community-drawer__header,
          .community-drawer__content{
            padding-left:14px;
            padding-right:14px;
          }

          .community-drawer__tabs{
            padding-left:14px;
            padding-right:14px;
          }

          .community-hub__cta-actions{
            flex-direction:column;
          }

          .community-hub__button,
          .community-drawer__button{
            width:100%;
          }
        }
        
        @media (max-width: 720px){
          .pp-hero{
            min-height:360px;
            background-image:var(--pp-hero-mobile, var(--pp-hero-desktop));
            background-position:center;
          }
        
          .pp-hero__inner{
            padding:22px;
            max-width:100%;
          }
        
          .pp-hero__inner::before{
            inset:12px;
            border-radius:20px;
            backdrop-filter:blur(5px);
          }
        
          .pp-hero__title{
            font-size:clamp(1.75rem, 8vw, 2.35rem);
            /*max-width:14ch;*/
          }
        }
        
        .ugc-report-trigger{
          appearance:none;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-muted);
          width:34px;
          height:34px;
          border-radius:999px;
          display:inline-flex;
          align-items:center;
          justify-content:center;
          cursor:pointer;
          box-shadow:var(--ap-shadow-sm);
          transition:transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
        }
        
        .ugc-report-trigger:hover,
        .ugc-report-link:hover{
          transform:translateY(-1px);
          border-color:var(--ap-page-accent);
          color:var(--ap-page-accent);
          box-shadow:var(--ap-shadow-md);
        }
        
        .ugc-report-link{
          appearance:none;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          min-height:44px;
          border-radius:14px;
          padding:0 14px;
          display:inline-flex;
          align-items:center;
          justify-content:center;
          gap:10px;
          font:inherit;
          font-weight:700;
          cursor:pointer;
          box-shadow:var(--ap-shadow-sm);
          transition:transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
        }
        
        .report-modal{
          position:fixed;
          inset:0;
          z-index:10020;
          display:none;
          align-items:center;
          justify-content:center;
          padding:18px;
          background:color-mix(in srgb, var(--ap-page-text) 24%, transparent);
          backdrop-filter:blur(10px);
        }
        
        .report-modal.is-open{
          display:flex;
        }
        
        .report-modal__dialog{
          width:min(620px, 100%);
          color:var(--ap-page-text);
          background:var(--ap-page-bg-soft);
          border:1px solid var(--ap-page-border);
          border-radius:24px;
          box-shadow:var(--ap-shadow-lg);
          overflow:hidden;
        }
        
        .report-modal__header{
          display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:16px;
          padding:18px 18px 14px;
          border-bottom:1px solid var(--ap-page-border);
          background:linear-gradient(180deg, var(--ap-page-surface-2), transparent);
        }
        
        .report-modal__close{
          appearance:none;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          width:40px;
          height:40px;
          border-radius:999px;
          display:inline-flex;
          align-items:center;
          justify-content:center;
          cursor:pointer;
        }
        
        .report-modal__form{
          display:flex;
          flex-direction:column;
          gap:14px;
          padding:18px;
        }
        
        .report-modal__form label{
          display:flex;
          flex-direction:column;
          gap:6px;
          color:var(--ap-page-text);
          font-size:.92rem;
        }
        
        .report-modal__form select,
        .report-modal__form textarea{
          width:100%;
          border:1px solid var(--ap-page-border);
          background:var(--ap-page-surface);
          color:var(--ap-page-text);
          border-radius:14px;
          padding:12px 14px;
          font:inherit;
        }
        
        .report-modal__form textarea{
          resize:vertical;
          min-height:120px;
        }
        
        .report-modal__actions{
          display:flex;
          justify-content:flex-end;
          gap:10px;
          flex-wrap:wrap;
        }
        
        .activity-public-map-card{
          display:flex;
          flex-direction:column;
          gap:10px;
          margin-top:2px;
        }
        
        .activity-public-map-card__head{
          display:flex;
          flex-direction:column;
          gap:4px;
        }
        
        .activity-public-map-card__head strong{
          display:flex;
          align-items:center;
          gap:8px;
          font-size:.98rem;
          color:var(--ap-page-text);
        }
        
        .activity-public-map-card__head span{
          font-size:.86rem;
          color:var(--ap-page-muted);
          line-height:1.35;
        }
        
        .activity-public-map{
          border:1px solid var(--ap-page-border);
          box-shadow:var(--ap-shadow-sm);
        }
        
        @media (max-width: 820px){
          .activity-public-map{
            min-height:240px;
          }
        }
        
        .public-fidelity-chip{
            display:inline-flex;
            align-items:center;
            gap:8px;
            padding:10px 14px;
            border-radius:999px;
            color:#062018;
            background:color-mix(in srgb, var(--portal-accent, #5eead4) 88%, #fff 12%);
            border:1px solid rgba(255,255,255,.45);
            box-shadow:0 14px 30px rgba(0,0,0,.18);
            font-weight:950;
            text-decoration:none;
        }
        
        .public-fidelity-panel{
            position:relative;
            overflow:hidden;
            border:1px solid color-mix(in srgb, var(--portal-accent, #5eead4) 28%, var(--portal-border-soft, rgba(255,255,255,.16)));
            border-radius:24px;
            padding:18px;
            background:
                radial-gradient(circle at top right, color-mix(in srgb, var(--portal-accent, #5eead4) 18%, transparent), transparent 38%),
                linear-gradient(180deg, var(--portal-glass-strong, rgba(255,255,255,.10)), var(--portal-glass-soft, rgba(255,255,255,.05)));
            box-shadow:0 18px 42px rgba(0,0,0,.18);
        }
        
        .public-fidelity-panel__head{
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:14px;
            margin-bottom:14px;
        }
        
        .public-fidelity-panel__title{
            margin:0;
            font-size:1.12rem;
            line-height:1.2;
            color:var(--portal-text, #eff6ff);
        }
        
        .public-fidelity-panel__intro{
            margin:6px 0 0;
            color:var(--portal-muted, #b6c6df);
            line-height:1.5;
            font-size:.94rem;
        }
        
        .public-fidelity-panel__icon{
            width:44px;
            height:44px;
            border-radius:16px;
            display:grid;
            place-items:center;
            color:var(--portal-accent, #5eead4);
            background:color-mix(in srgb, var(--portal-accent, #5eead4) 12%, transparent);
            border:1px solid color-mix(in srgb, var(--portal-accent, #5eead4) 24%, transparent);
            flex:0 0 auto;
        }
        
        .public-fidelity-panel__benefit{
            display:grid;
            gap:8px;
            padding:14px;
            border-radius:18px;
            border:1px solid var(--portal-border-soft, rgba(255,255,255,.16));
            background:rgba(255,255,255,.055);
        }
        
        .public-fidelity-panel__benefit span{
            color:var(--portal-muted, #b6c6df);
            font-size:.78rem;
            font-weight:950;
            text-transform:uppercase;
            letter-spacing:.045em;
        }
        
        .public-fidelity-panel__benefit strong{
            color:var(--portal-text, #eff6ff);
            font-size:1.08rem;
            line-height:1.25;
        }
        
        .public-fidelity-panel__text{
            margin:12px 0 0;
            color:var(--portal-muted, #b6c6df);
            line-height:1.6;
        }
        
        .public-fidelity-panel__terms{
            margin-top:12px;
            padding:12px 14px;
            border-radius:16px;
            border:1px dashed color-mix(in srgb, var(--portal-accent, #5eead4) 28%, var(--portal-border-soft, rgba(255,255,255,.16)));
            color:var(--portal-muted, #b6c6df);
            line-height:1.55;
            font-size:.92rem;
        }
        
        .public-fidelity-panel__cta{
            display:flex;
            align-items:center;
            justify-content:center;
            gap:9px;
            margin-top:14px;
            min-height:44px;
            border-radius:16px;
            color:#062018;
            background:var(--portal-accent, #5eead4);
            font-weight:950;
            text-decoration:none;
        }
        
        .public-fidelity-panel__cta:hover{
            transform:translateY(-1px);
        }
        
        .public-fidelity-aside{
            margin-bottom:16px;
        }
        
        .public-fidelity-aside{
            margin-bottom:16px;
            padding:15px;
            border-radius:20px;
        }
        
        .public-fidelity-aside .public-fidelity-panel__head{
            margin-bottom:12px;
        }
        
        .public-fidelity-aside .public-fidelity-panel__title{
            font-size:1rem;
        }
        
        .public-fidelity-aside .public-fidelity-panel__intro{
            font-size:.86rem;
            line-height:1.4;
        }
        
        .public-fidelity-aside .public-fidelity-panel__icon{
            width:38px;
            height:38px;
            border-radius:14px;
        }
        
        .public-fidelity-aside .public-fidelity-panel__benefit{
            padding:11px 12px;
            border-radius:15px;
        }
        
        .public-fidelity-aside .public-fidelity-panel__benefit strong{
            font-size:.98rem;
        }
        
        .public-fidelity-panel__text--compact{
            display:-webkit-box;
            -webkit-line-clamp:3;
            -webkit-box-orient:vertical;
            overflow:hidden;
            margin:10px 0 0;
            font-size:.88rem;
            line-height:1.45;
        }
        
        .public-fidelity-panel__mini-meta{
            display:grid;
            gap:8px;
            margin-top:10px;
            font-size:.86rem;
            color:var(--portal-muted, #b6c6df);
        }
        
        .public-fidelity-panel__mini-meta > span{
            display:block;
            padding:9px 10px;
            border-radius:13px;
            border:1px solid var(--portal-border-soft, rgba(255,255,255,.16));
            background:rgba(255,255,255,.045);
        }
        
        .public-fidelity-panel__details{
            border:1px solid var(--portal-border-soft, rgba(255,255,255,.16));
            border-radius:13px;
            background:rgba(255,255,255,.045);
            overflow:hidden;
        }
        
        .public-fidelity-panel__details summary{
            cursor:pointer;
            padding:9px 10px;
            font-weight:850;
            color:var(--portal-text, #eff6ff);
        }
        
        .public-fidelity-panel__details div{
            max-height:140px;
            overflow:auto;
            padding:0 10px 10px;
            line-height:1.45;
        }
        
        .public-fidelity-aside .public-fidelity-panel__cta{
            min-height:40px;
            margin-top:12px;
            border-radius:14px;
            font-size:.9rem;
            color: var(--text);
        }