/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "PingFang SC", "Microsoft YaHei", sans-serif;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){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;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:where(:not(iframe)){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{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.w-full{width:100%}.resize{resize:both}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.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,)}}:root{font-family:var(--font-sans);color:#3e4439;font-synthesis:none;background:#e8e2d6}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button,input,select{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #66775b}button{border:0}button:disabled{opacity:.3;cursor:default}svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}button{color:inherit;background:0 0}a{color:inherit;text-decoration:none}#app,#scene{position:fixed;inset:0}#scene{touch-action:none;cursor:grab}#scene:active{cursor:grabbing}canvas{display:block}.vignette{pointer-events:none;z-index:1;background:linear-gradient(#f1ede5d9 0%,#f1ede566 13%,#0000 32% 78%,#f1ede5c9 100%);position:absolute;inset:0}.header{z-index:5;gap:20px;width:100%;height:106px;padding:0 4.2%;position:absolute;top:0;left:0}.brand-mark{border:1px solid #52604b77;border-radius:50%;place-items:center;width:39px;height:39px;display:grid;transform:rotate(-8deg)}.brand-mark svg{stroke-width:1.15px;width:23px;height:23px}.brand-name{letter-spacing:5px;align-items:center;gap:16px;font-family:Songti SC,STSong,serif;font-size:25px;display:flex}.brand-en{letter-spacing:3px;border-left:1px solid #73786955;padding-left:17px;font-family:Arial,sans-serif;font-size:10px;font-weight:400}.filters{backdrop-filter:blur(14px);background:#fbf9f45c;border:1px solid #fff8;border-radius:40px;padding:5px;font-size:12px}.filter{color:#777c70;border-radius:30px;padding:10px 17px;transition:background .25s,color .25s}.filter.active{color:#faf8ee;background:#495642;box-shadow:0 2px 7px #28371e14}.filter span{opacity:.6;margin-left:7px;font-size:9px}.icon-btn{border-radius:50%;place-items:center;width:35px;height:35px;transition:background .2s;display:inline-grid;position:relative}.icon-btn:hover{background:#4250380c}.icon-btn svg{width:18px;height:18px}.sound-slash{background:currentColor;width:22px;height:1px;position:absolute;transform:rotate(-45deg)}.sound-off svg{opacity:.55}#sound:not(.sound-off) .sound-slash{display:none}.header-divider{background:#6e74632b;width:1px;height:18px}.add-btn{white-space:nowrap;padding:8px 0 8px 8px;font-size:12px}.add-btn svg{width:16px;height:16px}.intro{z-index:2;transition:opacity .5s,transform .5s;position:absolute;top:18.5%;left:5.4%}.eyebrow{letter-spacing:2.1px;font-family:Arial,sans-serif;font-size:8px;font-weight:500}.tiny-sun{color:#8b8b67;margin-right:4px;font-size:19px;line-height:1}.intro h1{letter-spacing:5px;margin:22px 0 16px;font-family:Songti SC,STSong,Noto Serif SC,serif;font-size:clamp(30px,3.3vw,53px);font-weight:400;line-height:1.55}.title-dot{letter-spacing:0;color:#8f8d6f}.intro>p{letter-spacing:2px;color:#7c8174;margin:0;font-size:11px}.intro-rule{background:#89917b70;width:29px;height:1px;margin:29px 0 17px}.intro-foot{letter-spacing:1px;color:#8b8f82;font-size:9px}.desk-footer{z-index:3;gap:16px;position:absolute;bottom:37px;left:4.3%;right:4.3%}.desk-caption{letter-spacing:.8px;color:#656e5a;font-size:10px}.status-dot{background:#758266;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #7381610d}.caption-separator{opacity:.3;margin:0 4px}.desk-caption>p{letter-spacing:1px;color:#929487;margin:12px 0 0;font-size:9px}.desk-tools{position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.catalog-btn,.zoom-tools{backdrop-filter:blur(16px);background:#fcfaf4d9;border:1px solid #ffffffe0;border-radius:8px;height:43px;box-shadow:0 4px 20px #4f4d3410}.catalog-btn{letter-spacing:1px;white-space:nowrap;padding:0 15px;font-size:10px}.catalog-btn svg{width:13px;height:13px}.zoom-tools{padding:0 5px}.zoom-tools button{border-radius:5px;place-items:center;width:33px;height:33px;display:grid}.zoom-tools button:hover{background:#6673570e}.zoom-tools svg{width:14px;height:14px}.zoom-tools>span:not(.tool-divider){text-align:center;font-variant-numeric:tabular-nums;width:40px;font-family:Arial,sans-serif;font-size:10px}.tool-divider{background:#8c937d30;width:1px;height:16px;margin:0 5px}.gesture-hint{letter-spacing:.7px;color:#7b806e;margin:0;font-size:9px}.gesture-hint span{margin-right:7px;font-size:17px}.gesture-hint i{opacity:.5;margin:0 8px;font-style:normal}.hover-label{z-index:8;letter-spacing:1px;pointer-events:none;opacity:0;background:#fcfaf0ef;border:1px solid #fff9;border-radius:5px;padding:9px 14px;font-size:11px;transition:opacity .2s;position:fixed;transform:translate(-50%,12px);box-shadow:0 3px 18px #443d2710}.hover-label small{letter-spacing:1px;color:#8b8c7e;margin-left:12px;font:8px Arial,sans-serif}.loading{z-index:20;letter-spacing:2px;background:#ede8de;justify-content:center;align-items:center;gap:14px;font-size:11px;transition:opacity .6s;display:flex;position:absolute;inset:0}.loading-book{border:1px solid #6e7a5c;border-left-width:4px;width:19px;height:25px;animation:1.8s ease-in-out infinite breathe;transform:rotate(-12deg)}.loading #load-progress{opacity:.5;margin-left:10px;font-family:Arial,sans-serif;font-size:9px}@keyframes breathe{50%{transform:rotate(8deg)translateY(-5px)}}.reader{z-index:4;pointer-events:none;position:absolute;inset:0}.reader button{pointer-events:auto}.reader-heading{align-items:center;gap:25px;display:flex;position:absolute;top:105px;left:5%}.back-btn{color:#686e5f;font-size:11px}.back-btn svg{width:15px;height:15px}.reader-divider{background:#82876e3b;width:1px;height:28px}.reader-heading h2{letter-spacing:3px;margin:0;font-family:Songti SC,serif;font-size:24px;font-weight:400}.reader-heading p{letter-spacing:1.5px;color:#858b7a;margin:8px 0 0;font-size:8px}.reader-top-actions{gap:15px;display:flex;position:absolute;top:103px;right:4.8%}.reader-navigation{backdrop-filter:blur(15px);background:#fbf9f1e6;border:1px solid #fffc;border-radius:30px;padding:5px 8px;font-family:Arial,sans-serif;font-size:11px;position:absolute;bottom:55px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #564e3510}.reader-navigation button{border-radius:50%;place-items:center;width:35px;height:35px;transition:background .2s;display:grid}.reader-navigation button:hover:not(:disabled){background:#60744c12}.reader-navigation svg{width:16px;height:16px}.reader-navigation>div{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:1px;min-width:96px}.page-of{color:#9ba08f;font-size:9px}.reader-hint{letter-spacing:1px;color:#808570;white-space:nowrap;font-size:9px;position:absolute;bottom:19px;left:50%;transform:translate(-50%)}.reader-hint span{opacity:.5;margin:0 12px}.page-captions{color:#737b66;letter-spacing:1px;text-align:center;justify-content:space-around;gap:70px;width:min(780px,85vw);font-family:Songti SC,serif;font-size:12px;display:flex;position:absolute;bottom:115px;left:50%;transform:translate(-50%)}.page-captions span{width:50%}.video-controls{pointer-events:auto;white-space:nowrap;background:#fcf9f0e8;border:1px solid #fff9;border-radius:30px;align-items:center;gap:18px;padding:9px 15px;font-size:10px;display:flex;position:absolute;bottom:144px;left:50%;transform:translate(-50%);box-shadow:0 3px 20px #3a382c12}.video-controls svg{width:12px;height:12px}.video-controls>button+button{color:#8d9281;border-left:1px solid #8884;padding-left:14px}.is-reading .intro,.is-reading #filters,.is-reading #desk-footer{opacity:0;pointer-events:none}.is-reading .intro{transform:translateY(-8px)}.is-reading .header-actions{visibility:hidden}.is-reading .vignette{background:linear-gradient(#f1ede5b3,#0000 30% 70%,#f1ede5cf)}.catalog{z-index:10;backdrop-filter:blur(25px);background:#f9f7f0f5;border:1px solid #fff;border-radius:12px;flex-direction:column;width:345px;padding:27px 23px;animation:.25s panel-in;display:flex;position:absolute;top:100px;bottom:105px;right:30px;box-shadow:0 15px 70px #3d382528}.panel-heading h2{letter-spacing:3px;margin:10px 0 19px;font-family:Songti SC,serif;font-size:25px;font-weight:400}.panel-heading .eyebrow{color:#89917d;font-size:7px}#catalog-list{flex:1;padding-right:4px;overflow:auto}.catalog-item{text-align:left;border-top:1px solid #6c735914;align-items:center;gap:16px;width:100%;padding:14px 0;display:flex}.catalog-cover{object-fit:cover;border-radius:1px;flex-shrink:0;width:39px;height:51px;box-shadow:2px 3px 7px #0002}.catalog-item-title{letter-spacing:1px;font-size:12px}.catalog-item-subtitle{color:#969b8b;letter-spacing:.6px;margin-top:7px;font-size:8px}.catalog-item-arrow{color:#8d947e;margin-left:auto;font-size:14px}.catalog-note{letter-spacing:1px;color:#a0a38f;text-align:center;margin:21px 0 0;font-family:Songti SC,serif;font-size:10px}@keyframes panel-in{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:translate(0)}}dialog{color:#48503e;background:#f7f5ed;border:1px solid #fff;border-radius:13px;width:min(460px,100vw - 32px);padding:42px;box-shadow:0 20px 100px #24231b25}dialog::backdrop{backdrop-filter:blur(6px);background:#373d2f38}dialog h2{letter-spacing:2px;margin:18px 0 14px;font-family:Songti SC,serif;font-size:27px;font-weight:400}.dialog-close{position:absolute;top:15px;right:15px}.dialog-description{letter-spacing:.5px;color:#929482;margin-bottom:25px;font-size:11px;line-height:1.8}.help-rows{margin:25px 0;font-size:11px}.help-rows p{border-bottom:1px solid #71795e18;justify-content:space-between;gap:16px;margin:0;padding:12px 0;display:flex}.help-rows p span+span{color:#929582;font-size:10px}.primary-btn{color:#f6f4e8;letter-spacing:1px;background:#46573e;border-radius:5px;padding:14px 23px;font-size:12px}.primary-btn:hover{background:#35472d}.local-note{color:#9c9e8e;text-align:center;margin:17px 0 0;font-size:9px;line-height:1.8}.field-label{letter-spacing:1px;margin:16px 0 8px;font-size:10px;display:block}.field-label span{color:#939886}input:not([type=file]),select{color:#5b634d;background:#fff8;border:1px solid #8f977b35;border-radius:5px;width:100%;height:42px;padding:0 12px;font-size:11px}input::placeholder{color:#b0b19f}.form-row{gap:16px;display:flex}.form-row>div{flex:1}.form-row input[type=color]{width:100%;padding:5px}.upload-area{cursor:pointer;background:#eaecdd45;border:1px dashed #8d97745e;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:9px;margin-top:21px;padding:25px 10px;font-size:11px;display:flex}.upload-area:hover{background:#e4e8d780}.upload-area small{color:#969c85;font-size:8px}.upload-area svg{color:#818f6b;margin-bottom:5px}#create-submit{margin-top:24px}.toast{z-index:40;text-align:center;background:#f9f7eff5;border:1px solid #fff7;border-radius:8px;max-width:85vw;padding:14px 22px;font-size:11px;position:absolute;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 4px 30px #34351d18}.webgl-fallback{z-index:3;text-align:center;background:#eeeadf;border-radius:12px;padding:30px;position:absolute;inset:30% 20%}.hidden{display:none!important}@media (width>=1700px){.intro{top:21%;left:6%}.header{height:125px}.desk-footer{bottom:44px}}@media (width<=1100px){.brand-en{display:none}.header{height:90px;padding:0 4%}.filters .filter{padding:9px 13px}.intro{top:17%;left:5%}.intro .eyebrow{letter-spacing:1px;font-size:6px}.intro h1{font-size:36px}.intro>p{font-size:9px}.intro-foot{font-size:8px}.gesture-hint{display:none}.desk-tools{position:static;transform:none}.desk-footer{align-items:center}.header-actions{gap:5px}.reader-heading,.reader-top-actions{top:105px}}@media (width<=640px){.header{align-items:center;height:80px;padding:0 21px}.brand-name{font-size:22px}.brand-mark{width:32px;height:32px}.brand-mark svg{width:19px;height:19px}.brand{gap:9px}.brand-name{letter-spacing:3px}.header-actions .header-divider,.header-actions #sound,.header-actions #help{display:none}.add-btn{font-size:10px}.filters{background:#faf7efb8;width:max-content;position:fixed;top:95px;left:50%;transform:translate(-50%)}.filter{font-size:10px}.filter span{font-size:8px}.intro{top:165px;left:27px}.intro .eyebrow{letter-spacing:1.2px;font-size:6px}.intro h1{letter-spacing:4px;margin:16px 0 10px;font-size:33px;line-height:1.5}.intro>p{letter-spacing:1px;font-size:8px}.intro-rule,.intro-foot{display:none}.tiny-sun{font-size:15px}.desk-footer{bottom:28px;left:20px;right:20px}.desk-caption>p{display:none}.desk-caption{font-size:8px}.desk-caption .caption-separator{display:none}.desk-caption .flex{flex-wrap:wrap;gap:5px;max-width:110px}.desk-caption #album-total{opacity:.65;width:100%;margin-left:10px;font-size:7px;display:block}.desk-tools{gap:7px}.catalog-btn{justify-content:center;gap:0;width:39px;height:39px;padding:0;font-size:0}.catalog-btn svg{width:15px;height:15px}.zoom-tools{height:39px}.zoom-tools button{width:28px;height:29px}.zoom-tools>span:not(.tool-divider){width:31px;font-size:9px}.tool-divider{margin:0 3px}.reader-heading{gap:15px;top:95px;left:24px}.reader-heading h2{font-size:20px}.reader-heading p{font-size:7px}.back-btn{gap:0;font-size:0}.back-btn svg{width:18px;height:18px}.reader-top-actions{gap:3px;top:95px;right:18px}.reader-top-actions #fullscreen{display:none}.reader-navigation{bottom:62px}.reader-hint{letter-spacing:.3px;font-size:7px;bottom:25px}.reader-hint span{margin:0 7px}.page-captions{gap:20px;width:85vw;font-size:10px;line-height:1.7;bottom:138px}.video-controls{gap:10px;padding:9px 12px;font-size:9px;bottom:197px}.catalog{width:auto;padding:24px;inset:90px 15px 88px}.is-reading .header{height:75px}.is-reading #filters{display:none}dialog{padding:35px 27px}.help-rows{font-size:10px}.help-rows p span+span{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.flat-reader{background:#f5f0e4;justify-content:center;align-items:center;gap:20px;padding:20px;display:flex;position:absolute;inset:23% 8% 26%;box-shadow:0 15px 45px #554b3420}.flat-reader>img,.flat-reader>video{object-fit:contain;width:50%;max-width:48%;height:100%;max-height:100%}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
