*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{--tw-border-opacity:1;border-color:rgb(230 213 185/var(--tw-border-opacity,1))}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{--tw-bg-opacity:1;background-color:rgb(255 250 240/var(--tw-bg-opacity,1));font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,system-ui,sans-serif;--tw-text-opacity:1;color:rgb(59 41 27/var(--tw-text-opacity,1));min-width:320px;font-feature-settings:"rlig" 1,"calt" 1}::-moz-selection{color:var(--ink);background:#efd7a3}::selection{color:var(--ink);background:#efd7a3}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-20{bottom:5rem}.right-0{right:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.aspect-video{aspect-ratio:16/9}.size-1\.5{width:.375rem;height:.375rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-\[1\.05rem\]{width:1.05rem;height:1.05rem}.size-\[1\.1rem\]{width:1.1rem;height:1.1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.max-h-\[70vh\]{max-height:70vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-60{width:15rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[60px\]{min-width:60px}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{--tw-border-opacity:1;border-color:rgb(230 213 185/var(--tw-border-opacity,1))}.border-border\/40{border-color:rgb(230 213 185/.4)}.border-border\/50{border-color:rgb(230 213 185/.5)}.border-border\/60{border-color:rgb(230 213 185/.6)}.border-destructive\/30{border-color:rgb(220 38 38/.3)}.border-foreground{--tw-border-opacity:1;border-color:rgb(59 41 27/var(--tw-border-opacity,1))}.border-foreground\/30{border-color:rgb(59 41 27/.3)}.border-foreground\/40{border-color:rgb(59 41 27/.4)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-success{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-success\/30{border-color:rgb(22 163 74/.3)}.border-transparent{border-color:transparent}.border-warning{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-warning\/30{border-color:rgb(245 158 11/.3)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:rgb(255 250 240/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgb(0 0 0/.3)}.bg-destructive{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-destructive\/5{background-color:rgb(220 38 38/.05)}.bg-foreground{--tw-bg-opacity:1;background-color:rgb(59 41 27/var(--tw-bg-opacity,1))}.bg-muted{--tw-bg-opacity:1;background-color:rgb(246 236 217/var(--tw-bg-opacity,1))}.bg-muted\/30{background-color:rgb(246 236 217/.3)}.bg-muted\/50{background-color:rgb(246 236 217/.5)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-success{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-success\/5{background-color:rgb(22 163 74/.05)}.bg-warning\/10{background-color:rgb(245 158 11/.1)}.bg-warning\/5{background-color:rgb(245 158 11/.05)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-foreground\/\[0\.03\]{--tw-gradient-from:rgb(59 41 27/0.03) var(--tw-gradient-from-position);--tw-gradient-to:rgb(59 41 27/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-foreground\/\[0\.06\]{--tw-gradient-to:rgb(59 41 27/0.06) var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.font-serif{font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-background{--tw-text-opacity:1;color:rgb(255 250 240/var(--tw-text-opacity,1))}.text-destructive{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-destructive-foreground{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:rgb(59 41 27/var(--tw-text-opacity,1))}.text-foreground\/60{color:rgb(59 41 27/.6)}.text-muted-foreground{--tw-text-opacity:1;color:rgb(127 109 95/var(--tw-text-opacity,1))}.text-muted-foreground\/40{color:rgb(127 109 95/.4)}.text-muted-foreground\/60{color:rgb(127 109 95/.6)}.text-muted-foreground\/70{color:rgb(127 109 95/.7)}.text-muted-foreground\/80{color:rgb(127 109 95/.8)}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-warning{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--paper:#fffaf0;--paper-deep:#f7ecd9;--ink:#3b291b;--ink-soft:#7f6d5f;--line:#e6d5b9;--amber:#d99a36;--amber-deep:#be7720;--sage:#899567;--shadow-warm:rgba(116,76,27,0.13)}.app-shell{min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--paper)}.app-header{position:relative;z-index:20;flex:none;border-top:1px solid rgba(218,179,112,.55);border-bottom:1px solid rgba(205,179,137,.38);border-radius:2rem 2rem 0 0;background:rgba(255,251,243,.9);box-shadow:0 8px 26px rgba(111,75,33,.04);backdrop-filter:blur(14px) saturate(1.08)}.app-header-inner{width:min(100%,1480px);height:5.15rem;margin:0 auto;padding:0 clamp(1.25rem,3.2vw,3.2rem);display:flex;align-items:center;justify-content:space-between}.brand-link{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700;letter-spacing:.08em;transition:opacity .22s ease,transform .22s ease}.brand-link:hover{opacity:.78;transform:translateY(-1px)}.brand-link:focus-visible,.cancel-delete:focus-visible,.confirm-delete:focus-visible,.course-card-link:focus-visible,.delete-button:focus-visible,.empty-link:focus-visible,.example-chip:focus-visible,.nav-link:focus-visible{outline:3px solid rgba(217,154,54,.32);outline-offset:3px}.brand-mark{width:1.85rem;height:2.3rem;color:#829066;filter:drop-shadow(0 2px 2px rgba(117,77,30,.08))}.app-nav{display:flex}.app-nav,.nav-link{align-items:center;gap:.5rem}.nav-link{min-height:2.75rem;padding:.65rem 1.15rem;display:inline-flex;justify-content:center;border:1px solid transparent;border-radius:.85rem;color:#5d4a3b;font-size:.98rem;font-weight:500;transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.nav-link:hover{color:var(--ink);background:rgba(239,222,192,.45);transform:translateY(-1px)}.nav-link:active{transform:translateY(1px) scale(.985)}.nav-link.is-active:not(.nav-link-primary){color:var(--ink);background:rgba(242,224,190,.68);border-color:rgba(219,177,104,.38)}.nav-link-primary.is-active{color:#fffaf0;border-color:rgba(255,255,255,.78);background:linear-gradient(180deg,#ecb957,#d99632);box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 4px 12px rgba(174,111,25,.22)}.nav-link-primary.is-active:hover{color:white;background:linear-gradient(180deg,#e8ae46,#cd8428)}.nav-link-settings{padding-inline:.9rem}.app-main{position:relative;z-index:1;flex:1}.app-shell[data-page=home] .app-main,.app-shell[data-page=library] .app-main{isolation:isolate;background-color:#fbf4e6;background-repeat:no-repeat;background-size:cover;background-position:50%}.app-shell[data-page=home] .app-main{background-image:url(/images/kesang-home-watercolor-v2.png)}.app-shell[data-page=library] .app-main{background-image:url(/images/kesang-library-watercolor.png)}.app-shell[data-page=home] .app-main:after,.app-shell[data-page=library] .app-main:after{position:absolute;z-index:-1;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(255,250,240,.06),transparent 70%)}.app-footer{flex:none;padding:1rem;border-top:1px solid var(--line);color:rgba(127,109,95,.7);background:var(--paper);font-size:.75rem;text-align:center}.app-shell[data-page=home] .app-footer,.app-shell[data-page=library] .app-footer{display:none}.app-shell[data-page=content] .app-main{background:radial-gradient(circle at 6% 3%,rgba(232,193,120,.15),transparent 26rem),radial-gradient(circle at 94% 26%,rgba(137,149,103,.1),transparent 28rem),var(--paper)}.shadow-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 6px 20px rgba(116,76,27,.06)}.lesson-hero{display:flex;align-items:stretch;gap:1.1rem;margin-bottom:1.75rem}.lesson-hero-rule{width:.42rem;flex:none;border-radius:999px;background:linear-gradient(180deg,#f0c86f,#d99a36);box-shadow:0 4px 14px rgba(198,128,30,.18)}.lesson-hero-meta{color:#b57524;font-size:.78rem;font-weight:600;letter-spacing:.06em}.lesson-hero-title{margin-top:.35rem;color:#432c1b;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:clamp(1.9rem,4.5vw,3rem);font-weight:700;line-height:1.18;letter-spacing:.01em;text-wrap:balance}@keyframes tab-panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-panel-enter{animation:tab-panel-enter .34s cubic-bezier(.22,1,.36,1) both}.home-stage{width:min(100%,1480px);min-height:calc(100dvh - 5.15rem);margin:0 auto;padding:clamp(3.3rem,7vh,5.75rem) clamp(1.25rem,3.2vw,3.2rem) 2.5rem}.home-panel{width:min(51.5rem,57%);margin-left:clamp(0rem,9vw,8.5rem);animation:page-rise .65s cubic-bezier(.22,1,.36,1) both}.home-intro{margin-bottom:1.15rem;text-align:center}.home-title-row{display:inline-flex;align-items:center;gap:1rem}.home-title-row h1{color:#432c1b;font-size:clamp(3.3rem,5.1vw,5rem);font-weight:700;letter-spacing:.17em;text-indent:.17em;text-shadow:0 2px 0 rgba(255,255,255,.9)}.home-title-row h1,.title-sprig{font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;line-height:1}.title-sprig{display:inline-block;color:var(--sage);font-size:3.25rem;transform:rotate(-14deg) translateY(.25rem)}.home-subtitle{margin-top:1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem;color:#b59661;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif}.home-subtitle p{color:#533b2d;font-size:1.15rem;letter-spacing:.12em}.lesson-form{width:100%}.lesson-input-wrap{position:relative;overflow:hidden;border:1px solid rgba(218,173,98,.65);border-radius:1.25rem;background:rgba(255,252,246,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 24px var(--shadow-warm);backdrop-filter:blur(7px);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.lesson-input-wrap:focus-within{border-color:rgba(194,119,26,.86);box-shadow:0 0 0 4px rgba(217,154,54,.12),0 14px 30px rgba(116,76,27,.15);transform:translateY(-1px)}.lesson-textarea{min-height:12.75rem!important;padding:1.55rem 1.75rem 2.75rem!important;border:0!important;border-radius:inherit!important;color:#4b3b31;background:transparent!important;font-size:1rem!important;line-height:1.9;box-shadow:none!important}.lesson-textarea::-moz-placeholder{color:rgba(105,87,75,.67)}.lesson-textarea::placeholder{color:rgba(105,87,75,.67)}.character-count{position:absolute;right:1.45rem;bottom:.85rem;color:rgba(116,94,77,.6);font-size:.75rem;font-variant-numeric:tabular-nums}.form-error{margin-top:.7rem;padding:.7rem .9rem;border:1px solid rgba(185,61,52,.18);border-radius:.7rem;color:#a43d34;background:rgba(255,246,239,.9);font-size:.84rem;white-space:pre-wrap}.generate-button{width:100%;height:3.9rem!important;margin-top:.95rem;gap:.75rem;border:1px solid rgba(255,255,255,.82);border-radius:1.1rem!important;color:#fffdf8!important;background:linear-gradient(180deg,rgba(235,182,78,.95),rgba(211,142,43,.96))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 7px 18px rgba(170,104,23,.24);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:1.3rem!important;font-weight:700;letter-spacing:.12em;text-shadow:0 1px 1px rgba(116,69,15,.22);transition:transform .22s ease,filter .22s ease,box-shadow .22s ease!important}.generate-button:not(:disabled):hover{filter:saturate(1.08) brightness(1.03);box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 10px 24px rgba(170,104,23,.3);transform:translateY(-2px)}.generate-button:not(:disabled):active{transform:translateY(1px) scale(.995)}.generate-button:disabled{color:rgba(255,253,248,.72)!important;background:linear-gradient(180deg,#ddbd84,#cfa467)!important}.button-spinner{width:1rem;height:1rem;margin-right:.15rem;border:2px solid rgba(255,255,255,.5);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.examples-block{margin-top:1rem}.examples-label{margin-bottom:.45rem;color:#6f5846;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:.87rem}.examples-list{display:flex;flex-direction:column;align-items:flex-start;gap:.42rem}.example-chip{width:auto;max-width:100%;min-height:2.35rem;padding:.4rem .75rem;display:inline-flex;align-items:center;gap:.55rem;overflow:hidden;border:1px solid rgba(214,191,153,.72);border-radius:999px;color:#6d5848;background:rgba(255,252,246,.82);box-shadow:0 3px 10px rgba(112,77,36,.05);font-size:.79rem;text-align:left;white-space:nowrap;backdrop-filter:blur(5px);transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.example-chip>span{overflow:hidden;text-overflow:ellipsis}.example-chip>svg:first-child{flex:none;color:#c9933f}.example-arrow{flex:none;color:#b99b70;transition:transform .2s ease}.example-chip:hover{color:#493529;border-color:rgba(196,142,60,.62);background:rgba(255,249,238,.98)}.example-chip:hover,.example-chip:hover .example-arrow{transform:translateX(3px)}.form-meta{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:rgba(100,81,67,.7);font-size:.75rem}.keyboard-hint{white-space:nowrap}.keyboard-hint kbd{min-width:2rem;margin:0 .2rem;padding:.23rem .48rem;display:inline-flex;align-items:center;justify-content:center;border:solid rgba(198,175,139,.72);border-width:1px 1px 2px;border-radius:.45rem;color:#6c5747;background:rgba(255,252,246,.76);font-family:inherit;font-size:.75rem;box-shadow:0 1px 2px rgba(109,72,31,.06)}.service-status{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;text-align:right}.service-dot{width:.48rem;height:.48rem;flex:none;border-radius:50%;background:#a59e90;box-shadow:0 0 0 3px rgba(165,158,144,.1)}.service-status.is-ready .service-dot{background:#2c9b62;box-shadow:0 0 0 3px rgba(44,155,98,.1)}.service-status.is-warning .service-dot{background:#d58d2a;box-shadow:0 0 0 3px rgba(213,141,42,.1)}.service-status.is-error .service-dot{background:#b8493d;box-shadow:0 0 0 3px rgba(184,73,61,.1)}.library-stage{width:min(100%,1480px);min-height:calc(100dvh - 5.15rem);margin:0 auto;padding:clamp(4.5rem,9vh,7.5rem) clamp(1.25rem,3.2vw,3.2rem) 3.5rem}.library-content{width:min(56rem,66%);margin-left:clamp(0rem,10vw,9.5rem);animation:page-rise .65s cubic-bezier(.22,1,.36,1) both}.library-heading{margin:0 0 1.8rem .4rem}.library-title-row{display:flex;align-items:center;gap:.85rem}.title-rule{width:.5rem;height:2.5rem;border-radius:.2rem;background:linear-gradient(180deg,#f0c86f,#d99a36);box-shadow:0 3px 10px rgba(198,128,30,.15)}.library-heading h1{color:#432d1c;font-size:clamp(2.2rem,3.2vw,3.15rem);font-weight:700;letter-spacing:.08em}.library-heading h1,.library-sprig{font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif}.library-sprig{color:var(--sage);font-size:2.3rem;transform:rotate(-18deg)}.library-heading p{margin-top:.85rem;color:#806d5f;font-size:1rem}.library-empty{position:relative;min-height:20.5rem;padding:3.3rem 2rem!important;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(214,169,98,.62)!important;border-radius:1.35rem!important;background:linear-gradient(145deg,rgba(255,253,249,.9),rgba(255,250,240,.78))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(113,76,32,.12);text-align:center;backdrop-filter:blur(8px)}.library-empty:after,.library-empty:before{position:absolute;content:"";width:15rem;height:8rem;opacity:.18;background:radial-gradient(ellipse at center,rgba(195,152,77,.32),transparent 68%);pointer-events:none}.library-empty:before{left:-4rem;bottom:-2rem;transform:rotate(18deg)}.library-empty:after{right:-4rem;bottom:-2rem;transform:rotate(-18deg)}.empty-icon{width:5.8rem;height:5.8rem;margin-bottom:1.25rem;display:grid;place-items:center;border-radius:50%;color:#d39743;background:radial-gradient(circle at 48% 38%,#fffdf8,#f8ead1);box-shadow:0 7px 22px rgba(153,99,30,.1)}.empty-icon svg{width:2.45rem;height:2.45rem;stroke-width:1.5}.library-empty>p{color:#7a685a;font-size:1.15rem}.empty-link,.library-empty>p{font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif}.empty-link{margin-top:1.65rem;padding-bottom:.35rem;display:inline-flex;align-items:center;gap:.6rem;border-bottom:1px solid rgba(202,121,27,.55);color:#c77317;font-size:1.2rem;font-weight:600;transition:color .2s ease,transform .2s ease,border-color .2s ease}.empty-link:hover{color:#a85b0c;border-color:#a85b0c;transform:translateX(3px)}.course-list{display:flex;flex-direction:column;gap:.75rem}.course-card{border:1px solid rgba(214,184,139,.7)!important;border-radius:1rem!important;background:rgba(255,252,246,.84)!important;box-shadow:0 5px 18px rgba(110,73,29,.07);backdrop-filter:blur(7px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.course-card:hover{border-color:rgba(196,140,56,.7)!important;box-shadow:0 9px 24px rgba(110,73,29,.12);transform:translateY(-2px)}.course-card-inner{min-height:5.25rem;padding:.72rem .8rem .72rem .9rem;display:flex;align-items:center;gap:.65rem}.course-card-link{min-width:0;flex:1;display:flex;align-items:center;gap:.85rem;border-radius:.7rem}.course-card-icon{width:2.8rem;height:2.8rem;flex:none;display:grid;place-items:center;border-radius:.75rem;color:#c98d37;background:#f8ead1}.course-card-icon svg{width:1.35rem;height:1.35rem;stroke-width:1.7}.course-card-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:.28rem}.course-card-title{overflow:hidden;color:#493428;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:1rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.course-card-meta{color:#897668;font-size:.75rem}.course-card-arrow{width:1.1rem;height:1.1rem;flex:none;color:#b99b70;transition:transform .2s ease}.course-card-link:hover .course-card-arrow{transform:translateX(3px)}.course-card-actions{flex:none}.delete-button{padding:.55rem;border-radius:.65rem;color:#aa9789;transition:color .18s ease,background-color .18s ease}.delete-button:hover{color:#b13e36;background:rgba(187,66,57,.08)}.delete-confirm{display:flex;align-items:center;gap:.4rem}.cancel-delete,.confirm-delete{padding:.42rem .62rem;border-radius:.55rem;font-size:.72rem;transition:transform .18s ease,filter .18s ease}.confirm-delete{color:white;background:#b54a3e}.cancel-delete{border:1px solid var(--line);color:#6f5a4c;background:rgba(255,250,240,.7)}.cancel-delete:hover,.confirm-delete:hover{filter:brightness(.97);transform:translateY(-1px)}.admin-page{min-height:calc(100dvh - 5.15rem);padding:clamp(2.5rem,6vh,5rem) 1.25rem 4rem;background:radial-gradient(circle at 15% 10%,rgba(225,185,112,.16),transparent 28rem),radial-gradient(circle at 88% 86%,rgba(137,149,103,.12),transparent 26rem),var(--paper)}.admin-loading{width:min(100%,32rem);margin:5rem auto;color:var(--ink-soft);text-align:center}.admin-login-card,.admin-settings-card{margin:0 auto;border:1px solid rgba(214,180,125,.68);background:rgba(255,252,246,.92);box-shadow:0 18px 55px rgba(107,70,28,.12);backdrop-filter:blur(10px);animation:page-rise .5s cubic-bezier(.22,1,.36,1) both}.admin-login-card{width:min(100%,31rem);padding:2.5rem;border-radius:1.5rem}.admin-icon{width:4.5rem;height:4.5rem;margin:0 auto 1.25rem;display:grid;place-items:center;border-radius:1.2rem;color:#c9852e;background:#f8e8ca;transform:rotate(-3deg)}.admin-icon svg{width:2rem;height:2rem;stroke-width:1.6}.admin-login-heading{text-align:center}.admin-eyebrow,.admin-login-heading>span{color:#aa844e;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.admin-login-heading h1,.admin-settings-header h1{margin-top:.45rem;color:var(--ink);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:2rem;font-weight:700}.admin-login-heading p,.admin-settings-header p{margin-top:.5rem;color:var(--ink-soft);font-size:.85rem}.admin-form{margin-top:1.75rem;gap:1rem}.admin-form,.admin-form label{display:flex;flex-direction:column}.admin-form label{gap:.5rem}.admin-form label>span{display:inline-flex;align-items:center;gap:.4rem;color:#5a4333;font-size:.82rem;font-weight:600}.admin-form label>span svg{width:.95rem;height:.95rem;color:#b7833e}.admin-form input{width:100%;height:2.9rem;padding:0 .9rem;border:1px solid rgba(210,181,136,.78);border-radius:.75rem;color:var(--ink);background:rgba(255,250,240,.82);font-size:.88rem;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.admin-form input:focus{outline:none;border-color:#d5983d;background:white;box-shadow:0 0 0 4px rgba(217,154,54,.11)}.admin-form>small{color:#9a8779;font-size:.72rem;text-align:center}.admin-settings-card{width:min(100%,50rem);padding:clamp(1.5rem,4vw,2.5rem);border-radius:1.35rem}.admin-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.admin-eyebrow{display:inline-flex;align-items:center;gap:.45rem}.admin-eyebrow svg{width:1rem;height:1rem}.admin-logout{padding:.55rem .7rem;display:inline-flex;align-items:center;gap:.4rem;border-radius:.6rem;color:#8b7768;font-size:.75rem;transition:color .18s ease,background .18s ease}.admin-logout svg{width:.9rem;height:.9rem}.admin-logout:hover{color:#a43d34;background:rgba(164,61,52,.08)}.admin-config-status{margin-top:1.5rem;padding:.85rem 1rem;display:flex;align-items:center;gap:.55rem;border-radius:.75rem;color:#8a6550;background:#f8eee0;font-size:.8rem}.admin-config-status.is-ready{color:#347451;background:#edf5ec}.admin-config-status.is-ready .service-dot{background:#319461;box-shadow:0 0 0 3px rgba(49,148,97,.12)}.admin-presets{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem}.admin-presets button{padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;color:#725d4d;background:#fffaf1;font-size:.75rem;transition:transform .18s ease,border-color .18s ease,color .18s ease}.admin-presets button:hover{color:#b96e16;border-color:#d99a36;transform:translateY(-1px)}.admin-settings-form{margin-top:1.25rem;display:grid;grid-template-columns:1fr 1fr}.admin-settings-form label:last-child{grid-column:1/-1}.admin-actions{margin-top:1.35rem;display:flex;gap:.75rem}.admin-message{margin-top:1rem;padding:.8rem .95rem;border:1px solid;border-radius:.7rem;font-size:.8rem;line-height:1.6}.admin-message.is-success{color:#287449;border-color:rgba(40,116,73,.25);background:rgba(232,246,235,.85)}.admin-message.is-error{color:#a43d34;border-color:rgba(164,61,52,.25);background:rgba(255,239,235,.85)}.generation-progress-page{width:min(100%,52rem);margin:0 auto;padding:clamp(2.8rem,7vh,5rem) 1rem 4rem}.generation-progress-heading{margin-bottom:1.5rem}.generation-kicker{display:inline-flex;align-items:center;gap:.45rem;color:#b57524;font-size:.75rem;font-weight:600;letter-spacing:.08em}.generation-progress-heading h1{margin-top:.65rem;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:clamp(1.8rem,3vw,2.45rem);font-weight:700}.generation-progress-heading p{margin-top:.4rem;color:var(--ink-soft);font-size:.83rem}.generation-progress-card{padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(214,180,125,.7);border-radius:1.25rem;background:rgba(255,252,246,.94);box-shadow:0 14px 38px rgba(107,70,28,.1)}.generation-progress-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}.generation-progress-summary>div{display:flex;align-items:baseline;gap:.75rem}.generation-progress-summary strong{color:var(--ink);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:1.2rem}.generation-progress-summary span{color:var(--ink-soft);font-size:.78rem}.generation-progress-summary time{color:#a17e50;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-variant-numeric:tabular-nums}.generation-progress-track{height:.42rem;margin-top:.9rem;overflow:hidden;border-radius:999px;background:#f0e4d0}.generation-progress-track span{width:100%;height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#d79237,#edc572);transform-origin:left center;transition:transform .5s cubic-bezier(.22,1,.36,1)}.generation-step-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.generation-step{min-width:0;padding:.78rem;display:flex;align-items:center;gap:.65rem;border-radius:.75rem;color:#9b8b7f;background:#fbf5e9;transition:color .22s ease,background .22s ease,transform .22s ease}.generation-step>svg{width:1rem;height:1rem;flex:none;stroke-width:1.8}.generation-step>span{min-width:0;display:flex;flex-direction:column;gap:.12rem}.generation-step strong{overflow:hidden;font-size:.8rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.generation-step small{font-size:.68rem;opacity:.72}.generation-step.is-started{color:#ad6e1e;background:#fff1d9;transform:translateY(-1px)}.generation-step.is-done{color:#397954;background:#eef6ed}.generation-step.is-failed{color:#a43d34;background:#fff0ed}.generation-progress-note{margin-top:1.4rem;color:#927f70;font-size:.74rem;line-height:1.7}.generation-error-card{width:min(calc(100% - 2rem),38rem);margin:clamp(3rem,10vh,7rem) auto;padding:2rem;border:1px solid rgba(184,73,61,.25);border-radius:1.15rem;background:#fff9f0;box-shadow:0 12px 32px rgba(109,72,31,.09)}.generation-error-label{color:#a43d34;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,STSong,serif;font-size:1.3rem;font-weight:700}.generation-error-message{margin-top:.8rem;padding:.8rem;border-radius:.65rem;color:#9e443b;background:#fff0ed;font-size:.82rem;line-height:1.65}.generation-error-card>p{margin-top:.85rem;color:var(--ink-soft);font-size:.78rem;line-height:1.7}.generation-error-actions{margin-top:1.25rem;display:flex;gap:.7rem}@keyframes page-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.export-progress-bar{width:40%;animation:export-progress-slide 1.1s ease-in-out infinite}@keyframes export-progress-slide{0%{transform:translateX(-110%)}to{transform:translateX(360%)}}@media (max-width:1180px){.home-panel{width:min(47rem,64%);margin-left:2vw}.library-content{width:min(52rem,72%);margin-left:3vw}.home-title-row h1{font-size:clamp(3rem,6vw,4.25rem)}}@media (max-width:860px){.app-shell[data-page=home] .app-main{background-image:linear-gradient(rgba(255,250,240,.76),rgba(255,250,240,.82)),url(/images/kesang-home-watercolor-v2.png);background-position:66%}.app-shell[data-page=library] .app-main{background-image:linear-gradient(rgba(255,250,240,.64),rgba(255,250,240,.78)),url(/images/kesang-library-watercolor.png);background-position:65%}.home-stage,.library-stage{padding-top:3.2rem}.home-panel,.library-content{width:min(100%,44rem);margin:0 auto}.home-title-row h1{font-size:clamp(2.9rem,9vw,4rem)}}@media (max-width:640px){.app-header{border-radius:1.3rem 1.3rem 0 0}.app-header-inner{height:4.25rem;padding-inline:.9rem}.brand-link{gap:.42rem;font-size:1.18rem;letter-spacing:.04em}.brand-mark{width:1.5rem;height:1.9rem}.app-nav{gap:.15rem}.nav-link{min-height:2.35rem;padding:.45rem .7rem;border-radius:.7rem;font-size:.8rem}.nav-link-settings span{display:none}.nav-link-settings{padding-inline:.62rem}.home-stage,.library-stage{min-height:calc(100dvh - 4.25rem);padding:2.2rem .9rem 2.5rem}.home-intro{margin-bottom:1.05rem}.home-title-row{gap:.45rem}.home-title-row h1{font-size:clamp(2.45rem,13vw,3.3rem);letter-spacing:.1em;text-indent:.1em}.title-sprig{font-size:2.3rem}.home-subtitle{margin-top:.9rem;gap:.5rem}.home-subtitle p{font-size:.98rem;letter-spacing:.08em}.home-subtitle>span{font-size:.75rem}.lesson-textarea{min-height:11.5rem!important;padding:1.2rem 1.15rem 2.4rem!important;font-size:.9rem!important;line-height:1.75}.lesson-input-wrap{border-radius:1rem}.generate-button{height:3.4rem!important;border-radius:.9rem!important;font-size:1.08rem!important}.example-chip{width:100%;font-size:.74rem}.form-meta{align-items:flex-start;flex-direction:column;gap:.65rem}.service-status{text-align:left}.library-heading{margin:0 0 1.35rem .15rem}.library-heading h1{font-size:2rem}.title-rule{width:.38rem;height:2.05rem}.library-sprig{font-size:1.75rem}.library-heading p{margin-top:.55rem;font-size:.86rem}.library-empty{min-height:19rem;padding-inline:1.25rem!important}.course-card-arrow{display:none}.course-card-inner,.course-card-link{align-items:flex-start}.course-card-title{max-width:58vw}.delete-confirm{align-items:stretch;flex-direction:column}.admin-page{min-height:calc(100dvh - 4.25rem);padding:1.5rem .8rem 3rem}.admin-login-card,.admin-settings-card{padding:1.3rem;border-radius:1rem}.admin-settings-header{flex-direction:column}.admin-logout{align-self:flex-end;margin-top:-3rem}.admin-settings-form{grid-template-columns:1fr}.admin-settings-form label:last-child{grid-column:auto}.admin-actions{align-items:stretch;flex-direction:column}.generation-step-grid{grid-template-columns:repeat(2,1fr)}.generation-progress-summary>div{align-items:flex-start;flex-direction:column;gap:.18rem}.lesson-hero{gap:.8rem;margin-bottom:1.4rem}.lesson-hero-rule{width:.34rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f8efe0}::-webkit-scrollbar-thumb{border:2px solid #f8efe0;border-radius:999px;background:#d6c2a4}::-webkit-scrollbar-thumb:hover{background:#c8ac85}.quota-dialog{border:0;border-radius:20px;padding:24px;max-width:min(420px,90vw);max-height:90vh;overflow:auto;text-align:center;box-shadow:0 20px 80px #0004}.quota-dialog::backdrop{background:#0008}.quota-dialog h2{font-size:22px;font-weight:700}.quota-dialog p{margin:10px 0}.quota-dialog img{width:100%;max-height:55vh;-o-object-fit:contain;object-fit:contain}.quota-dialog button{background:#176c60;color:white;border-radius:10px;padding:10px 30px}.quota-note{font-size:13px;color:#666}.quota-admin{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:24px 0;margin:20px 0}.quota-admin h2{font-size:22px;font-weight:700;margin-bottom:16px}.quota-admin p{font-size:14px;line-height:1.7;margin:12px 0}.quota-admin h3{margin:16px 0;font-weight:600}.quota-admin-qr{width:220px;max-width:100%}.quota-table{overflow-x:auto}.quota-table table{width:100%;text-align:left}.quota-table td,.quota-table th{padding:10px;border-bottom:1px solid #ddd}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:rgb(127 109 95/.6)}.placeholder\:text-muted-foreground\/60::placeholder{color:rgb(127 109 95/.6)}.last\:border-r-0:last-child{border-right-width:0}.hover\:border-foreground\/30:hover{border-color:rgb(59 41 27/.3)}.hover\:bg-destructive\/90:hover{background-color:rgb(220 38 38/.9)}.hover\:bg-foreground\/90:hover{background-color:rgb(59 41 27/.9)}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:rgb(246 236 217/var(--tw-bg-opacity,1))}.hover\:text-destructive:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:rgb(59 41 27/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-foreground\/20:focus-visible{--tw-ring-color:rgb(59 41 27/0.2)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-muted:disabled{--tw-bg-opacity:1;background-color:rgb(246 236 217/var(--tw-bg-opacity,1))}.disabled\:text-muted-foreground:disabled{--tw-text-opacity:1;color:rgb(127 109 95/var(--tw-text-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (min-width:640px){.max-sm\:fixed{position:fixed}.max-sm\:inset-x-3{left:.75rem;right:.75rem}.max-sm\:bottom-4{bottom:1rem}.max-sm\:max-h-\[62vh\]{max-height:62vh}.max-sm\:w-auto{width:auto}.max-sm\:rounded-2xl{border-radius:1rem}}@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}