/* ============================================
MATRIX POWERTAG - Combined Stylesheet
Generated from Next.js build output
============================================ */

/* --- Font Fallbacks (CLS optimization) --- */
@font-face {
  font-family:Montserrat Fallback;
  src:local(Arial);
  ascent-override:85.79%;
  descent-override:22.25%;
  line-gap-override:0.0%;
  size-adjust:112.83%
}
@font-face {
  font-family:Noto Sans JP Fallback;
  src:local(Arial);
  ascent-override:110.73%;
  descent-override:27.49%;
  line-gap-override:0.0%;
  size-adjust:104.76%
}
.montserrat_2f6ba378-module__x6Ry1W__className {
  font-family:Montserrat,Montserrat Fallback;
  font-style:normal
}
.montserrat_2f6ba378-module__x6Ry1W__variable {
  --font-montserrat:"Montserrat","Montserrat Fallback"
}
.noto_sans_jp_befdc8c2-module__oae0iG__className {
  font-family:Noto Sans JP,Noto Sans JP Fallback;
  font-style:normal
}
.noto_sans_jp_befdc8c2-module__oae0iG__variable {
  --font-noto-sans-jp:"Noto Sans JP","Noto Sans JP Fallback"
}


/* --- Tailwind Base & Utilities (240f...) --- */
@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
    *,:before,:after,::backdrop {
      --tw-translate-x:0;
      --tw-translate-y:0;
      --tw-translate-z:0;
      --tw-rotate-x:initial;
      --tw-rotate-y:initial;
      --tw-rotate-z:initial;
      --tw-skew-x:initial;
      --tw-skew-y:initial;
      --tw-space-y-reverse:0;
      --tw-border-style:solid;
      --tw-leading:initial;
      --tw-font-weight:initial;
      --tw-tracking:initial;
      --tw-backdrop-blur:initial;
      --tw-backdrop-brightness:initial;
      --tw-backdrop-contrast:initial;
      --tw-backdrop-grayscale:initial;
      --tw-backdrop-hue-rotate:initial;
      --tw-backdrop-invert:initial;
      --tw-backdrop-opacity:initial;
      --tw-backdrop-saturate:initial;
      --tw-backdrop-sepia:initial;
      --tw-duration:initial;
      --tw-ease:initial;
      --tw-shadow:0 0 #0000;
      --tw-shadow-color:initial;
      --tw-shadow-alpha:100%;
      --tw-inset-shadow:0 0 #0000;
      --tw-inset-shadow-color:initial;
      --tw-inset-shadow-alpha:100%;
      --tw-ring-color:initial;
      --tw-ring-shadow:0 0 #0000;
      --tw-inset-ring-color:initial;
      --tw-inset-ring-shadow:0 0 #0000;
      --tw-ring-inset:initial;
      --tw-ring-offset-width:0px;
      --tw-ring-offset-color:#fff;
      --tw-ring-offset-shadow:0 0 #0000
    }
  }
}@layer theme {
  :root,:host {
    --font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --color-red-500:#fb2c36;
    --color-black:#000;
    --color-white:#fff;
    --spacing:.25rem;
    --text-xs:.75rem;
    --text-xs--line-height:calc(1/.75);
    --text-sm:.875rem;
    --text-sm--line-height:calc(1.25/.875);
    --text-base:1rem;
    --text-base--line-height:calc(1.5/1);
    --text-lg:1.125rem;
    --text-lg--line-height:calc(1.75/1.125);
    --text-xl:1.25rem;
    --text-xl--line-height:calc(1.75/1.25);
    --text-2xl:1.5rem;
    --text-2xl--line-height:calc(2/1.5);
    --text-3xl:1.875rem;
    --text-3xl--line-height:calc(2.25/1.875);
    --text-4xl:2.25rem;
    --text-4xl--line-height:calc(2.5/2.25);
    --text-5xl:3rem;
    --text-5xl--line-height:1;
    --text-6xl:3.75rem;
    --text-6xl--line-height:1;
    --text-8xl:6rem;
    --text-8xl--line-height:1;
    --font-weight-semibold:600;
    --font-weight-bold:700;
    --font-weight-extrabold:800;
    --font-weight-black:900;
    --tracking-tight:-.025em;
    --tracking-wider:.05em;
    --tracking-widest:.1em;
    --leading-tight:1.25;
    --leading-relaxed:1.625;
    --ease-out:cubic-bezier(0,0,.2,1);
    --blur-sm:8px;
    --default-transition-duration:.15s;
    --default-transition-timing-function:cubic-bezier(.4,0,.2,1);
    --default-font-family:var(--font-sans);
    --default-mono-font-family:var(--font-mono);
    --color-accent:var(--color-accent);
    --color-accent-hover:var(--color-accent-hover);
    --color-accent-light:var(--color-accent-light);
    --color-bg:var(--color-bg);
    --color-bg-alt:var(--color-bg-alt);
    --color-bg-dark:var(--color-bg-dark);
    --color-bg-dark-alt:var(--color-bg-dark-alt);
    --color-text:var(--color-text);
    --color-text-secondary:var(--color-text-secondary);
    --color-text-muted:var(--color-text-muted);
    --color-text-on-dark:var(--color-text-on-dark);
    --color-text-on-dark-secondary:var(--color-text-on-dark-secondary);
    --color-line:var(--color-line);
    --color-line-dark:var(--color-line-dark)
  }@supports (color:lab(0% 0 0)) {
    :root,:host {
      --color-red-500:lab(55.4814% 75.0732 48.8528)
    }
  }
}@layer base {
  *,:after,:before,::backdrop {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }::file-selector-button {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }html,:host {
    -webkit-text-size-adjust:100%;
    tab-size:4;
    line-height:1.5;
    font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");
    font-feature-settings:var(--default-font-feature-settings,normal);
    font-variation-settings:var(--default-font-variation-settings,normal);
    -webkit-tap-highlight-color:transparent
  }hr {
    height:0;
    color:inherit;
    border-top-width:1px
  }abbr:where([title]) {
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted
  }h1,h2,h3,h4,h5,h6 {
    font-size:inherit;
    font-weight:inherit
  }a {
    color:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    -webkit-text-decoration:inherit;
    text-decoration:inherit
  }b,strong {
    font-weight:bolder
  }code,kbd,samp,pre {
    font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);
    font-feature-settings:var(--default-mono-font-feature-settings,normal);
    font-variation-settings:var(--default-mono-font-variation-settings,normal);
    font-size:1em
  }small {
    font-size:80%
  }sub,sup {
    vertical-align:baseline;
    font-size:75%;
    line-height:0;
    position:relative
  }sub {
    bottom:-.25em
  }sup {
    top:-.5em
  }table {
    text-indent:0;
    border-color:inherit;
    border-collapse:collapse
  }:-moz-focusring {
    outline:auto
  }progress {
    vertical-align:baseline
  }summary {
    display:list-item
  }ol,ul,menu {
    list-style:none
  }img,svg,video,canvas,audio,iframe,embed,object {
    vertical-align:middle;
    display:block
  }img,video {
    max-width:100%;
    height:auto
  }button,input,select,optgroup,textarea {
    font:inherit;
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0
  }::file-selector-button {
    font:inherit;
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0
  }:where(select:is([multiple],[size])) optgroup {
    font-weight:bolder
  }:where(select:is([multiple],[size])) optgroup option {
    padding-inline-start:20px
  }::file-selector-button {
    margin-inline-end:4px
  }::placeholder {
    opacity:1
  }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
    ::placeholder {
      color:currentColor
    }@supports (color:color-mix(in lab, red, red)) {
      ::placeholder {
        color:color-mix(in oklab,currentcolor 50%,transparent)
      }
    }
  }textarea {
    resize:vertical
  }::-webkit-search-decoration {
    -webkit-appearance:none
  }::-webkit-date-and-time-value {
    min-height:1lh;
    text-align:inherit
  }::-webkit-datetime-edit {
    display:inline-flex
  }::-webkit-datetime-edit-fields-wrapper {
    padding:0
  }::-webkit-datetime-edit {
    padding-block:0
  }::-webkit-datetime-edit-year-field {
    padding-block:0
  }::-webkit-datetime-edit-month-field {
    padding-block:0
  }::-webkit-datetime-edit-day-field {
    padding-block:0
  }::-webkit-datetime-edit-hour-field {
    padding-block:0
  }::-webkit-datetime-edit-minute-field {
    padding-block:0
  }::-webkit-datetime-edit-second-field {
    padding-block:0
  }::-webkit-datetime-edit-millisecond-field {
    padding-block:0
  }::-webkit-datetime-edit-meridiem-field {
    padding-block:0
  }::-webkit-calendar-picker-indicator {
    line-height:1
  }:-moz-ui-invalid {
    box-shadow:none
  }button,input:where([type=button],[type=reset],[type=submit]) {
    appearance:button
  }::file-selector-button {
    appearance:button
  }::-webkit-inner-spin-button {
    height:auto
  }::-webkit-outer-spin-button {
    height:auto
  }[hidden]:where(:not([hidden=until-found])) {
    display:none!important
  }
}@layer components;
@layer utilities {
  .absolute {
    position:absolute
  }.fixed {
    position:fixed
  }.relative {
    position:relative
  }.inset-0 {
    inset:calc(var(--spacing)*0)
  }.top-0 {
    top:calc(var(--spacing)*0)
  }.right-0 {
    right:calc(var(--spacing)*0)
  }.bottom-0 {
    bottom:calc(var(--spacing)*0)
  }.left-0 {
    left:calc(var(--spacing)*0)
  }.z-10 {
    z-index:10
  }.z-50 {
    z-index:50
  }.z-\[100\] {
    z-index:100
  }.mx-auto {
    margin-inline:auto
  }.mt-\[2px\] {
    margin-top:2px
  }.mt-\[24px\] {
    margin-top:24px
  }.mt-\[48px\] {
    margin-top:48px
  }.mb-\[4px\] {
    margin-bottom:4px
  }.mb-\[8px\] {
    margin-bottom:8px
  }.mb-\[16px\] {
    margin-bottom:16px
  }.mb-\[24px\] {
    margin-bottom:24px
  }.mb-\[32px\] {
    margin-bottom:32px
  }.mb-\[48px\] {
    margin-bottom:48px
  }.mb-\[64px\] {
    margin-bottom:64px
  }.ml-\[4px\] {
    margin-left:4px
  }.ml-\[16px\] {
    margin-left:16px
  }.ml-\[32px\] {
    margin-left:32px
  }.block {
    display:block
  }.flex {
    display:flex
  }.grid {
    display:grid
  }.hidden {
    display:none
  }.inline-block {
    display:inline-block
  }.table {
    display:table
  }.aspect-\[16\/9\] {
    aspect-ratio:16/9
  }.aspect-\[16\/10\] {
    aspect-ratio:16/10
  }.h-0 {
    height:calc(var(--spacing)*0)
  }.h-6 {
    height:calc(var(--spacing)*6)
  }.h-\[2px\] {
    height:2px
  }.h-\[20px\] {
    height:20px
  }.h-\[28px\] {
    height:28px
  }.h-\[64px\] {
    height:64px
  }.h-\[120px\] {
    height:120px
  }.h-auto {
    height:auto
  }.h-full {
    height:100%
  }.max-h-\[40px\] {
    max-height:40px
  }.max-h-\[56px\] {
    max-height:56px
  }.max-h-\[80px\] {
    max-height:80px
  }.min-h-screen {
    min-height:100vh
  }.w-\[24px\] {
    width:24px
  }.w-\[45\%\] {
    width:45%
  }.w-\[64px\] {
    width:64px
  }.w-\[300px\] {
    width:300px
  }.w-\[calc\(50\%-12px\)\] {
    width:calc(50% - 12px)
  }.w-auto {
    width:auto
  }.w-full {
    width:100%
  }.max-w-\[65\%\] {
    max-width:65%
  }.max-w-\[500px\] {
    max-width:500px
  }.max-w-\[600px\] {
    max-width:600px
  }.max-w-\[640px\] {
    max-width:640px
  }.max-w-\[800px\] {
    max-width:800px
  }.max-w-\[1200px\] {
    max-width:1200px
  }.shrink-0 {
    flex-shrink:0
  }.origin-left {
    transform-origin:0
  }.-translate-x-1\/2 {
    --tw-translate-x:calc(calc(1/2*100%)*-1);
    translate:var(--tw-translate-x)var(--tw-translate-y)
  }.-translate-y-\[8px\] {
    --tw-translate-y:calc(8px*-1);
    translate:var(--tw-translate-x)var(--tw-translate-y)
  }.translate-y-\[3px\] {
    --tw-translate-y:3px;
    translate:var(--tw-translate-x)var(--tw-translate-y)
  }.translate-y-\[8px\] {
    --tw-translate-y:8px;
    translate:var(--tw-translate-x)var(--tw-translate-y)
  }.-rotate-45 {
    rotate:-45deg
  }.rotate-45 {
    rotate:45deg
  }.rotate-180 {
    rotate:180deg
  }.transform {
    transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)
  }.cursor-pointer {
    cursor:pointer
  }.scroll-mt-\[64px\] {
    scroll-margin-top:64px
  }.grid-cols-1 {
    grid-template-columns:repeat(1,minmax(0,1fr))
  }.grid-cols-2 {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }.flex-col {
    flex-direction:column
  }.flex-wrap {
    flex-wrap:wrap
  }.items-center {
    align-items:center
  }.items-start {
    align-items:flex-start
  }.justify-between {
    justify-content:space-between
  }.justify-center {
    justify-content:center
  }.gap-6 {
    gap:calc(var(--spacing)*6)
  }.gap-\[6px\] {
    gap:6px
  }.gap-\[8px\] {
    gap:8px
  }.gap-\[16px\] {
    gap:16px
  }.gap-\[24px\] {
    gap:24px
  }.gap-\[32px\] {
    gap:32px
  }.gap-x-\[24px\] {
    column-gap:24px
  }.gap-x-\[32px\] {
    column-gap:32px
  }.gap-y-\[8px\] {
    row-gap:8px
  }.gap-y-\[16px\] {
    row-gap:16px
  }:where(.space-y-\[8px\]>:not(:last-child)) {
    --tw-space-y-reverse:0;
    margin-block-start:calc(8px*var(--tw-space-y-reverse));
    margin-block-end:calc(8px*calc(1 - var(--tw-space-y-reverse)))
  }:where(.space-y-\[24px\]>:not(:last-child)) {
    --tw-space-y-reverse:0;
    margin-block-start:calc(24px*var(--tw-space-y-reverse));
    margin-block-end:calc(24px*calc(1 - var(--tw-space-y-reverse)))
  }:where(.space-y-\[32px\]>:not(:last-child)) {
    --tw-space-y-reverse:0;
    margin-block-start:calc(32px*var(--tw-space-y-reverse));
    margin-block-end:calc(32px*calc(1 - var(--tw-space-y-reverse)))
  }.self-center {
    align-self:center
  }.overflow-hidden {
    overflow:hidden
  }.overflow-x-auto {
    overflow-x:auto
  }.rounded {
    border-radius:.25rem
  }.rounded-\[var\(--radius-button\)\] {
    border-radius:var(--radius-button)
  }.rounded-\[var\(--radius-card\)\] {
    border-radius:var(--radius-card)
  }.rounded-\[var\(--radius-input\)\] {
    border-radius:var(--radius-input)
  }.rounded-full {
    border-radius:3.40282e38px
  }.border {
    border-style:var(--tw-border-style);
    border-width:1px
  }.border-t {
    border-top-style:var(--tw-border-style);
    border-top-width:1px
  }.border-b {
    border-bottom-style:var(--tw-border-style);
    border-bottom-width:1px
  }.border-b-2 {
    border-bottom-style:var(--tw-border-style);
    border-bottom-width:2px
  }.border-\[var\(--color-accent\)\] {
    border-color:var(--color-accent)
  }.border-\[var\(--color-line\)\] {
    border-color:var(--color-line)
  }.border-\[var\(--color-line-dark\)\] {
    border-color:var(--color-line-dark)
  }.bg-\[\#f0f0f0\] {
    background-color:#f0f0f0
  }.bg-\[var\(--color-accent\)\] {
    background-color:var(--color-accent)
  }.bg-\[var\(--color-accent-light\)\] {
    background-color:var(--color-accent-light)
  }.bg-\[var\(--color-bg\)\] {
    background-color:var(--color-bg)
  }.bg-\[var\(--color-bg-alt\)\] {
    background-color:var(--color-bg-alt)
  }.bg-\[var\(--color-bg-dark\)\],.bg-\[var\(--color-bg-dark\)\]\/95 {
    background-color:var(--color-bg-dark)
  }@supports (color:color-mix(in lab, red, red)) {
    .bg-\[var\(--color-bg-dark\)\]\/95 {
      background-color:color-mix(in oklab,var(--color-bg-dark)95%,transparent)
    }
  }.bg-\[var\(--color-bg-dark-alt\)\] {
    background-color:var(--color-bg-dark-alt)
  }.bg-\[var\(--color-team\)\] {
    background-color:var(--color-team)
  }.bg-\[var\(--color-text-on-dark\)\] {
    background-color:var(--color-text-on-dark)
  }.bg-black\/60 {
    background-color:#0009
  }@supports (color:color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color:color-mix(in oklab,var(--color-black)60%,transparent)
    }
  }.bg-white {
    background-color:var(--color-white)
  }.bg-white\/20 {
    background-color:#fff3
  }@supports (color:color-mix(in lab, red, red)) {
    .bg-white\/20 {
      background-color:color-mix(in oklab,var(--color-white)20%,transparent)
    }
  }.object-contain {
    object-fit:contain
  }.object-cover {
    object-fit:cover
  }.p-\[16px\] {
    padding:16px
  }.p-\[24px\] {
    padding:24px
  }.p-\[32px\] {
    padding:32px
  }.px-\[8px\] {
    padding-inline:8px
  }.px-\[16px\] {
    padding-inline:16px
  }.px-\[24px\] {
    padding-inline:24px
  }.px-\[32px\] {
    padding-inline:32px
  }.px-\[48px\] {
    padding-inline:48px
  }.py-\[4px\] {
    padding-block:4px
  }.py-\[16px\] {
    padding-block:16px
  }.py-\[32px\] {
    padding-block:32px
  }.py-\[48px\] {
    padding-block:48px
  }.pt-\[16px\] {
    padding-top:16px
  }.pt-\[48px\] {
    padding-top:48px
  }.pt-\[64px\] {
    padding-top:64px
  }.pb-\[16px\] {
    padding-bottom:16px
  }.pb-\[24px\] {
    padding-bottom:24px
  }.pb-\[32px\] {
    padding-bottom:32px
  }.pb-\[64px\] {
    padding-bottom:64px
  }.text-center {
    text-align:center
  }.text-left {
    text-align:left
  }.text-2xl {
    font-size:var(--text-2xl);
    line-height:var(--tw-leading,var(--text-2xl--line-height))
  }.text-3xl {
    font-size:var(--text-3xl);
    line-height:var(--tw-leading,var(--text-3xl--line-height))
  }.text-4xl {
    font-size:var(--text-4xl);
    line-height:var(--tw-leading,var(--text-4xl--line-height))
  }.text-5xl {
    font-size:var(--text-5xl);
    line-height:var(--tw-leading,var(--text-5xl--line-height))
  }.text-6xl {
    font-size:var(--text-6xl);
    line-height:var(--tw-leading,var(--text-6xl--line-height))
  }.text-base {
    font-size:var(--text-base);
    line-height:var(--tw-leading,var(--text-base--line-height))
  }.text-lg {
    font-size:var(--text-lg);
    line-height:var(--tw-leading,var(--text-lg--line-height))
  }.text-sm {
    font-size:var(--text-sm);
    line-height:var(--tw-leading,var(--text-sm--line-height))
  }.text-xl {
    font-size:var(--text-xl);
    line-height:var(--tw-leading,var(--text-xl--line-height))
  }.text-xs {
    font-size:var(--text-xs);
    line-height:var(--tw-leading,var(--text-xs--line-height))
  }.text-\[10px\] {
    font-size:10px
  }.leading-relaxed {
    --tw-leading:var(--leading-relaxed);
    line-height:var(--leading-relaxed)
  }.leading-tight {
    --tw-leading:var(--leading-tight);
    line-height:var(--leading-tight)
  }.font-black {
    --tw-font-weight:var(--font-weight-black);
    font-weight:var(--font-weight-black)
  }.font-bold {
    --tw-font-weight:var(--font-weight-bold);
    font-weight:var(--font-weight-bold)
  }.font-extrabold {
    --tw-font-weight:var(--font-weight-extrabold);
    font-weight:var(--font-weight-extrabold)
  }.font-semibold {
    --tw-font-weight:var(--font-weight-semibold);
    font-weight:var(--font-weight-semibold)
  }.tracking-tight {
    --tw-tracking:var(--tracking-tight);
    letter-spacing:var(--tracking-tight)
  }.tracking-wider {
    --tw-tracking:var(--tracking-wider);
    letter-spacing:var(--tracking-wider)
  }.tracking-widest {
    --tw-tracking:var(--tracking-widest);
    letter-spacing:var(--tracking-widest)
  }.whitespace-pre-line {
    white-space:pre-line
  }.text-\[var\(--color-accent\)\] {
    color:var(--color-accent)
  }.text-\[var\(--color-text\)\] {
    color:var(--color-text)
  }.text-\[var\(--color-text-muted\)\] {
    color:var(--color-text-muted)
  }.text-\[var\(--color-text-on-dark\)\] {
    color:var(--color-text-on-dark)
  }.text-\[var\(--color-text-on-dark-secondary\)\] {
    color:var(--color-text-on-dark-secondary)
  }.text-\[var\(--color-text-secondary\)\] {
    color:var(--color-text-secondary)
  }.text-red-500 {
    color:var(--color-red-500)
  }.text-white {
    color:var(--color-white)
  }.text-white\/70 {
    color:#ffffffb3
  }@supports (color:color-mix(in lab, red, red)) {
    .text-white\/70 {
      color:color-mix(in oklab,var(--color-white)70%,transparent)
    }
  }.uppercase {
    text-transform:uppercase
  }.underline {
    text-decoration-line:underline
  }.underline-offset-2 {
    text-underline-offset:2px
  }.underline-offset-4 {
    text-underline-offset:4px
  }.antialiased {
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
  }.opacity-0 {
    opacity:0
  }.opacity-20 {
    opacity:.2
  }.opacity-100 {
    opacity:1
  }.backdrop-blur-sm {
    --tw-backdrop-blur:blur(var(--blur-sm));
    -webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);
    backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)
  }.transition-all {
    transition-property:all;
    transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));
    transition-duration:var(--tw-duration,var(--default-transition-duration))
  }.transition-colors {
    transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;
    transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));
    transition-duration:var(--tw-duration,var(--default-transition-duration))
  }.transition-opacity {
    transition-property:opacity;
    transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));
    transition-duration:var(--tw-duration,var(--default-transition-duration))
  }.transition-transform {
    transition-property:transform,translate,scale,rotate;
    transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));
    transition-duration:var(--tw-duration,var(--default-transition-duration))
  }.duration-200 {
    --tw-duration:.2s;
    transition-duration:.2s
  }.duration-300 {
    --tw-duration:.3s;
    transition-duration:.3s
  }.duration-500 {
    --tw-duration:.5s;
    transition-duration:.5s
  }.ease-out {
    --tw-ease:var(--ease-out);
    transition-timing-function:var(--ease-out)
  }.last\:mb-0:last-child {
    margin-bottom:calc(var(--spacing)*0)
  }@media (hover:hover) {
    .hover\:-translate-y-\[2px\]:hover {
      --tw-translate-y:calc(2px*-1);
      translate:var(--tw-translate-x)var(--tw-translate-y)
    }.hover\:-translate-y-\[4px\]:hover {
      --tw-translate-y:calc(4px*-1);
      translate:var(--tw-translate-x)var(--tw-translate-y)
    }.hover\:border-\[var\(--color-accent\)\]:hover {
      border-color:var(--color-accent)
    }.hover\:bg-\[var\(--color-accent-hover\)\]:hover {
      background-color:var(--color-accent-hover)
    }.hover\:bg-\[var\(--color-accent-light\)\]:hover {
      background-color:var(--color-accent-light)
    }.hover\:text-\[var\(--color-accent\)\]:hover {
      color:var(--color-accent)
    }.hover\:underline:hover {
      text-decoration-line:underline
    }.hover\:opacity-70:hover {
      opacity:.7
    }.hover\:shadow-md:hover {
      --tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);
      box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }
  }.focus\:border-\[var\(--color-accent\)\]:focus {
    border-color:var(--color-accent)
  }.focus\:outline-none:focus {
    --tw-outline-style:none;
    outline-style:none
  }.disabled\:cursor-not-allowed:disabled {
    cursor:not-allowed
  }.disabled\:opacity-50:disabled {
    opacity:.5
  }@media not all and (min-width:48rem) {
    .max-md\:max-w-full {
      max-width:100%
    }
  }@media (min-width:40rem) {
    .sm\:h-\[28px\] {
      height:28px
    }.sm\:h-\[36px\] {
      height:36px
    }.sm\:flex-row {
      flex-direction:row
    }
  }@media (min-width:48rem) {
    /* display */
    .md\:block {
      display:block
    }
    /* flex */
    .md\:flex-row {
      flex-direction:row
    }.md\:flex-1 {
      flex:1 1 0%
    }
    /* grid */
    .md\:grid-cols-3 {
      grid-template-columns:repeat(3,minmax(0,1fr))
    }.md\:grid-cols-4 {
      grid-template-columns:repeat(4,minmax(0,1fr))
    }
    /* sizing */
    .md\:h-\[200px\] {
      height:200px
    }.md\:max-h-\[48px\] {
      max-height:48px
    }.md\:max-h-\[72px\] {
      max-height:72px
    }.md\:max-h-\[100px\] {
      max-height:100px
    }.md\:w-\[35\%\] {
      width:35%
    }.md\:w-\[400px\] {
      width:400px
    }.md\:w-\[calc\(25\%-24px\)\] {
      width:calc(25% - 24px)
    }
    /* alignment */
    .md\:items-start {
      align-items:flex-start
    }.md\:items-center {
      align-items:center
    }.md\:items-end {
      align-items:end
    }.md\:self-end {
      align-self:end
    }
    /* margin */
    .md\:mt-\[32px\] {
      margin-top:32px
    }
    /* gap & spacing */
    .md\:gap-\[32px\] {
      gap:32px
    }.md\:gap-x-\[32px\] {
      column-gap:32px
    }.md\:gap-y-\[16px\] {
      row-gap:16px
    }.md\:gap-\[48px\] {
      gap:48px
    }:where(.md\:space-y-\[40px\]>:not(:last-child)) {
      --tw-space-y-reverse:0;
      margin-block-start:calc(40px*var(--tw-space-y-reverse));
      margin-block-end:calc(40px*calc(1 - var(--tw-space-y-reverse)))
    }
    /* padding */
    .md\:px-\[48px\] {
      padding-inline:48px
    }.md\:py-\[64px\] {
      padding-block:64px
    }.md\:py-\[96px\] {
      padding-block:96px
    }.md\:pt-\[80px\] {
      padding-top:80px
    }.md\:pb-\[128px\] {
      padding-bottom:128px
    }
    /* typography */
    .md\:text-left {
      text-align:left
    }.md\:text-2xl {
      font-size:var(--text-2xl);
      line-height:var(--tw-leading,var(--text-2xl--line-height))
    }.md\:text-3xl {
      font-size:var(--text-3xl);
      line-height:var(--tw-leading,var(--text-3xl--line-height))
    }.md\:text-5xl {
      font-size:var(--text-5xl);
      line-height:var(--tw-leading,var(--text-5xl--line-height))
    }.md\:text-6xl {
      font-size:var(--text-6xl);
      line-height:var(--tw-leading,var(--text-6xl--line-height))
    }.md\:text-8xl {
      font-size:var(--text-8xl);
      line-height:var(--tw-leading,var(--text-8xl--line-height))
    }
  }@media (min-width:64rem) {
    .lg\:flex {
      display:flex
    }.lg\:hidden {
      display:none
    }.lg\:h-\[36px\] {
      height:36px
    }.lg\:h-\[44px\] {
      height:44px
    }.lg\:grid-cols-5 {
      grid-template-columns:repeat(5,minmax(0,1fr))
    }
  }
}:root {
  --color-accent:#14ba9b;
  --color-accent-hover:#11a88b;
  --color-accent-light:#14ba9b1a;
  --color-team:#14ba9b;
  --color-bg:#fff;
  --color-bg-alt:#f5f5f5;
  --color-bg-dark:#1a1a1a;
  --color-bg-dark-alt:#222;
  --color-text:#1a1a1a;
  --color-text-secondary:#555;
  --color-text-muted:#888;
  --color-text-on-dark:#f5f5f5;
  --color-text-on-dark-secondary:#ccc;
  --color-line:#e0e0e0;
  --color-line-dark:#333;
  --sp-1:8px;
  --sp-2:16px;
  --sp-3:24px;
  --sp-4:32px;
  --sp-6:48px;
  --sp-8:64px;
  --sp-12:96px;
  --sp-16:128px;
  --radius-card:12px;
  --radius-button:10px;
  --radius-input:8px;
  --font-heading:var(--font-montserrat),sans-serif;
  --font-body:var(--font-noto-sans-jp),sans-serif
}body {
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body)
}h1,h2,h3,h4,h5,h6 {
  font-family:var(--font-heading)
}@media (prefers-reduced-motion:reduce) {
  *,:before,:after {
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important
  }
}@property --tw-translate-x {
  syntax:"*";
  inherits:false;
  initial-value:0
}@property --tw-translate-y {
  syntax:"*";
  inherits:false;
  initial-value:0
}@property --tw-translate-z {
  syntax:"*";
  inherits:false;
  initial-value:0
}@property --tw-rotate-x {
  syntax:"*";
  inherits:false
}@property --tw-rotate-y {
  syntax:"*";
  inherits:false
}@property --tw-rotate-z {
  syntax:"*";
  inherits:false
}@property --tw-skew-x {
  syntax:"*";
  inherits:false
}@property --tw-skew-y {
  syntax:"*";
  inherits:false
}@property --tw-space-y-reverse {
  syntax:"*";
  inherits:false;
  initial-value:0
}@property --tw-border-style {
  syntax:"*";
  inherits:false;
  initial-value:solid
}@property --tw-leading {
  syntax:"*";
  inherits:false
}@property --tw-font-weight {
  syntax:"*";
  inherits:false
}@property --tw-tracking {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-blur {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-brightness {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-contrast {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-grayscale {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-hue-rotate {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-invert {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-opacity {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-saturate {
  syntax:"*";
  inherits:false
}@property --tw-backdrop-sepia {
  syntax:"*";
  inherits:false
}@property --tw-duration {
  syntax:"*";
  inherits:false
}@property --tw-ease {
  syntax:"*";
  inherits:false
}@property --tw-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000
}@property --tw-shadow-color {
  syntax:"*";
  inherits:false
}@property --tw-shadow-alpha {
  syntax:"<percentage>";
  inherits:false;
  initial-value:100%
}@property --tw-inset-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000
}@property --tw-inset-shadow-color {
  syntax:"*";
  inherits:false
}@property --tw-inset-shadow-alpha {
  syntax:"<percentage>";
  inherits:false;
  initial-value:100%
}@property --tw-ring-color {
  syntax:"*";
  inherits:false
}@property --tw-ring-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000
}@property --tw-inset-ring-color {
  syntax:"*";
  inherits:false
}@property --tw-inset-ring-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000
}@property --tw-ring-inset {
  syntax:"*";
  inherits:false
}@property --tw-ring-offset-width {
  syntax:"<length>";
  inherits:false;
  initial-value:0
}@property --tw-ring-offset-color {
  syntax:"*";
  inherits:false;
  initial-value:#fff
}@property --tw-ring-offset-shadow {
  syntax:"*";
  inherits:false;
  initial-value:0 0 #0000
}

/* ============================================
Site-specific custom styles
============================================ */

/* --- News body links --- */
.news-item a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s;
}
.news-item a:hover {
  opacity: 0.7;
}

/* --- Hero Slideshow --- */
.hero-slideshow {
  position: absolute;
  inset: 0;
}

/* Each slide is a bg-image layer; Ken Burns runs on inner wrapper */
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.hero-slide.is-on {
  opacity: 1;
}

.hero-slide__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

/* White flash overlay */
.hero-flash {
  position: absolute;
  inset: 0;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}
@keyframes hero-flash {
  0%   { opacity: 0.8; }
  100% { opacity: 0; }
}

/* --- Transition classes (applied to .hero-slide) --- */
.hero-slide.t-fade-in  { transition: opacity 1.4s ease-in-out; }
.hero-slide.t-fade-out { transition: opacity 1.4s ease-in-out; }
.hero-slide.t-wipe-in  {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}
.hero-slide.t-wipe-in.is-on {
  clip-path: inset(0 0 0 0);
}
.hero-slide.t-zoom-in {
  transition: opacity 0.35s ease-out;
}
.hero-slide.t-zoom-in .hero-slide__bg {
  transform: scale(1.35);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.hero-slide.t-zoom-in.is-on .hero-slide__bg {
  transform: scale(1);
}

/* --- Ken Burns (applied to .hero-slide__bg) --- */
/* All start from scale(1) to avoid jump on apply */
.hero-slide__bg.kb-a { animation: kb-a 7s ease-in-out forwards; }
.hero-slide__bg.kb-b { animation: kb-b 7s ease-in-out forwards; }
.hero-slide__bg.kb-c { animation: kb-c 7s ease-in-out forwards; }
.hero-slide__bg.kb-d { animation: kb-d 7s ease-in-out forwards; }

@keyframes kb-a {
  from { transform: scale(1) translate(0, 0); }
  to   { transform: scale(1.1) translate(-1.5%, -1%); }
}
@keyframes kb-b {
  from { transform: scale(1) translate(0, 0); }
  to   { transform: scale(1.08) translate(1%, 0.5%); }
}
@keyframes kb-c {
  from { transform: scale(1) translate(0, 0); }
  to   { transform: scale(1.1) translate(-0.5%, 1%); }
}
@keyframes kb-d {
  from { transform: scale(1) translate(0, 0); }
  to   { transform: scale(1.08) translate(0.5%, -0.8%); }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  .hero-slide__bg { animation: none !important; transform: none !important; }
  .hero-slide     { transition: opacity 0.2s ease !important; clip-path: none !important; }
  .hero-flash     { display: none; }
}

/* --- Loading Screen --- */
.loading-screen.is-hidden {
  display: none !important;
}

/* --- Journey slider images --- */
.journey-slide-media,
.member-card,
.member-card__media {
  overflow: hidden;
}

.journey-slide-image,
.member-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.journey-slide-image {
  object-position: center;
}

.journey-slide-image--top {
  object-position: center 35%;
}

/* --- Team member cards --- */
.member-card {
  --member-card-hover-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  --member-card-transition:
    transform 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    border-color 0.3s var(--ease-out);
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  background: var(--color-white);
  transition: var(--member-card-transition);
}

.member-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--member-card-hover-shadow);
  border-color: var(--color-accent);
}

.member-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0) 55%),
    linear-gradient(135deg, var(--color-accent) 0%, #0e8f85 100%);
}

.member-card__image {
  object-position: center top;
}

.member-card__initial {
  position: relative;
  z-index: 1;
  color: var(--color-white);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 900;
  letter-spacing: 0.06em;
}

.member-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 18px 16px 20px;
  background:
    linear-gradient(90deg, #020303 0%, #07110d 28%, #123328 68%, #1f5a46 100%);
  text-align: center;
}

.member-card__name {
  color: var(--color-text-on-dark);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.4;
}

.member-card__role {
  color: #8ef0cf;
  font-size: 0.92rem;
  font-weight: 500;
}
