:root{--c-primary: #a8541f;--c-primary-hover: #8e4416;--c-primary-press: #7d3d15;--c-primary-soft: #f7ecdd;--c-primary-ring: #e6cba9;--c-brand-ink: #3b2a1d;--c-ink: #2e2318;--c-text: #4a3b2c;--c-text-muted: #6b5945;--c-text-subtle: #75634e;--c-text-faint: #9c8a72;--c-surface: #fdfaf3;--c-surface-alt: #f5edde;--c-bg: #efe6d6;--c-paper: #fdfaf3;--c-paper-edge: #f0ebe0;--c-border: #dfd0b6;--c-border-strong: #c4ac85;--c-tape: rgba(214, 190, 143, .62);--c-sticky: #fff3b0;--c-sticky-ink: #6b5a1e;--c-accent-warm: #c98a3c;--c-success: #4a6132;--c-success-soft: #e9efdf;--c-success-ink: #3b4e28;--c-success-border: #c2d1a8;--c-danger: #98221e;--c-danger-soft: #faece7;--c-danger-ink: #7a1b18;--c-danger-border: #e6c0b4;--c-warning: #7a4e12;--c-warning-soft: #fbf1da;--c-warning-ink: #63400f;--c-warning-border: #e6cd94;--c-info-ink: #6b4a1f;--r-xs: 3px;--r-sm: 5px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--r-2xl: 14px;--r-3xl: 18px;--r-paper: 4px;--r-pill: 999px;--ff-heading: "Alegreya", Georgia, "Times New Roman", serif;--ff-body: "Alegreya Sans", -apple-system, sans-serif;--fw-display: 500;--fw-heading: 500;--fw-subheading: 500;--fw-body: 400;--fw-ui: 500;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--sh-1: 0 1px 2px rgba(80, 52, 25, .07);--sh-2: 0 2px 0 rgba(122, 74, 43, .07), 0 10px 18px -10px rgba(80, 52, 25, .28);--sh-3: 0 12px 22px -8px rgba(80, 52, 25, .3);--sh-pop: 0 16px 34px rgba(62, 40, 18, .34);--sh-paper: 0 1px 0 var(--c-paper-edge), 0 2px 6px rgba(90, 72, 45, .06);--t-fast: .12s cubic-bezier(.4, 0, .2, 1);--t-base: .18s cubic-bezier(.4, 0, .2, 1);--w-page: 1200px;--w-reading: 900px;--w-narrow: 420px;--z-sticky: 100;--z-toast: 400;--z-modal: 500;--h-header: 60px}.ls-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast);white-space:nowrap}.ls-btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.ls-btn:disabled{opacity:.55;cursor:not-allowed}.ls-btn-sm{padding:6px 12px;font-size:13px}.ls-btn-md{padding:8px 16px}.ls-btn-lg{padding:10px 20px;font-size:15px}.ls-btn-full{width:100%}.ls-btn-primary{background:var(--c-primary);color:#fff8ec;box-shadow:0 2px 0 var(--c-primary-press)}.ls-btn-primary:hover:not(:disabled){background:var(--c-primary-hover)}.ls-btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--c-primary-press);transform:translateY(1px)}.ls-btn-secondary{background:transparent;border-color:var(--c-border);color:var(--c-text)}.ls-btn-secondary:hover:not(:disabled){background:var(--c-surface-alt)}.ls-btn-ghost{background:transparent;color:var(--c-text-subtle)}.ls-btn-ghost:hover:not(:disabled){background:var(--c-surface-alt);color:var(--c-ink)}.ls-btn-danger{background:var(--c-danger);color:#fff8ec}.ls-btn-danger:hover:not(:disabled){background:var(--c-danger-ink)}.ls-btn[data-loading=true]{position:relative;color:transparent}.ls-btn[data-loading=true]:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ls-spin .6s linear infinite}.ls-btn-primary[data-loading=true]:after{border-color:#ffffffb3;border-right-color:transparent}.ls-btn-secondary[data-loading=true]:after{border-color:var(--c-text-subtle);border-right-color:transparent}@keyframes ls-spin{to{transform:rotate(360deg)}}.ls-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:44px;min-height:44px;border:none;border-radius:var(--r-sm);background:transparent;cursor:pointer;font-size:16px;transition:background var(--t-fast)}.ls-icon-btn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.ls-icon-btn:hover{background:var(--c-surface-alt)}.ls-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ls-wordmark{font-family:var(--ff-heading);font-weight:var(--fw-display);letter-spacing:0;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.ls-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--sh-2)}.ls-card-interactive{cursor:pointer;transition:box-shadow var(--t-base),transform var(--t-base)}.ls-card-interactive:hover{box-shadow:var(--sh-3);transform:translateY(-2px)}.ls-paper-ruled{background-image:repeating-linear-gradient(transparent 0 27px,var(--c-paper-edge) 27px 28px);background-position:0 2px}.ls-reading-sheet{line-height:28px!important;padding:var(--s-1) 0 2px}.ls-reading-sheet p,.ls-reading-sheet li,.ls-reading-sheet div{line-height:28px!important}@media print{.ls-paper-ruled{background-image:none}}.ls-taped{position:relative}.ls-taped:before{content:"";position:absolute;top:-9px;left:50%;transform:translate(-50%) rotate(-2deg);width:66px;height:17px;background:var(--c-tape);border-left:1px dashed rgba(255,255,255,.6);border-right:1px dashed rgba(255,255,255,.6);pointer-events:none}.ls-library-card{transition:transform var(--t-base),box-shadow var(--t-base)}@media(hover:hover)and (min-width:601px){.ls-library-card:nth-child(3n+1){transform:rotate(-.45deg)}.ls-library-card:nth-child(3n+2){transform:rotate(.35deg)}.ls-library-card:nth-child(3n+3){transform:rotate(-.2deg)}.ls-library-card:hover{transform:rotate(0) translateY(-2px);box-shadow:var(--sh-3)}}@media print{.ls-library-card{transform:none!important}}.ls-sticky-note{background:var(--c-sticky);color:var(--c-sticky-ink);padding:var(--s-3) var(--s-3) var(--s-4);transform:rotate(2deg);box-shadow:0 8px 14px -8px #503c0a8c;border-radius:2px}.ls-input-wrap{display:flex;flex-direction:column;gap:var(--s-1)}.ls-input-label{font-size:13px;font-weight:500;color:var(--c-text-muted)}.ls-input-field{padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-family:inherit;font-size:14px;color:var(--c-ink);background:var(--c-surface);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.ls-input-field:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}.ls-input-field::placeholder{color:var(--c-text-faint)}.ls-input-field[aria-invalid=true]{border-color:var(--c-danger)}.ls-input-field:disabled{background:var(--c-surface-alt);opacity:.6}.ls-input-hint{font-size:12px;color:var(--c-text-subtle)}.ls-input-error{font-size:12px;color:var(--c-danger)}textarea.ls-input-field{resize:vertical;min-height:80px}select.ls-input-field{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.ls-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:12px;font-weight:500;line-height:1.5;text-transform:uppercase;letter-spacing:.04em}.ls-badge-neutral{background:var(--c-surface-alt);color:var(--c-text-subtle)}.ls-badge-primary{background:var(--c-primary-soft);color:var(--c-primary)}.ls-badge-success{background:var(--c-success-soft);color:var(--c-success)}.ls-badge-danger{background:var(--c-danger-soft);color:var(--c-danger)}.ls-badge-warning{background:var(--c-warning-soft);color:var(--c-warning)}.ls-toast-container{position:fixed;top:var(--s-4);right:var(--s-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--s-2);pointer-events:none}.ls-toast{pointer-events:auto;display:flex;align-items:center;gap:var(--s-2);padding:10px 16px;border-radius:var(--r-md);font-size:14px;font-weight:500;box-shadow:var(--sh-pop);animation:ls-toast-in .2s ease-out}@keyframes ls-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ls-toast-success{background:var(--c-success-soft);color:var(--c-success-ink);border:1px solid var(--c-success-border)}.ls-toast-danger{background:var(--c-danger-soft);color:var(--c-danger-ink);border:1px solid var(--c-danger-border)}.ls-toast-warning{background:var(--c-warning-soft);color:var(--c-warning-ink);border:1px solid var(--c-warning-border)}.ls-toast-info{background:var(--c-primary-soft);color:var(--c-info-ink);border:1px solid var(--c-primary-ring)}.ls-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#2e23188c;display:flex;align-items:center;justify-content:center;animation:ls-fade-in .15s ease-out}@keyframes ls-fade-in{0%{opacity:0}to{opacity:1}}.ls-dialog{background:var(--c-surface);border-radius:var(--r-xl);padding:var(--s-6);min-width:320px;max-width:440px;box-shadow:var(--sh-pop);animation:ls-scale-in .15s ease-out}@keyframes ls-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.ls-dialog-title{font-size:18px;font-weight:var(--fw-subheading);margin-bottom:var(--s-2)}.ls-dialog-body{font-size:14px;color:var(--c-text-muted);margin-bottom:var(--s-5);line-height:1.5}.ls-dialog-actions{display:flex;gap:var(--s-2);justify-content:flex-end}.ls-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-10) var(--s-5);text-align:center;gap:var(--s-3)}.ls-empty-icon{font-size:34px;background:var(--c-sticky);box-shadow:0 8px 14px -8px #503c0a80;border-radius:2px;padding:var(--s-3) var(--s-4);transform:rotate(-2.5deg);line-height:1}.ls-empty-title{font-size:16px;font-weight:var(--fw-subheading);color:var(--c-ink);margin-top:var(--s-2)}.ls-empty-desc{font-size:14px;color:var(--c-text-subtle);line-height:1.5;max-width:42ch}@media(prefers-reduced-motion:reduce){.ls-empty-icon{transform:none}}.ls-skeleton{background:linear-gradient(90deg,var(--c-surface-alt) 25%,var(--c-border) 50%,var(--c-surface-alt) 75%);background-size:200% 100%;animation:ls-shimmer 1.5s infinite;border-radius:var(--r-sm)}@keyframes ls-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ls-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-10) var(--s-5);text-align:center;gap:var(--s-3)}.ls-error-icon{font-size:36px}.ls-error-title{font-size:16px;font-weight:var(--fw-subheading);color:var(--c-danger-ink)}.ls-error-desc{font-size:14px;color:var(--c-text-muted);line-height:1.5}.ls-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:ls-spin .6s linear infinite}.ls-spinner-sm{width:14px;height:14px;border-width:2px}.ls-spinner-lg{width:28px;height:28px;border-width:3px}.ls-progress{height:4px;background:var(--c-surface-alt);border-radius:var(--r-pill);overflow:hidden}.ls-progress-fill{height:100%;background:var(--c-primary);border-radius:var(--r-pill);transition:width var(--t-base)}.ls-tabs{display:flex;gap:0;border-bottom:1px solid var(--c-border)}.ls-tab{padding:8px 16px;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;color:var(--c-text-subtle);transition:color var(--t-fast),border-color var(--t-fast)}.ls-tab:hover{color:var(--c-ink)}.ls-tab[aria-selected=true]{color:var(--c-primary);border-bottom-color:var(--c-primary)}.ls-tab:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.ls-btn,.ls-card-interactive,.ls-input-field,.ls-toast,.ls-progress-fill,.ls-tab,.ls-skeleton,.ls-overlay,.ls-dialog,.ls-library-card{transition:none!important;animation:none!important}.ls-library-card,.ls-sticky-note{transform:none!important}}@keyframes ls-pulse{0%,to{box-shadow:0 0 0 0 var(--c-primary-ring)}50%{box-shadow:0 0 0 6px var(--c-primary-ring)}}@media(max-width:480px){.ls-input-field,select.ls-input-field{font-size:16px}}.ls-lesson-content{overflow-wrap:anywhere}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--ff-body);color:var(--c-ink);background:var(--c-bg);background-image:linear-gradient(115deg,#ffffff61,#fff0 62%),radial-gradient(rgba(160,130,90,.1) .6px,transparent .6px);background-size:100% 100%,17px 17px;background-attachment:fixed,fixed;margin:0;line-height:1.5}.ls-h1{font-family:var(--ff-heading);font-size:28px;font-weight:var(--fw-display);line-height:1.2}.ls-h2{font-family:var(--ff-heading);font-size:20px;font-weight:var(--fw-heading);line-height:1.25}.ls-h3{font-family:var(--ff-heading);font-size:18px;font-weight:var(--fw-subheading);line-height:1.3}.ls-body{font-size:16px;font-weight:400;line-height:1.6}.ls-ui{font-size:14px;font-weight:500;line-height:1.5}.ls-caption{font-size:12px;font-weight:500;line-height:1.5}.lesson-content,.lesson-content *{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;color:inherit!important;background:transparent!important}.ls-input-text{font-family:var(--ff-body)!important;font-size:14px!important;font-weight:100!important;line-height:1.6!important;overflow-wrap:anywhere;word-break:break-word}.ls-input-text *{font-size:14px!important;line-height:1.6!important}.ls-input-text b,.ls-input-text strong{font-weight:700!important}.ls-input-text i,.ls-input-text em{font-style:italic!important}.lesson-content p,.lesson-content div,.lesson-content li{margin:0 0 .75em}.lesson-content h1,.lesson-content h2,.lesson-content h3,.lesson-content h4,.lesson-content h5,.lesson-content h6{margin:0 0 .5em;font-size:inherit!important;line-height:1.4!important}.lesson-content ul,.lesson-content ol{padding-left:1.25em;margin:0 0 .75em}.lesson-content li{margin-bottom:.35em}.lesson-content strong,.lesson-content b{font-weight:700!important}.lesson-content em,.lesson-content i{font-style:italic!important}.lesson-content a{color:var(--c-primary)!important;text-decoration:underline}button,input{font-family:inherit}h1,h2,h3{font-family:var(--ff-heading)}.lesson-content h1,.lesson-content h2,.lesson-content h3,.ls-input-text,.ls-input-text *{font-family:var(--ff-body)!important}.ls-option-button,.ls-chip,.ls-gap-input,.ls-select,.ls-textarea{transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform 80ms ease}.ls-option-button:hover:not(:disabled),.ls-chip:hover:not(:disabled),.ls-select:hover:not(:disabled){border-color:var(--c-primary)}.ls-option-button:active:not(:disabled),.ls-chip:active:not(:disabled){transform:translateY(1px)}.ls-gap-input:focus,.ls-select:focus,.ls-textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-ring)}.ls-gap-input:hover:not(:disabled),.ls-select:hover:not(:disabled),.ls-textarea:hover:not(:disabled){border-color:var(--c-border-strong)}@media(max-width:768px){.ls-nav-desktop{display:none!important}.ls-burger,.ls-nav-mobile{display:flex!important}}@media(max-width:480px){.hw-header-inner{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.hw-finish-btn{width:100%}}@media(max-width:600px){.ls-card{padding:16px!important}}.ls-room-content{padding:32px 40px}.ls-room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:8px}.ls-room-title{font-family:var(--ff-heading);font-size:28px;font-weight:var(--fw-display);line-height:1.2;margin:0;word-break:break-word}.ls-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px;flex-wrap:wrap}@media(max-width:640px){.ls-room-content{padding:16px 14px!important}.ls-room-header{flex-direction:column;align-items:flex-start!important;gap:4px}.ls-room-title{font-size:20px!important}.ls-input-header{flex-direction:column;align-items:flex-start!important}.ls-input-header button{width:100%}}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}@media(max-width:1024px){.ls-builder-grid{grid-template-columns:1fr!important}}@media(max-width:600px){.ls-library-card{flex-direction:column;align-items:stretch!important}.ls-library-card-actions{flex-wrap:wrap;justify-content:flex-start}}@media(max-width:900px){.ls-room-grid{grid-template-columns:1fr!important}.ls-room-sidebar{display:none}.ls-room-sidebar-open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sticky);background:var(--c-surface);overflow-y:auto;padding:var(--s-5)}}@media(max-width:600px){.ls-lesson-header{flex-direction:column;align-items:stretch!important;gap:var(--s-3)}.ls-lesson-header-actions{flex-wrap:wrap}}@media(max-width:1024px){.ls-builder-main{padding:16px 12px!important}.ls-builder-main>div>.ls-builder-grid>section{padding:20px 16px!important}}select{font-family:var(--ff-body),inherit}@media print{nav,.ls-btn,.ls-toast-container,.ls-overlay,button,a[href]{display:none!important}body{background:#fff!important;color:#000!important}.ls-card{border:1px solid #bbb!important;break-inside:avoid}details{display:block!important}details>summary{display:none}}
