/* Shourei visual identity. Loaded after the unchanged Linen stylesheet.
   Only brand artwork, typography in the lockup, and colors are changed here. */
@font-face{font-family:ShoureiSpace;src:url('/static/fonts/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{
  --shourei-ink:#171B1B;
  --shourei-paper:#F5F2E9;
  --shourei-white:#FFFFFF;
  --shourei-blue:#2A5364;
  --shourei-blue-dark:#1D3F4D;
  --shourei-mist:#DCE6E2;
  --shourei-muted:#5D6964;
  --shourei-correct:#245F42;
  --shourei-correct-wash:#E5F2E8;
  --shourei-retry:#795943;
  --shourei-retry-wash:#F5EDE3;
  --shourei-night:#17262C;
  --accent:var(--shourei-blue);
  --border:#C9D5D2;
  --muted:var(--shourei-muted);
  --ink:var(--shourei-ink);
  --surface:var(--shourei-white);
  --surface-soft:#EAF0EE;
  --focus:var(--shourei-blue);
  --linen-paper:var(--shourei-paper);
  --linen-surface:var(--shourei-white);
  --linen-ink:var(--shourei-ink);
  --linen-green:var(--shourei-blue);
  --linen-green-dark:var(--shourei-blue-dark);
  --linen-green-wash:var(--shourei-mist);
  --linen-brown:var(--shourei-blue);
  --linen-brown-wash:var(--shourei-mist);
  --linen-error:var(--shourei-retry);
  --linen-error-wash:var(--shourei-retry-wash);
}
html,body{background:var(--shourei-paper);color:var(--shourei-ink)}
::selection{background:var(--shourei-mist);color:var(--shourei-ink)}
.header{background:var(--shourei-paper)}
header.localized-header .localized-brand img.shourei-lockup,
.linen-brand>img.shourei-lockup{width:210px;height:auto;max-height:48px;display:block}
.onboarding-brand img.shourei-lockup,.join-brand img.shourei-lockup,
.start-brand img.shourei-lockup,.completion-top .brand img.shourei-lockup,
.pilot-login img.shourei-lockup{width:170px;height:auto;max-height:44px;display:block}
.start-footer .start-brand img.shourei-lockup{width:150px}
.header nav a{color:var(--shourei-muted)}
.header nav a:hover,.header nav a[aria-current]{color:var(--shourei-blue-dark);background:var(--shourei-mist)}
.updates-nav-link .updates-nav-star,.updates-announcement-star,
.updates-announcement-copy strong{color:var(--shourei-blue)}
.updates-announcement-inner,.progress-next{background:var(--shourei-mist);border-color:#C9D5D2;color:var(--shourei-blue-dark)}
.updates-announcement-close,.updates-announcement-close:hover{color:var(--shourei-blue-dark)}
.content-add{border-color:#9DB5BD;color:var(--shourei-blue);background:var(--shourei-white)}
.practice-route{background:#EEF3F1;border-color:#C9D5D2}
.content-cover.text,.game-scene{background:var(--shourei-mist);color:var(--shourei-blue-dark)}
.content-cover.text[data-level=B1],.content-cover.text[data-level=B2],
.content-cover.text[data-level=C1],.content-cover.text[data-level=C2]{background:#E8EEEC}
.game-hills,.game-gate{background:#B8CBD0;color:var(--shourei-blue-dark)}
.game-track{background:#A9B7B9;border-color:#71868C}
.game-progress>div{background:var(--shourei-blue)}
.games-demo{background:#EEF3F1;border-color:#C9D5D2;color:var(--shourei-ink)}
.games-demo button{background:var(--shourei-blue);border-color:var(--shourei-blue)}
.games-demo button:hover{background:var(--shourei-blue-dark);border-color:var(--shourei-blue-dark)}
.rhythm-option:hover{border-color:#9DB5BD}
.rhythm-option:has(input:checked){background:var(--shourei-mist);border-color:var(--shourei-blue)}
.rhythm-option:has(input:focus-visible),.study-settings .study-weekdays label:has(input:focus-visible){outline-color:#9DB5BD}
.rhythm-check{border-color:#9DB5BD}
.settings-current{background:#EEF3F1;border-color:#C9D5D2}
.settings-current>span{color:var(--shourei-blue)}
.progress-demo-toggle,.overview-demo a{color:var(--shourei-blue)}
.overview-demo{background:var(--shourei-retry-wash);color:var(--shourei-retry)}
.overview-lead,.overview-stats,.overview-panel,.overview-course{border-color:#C9D5D2}
.overview-lead h2,.overview-stat strong,.overview-panel-head h3,.overview-course-head h3{color:var(--shourei-ink)}
.overview-score,.overview-change,.overview-panel-head strong,.overview-course-head strong{color:var(--shourei-blue)}
.overview-course-track span{background:var(--shourei-blue)}
.site-report-button{background:var(--shourei-blue);border-color:var(--shourei-blue);color:#fff}
.site-report-button:hover{background:var(--shourei-blue-dark);border-color:var(--shourei-blue-dark)}
.site-report-button:focus-visible{outline-color:var(--shourei-blue)}
.site-report-form .site-report-image-label{background:var(--shourei-mist);border-color:#9DB5BD;color:var(--shourei-blue)}
.lesson-page:is([data-mode=shorts],[data-mode=texts]).lesson-toolbar-ready .lesson-command-bar>.study-words-goal{background:#F1F5F3;border-color:#C9D5D2}
.lesson-page:is([data-mode=shorts],[data-mode=texts]).lesson-toolbar-ready .lesson-command-bar>.study-words-goal span,
.lesson-page:is([data-mode=shorts],[data-mode=texts]) .lesson-command-bar .study-metric-label,
.lesson-page:is([data-mode=shorts],[data-mode=texts]) .lesson-command-bar #study-history-link{color:var(--shourei-blue)}
.lesson-page .lesson-command-main #translate-current-btn{border-color:#9DB5BD;color:var(--shourei-blue);background:var(--shourei-white)}
.lesson-page[data-mode=shorts]{
  --fused-bg:var(--shourei-night);
  --fused-fg:var(--shourei-paper);
  --fused-fade:linear-gradient(transparent,var(--shourei-night));
  --fused-hit-bg:#1E3B32;
  --fused-hit-fg:#9DD8B3;
  --fused-heard:#D8AF8F;
  --fused-extra-bg:#3A302B;
}
.lesson-page[data-mode=shorts][data-fused-theme=light]{
  --fused-bg:var(--shourei-white);
  --fused-fg:var(--shourei-ink);
  --fused-fade:linear-gradient(transparent,var(--shourei-white));
  --fused-hit-bg:var(--shourei-correct-wash);
  --fused-hit-fg:var(--shourei-correct);
  --fused-heard:var(--shourei-retry);
  --fused-extra-bg:var(--shourei-retry-wash);
}
.vl-feedback[data-result=correct],.issue-resolved .issue-status-badge{color:var(--shourei-correct)}
.vl-feedback[data-result=wrong],.dictionary-select[data-status=unknown]{color:var(--shourei-retry)}
.issue-resolved .issue-status-badge{background:var(--shourei-correct-wash)}
.dictionary-select[data-status=unknown],.progress-words button[data-status=unknown]{background:var(--shourei-retry-wash)}

/* Games use the brand blue for actions and scenery. Green belongs to a verified answer. */
.games-cover{background:var(--shourei-mist)}
.games-choice{box-shadow:0 4px 13px #17262c0a}
.games-choice:hover{box-shadow:0 12px 28px #2a536422}
.game-pill{background:var(--shourei-mist);color:var(--shourei-blue-dark)}
.game-results{background:#eef3f1;border-color:#c9d5d2}
.game-result-grid strong{color:var(--shourei-blue)}
.game-results details,.game-result-grid span,#game-record-save{color:var(--shourei-muted)}
.vl-main{color:var(--shourei-ink)}
.vl-stage,.vl-stage-top{background:var(--shourei-white)}
.vl-stage{border-color:var(--border)}
.vl-stage-top,.vl-stage-inner>p#vl-instruction,.vl-context{color:var(--shourei-muted)}
.vl-back,.vl-context a,.vl-word-listen,.vl-assembled-audio{color:var(--shourei-blue)}
.vl-stage-meta{color:var(--shourei-blue)}
.vl-stage-meta .vl-source{background:#eef3f1;border-color:var(--border);color:var(--shourei-muted)}
.vl-stage h2,.vl-prompt,.vl-match-phrase{color:var(--shourei-ink)}
.vl-streak{background:var(--shourei-mist);color:var(--shourei-blue-dark)}
.vl-stage[data-result=correct] .vl-streak{background:var(--shourei-correct-wash);color:var(--shourei-correct)}
.vl-playfield{--sky:#dce6e2;--hill:#b8cbd0;--track:#a9b7b9}
.vl-landscape{background:linear-gradient(180deg,var(--sky),var(--shourei-paper))}
.vl-track{border-color:#71868c;background:var(--track)}
.vl-answer{background:#eaf0ee}
.vl-slot{border-color:#9db5bd;background:var(--shourei-white);color:var(--shourei-muted)}
.vl-slot:has(.vl-token){border-color:#9db5bd;background:#f1f5f3}
.vl-token,.vl-choice{border-color:#9db5bd;color:var(--shourei-blue-dark);box-shadow:0 2px 8px #2a53641f}
.vl-token:not(:disabled):active,.vl-choice:active{box-shadow:inset 0 1px 3px #2a536426}
.vl-word-speak,.vl-listen{border-color:#9db5bd;background:#eaf0ee;color:var(--shourei-blue)}
.vl-choice[aria-pressed=true]{background:var(--shourei-mist);border-color:var(--shourei-blue);box-shadow:0 0 0 3px #9db5bd}
.vl-input{border-color:#9db5bd;border-bottom-color:var(--shourei-blue);box-shadow:0 4px 12px #2a53640c}
.vl-input:focus{border-color:var(--shourei-blue);box-shadow:0 0 0 4px var(--shourei-mist)}
.vl-actions .vl-primary,.vl-card .vl-empty-link{background:var(--shourei-blue);border-color:var(--shourei-blue);color:#fff;box-shadow:0 2px 8px #1d3f4d33}
.vl-actions .vl-primary:not(:disabled):active{box-shadow:inset 0 1px 4px #1d3f4d55}
.vl-stage[data-result=correct] .vl-primary{background:var(--shourei-correct);border-color:var(--shourei-correct)}
.vl-note{border-color:var(--border);color:var(--shourei-muted)}
.vl-note summary{color:var(--shourei-ink)}
.vl-word-bank{border-color:var(--border);background:#eaf0ee}
.vl-word-bank .vl-token[aria-pressed=true]{border-color:var(--shourei-blue);background:var(--shourei-mist);box-shadow:0 0 0 3px #9db5bd,0 3px 0 var(--shourei-blue)}
.vl-match-row{border-color:var(--border);box-shadow:0 2px 8px #2a536414}
.vl-match-number{background:var(--shourei-mist);color:var(--shourei-blue)}
.vl-match-gap{border-color:#8caab3;background:#eaf0ee;color:var(--shourei-blue)}
.vl-match-gap[data-filled=true]{background:var(--shourei-mist);color:var(--shourei-blue-dark)}
.vl-gap{border-color:#8caab3;background:#eaf0ee;color:var(--shourei-blue)}
.vl-gap[data-filled=true]{background:var(--shourei-mist);color:var(--shourei-blue-dark)}
.vl-stage[data-game-mode=rush] .vl-landscape::before{color:var(--shourei-blue-dark)}
.vl-stage[data-game-mode=rush] .vl-landscape::after{border-color:var(--shourei-blue-dark);background:conic-gradient(var(--shourei-blue-dark) 25%,#fff 0 50%,var(--shourei-blue-dark) 0 75%,#fff 0) 0 0/20px 20px}
.vl-stage[data-game-mode=pause] .vl-marker,.vl-stage[data-game-mode=pause] .vl-scene-play{background:var(--shourei-blue)}
.vl-stage[data-game-mode=pause] .vl-scene{border-color:#9db5bd;background:#eaf0ee}
.vl-modes button[aria-current=true]{border-color:var(--shourei-blue);color:var(--shourei-blue-dark);background:var(--shourei-mist)}
.vl-modes button[aria-current=true] b{color:var(--shourei-blue)}
.vl-grammar-word:hover,.vl-grammar-word[aria-pressed=true]{border-bottom-color:var(--shourei-blue)}
.vl-grammar-word[aria-pressed=true]{background:var(--shourei-mist);color:var(--shourei-blue-dark)}
.legal-footer{background:#eef3f1;border-color:var(--border);color:var(--shourei-ink)}
.legal-footer-brand a,.legal-footer-links a{color:var(--shourei-blue)}
.legal-footer-brand span{color:var(--shourei-muted)}
.legal-footer-links a:hover{color:var(--shourei-blue-dark)}
@media(max-width:760px){header.localized-header .localized-brand img.shourei-lockup,.linen-brand>img.shourei-lockup{width:168px;height:auto;max-height:40px}}
@media(max-width:360px){header.localized-header .localized-brand img.shourei-lockup,.linen-brand>img.shourei-lockup{width:150px;height:auto;max-height:36px}}
