/* RolandGym Design System Foundation v5.3.2 - shared, mobile-first, opt-in UI. */
@layer rg.tokens, rg.base, rg.components, rg.layouts, rg.utilities, rg.responsive;

@layer rg.tokens {
  :root {
    color-scheme: dark;
    --rgds-color-canvas:#05070a;
    --rgds-color-surface:#0a0e13;
    --rgds-color-surface-raised:#10161d;
    --rgds-color-surface-muted:#151c24;
    --rgds-color-text:#f7f8fa;
    --rgds-color-text-muted:#a7b0bd;
    --rgds-color-text-subtle:#7f8a99;
    --rgds-color-gold:#f4b21b;
    --rgds-color-gold-strong:#ffd56a;
    --rgds-color-gold-soft:rgba(244,178,27,.12);
    --rgds-color-line:rgba(255,255,255,.10);
    --rgds-color-line-strong:rgba(255,213,106,.28);
    --rgds-color-success:#65d389;
    --rgds-color-warning:#ffca5c;
    --rgds-color-danger:#ff7b87;
    --rgds-color-info:#75bfff;
    --rgds-color-focus:#ffe08a;
    --rgds-color-overlay:rgba(2,4,7,.78);
    --rgds-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --rgds-font-size-xs:.75rem;
    --rgds-font-size-sm:.875rem;
    --rgds-font-size-md:1rem;
    --rgds-font-size-lg:1.125rem;
    --rgds-font-size-xl:1.375rem;
    --rgds-font-size-2xl:1.75rem;
    --rgds-font-size-3xl:2.25rem;
    --rgds-line-tight:1.18;
    --rgds-line-body:1.5;
    --rgds-line-relaxed:1.65;
    --rgds-weight-medium:600;
    --rgds-weight-strong:750;
    --rgds-weight-display:900;
    --rgds-space-0:0;
    --rgds-space-1:.25rem;
    --rgds-space-2:.5rem;
    --rgds-space-3:.75rem;
    --rgds-space-4:1rem;
    --rgds-space-5:1.25rem;
    --rgds-space-6:1.5rem;
    --rgds-space-8:2rem;
    --rgds-space-10:2.5rem;
    --rgds-space-12:3rem;
    --rgds-radius-sm:4px;
    --rgds-radius-md:6px;
    --rgds-radius-lg:8px;
    --rgds-radius-round:999px;
    --rgds-shadow-raised:0 12px 28px rgba(0,0,0,.28);
    --rgds-shadow-overlay:0 24px 60px rgba(0,0,0,.48);
    --rgds-focus-ring:0 0 0 3px rgba(255,224,138,.36);
    --rgds-control-sm:2.25rem;
    --rgds-control-md:2.75rem;
    --rgds-control-lg:3.25rem;
    --rgds-content-readable:46rem;
    --rgds-content-wide:90rem;
    --rgds-gutter:clamp(.75rem,2.6vw,2rem);
    --rgds-safe-top:env(safe-area-inset-top,0px);
    --rgds-safe-right:env(safe-area-inset-right,0px);
    --rgds-safe-bottom:env(safe-area-inset-bottom,0px);
    --rgds-safe-left:env(safe-area-inset-left,0px);
    --rgds-duration-fast:120ms;
    --rgds-duration-medium:180ms;
    --rgds-duration-slow:240ms;
    --rgds-ease-standard:cubic-bezier(.2,0,0,1);
    --rgds-z-sticky:20;
    --rgds-z-fixed:40;
    --rgds-z-overlay:100;
    --rgds-z-toast:120;
  }
}

@layer rg.base {
  .rgds-app,.rgds-app *,.rgds-app *::before,.rgds-app *::after{box-sizing:border-box}
  .rgds-app{min-width:0;min-height:100vh;min-height:100dvh;color:var(--rgds-color-text);background-color:var(--rgds-color-canvas);font-family:var(--rgds-font-sans);line-height:var(--rgds-line-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;accent-color:var(--rgds-color-gold)}
  .rgds-app :where(button,input,select,textarea){min-block-size:var(--rgds-control-md);font:inherit}
  .rgds-app :where(button,[role="button"],summary){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .rgds-app :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--rgds-color-focus)!important;outline-offset:3px!important;box-shadow:var(--rgds-focus-ring)}
  .rgds-app ::selection{color:var(--rgds-color-canvas);background:var(--rgds-color-gold-strong)}
  .rgds-app :where(img,video,canvas,svg){max-inline-size:100%}
  .rgds-app :where(p,li){overflow-wrap:anywhere}
  @media (prefers-reduced-motion:reduce){.rgds-app *,.rgds-app *::before,.rgds-app *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
  @media (forced-colors:active){.rgds-app :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:Highlight!important}}
}

@layer rg.components {
  .rgds-button{display:inline-flex;min-width:0;min-height:var(--rgds-control-md);align-items:center;justify-content:center;gap:var(--rgds-space-2);padding:.65rem 1rem;border:1px solid transparent;border-radius:var(--rgds-radius-lg);background:var(--rgds-color-surface-raised);color:var(--rgds-color-text);font-size:var(--rgds-font-size-sm);font-weight:var(--rgds-weight-strong);line-height:1.2;letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--rgds-duration-medium) var(--rgds-ease-standard),border-color var(--rgds-duration-medium) var(--rgds-ease-standard),color var(--rgds-duration-medium) var(--rgds-ease-standard),transform var(--rgds-duration-fast) var(--rgds-ease-standard)}
  .rgds-button:hover{border-color:var(--rgds-color-line-strong);background:var(--rgds-color-surface-muted)}
  .rgds-button:active{transform:translateY(1px)}
  .rgds-button:disabled,.rgds-button[aria-disabled="true"]{opacity:.48;pointer-events:none}
  .rgds-button--primary{background:var(--rgds-color-gold);color:#111317}
  .rgds-button--primary:hover{border-color:var(--rgds-color-gold-strong);background:var(--rgds-color-gold-strong)}
  .rgds-button--secondary{border-color:var(--rgds-color-line);background:transparent}
  .rgds-button--quiet{min-height:var(--rgds-control-sm);padding-inline:var(--rgds-space-2);border-color:transparent;background:transparent;color:var(--rgds-color-text-muted)}
  .rgds-button--danger{border-color:rgba(255,123,135,.34);background:rgba(255,123,135,.1);color:#ffc3c9}
  .rgds-icon-button{display:inline-grid;inline-size:var(--rgds-control-md);min-inline-size:var(--rgds-control-md);block-size:var(--rgds-control-md);place-items:center;padding:0;border:1px solid var(--rgds-color-line);border-radius:var(--rgds-radius-lg);background:transparent;color:var(--rgds-color-text);cursor:pointer}
  .rgds-field{display:grid;min-width:0;gap:var(--rgds-space-2)}
  .rgds-field__label{color:var(--rgds-color-text-muted);font-size:var(--rgds-font-size-xs);font-weight:var(--rgds-weight-strong)}
  .rgds-field__hint,.rgds-field__error{margin:0;color:var(--rgds-color-text-subtle);font-size:var(--rgds-font-size-xs);line-height:1.4}
  .rgds-field__error{color:var(--rgds-color-danger)}
  .rgds-input,.rgds-select,.rgds-textarea{width:100%;min-width:0;min-height:var(--rgds-control-md);padding:.7rem .8rem;border:1px solid var(--rgds-color-line);border-radius:var(--rgds-radius-lg);background:var(--rgds-color-surface);color:var(--rgds-color-text);font-size:var(--rgds-font-size-md)}
  .rgds-textarea{min-height:7rem;resize:vertical}
  .rgds-input::placeholder,.rgds-textarea::placeholder{color:var(--rgds-color-text-subtle)}
  .rgds-badge{display:inline-flex;min-height:1.6rem;align-items:center;gap:var(--rgds-space-1);padding:.2rem .5rem;border:1px solid var(--rgds-color-line);border-radius:var(--rgds-radius-round);color:var(--rgds-color-text-muted);font-size:var(--rgds-font-size-xs);font-weight:var(--rgds-weight-strong);line-height:1}
  .rgds-badge[data-tone="success"]{border-color:rgba(101,211,137,.36);color:var(--rgds-color-success)}
  .rgds-badge[data-tone="warning"]{border-color:rgba(255,202,92,.36);color:var(--rgds-color-warning)}
  .rgds-badge[data-tone="danger"]{border-color:rgba(255,123,135,.36);color:var(--rgds-color-danger)}
  .rgds-badge[data-tone="info"]{border-color:rgba(117,191,255,.36);color:var(--rgds-color-info)}
  .rgds-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--rgds-space-3);padding:var(--rgds-space-3) var(--rgds-space-4);border-left:3px solid var(--rgds-color-info);border-radius:var(--rgds-radius-md);background:rgba(117,191,255,.08);color:var(--rgds-color-text)}
  .rgds-alert[data-tone="success"]{border-left-color:var(--rgds-color-success);background:rgba(101,211,137,.08)}
  .rgds-alert[data-tone="warning"]{border-left-color:var(--rgds-color-warning);background:rgba(255,202,92,.08)}
  .rgds-alert[data-tone="danger"]{border-left-color:var(--rgds-color-danger);background:rgba(255,123,135,.08)}
  .rgds-surface{min-width:0;padding:var(--rgds-space-4);border:1px solid var(--rgds-color-line);border-radius:var(--rgds-radius-lg);background:var(--rgds-color-surface)}
  .rgds-surface--flat{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .rgds-list{display:grid;min-width:0;margin:0;padding:0;list-style:none}
  .rgds-list-row{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--rgds-space-3);padding-block:var(--rgds-space-3);border-bottom:1px solid var(--rgds-color-line)}
  .rgds-list-row:last-child{border-bottom:0}
  .rgds-state{display:grid;min-height:8rem;place-items:center;gap:var(--rgds-space-2);padding:var(--rgds-space-6);color:var(--rgds-color-text-muted);text-align:center}
  .rgds-state__title{margin:0;color:var(--rgds-color-text);font-size:var(--rgds-font-size-lg)}
  .rgds-state__message{max-width:34rem;margin:0;font-size:var(--rgds-font-size-sm)}
  .rgds-skeleton{min-height:.9rem;overflow:hidden;border-radius:var(--rgds-radius-md);background:var(--rgds-color-surface-muted);position:relative}
  .rgds-skeleton::after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);content:"";transform:translateX(-100%);animation:rgds-skeleton 1.4s infinite}
  @keyframes rgds-skeleton{to{transform:translateX(100%)}}
  .rgds-dialog-backdrop{position:fixed;inset:0;z-index:var(--rgds-z-overlay);display:grid;place-items:center;padding:max(var(--rgds-space-4),var(--rgds-safe-top)) max(var(--rgds-space-4),var(--rgds-safe-right)) max(var(--rgds-space-4),var(--rgds-safe-bottom)) max(var(--rgds-space-4),var(--rgds-safe-left));background:var(--rgds-color-overlay);backdrop-filter:blur(8px)}
  .rgds-dialog{width:min(100%,34rem);max-height:calc(100dvh - var(--rgds-space-8));overflow:auto;padding:var(--rgds-space-5);border:1px solid var(--rgds-color-line);border-radius:var(--rgds-radius-lg);background:var(--rgds-color-surface-raised);box-shadow:var(--rgds-shadow-overlay)}
  .rgds-accordion{border-bottom:1px solid var(--rgds-color-line)}
  .rgds-accordion>summary{min-height:var(--rgds-control-md);padding-block:var(--rgds-space-3);color:var(--rgds-color-text);font-weight:var(--rgds-weight-strong);cursor:pointer}
  .rgds-accordion__body{padding-block:0 var(--rgds-space-4);color:var(--rgds-color-text-muted)}
}

@layer rg.layouts {
  .rgds-page{width:min(100%,var(--rgds-content-wide));min-height:100vh;min-height:100dvh;margin-inline:auto;padding:max(var(--rgds-gutter),var(--rgds-safe-top)) max(var(--rgds-gutter),var(--rgds-safe-right)) max(var(--rgds-gutter),var(--rgds-safe-bottom)) max(var(--rgds-gutter),var(--rgds-safe-left))}
  .rgds-content{width:min(100%,var(--rgds-content-readable));min-width:0;margin-inline:auto}
  .rgds-stack{display:flex;min-width:0;flex-direction:column;gap:var(--rgds-stack-gap,var(--rgds-space-4))}
  .rgds-cluster{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--rgds-cluster-gap,var(--rgds-space-3))}
  .rgds-grid{display:grid;min-width:0;grid-template-columns:repeat(var(--rgds-grid-columns,1),minmax(0,1fr));gap:var(--rgds-grid-gap,var(--rgds-space-4))}
  .rgds-section{min-width:0;padding-block:var(--rgds-space-5);border-bottom:1px solid var(--rgds-color-line)}
  .rgds-section:last-child{border-bottom:0}
  .rgds-section__header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--rgds-space-4);margin-bottom:var(--rgds-space-4)}
  .rgds-section__title{margin:0;font-size:var(--rgds-font-size-xl);line-height:var(--rgds-line-tight);letter-spacing:0}
  .rgds-section__description{max-width:42rem;margin:var(--rgds-space-1) 0 0;color:var(--rgds-color-text-muted);font-size:var(--rgds-font-size-sm)}
}

@layer rg.utilities {
  .rgds-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .rgds-hidden{display:none!important}.rgds-grow{flex:1 1 auto;min-width:0}.rgds-no-shrink{flex-shrink:0}.rgds-text-muted{color:var(--rgds-color-text-muted)}.rgds-text-danger{color:var(--rgds-color-danger)}.rgds-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rgds-full-width{width:100%}.rgds-no-frame{border:0!important;background:transparent!important;box-shadow:none!important}.rgds-safe-bottom{padding-bottom:max(var(--rgds-space-4),var(--rgds-safe-bottom))}
}

@layer rg.responsive {
  @media (max-width:47.99rem){
    .rgds-page{width:100%;padding-inline:max(.75rem,var(--rgds-safe-left)) max(.75rem,var(--rgds-safe-right))}
    .rgds-surface[data-mobile="flat"]{padding-inline:0;border:0;border-radius:0;background:transparent;box-shadow:none}
    .rgds-dialog-backdrop[data-mobile="sheet"]{align-items:end;padding:0}
    .rgds-dialog-backdrop[data-mobile="sheet"] .rgds-dialog{width:100%;max-height:calc(100dvh - var(--rgds-safe-top));padding-bottom:max(var(--rgds-space-5),var(--rgds-safe-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:var(--rgds-radius-lg) var(--rgds-radius-lg) 0 0}
    .rgds-section__header{display:grid}
  }
  @media (min-width:48rem){.rgds-grid[data-columns="2"]{--rgds-grid-columns:2}.rgds-grid[data-columns="3"]{--rgds-grid-columns:3}.rgds-grid[data-columns="4"]{--rgds-grid-columns:4}.rgds-app{scrollbar-gutter:stable}}
  @media (min-width:80rem){:root{--rgds-gutter:2rem}}
}
