*,:before,:after{--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 / .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 / .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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";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,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[24px\]{height:24px}.h-\[32px\]{height:32px}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-20{width:5rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-\[60px\]{min-width:60px}.max-w-5xl{max-width:64rem}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-top-left{transform-origin:top left}.-translate-x-4{--tw-translate-x: -1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-6{gap:1.5rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b-4{border-bottom-width:4px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-white\/25{border-color:#ffffff40}.bg-\[\#004d42\]{--tw-bg-opacity: 1;background-color:rgb(0 77 66 / var(--tw-bg-opacity, 1))}.bg-\[\#006456\]{--tw-bg-opacity: 1;background-color:rgb(0 100 86 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-cover{background-size:cover}.bg-fixed{background-attachment:fixed}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0\.5{padding:.125rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.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}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-\[12px\]{font-size:12px}.text-\[16px\]{font-size:16px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#006456\]{--tw-text-opacity: 1;color:rgb(0 100 86 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/95{color:#fffffff2}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));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)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));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)}.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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;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}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--primary-color: #006763;--secondary-color: #ac3a10;--accent-color: #f9c200;--background-color: #fefbf5;--text-color: #2c2c2c;--text-light: #fefefe;--shadow-color: rgba(0, 0, 0, .08);--book-height: 330px;--shelf-padding-y: 40px;--shelf-thickness: 20px;--shelf-surface-color: #8c5a2b;--shelf-front-color: #6b4420;--bookshelf-bg-color: #d3bda7}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans TC,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6}#root{display:flex;flex-direction:column;min-height:100vh}main{flex-grow:1;width:100%}.container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.app-header{background-color:var(--primary-color);color:var(--text-light);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;box-shadow:0 2px 10px #0003}.logo{font-size:1.5rem;font-weight:700}.nav-links{list-style:none;display:flex;gap:1.5rem}.nav-links a{color:var(--text-light);text-decoration:none;font-weight:500;padding:.5rem;border-radius:4px;transition:background-color .3s,color .3s;position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:3px;bottom:-2px;left:50%;transform:translate(-50%);background-color:var(--accent-color);transition:width .3s ease-in-out}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-links a.active{color:var(--accent-color)}.hero-carousel{position:relative;height:55vh;min-height:300px;width:100%;overflow:hidden;background-color:var(--primary-color)}.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease-in-out;z-index:1}.carousel-slide.active{opacity:1;z-index:2}.hero-text{position:relative;z-index:3;color:var(--text-light);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;background:#00000073;padding:1rem}.hero-text h2{font-size:2.8rem;margin-bottom:.5rem;text-shadow:2px 2px 8px rgba(0,0,0,.7)}.hero-text p{font-size:1.3rem;text-shadow:1px 1px 6px rgba(0,0,0,.7)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;background:#1116;color:#fff;border:1px solid rgba(255,255,255,.4);font-size:2.5rem;cursor:pointer;padding:.25rem 1rem;border-radius:50%;transition:background-color .3s;width:50px;height:50px;display:flex;align-items:center;justify-content:center;line-height:1;font-family:sans-serif}.carousel-btn:hover{background:#000000b3}.carousel-btn.prev{left:1.5rem}.carousel-btn.next{right:1.5rem}.carousel-indicators{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:4;display:flex;gap:.75rem}.indicator-dot{width:12px;height:12px;background:#fff9;cursor:pointer;border:2px solid transparent;padding:0;transition:background-color .3s,border-color .3s,transform .3s;border-radius:0;transform:rotate(45deg)}.indicator-dot:hover{background:#ffffffe6;transform:scale(1.1)}.indicator-dot.active{background:var(--accent-color);border-color:#ffffffe6}.section-title{text-align:center;font-size:2.2rem;margin-bottom:2.5rem;color:var(--primary-color);font-weight:700;display:inline-block;position:relative;left:50%;transform:translate(-50%);padding-bottom:.5rem}.section-title:after{content:"";position:absolute;width:60%;height:4px;bottom:0;left:20%;background-color:var(--accent-color);border-radius:2px}.feature-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:3rem;margin-bottom:3rem}.feature-card{background-color:#fff;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 4px 15px var(--shadow-color);transition:transform .3s,box-shadow .3s;border:1px solid #eee;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.feature-card:hover{transform:translateY(-8px);box-shadow:0 10px 25px #0000001f}.feature-icon{font-size:4rem;line-height:1;color:var(--primary-color);margin-bottom:1.5rem;transition:transform .3s ease-in-out,color .3s ease-in-out;height:4rem;display:flex;align-items:center}.feature-card:hover .feature-icon{transform:scale(1.1);color:var(--secondary-color)}.feature-card h3{margin-bottom:1.5rem;color:var(--secondary-color);font-size:1.5rem}.feature-card a{display:inline-block;background-color:var(--accent-color);color:var(--primary-color);text-decoration:none;padding:.75rem 2rem;border-radius:50px;font-weight:700;transition:background-color .3s,transform .3s;margin-top:auto;border:2px solid var(--accent-color)}.feature-card a:hover{background-color:#ffd033;transform:scale(1.05)}.ebook-showcase{padding-bottom:2rem}.view-more-container{text-align:center;margin-top:2.5rem}.view-more-btn{display:inline-block;background-color:var(--secondary-color);color:var(--text-light);text-decoration:none;padding:.8rem 2.5rem;border-radius:50px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:2px solid var(--secondary-color)}.view-more-btn:hover,.view-more-btn:focus{transform:translateY(-3px);box-shadow:0 7px 20px #0003;background-color:#c1481a;border-color:#c1481a;outline:none}.ebook-gallery{--shelf-row-height: calc(var(--book-height) + var(--shelf-padding-y));background-color:var(--bookshelf-bg-color);border:15px solid var(--shelf-front-color);border-top:none;border-radius:0 0 8px 8px;box-shadow:inset 0 0 20px #0006;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent var(--shelf-row-height),var(--shelf-surface-color) var(--shelf-row-height),var(--shelf-front-color) calc(var(--shelf-row-height) + var(--shelf-thickness)));background-size:100% calc(var(--shelf-row-height) + var(--shelf-thickness));display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;-moz-column-gap:2.5rem;column-gap:2.5rem;row-gap:calc(var(--shelf-padding-y) + var(--shelf-thickness));padding:var(--shelf-padding-y) 2rem;margin-top:0}.ebook-item-link{width:220px;height:var(--book-height);text-decoration:none;color:inherit;display:block;border-radius:8px 8px 4px 4px;transition:transform .3s ease,box-shadow .3s ease}.ebook-item-link:hover{transform:translateY(-15px) scale(1.05);box-shadow:0 25px 35px #0000004d}.ebook-item{background:#fff;border-radius:inherit;overflow:hidden;box-shadow:0 4px 15px var(--shadow-color),inset 3px 0 8px #00000026;border:1px solid #ccc;height:100%;display:flex;flex-direction:column}.ebook-cover{height:75%;position:relative;overflow:hidden;background-color:#e0f2f1}.ebook-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.ebook-item-link:hover .ebook-cover img{transform:scale(1.05)}.ebook-label{position:absolute;top:12px;right:0;background-color:var(--secondary-color);color:var(--text-light);padding:4px 12px;font-size:.8rem;font-weight:700;border-top-left-radius:10px;border-bottom-left-radius:10px;box-shadow:-2px 2px 5px #0003}.ebook-details{height:25%;padding:1rem .75rem;text-align:center;flex-grow:1;display:flex;align-items:center;justify-content:center}.ebook-title{font-weight:600;color:var(--text-color);font-size:1rem;line-height:1.4}.page-title{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;text-align:center;padding-top:2rem}.page-description{font-size:1.2rem;margin-top:1rem;text-align:center;max-width:800px;margin-left:auto;margin-right:auto;margin-bottom:2rem;color:#555}.filter-container{background-color:var(--shelf-surface-color);padding:1rem 2rem;border-radius:8px 8px 0 0;margin-bottom:0;margin-top:3rem;display:flex;justify-content:center;align-items:center;gap:2.5rem;flex-wrap:wrap;border-left:15px solid var(--shelf-front-color);border-right:15px solid var(--shelf-front-color);border-top:15px solid var(--shelf-front-color);border-bottom:var(--shelf-thickness) solid var(--shelf-front-color);box-shadow:0 10px 30px #0000004d;position:relative;z-index:10}.custom-select-wrapper{position:relative;display:flex;align-items:center;gap:.75rem}.custom-select-label{font-size:1.1rem;font-weight:700;color:var(--text-light);text-shadow:1px 1px 2px rgba(0,0,0,.4);white-space:nowrap}.custom-select-trigger{background-color:#fff;color:var(--text-color);border:2px solid var(--shelf-front-color);border-radius:8px;padding:.5rem 1rem;font-family:Noto Sans TC,sans-serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-width:180px;box-shadow:0 3px 5px #00000026,inset 0 1px 1px #ffffffb3;transition:all .2s ease;position:relative;background-image:linear-gradient(to top,#f0f0f0,#fff)}.custom-select-trigger:hover{border-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 5px 10px #0003}.custom-select-trigger:focus{outline:none;box-shadow:0 0 0 3px #f9c20080}.custom-select-trigger span{flex-grow:1;text-align:left}.custom-select-trigger .fa-chevron-down{transition:transform .3s ease;color:var(--primary-color);margin-left:1rem}.custom-select-trigger .fa-chevron-down.open{transform:rotate(180deg)}.custom-select-options{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:100%;background-color:#fff;border:2px solid var(--shelf-front-color);border-radius:8px;list-style:none;padding:.5rem 0;margin:0;z-index:100;box-shadow:0 8px 16px #0003;max-height:250px;overflow-y:auto}.custom-select-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s,color .2s;font-size:1rem}.custom-select-option:hover{background-color:var(--accent-color);color:var(--primary-color)}.custom-select-option.selected{background-color:var(--primary-color);color:var(--text-light);font-weight:700}.placeholder-page{text-align:center;padding:5rem 1rem}.placeholder-page h1{font-size:2.5rem;color:var(--primary-color)}.placeholder-page p{font-size:1.2rem;margin-top:1rem}.teaching-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.teaching-card{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 5px 20px #00000014;border:1px solid #e8e8e8;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.teaching-card:hover{transform:translateY(-10px);box-shadow:0 12px 30px #0000001f}.teaching-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:var(--primary-color)}.teaching-icon{font-size:2.5rem;min-width:40px;text-align:center}.teaching-title{font-size:1.8rem;font-weight:700;margin:0}.teaching-description{font-size:1rem;color:#555;margin-bottom:2rem;flex-grow:1}.teaching-link-btn{background-color:var(--secondary-color);color:var(--text-light);text-decoration:none;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;transition:all .3s ease;align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem}.teaching-link-btn:hover{background-color:#c1481a;transform:scale(1.05);box-shadow:0 5px 15px #ac3a104d}.teaching-link-btn .fa-arrow-right{transition:transform .3s ease}.teaching-link-btn:hover .fa-arrow-right{transform:translate(5px)}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.media-card{background-color:#fff;border-radius:12px;box-shadow:0 5px 20px var(--shadow-color);border:1px solid #e8e8e8;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;display:flex;flex-direction:column}.media-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #0000001f}.media-card-thumbnail{position:relative;width:100%;padding-top:56.25%;background-color:#f0f0f0}.media-card-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.media-card:hover .media-card-thumbnail img{transform:scale(1.05)}.media-card-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:background-color .3s,transform .3s;pointer-events:none}.media-card:hover .media-card-play-icon{background-color:var(--secondary-color);transform:translate(-50%,-50%) scale(1.1)}.media-card-body{padding:1.25rem;flex-grow:1}.media-card-title{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin:0 0 .5rem}.media-card-description{font-size:.95rem;color:#555;line-height:1.5}.media-player-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.media-player-modal-content{position:relative;width:100%;max-width:960px;background-color:#000;border-radius:8px;box-shadow:0 10px 40px #00000080}.media-player-close-btn{position:absolute;top:-40px;right:0;background:transparent;border:none;color:#fff;font-size:2.5rem;font-weight:700;cursor:pointer;line-height:1;padding:0;transition:color .2s,transform .2s}.media-player-close-btn:hover{color:var(--accent-color);transform:scale(1.1)}.media-player-wrapper{position:relative;padding-top:56.25%;height:0;overflow:hidden;border-radius:8px}.media-player-wrapper iframe,.media-player-wrapper video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.tabs-container{margin-top:2rem;width:100%}.tab-list{display:flex;border-bottom:2px solid #ddd}.tab-btn{padding:.8rem 1.75rem;border:none;background-color:transparent;color:#555;font-family:Noto Sans TC,sans-serif;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;margin-bottom:-2px}.tab-btn:hover{color:var(--primary-color);background-color:#f5f5f5}.tab-btn.active{color:var(--primary-color);border-bottom:3px solid var(--primary-color)}.tab-content{padding-top:2rem}.language-selector-container{display:flex;justify-content:center;margin-bottom:2rem}.language-selector-tabs{display:flex;flex-wrap:wrap;gap:.5rem;background-color:#fff;padding:.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e0e0e0}.language-tab{padding:.75rem 1.5rem;border:none;background-color:transparent;color:#555;font-family:Noto Sans TC,sans-serif;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease}.language-tab:hover{background-color:#f0f0f0;color:var(--primary-color)}.language-tab.active{background-color:var(--primary-color);color:var(--text-light);box-shadow:0 2px 8px #00676340;transform:translateY(-2px)}.download-page-container .page-description strong{color:var(--secondary-color);font-weight:700}.download-credits{background-color:#fff;border-left:5px solid var(--primary-color);padding:1.5rem 2rem;margin:2rem auto;border-radius:8px;box-shadow:0 4px 15px #0000000f;max-width:900px}.credits-title{color:var(--primary-color);font-size:1.5rem;margin-bottom:1rem}.download-credits p{margin-bottom:.5rem;font-size:1rem;color:#444}.download-credits p strong{font-weight:700;color:#222;margin-right:.5em}.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.download-card{background-color:#fff;border-radius:12px;box-shadow:0 5px 20px var(--shadow-color);border:1px solid #e8e8e8;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.download-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001f}.download-card-header{background-color:#f7f9fa;padding:1rem 1.5rem;border-bottom:1px solid #e8e8e8}.download-item-title{font-size:1.3rem;font-weight:700;color:var(--primary-color);margin:0 0 .25rem}.download-item-producer{font-size:.9rem;color:#666;margin:0}.download-links{padding:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;flex-grow:1;align-content:flex-start}.download-btn{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;color:#fff;border:none;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 2px 5px #0000001a}.download-btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000026}.download-btn-word{background-color:#2b579a}.download-btn-word:hover{background-color:#1e3f72}.download-btn-excel{background-color:#1d6f42}.download-btn-excel:hover{background-color:#145230}.download-btn-pdf{background-color:#d93025}.download-btn-pdf:hover{background-color:#b0261c}.correction-link-container{margin-top:4rem;text-align:center;padding:2rem;background-color:#fff8e1;border-radius:12px;border:1px solid #ffecb3}.correction-link-btn{display:inline-flex;align-items:center;gap:.75rem;background-color:var(--accent-color);color:var(--primary-color);text-decoration:none;padding:.8rem 2rem;border-radius:50px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:2px solid var(--accent-color)}.correction-link-btn:hover{transform:translateY(-3px);box-shadow:0 7px 20px #00000026;background-color:#ffd033}.correction-link-container p{margin-top:1rem;color:#666;max-width:600px;margin-left:auto;margin-right:auto}.practice-page-container{max-width:900px}.practice-form{background-color:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 8px 25px #00000014;border:1px solid #e8e8e8;display:flex;flex-direction:column;gap:2rem}.practice-form-row{display:flex;flex-direction:column;gap:.5rem}.practice-form-row label{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.practice-select{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:Noto Sans TC,sans-serif;border:2px solid #ccc;border-radius:8px;background-color:#f9f9f9;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;transition:border-color .3s}.practice-select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.7}.practice-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #00676333}.practice-submit-container{text-align:center;margin-top:1rem}.practice-submit-btn{background-color:var(--secondary-color);color:var(--text-light);text-decoration:none;padding:.8rem 2.5rem;border-radius:50px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:none;font-size:1.1rem;cursor:pointer}.practice-submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 7px 20px #0003;background-color:#c1481a}.practice-submit-btn:disabled{background-color:#ccc;cursor:not-allowed;box-shadow:none}.app-footer{background-color:var(--primary-color);color:#e0e0e0;padding:3rem 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.footer-section h3{color:var(--text-light);margin-bottom:1rem;font-size:1.2rem;border-bottom:2px solid var(--accent-color);padding-bottom:.5rem;display:inline-block}.footer-section p{margin-bottom:.5rem;font-size:.95rem;line-height:1.5}.footer-section p strong{color:var(--text-light)}.footer-section a{color:inherit;text-decoration:none;transition:color .3s}.footer-section a:hover{color:var(--accent-color);text-decoration:underline}.footer-divider{border-top:1px solid #bbb;margin:2rem 0 .5rem}.footer-maintenance{text-align:center;font-size:1rem;color:var(--text-light);margin-top:.2rem;margin-bottom:0;padding:0;line-height:1.2}.footer-maintenance-text{font-weight:400;display:inline-block;margin-right:1rem}.footer-maintenance strong{font-weight:600;font-size:1.1rem}.footer-maintenance-text,.footer-maintenance strong{color:#e0e0e0b3}.footer-logo-khierc{height:42px;-o-object-fit:contain;object-fit:contain;margin-top:10px;margin-bottom:10px;border-radius:10px}.footer-logo{height:37px;-o-object-fit:contain;object-fit:contain;margin-top:10px;margin-bottom:10px;border-radius:10px}.quiz-page-container .page-description{margin-bottom:3rem}.quiz-controls{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:2.5rem}.quiz-type-selector{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.quiz-btn{background-color:#fff;color:var(--primary-color);border:2px solid var(--primary-color);padding:.75rem 1.5rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 5px #0000000d}.quiz-btn:hover{background-color:#e6f7f7;transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.quiz-btn.active{background-color:var(--primary-color);color:var(--text-light);border-color:var(--primary-color);box-shadow:0 4px 12px #0067634d;transform:translateY(-2px)}.quiz-zoom-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;background-color:#fff;padding:.5rem 1rem;border-radius:40px;border:1px solid var(--primary-color);box-shadow:0 2px 6px #00676326}.quiz-zoom-controls label{font-weight:600;font-size:1rem;color:var(--primary-color)}.quiz-zoom-btn{background-color:#fff;border:2px solid var(--primary-color);color:var(--primary-color);width:36px;height:36px;border-radius:50%;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.quiz-zoom-btn:hover{background-color:var(--primary-color);color:#fff;transform:scale(1.1)}.quiz-zoom-btn.reset{width:auto;padding:0 1rem;font-size:.9rem;font-weight:600;border-radius:20px}.quiz-zoom-display{font-size:1.05rem;font-weight:600;color:var(--primary-color);min-width:50px;text-align:center}.quiz-iframe-container{position:relative;width:100%;height:75vh;min-height:500px;background-color:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 8px 25px #0000001a;overflow:hidden}.quiz-iframe{width:100%;height:100%;border:none}.quiz-iframe-wrapper{width:100%;height:100%}.loader-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#ffffffe6;z-index:5;transition:opacity .3s ease}.loader{border:8px solid #f3f3f3;border-top:8px solid var(--primary-color);border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite;margin-bottom:1rem}.loader-container p{color:var(--primary-color);font-size:1.2rem;font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem}.hero-text h2{font-size:2.2rem}.hero-text p{font-size:1.1rem}.carousel-btn{font-size:2rem;width:40px;height:40px;left:1rem}.carousel-btn.next{right:1rem}.download-grid{grid-template-columns:1fr}.quiz-iframe-container{height:65vh}}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-black\/40:hover{background-color:#0006}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:opacity-40:disabled{opacity:.4}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:block{display:block}}@media (min-width: 768px){.md\:block{display:block}.md\:h-72{height:18rem}.md\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:justify-between{justify-content:space-between}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width: 1024px){.lg\:h-\[32rem\]{height:32rem}.lg\:gap-8{gap:2rem}}.line-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.line-modal-content{background:#fff;padding:2rem;border-radius:12px;text-align:center;position:relative;max-width:320px;width:90%;box-shadow:0 5px 15px #0000004d}.line-modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:2rem;color:#aaa;cursor:pointer;line-height:1}.line-modal-close:hover{color:#333}.line-modal-content h3{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.2rem}.line-modal-qr{display:block;margin:0 auto 1.5rem;max-width:200px;border:1px solid #eee;border-radius:4px}.line-modal-buttons{display:flex;flex-direction:column;gap:.75rem}.line-modal-btn{display:block;width:100%;padding:.75rem;border-radius:8px;border:none;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background-color .2s}.line-modal-btn.join{background-color:#00b900;color:#fff}.line-modal-btn.join:hover{background-color:#009d00}.line-modal-btn.copy{background-color:#f0f0f0;color:#333;border:1px solid #ddd}.line-modal-btn.copy:hover{background-color:#e0e0e0}
