/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#2e312b;--teal:#2c7a78;--blue:#315e8a;--yellow:#d49721;--orange:#c8672d}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(circle at 20% 10%,#fff7de 0,#0000 35%),linear-gradient(145deg,#d9c59c,#b99564);font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,sans-serif}button{font:inherit}.reader-shell{flex-direction:column;gap:14px;min-height:100vh;padding:18px clamp(14px,3vw,42px) 16px;display:flex}.topbar{color:#312b20;justify-content:space-between;align-items:center;gap:20px;width:min(1440px,100%);margin:auto;display:flex}.eyebrow{letter-spacing:.18em;color:#806236;font-size:.73rem;font-weight:800}.topbar h1{letter-spacing:.04em;margin:2px 0 0;font-family:Noto Serif TC,PMingLiU,serif;font-size:clamp(1.35rem,2.5vw,2.15rem)}.top-actions{flex-shrink:0;gap:9px;display:flex}.top-actions button,.book-nav button{color:#433820;cursor:pointer;background:#fffaebe6;border:1px solid #46351e2e;border-radius:999px;padding:10px 16px;transition:all .2s;box-shadow:0 4px 14px #3e2a121f}.top-actions button:hover,.book-nav button:hover:not(:disabled){background:#fffdf5;transform:translateY(-1px)}.voice-button.is-speaking{color:#fff;background:#2c7a78}.icon-button{width:44px;padding:8px!important;font-size:1.35rem!important}.book-stage{flex:1;place-items:center;width:min(1440px,100%);margin:auto;display:grid}.spread{aspect-ratio:16/9;isolation:isolate;background:#f7efd8;border-radius:10px;width:100%;position:relative;overflow:hidden;box-shadow:0 22px 60px #301f0e47,inset 0 2px #ffffffbf}.scene-image{object-fit:cover;width:100%;height:100%;animation:.45s both pageIn;position:absolute;inset:0}.gutter{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#3e2c181f,#ffffff1f,#0000);width:3.2%;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.story-card{z-index:3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffbebeb;border:1px solid #70542a29;border-radius:24px;width:min(39%,540px);max-height:88%;padding:clamp(17px,2.6vw,34px);position:absolute;top:5%;left:3.2%;overflow:auto;box-shadow:0 12px 34px #35230f2e}.chapter{color:#aa7622;letter-spacing:.16em;font-size:.74rem;font-weight:900}.story-card h2{color:#274f55;margin:7px 0 13px;font-family:Noto Serif TC,PMingLiU,serif;font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1.15}.narration{margin:0 0 13px;font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.8}.dialogues{gap:8px;display:grid}.dialogue{background:#ffffffad;border-left:4px solid #8b7655;border-radius:13px;grid-template-columns:auto 1fr;gap:9px;margin:0;padding:9px 11px;font-size:clamp(.8rem,1vw,.96rem);line-height:1.55;display:grid}.dialogue strong{white-space:nowrap}.dialogue.teal{border-color:var(--teal)}.dialogue.blue{border-color:var(--blue)}.dialogue.yellow{border-color:var(--yellow)}.dialogue.orange{border-color:var(--orange)}.dialogue.all{border-color:#8d6997}.dialogue.history{border-color:#756145}.fact{background:#e8f2e9;border-radius:13px;margin-top:11px;padding:10px 12px;font-size:.82rem;line-height:1.55}.fact span{color:#35704a;letter-spacing:.12em;margin-bottom:3px;font-size:.68rem;font-weight:900;display:block}.book-nav{grid-template-columns:130px 1fr 130px;align-items:center;gap:18px;width:min(820px,100%);margin:0 auto;display:grid}.book-nav button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.progress{color:#4d3e28;grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:.8rem;font-weight:800;display:grid}.progress>div{background:#4a351c26;border-radius:99px;height:6px;overflow:hidden}.progress i{border-radius:inherit;background:linear-gradient(90deg,#2c7a78,#d49721);height:100%;transition:width .35s;display:block}.hint{text-align:center;color:#372a18ad;margin:0;font-size:.72rem}@keyframes pageIn{0%{opacity:.25;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}@media (width<=850px){.reader-shell{gap:10px;padding:12px}.topbar{align-items:flex-start}.eyebrow{display:none}.topbar h1{font-size:1.25rem}.voice-button{font-size:.82rem}.spread{aspect-ratio:auto;background:#f8f0dc;flex-direction:column;min-height:calc(100vh - 180px);display:flex}.scene-image{aspect-ratio:16/9;object-fit:cover;height:auto;position:relative}.gutter{display:none}.story-card{width:100%;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaf0;border-radius:0;padding:20px;position:relative;top:auto;left:auto;overflow:visible}.book-nav{grid-template-columns:1fr auto 1fr;gap:8px}.book-nav button{padding:9px 12px;font-size:.82rem}.progress>div,.hint{display:none}}@media (width<=520px){.topbar h1{max-width:180px}.icon-button{display:none}.story-card h2{font-size:1.65rem}.dialogue{grid-template-columns:1fr}.progress{display:block}.progress span{white-space:nowrap}.book-nav button{border-radius:15px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.library-shell{background:radial-gradient(circle at 90% 5%,#f8ddf4,#0000 26%),radial-gradient(circle at 10% 12%,#d9f5ee,#0000 28%),#fffaf0;min-height:100vh;padding:clamp(22px,5vw,70px)}.library-hero{justify-content:space-between;align-items:flex-end;gap:30px;width:min(1160px,100%);margin:auto;display:flex}.library-hero>div>span{color:#2c7a78;letter-spacing:.08em;font-weight:900}.library-hero h1{color:#3f382c;margin:.1em 0;font-family:Noto Serif TC,PMingLiU,serif;font-size:clamp(2.1rem,5vw,4.2rem)}.library-hero p{color:#6c604d;margin:0;font-size:1.05rem}.category-picker{color:#564b3a;gap:6px;min-width:210px;font-weight:800;display:grid}.category-picker select{font:inherit;color:#345f62;background:#fff;border:1px solid #6e5b3e30;border-radius:14px;padding:12px 15px;box-shadow:0 5px 18px #50371413}.category-chips{flex-wrap:wrap;gap:9px;width:min(1160px,100%);margin:30px auto 22px;display:flex}.category-chips button{color:#5e5548;cursor:pointer;background:#eee8dc;border:0;border-radius:99px;padding:9px 16px;font-weight:800}.category-chips button.active{color:#fff;background:#2c7a78}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:min(1160px,100%);margin:auto;display:grid}.book-card{color:inherit;background:#fff;border:1px solid #6c52241c;border-radius:22px;flex-direction:column;text-decoration:none;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 12px 30px #5741261c}.book-card.ready:hover{transform:translateY(-5px);box-shadow:0 18px 38px #5741262d}.book-card img,.placeholder{aspect-ratio:16/10;object-fit:cover;width:100%}.placeholder{color:#786f64;background:linear-gradient(135deg,#dff5ee,#fff0ad,#f4ddef);align-content:center;place-items:center;gap:10px;display:grid}.placeholder i{font-size:4rem;font-style:normal}.placeholder span{letter-spacing:.18em;font-size:.72rem;font-weight:900}.book-info{padding:18px 19px 21px}.book-info>span{color:#a16c18;letter-spacing:.1em;font-size:.78rem;font-weight:900}.book-info h2{color:#315b5f;margin:7px 0 17px;font-family:Noto Serif TC,PMingLiU,serif;font-size:1.35rem;line-height:1.35}.book-info b{color:#2c7a78;font-size:.85rem}.coming .book-info b{color:#9a8c77}.library-note{text-align:center;color:#7d715f;margin:34px auto 0}.library-hero,.category-chips,.book-grid{animation:.45s both pageIn}@media (width<=850px){.library-shell{padding:24px 16px 40px}.library-hero{align-items:start;display:grid}.library-hero h1{font-size:2.45rem}.category-picker{width:100%}.category-chips{margin:20px auto 18px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media (width<=560px){.library-hero p{font-size:.92rem}.category-chips{display:none}.book-grid{grid-template-columns:1fr}.book-card{border-radius:16px;grid-template-columns:42% 58%;display:grid}.book-card img,.placeholder{aspect-ratio:auto;height:100%;min-height:178px}.placeholder i{font-size:2.8rem}.book-info{padding:15px}.book-info h2{margin:6px 0 12px;font-size:1.13rem}.book-info b{font-size:.76rem}}.back-link{color:#806236;letter-spacing:.08em;margin-bottom:3px;font-size:.75rem;font-weight:900;text-decoration:none;display:inline-block}.vitamin-c-theme{background:radial-gradient(circle at 15% 8%,#fff0bd,#0000 34%),linear-gradient(145deg,#e3c391,#bd7a3d)}.vitamin-c-theme .voice-button.is-speaking{background:#c86d2b}.vitamin-c-theme .story-card h2{color:#8a4b20}.vitamin-c-theme .progress i{background:linear-gradient(90deg,#e49b2f,#d45e2c)}.vitamin-a-theme{background:radial-gradient(circle at 14% 8%,#fff1ae,#0000 34%),linear-gradient(145deg,#d8be6d,#6c8a55)}.vitamin-a-theme .voice-button.is-speaking{background:#708a38}.vitamin-a-theme .story-card h2{color:#5d712d}.vitamin-a-theme .progress i{background:linear-gradient(90deg,#e8a630,#6f913e)}.lutein-theme{background:radial-gradient(circle at 14% 8%,#fff4a8,#0000 34%),linear-gradient(145deg,#7fa45b,#d4a53c)}.lutein-theme .voice-button.is-speaking{background:#7b8f2d}.lutein-theme .story-card h2{color:#68751f}.lutein-theme .progress i{background:linear-gradient(90deg,#8eaa43,#e0b12f)}.vitamin-b2-theme{background:radial-gradient(circle at 14% 8%,#ecff9f,#0000 34%),linear-gradient(145deg,#87a74d,#e7c748)}.vitamin-b2-theme .voice-button.is-speaking{background:#6f8f35}.vitamin-b2-theme .story-card h2{color:#5f7a2e}.vitamin-b2-theme .progress i{background:linear-gradient(90deg,#b6d94f,#f1c62e)}.vitamin-d-theme{background:radial-gradient(circle at 14% 8%,#fff4a3,#0000 34%),linear-gradient(145deg,#67a5bf,#e5a941)}.vitamin-d-theme .voice-button.is-speaking{background:#d0832d}.vitamin-d-theme .story-card h2{color:#3c6e83}.vitamin-d-theme .progress i{background:linear-gradient(90deg,#5aa5c5,#f0b83f)}.vitamin-k-theme{background:radial-gradient(circle at 14% 8%,#e7f4b2,#0000 34%),linear-gradient(145deg,#6f9d69,#d8aa55)}.vitamin-k-theme .voice-button.is-speaking{background:#587b50}.vitamin-k-theme .story-card h2{color:#476943}.vitamin-k-theme .progress i{background:linear-gradient(90deg,#6f9d69,#d8aa55)}.calorie-theme{background:radial-gradient(circle at 14% 8%,#ffedb0,#0000 34%),linear-gradient(145deg,#9b6740,#d5a94e)}.calorie-theme .voice-button.is-speaking{background:#9b6740}.calorie-theme .story-card h2{color:#77502f}.calorie-theme .progress i{background:linear-gradient(90deg,#9b6740,#e2b54d)}.accessory-theme{background:radial-gradient(circle at 14% 8%,#eedcff,#0000 34%),linear-gradient(145deg,#79639a,#d0a75a)}.accessory-theme .voice-button.is-speaking{background:#70578f}.accessory-theme .story-card h2{color:#654c83}.accessory-theme .progress i{background:linear-gradient(90deg,#79639a,#d0a75a)}
