/*
Theme Name: Second Life Parallel
Theme URI: https://dreaman.co.jp/
Author: Dreaman Co., Ltd.
Author URI: https://dreaman.co.jp/
Description: Second Life：Parallel Life Platform 専用テーマ。匿名会員システム、会員検索、限定公開、紹介アンロック、物語・出演募集、メッセージ、運営ダッシュボードを含みます。
Version: 7.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: second-life-parallel
Tags: membership, community, matching, japanese
*/

/* =========================================================================
   Design tokens
   Deep navy to indigo, with a violet-to-rose accent. Japanese serif for
   display, system sans for everything else.
   ===================================================================== */

:root {
  /* Surfaces */
  --sl-night:      #060f24;
  --sl-navy:       #0d1c3d;
  --sl-indigo:     #1e2f6f;
  --sl-violet:     #4a3796;

  --sl-page:       #f7f7fb;
  --sl-soft:       #eff0f7;
  --sl-white:      #ffffff;

  /* Ink */
  --sl-ink:        #16203a;
  --sl-ink-soft:   #4a5570;
  --sl-muted:      #79839d;
  --sl-line:       #e3e5ef;

  /* Accents */
  --sl-purple:     #a77bff;
  --sl-purple-ink: #6d43cc;
  --sl-rose:       #f472b6;
  --sl-blue:       #5b8cff;
  --sl-mint:       #3fc9b6;
  --sl-amber:      #f0ad35;

  --sl-ok:         #12855f;
  --sl-warn:       #b4551f;
  --sl-error:      #b3283c;

  /* Gradients */
  --sl-grad-brand: linear-gradient(120deg, #a77bff 0%, #f472b6 100%);
  --sl-grad-deep:  linear-gradient(160deg, #060f24 0%, #16255c 52%, #3a2b80 100%);

  /* Type */
  --sl-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "Shippori Mincho", serif;
  --sl-sans:  "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Space and shape */
  --sl-radius:    20px;
  --sl-radius-sm: 12px;
  --sl-shadow:    0 18px 48px rgba(15, 26, 60, .09);
  --sl-shadow-sm: 0 6px 18px rgba(15, 26, 60, .07);
  --sl-max:       1160px;
}

/* =========================================================================
   Reset and base
   ===================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

body {
  margin: 0;
  background: var(--sl-page);
  color: var(--sl-ink);
  font-family: var(--sl-sans);
  font-size: 16px;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: var(--sl-purple-ink); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4 {
  font-family: var(--sl-serif);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .01em;
  margin: 0 0 .6em;
  color: var(--sl-ink);
}

p { margin: 0 0 1.1em; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.3em; }

button { font-family: inherit; font-size: inherit; }

:focus-visible {
  outline: 3px solid var(--sl-purple);
  outline-offset: 3px;
  border-radius: 4px;
}

.sl-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  background: var(--sl-white);
  padding: 12px 20px;
  border-radius: 0 0 var(--sl-radius-sm) 0;
}
.sl-skip:focus { left: 0; }

.sl-container {
  width: 100%;
  max-width: var(--sl-max);
  margin: 0 auto;
  padding: 0 24px;
}

.sl-center { text-align: center; }
.sl-right  { text-align: right; }
