
/* v1.1.0-rc9 — CSS governance pass 7:
 * legacy plugin design variables must be namespaced; shared surfaces consume
 * canonical --beguigo-* tokens. Component-local game/feature state colours may
 * remain local but must not leak generic :root variables into the ecosystem.
 */
/* BEGUIGO canonical component system v0.5.0. Presentation only. */
.beguigo-c{--c-border:var(--beguigo-theme-line);--c-bg:linear-gradient(180deg,#121c2d,#0e1726);--c-accent:#9eabbc;position:relative;min-width:0;border:1px solid var(--c-border);background:var(--c-bg);border-radius:var(--beguigo-theme-radius);padding:18px;color:var(--beguigo-theme-text)}
.beguigo-c__label{display:block;color:var(--beguigo-theme-muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.beguigo-c__title{display:block;margin-top:3px;color:#fff;font-size:1rem;font-weight:900;line-height:1.3}
.beguigo-c__value{display:block;margin-top:4px;color:#fff;font-size:1.35rem;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.beguigo-c__text,.beguigo-c__content{display:block;margin-top:6px;color:#b9c3d1;font-size:.9rem;line-height:1.55}
.beguigo-c__content>:first-child{margin-top:0}.beguigo-c__content>:last-child{margin-bottom:0}
.beguigo-c__link{display:inline-flex;margin-top:12px;color:#fff;font-size:.86rem;font-weight:850;text-decoration:none}.beguigo-c__link:hover{text-decoration:underline}
.beguigo-c.is-positive{--c-border:rgba(46,199,154,.45);--c-accent:#76edc6}.beguigo-c.is-warning{--c-border:rgba(216,165,44,.48);--c-accent:#f5cb66}.beguigo-c.is-danger{--c-border:rgba(241,91,93,.48);--c-accent:#ff8d8f}.beguigo-c.is-info{--c-border:rgba(45,174,199,.44);--c-accent:#77dced}.beguigo-c.is-locked{--c-border:rgba(123,98,217,.42);--c-accent:#b5a5ff}.beguigo-c.is-accent{--c-border:rgba(241,91,93,.4);--c-accent:#ff9294}.beguigo-c.is-muted{opacity:.78}
.beguigo-c--notice{padding:15px 17px 15px 18px;border-left:3px solid var(--c-accent)}
.beguigo-c--badge,.beguigo-c--status-pill{display:inline-flex;align-items:center;gap:6px;width:auto;min-height:27px;padding:5px 10px;border-radius:999px;background:#162237;font-size:.72rem;font-weight:850}.beguigo-c--badge .beguigo-c__label,.beguigo-c--status-pill .beguigo-c__label{color:var(--c-accent);font-size:inherit;letter-spacing:.04em}.beguigo-c--badge .beguigo-c__value,.beguigo-c--status-pill .beguigo-c__value{display:inline;margin:0;font-size:inherit}
.beguigo-c--metric{min-height:100px}.beguigo-c--metric:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--c-accent)}
.beguigo-c--action-card{display:flex;flex-direction:column;min-height:150px;transition:transform .18s ease,border-color .18s ease}.beguigo-c--action-card:hover{transform:translateY(-2px)}.beguigo-c--action-card .beguigo-c__link{margin-top:auto;padding-top:14px}
.beguigo-c--empty-state{padding:32px;border-style:dashed;text-align:center}.beguigo-c--empty-state .beguigo-c__title{font-size:1.08rem}.beguigo-c--panel{padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.beguigo-panel{border:1px solid var(--beguigo-theme-line);background:var(--beguigo-theme-surface);border-radius:var(--beguigo-theme-radius);padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.beguigo-badge{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#162237;color:#dce4ef;font-size:.72rem;font-weight:850}.beguigo-badge--beguigo-theme-positive{background:rgba(46,199,154,.12);color:#76edc6}.beguigo-badge--warning{background:rgba(216,165,44,.13);color:#f5cb66}.beguigo-badge--danger{background:rgba(241,91,93,.13);color:#ff8d8f}
.beguigo-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.beguigo-empty-state{padding:32px;border:1px dashed var(--beguigo-theme-line);border-radius:var(--beguigo-theme-radius);text-align:center;color:var(--beguigo-theme-muted)}

/* Cross-plugin visual contract. Existing plugin classes are intentionally
 * normalised here without changing their markup or semantics. */
.beguigo-theme :where(.beguigo-notice,.nan-notice,.bma-notice,.bg-notice){border:1px solid var(--beguigo-theme-line);border-radius:14px;background:#101827;color:#eaf0f7;box-shadow:none}
.beguigo-theme :where(.beguigo-notice--success,.nan-notice--success,.is-success,.is-positive)[class*="notice"]{border-color:rgba(46,199,154,.38)}
.beguigo-theme :where(.beguigo-notice--warning,.nan-notice--warning,.is-warning)[class*="notice"]{border-color:rgba(216,165,44,.42)}
.beguigo-theme :where(.beguigo-notice--error,.nan-notice--error,.is-error,.is-danger)[class*="notice"]{border-color:rgba(241,91,93,.42)}
.beguigo-theme :where(.beguigo-card,.nan-card,.bma-card,.bg-card,.beguigo-panel,.nan-panel){border-color:var(--beguigo-theme-line)!important;border-radius:var(--beguigo-theme-radius)!important;box-shadow:none}
.beguigo-theme :where(.beguigo-status-badge,.nan-status-badge,.badge-locked,.beguigo-badge,.nan-badge){border-radius:999px!important;font-weight:850}
.beguigo-theme :where(.badge-locked,.is-locked.beguigo-badge,.is-locked.nan-badge){border:1px solid rgba(123,98,217,.35)!important;background:rgba(123,98,217,.12)!important;color:#c7bcff!important}
.beguigo-theme :where(.beguigo-empty,.nan-empty,.bma-empty,.empty-state){border-radius:var(--beguigo-theme-radius);color:var(--beguigo-theme-muted)}
.beguigo-theme :where(.beguigo-confirm-box,.beguigo-confirmation,.nan-confirmation,.nan-confirm-box){border:1px solid var(--beguigo-theme-line)!important;border-radius:16px!important;background:#0d1728!important;box-shadow:none!important}
.beguigo-theme :where(.beguigo-action-card,.nan-action-card,.bma-action-card){border-color:var(--beguigo-theme-line)!important;border-radius:16px!important;background:linear-gradient(145deg,#111d30,#0c1524)!important;box-shadow:none!important}
.beguigo-theme :where(.beguigo-action-card,.nan-action-card,.bma-action-card):hover{border-color:#40516c!important}
.beguigo-theme :where(.beguigo-metric,.nan-metric,.bma-metric){font-variant-numeric:tabular-nums}
.beguigo-theme :where(.beguigo-help,.nan-help,.bma-help,.beguigo-helper,.nan-helper){color:var(--beguigo-theme-muted);font-size:.84rem;line-height:1.5}
.beguigo-theme :where(.beguigo-section-title,.nan-section-title,.bma-section-title){color:#fff;letter-spacing:-.025em}
.beguigo-theme :where(.beguigo-eyebrow,.nan-eyebrow,.bma-eyebrow){font-size:.74rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}

@media(max-width:600px){.beguigo-c{padding:15px}.beguigo-c--panel{padding:17px}.beguigo-c--empty-state{padding:24px 17px}}


/* v1.1.0-rc7 — CSS governance pass 5: canonical notices/cards/badges/tables/accordions.
 * Width/layout stays component-owned; shared visual treatment is theme-owned. */
.beguigo-notice{border:1px solid var(--beguigo-surface-border);border-left:3px solid var(--beguigo-notice-info);border-radius:var(--beguigo-card-radius);background:var(--beguigo-notice-info-bg);color:var(--beguigo-surface-text);padding:14px 16px}
.beguigo-notice--success{border-color:color-mix(in srgb,var(--beguigo-notice-success) 42%,var(--beguigo-surface-border));border-left-color:var(--beguigo-notice-success);background:var(--beguigo-notice-success-bg)}
.beguigo-notice--warning{border-color:color-mix(in srgb,var(--beguigo-notice-warning) 42%,var(--beguigo-surface-border));border-left-color:var(--beguigo-notice-warning);background:var(--beguigo-notice-warning-bg)}
.beguigo-notice--danger,.beguigo-notice--error{border-color:color-mix(in srgb,var(--beguigo-notice-danger) 42%,var(--beguigo-surface-border));border-left-color:var(--beguigo-notice-danger);background:var(--beguigo-notice-danger-bg)}
.beguigo-card,.beguigo-panel{border:1px solid var(--beguigo-surface-border);border-radius:var(--beguigo-card-radius);background:var(--beguigo-surface-bg);color:var(--beguigo-surface-text);box-shadow:none}
.beguigo-badge,.beguigo-status-badge{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:5px 9px;border:1px solid var(--beguigo-surface-border);border-radius:999px;background:var(--beguigo-badge-bg);color:var(--beguigo-badge-text);font-size:.72rem;font-weight:850}
.beguigo-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--beguigo-surface-border);border-radius:var(--beguigo-card-radius);overflow:hidden;background:var(--beguigo-table-row-bg);color:var(--beguigo-surface-text)}
.beguigo-table th{background:var(--beguigo-table-header-bg);color:var(--beguigo-surface-text)}
.beguigo-table th,.beguigo-table td{border-color:var(--beguigo-surface-border);padding:12px}
.beguigo-accordion{border:1px solid var(--beguigo-accordion-border);border-radius:var(--beguigo-card-radius);background:var(--beguigo-accordion-bg);overflow:hidden}
.beguigo-accordion>summary{cursor:pointer;color:var(--beguigo-surface-text)}

/* Existing plugin markup consumes the same canonical presentation without requiring
 * immediate markup rewrites. Plugin rules may still own layout/state dimensions. */
.beguigo-theme :where(.beguigo-context-notice,.beguigo-notifications__notice,.bma-status,.blm-banner,.bac-notice,.woocommerce-message,.woocommerce-info,.woocommerce-error){border-radius:var(--beguigo-card-radius)!important;box-shadow:none!important}
.beguigo-theme :where(.bma-overview-card,.bma-quick-card,.bma-dashboard-panel,.blm-card,.bac-card,.bac-case,.nan-bps-user-section,.nan-bps-user-advisor article,.bgbps-ongoing-panel,.bgbps-ongoing-summary article){border-color:var(--beguigo-surface-border)!important;border-radius:var(--beguigo-card-radius)!important;box-shadow:none}
.beguigo-theme :where(.bma-content table,.bma-content .shop_table,.bac-account-view .bac-user-table,.nan-bps-user-table,.nan-bps-leaderboard){border-color:var(--beguigo-surface-border)!important;color:var(--beguigo-surface-text)!important}
.beguigo-theme :where(.bma-content table,.bma-content .shop_table,.bac-account-view .bac-user-table){background:var(--beguigo-table-row-bg)!important}
.beguigo-theme :where(.bma-content table th,.bma-content .shop_table th,.bac-account-view .bac-user-table th){background:var(--beguigo-table-header-bg)!important;color:var(--beguigo-surface-text)!important}
.beguigo-theme :where(.blm-accordion,.bac-action-details,.bac-full-detail){border-color:var(--beguigo-accordion-border)!important;border-radius:var(--beguigo-card-radius)!important;background:var(--beguigo-accordion-bg)!important}
.beguigo-theme :where(.blm-accordion>summary,.bac-action-details>summary,.bac-full-detail>summary){color:var(--beguigo-surface-text)!important}

/* CSS governance pass 5 — plugin CSS must not define generic global tokens such as --primary/--beguigo-theme-accent/--card.
 * Shared visual surfaces consume --beguigo-* tokens; feature/game state colours remain plugin-owned. */


/* Global JavaScript capability warning. Static browsing remains available;
   interactive surfaces opt in to blocking with .beguigo-js-dependent. */
.beguigo-global-js-warning{position:relative;z-index:95;border-bottom:1px solid color-mix(in srgb,var(--beguigo-notice-warning) 42%,var(--beguigo-theme-line));background:color-mix(in srgb,var(--beguigo-notice-warning) 8%,var(--beguigo-theme-bg-soft));color:var(--beguigo-theme-text)}
.beguigo-global-js-warning__inner{display:flex;align-items:flex-start;gap:14px;padding-block:16px}
.beguigo-global-js-warning__icon{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--beguigo-notice-warning);color:#111827;font-weight:950;line-height:1}
.beguigo-global-js-warning__content{min-width:0}
.beguigo-global-js-warning__title{display:block;margin:0 0 4px;font-size:1rem;font-weight:900;color:var(--beguigo-theme-text)}
.beguigo-global-js-warning p{margin:0;color:var(--beguigo-theme-text);line-height:1.5}
.beguigo-global-js-warning__help{margin-top:3px!important;color:var(--beguigo-theme-muted)!important;font-size:.9rem}
html.js .beguigo-no-js-only{display:none!important}
@media(max-width:600px){.beguigo-global-js-warning__inner{gap:11px;padding-block:14px}.beguigo-global-js-warning__icon{flex-basis:32px;width:32px;height:32px}}


/* No-JavaScript progressive fallback. Keep the site readable and remove any
   legacy processing state that normally relies on JavaScript to clear it. */
html.no-js body.processing,
html.no-js body.nan-challenge-surface.processing{pointer-events:auto!important}
html.no-js body.processing::before,
html.no-js body.processing::after,
html.no-js body.nan-challenge-surface.processing::before,
html.no-js body.nan-challenge-surface.processing::after{content:none!important;display:none!important}
html.no-js .loader,
html.no-js .beguigo-loader,
html.no-js [class*="__loading"],
html.no-js [class*="-loading"]{display:none!important}
html.no-js .beguigo-js-dependent{display:none!important}

.beguigo-nojs-component-message{margin:18px auto;padding:18px 20px;max-width:920px;border:1px solid color-mix(in srgb,var(--beguigo-notice-warning) 38%,var(--beguigo-theme-line));border-radius:16px;background:color-mix(in srgb,var(--beguigo-notice-warning) 7%,var(--beguigo-theme-bg-soft));color:var(--beguigo-theme-text);text-align:center}
.beguigo-nojs-component-message strong{display:block;margin-bottom:5px;color:var(--beguigo-theme-text);font-weight:900}
.beguigo-nojs-component-message p{margin:0;color:var(--beguigo-theme-muted);line-height:1.5}

/* Global no-JavaScript master policy. Strict modes remain intentional, visible
   states rather than processing/error overlays. */
.beguigo-global-js-warning--limited,.beguigo-global-js-warning--block{border-bottom-width:2px}
.beguigo-global-js-warning--block{min-height:100vh;display:flex;align-items:center;border-bottom:0;background:var(--beguigo-theme-bg);}
.beguigo-global-js-warning--block .beguigo-global-js-warning__inner{width:min(920px,calc(100% - 32px));margin:auto;padding:44px 30px;border:1px solid color-mix(in srgb,var(--beguigo-notice-warning) 44%,var(--beguigo-theme-line));border-radius:var(--beguigo-card-radius);background:color-mix(in srgb,var(--beguigo-notice-warning) 8%,var(--beguigo-theme-bg-soft));}
.beguigo-global-js-warning--block .beguigo-global-js-warning__icon{flex-basis:48px;width:48px;height:48px;font-size:1.2rem}
.beguigo-global-js-warning--block .beguigo-global-js-warning__title{font-size:clamp(1.25rem,2.6vw,1.75rem)}
@media(max-width:600px){.beguigo-global-js-warning--block .beguigo-global-js-warning__inner{width:min(100% - 24px,920px);padding:30px 20px}}
