/* An indigo woven world around a clear, usable members' room. */
:root { --guild-navy:#091d2b; --guild-gold:#e7c88c; --guild-mint:#a3d6ca; }
body { background:var(--guild-navy); }
.juku-ambient { background:radial-gradient(ellipse at 85% 0,#18415366,transparent 65%),#091d2b; }
.juku-ambient::before {
  inset:0; width:100%; height:100%; border-radius:0;
  background:url('/assets/juku-woven.svg') center top/160px 160px;
  opacity:.23; animation:none!important; transform:none;
}
.juku-ambient::after { display:none; }
.loading { color:#f3e5c8; font-weight:600; }
.topbar {
  height:84px; padding:0 clamp(1.25rem,3vw,2.5rem);
  background:#091d2bf5; border-bottom:1px solid #a68a504f;
  box-shadow:0 5px 24px #020b1230;
}
.topbar .brand { color:#f4e9d2; gap:14px; letter-spacing:.06em; }
.topbar .brand small { color:#bfa97c; font-size:.75rem; letter-spacing:.16em; margin-top:3px; }
.topbar .brand-mark {
  width:45px; height:45px; border-radius:11px 3px;
  color:#ead4a6; border:1px solid #bda36d; background:linear-gradient(145deg,#173f50,#0a2434);
  box-shadow:inset 0 0 0 4px #091e2c,inset 0 0 0 5px #9f865354;
}
.topbar .brand-mark::after { display:none; }
.header-actions { gap:.75rem; }
.topbar .motion-toggle { background:#122e3e; border-color:#3b5965; color:#ccdadb; border-radius:10px; font-size:.875rem; }
.topbar .motion-toggle[aria-pressed=true] svg { color:#ead4a6; }
.topbar .motion-toggle:hover:not(:disabled) { background:#214353; }
.topbar .dao-link { color:#ebd6ac; background:#bd9b4915; border:1px solid #bba06a55; border-radius:10px; font-size:.875rem; }
.topbar .dao-link:hover { background:#bda5652b; }
.sidebar {
  top:84px; padding:1.8rem .85rem; background:linear-gradient(180deg,#0b2435f5,#081c2cf5);
  border-color:#65828335;
}
.sidebar nav { gap:7px; }
.sidebar nav a { color:#b7cad0; border:1px solid transparent; font-size:.9375rem; border-radius:9px; }
.sidebar nav a[aria-current] { color:#f3deb3; background:linear-gradient(100deg,#98773d32,#94774910); border-color:#b9985e66; box-shadow:inset 3px 0 #e1bd78; }
.sidebar nav a:hover:not([aria-current]) { background:#54778221; color:#fff4dc; }
.sidebar nav .threads-symbol img { filter:invert(1); }
.sidebar nav .nav-quest { color:#e9c990; }
.side-foot { border-top:1px solid #6d807538; margin: auto .4rem 0; padding:1.2rem .5rem 0; }
.side-foot .eyebrow { color:#bda777; font-size:.8125rem; }
.side-foot strong { color:#e6e9df; }
.side-foot small { color:#aabfc5; font-size:.875rem; }
.workspace { background:#f5f7f2; min-height:calc(100dvh - 84px); max-width:none; }
html[data-juku-view=home] .workspace { background:transparent; padding:1.6rem clamp(1.5rem,3.5vw,3.5rem) 4rem; }
.compact-home {
  --deep:#f5ecd9; --ink:#e1e9e6; --muted:#b4c8cc; --ai:#b4ded4; --line:#486270;
  max-width:1160px;
}
.compact-home a:focus-visible,.topbar :focus-visible,.sidebar :focus-visible { outline:3px solid #f1ce87; outline-offset:4px; }
.compact-home .cinematic-welcome {
  position:relative; min-height:208px; grid-template-columns:1.1fr 1fr;
  border-radius:16px 4px; border:1px solid #b2986655;
  background:#102d3d; box-shadow:0 16px 32px #030f1833; margin-bottom:1.6rem;
}
.compact-home .cinematic-welcome::before { background:linear-gradient(110deg,#133e503f,transparent),url('/assets/juku-woven.svg') 0 0/160px 160px; opacity:.2; }
.compact-home .cinematic-welcome::after { display:none; }
.compact-home .cinematic-welcome .page-heading { padding:1.6rem 2rem; margin:0; display:flex; flex-direction:column; justify-content:center; }
.compact-home .cinematic-welcome .eyebrow { color:#dccca8; font-size:.875rem; line-height:1.7; letter-spacing:.04em; overflow-wrap:anywhere; }
.compact-home .cinematic-welcome h1 { color:#fff3d8; font-size:clamp(1.65rem,2.5vw,2.3rem); font-family:var(--serif); line-height:1.5; margin:.6rem 0 0; letter-spacing:.1em; }
.compact-home .cinematic-welcome h1 br { display:block; }
.compact-home .cinematic-welcome .journey-reel { border:0; }
.compact-home .cinematic-welcome .reel-window { min-height:208px; }
.compact-home .reel-frame::after { background:linear-gradient(90deg,#102d3d,transparent 40%),linear-gradient(0deg,#061e30ed,transparent 65%); }
.compact-home .reel-controls { left:1rem; right:.75rem; bottom:.3rem; }
.compact-home .reel-tabs button { font-size:.8125rem; }
.compact-home .reel-pause { width:44px; height:44px; min-width:44px; border:1px solid #e0ce9866; color:#f0d69a; background:#0a213bb3; }
.portal-heading { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1rem; margin:0 0 1.1rem; }
.portal-heading .eyebrow { color:#ddc38d; letter-spacing:.15em; font-size:.75rem; }
.portal-heading h2 { color:#e9e9dd; font:600 1rem/1.6 var(--sans); letter-spacing:.04em; }
.portal-rule { height:1px; background:linear-gradient(90deg,#a68d5959,transparent); flex:1; min-width:30px; }
.home-entries { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.2rem; }
.home-entries>section { border:1px solid #65838a66; border-radius:15px 4px; box-shadow:0 12px 32px #020c162e; }
.home-entries .continue-card,.home-entries .ai-course-banner {
  display:flex; flex-direction:column; align-items:stretch; min-height:306px; padding:1.65rem;
  background:linear-gradient(140deg,#153445fa,#102736fa); position:relative; isolation:isolate;
}
.home-entries .continue-card { border-top:2px solid #d3b076; }
.home-entries .ai-course-banner { border-top:2px solid #85c6b8; }
.entry-chapter { display:block; color:#ddc38d; font:600 .75rem/1.8 var(--sans); letter-spacing:.16em; margin-bottom:.9rem; }
.ai-course-banner .entry-chapter { color:#acd9cd; }
.entry-heading { min-height:44px; align-items:center; gap:.75rem; flex-wrap:wrap; }
.entry-heading h2 { color:#fff2d8; font:700 clamp(1.15rem,1.7vw,1.4rem)/1.65 var(--sans); white-space:normal; min-width:0; overflow-wrap:anywhere; flex:1; }
.entry-heading>small { color:#c1c8bb; font-size:.875rem; margin-left:auto; }
.home-entries .entry-heading .threads-symbol { width:40px; height:40px; color:#eee; background:#ffffff0d; border:1px solid #ffffff1a; border-radius:11px; }
.entry-heading .threads-symbol img { filter:invert(1); width:23px; max-height:26px; }
.home-entries .ai-emblem { background:#1c4b50; border:1px solid #72a797; color:#bde8d8; width:44px; height:44px; border-radius:11px; font-size:.875rem; }
.home-entries .ai-emblem::after { display:none; }
.entry-intro { color:#cbdad6; font-size:1rem; margin:.65rem 0; }
.home-entries .continue-card .resume-lesson { color:#f0e8d8; font-size:1rem; line-height:1.65; margin:.6rem 0 1rem; padding:.7rem .9rem; border:1px solid #82999530; border-radius:7px; background:#050f192b; }
.resume-lesson>span { display:block; color:#9db9bf; font-size:.8125rem; margin-bottom:.1rem; }
.home-entries .ai-course-banner p { color:#cbdad6; font-size:1rem; line-height:1.85; margin:.85rem 0 1.25rem; }
.home-entries .entry-progress { margin-top:auto; margin-bottom:1rem; gap:.75rem; }
.home-entries .entry-progress>span { color:#c2d2cc; font-size:.875rem; }
.compact-home progress { appearance:none; -webkit-appearance:none; background:#051a26; border:0; height:6px; border-radius:4px; overflow:hidden; }
.compact-home progress::-webkit-progress-bar { background:#051a26; border-radius:4px; }
.compact-home progress::-webkit-progress-value { background:linear-gradient(90deg,#a8854a,#efd6a0); border-radius:4px; }
.compact-home progress::-moz-progress-bar { background:#efd6a0; border-radius:4px; }
.ai-course-banner progress::-webkit-progress-value { background:linear-gradient(90deg,#527f7e,#b3dfcf); }
.home-entries .entry-actions { width:100%; min-width:0; margin:0; }
.home-entries .primary { color:#162c38; background:linear-gradient(110deg,#d5b16f,#f0d6a4); border:1px solid #f4dfb4; min-height:48px; font-size:1rem; padding:.8rem 1rem; border-radius:9px 3px; box-shadow:0 4px 15px #0002; }
.home-entries .primary:hover:not(:disabled) { color:#0b2230; background:#fae0ac; box-shadow:0 6px 22px #e1be631f; }
.home-entries .continue-card .primary { font-size:1rem; }
.home-entries .entry-all { color:#e7d4ae; font-size:.9375rem; min-width:56px; }
.dao-entry-actions { display:flex; flex-direction:column; gap:.6rem; }
.home-entries .ai-course-banner .primary { font-size:1rem; margin:0; }
.home-entries .dao-course-link { border-color:#7ca19770; background:#142e3f; color:#afd8cf; font-size:.875rem; width:100%; margin:0; min-height:44px; line-height:1.65; text-align:center; border-radius:9px 3px; }
.home-entries .dao-course-link:hover { color:#e8f5e9; background:#214451; }
.home-entries .quest-portal {
  grid-column:1/-1; min-height:330px; padding:2rem; background:#0a2534;
  display:block; border-color:#c7a76780; overflow:hidden;
}
.quest-portal .quest-keyart { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% 56%; z-index:0; }
.home-entries .quest-portal::before { content:""; position:absolute; inset:0; z-index:1; opacity:1; background:linear-gradient(90deg,#071e30f5 0%,#0a2634bd 36%,#071d2915 70%),linear-gradient(0deg,#091f34cc,transparent 50%); }
.home-entries .quest-portal::after { display:none; }
.quest-content { position:relative; z-index:2; max-width:440px; }
.home-entries .quest-portal .entry-chapter { color:#ffe3a7; margin-bottom:.8rem; }
.home-entries .quest-brand { gap:12px; width:100%; min-height:62px; margin:0 0 .9rem; }
.home-entries .quest-crest { width:66px; height:66px; filter:drop-shadow(0 4px 10px #0005); }
.home-entries .quest-wordmark { width:min(250px,calc(100% - 78px)); max-width:250px; }
.home-entries .quest-portal h2 { color:#fff0cb; font:700 clamp(1.5rem,2.3vw,1.8rem)/1.6 var(--serif); letter-spacing:.08em; margin:0; }
.home-entries .quest-portal p { font-size:1rem; color:#e0e7de; margin:.55rem 0 1.3rem; }
.home-entries .quest-start { width:220px; max-width:100%; font-size:1rem; min-height:50px; }
.quest-caption { position:absolute!important; right:1.75rem; bottom:1.25rem; font:600 .75rem/1.5 var(--sans); letter-spacing:.22em; color:#ebdebd; z-index:2; }
.compact-links { background:#0e2938e8; border-color:#6680785e; border-radius:12px 4px; margin:1.3rem 0 .65rem; }
.compact-links>a { color:#dce7df; border-color:#65858038; font-size:.9375rem; min-height:58px; padding:.75rem; gap:.55rem; }
.compact-links>a:hover { color:#f9e3af; background:#35637329; }
.compact-links svg { color:#cfb781; width:21px; height:21px; }
.compact-links small { color:#d7c49e; font-size:.8125rem; }
.home-more { border-color:#92794b59; }
.home-more>summary { color:#dac599; font-size:.9375rem; min-height:52px; }
.home-more .progress-panel { background:#132f3ef2; border-color:#64827c66; }
.home-more .progress-count b { color:#f2dfb7; }
.home-more .daily-link { background:#173444ed; border-color:#ad935c70; color:#f4e7cc; }
.daily-link>span { color:#ddc48b; font-size:.8125rem; }
.daily-link strong { font-size:1rem; }
.home-more .stage-card { background:#14303fe8; border-color:#6c918563; }
.home-more .stage-card strong { color:#eef0dc; }
.home-more .stage-card:hover { background:#224651; }
.home-more .stage-number { color:#d6bb86; }
.compact-home .certificate { background:#153649; border-color:#c6aa71; }
.compact-home .certificate h2 { color:#f1dfb8; }
.toast { background:#102d3e; color:#f8ecd2; border:1px solid #b99b6559; }
html[data-juku-view=auth] .auth-main { background:transparent; }
html[data-juku-view=auth] .auth-story::before { background:url('/assets/juku-woven.svg') 0 0/160px 160px; opacity:.15; }
html[data-juku-view=auth] .auth-form { box-shadow:0 18px 40px #020d2440; }
html[data-juku-motion=full] .quest-keyart { animation:guild-landscape 22s ease-in-out infinite alternate; }
html[data-juku-hidden] .quest-keyart,[data-motion-visible=false] .quest-keyart { animation-play-state:paused!important; }
@keyframes guild-landscape { from { transform:scale(1); } to { transform:scale(1.045); } }
@media(min-width:1500px) {
  .home-entries { grid-template-columns:1fr 1fr 1.12fr; }
  .home-entries .quest-portal { grid-column:auto; min-height:400px; padding:1.7rem; }
  .quest-portal .quest-keyart { object-position:58% 50%; }
  .home-entries .quest-portal::before { background:linear-gradient(0deg,#061d30fa 0%,#0b253580 58%,#0b243099); }
  .quest-content { min-height:345px; display:flex; flex-direction:column; }
  .home-entries .quest-portal h2 { margin-top:auto; font-size:1.45rem; }
  .home-entries .quest-portal .quest-start { width:100%; }
  .quest-caption { display:none; }
}
@media(max-width:1100px) {
  .home-entries .continue-card { display:flex; grid-column:auto; }
  .home-entries .entry-heading { grid-column:auto; grid-row:auto; }
  .home-entries .entry-actions { width:100%; min-width:0; }
  .home-entries .continue-card,.home-entries .ai-course-banner { padding:1.35rem; min-height:306px; }
  .home-entries .quest-portal { min-height:315px; }
  .compact-home .cinematic-welcome .page-heading { padding:1.35rem 1.5rem; }
}
@media(max-width:760px) {
  html { scroll-padding-top:94px; }
  .topbar { height:auto; min-height:76px; padding:.8rem 1rem; gap:.65rem; }
  .topbar .brand { font-size:1.2rem; gap:10px; letter-spacing:.02em; min-width:0; white-space:normal; }
  .topbar .brand>span:last-child { min-width:0; overflow-wrap:anywhere; }
  .topbar .brand-mark { width:38px; height:38px; font-size:1.35rem; }
  .topbar .brand small { font-size:.75rem; letter-spacing:.1em; }
  .topbar .header-actions { gap:.5rem; }
  .topbar .motion-toggle { width:44px; min-width:44px; min-height:44px; }
  .topbar .dao-link { min-width:67px; font-size:.875rem; padding:.5rem; }
  .topbar .dao-link svg { display:block; width:19px; height:19px; }
  .sidebar {
    top:auto; left:8px; right:8px; bottom:8px; width:auto; padding:6px 4px max(6px,env(safe-area-inset-bottom));
    border:1px solid #b3966066; border-radius:16px 5px; box-shadow:0 5px 24px #020c18b3; background:#0a2435f7;
  }
  .sidebar nav { gap:2px; }
  .sidebar nav a { padding:.5rem .1rem; min-height:58px; font-size:.75rem; line-height:1.35; border-radius:10px 3px; gap:5px; overflow-wrap:anywhere; }
  .sidebar nav a[aria-current] { box-shadow:none; background:linear-gradient(140deg,#dfc68e2e,#a3833920); border-color:#c3a2618f; }
  .sidebar nav a svg { width:21px; height:21px; }
  .workspace { min-height:calc(100dvh - 76px); padding-bottom:calc(7rem + env(safe-area-inset-bottom)); }
  html[data-juku-view=home] .workspace { padding:1.1rem 1rem calc(7rem + env(safe-area-inset-bottom)); }
  .juku-ambient::before { background-size:128px 128px; opacity:.21; }
  .compact-home .cinematic-welcome { min-height:176px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); margin-bottom:1.4rem; border-radius:14px 4px; }
  .compact-home .cinematic-welcome .page-heading { padding:1.15rem 1.1rem; }
  .compact-home .cinematic-welcome .eyebrow { font-size:.8125rem; line-height:1.7; letter-spacing:0; }
  .compact-home .cinematic-welcome h1 { font-size:clamp(1.25rem,5vw,1.65rem); line-height:1.65; margin-top:.6rem; letter-spacing:.035em; }
  .compact-home .cinematic-welcome .journey-reel { height:100%; }
  .compact-home .cinematic-welcome .reel-window { min-height:176px; height:100%; }
  .compact-home .reel-controls { left:.15rem; right:.2rem; gap:0; bottom:.2rem; }
  .compact-home .reel-tabs { flex:1; gap:0; }
  .compact-home .reel-tabs button { min-width:28px; padding:0 .1rem; }
  .compact-home .reel-tabs button>i { width:20px; }
  .compact-home .reel-pause { width:34px; min-width:34px; height:44px; border:0; background:transparent; }
  .portal-heading { gap:.4rem .7rem; margin-bottom:.85rem; }
  .portal-heading .eyebrow { font-size:.75rem; letter-spacing:.1em; }
  .portal-heading h2 { font-size:.9375rem; }
  .home-entries { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .home-entries .continue-card,.home-entries .ai-course-banner { min-height:0; padding:1.3rem; border-radius:13px 4px; }
  .entry-chapter { font-size:.75rem; margin-bottom:.7rem; letter-spacing:.12em; }
  .entry-heading h2 { font-size:1.2rem; line-height:1.6; }
  .entry-heading>small { font-size:.875rem; }
  .home-entries .entry-heading .threads-symbol { width:36px; height:36px; }
  .home-entries .ai-emblem { width:39px; height:39px; }
  .entry-intro { font-size:1rem; margin:.5rem 0; }
  .home-entries .continue-card .resume-lesson { font-size:1rem; margin:.75rem 0 1rem!important; }
  .home-entries .entry-progress { margin:.4rem 0 1rem; }
  .home-entries .ai-course-banner p { font-size:1rem; line-height:1.8; margin:.7rem 0 1rem; }
  .home-entries .ai-course-banner .primary,.home-entries .continue-card .primary { min-height:48px; padding:.8rem 1rem; font-size:1rem; }
  .home-entries .quest-portal { grid-column:auto; min-height:370px; padding:1.3rem; border-radius:13px 4px; }
  .quest-portal .quest-keyart { object-position:58% 45%; }
  .home-entries .quest-portal::before { background:linear-gradient(0deg,#061d30fa 0%,#0b2535bd 31%,#0b25352e 72%,#0b2430a6); }
  .quest-content { max-width:none; min-height:328px; display:flex; flex-direction:column; }
  .home-entries .quest-brand { gap:10px; margin:.1rem 0 .8rem; min-height:52px; }
  .home-entries .quest-crest { width:52px; height:52px; }
  .home-entries .quest-wordmark { width:min(235px,calc(100% - 62px)); max-width:235px; }
  .home-entries .quest-portal h2 { margin-top:auto; font-size:1.5rem; letter-spacing:.04em; }
  .home-entries .quest-portal p { font-size:1rem; line-height:1.7; margin:.4rem 0 1rem; }
  .home-entries .quest-start { width:100%; padding:.8rem 1rem; font-size:1rem; }
  .quest-caption { display:none; }
  .compact-links { margin:1rem 0 .6rem; }
  .compact-links>a { font-size:.875rem; min-height:58px; gap:.35rem; padding:.55rem .3rem; }
  .compact-links svg { width:18px; height:18px; }
  .home-more>summary { font-size:.9375rem; padding:.85rem .15rem; }
  .toast { bottom:calc(100px + env(safe-area-inset-bottom)); }
  html[data-juku-view=auth] .auth-story { border-bottom:1px solid #b4986355; }
}
@media(max-width:370px) {
  .topbar { flex-wrap:wrap; height:auto; min-height:76px; padding:.75rem .8rem; }
  .topbar .brand { font-size:1.06rem; }
  .topbar .brand small { font-size:.75rem; }
  .topbar .header-actions { gap:.3rem; }
  .topbar .dao-link { min-width:61px; }
  .compact-home .cinematic-welcome { grid-template-columns:1fr; }
  .compact-home .cinematic-welcome .page-heading { padding:1rem 1.2rem; }
  .compact-home .cinematic-welcome h1 br { display:none; }
  .compact-home .cinematic-welcome .journey-reel,.compact-home .cinematic-welcome .reel-window { height:140px; min-height:140px; }
  .home-entries .continue-card,.home-entries .ai-course-banner { padding:1.15rem; }
  .entry-heading>small { width:100%; margin-left:0; }
  .portal-rule { display:none; }
  .compact-links>a { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .quest-keyart { animation:none!important; } }
html[data-juku-motion=still] .quest-keyart { animation:none!important; }
@media(forced-colors:active) {
  .juku-ambient,.quest-keyart { display:none; }
  .home-entries>section,.sidebar,.compact-links { border:1px solid CanvasText; }
  .home-entries .primary { border:1px solid ButtonText; }
}
