/* Shared guide library and article reader. */
.guide-library { --learn-gold:#ddbf80; --learn-line:#ddbf8030; --learn-muted:#aaa6b4; color:#f4f0e9; }
.guide-library [hidden] { display:none !important; }
.learning-hero { position:relative; overflow:hidden; border-bottom:1px solid #ddbf8025; background:#101015; }
.learning-hero-inner { position:relative; min-height:165px; display:grid; grid-template-columns:1.15fr 1fr; align-items:center; }
.learning-hero-copy { padding:32px 0; position:relative; z-index:1; }
.learning-hero h1 { margin:0 0 12px; font-size:clamp(32px,3.4vw,44px); letter-spacing:-.045em; line-height:1.08; max-width:780px; }
.learning-hero-copy>p { max-width:610px; margin:0; color:#c0bcc6; font-size:15px; line-height:1.8; }
.learning-hero-art { position:absolute; inset:0 -15vw 0 33%; background:linear-gradient(90deg,#101015 0%,#1010157a 28%,#10101518 70%),linear-gradient(0deg,#101015,transparent 45%),url('/img/obsidian/avalon-golden.jpg') center 48%/cover; opacity:.65; }
.learning-main { position:relative; padding-top:24px; padding-bottom:65px; }
.learning-bot { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:22px; padding:22px 26px; margin-top:0; background:#19181cf2; border:1px solid #ddbf8066; border-radius:13px; }
.learning-bot h2 { margin:0 0 7px; font-size:22px; letter-spacing:-.035em; line-height:1.3; }
.learning-bot p { margin:0; max-width:660px; font-size:13px; line-height:1.8; color:#c0bac0; }
.learning-bot nav { display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; font-size:12px; }
.learning-bot nav a { color:#e2cfaa; text-decoration:none; border-bottom:1px solid #ddbf803b; padding-bottom:2px; }
.learning-bot nav a:hover { color:#fff; }
.learning-bot-action { display:inline-flex; gap:14px; align-items:center; justify-content:center; font-size:12px; padding:14px 19px; white-space:normal; text-align:center; max-width:230px; }
.learning-bot-action svg { width:17px; height:17px; flex-shrink:0; }
.learning-library { padding:26px; margin-top:24px; background:#111017f5; border:1px solid #ffffff1c; border-radius:12px; scroll-margin-top:95px; }
.learning-controls { display:flex; gap:14px; align-items:center; margin-bottom:18px; }
.learning-search { display:flex; align-items:center; gap:11px; background:#111116ed; border:1px solid #ffffff24; border-radius:8px; padding:0 16px; flex:1; min-width:0; transition:border-color .15s; }
.learning-search:focus-within { border-color:#ddbf80; box-shadow:0 0 0 2px #ddbf8015; }
.learning-search svg { width:18px; height:18px; color:#a9a3af; flex-shrink:0; }
.learning-search input { width:100%; min-width:0; border:0; outline:none; border-radius:0; color:#f0eae2; background:transparent; padding:16px 0; font:inherit; font-size:13px; box-shadow:none; }
.learning-search input::placeholder { color:#928d9b; }
.learning-format-select { display:flex; align-items:center; gap:12px; border:1px solid #ffffff24; background:#111116ed; border-radius:8px; padding:0 13px; }
.learning-format-select>span { font-size:11px; color:#aaa6b4; }
.learning-format-select select { border:0; border-radius:0; background:transparent; color:#e8e1d5; padding:15px 22px 15px 0; font:inherit; font-size:12px; min-width:116px; }
.learning-format-select option { background:#16151c; color:#f5f1e7; }
.learning-topics { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:25px; }
.learning-topics button { font:inherit; font-size:11px; border:1px solid #ffffff20; color:#bfb9c5; background:#15141cc9; padding:10px 15px; border-radius:6px; cursor:pointer; transition:background .15s,border-color .15s; }
.learning-topics button:hover { border-color:#ddbf8080; color:#f3e6cb; }
.learning-topics button[aria-pressed=true] { border-color:#ddbf8085; color:#eed7a3; background:#ddbf8012; }
.learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.learning-resource { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #ffffff21; border-radius:11px; background:#1a1822; transition:border-color .2s; }
.learning-resource:hover { border-color:#ddbf8066;  }
.learning-resource a { color:inherit; text-decoration:none; }
.learning-resource a:hover { color:#f1d59b; }
.learning-resource a:focus-visible,.learning-topics button:focus-visible,.learning-bot a:focus-visible,.learning-video-dialog button:focus-visible,.learning-article-index a:focus-visible { outline:2px solid #ddbf80; outline-offset:4px; }
.learning-resource-cover { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#1b1922; flex-shrink:0; }
.learning-resource-cover>img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.learning-resource:hover .learning-resource-cover>img { transform:scale(1.035); }
.learning-resource-cover:after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(0deg,#08070bc9,transparent); pointer-events:none; }
.learning-resource .learning-play { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); width:45px; height:45px; display:grid; place-items:center; margin:0; border:1px solid #ffffff9c; border-radius:50%; color:#fff; background:#0a09137d; backdrop-filter:blur(5px); }
.learning-play svg { width:23px; height:23px; }
.learning-resource .learning-resource-body { display:flex; flex:1; flex-direction:column; padding:20px; }
.learning-resource h3 { font-size:17px; font-weight:600; line-height:1.45; margin:0 0 10px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.learning-resource h3 a { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.learning-resource .learning-resource-body>p { color:#aaa6b4; font-size:12px; line-height:1.85; margin:0 0 18px; }
.learning-card-footer { display:flex; align-items:end; gap:10px; justify-content:space-between; margin-top:auto; padding-top:15px; border-top:1px solid #ffffff12; }
.learning-card-footer>span { color:#a8a0ae; font-size:12px; line-height:1.7; }
.learning-card-action { display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; font-size:12px; color:#e2c68d !important; line-height:1.7; }
.learning-card-action svg { width:15px; height:15px; flex-shrink:0; }
.learning-resource.obs-guide-card span { margin-top:0; }
.learning-resource.obs-guide-card .learning-card-footer>span { color:#a8a0ae; font-size:12px; }
.learning-empty { text-align:center; padding:45px 20px; background:#14131bea; border:1px dashed #ddbf8040; border-radius:10px; margin-bottom:20px; }
.learning-empty p { color:#bdb5c3; font-size:14px; }
.learning-article-shell { padding-top:30px; padding-bottom:65px; }
.learning-back { display:inline-block; color:#ddbf80; font-size:12px; text-decoration:none; margin:0 0 22px; }
.learning-bot-compact { margin-top:0; padding:21px 25px; }
.learning-bot-compact h2 { font-size:18px; }
.learning-article-layout { display:grid; grid-template-columns:215px minmax(0,1fr); gap:55px; padding-top:44px; }
.learning-article-index { position:sticky; top:105px; align-self:start; padding:8px 0; }
.learning-article-index nav { display:flex; flex-direction:column; gap:15px; margin-top:0; }
.learning-article-index a { color:#a9a1b2; text-decoration:none; font-size:12px; line-height:1.7; border-left:1px solid #ddbf8033; padding-left:14px; }
.learning-article-index a:hover { color:#ddbf80; border-color:#ddbf80; }
.guide-library .learning-article { max-width:none; padding:0; }
.learning-article h1 { margin:12px 0 20px; font-size:clamp(29px,3.4vw,44px); letter-spacing:-.04em; }
.learning-article .obs-guide-art { height:300px; margin:24px 0 12px; }
.learning-article p { font-size:14px; line-height:1.95; }
.learning-article h2 { font-size:23px; line-height:1.4; letter-spacing:-.025em; }
.learning-article section { scroll-margin-top:105px; }
.learning-checklist { margin-top:35px; padding:8px 24px 18px; background:#ddbf8008; border:1px solid #ddbf8033; border-radius:10px; }
.learning-checklist ul { padding-left:20px; }
.learning-checklist li { font-size:13px; padding-left:5px; }
.learning-related { margin-top:48px; padding-top:30px; border-top:1px solid #ddbf8030; scroll-margin-top:100px; }
.learning-related>h2 { font-size:23px; margin:0 0 24px; }
.learning-video-dialog { width:min(940px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; margin:auto; padding:0; border:1px solid #ddbf8070; border-radius:12px; color:#f2eae0; background:#14131b; box-shadow:0 25px 100px #0009; }
.learning-video-dialog::backdrop { background:#06050ce8; backdrop-filter:blur(6px); }
.learning-video-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:24px; }
.learning-video-heading h2 { margin:0; font-size:17px; line-height:1.5; }
.learning-video-close { border:1px solid #ffffff30; border-radius:6px; color:#fff; background:#ffffff09; width:34px; height:34px; font-size:23px; cursor:pointer; flex-shrink:0; }
.learning-video-frame { aspect-ratio:16/9; background:#08070c; }
.learning-video-frame iframe { width:100%; height:100%; border:0; }
.learning-video-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; }
.learning-video-footer a { color:#ddbf80; font-size:13px; white-space:normal; }
.learning-result-count { margin:0 0 12px; color:#aaa6b4; font-size:12px; text-align:right; }
.learning-resource-section+ .learning-resource-section { margin-top:36px; }
.learning-resource-section>h2 { margin:0 0 18px; font-size:23px; line-height:1.4; }
.learning-video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.learning-video-grid .learning-card-footer { flex-direction:row; align-items:flex-end; padding-top:0; border-top:0; }
.learning-card-action { white-space:nowrap; }
.learning-platform-cover { display:flex; align-items:flex-start; justify-content:center; padding-top:22px; width:100%; height:100%; color:#f4f0e9; font-size:26px; font-weight:600; background:#121119; }
.learning-video-credit { margin:8px 0 0; color:#aaa6b4; font-size:13px; }
.learning-video-dialog-short { width:min(470px,calc(100% - 32px)); }
.learning-video-frame-short { aspect-ratio:9/16; height:min(62dvh,605px); width:auto; max-width:100%; margin:auto; }
.learning-filter-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; }
.learning-filter-row .learning-topics { margin:0; }
.learning-filter-row .learning-result-count { margin:0; white-space:nowrap; }
.learning-section-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 20px; }
.learning-section-toolbar h2 { margin:0; font-size:24px; line-height:1.4; }
.learning-language-select { display:flex; align-items:center; gap:12px; color:#bbb5c4; font-size:13px; }
.learning-language-select select { min-width:165px; max-width:100%; padding:11px 30px 11px 12px; border:1px solid #ffffff26; border-radius:7px; color:#f3eee4; background:#1b1922; font:inherit; }
.learning-language-select select:focus-visible { outline:2px solid #ddbf80; outline-offset:3px; }
.learning-video-card .learning-resource-cover { aspect-ratio:16/9; }
.learning-video-card .learning-resource-body { padding:18px; gap:16px; }
.learning-video-card h3 { margin:0; font-size:19px; line-height:1.45; }
.learning-video-card h3 a { display:block; -webkit-line-clamp:unset; }
.learning-credit { min-width:0; color:#c4bdce; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.learning-credit>span { display:block; color:#a9a1b3; font-size:12px; }
.learning-resource .learning-duration { position:absolute; right:10px; bottom:10px; z-index:1; margin:0; padding:2px 6px; border-radius:4px; color:#fff; background:#09080cdd; font-size:12px; line-height:1.6; }
.learning-resource[data-format=shorts] .learning-resource-cover>img { object-position:center 45%; }
.learning-resource-cover:hover .learning-play { color:#17121b; background:#ddbf80; }
.learning-more { display:flex; justify-content:center; padding-top:24px; }
.learning-more button { min-width:200px; }
.learning-video-empty { padding:20px; margin:0 0 18px; border:1px dashed #ddbf8040; border-radius:8px; background:#ddbf8006; }
.learning-video-empty p { margin:0 0 14px; color:#b7b0c1; font-size:14px; }
.learning-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.learning-article-grid .learning-resource { display:grid; grid-template-columns:130px minmax(0,1fr); }
.learning-article-grid .learning-resource-cover { aspect-ratio:auto; height:100%; min-height:170px; }
.learning-article-grid .learning-resource-cover:after { display:none; }
.learning-article-grid .learning-resource-body { padding:18px; }
.learning-article-grid h3 { font-size:17px; }
.learning-article-grid .learning-resource-body>p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:12px; }
.learning-article-grid .learning-card-footer { border:0; padding-top:0; }
@media(max-width:1000px) {
 .learning-bot { gap:16px; padding:22px; }
 .learning-bot h2 { font-size:20px; }
 .learning-bot-action { max-width:190px; }
 .learning-grid { gap:16px; }
 .learning-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .learning-resource .learning-resource-body { padding:16px; }
 .learning-article-layout { gap:30px; grid-template-columns:180px minmax(0,1fr); }
}
@media(max-width:760px) {
 .learning-filter-row { align-items:flex-start; flex-direction:column; gap:12px; }
 .learning-section-toolbar { align-items:flex-start; flex-direction:column; }
 .learning-language-select { width:100%; justify-content:space-between; }
 .learning-article-grid { grid-template-columns:1fr; }
 .learning-library { padding:20px; }

 .learning-hero-inner { min-height:140px; grid-template-columns:1fr; }
 .learning-hero-copy { padding:24px 0; }
 .learning-hero-copy>p { max-width:520px; font-size:14px; }
 .learning-hero-art { inset:0 -25vw 0 15%; opacity:.4; }
 .learning-bot { grid-template-columns:1fr; padding:20px; gap:13px; }
 .learning-bot-action { max-width:none; width:100%; margin-top:4px; }
 .learning-bot h2 { font-size:20px; }
 .learning-bot nav { gap:12px; }
 .learning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .learning-article-grid { grid-template-columns:1fr; }
 .learning-article-layout { display:block; padding-top:30px; }
 .learning-article-index { position:static; margin-bottom:28px; border-bottom:1px solid #ddbf8030; padding-bottom:18px; }
 .learning-article-index nav { flex-direction:row; flex-wrap:wrap; gap:12px; }
 .learning-article-index a { font-size:12px; }
 .learning-video-footer { flex-direction:column; align-items:start; }
}
@media(max-width:480px) {
 .learning-main { padding-top:18px; }
 .learning-bot nav { display:none; }
 .learning-bot p { font-size:12px; line-height:1.65; }
 .learning-library { margin-top:18px; }
 .learning-library { padding:16px; }
 .learning-controls { margin-bottom:15px; }
 .learning-language-select { flex-wrap:wrap; gap:8px; }
 .learning-language-select select { flex:1; min-width:130px; }
 .learning-article-grid .learning-resource { grid-template-columns:80px minmax(0,1fr); }
 .learning-article-grid .learning-resource-body { padding:14px; }
 .learning-article-grid h3 { font-size:16px; }
 .learning-article-grid .learning-card-footer { align-items:flex-start; flex-direction:column; gap:7px; }

 .learning-hero h1 { font-size:32px; }
 .learning-controls { align-items:stretch; flex-direction:column; gap:10px; }
 .learning-format-select { justify-content:space-between; }
 .learning-format-select select { text-align:right; min-width:155px; }
 .learning-topics { gap:6px; }
 .learning-topics button { padding:9px 11px; font-size:12px; }
 .learning-grid { grid-template-columns:1fr; gap:18px; }
 .learning-resource-cover { aspect-ratio:16/9; }
 .learning-resource h3 { font-size:18px; }
 .learning-resource .learning-resource-body { padding:19px; }
 .learning-resource .learning-resource-body>p { font-size:13px; }
 .learning-bot { padding:18px; }
 .learning-article .obs-guide-art { height:200px; }
 .learning-video-heading { padding:18px; }
 .learning-video-heading h2 { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .learning-resource,.learning-resource-cover>img { transition:none; } .learning-resource:hover { transform:none; } }
.learning-contribute { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:8px 0 26px; margin:0 0 28px; border-bottom:1px solid #ffffff24; }
.learning-contribute h2 { margin:0 0 9px; font-size:22px; line-height:1.4; }
.learning-contribute p { max-width:780px; margin:0; font-size:14px; line-height:1.75; color:#ddd7e1; }
.learning-contribute .learning-contribute-legend { margin-top:8px; color:#aaa3b2; font-size:13px; }
.learning-contribute>button { flex-shrink:0; }
.guide-submission-dialog { width:min(640px,calc(100% - 28px)); max-height:calc(100dvh - 32px); overflow:auto; padding:25px; margin:auto; border:1px solid #ddbf8070; border-radius:12px; background:#15141c; color:#f4efe5; }
.guide-submission-dialog::backdrop { background:#06050cdd; }
.guide-submission-dialog header { display:flex; justify-content:space-between; align-items:start; gap:18px; }
.guide-submission-dialog h2 { font-size:22px; margin:0; }
.guide-submission-dialog form { display:grid; gap:18px; }
.guide-submission-dialog label { display:grid; gap:8px; font-size:14px; }
.guide-submission-dialog .field { width:100%; min-width:0; min-height:44px; padding:11px 13px; box-sizing:border-box; }
.guide-submission-dialog p { font-size:14px; line-height:1.75; }
.guide-submission-dialog textarea { resize:vertical; height:auto; min-height:128px; }
.guide-submission-dialog [role=status]:empty { display:none; }
.guide-submission-success { padding:18px 0; }
@media(max-width:680px) { .learning-contribute { align-items:start; flex-direction:column; gap:18px; } .guide-submission-dialog { padding:18px; } }

.guide-submission-admin-list { display:grid; gap:18px; margin:22px 0; }
.guide-submission-admin-row { border:1px solid #ffffff24; border-radius:8px; padding:20px; overflow-wrap:anywhere; }
.guide-submission-admin-row header { display:flex; gap:16px; flex-wrap:wrap; align-items:baseline; }
.guide-submission-admin-row header span { color:var(--muted,#aaa3b2); font-size:13px; }
.guide-submission-description { white-space:pre-wrap; line-height:1.7; }
[data-admin-guide-submissions][aria-busy=true] button { pointer-events:none; opacity:.6; }
