:root{--color-primary:#7c6cf0;--color-primary-dark:#5b4bd6;--color-primary-light:#2a2547;--color-bg:#0e0e12;--color-surface:#191920;--color-surface-elevated:#1e1e26;--color-text:#f5f5f7;--color-text-secondary:#9a9aa5;--color-text-tertiary:#6b6b76;--color-border:#2a2a33;--color-danger:#f0446b;--color-warning:#f79009;--color-success:#12b76a;--color-on-primary:#fff;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--app-max-width:480px;--header-height:56px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#08080b;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}#root{justify-content:center;display:flex}button{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}.app-shell{width:100%;max-width:var(--app-max-width);background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex;position:relative}@media (width>=481px){.app-shell{box-shadow:0 0 48px #0000008c}}.app-header{z-index:10;height:var(--header-height);padding:0 var(--space-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#0e0e12eb;align-items:center;display:flex;position:sticky;top:0}.app-header-icon{color:var(--color-text-secondary);flex:1;align-items:center;transition:color .15s;display:inline-flex}.app-header-icon:hover{color:var(--color-text)}.app-header-icon-right{justify-content:flex-end}.app-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.app-header-logo{letter-spacing:1px;color:var(--color-text);font-size:16px;font-weight:700}.app-content{padding:var(--space-sm) var(--space-lg) 96px;flex:1}.page-section{gap:var(--space-md);padding-top:var(--space-md);padding-bottom:var(--space-xxl);flex-direction:column;display:flex}.stack{gap:var(--space-md);flex-direction:column;display:flex}.bottom-nav{z-index:20;width:100%;max-width:var(--app-max-width);padding:var(--space-sm) var(--space-lg) calc(var(--space-sm) + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);background:#191920f5;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{padding:var(--space-sm) 0;border-radius:var(--radius-sm);color:var(--color-text-tertiary);text-align:center;flex-direction:column;flex:1;align-items:center;gap:3px;font-size:11px;line-height:1.2;transition:background .15s,color .15s;display:flex}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.nav-label{font-size:11px}.nav-item:hover{color:var(--color-text-secondary)}.nav-item-active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.nav-item-active .nav-icon{stroke-width:2.1px}.sub-header{width:100%;max-width:var(--app-max-width);z-index:10;height:var(--header-height);padding:0 var(--space-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:0 0;grid-template-columns:72px 1fr 72px;align-items:center;display:grid;position:fixed;top:0}.back-button{padding:var(--space-xs) 0;color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;font-size:14px}.back-button:hover{color:var(--color-text)}.sub-title{text-align:center;margin:0;font-size:16px;font-weight:600}.sub-header-side{width:72px}.sub-header-action{justify-content:flex-end;display:flex}.sub-content{padding:50px var(--space-lg) 0;flex:1}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-xl);border-radius:var(--radius-md);cursor:pointer;border:none;font-size:14px;font-weight:600;transition:opacity .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);width:100%;color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-ghost{background:var(--color-primary-light);color:var(--color-primary)}.btn-ghost:hover:not(:disabled){opacity:.85}.btn-pill{border-radius:var(--radius-pill);background:var(--color-text);width:auto;min-height:52px;color:var(--color-bg);font-size:16px;font-weight:700}.btn-pill:hover:not(:disabled){opacity:.9}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xxl) 0;color:var(--color-text-secondary);flex-direction:column;flex:1;font-size:14px;display:flex}.loading .spinner{border-color:var(--color-primary);border-top-color:#0000;width:24px;height:24px}.loading-fullscreen{min-height:100vh}.empty-state{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xxl) var(--space-xl);text-align:center;flex-direction:column;flex:1;display:flex}.empty-state-art{margin-bottom:var(--space-md)}.empty-state-compact{min-height:150px;padding:var(--space-md) 0;flex:none}.empty-state-compact .empty-state-art{margin-bottom:var(--space-xs)}.empty-state-compact .empty-state-title{font-size:14px;font-weight:500}.empty-state-compact .empty-state-desc{color:var(--color-text-tertiary);font-size:12px}.empty-state-title{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.empty-state-desc{color:var(--color-text-secondary);margin:0;font-size:14px}.empty-state .btn{min-height:40px;margin-top:var(--space-sm);padding:0 var(--space-lg)}.login-page{justify-content:center;gap:var(--space-xl);width:100%;max-width:var(--app-max-width);min-height:100vh;padding:var(--space-xxl) var(--space-xl);background:var(--color-bg);flex-direction:column;margin:0 auto;display:flex;position:relative}.login-back{top:var(--space-lg);left:var(--space-md);align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:13px;transition:color .15s,background .15s;display:inline-flex;position:absolute}.login-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.login-back:hover{color:var(--color-text);background:var(--color-surface)}.login-header{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.logo-box{border:1px solid var(--color-border);background:var(--color-surface);letter-spacing:2px;width:88px;height:88px;color:var(--color-text-secondary);border-radius:24px;justify-content:center;align-items:center;font-size:14px;display:flex}.brand{letter-spacing:1px;font-size:20px;font-weight:600}.login-slogan{color:var(--color-text-secondary);text-align:center;font-size:14px}.google-btn{width:100%;min-height:48px;padding:0 var(--space-xl);border-radius:var(--radius-md);color:#202124;cursor:pointer;background:#fff;border:1px solid #ffffff26;justify-content:center;align-items:center;gap:12px;font-family:inherit;font-size:15px;font-weight:500;transition:background .15s,box-shadow .15s,opacity .15s;display:flex;position:relative}.google-btn:hover:not(:disabled){background:#f8f8f8;box-shadow:0 1px 3px #00000026}.google-btn:disabled{opacity:.55;cursor:not-allowed}.google-btn-logo{flex-shrink:0;width:20px;height:20px}.google-btn-logo svg{width:100%;height:100%;display:block}.google-btn-label{letter-spacing:.02em}.google-btn-loading{pointer-events:none}.error-text{color:var(--color-danger);margin:0;font-size:12px}.agree-row{justify-content:center;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;display:flex}.agree-row input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;margin:0}.agree-row-text{cursor:pointer;-webkit-user-select:none;user-select:none}.work-card{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-surface);transition:background .15s;display:flex}.work-card:hover{background:var(--color-surface-elevated)}.work-row{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.cover{border-radius:var(--radius-md);background:var(--color-primary-light);width:88px;height:88px;color:var(--color-primary);flex:none;justify-content:center;align-items:center;font-size:12px;display:flex}.cover-sm{border-radius:var(--radius-sm);width:64px;height:64px}.work-card-body{justify-content:center;gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.work-card-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.work-card-meta{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.chip-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.chip{padding:6px var(--space-md);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;border:1px solid #0000;font-size:12px;transition:background .15s,color .15s}.chip:hover{color:var(--color-text)}.chip-active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.field-label{margin-top:var(--space-xs);color:var(--color-text);font-size:14px;font-weight:600}.textarea{width:100%;min-height:120px;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);resize:vertical;border:1px solid #0000;outline:none;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .15s}.textarea::placeholder{color:var(--color-text-tertiary)}.textarea:focus{border-color:var(--color-primary)}.upload-box{border:1px dashed var(--color-border);border-radius:var(--radius-md);height:96px;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:14px;display:flex}.form-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.tip{color:var(--color-text-tertiary);text-align:center;margin:0;font-size:12px}.plan-card{gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex}.plan-card-recommended{border-color:var(--color-primary)}.plan-header{justify-content:space-between;align-items:center;display:flex}.plan-name{font-size:16px;font-weight:700}.plan-price{color:var(--color-primary);font-size:16px;font-weight:700}.plan-duration{color:var(--color-text-secondary);font-size:12px}.feature-list{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-direction:column;display:flex}.feature{color:var(--color-text-secondary);font-size:14px}.section-title{margin:var(--space-md) 0 0;font-size:16px;font-weight:600}.coin-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.coin-card{gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;cursor:pointer;border:none;flex-direction:column;font-family:inherit;transition:background .15s;display:flex}.coin-card:hover{background:var(--color-surface-elevated)}.coin-amount{color:var(--color-text);font-size:14px;font-weight:600}.coin-bonus{color:var(--color-warning);font-size:12px}.coin-price{color:var(--color-primary);font-size:14px;font-weight:600}.settings-page{gap:var(--space-lg)}.account-cards{gap:var(--space-md);flex-direction:column;display:flex}.account-card{gap:var(--space-xs);width:100%;padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;cursor:pointer;border:1px solid #0000;flex-direction:column;font-family:inherit;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.account-card:hover{border-color:var(--color-border);background:var(--color-surface-elevated)}.account-card-title{color:var(--color-text-tertiary);font-size:12px}.account-card-main{color:var(--color-text);word-break:break-all;font-size:15px;font-weight:600}.account-card-sub{color:var(--color-text-tertiary);font-size:12px}.email-sheet-overlay{z-index:100;padding:0 var(--space-md);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.email-sheet{gap:var(--space-md);width:100%;max-width:456px;padding:var(--space-lg) var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface);flex-direction:column;animation:.22s ease-out email-sheet-up;display:flex}.email-sheet-handle{border-radius:var(--radius-pill);background:var(--color-border);align-self:center;width:36px;height:4px}.email-sheet-title{color:var(--color-text);margin:0;font-size:20px;font-weight:700}.form-input{height:48px;padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#0f0f12;font-family:inherit;font-size:14px;transition:border-color .15s}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:focus{border-color:var(--color-primary);outline:none}.form-error{color:#f0564a;margin:0;font-size:12px}.pink-button{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#ff2d8a;border:none;width:100%;min-height:52px;font-family:inherit;font-size:16px;font-weight:700;transition:background .15s}.pink-button:hover{background:#ff4699}.account-bind-page{gap:var(--space-md)}.account-bind-hint{margin:0 0 var(--space-sm);color:var(--color-text-secondary);font-size:13px;line-height:1.7}@keyframes email-sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.settings-group{border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-lg);border:none;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;font-family:inherit;text-decoration:none;transition:background .15s;display:flex}.settings-row:last-child{border-bottom:none}.settings-row:hover{background:var(--color-surface-elevated)}.settings-row-readonly{cursor:default}.settings-label{color:var(--color-text);font-size:14px;font-weight:600}.settings-value{color:var(--color-text-secondary);flex-shrink:0;font-size:13px}.settings-row-danger .settings-label{color:#f0564a}.settings-row-danger:hover{background:#f0564a14}.settings-signout{border-radius:var(--radius-lg);background:var(--color-surface);width:100%;min-height:52px;color:var(--color-text);cursor:pointer;border:none;font-family:inherit;font-size:15px;font-weight:700;transition:background .15s}.settings-signout:hover{background:var(--color-surface-elevated)}.records-page{gap:var(--space-lg)}.records-summary{color:var(--color-text-tertiary);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.records-group{gap:var(--space-sm);flex-direction:column;display:flex}.records-group-title{color:var(--color-text-tertiary);margin:0;padding-left:2px;font-size:12px;font-weight:500}.record-card{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(150deg,#1e1e26,#17171d);display:flex}.record-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary);background:#7c6cf01f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.record-icon img{object-fit:contain;width:20px;height:20px}.record-icon-sub{color:#f7b22e;background:#f7b22e1f}.record-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.record-title{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.record-date{color:var(--color-text-tertiary);font-size:11px}.record-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.record-price{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:14px;font-weight:700}.record-status{border-radius:var(--radius-pill);padding:1px 8px;font-size:10px}.record-status-paid{color:#3fbf7f;background:#3fbf7f24}.record-status-failed{color:#f0564a;background:#f0564a24}.record-status-pending{color:#f7b22e;background:#f7b22e24}.record-status-refunded{color:var(--color-text-tertiary);background:#ffffff0f}.trade-page{gap:var(--space-lg)}.trade-filters{gap:var(--space-sm);display:flex}.trade-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;background:0 0;padding:9px 20px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s,color .15s}.trade-chip:hover{border-color:var(--color-primary-dark);color:var(--color-text)}.trade-chip-active{color:#fff;background:#ff2d8a;border-color:#0000;font-weight:600;box-shadow:0 0 0 2px #6a5cff}.feedback-page{gap:var(--space-md)}.feedback-textarea{min-height:210px;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);resize:none;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .15s}.feedback-textarea::placeholder{color:var(--color-text-tertiary)}.feedback-textarea:focus{border-color:var(--color-primary);outline:none}.feedback-photo-row{align-items:center;gap:var(--space-md);display:flex}.feedback-photo-hint{color:var(--color-text-secondary);flex:1;font-size:13px}.feedback-add-photo{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;background:#2c2c33;border:none;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s}.feedback-add-photo:hover{background:#34343c}.feedback-photo-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.feedback-photo{border-radius:var(--radius-md);background:#232329;width:64px;height:64px;position:relative;overflow:hidden}.feedback-photo img{object-fit:cover;width:100%;height:100%}.feedback-photo-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;width:18px;height:18px;padding:0;font-size:12px;line-height:1;position:absolute;top:2px;right:2px}.feedback-submit{margin-top:var(--space-md)}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.work-preview{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--color-primary-light);color:var(--color-primary);justify-content:center;align-items:center;font-size:14px;display:flex}.detail-title{margin:var(--space-lg) 0 0;font-size:20px;font-weight:700;line-height:1.3}.detail-meta{margin:var(--space-xs) 0 0;color:var(--color-text-secondary);font-size:12px}.detail-desc{margin:var(--space-md) 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.tag-row{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.tag{padding:var(--space-xs) 10px;border-radius:var(--radius-pill);background:var(--color-primary-light);color:var(--color-primary);font-size:12px}.waterfall-page{gap:0;padding-top:0;padding-bottom:0}.waterfall{column-count:2;column-gap:var(--space-md)}.waterfall-item{border-radius:var(--radius-lg);background:var(--color-surface);break-inside:avoid;margin-bottom:var(--space-md);text-decoration:none;display:block;overflow:hidden}.waterfall-media{aspect-ratio:4/5;width:100%;position:relative;overflow:hidden}.waterfall-item:nth-child(3n+2) .waterfall-media{aspect-ratio:1}.waterfall-item:nth-child(3n) .waterfall-media{aspect-ratio:3/4}.waterfall-img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.waterfall-item:hover .waterfall-img{transform:scale(1.03)}.waterfall-fallback{background:var(--color-primary-light);color:var(--color-primary);justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.skeleton-card{pointer-events:none}.skeleton-media{background:linear-gradient(100deg,#202028 30%,#2c2c35 50%,#202028 70%) 0 0/200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-media{animation:none}}.generate-page{gap:var(--space-lg)}.mode-switch{gap:var(--space-md);margin-top:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mode-option{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);height:72px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s,color .15s}.mode-option:hover{background:var(--color-surface-elevated)}.mode-option-active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.photo-wall{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.photo-tile{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-surface);position:relative;overflow:hidden}.photo-tile-img{object-fit:cover;width:100%;height:100%;display:block}.photo-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:background .15s;display:flex;position:absolute;top:6px;right:6px}.photo-remove:hover{background:var(--color-danger)}.photo-add{justify-content:center;align-items:center;gap:var(--space-xs);aspect-ratio:1;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;flex-direction:column;padding:0;font-family:inherit;transition:background .15s,border-color .15s,color .15s;display:flex}.photo-add:hover{border-color:var(--color-primary);background:var(--color-surface);color:var(--color-primary)}.photo-add-empty{aspect-ratio:auto;grid-column:1/-1;height:141.34px}.photo-add-icon{font-size:24px;line-height:1}.photo-add-text{font-size:12px}.uploader-hint-static{color:var(--color-text-tertiary);margin:0;font-size:12px;line-height:1.6}.safety-banner{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);background:#f0446b14;display:flex}.safety-banner-icon{background:var(--color-danger);color:#fff;text-align:center;border-radius:50%;flex-shrink:0;width:20px;height:20px;font-size:13px;font-weight:700;line-height:20px}.safety-banner-text{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.65}.prompt-label{color:var(--color-text);font-size:16px;font-weight:700}.prompt-box{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;transition:border-color .15s;display:flex}.prompt-box:focus-within{border-color:var(--color-primary)}.prompt-textarea{width:100%;min-height:88px;max-height:220px;color:var(--color-text);resize:none;scrollbar-width:thin;scrollbar-color:#ffffff29 transparent;background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:14px;line-height:1.8;overflow-y:auto}.prompt-textarea::-webkit-scrollbar{width:6px}.prompt-textarea::-webkit-scrollbar-track{background:0 0}.prompt-textarea::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#ffffff29}.prompt-textarea::-webkit-scrollbar-thumb:hover{background:#ffffff47}.prompt-textarea::placeholder{color:var(--color-text-tertiary)}.prompt-footer{justify-content:flex-end;align-items:center;gap:var(--space-md);display:flex}.prompt-counter{color:var(--color-text-secondary);font-size:12px}.prompt-clear{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;transition:color .15s;display:flex}.prompt-clear:hover:enabled{color:var(--color-text)}.prompt-clear:disabled{opacity:.4;cursor:default}.coin-icon{object-fit:contain;width:20px;height:20px}.generate-agree{align-items:flex-start;gap:var(--space-sm);padding:0 var(--space-xs);display:flex}.generate-agree input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:2px 0 0}.generate-agree-text{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;line-height:1.6}.legal-link{color:var(--color-primary);text-decoration:none}.legal-link:hover{text-decoration:underline}.legal-page{gap:var(--space-xl);padding-top:var(--space-lg)}.legal-meta{color:var(--color-text-tertiary);margin:0;font-size:12px}.legal-section{gap:var(--space-sm);flex-direction:column;display:flex}.legal-heading{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.legal-paragraph{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.85}.legal-footnote{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-tertiary);margin:0;font-size:12px;line-height:1.6}.mine-page{gap:var(--space-lg)}.mine-profile{align-items:center;gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex}.mine-avatar{background:linear-gradient(135deg,#7c6cf0 0%,#4f3ed6 100%);border-radius:50%;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden;box-shadow:0 4px 16px #7c6cf059}.mine-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.mine-avatar-fallback{letter-spacing:1px;color:#fff;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;position:absolute;inset:0}.mine-profile-info{gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.mine-profile-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:700;overflow:hidden}.mine-profile-bio{color:var(--color-text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.mine-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex}.mine-membership{align-items:center;gap:var(--space-md);min-width:0;display:flex}.mine-meta-label{color:var(--color-text-tertiary);font-size:12px}.mine-membership-name{color:var(--color-text);font-size:14px;font-weight:600}.mine-divider{background:var(--color-border);width:1px;height:14px}.mine-coin{color:var(--color-text-secondary);font-size:12px}.mine-coin-value{color:var(--color-primary);font-weight:600}.mine-icon-link{border-radius:var(--radius-pill);width:36px;height:36px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,opacity .15s;display:inline-flex}.mine-icon-link:hover{background:var(--color-primary-light)}.mine-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.mine-header-actions{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.mine-recharge{min-height:44px;padding:0 var(--space-lg);flex-shrink:0;font-size:14px}.mine-section-tabs{gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mine-section-tab{padding:var(--space-sm) 0;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s}.mine-section-tab:hover{color:var(--color-text)}.mine-section-tab-active{background:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 4px 14px #7c6cf04d}.mine-section-tab-active:hover{color:#fff}.mine-tabs{gap:var(--space-xl);padding:0 var(--space-xs);display:flex}.mine-tab{padding:var(--space-sm) 0;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px;transition:color .15s;position:relative}.mine-tab:hover{color:var(--color-text)}.mine-tab-active{color:var(--color-text);font-weight:600}.mine-tab-active:after{content:"";background:var(--color-primary);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.mine-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mine-tile{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid #0000;transition:transform .15s,border-color .15s;display:block;position:relative;overflow:hidden}.mine-tile:hover{border-color:var(--color-primary);transform:translateY(-1px)}.mine-tile-img{object-fit:cover;width:100%;height:100%;display:block}.mine-tile-placeholder{width:100%;height:100%;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:13px;display:flex}.mine-tile-badge{top:var(--space-sm);left:var(--space-sm);border-radius:var(--radius-pill);color:#fff;pointer-events:none;background:0 0;padding:2px 8px;font-size:11px;line-height:16px;position:absolute}.mine-tile-generating{background:#7c6cf0d9}.mine-tile-failed{background:#f0446bd9}.billing-page{gap:var(--space-lg);padding-top:0}.billing-hero{align-items:center;gap:var(--space-xs);padding:var(--space-xl) 0 var(--space-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.billing-hero-glow{pointer-events:none;background:radial-gradient(closest-side,#7c6cf061,#0000);border-radius:50%;width:340px;height:230px;position:absolute;top:-90px;left:50%;transform:translate(-50%)}.billing-hero-icon{object-fit:contain;filter:drop-shadow(0 8px 20px #f7b22e66);width:46px;height:46px;position:relative}.billing-title{color:var(--color-text);text-align:center;margin:0;font-size:26px;font-weight:700;position:relative}.billing-subtitle{color:var(--color-text-secondary);margin:0;font-size:13px;position:relative}.plan-list{gap:var(--space-lg);padding-top:var(--space-xs);flex-direction:column;display:flex}.plan-item{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;background:linear-gradient(150deg,#1e1e26,#17171d);font-family:inherit;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.plan-item:hover{border-color:#3a3560;transform:translateY(-1px)}.plan-item-active{border-color:var(--color-primary);background:linear-gradient(150deg,#2a2547,#1b1a27);box-shadow:0 0 0 1px #7c6cf040,0 14px 30px -16px #7c6cf0d9}.plan-badge{top:-9px;right:var(--space-lg);border-radius:var(--radius-pill);color:var(--color-on-primary);background:linear-gradient(135deg,#8b7bf5,#5b4bd6);padding:2px 10px;font-size:11px;font-weight:600;position:absolute;box-shadow:0 4px 12px -4px #7c6cf0d9}.plan-check{border:1px solid var(--color-border);width:22px;height:22px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.plan-item-active .plan-check{border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 0 0 4px #7c6cf029}.plan-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.plan-label{color:var(--color-text);font-size:14px;font-weight:600}.plan-perday{color:var(--color-text-tertiary);font-size:11px}.plan-price-wrap{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.plan-price{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:19px;font-weight:700}.plan-item-active .plan-price{color:var(--color-primary)}.plan-cycle{color:var(--color-text-tertiary);font-size:11px}.agreement{align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs) 0;display:flex}.agreement-check{border:1px solid var(--color-border);width:20px;height:20px;color:var(--color-on-primary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:0;transition:border-color .18s,background .18s;display:flex}.agreement-check:hover{border-color:var(--color-primary)}.agreement-check-on{border-color:var(--color-primary);background:var(--color-primary)}.agreement-text{color:var(--color-text-secondary);font-size:12px;line-height:1.7}.agreement-link{color:var(--color-primary);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;line-height:1.7;text-decoration:underline}.agreement-link:hover{color:var(--color-text)}.billing-subscribe{border-radius:var(--radius-pill);background:linear-gradient(135deg,#8b7bf5,#5b4bd6);width:100%;min-height:52px;font-size:16px;font-weight:700;box-shadow:0 16px 32px -14px #7c6cf0e6}.billing-subscribe:hover:not(:disabled){background:linear-gradient(135deg,#9789f7,#6656e0)}.billing-subscribe:disabled{box-shadow:none}.billing-note{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-tertiary);background:#ffffff05;margin:0;font-size:12px;line-height:1.7;display:flex}.billing-note-icon{border:1px solid var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:3px;font-size:10px;font-weight:600;display:flex}.store-page{gap:var(--space-lg);padding-top:0}.store-history{border:1px solid var(--color-border);color:#9a9aa3;background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-right:-8px;transition:color .15s,border-color .15s,background .15s;display:flex}.store-history:hover{color:#fff;border-color:var(--color-primary);background:#7c6cf024}.store-hero{align-items:center;gap:var(--space-xs);padding:var(--space-xl) 0 var(--space-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.store-hero-glow{pointer-events:none;background:radial-gradient(closest-side,#7c6cf061,#0000);border-radius:50%;width:340px;height:230px;position:absolute;top:-90px;left:50%;transform:translate(-50%)}.store-hero-icon{object-fit:contain;filter:drop-shadow(0 8px 20px #f7b22e66);width:46px;height:46px;position:relative}.store-title{color:var(--color-text);text-align:center;margin:0;font-size:26px;font-weight:700;position:relative}.store-subtitle{color:var(--color-text-secondary);margin:0;font-size:13px;position:relative}.store-status{align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(150deg,#1e1e26,#17171d);display:flex}.store-status-cell{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.store-status-label{color:var(--color-text-tertiary);font-size:11px}.store-status-value{color:var(--color-text);font-size:16px;font-weight:700}.store-status-coins{color:#f7b22e}.store-status-divider{background:var(--color-border);width:1px;height:30px}.store-banner{justify-content:center;align-items:flex-start;gap:var(--space-xs);min-height:140px;padding:var(--space-lg);border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 90% 0,#7c6cf059,#0000 60%),linear-gradient(150deg,#201c33,#15151c);border:1px solid #7c6cf040;flex-direction:column;display:flex;position:relative;overflow:hidden}.store-banner-orb{pointer-events:none;border-radius:50%;position:absolute}.store-banner-orb-left{background:radial-gradient(closest-side,#8b7bf580,#0000);width:120px;height:120px;bottom:-50px;left:-30px}.store-banner-orb-right{background:radial-gradient(closest-side,#f7b22e47,#0000);width:140px;height:140px;top:-40px;right:-20px}.store-banner-badge{border-radius:var(--radius-pill);color:var(--color-text-secondary);background:#ffffff14;padding:2px 10px;font-size:11px;position:relative}.store-banner-text{color:var(--color-text);font-size:18px;font-weight:700;position:relative}.store-banner-sub{color:var(--color-text-tertiary);font-size:12px;position:relative}.store-section-head{justify-content:space-between;align-items:baseline;display:flex}.store-section-title{padding-left:var(--space-md);color:var(--color-text);margin:0;font-size:16px;font-weight:700;position:relative}.store-section-title:before{content:"";background:linear-gradient(#8b7bf5,#5b4bd6);border-radius:2px;width:3px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.store-section-hint{color:var(--color-text-tertiary);font-size:11px}.coin-package-grid{gap:var(--space-md);padding-top:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.coin-package{align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(150deg,#1e1e26,#17171d);flex-direction:column;font-family:inherit;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.coin-package:hover{border-color:var(--color-primary);background:linear-gradient(150deg,#2a2547,#1b1a27);transform:translateY(-2px);box-shadow:0 0 0 1px #7c6cf038,0 16px 30px -18px #7c6cf0e6}.coin-package-badge{border-radius:var(--radius-pill);color:#1a1205;background:linear-gradient(135deg,#f7b22e,#e08a00);padding:2px 10px;font-size:11px;font-weight:600;position:absolute;top:-9px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px -4px #f7b22ecc}.coin-package-amount{align-items:center;gap:var(--space-xs);display:flex}.coin-package-icon{object-fit:contain;width:22px;height:22px}.coin-package-count{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:20px;font-weight:700}.coin-package-price{border:1px solid var(--color-border);border-radius:var(--radius-pill);width:100%;color:var(--color-text-secondary);background:#ffffff05;padding:6px 0;font-size:13px;font-weight:600}.coin-package:hover .coin-package-price{border-color:var(--color-primary);color:var(--color-primary)}.coin-package-bonus{color:#f7b22e;font-size:10px}.store-note{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-tertiary);background:#ffffff05;margin:0;font-size:12px;line-height:1.7;display:flex}.store-note-icon{border:1px solid var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:3px;font-size:10px;font-weight:600;display:flex}.explore-filters{gap:var(--space-sm);margin:0 calc(-1 * var(--space-lg));padding:8px var(--space-lg) 12px;scrollbar-width:none;z-index:1;background:#0e0e12eb;display:flex;position:sticky;top:0;overflow-x:auto}.explore-filters::-webkit-scrollbar{display:none}.explore-chip{border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;background:#26262c;border:1px solid #0000;flex:none;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.explore-chip:hover{color:var(--color-text);background:#2d2d34}.explore-chip-active{color:#ff2d8a;background:0 0;border-color:#ff2d8a;font-weight:600}.explore-chip-active:hover{color:#ff2d8a;background:0 0}.confirm-overlay{z-index:40;padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009e;justify-content:center;align-items:center;animation:.18s confirm-fade;display:flex;position:fixed;inset:0}.confirm-dialog{width:100%;max-width:320px;padding:var(--space-xl);background:linear-gradient(160deg,#232329,#1b1b21);border:1px solid #ffffff14;border-radius:16px;animation:.2s confirm-pop;box-shadow:0 24px 60px #00000080}.confirm-title{margin:0 0 var(--space-sm);text-align:center;color:var(--color-text);font-size:17px;font-weight:600}.confirm-desc{text-align:center;color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.6}.confirm-actions{gap:var(--space-sm);margin-top:var(--space-xl);display:flex}.confirm-actions .btn{width:auto;padding:0 var(--space-md);flex:1}.confirm-danger{color:#fff;background:#e5484d}.confirm-danger:hover:not(:disabled){background:#d33f44}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
