@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Text:wght@400;700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#27231e;background:#f3efe7;font-synthesis:none;--paper:#fffdf8;--ink:#27231e;--muted:#756d61;--line:#ddd5c8;--gold:#a8762d;--gold-soft:#f5ead4;--green:#295c43;--green-soft:#e2eee7;--panel:#fffdf9;--shadow:0 20px 55px rgba(65,47,28,.1);--board-limit:590px}[data-theme=dark]{color:#eee8dc;background:#171613;--paper:#211f1a;--ink:#f1ebdf;--muted:#aaa194;--line:#3b372f;--gold:#d2a354;--gold-soft:#332b1d;--green:#6ca283;--green-soft:#23372c;--panel:#211f1a;--shadow:0 20px 55px rgba(0,0,0,.26)}*{box-sizing:border-box}html{min-height:100%;background:#f3efe7}[data-theme=dark]{background:#171613}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 0%,rgba(205,176,125,.13),transparent 32%),var(--paper);color:var(--ink)}button,select,textarea,input{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid rgba(190,139,54,.38);outline-offset:2px}svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.appShell{max-width:1480px;margin:auto;padding:0 34px 42px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.headerActions,.boardHeading,.audioTitle,.moveTop,.notesCard>div,.boardActions,.audioControls{display:flex;align-items:center}.brand{gap:13px}.brandIcon,.audioIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#b7863e,#7d5423);color:#fff;box-shadow:0 8px 18px #82572238}.brandIcon svg{width:22px;height:22px;fill:currentColor;stroke:none}.brand p,.audioTitle p{font-size:.64rem;letter-spacing:.16em;font-weight:700;color:var(--gold);margin:0 0 3px}.brand h1{font:700 1.25rem/1.15 Libre Caslon Text,serif;margin:0}.headerActions{gap:10px}.progressPill{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.78rem;font-weight:700}.progressPill svg{width:14px}.iconButton{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:inline-grid;place-items:center;background:var(--panel);cursor:pointer}.iconButton:disabled{opacity:.35;cursor:not-allowed}.userButton{height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:4px 12px 4px 5px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.82rem}.userButton img{width:29px;height:29px;border-radius:8px}.breadcrumbs{height:50px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.75rem}.breadcrumbs b{font-weight:400;color:var(--line)}.breadcrumbs strong{color:var(--ink)}.studyLayout{display:grid;grid-template-columns:minmax(0,var(--board-limit)) minmax(0,1fr);gap:clamp(28px,4vw,62px);align-items:start}.boardColumn{position:sticky;top:12px;min-width:0}.boardHeading{justify-content:space-between;margin:7px 0 13px}.boardHeading h2{font:700 1.42rem Libre Caslon Text,serif;margin:2px 0}.kicker{font-size:.66rem;letter-spacing:.13em;font-weight:700;color:var(--gold);margin:0}.turnBadge{font-size:.72rem;color:var(--green);font-weight:700;background:var(--green-soft);padding:7px 10px;border-radius:999px}.woodFrame{width:min(100%,var(--board-limit));padding:10px;border-radius:8px;background:linear-gradient(125deg,#5d3a20,#9e7045 32%,#59361f 70%,#8d6039);box-shadow:0 22px 48px #2f1e1238,inset 0 0 0 1px #ffffff26}.woodFrame [data-square]{transition:filter .12s ease}.woodFrame [data-square]:hover{filter:brightness(1.06)}.woodFrame [data-piece] svg{width:100%!important;height:100%!important;transform:scale(1.07);transform-origin:center;filter:drop-shadow(0 2px 1px rgba(33,21,12,.3))}.woodFrame [data-piece=bP] svg,.woodFrame [data-piece=bR] svg,.woodFrame [data-piece=bN] svg,.woodFrame [data-piece=bB] svg,.woodFrame [data-piece=bQ] svg,.woodFrame [data-piece=bK] svg{filter:drop-shadow(0 2px 1px rgba(255,242,211,.18)) drop-shadow(0 3px 2px rgba(25,13,7,.42))}.boardActions{gap:7px;margin-top:12px}.boardActions button,.notesCard button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);background:var(--panel);border-radius:9px;cursor:pointer;font-size:.78rem;font-weight:600}.switch{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:.76rem;font-weight:600;color:var(--muted);cursor:pointer}.switch input{position:absolute;opacity:0}.switch span{width:35px;height:20px;border-radius:99px;background:#bdb6aa;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 4px #0003}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(15px)}.coachMessage{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:11px 13px;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 28%,transparent);border-radius:10px;color:var(--muted);font-size:.77rem;line-height:1.42}.coachMessage>span{display:grid;place-items:center;flex:0 0 19px;height:19px;border-radius:50%;background:var(--gold);color:#fff;font:700 .72rem serif}.coachMessage p{margin:0}.coachMessage.success{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,transparent)}.coachMessage.success>span{background:var(--green)}.readerColumn{min-width:0;padding-bottom:24px}.lessonHeader{padding:8px 0 18px;border-bottom:1px solid var(--line)}.lessonHeader h2{font:700 clamp(2rem,3.2vw,3.05rem)/1.08 "Libre Caslon Text",serif;margin:5px 0 7px;letter-spacing:-.025em}.lessonHeader>p:last-child{color:var(--muted);font-size:.82rem;margin:0}.lineTabs{display:flex;gap:5px;padding:16px 0 10px;overflow-x:auto}.lineTabs button{white-space:nowrap;border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 10px;color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer}.lineTabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.lineSummary{border-left:3px solid var(--gold);background:var(--gold-soft);padding:11px 14px;margin:2px 0 13px;border-radius:0 8px 8px 0}.lineSummary span{font-size:.62rem;letter-spacing:.11em;font-weight:800;text-transform:uppercase;color:var(--gold)}.lineSummary p{margin:3px 0 0;font:400 .9rem/1.5 Libre Caslon Text,serif}.moveNavigator,.audioCard,.bookText,.notesCard{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 8px 28px #3e2e1c0a}.moveNavigator{padding:15px}.moveTop{justify-content:space-between}.moveTop>div:first-child{display:flex;flex-direction:column}.moveTop span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.moveTop strong{font-size:.86rem;margin-top:3px;font-family:Libre Caslon Text,serif}.moveCounter{display:flex!important;align-items:center!important;gap:5px!important;flex-direction:row!important}.moveCounter kbd{font:600 .62rem/1 DM Sans,sans-serif;color:var(--muted);padding:4px 5px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}.moveCounter>span{font-size:.72rem!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;margin-left:4px}.pgnTable{margin:14px 0 0;border:1px solid var(--line);border-radius:9px;overflow:auto;max-height:282px;background:color-mix(in srgb,var(--paper) 82%,var(--gold-soft))}.pgnHeader,.pgnRow{display:grid;grid-template-columns:42px minmax(120px,1fr) minmax(120px,1fr);align-items:stretch;min-width:350px}.pgnHeader{position:sticky;top:0;z-index:1;background:var(--gold-soft);color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line)}.pgnHeader span{padding:8px 10px}.pgnHeader span+span{border-left:1px solid var(--line)}.pgnRow{min-height:47px;border-bottom:1px solid var(--line)}.pgnRow:last-child{border-bottom:0}.moveNumber{display:grid;place-items:center;color:var(--muted);font:700 .72rem DM Sans,sans-serif;background:color-mix(in srgb,var(--gold-soft) 44%,transparent)}.pgnMove{position:relative;border:0;border-left:1px solid var(--line);background:transparent;padding:6px 11px;text-align:left;cursor:pointer;transition:background .14s,color .14s;color:var(--ink)}.pgnMove:hover{background:color-mix(in srgb,var(--gold-soft) 75%,transparent)}.pgnMove b{display:block;font:700 1rem/1.05 Libre Caslon Text,serif}.pgnMove small{display:block;margin-top:3px;font-size:.58rem;line-height:1;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgnMove.seen b{color:var(--green)}.pgnMove.current{background:var(--green);color:#fff;box-shadow:inset 3px 0 #e3b44f}.pgnMove.current small{color:#d9ecdf}.pgnEmpty{border-left:1px solid var(--line);padding:12px;color:var(--muted)}.pgnFooter{display:flex;align-items:center;gap:6px;margin-top:11px}.pgnFooter button{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--paper);padding:7px 8px;border-radius:7px;color:var(--ink);font-size:.67rem;font-weight:700;cursor:pointer}.pgnFooter button:disabled{opacity:.38;cursor:not-allowed}.pgnFooter button svg{width:13px}.pgnFooter>span{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font:italic .74rem Libre Caslon Text,serif}.lineEnding{display:flex;align-items:center;gap:7px;color:var(--green);font-size:.74rem;font-weight:600;margin:10px 2px 0}.audioCard{margin-top:13px;padding:14px}.audioTitle{gap:10px}.audioIcon{width:34px;height:34px;border-radius:9px;background:var(--green);box-shadow:none}.audioTitle h3{font-size:.82rem;margin:1px 0}.audioTitle select{margin-left:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:6px 8px;font-size:.72rem}.audioControls{gap:7px;margin-top:13px}.audioPlay{height:38px;min-width:112px;border:0;border-radius:9px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.audioPlay:disabled{opacity:.45}.audioControls>span{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem}.audioRange{width:100%;height:4px;margin:11px 0 1px;accent-color:var(--green)}.audioError{font-size:.7rem;color:#a44635;margin:5px 0 0}.bookText{margin-top:13px;padding:0 16px}.bookText summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none}.bookText summary:after{content:"⌄";float:right;color:var(--muted)}.bookText summary span{margin-left:8px;font-size:.62rem;color:var(--green);background:var(--green-soft);padding:4px 7px;border-radius:99px}.bookText>p{font:400 .91rem/1.68 Libre Caslon Text,serif;color:color-mix(in srgb,var(--ink) 86%,var(--muted));padding:7px 9px;margin:0 -9px;border-radius:7px;transition:.2s}.bookText>p.narrating{background:var(--gold-soft);box-shadow:inset 3px 0 var(--gold)}.bookText aside{margin:12px 0 15px;padding:10px 12px;background:var(--green-soft);border-radius:8px;font-size:.73rem;color:var(--muted)}.bookText aside strong{color:var(--green)}.bookText aside p{margin:3px 0 0}.notesCard{margin-top:13px;padding:14px}.notesCard>div:first-child{justify-content:space-between}.notesCard h3{margin:0;font-size:.9rem}.notesCard>div>span{font-size:.66rem;color:var(--muted)}.notesCard textarea{width:100%;min-height:72px;resize:vertical;margin:10px 0;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.78rem}.notesCard>div:last-child{display:flex;gap:7px;align-items:center}.notesCard button.primary{background:#81502f;color:#fff;border-color:#81502f}.notesCard .saved{color:var(--green);font-weight:700;margin-left:auto}.readerColumn footer{font-size:.66rem;line-height:1.45;color:var(--muted);padding:14px 2px}.loginShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 10%,rgba(201,157,89,.2),transparent 34%),linear-gradient(145deg,#f5efe3,#e9dfcf)}[data-theme=dark] .loginShell{background:radial-gradient(circle at 50% 10%,rgba(184,129,54,.18),transparent 36%),#171613}.loginCard{width:min(470px,100%);background:var(--panel);padding:44px;border:1px solid var(--line);border-radius:20px;text-align:center;box-shadow:var(--shadow)}.loginCard .brandMark{margin:auto auto 18px;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#b7863e,#71481d);color:#fff;display:grid;place-items:center}.loginCard .brandMark svg{width:30px;height:30px;fill:currentColor;stroke:none}.loginCard h1{font:700 clamp(2rem,7vw,3.1rem)/1.05 "Libre Caslon Text",serif;margin:8px 0 14px}.loginCard .subtitle{color:var(--muted);line-height:1.6;font-size:.92rem}.loginFeatures{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:.7rem;color:var(--muted);padding:15px 0 24px}.googleButton{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:12px;font-weight:700;cursor:pointer}.googleButton span{font-weight:800;color:#4285f4;margin-right:8px}.loginCard small{display:block;color:var(--muted);font-size:.65rem;margin-top:13px}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;margin:auto;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:821px)and (max-height:860px){:root{--board-limit:min(590px, calc(100svh - 258px) )}.boardActions{margin-top:9px}.coachMessage{margin-top:8px;padding:9px 11px}.pgnTable{max-height:min(282px,calc(100svh - 486px))}}@media(max-width:1050px){:root{--board-limit:min(48vw,520px)}.studyLayout{gap:clamp(18px,3vw,28px)}.appShell{padding:0 clamp(16px,2.2vw,22px) 36px}.progressPill{display:none}.pgnHeader,.pgnRow{grid-template-columns:38px minmax(105px,1fr) minmax(105px,1fr)}}@media(max-width:820px){:root{--board-limit:620px}.topbar{height:auto;padding:14px 0}.brand p,.userButton span{display:none}.brand h1{font-size:1rem}.appShell{padding:0 14px 30px}.breadcrumbs{overflow:hidden;white-space:nowrap}.studyLayout{grid-template-columns:1fr;gap:20px}.boardColumn{position:static}.woodFrame{margin:auto}.readerColumn{padding-top:0}.lessonHeader h2{font-size:2rem}.pgnTable{max-height:300px}}@media(max-width:520px){:root{--board-limit:100%}.headerActions{gap:5px}.userButton{font-size:0;padding-right:5px}.userButton:after{content:"Salir";font-size:.72rem}.boardHeading{align-items:flex-end}.turnBadge{font-size:.63rem}.boardActions{flex-wrap:wrap}.switch{margin-left:0}.pgnHeader,.pgnRow{grid-template-columns:32px minmax(108px,1fr) minmax(108px,1fr);min-width:248px}.pgnHeader span{padding:7px}.pgnMove{padding:6px 8px}.pgnFooter{flex-wrap:wrap}.pgnFooter>span{order:-1;flex-basis:100%;padding-bottom:4px}.audioTitle{flex-wrap:wrap}.audioTitle select{margin-left:44px}.audioControls{flex-wrap:wrap}.audioControls>span{width:100%;margin-left:0;text-align:center}.bookText summary span{display:none}.notesCard>div:last-child{flex-wrap:wrap}.loginCard{padding:32px 22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.bookIndex{margin-left:auto;position:relative;color:var(--ink)}.bookIndex summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:var(--panel);font-weight:700;white-space:nowrap}.bookIndex summary::-webkit-details-marker{display:none}.bookIndex[open]>div{position:absolute;right:0;z-index:20;top:39px;width:min(360px,calc(100vw - 56px));padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 38px #0005}.bookIndex strong{display:block;margin-bottom:8px}.bookIndex button{width:100%;display:block;text-align:left;padding:9px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);cursor:pointer}.bookIndex button.selected{border-color:var(--gold);background:var(--gold-soft)}.bookIndex button small{display:block;color:var(--muted);margin-top:3px}.bookIndex p{color:var(--muted);font-size:.78rem;line-height:1.45;margin:11px 0 0}@media(max-width:820px){.breadcrumbs{height:auto;min-height:50px;flex-wrap:wrap;overflow:visible;white-space:normal}.bookIndex{margin-left:0;width:100%}.bookIndex summary{width:max-content}.bookIndex[open]>div{left:0;right:auto}}.bookIndex .indexMeta{display:block;color:var(--muted);font-size:.72rem;margin-bottom:9px}.indexList{display:grid;gap:5px;max-height:min(58vh,440px);overflow:auto;padding-right:3px}.bookIndex .reviewItem{padding:8px 9px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:color-mix(in srgb,var(--paper) 55%,transparent);font-size:.78rem}.reviewItem small{display:block;margin-top:3px;color:var(--gold);font-size:.66rem}.editorialWorkbench{margin:0 0 30px;padding:22px;border:1px solid var(--gold);border-radius:14px;background:linear-gradient(135deg,var(--panel),var(--paper));box-shadow:var(--shadow)}.editorialHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.editorialHead h2{font:700 1.7rem/1.1 Libre Caslon Text,serif;margin:5px 0}.editorialHead p:not(.kicker){margin:0;color:var(--muted);font-size:.84rem}.editorialHead>div:last-child,.reviewActions{display:flex;gap:8px;flex-wrap:wrap}.editorialHead button,.reviewActions button{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:.78rem}.editorialHead .closeReview{color:var(--muted)}.editorialGrid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1fr);gap:24px;align-items:start}.sourceCrop{padding:10px;background:#f3eee5;border-radius:9px;text-align:center;min-height:260px;color:#403428}.sourceCrop img{display:block;width:100%;max-width:440px;margin:auto;aspect-ratio:1;object-fit:contain}.sourceCrop small{display:block;margin-top:8px;font-size:.67rem;color:#756655}.reviewForm h3{margin:0 0 13px;font:700 1.2rem Libre Caslon Text,serif}.reviewForm label{display:grid;gap:6px;margin:0 0 12px;font-size:.76rem;font-weight:700;color:var(--muted)}.reviewForm input,.reviewForm select,.reviewForm textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:9px;font-weight:400}.reviewForm textarea{min-height:100px;resize:vertical}.reviewActions .primary{background:var(--gold);border-color:var(--gold);color:#201609;font-weight:800}.reviewMessage{margin:11px 0 0;color:var(--green);font-size:.8rem}@media(max-width:820px){.editorialWorkbench{padding:15px}.editorialHead{flex-direction:column}.editorialGrid{grid-template-columns:1fr}.sourceCrop{min-height:0}}
