.lang-toggle{cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.lang-toggle-track{border:1px solid var(--panel-border);background:var(--panel-light);border-radius:999px;align-items:center;width:64px;height:30px;transition:background .15s;display:inline-flex;position:relative}.lang-toggle-thumb{background:var(--accent);width:24px;height:24px;box-shadow:var(--shadow-sm);z-index:1;border-radius:999px;transition:transform .18s;position:absolute;top:2px;left:2px}.lang-toggle-en .lang-toggle-thumb{transform:translate(34px)}.lang-toggle-label{color:var(--ink-soft);pointer-events:none;z-index:0;font-size:11px;font-weight:700;transition:color .15s;position:absolute;top:50%;transform:translateY(-50%)}.lang-toggle-zh{left:8px}.lang-toggle-en-label{right:7px}.lang-toggle-en .lang-toggle-zh{color:var(--ink-soft)}.lang-toggle-en .lang-toggle-en-label{color:var(--ink)}.bento-modal-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:bento-fade-in .2s var(--ease-out);background:#1f212566;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes bento-fade-in{0%{opacity:0}to{opacity:1}}.bento-modal{width:100%;max-width:480px;max-height:90vh;animation:bento-modal-in .25s var(--ease-out);background:#fff;border:1px solid #e4e4e7cc;border-radius:28px;padding:32px;position:relative;overflow-y:auto;box-shadow:0 20px 40px #0000000f}@keyframes bento-modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.bento-modal-close{background:var(--panel-light);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:16px;right:16px}.bento-modal-close:hover{background:var(--panel-border);color:var(--ink)}.bento-modal-title{color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;font-size:22px;font-weight:800}.bento-modal-desc{color:var(--ink-soft);margin-bottom:20px;font-size:14px;line-height:1.6}.auth-modal{text-align:center}.auth-modal-badge{background:var(--accent-radiant-soft);color:#854d0e;border-radius:999px;margin-bottom:16px;padding:4px 14px;font-size:12px;font-weight:700;display:inline-block}.auth-modal-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.auth-modal-primary{background:var(--accent-radiant);color:#18181b;width:100%;font-weight:700;box-shadow:0 8px 25px #facc1566}.auth-modal-primary:hover{background:#eab308}.auth-modal-secondary{width:100%}.preview-modal{max-width:520px;padding:0;overflow:hidden}.preview-cover{background:linear-gradient(135deg,#1f2125 0%,#3f3f46 60%,#facc15 160%);justify-content:flex-start;align-items:flex-start;height:120px;padding:16px;display:flex}.preview-cover-badge{background:var(--accent-radiant);color:#18181b;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.preview-body{padding:24px 28px 28px}.preview-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.preview-tag{background:var(--accent-radiant-soft);color:#854d0e;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.preview-synopsis{color:var(--ink-soft);margin-bottom:16px;font-size:14px;line-height:1.7}.preview-meta{align-items:center;gap:16px;margin-bottom:16px;display:flex}.preview-author,.preview-purchases{color:var(--ink-muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.preview-price{background:var(--panel-light);border:1px solid var(--panel-border);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:14px 16px;display:flex}.preview-price-label{color:var(--ink-soft);font-size:13px}.preview-price-value{color:var(--accent-radiant);font-size:16px;font-weight:800}.preview-actions{gap:10px;display:flex}.preview-unlock-btn,.preview-free-btn{flex:1}.recharge-modal{max-width:560px}.recharge-plans{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.recharge-plan{border:1px solid var(--panel-border);background:var(--panel);border-radius:20px;flex-direction:column;gap:12px;padding:20px;display:flex;position:relative}.recharge-plan.featured{border-color:var(--accent-radiant);box-shadow:0 8px 25px #facc1533}.recharge-plan-badge{background:var(--accent-radiant);color:#18181b;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;position:absolute;top:-10px;left:16px}.recharge-plan-head{flex-direction:column;gap:4px;display:flex}.recharge-plan-name{color:var(--ink);font-size:15px;font-weight:700}.recharge-plan-price{color:var(--ink);font-size:24px;font-weight:800}.recharge-plan-price em{color:var(--ink-muted);margin-left:4px;font-size:13px;font-style:normal;font-weight:500}.recharge-plan-perks{flex-direction:column;flex:1;gap:6px;padding:0;list-style:none;display:flex}.recharge-plan-perks li{color:var(--ink-soft);padding-left:16px;font-size:13px;position:relative}.recharge-plan-perks li:before{content:"✓";color:var(--accent-radiant);font-weight:700;position:absolute;left:0}.recharge-plan-btn{width:100%}.recharge-message{border:1px solid var(--accent);color:var(--accent-dark);text-align:center;background:#4a90d91a;border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:13px}.recharge-points-title{color:var(--ink);margin-bottom:12px;font-size:14px;font-weight:700}.recharge-points-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.recharge-point{border:1px solid var(--panel-border);background:var(--panel);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:16px;transition:border-color .15s,box-shadow .15s;display:flex}@media (hover:hover) and (pointer:fine){.recharge-point:hover{border-color:var(--accent-radiant);box-shadow:0 8px 25px #facc1533}}.recharge-point-pts{color:var(--ink);font-size:16px;font-weight:800}.recharge-point-price{color:var(--accent-radiant);font-size:14px;font-weight:700}@media (width<=480px){.recharge-plans,.recharge-points-grid{grid-template-columns:1fr}}.feedback-modal{max-width:480px}.feedback-textarea{resize:vertical;min-height:120px;margin-bottom:16px}.feedback-actions{justify-content:flex-end;gap:10px;display:flex}.feedback-message{text-align:center;border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:13px}.feedback-message.ok{background:var(--green-bg);color:var(--green-text);border:1px solid #bbf7d0}.feedback-message.err{background:var(--red-bg);color:var(--red-text);border:1px solid #fecaca}.profile-modal{max-width:420px}.profile-form{flex-direction:column;gap:4px;display:flex}.profile-form .auth-label{margin-bottom:14px}.profile-form .auth-code-row{align-items:flex-end;margin-bottom:14px}.profile-form .auth-code-input{margin-bottom:0}.profile-form .auth-code-btn{justify-content:center;align-items:center;height:42px;display:inline-flex}.profile-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.login-modal-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);animation:login-overlay-in .2s var(--ease-out);background:#18181b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes login-overlay-in{0%{opacity:0}to{opacity:1}}.login-modal{border:1px solid var(--panel-border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);animation:login-modal-in .25s var(--ease-out);background:#fbf9f5;padding:32px 32px 28px;position:relative}@keyframes login-modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-modal-close{background:var(--panel-light);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;transition:background .15s, color .15s, transform .16s var(--ease-out);border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.login-modal-close:hover{background:var(--panel-border);color:var(--ink)}.login-modal-close:active{transform:scale(.94)}.login-modal-head{text-align:center;margin-bottom:20px}.login-modal-badge{background:var(--accent-radiant-soft);color:#854d0e;border-radius:999px;margin-bottom:12px;padding:4px 14px;font-size:12px;font-weight:700;display:inline-block}.login-modal-title{color:var(--ink);letter-spacing:-.02em;margin-bottom:4px;font-size:24px;font-weight:800}.login-modal-subtitle{color:var(--ink-soft);font-size:14px}.login-modal-form{flex-direction:column;display:flex}.login-modal-form .auth-label{margin-bottom:16px}.login-modal-submit{width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:700}.login-modal-form+.auth-mode-switch{margin-top:14px}.auth-mode-switch{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;margin:14px auto 0;padding:0;font-size:13px;font-weight:400;text-decoration:underline;display:block}.auth-mode-switch:hover{color:var(--ink)}.login-modal-switch{text-align:center;color:var(--ink-soft);margin-top:20px;font-size:13px}.login-modal-switch-link{color:var(--accent-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline;transition:color .15s}.login-modal-switch-link:hover{color:var(--accent)}.navbar{-webkit-backdrop-filter:blur(12px);z-index:100;background:#fffc;border-bottom:1px solid #e5e7eb99;position:sticky;top:0}.navbar-inner{align-items:center;gap:24px;max-width:1280px;height:64px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{align-items:center;gap:10px;text-decoration:none;display:flex}.navbar-logo{object-fit:contain;width:auto;height:30px;display:block}.navbar-brand-text{color:var(--ink);letter-spacing:-.02em;font-size:17px;font-weight:800}.navbar-switch{background:var(--panel-light);border:1px solid var(--panel-border);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.navbar-switch-item{color:var(--ink-soft);border-radius:999px;padding:6px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.navbar-switch-item:hover{color:var(--ink)}.navbar-switch-item.active{background:var(--accent);color:#fff}.navbar-user{align-items:center;gap:14px;margin-left:auto;display:flex}.navbar-feedback{border:1px solid var(--panel-border);background:var(--panel);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.navbar-feedback:hover{background:var(--panel-light);color:var(--ink);border-color:var(--accent)}.navbar-auth{align-items:center;gap:8px;display:flex}.navbar-auth-login,.navbar-auth-register{border-radius:999px;justify-content:center;align-items:center;height:38px;padding:8px 18px;font-size:14px;display:inline-flex}.navbar-auth-login{color:var(--ink);border-color:var(--panel-border);box-shadow:none;background:#fff}.navbar-auth-login:hover{background:var(--panel-light);border-color:var(--panel-border);box-shadow:none}.navbar-user-menu{position:relative}.navbar-user-info{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:4px 8px;transition:background .15s,border-color .15s;display:flex}.navbar-user-info:hover{background:var(--panel-light);border-color:var(--panel-border)}.navbar-avatar{background:var(--accent);color:#fff;border:1px solid var(--panel-border);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.navbar-username{color:var(--ink);font-size:14px;font-weight:600}.navbar-caret{color:var(--ink-muted)}.navbar-dropdown{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-lg);z-index:200;transform-origin:100% 0;animation:navbar-dropdown-in .15s var(--ease-out);padding:6px;position:absolute;top:calc(100% + 8px);right:0}@keyframes navbar-dropdown-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.navbar-dropdown-head{border-bottom:1px solid var(--panel-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 12px;display:flex}.navbar-dropdown-name{color:var(--ink);font-size:14px;font-weight:700}.navbar-dropdown-email{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.navbar-dropdown-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .1s;display:block}.navbar-dropdown-item:hover{background:var(--panel-light)}.navbar-dropdown-logout{color:var(--danger)}.navbar-dropdown-logout:hover{background:var(--danger-soft)}@media (width<=768px){.navbar-inner{gap:12px;height:56px;padding:0 12px}.navbar-brand{gap:8px;min-width:0}.navbar-brand-text{letter-spacing:-.02em;white-space:nowrap;font-size:15px}.navbar-switch{gap:2px;min-width:0}.navbar-switch-item{letter-spacing:0;white-space:nowrap;padding:5px 12px;font-size:13px}.navbar-user{gap:8px}.navbar-username,.navbar-caret{display:none}.navbar-feedback{padding:6px 8px}.navbar-feedback-text{display:none}.navbar-auth{gap:6px}.navbar-auth-login,.navbar-auth-register{height:34px;padding:6px 12px;font-size:13px}}@media (width<=420px){.navbar-brand-text{display:none}.navbar-switch-item{padding:5px 10px;font-size:12px}}.landing-page{flex-direction:column;min-height:100vh;display:flex}.landing-hero{text-align:center;background:linear-gradient(160deg,#f6f0e6 0%,#fdf8ef 50%,#f6f0e6 100%);padding:72px 24px 56px;position:relative;overflow:hidden}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#facc151f,#0000 70%);border-radius:50%;width:480px;height:480px;position:absolute;top:-160px;left:-120px}.landing-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#1f21250f,#0000 70%);border-radius:50%;width:420px;height:420px;position:absolute;bottom:-140px;right:-100px}.landing-hero-inner{z-index:1;max-width:720px;margin:0 auto;position:relative}.landing-hero-badge{background:var(--accent-radiant-soft);color:#854d0e;border:1px solid #facc154d;border-radius:999px;margin-bottom:20px;padding:6px 16px;font-size:13px;font-weight:700;display:inline-block}.landing-hero-title{color:var(--ink);letter-spacing:-.03em;background:linear-gradient(135deg,#1f2125 0%,#3f3f46 60%,#854d0e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:48px;font-weight:800;line-height:1.15}.landing-hero-sub{color:var(--ink-soft);margin-bottom:32px;font-size:18px;line-height:1.7}.landing-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.landing-cta,.landing-hero-secondary{cursor:pointer;height:52px;transition:transform .16s var(--ease-out), box-shadow .2s var(--ease-out), background .15s, border-color .15s;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:16px;font-weight:700;display:inline-flex}.landing-cta:active,.landing-hero-secondary:active{transform:scale(.97)}.landing-cta{background:var(--accent-radiant);color:#18181b;border:none;box-shadow:0 8px 25px #facc1566}.landing-cta:hover{box-shadow:0 12px 30px #facc1580}.landing-hero-secondary{color:var(--ink);border:1px solid var(--panel-border);box-shadow:none;background:#fff}.landing-hero-secondary:hover{background:var(--panel-light);border-color:var(--panel-border);box-shadow:none}.landing-gallery{width:100%;max-width:1280px;margin:0 auto;padding:48px 24px 64px}.landing-gallery-head{text-align:center;margin-bottom:32px}.landing-gallery-title{color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:800}.landing-gallery-sub{color:var(--ink-soft);font-size:15px}.landing-loading,.landing-empty{text-align:center;color:var(--ink-soft);padding:60px 0}.landing-grid{grid-template-columns:repeat(1,1fr);gap:24px;display:grid}@media (width>=640px){.landing-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.landing-grid{grid-template-columns:repeat(3,1fr)}}.landing-card{cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);background:#fff;border:1px solid #e4e4e780;border-radius:24px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000008}@media (hover:hover) and (pointer:fine){.landing-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000000f}}.landing-card:active{transform:scale(.98)}.landing-card-cover{background:linear-gradient(135deg,#1f2125 0%,#3f3f46 60%,#facc15 160%);justify-content:flex-end;align-items:flex-start;height:140px;padding:12px;display:flex;position:relative;overflow:hidden}.landing-card-cover-img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}.landing-card-cover:before{content:"";opacity:.5;background-image:radial-gradient(#ffffff1f 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.landing-card-cover:after{content:"";background:radial-gradient(circle,#facc1559,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-30px}.landing-card-badge{z-index:2;background:var(--accent-radiant);color:#18181b;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;position:relative}.landing-card-body{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex}.landing-card-title{color:var(--ink);font-size:18px;font-weight:700;line-height:1.4}.landing-card-desc{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.landing-card-tags{flex-wrap:wrap;gap:6px;display:flex}.landing-card-tag{background:var(--accent-radiant-soft);color:#854d0e;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.landing-card-meta{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.landing-card-author,.landing-card-time{color:var(--ink-muted);font-size:12px}.landing-features{width:100%;max-width:1280px;margin:0 auto;padding:48px 24px 64px}.landing-features-head{text-align:center;margin-bottom:40px}.landing-features-title{color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:800}.landing-features-sub{color:var(--ink-soft);font-size:15px}.landing-features-grid{grid-template-columns:repeat(1,1fr);gap:24px;display:grid}@media (width>=768px){.landing-features-grid{grid-template-columns:repeat(3,1fr)}}.landing-feature{text-align:center;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.landing-feature:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}}.landing-feature:active{transform:scale(.98)}.landing-feature-icon{background:var(--accent-radiant-soft);color:#854d0e;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 8px 20px #facc1540}.landing-feature-title{color:var(--ink);font-size:18px;font-weight:700}.landing-feature-desc{color:var(--ink-soft);font-size:14px;line-height:1.7}.landing-pricing{width:100%;max-width:1280px;margin:0 auto;padding:48px 24px 64px}.landing-pricing-head{text-align:center;margin-bottom:40px}.landing-pricing-title{color:var(--ink);letter-spacing:-.02em;margin-bottom:8px;font-size:32px;font-weight:800}.landing-pricing-sub{color:var(--ink-soft);font-size:15px}.landing-pricing-grid{grid-template-columns:repeat(1,1fr);gap:24px;max-width:960px;margin:0 auto;display:grid}@media (width>=640px){.landing-pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.landing-pricing-grid{grid-template-columns:repeat(3,1fr)}}.landing-plan{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);flex-direction:column;gap:16px;padding:28px 24px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.landing-plan:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}}.landing-plan.featured{border-color:var(--accent-radiant);box-shadow:0 0 0 3px var(--accent-radiant-soft), var(--shadow-lg)}.landing-plan-badge{background:var(--accent-radiant);color:#18181b;white-space:nowrap;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.landing-plan-head{flex-direction:column;gap:4px;display:flex}.landing-plan-name{color:var(--ink);font-size:16px;font-weight:700}.landing-plan-price{color:var(--ink);letter-spacing:-.02em;font-size:32px;font-weight:800}.landing-plan-price em{color:var(--ink-muted);margin-left:4px;font-size:14px;font-style:normal;font-weight:600}.landing-plan-perks{flex-direction:column;flex:1;gap:10px;list-style:none;display:flex}.landing-plan-perks li{color:var(--ink-soft);align-items:center;gap:8px;font-size:14px;display:flex}.landing-plan-perks li:before{content:"";background:var(--accent-radiant);border-radius:50%;flex-shrink:0;width:6px;height:6px}.landing-plan-btn{width:100%}.landing-pricing-note{text-align:center;color:var(--ink-muted);margin-top:24px;font-size:13px}.landing-footer-cta{text-align:center;padding:56px 24px 80px;position:relative;overflow:hidden}.landing-footer-cta:before{content:"";pointer-events:none;background:radial-gradient(circle,#facc151a,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.landing-footer-title{color:var(--ink);letter-spacing:-.02em;z-index:1;margin-bottom:20px;font-size:28px;font-weight:800;position:relative}.landing-footer-cta .landing-cta{z-index:1;position:relative}@media (width<=640px){.landing-hero-title{font-size:34px}.landing-hero-sub{font-size:16px}}.world-list-page{flex-direction:column;min-height:100vh;display:flex}.wl-container{width:100%;max-width:1280px;margin:0 auto;padding:32px 24px 80px}.wl-header-tools{align-items:center;gap:12px;margin-left:auto;display:flex}.wl-create-btn{white-space:nowrap}.wl-error{background:var(--red-bg);color:var(--red-text);border-radius:var(--radius-sm);border:1px solid #fecaca;margin-bottom:16px;padding:12px 16px}.wl-loading,.wl-empty{text-align:center;color:var(--ink-soft);padding:80px 0}.wl-empty{flex-direction:column;align-items:center;gap:20px;display:flex}.wl-empty-action{display:inline-flex}.wl-grid{grid-template-columns:repeat(1,1fr);gap:24px;display:grid}@media (width>=640px){.wl-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.wl-grid{grid-template-columns:repeat(3,1fr)}}.wl-card{border-radius:var(--radius);border:1px solid var(--panel-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), border-color .2s var(--ease-out);flex-direction:column;gap:12px;padding:24px;display:flex}.wl-card-cover{border-radius:var(--radius) var(--radius) 0 0;height:140px;margin:-24px -24px 0;overflow:hidden}.wl-card-cover img{object-fit:cover;width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine){.wl-card:hover{box-shadow:var(--shadow-lg);border-color:#1f212526;transform:translateY(-4px)}}.wl-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.wl-card-title{color:var(--ink);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:18px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.wl-card-desc{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.wl-card-tags{flex-wrap:wrap;gap:6px;display:flex}.wl-tag{background:var(--panel-light);color:var(--ink-soft);border:1px solid var(--panel-border);border-radius:999px;padding:3px 10px;font-size:12px;transition:color .15s,border-color .15s}.wl-tag:hover{color:var(--accent-dark);border-color:var(--accent)}.wl-card-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.wl-card-owner,.wl-card-time{color:var(--ink-muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.wl-card-like{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;transition:color .15s,transform .15s;display:inline-flex}.wl-card-like:hover{color:var(--accent);transform:scale(1.08)}.wl-card-like-active{color:var(--accent)}.wl-card-note{background:var(--orange-bg);color:var(--orange-text);border-radius:var(--radius-sm);border:1px solid #fed7aa;padding:8px 12px;font-size:12px}.wl-card-actions{border-top:1px solid var(--panel-border);align-items:center;gap:8px;margin-top:4px;padding-top:14px;display:flex}.wl-enter-btn{flex:1}.wl-card-actions-row{flex-shrink:0;align-items:center;gap:4px;display:flex}.wl-review-btn{justify-content:center;align-items:center;height:34px;padding:0 16px;font-size:13px;line-height:34px;display:inline-flex}.wl-icon-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.wl-icon-btn:hover{background:var(--panel-light);color:var(--ink);border-color:var(--panel-border)}.wl-icon-btn-danger:hover{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.wl-tabs{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.wl-tabs-nav{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow-sm);border-radius:999px;gap:2px;padding:4px;display:flex}.wl-tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.wl-tab:hover{color:var(--ink)}.wl-tab.active{background:var(--accent);color:#fff;font-weight:600}.wl-search-box{align-items:center;min-width:200px;max-width:340px;display:flex;position:relative}.wl-search-icon{color:var(--ink-muted);pointer-events:none;position:absolute;left:12px}.wl-search-box .wl-search{width:100%;padding-left:38px;padding-right:36px}.wl-search-clear{width:24px;height:24px;color:var(--ink-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s;display:flex;position:absolute;right:8px}.wl-search-clear:hover{color:var(--danger)}.wl-toolbar{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 16px;display:flex}.wl-tag-filter{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.wl-tag-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl-filter-label{color:var(--ink-muted);flex-shrink:0;font-size:12px;font-weight:600}.wl-tag-group-tags{flex-wrap:wrap;gap:6px;display:flex}.wl-tag-check{border:1px solid var(--panel-border);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:5px 14px;font-size:12px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.wl-tag-check:hover{background:var(--panel-light);color:var(--ink);border-color:var(--accent)}.wl-tag-check.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.wl-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.wl-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.wl-status-draft{background:var(--amber-bg);color:var(--amber-text);border-color:#fde68a}.wl-status-pending{background:var(--orange-bg);color:var(--orange-text);border-color:#fed7aa}.wl-status-published{background:var(--green-bg);color:var(--green-text);border-color:#bbf7d0}.wl-status-rejected{background:var(--red-bg);color:var(--red-text);border-color:#fecaca}@media (width<=640px){.wl-tabs{flex-direction:column;align-items:stretch;gap:12px}.wl-tabs-nav{align-self:flex-start}.wl-header-tools{flex-wrap:nowrap;gap:8px;width:100%;margin-left:0}.wl-search-box{flex:1;min-width:0}}.wc-page{flex-direction:column;min-height:100vh;display:flex}.wc-container{width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 80px}.wc-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.wc-header h1{color:var(--ink);flex:1;font-size:24px;font-weight:800}.wc-back-btn{align-items:center;gap:6px;display:inline-flex}.wc-header-actions{align-items:center;gap:8px;display:flex}.wc-error{background:var(--red-bg);color:var(--red-text);border-radius:var(--radius-sm);border:1px solid #fecaca;margin-bottom:16px;padding:12px 16px}.wc-section{flex-direction:column;gap:16px;display:flex}.wc-field{flex-direction:column;gap:6px;display:flex}.wc-field label{color:var(--ink-soft);font-size:13px;font-weight:600}.wc-cover{flex-direction:column;gap:10px;display:flex}.wc-cover-upload{border:2px dashed var(--panel-border);border-radius:var(--radius);background:var(--panel-light);min-height:160px;color:var(--ink-muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.wc-cover-upload:hover{border-color:var(--accent);color:var(--ink);background:var(--panel)}.wc-cover-upload input{display:none}.wc-cover-preview{flex-direction:column;gap:10px;display:flex}.wc-cover-preview img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--panel-border);width:100%;max-height:240px}.wc-cover-change{align-self:flex-start}.wc-tags{flex-direction:column;gap:12px;display:flex}.wc-tag-group{align-items:flex-start;gap:12px;display:flex}.wc-tag-group-label{color:var(--ink-muted);flex-shrink:0;min-width:32px;padding-top:7px;font-size:12px;font-weight:600}.wc-tag-group-tags{flex-wrap:wrap;gap:8px;display:flex}.wc-tag{color:#6b7280;cursor:pointer;background:#f3f4f6;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.wc-tag:hover{color:var(--ink);background:#e5e7eb}.wc-tag.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.wc-note{background:var(--panel-light);color:var(--accent-dark);border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px}.wc-hint{color:var(--ink-soft);font-size:13px;line-height:1.6}.wc-free{grid-template-columns:1fr 360px;align-items:start;gap:24px;display:grid}.wc-free-main{min-height:60vh}.wc-free-editor{resize:vertical;min-height:55vh;font-size:14px;line-height:1.7}.wc-free-side{max-height:85vh;position:sticky;top:16px;overflow-y:auto}.wc-free-side-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.wc-extract-btn{width:100%;margin-top:8px;margin-bottom:4px}.wc-free-side-actions{align-items:center;gap:6px;display:flex}.wc-free-field{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.wc-free-field:hover{border-color:var(--accent)}.wc-free-field-head{align-items:center;gap:8px;min-width:0;display:flex}.wc-free-field-head .input{flex:1;min-width:0;padding:8px 12px;font-size:13px}.wc-free-field-head .btn-sm{flex-shrink:0}.wc-drag-handle{cursor:grab;color:var(--ink-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;padding:0 2px;font-size:16px;display:inline-flex}.wc-drag-handle:active{cursor:grabbing}.wc-remove-btn{flex-shrink:0;justify-content:center;align-items:center;padding:6px 8px;line-height:1;display:inline-flex}.wc-free-type-label{color:var(--ink-muted);flex-shrink:0;font-size:12px}.wc-free-field-example{align-items:center;gap:8px;display:flex}.wc-free-field-example .input{flex:1;min-width:0;padding:8px 12px;font-size:13px}.wc-free-items{flex-direction:column;gap:8px;min-width:0;display:flex}.wc-free-item{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-light);flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.wc-free-item-row{align-items:center;gap:8px;min-width:0;display:flex}.wc-free-item-name,.wc-free-item-example{flex:1;min-width:0;padding:7px 10px;font-size:13px}.wc-free-item-type{flex:0 0 84px;min-width:0;padding:7px 6px;font-size:13px}.wc-free-item .btn-sm{flex-shrink:0}.wc-free-add-item{align-self:flex-start}.wc-free-field.dragging,.wc-free-item.dragging{opacity:.5;border-style:solid;border-color:var(--accent)}@media (width<=900px){.wc-free{grid-template-columns:1fr}.wc-free-side{max-height:none;position:static}}.world-detail-page{flex-direction:column;min-height:100vh;display:flex}.wd-container{width:100%;max-width:820px;margin:0 auto;padding:24px 20px 48px}.wd-center{text-align:center;color:var(--ink-soft);padding-top:80px}.wd-error{color:var(--danger);margin-bottom:16px}.wd-back-btn{margin-bottom:16px}.wd-hero{margin-bottom:20px;padding:28px}.wd-hero-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.wd-genre{color:var(--accent-dark);background:#6fa6981f;border:1px solid #6fa6984d;border-radius:6px;padding:2px 10px;font-size:12px;font-weight:600}.wd-status{border:1px solid #0000;border-radius:6px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:500}.wd-status-draft{background:var(--panel-light);color:var(--ink-soft);border-color:var(--panel-border)}.wd-status-pending{color:#8a6d2f;background:#c9a45c24;border-color:#c9a45c59}.wd-status-published{color:var(--accent-dark);background:#6fa69824;border-color:#6fa69859}.wd-status-rejected{color:var(--danger);background:#c05f551f;border-color:#c05f5559}.wd-title{color:var(--ink);margin-bottom:8px;font-size:26px;font-weight:700;line-height:1.4}.wd-desc{color:var(--ink-soft);margin-bottom:14px;font-size:14px;line-height:1.7}.wd-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.wd-tag{background:var(--panel-light);color:var(--ink-soft);border:1px solid var(--panel-border);border-radius:6px;padding:2px 8px;font-size:12px}.wd-meta{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.wd-meta-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.wd-like{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:13px;transition:color .15s,transform .15s;display:inline-flex}.wd-like:hover{color:var(--accent);transform:scale(1.08)}.wd-like-active{color:var(--accent)}.wd-enter-btn{padding:10px 24px;font-size:14px}.status-card{flex-direction:column;gap:10px;font-size:13px;display:flex}.sc-empty{color:var(--ink-soft);text-align:center;padding:20px 0}.sc-time{color:var(--accent-dark);font-size:14px;font-weight:700}.sc-section{border-top:1px solid var(--panel-border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.sc-label{color:var(--ink-soft);font-size:12px;font-weight:700}.sc-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sc-name{color:var(--ink);font-size:16px;font-weight:700}.sc-chip{background:var(--panel-light);color:var(--accent-dark);border:1px solid var(--panel-border);border-radius:999px;padding:1px 8px;font-size:12px}.sc-sub{color:var(--ink)}.sc-abnormal{color:var(--danger);font-weight:600}.sc-res-row,.sc-rel-row{align-items:center;gap:8px;display:flex}.sc-res-label{width:40px;color:var(--ink)}.sc-res-val{color:var(--ink-soft);min-width:30px;font-size:12px}.sc-six{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.sc-six-item{background:var(--panel-light);border:1px solid var(--panel-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;display:flex}.sc-six-item strong{color:var(--accent-dark)}.sc-events{flex-direction:column;gap:2px;padding-left:0;list-style:none;display:flex}.sc-events li{color:var(--ink-soft);padding-left:12px;font-size:12px;position:relative}.sc-events li:before{content:"▸";color:var(--accent-dark);position:absolute;left:0}.play-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.play-header{background:var(--panel);border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.play-header-left{flex-shrink:0;align-items:center;gap:8px;display:flex}.play-conv-list{border-right:1px solid var(--panel-border);background:var(--panel);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.conv-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.conv-title{color:var(--ink);font-size:14px;font-weight:700}.conv-new{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--accent);color:#fff;width:30px;height:30px;box-shadow:var(--shadow-sm);transition:transform .16s var(--ease-out), box-shadow .15s;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:flex}.conv-new:hover{background:var(--accent-dark)}.conv-new:active{transform:scale(.94)}.conv-items{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.conv-empty{color:var(--ink-soft);text-align:center;padding:24px 0;font-size:12px}.conv-item{border-radius:var(--radius);cursor:pointer;border:2px solid #0000;align-items:center;gap:8px;padding:10px 12px;transition:background .1s;display:flex}.conv-item:hover{background:var(--panel-light)}.conv-item.active{background:var(--accent-soft);border-color:var(--accent-ring)}.conv-item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conv-item-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.conv-item.active .conv-item-title{color:var(--accent-dark)}.conv-item-meta{color:var(--ink-soft);font-size:11px}.conv-item.active .conv-item-meta{color:var(--accent-dark)}.conv-item-del{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--ink-soft);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:opacity .1s,background .1s;display:flex}.conv-item:hover .conv-item-del{opacity:1}.conv-item-del:hover{background:var(--danger-soft);color:var(--danger)}.conv-item.active .conv-item-del{color:var(--accent-dark)}.conv-item.active .conv-item-del:hover{background:var(--accent-soft);color:var(--accent-dark)}.conv-group{flex-direction:column;gap:2px;display:flex}.conv-section{color:var(--ink-muted);letter-spacing:.02em;padding:8px 12px 4px;font-size:11px;font-weight:600}.conv-section-pinned{border-top:1px solid var(--panel-border);margin-top:4px;padding-top:10px}.conv-item-menu-wrap{flex-shrink:0;position:relative}.conv-item-more{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--ink-soft);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s,background .1s;display:flex}.conv-item:hover .conv-item-more,.conv-item.active .conv-item-more{opacity:1}.conv-item-more:hover{background:var(--panel-light);color:var(--ink)}.conv-item-menu{z-index:40;border:1px solid var(--panel-border);min-width:140px;box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:convMenuIn .16s var(--ease-out);background:#fbf9f5;border-radius:12px;padding:4px;position:absolute;top:28px;right:0}@keyframes convMenuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.conv-menu-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .1s;display:flex}.conv-menu-item:hover{background:var(--panel-light)}.conv-menu-item-danger{color:var(--danger)}.conv-menu-item-danger:hover{background:var(--danger-soft)}.export-options{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.export-option{border:1px solid var(--panel-border);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.export-option:hover{border-color:var(--accent);background:var(--panel-light)}.export-option:disabled{opacity:.5;cursor:not-allowed}.export-option-title{color:var(--ink);font-size:14px;font-weight:600}.export-option-desc{color:var(--ink-soft);font-size:12px}.export-loading{color:var(--ink-soft);text-align:center;margin-bottom:12px;font-size:13px}.play-title{text-align:center;flex:1}.play-title h1{color:var(--ink);font-size:16px}.play-error{color:var(--danger);border-bottom:2px solid var(--danger);background:#c05f551f;padding:8px 20px;font-size:12px}.play-body{flex:1;display:flex;overflow:hidden}.play-chat{flex-direction:column;flex:1;min-width:0;display:flex}.play-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.play-empty{text-align:center;color:var(--ink-soft);padding:60px 20px}.msg{max-width:80%;animation:msg-in .25s var(--ease-out);flex-direction:column;gap:4px;display:flex}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-user{align-self:flex-end;align-items:flex-end}.msg-assistant{align-self:flex-start;align-items:flex-start}.msg-content{color:#27272a;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e4e4e7cc;border-radius:4px 16px 16px;padding:10px 16px;font-size:14px}.msg-user .msg-content{color:#fff;background:#27272a;border-color:#27272a;border-radius:16px 4px 16px 16px}.msg-typing{color:var(--ink-soft);font-style:italic}.msg-rollback{color:var(--ink-soft);opacity:0;background:0 0;border:none;align-self:flex-start;padding:2px 4px;font-size:12px;transition:opacity .1s}.msg:hover .msg-rollback{opacity:1}.msg-rollback:hover{color:var(--danger)}.play-input{background:var(--panel);border-top:1px solid var(--panel-border);align-items:flex-end;gap:10px;padding:12px 20px;display:flex}.play-input .textarea{resize:none;flex:1;min-height:44px}.play-input .btn{flex-shrink:0;align-self:flex-end;height:44px;padding:0 24px}.play-sidebar{border-left:1px solid var(--panel-border);background:var(--bg);width:300px;padding:16px;overflow-y:auto}@media (width<=900px){.play-body{position:relative}.play-conv-list{z-index:30;width:240px;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;left:0}.play-sidebar{z-index:30;width:260px;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;right:0}.play-mask{z-index:20;background:#00000059;position:absolute;inset:0}.play-header{gap:8px;padding:10px 12px}.play-header .btn{padding:6px 10px;font-size:12px}.play-header-left{gap:6px}.play-title h1{font-size:15px}.play-input{padding:10px 12px}.play-input .btn{padding:0 16px}}.conv-close,.sidebar-close{display:none}@media (width<=900px){.conv-close,.sidebar-close{background:var(--panel-light);border:1px solid var(--panel-border);border-radius:var(--radius);width:28px;height:28px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.conv-close:active,.sidebar-close:active{transform:scale(.94)}.conv-header-actions{align-items:center;gap:6px;display:flex}.sidebar-close{margin-bottom:8px;margin-left:auto}}.uc-page{flex-direction:column;min-height:100vh;display:flex}.uc-container{width:100%;max-width:1152px;margin:0 auto;padding:32px 24px 80px}.uc-welcome{margin-bottom:24px}.uc-back{color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:6px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.uc-back:hover{background:var(--panel-light);color:var(--ink)}.uc-welcome-sub{color:var(--ink-soft);font-size:14px}.uc-profile{align-items:center;gap:24px;margin-bottom:24px;padding:24px 28px;display:flex}.uc-avatar{background:var(--accent);color:#fff;border:1px solid var(--panel-border);width:72px;height:72px;box-shadow:var(--shadow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:32px;font-weight:800;display:flex}.uc-profile-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.uc-name{color:var(--ink);font-size:22px;font-weight:800}.uc-email{color:var(--ink-soft);word-break:break-all;font-size:13px}.uc-registered{align-items:center;gap:8px;font-size:12px;display:flex}.uc-registered-label{color:var(--ink-muted)}.uc-registered-value{color:var(--ink-soft)}.uc-assets{flex-shrink:0;gap:12px;display:flex}.uc-asset{background:var(--panel-light);border:1px solid var(--panel-border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:4px;min-width:90px;padding:12px 20px;display:flex}.uc-asset-label{color:var(--ink-soft);font-size:12px}.uc-asset-value{color:var(--accent-dark);font-size:20px;font-weight:800}.uc-recharge-btn{flex-shrink:0}.uc-main{flex-direction:column;gap:24px;min-width:0;display:flex}.uc-stats{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.uc-stat{flex-direction:column;align-items:flex-start;gap:6px;padding:24px;display:flex}.uc-stat-num{color:var(--ink);font-size:40px;font-weight:800;line-height:1.1}.uc-stat-label{color:var(--ink-soft);font-size:14px}.uc-section{flex-direction:column;gap:8px;display:flex}.uc-profile-actions{flex-direction:column;display:flex}.uc-profile-action{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 12px;font-size:14px;font-weight:600;transition:background .1s;display:flex}.uc-profile-action-label{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.uc-profile-action-label svg{color:var(--ink-muted)}.uc-profile-action:hover{background:var(--panel-light)}.uc-profile-action+.uc-profile-action{border-top:1px solid var(--panel-border)}.uc-profile-arrow{color:var(--ink-muted);align-items:center;display:flex}.uc-fontsize{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 12px;display:flex}.uc-fontsize-label{color:var(--ink);font-size:14px;font-weight:600}.uc-fontsize-options{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:#f4f4f5;gap:2px;padding:3px;display:flex}.uc-fontsize-option{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.uc-fontsize-option:hover{color:var(--ink)}.uc-fontsize-option.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.uc-logout-footer{border-top:1px solid var(--panel-border);margin-top:32px;padding-top:24px}.uc-logout-btn{width:100%;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:12px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.uc-logout-btn:hover{background:var(--danger);color:#fff}@media (width<=768px){.uc-container{padding:24px 16px 60px}.uc-profile{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 20px}.uc-profile-info{align-items:center}.uc-assets{width:100%}.uc-asset{flex:1;min-width:0}.uc-recharge-btn{width:100%}.uc-stats{grid-template-columns:repeat(2,1fr);gap:16px}}.pl-page{flex-direction:column;min-height:100vh;display:flex}.pl-container{width:100%;max-width:1152px;margin:0 auto;padding:32px 24px 80px}.pl-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.pl-header h1{color:var(--ink);letter-spacing:-.02em;font-size:24px;font-weight:800}.pl-back-btn{align-items:center;gap:6px;display:inline-flex}.pl-panel{padding:8px 0}.pl-log-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pl-log-item{justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:14px;display:flex}.pl-log-item+.pl-log-item{border-top:1px solid var(--panel-border)}.pl-log-main{flex-direction:column;gap:2px;display:flex}.pl-log-type{color:var(--ink);font-weight:600}.pl-log-time{color:var(--ink-muted);font-size:12px}.pl-log-side{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.pl-log-amount{font-weight:700}.pl-log-amount.positive{color:var(--accent-dark)}.pl-log-amount.negative{color:var(--danger)}.pl-log-balance{color:var(--ink-soft);font-size:12px}.pl-empty{color:var(--ink-soft);text-align:center;padding:40px 0}@media (width<=768px){.pl-container{padding:24px 16px 60px}}:root{--bg:#f6f0e6;--bg-deep:#efe9de;--panel:#fff;--panel-light:#f7f5f0;--panel-border:#e4e4e780;--ink:#1f2125;--ink-soft:#52525b;--ink-muted:#a1a1aa;--accent:#1f2125;--accent-dark:#3f3f46;--accent-soft:#f4f4f5;--accent-ring:#1f21251f;--accent-radiant:#facc15;--accent-radiant-soft:#fef9c3;--green-bg:#ecfdf5;--green-text:#065f46;--green-dot:#10b981;--orange-bg:#fffbeb;--orange-text:#92400e;--orange-dot:#f59e0b;--amber-bg:#fffbeb;--amber-text:#92400e;--amber-dot:#f59e0b;--red-bg:#fef2f2;--red-text:#991b1b;--red-dot:#ef4444;--danger:#dc2626;--danger-soft:#fee2e2;--shadow:0 10px 30px #00000008;--shadow-sm:0 4px 12px #00000008;--shadow-lg:0 20px 40px #0000000f;--radius:24px;--radius-sm:12px;--radius-lg:28px;--pixel-border:1px solid var(--panel-border);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}body:before{content:"";z-index:-2;pointer-events:none;background-image:radial-gradient(#1118270d 1px,#0000 1px);background-size:24px 24px;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(600px 400px at 8% 0,#18181b0d,#0000 70%),radial-gradient(600px 400px at 92% 100%,#52525b0f,#0000 70%);position:fixed;inset:0;overflow:hidden}:lang(en) *{letter-spacing:0!important}a{color:var(--accent-dark);text-decoration:none}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.panel{background:var(--panel);border:var(--pixel-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.panel-title{color:var(--ink);background:var(--panel-light);border:1px solid var(--panel-border);border-radius:var(--radius-sm);margin-bottom:12px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-block}.bar{background:var(--panel-light);border:1px solid var(--panel-border);vertical-align:middle;border-radius:999px;width:100px;height:8px;display:inline-flex;overflow:hidden}.bar-fill{height:100%;transition:width .4s var(--ease-out)}.btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:background .15s, box-shadow .15s, border-color .15s, color .15s, transform .16s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--accent-dark);box-shadow:var(--shadow)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{color:var(--ink);border-color:var(--panel-border);box-shadow:none;background:#fff}.btn-secondary:hover{background:var(--panel-light);border-color:var(--panel-border);box-shadow:none}.btn-danger{color:var(--danger);box-shadow:none;background:#fff;border-color:#fecaca}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);box-shadow:none}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px}.input,.textarea{border:1px solid var(--panel-border);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.input::placeholder,.textarea::placeholder{color:var(--ink-muted)}@media (width<=768px){.input,.textarea{font-size:16px}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:5px}::-webkit-scrollbar-track{background:var(--bg-deep)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-overlay-in .2s var(--ease-out);background:#18181b66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal{border:1px solid var(--panel-border);box-shadow:var(--shadow-lg);width:100%;max-width:400px;animation:modal-in .25s var(--ease-out);background:#fbf9f5;border-radius:16px;padding:24px}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-title{color:var(--ink);margin-bottom:8px;font-size:16px;font-weight:700}.modal-message{color:var(--ink-soft);white-space:pre-wrap;word-break:break-word;margin-bottom:20px;font-size:14px;line-height:1.6}.modal-input{margin-bottom:16px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-btn{border:1px solid #0000;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.modal-btn-primary{color:#fff;background:#27272a}.modal-btn-primary:hover{background:#3f3f46}.modal-btn-ghost{color:var(--ink);border-color:var(--panel-border);background:#fff}.modal-btn-ghost:hover{background:var(--panel-light)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
