/* Approved mobile-first palette — September 2026. */
:root {
  --ink:#302b30; --ink-2:#554f57; --muted:#6b6370; --cocoa:#6b6370;
  --wine:#8b3656; --wine-2:#7b2c4b; --rose:#a1627b; --rose-soft:#ecd0dc;
  --blush:#f3e5ec; --powder:#e9eaf0; --lavender:#e0e5ed; --gold:#89734f;
  --paper:#f2eff0; --shell:#fdfafb; --mist:#e9e6ea;
  --line:#d8d1d7; --line-strong:#c2aebc;
  --surface-canvas:#f2eff0; --surface-section:#e8eaee; --surface-card:#fdfafb; --surface-raised:#e9e6ea;
  --accent-brand:#8b3656; --accent-brand-strong:#7b2c4b;
  --accent-info:#53637e; --accent-info-soft:#e2e7ef; --accent-prize:#bda17a;
  --shadow:0 16px 40px rgba(46,38,48,.065); color-scheme:light;
}
body { background:var(--surface-canvas); color:var(--ink); }
.site-header,.legal-header { background:#faf7f8; border-color:#dcd5dc; box-shadow:none; }
.home-header .brand-name { white-space:nowrap; font-size:clamp(12px,3.6vw,16px); }
.brand-wordmark { color:#7b2c4b; }
.site-nav { background:#fdfafb; }
.menu-button { background:#ecd2dd; border-color:#c9aabb; color:#71344e; box-shadow:none; }
.section-label,.mini-label { color:#756273; }
.section-label { font-family:'Noto Sans JP',sans-serif; font-size:12px; font-weight:700; letter-spacing:.15em; }
.button-primary,.site-nav .nav-cta,.home-primary-nav .nav-cta,.mobile-fixed-cta a { background:#7b2c4b; border-color:#7b2c4b; color:#fff; box-shadow:none; }
.button-primary:hover,.site-nav .nav-cta:hover,.home-primary-nav .nav-cta:hover { background:#63213b; }
.button-secondary,.button.button-judge { border-color:#c6bec9; background:transparent; color:#625765; box-shadow:none; }

/* Separate the example and participant destinations without competing with entry. */
.home-primary-nav .nav-scene-link,
.home-header .site-nav .nav-scene-link {
  --nav-tone:#79344f; --nav-tint:#f3e6ed; --nav-edge:#d7b8c8;
  color:var(--nav-tone); background:var(--nav-tint); border:1px solid var(--nav-edge); border-radius:8px; box-shadow:none;
}
.home-primary-nav .nav-profile-link,
.home-header .site-nav .nav-profile-link {
  --nav-tone:#405976; --nav-tint:#e8edf4; --nav-edge:#b9c7d8;
  color:var(--nav-tone); background:var(--nav-tint); border:1px solid var(--nav-edge); border-radius:8px; box-shadow:none;
}
.home-primary-nav .nav-scene-link,
.home-primary-nav .nav-profile-link {
  display:grid; grid-template-columns:20px minmax(0,1fr); gap:3px 8px; align-items:center; padding:8px 10px;
}
.home-header .site-nav .nav-scene-link,
.home-header .site-nav .nav-profile-link {
  display:grid; grid-template-columns:22px minmax(0,1fr) 18px; gap:4px 10px; align-items:center;
  min-height:76px; margin:4px; padding:12px; font-size:16px;
}
.home-primary-nav .nav-scene-link::before,
.home-primary-nav .nav-profile-link::before,
.home-header .site-nav .nav-scene-link::before,
.home-header .site-nav .nav-profile-link::before {
  content:""; grid-column:1; grid-row:1 / 3; width:22px; height:22px; border:0; border-radius:0;
  background:var(--nav-tone); box-shadow:none; transform:none;
  mask-position:center; mask-size:contain; mask-repeat:no-repeat;
}
.home-primary-nav .nav-scene-link::before,
.home-header .site-nav .nav-scene-link::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 3V6a2 2 0 0 1 1-2Z'/%3E%3Cpath d='M8 9h9M8 13h6'/%3E%3C/svg%3E");
}
.home-primary-nav .nav-profile-link::before,
.home-header .site-nav .nav-profile-link::before {
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Ccircle cx='12' cy='9' r='3'/%3E%3Cpath d='M7 18c0-3 2-4 5-4s5 1 5 4'/%3E%3C/svg%3E");
}
.home-primary-nav .nav-scene-link > span,
.home-primary-nav .nav-profile-link > span,
.home-header .site-nav .nav-scene-link > span,
.home-header .site-nav .nav-profile-link > span {
  grid-column:2; grid-row:1; justify-self:start; min-width:0; margin:0; line-height:1.35;
}
.home-primary-nav .nav-scene-link > small,
.home-primary-nav .nav-profile-link > small,
.home-header .site-nav .nav-scene-link > small,
.home-header .site-nav .nav-profile-link > small {
  grid-column:2; grid-row:2; justify-self:start; margin:0; padding:0; border:0; border-radius:0;
  background:transparent; color:var(--nav-tone); font-size:12px; font-weight:500; line-height:1.45;
}
.home-header .site-nav .nav-scene-link > small,
.home-header .site-nav .nav-profile-link > small { font-size:14px; white-space:normal; }
.home-primary-nav .nav-scene-link > small,
.home-header .site-nav .nav-scene-link > small {
  max-width:100%; padding:3px 8px; border:1px solid #a8d6c8; border-radius:5px;
  background:#dff4ee; color:#205d50; font-weight:700; text-wrap:balance;
}
.home-primary-nav .nav-profile-link > small,
.home-header .site-nav .nav-profile-link > small {
  max-width:100%; padding:3px 8px; border:1px solid #e3aac3; border-radius:5px;
  background:#f9dce9; color:#802a52; font-weight:700; text-wrap:balance;
}
.home-header .site-nav .nav-scene-link::after,
.home-header .site-nav .nav-profile-link::after {
  content:"→"; grid-column:3; grid-row:1 / 3; width:auto; height:auto; border:0; background:transparent; color:var(--nav-tone); font-size:18px;
}
.home-primary-nav .nav-scene-link:hover,.home-primary-nav .nav-profile-link:hover,
.home-header .site-nav .nav-scene-link:hover,.home-header .site-nav .nav-profile-link:hover {
  color:var(--nav-tone); background:var(--nav-tint); border-color:var(--nav-tone); box-shadow:none;
}
.home-primary-nav a:focus-visible,.home-header .site-nav a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }

/* Keep the backdrop separate from readable, opaque information surfaces. */
.hero { background:#f5edf1; }
.hero-media { inset:0; width:100%; height:100%; opacity:1; mask-image:none; }
.hero-media img { inset:0; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:55% center; opacity:.8; filter:saturate(.52) contrast(.96) brightness(1.12); }
.hero-shade { background:linear-gradient(90deg,rgba(252,248,250,.97),rgba(250,242,247,.81) 42%,rgba(244,233,242,.28)),linear-gradient(0deg,rgba(242,239,240,.96),rgba(244,235,242,.09) 50%,rgba(248,238,244,.2)); }
.hero h1 { color:#342d35; text-shadow:0 3px 16px rgba(255,255,255,.35); }
.hero .event-kicker { color:#79344f; font-family:'Noto Sans JP',sans-serif; }
.hero-catch { color:#73364f; font-family:'Noto Sans JP',sans-serif; font-weight:700; border-left:2px solid #bda17a; }
.hero-inner { grid-template-areas:"copy" "catch" "prize" "date" "script" "entry" "broadcast"; }
.hero-script-note {
  grid-area:script; align-self:start; min-width:0; padding:10px 12px;
  border-left:2px solid #ba7996; border-radius:0 4px 4px 0; background:#fff;
  color:#514650; font-family:'Noto Sans JP',sans-serif;
}
.hero-script-note > strong { display:block; color:#4b3042; font-size:16px; font-weight:700; line-height:1.5; }
.hero-script-note > p { margin:3px 0 0; font-size:14px; font-weight:400; line-height:1.65; }
.hero-script-note > p > span { display:inline-block; max-width:100%; }
.hero-feedback-note { margin-top:8px; padding-top:8px; border-top:1px solid #dfd7dd; }
.hero-feedback-note > strong { display:block; color:#4b3042; font-size:1rem; font-weight:700; line-height:1.6; }
.hero-feedback-note > strong > span { display:inline-block; max-width:100%; }
.participation-note { padding:28px 0; background:#f3e9ef; border-top:1px solid #d8c8d2; border-bottom:1px solid #d8c8d2; }
.participation-note-inner { display:grid; gap:12px; padding:0; }
.participation-note h2 { margin:0; color:#73364f; font-size:1.25rem; font-weight:700; line-height:1.7; }
.participation-note h2 > span { display:inline-block; }
.participation-note p { max-width:66ch; margin:0; color:var(--ink-2); font-size:1rem; line-height:1.85; }
.participation-note a {
  display:inline-flex; align-items:center; min-height:44px; max-width:100%; margin-top:8px;
  color:#73364f; font-size:.875rem; font-weight:500; line-height:1.6;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
}
.participation-note a:hover { color:#542039; }
.participation-note a:focus-visible { outline:2px solid #73364f; outline-offset:3px; border-radius:2px; }
@media(min-width:821px) {
  .hero-inner { grid-template-areas:"copy prize" "catch prize" "date prize" "script script" "entry broadcast"; }
  .participation-note { padding:36px 0; }
  .participation-note-inner { grid-template-columns:minmax(240px,.8fr) minmax(0,1.5fr); gap:36px; align-items:start; }
}
@media(min-width:1101px) {
  .hero-inner {
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    grid-template-areas:"copy prize" "catch prize" "date prize" "script prize" "entry broadcast";
  }
}
.hero-date { border:1px solid #d6a9bd; border-radius:6px; background:#fffafd; box-shadow:none; backdrop-filter:none; }
.hero-date-heading strong { background:transparent; color:#793b57; }
.hero-date-heading span,.hero-date-meta strong { color:#793b57; }
.hero-date-number { color:#7b2c4b; }
.hero-date-number i { color:#8a724e; letter-spacing:0; margin:0 .08em; flex:none; }
.hero-date-ja { border-color:#d4c8d2; color:#5c535d; }
.hero-prize { background:#fffdfd; border:0; border-left:2px solid #bda17a; border-radius:0 7px 7px 0; box-shadow:none; backdrop-filter:none; }
.hero-prize .mini-label { color:#6b5967; }
.hero-prize-grid,.hero-prize-grid article,.hero-prize-grid article:first-child,.hero-prize-grid article:last-child { border-color:#d9d1d8; background:transparent; }
.hero-prize-grid article:first-child strong { color:#7b2c4b; }
.hero-prize-notes .fine-print { color:#645a65; font-weight:500; }
.hero-broadcast { border:0; border-top:1px solid #a9afbf; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.hero-broadcast-heading strong { color:#53637e; }
.hero-host-role { background:#7b2c4b; color:#fff; }
.hero-twitch-link { background:#efe5ff; border:1px solid #c5a5ed; color:#6b21c9; box-shadow:none; }
.hero-twitch-link:hover { background:#e4d4ff; border-color:#a77ade; color:#5416a5; }

/* Pink identifies entry; cool neutrals support practical information. */
.role-recruitment-section,.entry-section { background:var(--surface-canvas); }
.role-status-card.role-status-featured { border:1px solid #c7b0bf; background:linear-gradient(145deg,#fdfbfc,#f7eef3); box-shadow:0 18px 48px #4e2b3d0d; }
.role-status-card.role-status-featured::before { display:none; }
.role-priority-note { display:none; }
.role-status-head strong { color:#584963; background:#e6e0eb; }
.role-status-message { color:#77364f; }
.role-script-highlight { border:1px solid #d3baca; border-left:3px solid #98536f; background:#f0e1ea; }
.role-script-highlight > span { color:#7d3b58; font-size:12px; }
.role-facts { background:#fcfafb; border-color:#d6c8d2; }
.role-facts > div { border-color:#d6c8d2; }
.recruitment-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.recruitment-layout > .section-heading { margin:0; }
.recruitment-layout > .profile-materials-note { margin-top:0; }
.recruitment-layout > .judge-secondary-entry {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
  width:100%; min-width:0; max-width:none; margin:0; padding:16px;
  background:#e8f0fa; border:1px solid #b6cbe3; color:#284e78; box-shadow:none;
}
.recruitment-layout > .judge-secondary-entry > span { display:grid; gap:6px; min-width:0; }
.recruitment-layout .judge-secondary-entry strong { color:#284e78; font-size:16px; line-height:1.5; }
.recruitment-layout .judge-secondary-entry small {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:#3a5c80;
  font-family:'Noto Sans JP',sans-serif; font-size:14px; font-weight:500; letter-spacing:0; line-height:1.5;
}
.recruitment-layout .judge-secondary-entry [data-role-badge] {
  padding:2px 7px; border:1px solid #a9c1dd; border-radius:4px; background:#f6f9ff; color:#284e78; font-size:12px; font-weight:700;
}
.recruitment-layout .judge-secondary-entry .button {
  min-height:44px; width:auto; padding:9px 16px; border:1px solid #93b4dc;
  background:#d6e5f8; color:#234f82; font-size:14px; line-height:1.5; white-space:normal;
}
.recruitment-layout .judge-secondary-entry .button:hover { background:#c7dcf5; border-color:#7199ca; color:#173d6b; }
@media(min-width:1100px) {
  .recruitment-layout { grid-template-columns:minmax(0,1fr) 310px; column-gap:32px; row-gap:32px; }
  .recruitment-layout > .section-heading { grid-column:1; grid-row:1; }
  .recruitment-layout > .judge-secondary-entry { grid-column:2; grid-row:1; align-self:center; }
  .recruitment-layout > .role-status-grid { grid-column:1 / -1; grid-row:2; }
  .recruitment-layout > .profile-materials-note { grid-column:1 / -1; grid-row:3; }
}
.profile-materials-note { background:#e8ebf0; border-color:#c4cbd6; box-shadow:none; }
.profile-materials-note .mini-label,.profile-materials-note h3 { color:#485974; }
.profile-materials-note a { color:#485974; }
.summary-band,.recording-section { background:#e8eaee; }
.purpose-card,.recording-beginner-guide,.recording-rule-group { background:#f8f9fb; border-color:#cbd0d9; box-shadow:none; }
.purpose-card > span,.recording-easy-steps > li > span { color:#596b83; }
.recording-reassurance,.recording-details { background:#eef0f4; border-color:#c5cbd6; }
.recording-rule-group li span,.recording-details p,.recording-reassurance p { color:#565d6a; }
.recording-section .section-label,.recording-section .mini-label { color:#596a83; }
.scene-section { background:#f2edef; }
.scene-panel,.scene-example { background:#fcfafb; border-color:#d3cad3; box-shadow:none; }
.scene-panel-heading { grid-template-columns:minmax(0,1fr); gap:8px; }
.scene-panel-heading > *,.scene-panel-content { min-width:0; }
.scene-tab { color:#615264; background:#f9f6f9; border-color:#c9becd; }
.scene-tab.is-active { background:#7b2c4b; color:white; border-color:#7b2c4b; }
.scene-note { border-color:#b79d7b; }
.score-item,.judging-rule-grid > article,.faq-item { background:#fcfafb; border-color:#d6cfd7; box-shadow:none; }
.judging-feedback { margin:0 0 24px; padding:20px; border-left:3px solid #b79baa; background:#f3e9ef; scroll-margin-top:110px; }
.judging-feedback > h3 { margin:0; color:#73364f; font-size:1.125rem; font-weight:700; line-height:1.6; }
.judging-feedback > p { max-width:66ch; margin:10px 0 0; color:var(--ink-2); font-size:1rem; font-weight:400; line-height:1.85; }
.judging-feedback + .criteria-summary { margin:0 0 26px; }
.score-number { color:#736278; }
.schedule-section { background:#2d3545; }
.schedule-section .section-heading .section-label { color:#d7c5d1; }
.schedule-section .section-heading h2,.schedule-section .role-timeline li > span,.schedule-section .timeline-label h3 { color:#fcf8fb; }
.schedule-section .section-heading p:not(.section-label) { color:#d2dce8; }
.schedule-section .role-timeline { border-color:#626d80; background:#343e50; }
.schedule-section .role-timeline li { background:#424c5f; border-color:#68748a; }
.schedule-section .timeline-label span,.schedule-section .role-timeline time { color:#edcfdd; }
.schedule-section .role-timeline small { color:#e7edf6; }
.schedule-section .timeline-label strong { background:#e2e7f0; color:#36475f; }
.schedule-section .timeline-step-conditional { background:#303a4b; border-color:#93a1b6; }
.schedule-section .role-timeline .timeline-condition { background:#e4e9f1; color:#344761; font-size:12px; }
.schedule-section .role-timeline .timeline-context { color:#e7edf6; background:transparent; font-size:12px; }
.schedule-section .role-timeline .timeline-extension-note { display:block; margin-top:7px; color:#e2e8f1; font:500 14px/1.6 'Noto Sans JP',sans-serif; }
.schedule-section .role-timeline li:not(:last-child)::after { border-color:#b0bdd0; }
.entry-form,.legal-content > section { background:#fcfafc; border-color:#d1c5d1; box-shadow:none; }
.entry-script-note { display:grid; gap:3px; margin:0; padding-bottom:12px; border-bottom:1px solid #d3baca; }
.entry-script-note > strong { color:#73364f; font-size:16px; font-weight:700; line-height:1.5; }
.entry-script-note > span { color:var(--ink-2); font-size:14px; font-weight:400; line-height:1.65; }
.entry-type-grid .type-option-contestant { background:#f0e3eb; }
.entry-type-grid .type-option-judge > span {
  border-color:#b6cbe3; background:#edf3fa; color:#284e78;
}
.entry-type-grid .type-option-judge strong { color:#284e78; }
.entry-type-grid .type-option-judge input:checked + span {
  border-color:#7199ca; background:#d6e5f8; box-shadow:inset 0 0 0 1px rgba(40,78,120,.12);
}
.entry-type-grid .type-option-judge input:focus-visible + span {
  outline-color:rgba(40,78,120,.38);
}
.application-status { background:#e7edf1; border-color:#b7c8d1; color:#36596a; }
.application-status strong { color:#36596a; }
.form-legal-summary,.form-confirmations,.pre-entry-contact { background:#f1eef4; border-color:#d0c8d7; }
.entry-form input:not([type=checkbox]):not([type=radio]),.entry-form textarea { background:#fffdfd; border-color:#bdb1bd; color:#2d2930; }
.entry-form input::placeholder,.entry-form textarea::placeholder { color:#80717e; opacity:1; }
.field-help,.fine-print,.recruitment-extension-note { color:#695e6c; }
.organizer-section { background:#e7e8ee; }
.organizer-link { background:#faf9fc; border-color:#c9cbd8; box-shadow:none; }
.organizer-link-primary { background:#efe5ff; border-color:#c5a5ed; color:#6b21c9; }
.organizer-link-primary small { color:#623796; }
.organizer-link-primary:hover { background:#e4d4ff; border-color:#a77ade; color:#5416a5; }
.profiles-hero,.final-cta { background:#ede4ec; }
.profile-publishing-preview,.profiles-status,.profile-official-notice { background:#faf8fb; border-color:#cfc3d2; box-shadow:none; }
.site-footer { background:#e3e5eb; border-color:#c5c8d3; }

@media(max-width:820px) {
  .hero-media img { object-position:53% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(252,248,250,.96),rgba(250,240,247,.79) 45%,rgba(244,232,241,.33)),linear-gradient(0deg,rgba(244,237,242,.9),rgba(245,235,243,.07) 52%,rgba(248,238,244,.2)); }
  .hero-inner { gap:8px; }
  .hero .event-kicker { font-size:12px; line-height:1.4; letter-spacing:.025em; }
  .event-kicker span:last-child { display:none; }
  .hero h1 { font-size:clamp(2.75rem,13.3vw,3.45rem); line-height:.9; }
  .hero-catch { margin:4px 0 0; padding-left:8px; font-size:14px; line-height:1.55; }
  .hero-date { padding-top:8px; padding-bottom:8px; }
  .hero-date-heading span,.hero-date-heading strong,.hero-date-meta,.hero-date-ja { font-size:12px; }
  .hero-date-heading strong { letter-spacing:.03em; }
  .hero-date-number { font-size:80px; line-height:.9; margin:-2px 0; }
  .hero-date-number i { font-size:32px; line-height:1; }
  .hero-prize-grid article > span,.hero-broadcast-heading span,.hero-entry-label { font-size:12px; }
  .hero-prize-notes .fine-print { font-size:12px; line-height:1.5; }
  .hero-prize-grid article:first-child strong { font-size:38px; }
  .hero-channel-role,.hero-host-duty,.hero-role-cta small { font-size:12px; }
  .hero-twitch-link { min-height:44px; }
  .hero-role-cta { min-height:46px; }
  .hero-entry-label { font-family:'Noto Sans JP',sans-serif; letter-spacing:.12em; }
  .section-heading > p:not(.section-label) { font-size:16px; }
  .role-status-card.role-status-featured { padding:22px 18px; }
  .recruitment-extension-note,.field-help { font-size:14px; }
  .scene-section .section-shell { min-width:0; }
  .scene-section .section-heading { grid-template-columns:minmax(0,1fr); min-width:0; }
  .scene-section .section-heading > * { min-width:0; }
  .scene-section .section-heading h2 { word-break:normal; overflow-wrap:anywhere; text-wrap:balance; }
}
@media(min-width:821px) {
  .hero-date { padding:16px 0 13px; }
  .hero-catch { font-size:17px; max-width:28em; }
  .hero-prize-notes .fine-print { font-size:12px; }
}
.hero-date { display:block; align-self:start; padding:10px 12px; }
.hero-date-facts { display:grid; gap:10px; margin:0; font-family:'Noto Sans JP',sans-serif; }
.hero-date-facts > div { display:grid; grid-template-columns:4.5em minmax(0,1fr); align-items:baseline; gap:8px; font-size:1rem; line-height:1.6; }
.hero-date-facts dt { color:#45434b; font-size:.875rem; font-weight:500; }
.hero-date-facts dd { margin:0; color:#302b30; font-weight:500; }
.hero-date-facts .hero-main-date { grid-template-columns:minmax(0,1fr); gap:6px; }
.hero-date-facts .hero-main-date dt { justify-self:start; padding:2px 9px; border-radius:4px; background:#f2dce7; color:#782746; font-weight:700; letter-spacing:.04em; }
.hero-main-date dd { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 12px; font-size:clamp(1.375rem,5.8vw,1.5rem); font-weight:700; line-height:1.5; font-variant-numeric:tabular-nums; }
.hero-main-date dd > span { white-space:nowrap; }
.hero-main-date [data-event-short-date] { color:#782746; }
.hero-main-date [data-event-start-time] { color:#352a33; }
.hero-date-facts .hero-deadline { padding-top:8px; border-top:1px solid #e2d2dc; }
.hero-date-facts .hero-deadline dd { color:#302b30; font-weight:700; }
.hero-date-note { margin:6px 0 0; color:#45434b; font-family:'Noto Sans JP',sans-serif; font-size:.875rem; font-weight:400; line-height:1.65; }
@media(max-width:820px) { .hero-broadcast { margin-top:8px; } }
