/*
Theme Name: Kayl Original
Theme URI: https://kayl-sear.jp/
Author: Codex
Description: Original portfolio theme for Kayl / 海璃.
Version: 0.5.1
Requires at least: 6.0
Text Domain: kairi-original
*/
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}a{color:inherit;text-underline-offset:.25em}figure{margin:0 0 25px}button{color:inherit}.site-shell{margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);z-index:1000;background:#fff;padding:10px}.skip-link:focus{transform:none}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-media{display:block}.card-placeholder{display:grid;place-items:center;min-height:160px;font:40px Georgia,serif}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr)}.guide-grid strong,.guide-grid span{display:block}.quiet-list{padding:0;list-style:none}.quiet-list li{border-bottom:1px solid #d9e2e5;padding:14px 0}.quiet-list small{display:block}.wp-block-image{margin:25px 0}.wp-block-image img{height:auto}.wp-block-embed__wrapper{position:relative}.wp-block-embed iframe{width:100%;aspect-ratio:16/9}.entry-content p{margin:1.3em 0}.entry-content ul,.entry-content ol{padding-left:1.5em}.entry-content blockquote{border-left:2px solid #a3bbc6;padding-left:22px;margin:25px 0}.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:680px){.guide-grid{grid-template-columns:1fr}}

/* === Random Compose App === */
.random-compose-app,
    .random-compose-app * {
      box-sizing: border-box;
    }

    .random-compose-app {
      --rc-bg-1: #061823;
      --rc-bg-2: #073f4c;
      --rc-bg-3: #0b6473;
      --rc-panel: rgba(231, 245, 248, 0.86);
      --rc-panel-soft: rgba(255, 255, 255, 0.58);
      --rc-text: #102025;
      --rc-muted: #637980;
      --rc-line: rgba(196, 228, 235, 0.24);
      --rc-primary: #167f91;
      --rc-primary-dark: #063546;
      --rc-accent: #b7e8ef;
      --rc-teal: #88d8df;
      --rc-shadow: 0 26px 80px rgba(0, 10, 18, 0.3);
      --rc-radius: 8px;
      position: relative;
      isolation: isolate;
      overflow: hidden;
      min-height: 100svh;
      padding: clamp(24px, 5vw, 64px);
      color: var(--rc-text);
      font-family: "Zen Kaku Gothic New", "BIZ UDPGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, system-ui, sans-serif;
      background:
        radial-gradient(circle at 70% 22%, rgba(205, 229, 237, 0.17), transparent 28%),
        linear-gradient(100deg, rgba(6, 24, 35, 0.98) 0%, rgba(7, 63, 76, 0.96) 48%, rgba(25, 45, 78, 0.95) 100%);
    }

    .random-compose-app[data-theme="light"] {
      --rc-bg-1: #e9fbff;
      --rc-bg-2: #bdefff;
      --rc-bg-3: #ffffff;
      --rc-panel: rgba(255, 255, 255, 0.9);
      --rc-panel-soft: rgba(255, 255, 255, 0.72);
      --rc-text: #14304c;
      --rc-muted: #637b92;
      --rc-line: rgba(55, 118, 156, 0.2);
      --rc-primary: #0b78a2;
      --rc-primary-dark: #075474;
      --rc-shadow: 0 22px 64px rgba(47, 111, 147, 0.2);
      background:
        linear-gradient(160deg, rgba(233, 251, 255, 1) 0%, rgba(189, 239, 255, 0.98) 46%, rgba(255, 255, 255, 0.98) 100%);
    }

    .random-compose-app::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: 0.54;
      background:
        linear-gradient(168deg, transparent 0 18%, rgba(255, 255, 255, 0.08) 20%, transparent 36%),
        linear-gradient(84deg, transparent 0 62%, rgba(121, 225, 221, 0.09) 64%, transparent 78%),
        linear-gradient(90deg, rgba(74, 189, 198, 0.22), rgba(255, 255, 255, 0.03), rgba(62, 84, 139, 0.18));
    }

    .random-compose-app::after {
      content: "";
      position: absolute;
      right: -10vw;
      bottom: -12vw;
      z-index: -1;
      width: min(70vw, 760px);
      height: min(40vw, 380px);
      opacity: 0.42;
      background: radial-gradient(ellipse at center, rgba(205, 244, 249, 0.16), transparent 68%);
      transform: rotate(-8deg);
    }

    .random-compose-app button,
    .random-compose-app input,
    .random-compose-app select {
      font: inherit;
    }

    .random-compose-app button {
      cursor: pointer;
    }

    .random-compose-app button:disabled {
      cursor: not-allowed;
      opacity: 0.55;
    }

    .random-compose-app button:focus-visible,
    .random-compose-app input:focus-visible,
    .random-compose-app select:focus-visible {
      outline: 3px solid rgba(244, 178, 122, 0.72);
      outline-offset: 3px;
    }

    .rc-inner {
      width: min(1120px, 100%);
      margin: 0 auto;
    }

    .rc-topbar {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin: -12px 0 28px;
      padding: 12px 0 22px;
      border-bottom: 1px solid rgba(207, 234, 240, 0.18);
      color: #ffffff;
    }

    .random-compose-app[data-theme="light"] .rc-topbar {
      color: #14304c;
    }

    .rc-kicker {
      margin: 0 0 6px;
      color: rgba(255, 255, 255, 0.78);
      font-size: 0.84rem;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .random-compose-app[data-theme="light"] .rc-kicker {
      color: rgba(20, 48, 76, 0.62);
    }

    .rc-title {
      margin: 0;
      font-size: 3.7rem;
      line-height: 1.04;
      letter-spacing: 0;
    }

    .rc-lead {
      max-width: 520px;
      margin: 14px 0 0;
      color: rgba(232, 247, 250, 0.78);
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.8;
    }

    .random-compose-app[data-theme="light"] .rc-lead {
      color: rgba(20, 48, 76, 0.68);
    }

    .rc-theme-toggle {
      display: inline-grid;
      place-items: center;
      flex: 0 0 auto;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255, 255, 255, 0.34);
      border-radius: 50%;
      color: inherit;
      background: rgba(255, 255, 255, 0.14);
      box-shadow: 0 10px 28px rgba(4, 19, 42, 0.16);
    }

    .random-compose-app[data-theme="light"] .rc-theme-toggle {
      border-color: rgba(20, 48, 76, 0.15);
      background: rgba(255, 255, 255, 0.7);
    }

    .rc-layout {
      display: grid;
      grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
      gap: 18px;
      align-items: start;
    }

    .rc-panel,
    .rc-history-card {
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      background: var(--rc-panel);
      box-shadow: var(--rc-shadow);
      backdrop-filter: blur(18px);
    }

    .rc-panel {
      position: relative;
      padding: clamp(18px, 3vw, 28px);
    }

    .rc-panel::before {
      content: "";
      position: absolute;
      inset: 1px;
      z-index: -1;
      border-radius: calc(var(--rc-radius) - 1px);
      background: linear-gradient(145deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0));
      pointer-events: none;
    }

    .rc-controls {
      position: sticky;
      top: 18px;
      min-height: 660px;
    }

    .rc-control-group + .rc-control-group {
      margin-top: 18px;
      padding-top: 18px;
      border-top: 1px solid var(--rc-line);
    }

    .rc-control-title,
    .rc-result-label,
    .rc-history-title {
      margin: 0 0 10px;
      color: var(--rc-muted);
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .rc-segmented {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px;
      padding: 4px;
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      background: rgba(255, 255, 255, 0.4);
    }

    .rc-segmented label {
      position: relative;
      display: grid;
      place-items: center;
      min-height: 38px;
      border-radius: 6px;
      color: var(--rc-muted);
      font-size: 0.9rem;
      font-weight: 800;
      text-align: center;
      overflow: hidden;
    }

    .rc-segmented input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .rc-segmented label:has(input:checked) {
      color: #ffffff;
      background: linear-gradient(135deg, var(--rc-primary), #1f9da9);
      box-shadow: 0 8px 20px rgba(12, 95, 132, 0.25);
    }

    .rc-field {
      display: grid;
      gap: 7px;
      margin-top: 12px;
    }

    .rc-field label,
    .rc-inline-check {
      color: var(--rc-text);
      font-size: 0.9rem;
      font-weight: 800;
    }

    .rc-inline-check {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .rc-inline-check input {
      width: 18px;
      height: 18px;
      accent-color: var(--rc-primary);
    }

    .rc-field input[type="number"],
    .rc-field select {
      width: 100%;
      min-height: 42px;
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      color: var(--rc-text);
      background: rgba(255, 255, 255, 0.76);
      padding: 9px 11px;
    }

    .rc-field input[type="number"]:disabled {
      color: var(--rc-muted);
      background: rgba(255, 255, 255, 0.36);
    }

    .rc-actions {
      display: grid;
      gap: 10px;
      margin-top: 20px;
    }

    .rc-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 44px;
      border: 1px solid transparent;
      border-radius: var(--rc-radius);
      padding: 10px 14px;
      font-weight: 850;
      line-height: 1.2;
      text-align: center;
      text-decoration: none;
      transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
    }

    .rc-button:hover {
      transform: translateY(-1px);
    }

    .rc-button-primary {
      min-height: 64px;
      color: #ffffff;
      background: linear-gradient(135deg, #062d40, var(--rc-primary) 58%, #72cdd4);
      box-shadow: 0 18px 36px rgba(5, 51, 80, 0.26);
      font-size: 1.06rem;
    }

    .rc-button-secondary {
      color: var(--rc-primary-dark);
      border-color: var(--rc-line);
      background: rgba(255, 255, 255, 0.68);
    }

    .rc-button-accent {
      color: #083743;
      background: linear-gradient(135deg, #f3fdff, var(--rc-accent));
      box-shadow: 0 14px 30px rgba(34, 130, 144, 0.18);
    }

    .rc-button-midi {
      color: #ffffff;
      background: linear-gradient(135deg, #10243a, #34527a);
      box-shadow: 0 14px 30px rgba(3, 16, 32, 0.2);
    }

    .rc-button-icon {
      font-size: 1.32em;
      line-height: 1;
    }

    .rc-result {
      display: flex;
      flex-direction: column;
      min-height: 660px;
    }

    .rc-result > #resultArea {
      flex: 1 1 auto;
      display: grid;
    }

    .rc-result-head {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: start;
      margin-bottom: 14px;
    }

    .rc-result-title {
      margin: 0;
      color: var(--rc-primary-dark);
      font-size: 1.78rem;
      line-height: 1.2;
      letter-spacing: 0;
    }

    .rc-result-time {
      flex: 0 0 auto;
      min-width: 62px;
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      padding: 8px 10px;
      color: var(--rc-muted);
      background: rgba(255, 255, 255, 0.46);
      font-size: 0.82rem;
      font-weight: 800;
      text-align: center;
    }

    .rc-meta-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 14px;
    }

    .rc-meta {
      min-height: 62px;
      border-left: 3px solid var(--rc-teal);
      border-radius: 0 var(--rc-radius) var(--rc-radius) 0;
      padding: 8px 10px;
      background: rgba(255, 255, 255, 0.48);
    }

    .rc-meta span {
      display: block;
      color: var(--rc-muted);
      font-size: 0.76rem;
      font-weight: 800;
    }

    .rc-meta strong {
      display: block;
      margin-top: 4px;
      color: var(--rc-text);
      font-size: 1.04rem;
      line-height: 1.18;
      overflow-wrap: anywhere;
    }

    .rc-result-block {
      padding: 12px 0;
      border-top: 1px solid var(--rc-line);
    }

    .rc-result-block:first-of-type {
      border-top: 0;
      padding-top: 0;
    }

    .rc-chords {
      display: grid;
      gap: 8px;
    }

    .rc-roman {
      color: var(--rc-muted);
      font-size: 1.05rem;
      font-weight: 750;
      overflow-wrap: anywhere;
    }

    .rc-real-chords {
      color: var(--rc-primary-dark);
      font-size: 1.8rem;
      font-weight: 900;
      line-height: 1.18;
      overflow-wrap: anywhere;
    }

    .rc-style-name {
      margin: 0;
      color: var(--rc-text);
      font-size: 1.35rem;
      font-weight: 900;
      line-height: 1.28;
    }

    .rc-instrument-list,
    .rc-sequence-list {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .rc-instrument-list li,
    .rc-sequence-list li {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px;
      align-items: start;
      color: var(--rc-text);
      line-height: 1.55;
    }

    .rc-result .rc-instrument-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px 14px;
    }

    .rc-result .rc-instrument-list li {
      line-height: 1.42;
      font-size: 0.92rem;
    }

    .rc-instrument-list li::before,
    .rc-sequence-list li::before {
      content: "";
      width: 7px;
      height: 7px;
      margin-top: 0.65em;
      border-radius: 50%;
      background: var(--rc-accent);
    }

    .rc-mission {
      margin: 0;
      color: var(--rc-text);
      font-size: 1.08rem;
      font-weight: 760;
      line-height: 1.7;
    }

    .rc-result-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid var(--rc-line);
    }

    .rc-feedback {
      min-height: 1.4em;
      color: var(--rc-primary-dark);
      font-size: 0.9rem;
      font-weight: 800;
    }

    .rc-placeholder {
      display: grid;
      place-items: center;
      min-height: 0;
      border: 1px dashed var(--rc-line);
      border-radius: var(--rc-radius);
      color: var(--rc-muted);
      text-align: center;
      background: rgba(255, 255, 255, 0.35);
    }

    .rc-placeholder-symbol {
      display: block;
      margin-bottom: 12px;
      font-size: 3rem;
      line-height: 1;
    }

    .rc-sequence-summary {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      align-items: stretch;
    }

    .rc-sequence-item {
      display: flex;
      flex-direction: column;
      gap: 6px;
      min-width: 0;
      padding: 10px;
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      background:
        radial-gradient(circle at 18% 8%, rgba(148, 232, 234, 0.16), transparent 34%),
        rgba(255, 255, 255, 0.34);
    }

    .rc-sequence-item:first-child {
      padding-top: 12px;
    }

    .rc-sequence-item h3 {
      margin: 0;
      color: var(--rc-primary-dark);
      font-size: 0.96rem;
      letter-spacing: 0;
      line-height: 1.3;
    }

    .rc-sequence-item .rc-roman,
    .rc-sequence-item .rc-real-chords {
      min-width: 0;
    }

    .rc-sequence-item .rc-roman {
      font-size: 0.84rem;
    }

    .rc-sequence-item .rc-real-chords {
      font-size: 1.08rem;
    }

    .rc-sequence-item .rc-mission {
      font-size: 0.8rem;
      line-height: 1.35;
    }

    .rc-segment-midi {
      width: 100%;
      min-height: 34px;
      margin-top: auto;
      padding: 7px 9px;
      font-size: 0.78rem;
      white-space: normal;
    }

    .rc-history {
      margin-top: 20px;
    }

    .rc-history-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      margin-bottom: 10px;
      color: #ffffff;
    }

    .random-compose-app[data-theme="light"] .rc-history-head {
      color: #14304c;
    }

    .rc-history-head h2 {
      margin: 0;
      font-size: 1rem;
      letter-spacing: 0;
    }

    .rc-history-list {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 10px;
    }

    .rc-history-card {
      display: grid;
      gap: 7px;
      min-height: 132px;
      padding: 12px;
      color: var(--rc-text);
      text-align: left;
    }

    .rc-history-card button {
      all: unset;
      display: grid;
      gap: 7px;
      cursor: pointer;
    }

    .rc-history-card button:focus-visible {
      outline: 3px solid rgba(244, 178, 122, 0.72);
      outline-offset: 3px;
      border-radius: 6px;
    }

    .rc-history-card strong {
      color: var(--rc-primary-dark);
      line-height: 1.3;
      overflow-wrap: anywhere;
    }

    .rc-history-card span {
      color: var(--rc-muted);
      font-size: 0.82rem;
      font-weight: 760;
      line-height: 1.35;
    }

    .rc-title-egg {
      margin-top: 20px;
      color: var(--rc-text);
    }

    .rc-title-egg-head {
      display: flex;
      align-items: start;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 18px;
    }

    .rc-title-egg-head h2 {
      margin: 0;
      color: var(--rc-primary-dark);
      font-size: 1.7rem;
      line-height: 1.2;
      letter-spacing: 0;
    }

    .rc-title-egg-head p {
      margin: 8px 0 0;
      color: var(--rc-muted);
      font-weight: 760;
      line-height: 1.7;
    }

    .rc-title-egg-head > span {
      flex: 0 0 auto;
      border: 1px solid var(--rc-line);
      border-radius: 999px;
      padding: 7px 10px;
      color: var(--rc-primary-dark);
      background: rgba(255, 255, 255, 0.5);
      font-size: 0.78rem;
      font-weight: 850;
    }

    .rc-title-egg-form {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 14px;
      align-items: end;
    }

    .rc-title-egg-fields {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }

    .rc-title-egg-fields label {
      display: grid;
      gap: 7px;
      min-width: 0;
      color: var(--rc-muted);
      font-size: 0.78rem;
      font-weight: 850;
    }

    .rc-title-egg-fields input {
      width: 100%;
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      padding: 11px 12px;
      color: var(--rc-text);
      background: rgba(255, 255, 255, 0.72);
    }

    .rc-title-egg-results {
      margin-top: 16px;
      border-top: 1px solid var(--rc-line);
      padding-top: 16px;
    }

    .rc-title-egg-results p {
      margin: 0;
      color: var(--rc-muted);
      font-weight: 760;
    }

    .rc-title-egg-results ol {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
      counter-reset: title-egg;
    }

    .rc-title-egg-results li {
      counter-increment: title-egg;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 10px;
      align-items: center;
      min-height: 48px;
      border: 1px solid var(--rc-line);
      border-radius: var(--rc-radius);
      padding: 10px 12px;
      color: var(--rc-primary-dark);
      background:
        radial-gradient(circle at 12% 20%, rgba(148, 232, 234, 0.18), transparent 36%),
        rgba(255, 255, 255, 0.52);
      font-size: 1.12rem;
      font-weight: 900;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }

    .rc-title-egg-results li::before {
      content: counter(title-egg);
      display: inline-grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      color: #083743;
      background: var(--rc-accent);
      font-size: 0.82rem;
      font-weight: 950;
    }

    .rc-empty-history {
      grid-column: 1 / -1;
      min-height: 88px;
      border: 1px solid rgba(255, 255, 255, 0.24);
      border-radius: var(--rc-radius);
      display: grid;
      place-items: center;
      color: rgba(255, 255, 255, 0.78);
      background: rgba(255, 255, 255, 0.08);
      font-weight: 800;
    }

    .random-compose-app[data-theme="light"] .rc-empty-history {
      color: var(--rc-muted);
      border-color: var(--rc-line);
      background: rgba(255, 255, 255, 0.46);
    }

    .rc-generate-flash {
      animation: rc-rise 420ms ease both;
    }

    @keyframes rc-rise {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (max-width: 920px) {
      .rc-title {
        font-size: 3.5rem;
      }

      .rc-result-title {
        font-size: 1.7rem;
      }

      .rc-result {
        min-height: auto;
      }

      .rc-layout {
        grid-template-columns: 1fr;
      }

      .rc-controls {
        position: static;
        min-height: auto;
      }

      .rc-sequence-summary {
        grid-template-columns: 1fr;
      }

      .rc-history-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 640px) {
      .random-compose-app {
        padding: 20px 14px;
      }

      .rc-topbar {
        align-items: start;
      }

      .rc-title {
        font-size: 2.35rem;
        white-space: nowrap;
      }

      .rc-result-title {
        font-size: 1.45rem;
      }

      .rc-result {
        min-height: 620px;
      }

      .rc-real-chords {
        font-size: 1.35rem;
      }

      .rc-style-name {
        font-size: 1.16rem;
      }

      .rc-result-head {
        display: grid;
      }

      .rc-result-time {
        width: fit-content;
      }

      .rc-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .rc-result-actions,
      .rc-actions {
        grid-template-columns: 1fr;
      }

      .rc-result-actions .rc-button {
        width: 100%;
      }

      .rc-sequence-item {
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
      }

      .rc-sequence-item h3,
      .rc-sequence-item .rc-roman,
      .rc-sequence-item .rc-real-chords,
      .rc-sequence-item .rc-mission,
      .rc-segment-midi {
        grid-column: auto;
        grid-row: auto;
      }

      .rc-segment-midi {
        width: 100%;
        white-space: normal;
      }

      .rc-title-egg-head,
      .rc-title-egg-form {
        grid-template-columns: 1fr;
      }

      .rc-title-egg-head {
        display: grid;
      }

      .rc-title-egg-form .rc-button {
        width: 100%;
      }
    }

    @media (max-width: 460px) {
      .rc-meta-grid,
      .rc-history-list,
      .rc-title-egg-fields {
        grid-template-columns: 1fr;
      }

      .rc-segmented {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 360px) {
      .rc-title {
        font-size: 2.05rem;
      }
    }

.random-compose-app {
  --rc-panel: rgba(232, 249, 250, 0.9);
  --rc-panel-soft: rgba(238, 253, 253, 0.64);
  --rc-line: rgba(184, 247, 242, 0.26);
  --rc-primary: #2baeb8;
  --rc-primary-dark: #063546;
  --rc-accent: #c7fff8;
  --rc-teal: #94e8ea;
  --rc-shadow: 0 30px 88px rgba(0, 6, 12, 0.34);
  min-height: calc(100svh - 76px);
  padding: clamp(44px, 7vw, 86px) clamp(18px, 5vw, 64px) clamp(54px, 7vw, 92px);
  background:
    radial-gradient(circle at 18% 14%, rgba(97, 213, 219, 0.2), transparent 28%),
    radial-gradient(circle at 78% 8%, rgba(217, 195, 255, 0.16), transparent 30%),
    radial-gradient(circle at 88% 72%, rgba(255, 211, 201, 0.1), transparent 26%),
    linear-gradient(115deg, #04131f 0%, #073844 48%, #162642 100%);
}

.random-compose-app .rc-deepsea-wave {
  z-index: 0;
  opacity: 0.58;
}

.random-compose-app > .rc-inner {
  position: relative;
  z-index: 1;
}

.random-compose-app::before {
  opacity: 0.34;
  background:
    linear-gradient(72deg, transparent 0 16%, rgba(179, 244, 238, 0.08) 18%, transparent 33%),
    linear-gradient(106deg, transparent 0 58%, rgba(216, 194, 255, 0.07) 60%, transparent 76%);
  background-size: auto;
  background-position: 0 0;
  animation: none;
}

.random-compose-app::after {
  right: -14vw;
  bottom: -18vw;
  width: min(78vw, 860px);
  height: min(48vw, 440px);
  opacity: 0.2;
  background: radial-gradient(ellipse at center, rgba(205, 244, 249, 0.18), transparent 68%);
}

.random-compose-app[data-theme="light"] {
  background:
    radial-gradient(circle at 16% 12%, rgba(62, 190, 222, 0.22), transparent 34%),
    radial-gradient(circle at 82% 4%, rgba(255, 255, 255, 0.84), transparent 28%),
    radial-gradient(circle at 78% 76%, rgba(119, 214, 232, 0.18), transparent 26%),
    linear-gradient(145deg, #e7fbff 0%, #bcecf7 46%, #faffff 100%);
}

.random-compose-app[data-theme="light"]::before {
  opacity: 0.42;
  background:
    linear-gradient(104deg, transparent 0 14%, rgba(255, 255, 255, 0.5) 16%, transparent 30%),
    linear-gradient(82deg, transparent 0 26%, rgba(62, 190, 222, 0.16) 28%, transparent 45%);
  background-size: auto;
}

.random-compose-app[data-theme="light"] .rc-jelly {
  opacity: 0;
}

.rc-jelly {
  position: absolute;
  z-index: -1;
  width: 140px;
  height: 150px;
  border-radius: 50% 50% 44% 44%;
  opacity: 0.22;
  pointer-events: none;
  filter: drop-shadow(0 0 28px rgba(148, 232, 232, 0.22));
}

.rc-jelly::before {
  content: "";
  position: absolute;
  inset: 12px 12px auto;
  height: 58px;
  border: 1px solid rgba(205, 255, 251, 0.5);
  border-bottom: 0;
  border-radius: 999px 999px 36px 36px;
  background: radial-gradient(ellipse at 50% 20%, rgba(205, 255, 251, 0.22), rgba(205, 255, 251, 0.04) 68%);
}

.rc-jelly::after {
  content: "";
  position: absolute;
  left: 34px;
  top: 66px;
  width: 74px;
  height: 78px;
  background:
    linear-gradient(100deg, transparent 0 10%, rgba(205, 255, 251, 0.36) 11% 12%, transparent 13% 100%),
    linear-gradient(82deg, transparent 0 24%, rgba(205, 255, 251, 0.28) 25% 26%, transparent 27% 100%),
    linear-gradient(94deg, transparent 0 48%, rgba(205, 255, 251, 0.3) 49% 50%, transparent 51% 100%),
    linear-gradient(78deg, transparent 0 70%, rgba(205, 255, 251, 0.24) 71% 72%, transparent 73% 100%);
}

.rc-jelly-a {
  top: 128px;
  right: 8vw;
  animation: rc-jelly-drift 9s ease-in-out infinite alternate;
}

.rc-jelly-b {
  left: 7vw;
  bottom: 180px;
  width: 108px;
  height: 120px;
  opacity: 0.16;
  animation: rc-jelly-drift 11s ease-in-out infinite alternate-reverse;
}

@keyframes rc-jelly-drift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(14px, -18px, 0); }
}

.rc-clione {
  position: absolute;
  z-index: -1;
  width: 126px;
  height: 168px;
  opacity: 0;
  pointer-events: none;
  filter: drop-shadow(0 0 22px rgba(90, 184, 220, 0.16));
}

.rc-clione::before,
.rc-clione::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.rc-clione::before {
  left: 50%;
  top: 10px;
  width: 34px;
  height: 140px;
  border: 1px solid rgba(71, 145, 184, 0.22);
  border-radius: 999px 999px 42px 42px;
  background:
    radial-gradient(ellipse at 50% 12%, rgba(255, 255, 255, 0.5), transparent 24%),
    radial-gradient(ellipse at 50% 48%, rgba(104, 188, 219, 0.14), transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.38), rgba(75, 166, 204, 0.08));
  transform: translateX(-50%);
}

.rc-clione::after {
  left: 10px;
  top: 38px;
  width: 106px;
  height: 72px;
  background:
    radial-gradient(ellipse at 28% 44%, rgba(255, 255, 255, 0.45), transparent 48%),
    radial-gradient(ellipse at 72% 44%, rgba(255, 255, 255, 0.45), transparent 48%),
    linear-gradient(90deg, rgba(73, 169, 211, 0.16), transparent 42% 58%, rgba(73, 169, 211, 0.16));
  clip-path: polygon(50% 36%, 9% 0, 0 54%, 42% 86%, 50% 64%, 58% 86%, 100% 54%, 91% 0);
  animation: rc-clione-wing 3.8s ease-in-out infinite alternate;
}

.random-compose-app[data-theme="light"] .rc-clione {
  opacity: 0.36;
}

.rc-clione-a {
  top: 18%;
  right: 10vw;
}

.rc-clione-b {
  left: 9vw;
  bottom: 16%;
  width: 96px;
  height: 130px;
  opacity: 0;
}

.random-compose-app[data-theme="light"] .rc-clione-a {
  animation: rc-clione-drift 8.6s ease-in-out infinite alternate;
}

.random-compose-app[data-theme="light"] .rc-clione-b {
  opacity: 0.24;
  animation: rc-clione-drift-small 10.5s ease-in-out infinite alternate-reverse;
}

@keyframes rc-clione-drift {
  from { transform: translate3d(0, 0, 0) rotate(-7deg); }
  to { transform: translate3d(-34px, -26px, 0) rotate(9deg); }
}

@keyframes rc-clione-drift-small {
  from { transform: translate3d(0, 0, 0) rotate(6deg); }
  to { transform: translate3d(26px, -20px, 0) rotate(-8deg); }
}

@keyframes rc-clione-wing {
  from { transform: scaleX(0.86) translateY(0); opacity: 0.72; }
  to { transform: scaleX(1.08) translateY(3px); opacity: 0.52; }
}

.random-compose-app .rc-topbar {
  border-bottom-color: rgba(184, 247, 242, 0.22);
}

.random-compose-app .rc-title {
  font-family: var(--font-display);
  color: #f8ffff;
  text-shadow: 0 0 28px rgba(148, 232, 232, 0.2);
}

.random-compose-app .rc-lead {
  color: rgba(232, 250, 249, 0.84);
}

.random-compose-app .rc-panel,
.random-compose-app .rc-history-card {
  border-color: rgba(184, 247, 242, 0.24);
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.18), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(229, 249, 250, 0.86));
}

.random-compose-app .rc-button-primary {
  background: linear-gradient(135deg, #052634, #178996 58%, #94e8ea);
}

.random-compose-app .rc-button-primary.is-rolling {
  box-shadow:
    0 22px 46px rgba(5, 51, 80, 0.34),
    0 0 28px rgba(148, 232, 234, 0.28);
}

.random-compose-app .d20-die-button {
  --d20-size: 32px;
  margin-left: -2px;
}

.random-compose-app .d20-die-placeholder {
  --d20-size: 92px;
  display: grid;
  margin: 0 auto 18px;
}

.random-compose-app .rc-button-midi {
  background: linear-gradient(135deg, #081e32, #34496f 58%, #6e8fb5);
}

@media (max-width: 640px) {
  .random-compose-app {
    padding: 28px 14px 48px;
  }

  .rc-jelly-a,
  .rc-jelly-b {
    opacity: 0.12;
  }
}

/* === /Random Compose App === */
/* Artist site: continuous scenery and translucent sections, based on the reference flow. */
:root{--paper:#e8f5f4;--paper-strong:#fff;--ink:#173c4b;--muted:#46646d;--line:#69979c4d;--deep:#163f50;--blue:#317c91;--shell:1000px;--font-body:"Yu Gothic","Hiragino Kaku Gothic ProN",system-ui,sans-serif;--font-display:var(--font-body)}
html{scroll-padding-top:90px}body{color:var(--ink);background:#c2e0df;font:15px/1.9 var(--font-body);isolation:isolate;position:relative}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5}a{text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #287894;outline-offset:5px}a:hover{color:#176c85}.site-shell{width:min(100% - 64px,var(--shell));margin:auto}.artist-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#b5e2df55,#9bd4dc66),url('assets/images/forest-light.webp') center/cover no-repeat}.artist-backdrop::after{content:"";position:absolute;inset:0;background:#d8efed30}
.site-header{position:sticky;top:0;z-index:100;background:#eaf6f2ed;backdrop-filter:blur(12px);height:70px}.home .site-header{position:fixed;inset:0 0 auto;background:transparent;backdrop-filter:none;color:white;text-shadow:0 1px 8px #193c52}.home .site-header.is-scrolled{background:#eaf6f2ed;backdrop-filter:blur(12px);color:var(--ink);text-shadow:none}.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - 64px);max-width:none}.brand{display:flex;align-items:center;gap:9px;color:inherit}.kayl-brand-mark{width:27px;height:38px;object-fit:contain}.home .site-header:not(.is-scrolled) .kayl-brand-mark{filter:invert(1)}.kayl-brand-name{font-size:25px;font-weight:800;letter-spacing:.02em}.kayl-brand-name>span{color:#65bac6}.kayl-brand-name small{font-size:11px;margin-left:10px}.nav-list{display:flex;align-items:center;gap:30px;list-style:none;padding:0;margin:0}.nav-list a{font-size:13px;font-weight:700;color:inherit;padding:8px 0}.nav-list a:hover{border-bottom:1px solid currentColor}.nav-mobile{display:none}
.artist-cover{height:100svh;min-height:560px;max-height:1100px;position:relative;overflow:hidden;background:#376e73}.artist-cover-image{width:100%;height:100%;object-fit:cover;object-position:58% 45%}.artist-cover::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#103d4a77);pointer-events:none}.artist-cover-sign{position:absolute;left:max(45px,calc((100vw - 1120px)/2));bottom:90px;color:white;display:flex;gap:23px;align-items:center;z-index:1;text-shadow:0 3px 15px #1c566c77}.artist-cover-sign>img{width:62px;height:88px;object-fit:contain;filter:invert(1)}.artist-cover-sign h1{font:800 clamp(60px,7vw,100px)/1.1 var(--font-body);letter-spacing:.13em;margin:0}.artist-cover-sign div>span{font-size:10px;letter-spacing:.2em;display:block;margin-top:16px}.artist-cover-scroll{position:absolute;bottom:23px;left:48px;color:#fff;font-size:9px;letter-spacing:.15em;z-index:2;display:flex;gap:22px;align-items:center}.artist-cover-scroll span{font-size:22px}.artist-section{padding:58px 0;margin:54px 0;background:#eff9f2bb;backdrop-filter:blur(14px)}.artist-section-heading{text-align:center;margin:0 0 32px}.artist-section-heading h2{font-size:30px;font-weight:800;letter-spacing:.06em;margin:0}.artist-section-heading>span{display:block;font-size:11px;margin-top:7px;letter-spacing:.12em}.artist-profile{margin-top:0}.artist-profile-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px;min-height:430px}.artist-profile-copy{max-width:470px}.artist-profile h2{font-size:35px;font-weight:800;margin:0 0 20px;letter-spacing:.08em}.artist-profile h2>span{display:block;font-size:16px;font-weight:600;letter-spacing:.1em}.artist-profile-copy>p{font-size:14px;line-height:2;margin:22px 0}.artist-tags{display:flex;gap:8px;list-style:none;margin:0 0 16px;padding:0;font-size:10px}.artist-tags li{border:1px solid #719d9f;padding:1px 9px}.artist-socials{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;font-weight:650}.artist-profile-art{width:120%;max-width:120%;margin-left:-12%;filter:drop-shadow(0 12px 18px #18485222)}.artist-link{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid #446e78;border-radius:3px;padding:10px 22px;font-size:12px;font-weight:650;background:#f6fffc33;transition:background .25s,color .25s}.artist-link:hover{background:#245f73;color:white}.artist-link span{font-size:16px;font-weight:400}.artist-section-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:26px}.artist-video-pair{display:grid;grid-template-columns:1fr 1fr;gap:34px}.artist-player{aspect-ratio:16/9;background:#173c4b;overflow:hidden}.artist-player iframe{width:100%;height:100%;display:block;border:0}.artist-video-pair h3{font-size:15px;text-align:center;margin:14px 0 0;letter-spacing:.04em}.artist-video-pair h3 small{display:block;font-size:10px;font-weight:500;margin-top:3px}.artist-commission-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}.artist-commission-layout>img{width:100%;height:auto}.artist-commission-layout h3{font-size:16px;letter-spacing:.03em}.artist-service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:0 0 25px}.artist-service-links a{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.artist-journal-list{list-style:none;padding:0;margin:0}.artist-journal-list a{display:grid;grid-template-columns:110px 1fr 16px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:13px}.artist-journal-list time{font-size:11px}.artist-category-nav{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;font-size:11px;margin-top:28px}.artist-category-nav a{text-decoration:underline;text-underline-offset:5px}.artist-dice-invite{display:flex;align-items:center;gap:25px;width:max-content;max-width:100%;margin:auto;font-size:16px;font-weight:650}.artist-dice-invite .d20-die{--d20-size:70px}.d20-die{display:inline-grid;width:var(--d20-size,38px);height:var(--d20-size,38px);vertical-align:middle}.d20-die canvas{width:100%;height:100%}.kayl-dice-link{position:absolute;bottom:24px;right:35px;z-index:3;display:flex;align-items:center;gap:14px;padding:10px 15px;color:#173c4b;background:#f4fcf1dd;backdrop-filter:blur(10px);border-radius:3px;font-size:18px}.kayl-dice-link small{display:block;font-size:7px;letter-spacing:.1em}.kayl-dice-link strong{display:block;font-size:12px}.kayl-home-die{--d20-size:40px}
/* Each interior has its own content hierarchy. */
.artist-page-top{text-align:center;padding:65px 0 42px;background:#f0faf2c9;backdrop-filter:blur(14px)}.artist-page-label{font-size:12px;letter-spacing:.18em;font-weight:800;margin-bottom:12px}.artist-page-top h1{font-size:32px;font-weight:750;letter-spacing:.04em;max-width:900px;margin:0 auto 10px;overflow-wrap:anywhere}.artist-page-top>div>p{font-size:12px}.artist-breadcrumb{display:block;font-size:11px;margin:0 0 24px}.artist-date{font-size:10px;color:var(--muted);margin-top:18px}.artist-gallery-section{margin-top:0}.artist-music-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 35px}.artist-music-item{min-width:0}.artist-music-visual{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;background:#80aeb3}.artist-music-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.artist-music-visual:hover>img{transform:scale(1.035)}.artist-open-work{position:absolute;right:14px;bottom:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f5fcf0dd;color:var(--ink);font-size:20px}.artist-music-item h2{font-size:15px;line-height:1.75;margin:15px 0 8px}.artist-music-meta{display:flex;justify-content:space-between;gap:18px;font-size:10px;color:var(--muted)}.artist-editorial-list{display:grid;gap:35px}.artist-editorial-list>article{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:35px;padding-bottom:35px;border-bottom:1px solid var(--line)}.artist-editorial-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#a9cbd0}.artist-editorial-image img{width:100%;height:100%;object-fit:cover}.artist-editorial-list time{font-size:11px;color:var(--muted)}.artist-editorial-list h2{font-size:19px;margin:12px 0 20px}.artist-editorial-list .artist-link{padding:6px 20px;font-size:10px}.artist-reading-width{width:min(100% - 64px,780px);margin:auto}.artist-reading-section{margin-top:0;background:#f3faf1ed}.entry-content{font-size:15px;line-height:2.15;overflow-wrap:anywhere;color:var(--ink);min-width:0}.entry-content h2{font-size:23px;font-weight:750;margin:45px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}.entry-content h3{font-size:18px;font-weight:700;margin:30px 0 16px}.entry-content a{color:#1c6e86;text-decoration:underline}.entry-content img{max-width:100%;height:auto}.entry-content iframe{max-width:100%;border:0;display:block}.entry-content .wp-block-embed__wrapper{aspect-ratio:16/9}.entry-content .wp-block-embed__wrapper iframe{width:100%;height:100%}.entry-content .wp-block-embed{margin:0 0 35px}.entry-content p{margin:1.2em 0}.entry-content ul,.entry-content ol{padding-left:1.5em}.entry-content figure{max-width:100%;margin:25px 0}.entry-content figcaption{font-size:11px;text-align:center;color:var(--muted);margin:10px 0}.entry-content pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font:13px/2.1 var(--font-body)}.entry-content .wp-block-table{overflow-x:auto}.entry-content table{border-collapse:collapse;width:100%;font-size:12px}.entry-content td,.entry-content th{border:1px solid var(--line);padding:11px;text-align:left}.entry-content blockquote{margin:25px 0;border-left:3px solid #78a8aa;padding-left:22px}.entry-content .has-white-color{color:var(--ink)!important}.entry-content .has-black-background-color{background:transparent!important}.artist-work-content{max-width:780px;margin:auto}.artist-work-content .lyrics-block{max-width:650px;margin:35px auto}.artist-work-content .lyrics-block h2{font-size:12px;letter-spacing:.1em}.artist-work-content .lyrics-block p{font-size:14px;line-height:2.3}.artist-post-navigation{display:flex;gap:30px;justify-content:space-between;border-top:1px solid var(--line);margin-top:45px;padding-top:25px;font-size:11px}.artist-post-navigation>div{max-width:46%}.artist-reading-end{display:flex;gap:18px;justify-content:center;margin-top:35px;flex-wrap:wrap}.artist-about-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:start}.artist-about-intro{margin-top:0}.artist-about-portrait{position:sticky;top:100px}.artist-about-portrait>img{aspect-ratio:4/5;object-fit:cover;object-position:61% center;margin-bottom:25px}.artist-about-layout .entry-content>h2:first-child{margin-top:0}.artist-about-layout .wp-block-columns{display:grid;grid-template-columns:1fr;gap:16px}.artist-about-layout .wp-block-column{margin:0!important}.artist-about-layout .wp-block-column img{width:100%;height:130px;object-fit:cover}.artist-about-layout .wp-block-column h3{margin:12px 0 0;font-size:15px}.artist-about-layout .wp-block-column p{font-size:11px;margin:4px 0}.artist-about-layout .wp-block-group{background:none!important;box-shadow:none!important;border:0!important;padding:0!important}
.artist-commission-top{background:linear-gradient(#e4f6e7c9,#e4f6e7df),url('assets/images/summer-memory.webp') center/cover}.artist-commission-nav{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;background:#d9eee8ed;backdrop-filter:blur(14px);padding:16px 25px;font-size:12px;font-weight:650;position:sticky;top:70px;z-index:30}.artist-commission-body{margin-top:0}.artist-commission-body .entry-content>section{padding:15px 0 30px;border-bottom:1px solid var(--line);scroll-margin-top:140px}.artist-commission-body .entry-content>section:last-of-type{border:0}.artist-commission-body .entry-content>section h2{margin-top:25px;font-size:26px}.artist-commission-body .entry-content :is(.wp-block-group,.wp-block-column){min-width:0;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:var(--ink)!important}.artist-commission-body .wp-block-columns{display:flex;gap:25px;flex-wrap:wrap}.artist-commission-body .wp-block-column{flex:1 1 250px}.artist-commission-body a[href="#price-modal"]{display:inline-flex;align-items:center;padding:8px 18px;border:1px solid #618f92;text-decoration:none;font-size:12px}.artist-policy-layout{display:block}.archive-hero{background:#eff9f2c9;text-align:center;padding:55px 0;backdrop-filter:blur(14px)}.page-hero-grid{width:min(100% - 64px,1000px);margin:auto}.page-title{font-size:30px}.page-lead{font-size:13px}.entry-layout{padding:45px 0;width:min(100% - 64px,780px);margin:0 auto 54px}.entry-panel{background:#eff9f1ed;padding:30px}.button-link{display:inline-flex;padding:10px 20px;border:1px solid #567f86;border-radius:3px;gap:12px;font-size:12px;color:inherit}.section-kicker{font-size:10px;letter-spacing:.1em}.site-footer{padding:35px 0;background:#133e4ce8;color:#e4f6ef;backdrop-filter:blur(14px);margin-top:54px}.footer-inner{display:flex;gap:30px;justify-content:space-between;align-items:center}.footer-brand strong{font-size:13px}.footer-brand span{display:block;font-size:10px;margin-top:5px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:10px}.language-switcher{display:flex;justify-content:center;gap:15px;margin-top:20px;font-size:10px}.language-switcher>span{font-size:8px;letter-spacing:.1em;text-transform:uppercase}.language-switcher button{background:none;border:0;border-bottom:1px solid transparent;font-size:10px;color:var(--muted);padding:3px}.language-switcher button[aria-pressed="true"]{border-color:currentColor;color:var(--ink)}.random-compose-app .hero-wave{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* Price calculator retains the original behavior, with a clearer light presentation. */
.price-modal[hidden]{display:none}.price-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:25px}.price-modal__backdrop{position:absolute;inset:0;background:#163e50b3;backdrop-filter:blur(8px)}.price-modal__panel{position:relative;background:#f2faf2;color:var(--ink);width:min(100%,1100px);max-height:calc(100svh - 50px);overflow:auto;padding:35px;overscroll-behavior:contain}.price-modal__close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:30px;line-height:1;padding:5px}.price-modal__intro{font-size:12px;max-width:720px}.price-simulator{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:30px;margin-top:30px}.price-builder__section+.price-builder__section{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.price-builder__section h3{font-size:15px}.price-presets,.price-choice-grid,.price-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.price-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-plan-card,.price-radio-card,.price-check-card{position:relative;padding:13px;background:#e2eee6;border:1px solid #a4c2bf;text-align:left;color:var(--ink);font-size:12px;min-width:0;cursor:pointer}.price-plan-card.is-active,.price-check-card:has(input:checked),.price-radio-card:has(input:checked){background:#bbdcd3;border-color:#397c7e}.price-plan-card small,.price-check-card small,.price-radio-card small{display:block;font-size:8px;text-transform:uppercase}.price-plan-card strong,.price-check-card strong,.price-radio-card strong{display:block;font-size:11px;margin:6px 0}.price-plan-card span,.price-check-card span,.price-radio-card span{display:block;font-size:10px;line-height:1.6}.price-radio-card,.price-check-card{padding-left:32px}.price-radio-card input,.price-check-card input{position:absolute;left:10px;top:14px;accent-color:#317e88}.price-result{position:sticky;top:0;align-self:start;background:#d6eade;padding:22px}.price-result>small{font-size:10px}.price-total{font-size:37px;line-height:1.3;font-weight:750;margin:15px 0}.price-subtotal,.price-note{font-size:11px}.price-selected-list,.price-breakdown{display:grid;gap:8px;margin-top:15px;font-size:11px}.price-selected-list>span,.price-breakdown>span{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #8db5ae66}.price-modal__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.price-modal__actions .button-link{font-size:10px;padding:8px 10px}body.price-modal-open{overflow:hidden}
/* Reference-style entrances; no pointer-following image distortion. */
.artist-motion .artist-enter{transition:opacity .8s ease,transform 1s cubic-bezier(.2,.6,.25,1);transition-delay:var(--artist-delay,0ms)}.artist-motion .artist-enter:not(.artist-visible){opacity:0;transform:translateX(var(--artist-x,0px)) translateY(var(--artist-y,24px))}.artist-motion .artist-enter.artist-visible{opacity:1;transform:none}.artist-cover-sign{animation:artist-sign-in 1.1s ease .15s both}@keyframes artist-sign-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}#content{overflow-x:clip}.artist-section{overflow:clip}.artist-cover-scroll span{animation:artist-scroll 2.4s ease-in-out infinite}@keyframes artist-scroll{50%{transform:translateY(6px)}}
@media(max-width:900px){.artist-profile-layout{grid-template-columns:1fr 1fr;min-height:370px}.artist-profile-copy>p{font-size:12px}.artist-profile-art{width:120%}.artist-commission-layout{gap:25px}.artist-about-layout{gap:30px;grid-template-columns:1.2fr .8fr}.artist-editorial-list>article{grid-template-columns:230px 1fr;gap:25px}.price-simulator{grid-template-columns:1fr}.price-result{position:static}.price-result .price-total{font-size:32px}}
@media(max-width:680px){html{scroll-padding-top:80px}.site-shell{width:calc(100% - 40px)}.site-header,.header-inner{height:60px}.header-inner{width:calc(100% - 35px)}.kayl-brand-name{font-size:22px}.kayl-brand-name small{font-size:10px}.kayl-brand-mark{width:23px;height:32px}.nav-desktop{display:none}.nav-mobile{display:block}.nav-mobile summary{display:grid;place-items:center;width:36px;height:36px;cursor:pointer;list-style:none}.nav-mobile summary::-webkit-details-marker{display:none}.nav-mobile-lines,.nav-mobile-lines::before,.nav-mobile-lines::after{display:block;width:22px;height:1px;background:currentColor;position:relative;content:""}.nav-mobile-lines::before{position:absolute;top:-6px}.nav-mobile-lines::after{position:absolute;top:6px}.mobile-panel{position:absolute;top:60px;left:0;right:0;background:#eaf6f2fa;backdrop-filter:blur(16px);color:var(--ink);text-shadow:none;padding:25px}.mobile-panel .nav-list{display:flex;flex-direction:column;gap:15px;align-items:stretch}.mobile-panel a{display:block;font-size:16px}.artist-cover{min-height:520px;max-height:850px;height:100svh}.artist-cover-image{object-position:61% center}.artist-cover-sign{left:25px;bottom:108px;gap:13px}.artist-cover-sign>img{width:40px;height:58px}.artist-cover-sign h1{font-size:57px}.artist-cover-sign div>span{font-size:7px;letter-spacing:.12em;margin-top:10px}.artist-cover-scroll{left:25px;font-size:8px;bottom:22px}.kayl-dice-link{right:18px;bottom:20px;padding:8px 10px;gap:8px}.kayl-home-die{--d20-size:33px}.kayl-dice-link small{font-size:6px}.kayl-dice-link strong{font-size:10px}.artist-section{margin:30px 0;padding:38px 0;backdrop-filter:blur(10px)}.artist-section-heading{margin-bottom:25px}.artist-section-heading h2{font-size:25px}.artist-section-heading>span{font-size:10px}.artist-profile{margin-top:0}.artist-profile-layout{grid-template-columns:1fr;gap:0;min-height:0}.artist-profile-copy{order:1;max-width:none}.artist-profile-art{width:100%;max-width:100%;margin:0;order:2;margin-top:15px}.artist-profile h2{font-size:28px}.artist-profile h2 span{font-size:14px}.artist-profile-copy>p{font-size:13px}.artist-tags{font-size:9px}.artist-socials{font-size:11px}.artist-video-pair{grid-template-columns:1fr;gap:28px}.artist-video-pair h3{font-size:14px}.artist-section-actions{gap:12px}.artist-link{font-size:11px;padding:9px 17px;gap:18px}.artist-commission-layout{grid-template-columns:1fr;gap:24px}.artist-commission-layout h3{font-size:15px}.artist-service-links{gap:0 20px}.artist-journal-list a{grid-template-columns:1fr 14px;gap:6px 15px;font-size:12px;padding:18px 0}.artist-journal-list time{grid-column:1/-1;font-size:10px}.artist-category-nav{gap:14px 20px;font-size:10px;margin-top:23px}.artist-page-top{padding:40px 0 32px}.artist-page-top h1{font-size:25px;letter-spacing:.01em}.artist-page-label{font-size:10px}.artist-page-top .artist-category-nav{margin-top:20px}.artist-music-grid{grid-template-columns:1fr;gap:30px}.artist-music-item h2{font-size:14px}.artist-editorial-list>article{grid-template-columns:1fr;gap:16px;padding-bottom:28px}.artist-editorial-image{aspect-ratio:16/9}.artist-editorial-list h2{font-size:17px;margin:8px 0 15px}.artist-reading-width{width:calc(100% - 40px)}.artist-reading-section{margin-top:0}.entry-content{font-size:14px;line-height:2}.entry-content h2{font-size:21px;margin-top:32px}.entry-content h3{font-size:17px}.entry-content pre{font-size:12px}.entry-content table{font-size:11px}.entry-content td,.entry-content th{padding:8px}.artist-about-layout{display:flex;flex-direction:column;gap:30px}.artist-about-portrait{position:static;width:100%;order:-1}.artist-about-portrait>img{aspect-ratio:16/10;object-position:60% 40%}.artist-commission-nav{top:60px;gap:12px 20px;padding:12px 15px;font-size:10px}.artist-commission-body .entry-content>section{scroll-margin-top:150px}.artist-commission-body .entry-content>section h2{font-size:23px}.artist-post-navigation{font-size:10px;gap:20px}.footer-inner{flex-direction:column;align-items:start;gap:22px}.footer-links{gap:18px}.site-footer{margin-top:30px}.price-modal{padding:12px}.price-modal__panel{padding:28px 18px;max-height:calc(100svh - 24px)}.price-modal__panel h2{font-size:21px}.price-presets,.price-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-option-grid{grid-template-columns:1fr 1fr}.price-simulator{gap:20px}.price-result{padding:18px}.entry-layout{width:calc(100% - 40px)}.entry-panel{padding:20px}.archive-hero{padding:35px 0}.page-hero-grid{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.artist-motion .artist-enter:not(.artist-visible){opacity:1;transform:none}.artist-cover-sign{opacity:1;transform:none}}
.home .site-header:not(.is-scrolled){color:#163f50;text-shadow:none;background:linear-gradient(#f0fff6a6,transparent)}.home .site-header:not(.is-scrolled) .kayl-brand-mark{filter:none}.artist-profile .language-switcher{justify-content:flex-start}.artist-service-section{padding:25px 0 35px;scroll-margin-top:145px;border-bottom:1px solid var(--line)}.artist-service-section h2{text-align:left!important;font-size:26px!important;letter-spacing:.03em}.artist-production-flow{margin:25px 0;border-block:1px solid var(--line)}.artist-production-flow summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;padding:17px 0;font-size:13px;font-weight:750}.artist-production-flow summary::-webkit-details-marker{display:none}.artist-production-flow summary::after{content:"＋";font-size:18px;font-weight:400}.artist-production-flow[open] summary::after{content:"−"}.artist-flow-body{padding:5px 15px 20px}.artist-flow-body p{font-size:12px!important;margin:10px 0!important}.artist-flow-body .artist-step-title{font-weight:750;margin-top:23px!important}.artist-commission-body .wp-block-separator{border:0;border-top:1px solid var(--line);margin:28px 0}.artist-about-layout .entry-content>h2:first-child{padding-top:0}.artist-page-top .artist-section-actions a{font-size:11px}.artist-policy-layout .entry-content{background:none}.artist-section .entry-content .has-text-align-center{text-align:left}.artist-section .entry-content .wp-block-spacer{height:22px!important}
@media(max-width:900px){.price-simulator{display:flex;flex-direction:column}.price-result{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.price-result>.price-total{grid-column:1;grid-row:2;margin:4px 0}.price-result>.price-selected-list{grid-column:2;grid-row:1/4;margin-top:0}.price-result>.price-note,.price-result>.price-modal__actions{grid-column:1/-1}.price-result>.price-breakdown{display:none}.price-result>.price-subtotal{font-size:10px}}
@media(max-width:680px){.artist-service-section{scroll-margin-top:145px;padding:20px 0 28px}.artist-service-section h2{font-size:22px!important}.price-result{display:block}.price-result>.price-selected-list{margin:10px 0}.price-result>.price-note{margin-top:10px}}
.random-compose-app[data-theme="light"]{background:#eef8edbd;--rc-panel:#f6fbf0c9;--rc-panel-soft:#e0eee4b3;--rc-shadow:none;--rc-radius:3px;--rc-line:#7ca8a34d;--rc-primary:#2a7883;--rc-primary-dark:#174e65;backdrop-filter:blur(14px)}.random-compose-app::before,.random-compose-app::after,.random-compose-app .hero-wave{display:none}.random-compose-app .rc-panel{border:1px solid #76a4a34d;border-radius:3px;box-shadow:none;backdrop-filter:blur(6px)}.random-compose-app .rc-topbar{text-align:center;justify-content:center}.random-compose-app .rc-title{font-size:32px;font-family:var(--font-body);font-weight:750}.random-compose-app .rc-title-egg-head>span{display:none}.random-compose-app .rc-lead{font-size:12px}
.random-compose-app .rc-title,.random-compose-app .rc-kicker{color:var(--ink)}.random-compose-app .rc-topbar{padding-top:12px}.random-compose-app .rc-title{margin-bottom:12px}
.price-discount-label{display:block;margin-bottom:8px;font-weight:600}
.price-discount-input{display:block;width:100%;max-width:320px;min-height:48px;padding:10px 14px;border:1px solid #729da3;border-radius:0;background:#f4faf4;color:var(--ink);font:inherit}
.price-discount-input:focus-visible{outline:2px solid #27879b;outline-offset:3px}
/* Account for WordPress admin toolbar and the existing chat launcher. */
body.admin-bar .site-header{top:32px}.home .kayl-dice-link{right:95px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:680px){.home .kayl-dice-link{right:18px;bottom:82px}.artist-cover-sign{bottom:160px}}
/* Keep WordPress's mobile admin bar anchored to the page viewport. */
body{position:static}.admin-bar .artist-cover{height:calc(100svh - 32px)}@media(max-width:782px){.admin-bar .artist-cover{height:calc(100svh - 46px)}}
	

/* Private document export dialog. */
.price-document-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #b7cdd2}.price-document-actions button{font:inherit;cursor:pointer}
.document-dialog{width:min(760px,calc(100vw - 28px));max-height:90svh;overflow:auto;border:1px solid #8aa9b0;padding:32px;background:#f3faf6;color:#183b49;box-sizing:border-box;box-shadow:0 24px 90px #092d4477;font:14px/1.6 var(--font-body);border-radius:3px}
.document-dialog::backdrop{background:#123b50aa;backdrop-filter:blur(5px)}.document-dialog h2{margin:0 0 22px;font-size:25px}.document-dialog form{position:relative}.document-close{position:absolute;right:0;top:0;border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}.document-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.document-wide{grid-column:1/-1}.document-dialog label{display:block;font-size:13px;font-weight:600}.document-dialog input,.document-dialog textarea,.document-dialog select{display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:6px;border:1px solid #9ab6bd;border-radius:2px;background:#fff;color:#183b49;padding:10px;font:inherit;line-height:1.5}.document-dialog input:focus-visible,.document-dialog textarea:focus-visible,.document-dialog select:focus-visible{outline:2px solid #27879b;outline-offset:2px}.document-issuer{margin:24px 0;padding:18px;border:1px solid #bfd3d8}.document-issuer legend{padding:0 8px;font-weight:700}.document-notes{margin-top:20px}.document-confirm{margin-top:24px;padding:18px;background:#deeeea;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.document-confirm p{margin:0}.document-confirm strong{display:block;font-size:24px}.document-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.document-footer button{font:inherit;cursor:pointer}.document-footer button:disabled{opacity:.6;cursor:wait}.document-status{font-size:13px;min-height:22px;margin:14px 0 0}.document-dialog .section-kicker{font-size:10px;letter-spacing:.15em;margin:0 0 4px}
@media(max-width:600px){.document-dialog{padding:24px 18px;font-size:16px}.document-fields{grid-template-columns:1fr;gap:13px}.document-confirm{grid-template-columns:1fr;gap:12px}.document-dialog input,.document-dialog textarea,.document-dialog select{font-size:16px}.document-issuer{padding:14px}.document-footer{flex-wrap:wrap}.price-document-actions .button-link{flex:1;text-align:center}}

.document-dialog .document-name-choice{display:flex;gap:10px;align-items:flex-start}.document-dialog .document-name-choice input{display:inline-block;width:18px;flex:0 0 18px;height:18px;margin:2px 0 0;padding:0;accent-color:#27879b}.document-private-note{font-size:12px;font-weight:400;color:#4a6872}
