:root{--u:calc(min(100vw,750px) / 750);--mint:#d2ffa7;--line:#d5ffe63d;--muted:#e0f6e9;color:#f2fff7;background:#00201d;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-synthesis:none}
/* TDesign 0.3.1 icon font, the same asset used by the mini-program. */
@font-face{font-family:mini-icons;src:url('/web/tdesign.woff') format('woff');font-display:block}.mini-icon{font-family:mini-icons!important;font-style:normal;font-weight:400!important;line-height:1;display:inline-block;vertical-align:middle}.share-button .mini-icon{font-size:calc(25 * var(--u))}.view-count .mini-icon{font-size:calc(24 * var(--u))}
body #app{background:transparent!important;color:#f2fff7}
.scene{z-index:0!important}.shell{position:relative;z-index:1}.home-page .work-cover{box-shadow:none;font-weight:400;text-shadow:none}.home-page .status-badge{text-shadow:none}.home-page .work-cover-locked{background:linear-gradient(145deg,#e8e1dc,#f1ebe6 58%,#e3dbd7)!important}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0;font-size:inherit}button,input,select,textarea{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;margin:0;padding:0;background:transparent;line-height:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}img{object-fit:cover}input{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #c4ff8a;outline-offset:3px}[hidden]{display:none!important}
.scene{position:fixed;inset:0;left:50%;transform:translateX(-50%);width:min(100vw,750px);z-index:-1;pointer-events:none;background:linear-gradient(180deg,#001f1c33,#001f1c66 55%,#001f1ca6),url('/static/login/dragon-scene.jpg') center/cover no-repeat}
.shell{max-width:750px;margin:auto;min-height:100dvh}.topbar{position:sticky;top:0;height:calc(88 * var(--u));display:flex;align-items:center;justify-content:center;background:#00251fe8;color:#f3fff8;z-index:50;font-size:calc(28 * var(--u));font-weight:600;border-bottom:1px solid #d5ffe620}.nav-back{position:absolute;left:calc(18 * var(--u));font-size:calc(54 * var(--u));width:calc(60 * var(--u));height:100%;text-align:left}main{min-height:calc(100dvh - 88 * var(--u));padding:0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:40;display:flex;width:min(100vw,750px);padding-bottom:env(safe-area-inset-bottom);background:transparent;border-top:1px solid #d5ffe63d;text-shadow:0 1px 3px #001b18,0 0 6px #001b18}.bottom-nav a{display:flex;align-items:center;justify-content:center;flex:1;height:calc(96 * var(--u));font-size:calc(28 * var(--u));font-weight:600;color:#f3fff8}.bottom-nav a+a{border-left:1px solid #d5ffe620}.bottom-nav a.active{color:#ff6568}
.home-page .page-title{margin:0;line-height:1.4}.home-page .page-heading{margin:0}.home-page .guest-copy{text-align:left}.home-page .guest-icon{font-size:calc(34 * var(--u))}.home-page .filter-panel input{width:100%;padding:0;border:0;background:transparent;outline:none}.home-page .publisher-trigger{width:100%;text-align:left;font-weight:400}.home-page .filter-toggle{cursor:pointer;display:block}.home-page .filter-toggle-input{margin:0;cursor:pointer}.home-page .search-box input::placeholder{color:#f1fff6;opacity:1}.home-page .sort-tab{padding:0;cursor:pointer}.home-page .sort-tabs{margin-top:0}.home-page .picker-content{width:100%;text-align:left;font-weight:400}.home-page .date-clear{display:grid;place-items:center;font-size:calc(36 * var(--u));line-height:1;color:#deffe8;box-shadow:none}.home-page .cover-image{display:block;object-fit:cover}.home-page .work-cover{display:block;width:100%;text-align:left}.home-page .work-cover-locked{background:transparent}.home-page .work-info .work-title{cursor:pointer}.home-page .share-button{width:100%}.home-page .cart-add-button{width:100%}.home-page .creator-card{width:100%;text-align:left}.home-page .creator-avatar{box-sizing:content-box}.home-page .creator-info{display:block}.home-page .creator-name,.home-page .creator-description,.home-page .creator-meta{display:block}.home-page .creator-list{margin:0}.home-page .publisher-menu{z-index:102}.publisher-options{height:calc(360 * var(--u));overflow-y:auto;overscroll-behavior:contain}.publisher-option{display:block;width:100%}.publisher-menu-dismiss{position:fixed;inset:0;z-index:100;background:transparent}
dialog{color:#f3fff8;border:1px solid #d1ffe499;border-radius:calc(30 * var(--u));background:transparent;backdrop-filter:blur(22px);box-shadow:0 9px 28px #00161280;padding:calc(54 * var(--u)) calc(52 * var(--u));width:calc(574 * var(--u));max-width:calc(100vw - 64 * var(--u));max-height:90dvh;text-shadow:0 1px 3px #001b18;overflow:auto}dialog::backdrop{background:#00171355}dialog h2{font-size:calc(32 * var(--u));line-height:1.5;font-weight:600}dialog p{font-size:calc(28 * var(--u));line-height:1.5;margin-top:calc(28 * var(--u));color:#e0f6e9}.modal-close{position:absolute;right:12px;top:8px;font-size:25px}.dialog-actions{display:flex;gap:calc(28 * var(--u));margin-top:calc(52 * var(--u))}.dialog-actions button{flex:1;border-radius:calc(16 * var(--u));height:calc(88 * var(--u));font-size:calc(30 * var(--u));font-weight:600;box-shadow:inset 0 0 0 1px #d5ffe666}.dialog-actions .primary{color:#ccffa5;box-shadow:inset 0 0 0 1px #b1f98d}.viewer-image{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain}.viewer-actions{display:flex;gap:12px;justify-content:center;margin-top:18px}.viewer-actions button{padding:8px 12px;border:1px solid var(--line);border-radius:8px}dialog input:not([type=checkbox]){width:100%;margin-top:18px;padding:12px;background:transparent;border:1px solid var(--line);border-radius:8px}.modal-login{text-align:center}.modal-login .modal-close{display:none}
dialog.date-dialog{margin:0;padding:0;overflow:hidden;max-height:90dvh;width:calc(700 * var(--u));max-width:calc(100vw - 48 * var(--u));border-radius:calc(16 * var(--u));background:transparent}.date-dialog::backdrop{background:transparent}.date-dialog .date-scroll-column{overflow-y:auto;scrollbar-width:none;scroll-snap-type:y mandatory;touch-action:pan-y;overscroll-behavior:contain;scroll-behavior:auto}.date-scroll-column::-webkit-scrollbar{display:none}.date-dialog .date-wheel-item{scroll-snap-align:center;flex-shrink:0;padding:0;border:0;border-radius:0;width:100%;background:transparent;box-shadow:none;cursor:pointer}.date-wheel-spacer{pointer-events:none}.date-dialog-actions .date-confirm,.date-dialog-actions .date-confirm:hover,.date-dialog-actions .date-confirm:active{background:transparent!important;color:#ceffa2!important;box-shadow:inset 0 0 0 calc(2 * var(--u)) #b1f98d!important;opacity:1!important}.date-wheel-highlight{border-radius:calc(6 * var(--u))}.date-dialog-heading{user-select:none}.date-selection-row{font-variant-numeric:tabular-nums}html.overlay-open{overflow:hidden;overscroll-behavior:none}
.my-page .profile-card{margin-bottom:0}.profile-avatar-wrap{position:relative}.profile-avatar-letter{display:flex!important}.my-page .profile-role{display:inline-block}.my-page .profile-menu-row{width:100%;text-align:left}.profile-edit{cursor:pointer}.my-page .guest-profile-card{cursor:pointer}.my-page .guest-avatar{color:#bbb}.my-page .profile-points strong{color:#d2ffa7;margin-left:calc(12 * var(--u))}.my-page .profile-logout{border:0}.guest-profile-description{white-space:normal!important}
.bookings-page .booking-card{display:block;cursor:pointer}.booking-content{color:#f4fff8}.booking-info,.booking-title,.booking-meta,.booking-detail-link{display:block}.bookings-page .booking-sections button{height:calc(76 * var(--u))}.booking-empty button{display:block;margin:auto;box-shadow:none!important;font-weight:400}.work-detail-page .work-gallery{margin:0}.work-detail-page .gallery-item{padding:0;aspect-ratio:1;height:auto;box-shadow:none}.work-detail-page .gallery-image{position:static;display:block;width:100%;height:100%;object-fit:cover}.work-detail-page .detail-panel{box-shadow:inset 0 0 0 1px #d5ffe63d}.work-detail-page .detail-title{margin:0}.work-detail-page .detail-creator img{width:calc(60 * var(--u));height:calc(60 * var(--u));border-radius:50%}.work-detail-page .reserve-button{width:100%;min-height:calc(78 * var(--u));line-height:1.5}.work-detail-page .detail-row{margin:0}.work-detail-page .summary-title{margin:0}
.web-login .login-page{min-height:calc(100dvh - 88 * var(--u))}.login-page .brand-top{display:flex}.login-page .brand-symbol img{position:absolute;width:630%;max-width:none;left:-212%;top:-170%;height:auto}.login-page .brand-headline>span{display:block}.login-page .brand-headline em{color:#a8ff3f}.login-page .login-card{position:relative}.login-page .card-eyebrow span:first-child{font-size:calc(36 * var(--u));color:#b7ff4a}.login-page .field{display:block;margin-top:calc(26 * var(--u))}.login-page .invite-input{display:block;width:100%;background:transparent}.login-page .invite-input::placeholder{color:#c7e2d1;letter-spacing:0}.login-page .agreement-row{display:flex;align-items:flex-start;gap:calc(10 * var(--u));margin:calc(30 * var(--u)) 0 calc(24 * var(--u));font-size:calc(22 * var(--u));line-height:1.7}.login-page .agreement-row input{flex-shrink:0;margin:4px 0 0;width:calc(36 * var(--u));height:calc(36 * var(--u));accent-color:#83e83d}.login-page .privacy-link{display:inline-block;white-space:nowrap;color:#b1ef82}.login-page .wechat-button,.login-page .guest-button{width:100%;padding:0;min-height:calc(88 * var(--u));line-height:1.5}.login-page .login-note{display:flex;text-align:center}.login-page .page-footer{display:flex}.login-page .page-footer i{width:calc(36 * var(--u));height:1px;background:#88ce9f66}.login-error,.error{color:#ffc4be;font-size:calc(23 * var(--u));line-height:1.6}.login-page .browser-note{font-size:calc(20 * var(--u));line-height:1.7;color:#c7e2d1;margin-top:calc(20 * var(--u))}
.policy-page .policy-tab{display:block;text-align:center}.policy-page .policy-content{margin:0}.policy-page .policy-title{margin:0}.policy-page .policy-heading{display:block}.policy-page .policy-text{margin:calc(18 * var(--u)) 0 0}.cart-content{padding:calc(24 * var(--u))}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-content h2{font-size:calc(30 * var(--u));font-weight:600}.muted,.hint,.subtitle{color:var(--muted);line-height:1.8;font-size:calc(23 * var(--u))}.cart-card{display:flex;align-items:center;gap:calc(22 * var(--u));border:1px solid var(--line);border-radius:calc(16 * var(--u));padding:calc(24 * var(--u));margin:calc(24 * var(--u)) 0}.cart-check{width:20px;height:20px;accent-color:#c5ff92}.cart-card img{width:calc(132 * var(--u));height:calc(160 * var(--u));border-radius:5px}.cart-info{flex:1;min-width:0}.cart-info h3{font-size:calc(28 * var(--u));font-weight:600}.cart-info .work-points{color:var(--mint);font-size:calc(25 * var(--u));margin:7px 0}.cart-remove{color:#ffabb0;font-size:calc(23 * var(--u))}.checkout{padding:calc(24 * var(--u));border:1px solid var(--line);border-radius:calc(16 * var(--u))}.checkout .row{margin-bottom:14px;font-size:calc(26 * var(--u))}.checkout .toggle{display:flex;gap:8px;align-items:center}.checkout .primary{height:calc(80 * var(--u));width:100%;border:1px solid #b1f98d;border-radius:calc(16 * var(--u));font-size:calc(28 * var(--u));color:var(--mint)}.empty{padding:calc(144 * var(--u)) calc(24 * var(--u));text-align:center;color:var(--muted);font-size:calc(28 * var(--u));line-height:1.7}.empty button{display:block;margin:15px auto 0;color:var(--mint)}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:90vw;padding:12px 20px;border:1px solid var(--line);border-radius:10px;background:#00372be8;color:#f3fff8;font-size:14px;line-height:1.7;z-index:1000;text-align:center}.full{width:100%}
