@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Serif+SC:wght@400;700&display=swap'); @import 'tailwindcss'; @source not "../dist"; @source not "../dist_check"; @source not "../dist_check_final"; @source not "../dist_check_monster_position"; @font-face { font-family: 'Fusion Pixel'; src: url('/fusion-pixel.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; } @theme { --font-sans: 'Inter', ui-sans-serif, system-ui, sans-serif; --font-serif: 'Noto Serif SC', 'Georgia', serif; } :root { --ui-scale: clamp(0.78, 0.72 + 0.45vw, 1.06); --platform-bottom-nav-height: 3.5rem; --platform-bottom-dock-outer-height: calc( var(--platform-bottom-nav-height) + env(safe-area-inset-bottom, 0px) + 1.15rem ); --platform-bottom-nav-padding: 0.25rem; --platform-bottom-nav-gap: 0.25rem; --platform-bottom-nav-radius: 1.2rem; --platform-bottom-nav-button-radius: 1rem; --platform-bottom-nav-icon-size: 1.05rem; --platform-bottom-nav-icon-shell-size: 1.55rem; --platform-bottom-nav-label-size: 11px; --platform-bottom-nav-label-tracking: 0.18em; --platform-bottom-nav-content-gap: 0.22rem; --platform-bottom-nav-active-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 18px rgba(255, 91, 132, 0.1); } html, body, #root { width: 100%; height: 100%; min-width: 0; overflow-x: hidden; } body { margin: 0; background-color: #0a0a0a; color: #f4f4f5; -webkit-font-smoothing: antialiased; } .platform-viewport-shell { height: 100vh; max-height: 100vh; min-height: 100vh; } @supports (height: 100dvh) { .platform-viewport-shell { height: 100dvh; max-height: 100dvh; min-height: 100dvh; } } @keyframes character-animator-portrait-death-fall { 0% { transform: translateY(0) rotate(0deg) scaleX(1) scale(1); } 16% { transform: translateY(1%) rotate(-6deg) scaleX(1) scale(1); } 34% { transform: translateY(4%) rotate(-18deg) scaleX(1) scale(0.98); } 62% { transform: translateY(12%) rotate(-64deg) scaleX(-1) scale(0.9); } 82% { transform: translateY(17%) rotate(-96deg) scaleX(-1) scale(0.81); } 100% { transform: translateY(16%) rotate(-90deg) scaleX(-1) scale(0.82); } } @keyframes puzzle-clear-flash-sweep { 0% { transform: translate3d(-135%, -135%, 0) rotate(18deg); opacity: 0; } 18% { opacity: 0.18; } 45% { opacity: 0.92; } 78% { opacity: 0.22; } 100% { transform: translate3d(135%, 135%, 0) rotate(18deg); opacity: 0; } } .puzzle-clear-flash-overlay { background: radial-gradient( circle at 22% 24%, rgba(255, 250, 214, 0.22), transparent 28% ), radial-gradient( circle at 76% 74%, rgba(255, 214, 150, 0.16), transparent 30% ), linear-gradient( 180deg, rgba(255, 251, 235, 0.08), rgba(255, 251, 235, 0.02) ); } .puzzle-clear-flash-beam { position: absolute; inset: -48%; background: linear-gradient( 90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 248, 214, 0.18) 38%, rgba(255, 255, 255, 0.96) 50%, rgba(255, 235, 166, 0.28) 62%, rgba(255, 255, 255, 0) 100% ); box-shadow: 0 0 36px rgba(255, 250, 214, 0.28), 0 0 110px rgba(255, 233, 163, 0.12); mix-blend-mode: screen; animation: puzzle-clear-flash-sweep 0.9s ease-out forwards; } @keyframes puzzle-merge-center-flash { 0% { transform: translate(-50%, -50%) scale(0.34) rotate(0deg); opacity: 0; filter: blur(0); } 24% { opacity: 1; } 74% { opacity: 0.42; } 100% { transform: translate(-50%, -50%) scale(1.28) rotate(32deg); opacity: 0; filter: blur(1px); } } .puzzle-merge-center-flash { position: absolute; left: 0; top: 0; width: 4.5rem; height: 4.5rem; transform: translate(-50%, -50%); border-radius: 9999px; background: linear-gradient( 90deg, transparent 47%, rgba(255, 255, 255, 0.95) 50%, transparent 53% ), linear-gradient( 0deg, transparent 47%, rgba(255, 246, 191, 0.9) 50%, transparent 53% ), radial-gradient( circle, rgba(255, 255, 255, 0.95) 0 10%, rgba(255, 236, 157, 0.46) 12% 38%, transparent 62% ); box-shadow: 0 0 20px rgba(255, 255, 255, 0.58), 0 0 46px rgba(251, 191, 36, 0.32); mix-blend-mode: screen; animation: puzzle-merge-center-flash 0.72s ease-out forwards; } @keyframes puzzle-freeze-wash { 0% { opacity: 0; clip-path: circle(0% at 50% 50%); } 42% { opacity: 1; } 100% { opacity: 0.72; clip-path: circle(76% at 50% 50%); } } .puzzle-freeze-effect-layer { background: radial-gradient( circle at 50% 50%, rgba(240, 253, 250, 0.2), transparent 36% ), linear-gradient(135deg, rgba(165, 243, 252, 0.22), rgba(37, 99, 235, 0.1)); animation: puzzle-freeze-wash 0.85s ease-out both; } .fusion-pixel-app, .fusion-pixel-app * { font-family: 'Fusion Pixel', 'Inter', ui-sans-serif, system-ui, sans-serif !important; } .selection-hero-brand { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; } .selection-hero-brand--left { align-items: flex-start; text-align: left; } .selection-hero-brand__title { font-family: 'Noto Serif SC', 'Georgia', serif !important; font-size: clamp(3rem, 10vw, 4.6rem); font-weight: 700; line-height: 0.95; letter-spacing: 0.22em; color: #fffdf7; text-shadow: 0 2px 0 rgba(0, 0, 0, 0.68), 0 10px 28px rgba(0, 0, 0, 0.48), 0 0 22px rgba(129, 140, 248, 0.2); } .selection-hero-brand__subtitle { display: inline-flex; align-items: center; justify-content: center; gap: clamp(0.55rem, 2vw, 0.95rem); font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; font-size: clamp(0.72rem, 2vw, 0.92rem); font-weight: 600; letter-spacing: 0.42em; text-transform: uppercase; color: rgba(228, 228, 231, 0.88); text-shadow: 0 1px 10px rgba(0, 0, 0, 0.42); } .selection-hero-brand--left .selection-hero-brand__subtitle { justify-content: flex-start; } .selection-hero-brand__subtitle::before, .selection-hero-brand__subtitle::after { content: ''; width: clamp(1.75rem, 8vw, 3.2rem); height: 1px; background: linear-gradient( 90deg, transparent, rgba(96, 165, 250, 0.72), transparent ); opacity: 0.82; } .fusion-pixel-app .story-top-tabs { display: none !important; } .platform-ui-shell, .platform-ui-shell * { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; } .platform-theme, .platform-theme * { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important; } .platform-theme { color: var(--platform-text-strong); } .platform-theme--light { color-scheme: light; --platform-body-fill: radial-gradient( circle at top left, rgba(255, 196, 214, 0.14), transparent 24% ), radial-gradient( circle at 88% 4%, rgba(255, 222, 196, 0.12), transparent 20% ), radial-gradient( circle at bottom, rgba(255, 214, 225, 0.08), transparent 26% ), linear-gradient(180deg, #fffdfd 0%, #fffefe 50%, #fff8fa 100%); --platform-panel-shadow: 0 22px 60px rgba(215, 87, 134, 0.12), 0 8px 20px rgba(255, 255, 255, 0.82); --platform-panel-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.985), rgba(255, 250, 251, 0.96) ); --platform-panel-fill-soft: linear-gradient( 180deg, rgba(255, 255, 255, 0.95), rgba(255, 248, 250, 0.88) ); --platform-hero-fill: linear-gradient( 135deg, rgba(255, 139, 162, 0.9), rgba(255, 184, 153, 0.88) ); --platform-hero-glow-a: rgba(255, 255, 255, 0.22); --platform-hero-glow-b: rgba(255, 228, 211, 0.2); --platform-hero-overlay-strong: linear-gradient( 135deg, rgba(255, 146, 170, 0.78), rgba(255, 201, 171, 0.72) ); --platform-hero-overlay-soft: linear-gradient( 180deg, rgba(255, 255, 255, 0.1), rgba(255, 246, 249, 0.26) ); --platform-surface-border: rgba(239, 221, 228, 0.9); --platform-surface-hover-border: rgba(255, 154, 188, 0.58); --platform-shell-glow-1: rgba(255, 255, 255, 0.2); --platform-shell-glow-2: rgba(255, 220, 229, 0.18); --platform-shell-glow-3: rgba(255, 221, 194, 0.14); --platform-surface-glow-a: rgba(255, 213, 225, 0.14); --platform-surface-glow-b: rgba(255, 224, 201, 0.12); --platform-text-strong: #28151d; --platform-text-base: #5c4650; --platform-text-soft: #886f79; --platform-brand-logo-title: #3b1a24; --platform-brand-logo-subtitle: #d93570; --platform-brand-logo-shadow: #8f5870; --platform-line-soft: rgba(236, 214, 221, 0.72); --platform-subpanel-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.94), rgba(255, 250, 251, 0.9) ); --platform-subpanel-border: rgba(233, 217, 223, 0.82); --platform-warm-border: rgba(255, 140, 116, 0.28); --platform-warm-bg: rgba(255, 140, 116, 0.14); --platform-warm-text: #cf4f4e; --platform-cool-border: rgba(255, 83, 142, 0.24); --platform-cool-bg: rgba(255, 83, 142, 0.14); --platform-cool-text: #d93570; --platform-neutral-border: rgba(232, 191, 205, 0.44); --platform-neutral-bg: rgba(255, 255, 255, 0.68); --platform-neutral-text: #715662; --platform-button-primary-border: rgba(255, 101, 147, 0.3); --platform-button-primary-fill: linear-gradient(135deg, #ff4f8b, #ff8a73); --platform-button-primary-text: #fff7fb; --platform-button-secondary-fill: rgba(255, 255, 255, 0.72); --platform-button-secondary-text: #4b3340; --platform-button-ghost-fill: rgba(255, 255, 255, 0.52); --platform-button-ghost-text: #6e5460; --platform-button-danger-border: rgba(251, 113, 133, 0.22); --platform-button-danger-fill: rgba(255, 228, 233, 0.94); --platform-button-danger-text: #c2415d; --platform-success-border: rgba(52, 211, 153, 0.24); --platform-success-bg: rgba(236, 253, 245, 0.92); --platform-success-text: #0f8a61; --platform-icon-fill: rgba(255, 255, 255, 0.62); --platform-icon-border: rgba(232, 191, 205, 0.46); --platform-icon-text: #7a5d67; --platform-nav-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.96), rgba(255, 249, 250, 0.92) ); --platform-nav-active-fill: linear-gradient( 180deg, rgba(255, 91, 132, 0.16), rgba(255, 151, 116, 0.16) ); --platform-nav-active-border: rgba(255, 126, 154, 0.32); --platform-nav-active-shadow: 0 10px 22px rgba(255, 91, 132, 0.12); --platform-modal-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.96), rgba(255, 245, 248, 0.95) ); --platform-modal-border: rgba(255, 255, 255, 0.52); --platform-desktop-shell-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.99), rgba(255, 251, 252, 0.985) ); --platform-desktop-shell-border: rgba(240, 228, 232, 0.94); --platform-desktop-shell-inner-border: rgba(241, 230, 234, 0.92); --platform-desktop-topbar-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.95), rgba(255, 251, 252, 0.92) ); --platform-desktop-panel-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.95), rgba(255, 250, 251, 0.91) ); --platform-desktop-panel-border: rgba(238, 223, 228, 0.88); --platform-desktop-hover-shadow: 0 16px 28px rgba(222, 82, 124, 0.12); --platform-overlay-fill: linear-gradient( 180deg, rgba(255, 184, 204, 0.14), rgba(255, 255, 255, 0.56) ); --platform-track-border: rgba(234, 193, 208, 0.46); --platform-track-fill: rgba(255, 255, 255, 0.88); --platform-page-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.9), rgba(255, 250, 251, 0.8) ); --platform-page-border: rgba(241, 230, 234, 0.88); --platform-input-fill: rgba(255, 255, 255, 0.94); --platform-input-fill-focus: rgba(255, 255, 255, 0.96); --platform-input-highlight: rgba(255, 255, 255, 0.9); --platform-input-focus-ring: rgba(255, 91, 132, 0.14); --platform-nav-item-text: #7c6770; --platform-nav-item-text-active: #2d1820; --platform-nav-item-hover-fill: rgba(255, 244, 247, 0.92); --platform-nav-item-icon-fill: rgba(248, 244, 246, 1); --platform-nav-item-icon-text: #7a5d67; --platform-nav-item-icon-active-fill: rgba(255, 255, 255, 0.98); --platform-nav-item-icon-active-text: #d93570; --platform-nav-icon-active-shadow: 0 12px 24px rgba(255, 91, 132, 0.16); --platform-profile-hero-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.96), rgba(255, 245, 248, 0.9) ); --platform-profile-hero-border: rgba(255, 255, 255, 0.52); --platform-profile-hero-shadow: 0 20px 56px rgba(216, 74, 124, 0.18); --platform-profile-avatar-fill: linear-gradient( 135deg, rgba(255, 79, 139, 0.96), rgba(255, 140, 110, 0.9) ); --platform-profile-avatar-shadow: 0 14px 30px rgba(255, 79, 139, 0.24); --platform-profile-chip-fill: rgba(255, 255, 255, 0.88); --platform-profile-chip-hover-fill: rgba(255, 255, 255, 0.96); --platform-profile-chip-text: #6a505b; --platform-profile-action-fill: linear-gradient(135deg, #ff4f8b, #ff8a73); --platform-profile-action-text: #fff7fb; --platform-profile-action-shadow: 0 14px 30px rgba(255, 79, 139, 0.24); --platform-card-overlay-soft: linear-gradient( 180deg, rgba(255, 255, 255, 0.08), rgba(255, 247, 249, 0.82) ); --platform-card-overlay-strong: linear-gradient( 180deg, rgba(255, 255, 255, 0.16), rgba(255, 243, 247, 0.92) ); --platform-card-overlay-deep: radial-gradient( circle at top left, rgba(255, 255, 255, 0.2), transparent 30% ), radial-gradient(circle at right, rgba(255, 205, 178, 0.14), transparent 28%), linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 241, 246, 0.9)); } .platform-theme--dark { color-scheme: dark; --platform-body-fill: radial-gradient( circle at top, rgba(129, 140, 248, 0.2), transparent 30% ), radial-gradient( circle at top right, rgba(59, 130, 246, 0.12), transparent 24% ), radial-gradient( circle at bottom left, rgba(34, 211, 238, 0.08), transparent 26% ), linear-gradient(180deg, #13151c 0%, #090b11 100%); --platform-panel-shadow: 0 28px 88px rgba(5, 8, 28, 0.5); --platform-panel-fill: linear-gradient( 180deg, rgba(22, 20, 52, 0.95), rgba(7, 9, 21, 0.98) ); --platform-panel-fill-soft: linear-gradient( 180deg, rgba(122, 92, 255, 0.12), rgba(255, 255, 255, 0.03) ); --platform-hero-fill: radial-gradient( circle at top left, rgba(129, 140, 248, 0.24), transparent 34% ), radial-gradient(circle at right, rgba(34, 211, 238, 0.12), transparent 32%), linear-gradient(180deg, rgba(17, 22, 66, 0.95), rgba(8, 10, 24, 0.98)); --platform-hero-glow-a: rgba(129, 140, 248, 0.18); --platform-hero-glow-b: rgba(34, 211, 238, 0.1); --platform-surface-border: rgba(160, 169, 255, 0.12); --platform-surface-hover-border: rgba(255, 255, 255, 0.16); --platform-shell-glow-1: rgba(129, 140, 248, 0.2); --platform-shell-glow-2: rgba(59, 130, 246, 0.12); --platform-shell-glow-3: rgba(34, 211, 238, 0.08); --platform-surface-glow-a: rgba(129, 140, 248, 0.18); --platform-surface-glow-b: rgba(34, 211, 238, 0.1); --platform-text-strong: #ffffff; --platform-text-base: rgb(228 228 231); --platform-text-soft: rgb(161 161 170); --platform-brand-logo-title: #fff7dc; --platform-brand-logo-subtitle: #9fe7ff; --platform-brand-logo-shadow: #040814; --platform-line-soft: rgba(255, 255, 255, 0.1); --platform-subpanel-fill: rgba(255, 255, 255, 0.05); --platform-subpanel-border: rgba(255, 255, 255, 0.1); --platform-warm-border: rgba(167, 139, 250, 0.24); --platform-warm-bg: rgba(109, 40, 217, 0.18); --platform-warm-text: rgb(237 233 254); --platform-cool-border: rgba(103, 232, 249, 0.22); --platform-cool-bg: rgba(8, 145, 178, 0.14); --platform-cool-text: rgb(236 254 255); --platform-neutral-border: rgba(255, 255, 255, 0.08); --platform-neutral-bg: rgba(255, 255, 255, 0.05); --platform-neutral-text: rgb(228 228 231); --platform-button-primary-border: rgba(129, 140, 248, 0.3); --platform-button-primary-fill: linear-gradient(135deg, #5b6cff, #3dd9ff); --platform-button-primary-text: rgb(238 248 255); --platform-button-secondary-fill: rgba(255, 255, 255, 0.05); --platform-button-secondary-text: rgb(244 244 245); --platform-button-ghost-fill: rgba(255, 255, 255, 0.03); --platform-button-ghost-text: rgb(212 212 216); --platform-button-danger-border: rgba(251, 113, 133, 0.2); --platform-button-danger-fill: rgba(244, 63, 94, 0.1); --platform-button-danger-text: rgb(255 228 230); --platform-success-border: rgba(52, 211, 153, 0.24); --platform-success-bg: rgba(16, 185, 129, 0.1); --platform-success-text: rgb(220 252 231); --platform-icon-fill: rgba(255, 255, 255, 0.05); --platform-icon-border: rgba(255, 255, 255, 0.1); --platform-icon-text: rgb(212 212 216); --platform-nav-fill: linear-gradient( 180deg, rgba(109, 40, 217, 0.12), rgba(255, 255, 255, 0.03) ); --platform-nav-active-fill: linear-gradient( 180deg, rgba(91, 108, 255, 0.2), rgba(61, 217, 255, 0.08) ); --platform-nav-active-border: rgba(160, 169, 255, 0.24); --platform-nav-active-shadow: 0 12px 28px rgba(8, 14, 42, 0.4); --platform-modal-fill: linear-gradient( 180deg, rgba(16, 18, 46, 0.98), rgba(7, 8, 19, 0.98) ); --platform-modal-border: rgba(160, 169, 255, 0.12); --platform-desktop-shell-fill: linear-gradient( 180deg, rgba(8, 8, 30, 0.98), rgba(5, 6, 18, 0.99) ); --platform-desktop-shell-border: rgba(160, 169, 255, 0.14); --platform-desktop-shell-inner-border: rgba(255, 255, 255, 0.03); --platform-desktop-topbar-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03) ); --platform-desktop-panel-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02) ); --platform-desktop-panel-border: rgba(160, 169, 255, 0.12); --platform-desktop-hover-shadow: 0 16px 28px rgba(8, 11, 38, 0.2); --platform-overlay-fill: rgba(5, 8, 28, 0.72); --platform-track-border: rgba(255, 255, 255, 0.12); --platform-track-fill: rgba(255, 255, 255, 0.08); --platform-page-fill: linear-gradient( 180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02) ); --platform-page-border: rgba(255, 255, 255, 0.06); --platform-input-fill: rgba(255, 255, 255, 0.05); --platform-input-fill-focus: rgba(255, 255, 255, 0.08); --platform-input-highlight: rgba(255, 255, 255, 0.06); --platform-input-focus-ring: rgba(91, 108, 255, 0.22); --platform-nav-item-text: rgb(161 161 170); --platform-nav-item-text-active: rgb(238 248 255); --platform-nav-item-hover-fill: rgba(91, 108, 255, 0.08); --platform-nav-item-icon-fill: rgba(255, 255, 255, 0.06); --platform-nav-item-icon-text: rgb(161 161 170); --platform-nav-item-icon-active-fill: linear-gradient( 180deg, rgba(91, 108, 255, 0.24), rgba(61, 217, 255, 0.12) ); --platform-nav-item-icon-active-text: rgb(238 248 255); --platform-nav-icon-active-shadow: 0 12px 24px rgba(8, 14, 42, 0.42); --platform-profile-hero-fill: linear-gradient( 180deg, rgba(20, 24, 58, 0.96), rgba(8, 10, 24, 0.98) ); --platform-profile-hero-border: rgba(160, 169, 255, 0.14); --platform-profile-hero-shadow: 0 24px 70px rgba(5, 8, 28, 0.42); --platform-profile-avatar-fill: linear-gradient( 135deg, rgba(91, 108, 255, 0.94), rgba(61, 217, 255, 0.78) ); --platform-profile-avatar-shadow: 0 14px 32px rgba(61, 217, 255, 0.16); --platform-profile-chip-fill: rgba(255, 255, 255, 0.08); --platform-profile-chip-hover-fill: rgba(255, 255, 255, 0.14); --platform-profile-chip-text: rgb(228 228 231); --platform-profile-action-fill: linear-gradient(135deg, #5b6cff, #3dd9ff); --platform-profile-action-text: rgb(238 248 255); --platform-profile-action-shadow: 0 14px 32px rgba(91, 108, 255, 0.22); --platform-card-overlay-soft: linear-gradient( 180deg, rgba(8, 10, 14, 0.06), rgba(8, 10, 14, 0.74) ); --platform-card-overlay-strong: linear-gradient( 180deg, rgba(8, 10, 14, 0.14), rgba(8, 10, 14, 0.9) ); --platform-card-overlay-deep: radial-gradient( circle at top left, rgba(255, 255, 255, 0.14), transparent 30% ), radial-gradient(circle at right, rgba(255, 205, 178, 0.14), transparent 28%), linear-gradient(180deg, rgba(8, 10, 14, 0.22), rgba(8, 10, 14, 0.9)); } .platform-brand-logo { display: inline-flex; flex: none; flex-direction: column; align-items: flex-start; gap: 0.18rem; line-height: 1; } .platform-brand-logo__title, .platform-brand-logo__subtitle { font-synthesis: none; font-kerning: none; white-space: nowrap; } .platform-brand-logo__title { font-family: 'Fusion Pixel', 'Inter', ui-sans-serif, system-ui, sans-serif !important; font-size: clamp(1.9rem, 5.2vw, 2.65rem); font-weight: 400; line-height: 0.92; letter-spacing: 0.04em; color: var(--platform-brand-logo-title); } .platform-brand-logo__subtitle { padding-left: 0.08rem; font-family: 'Fusion Pixel', 'Inter', ui-sans-serif, system-ui, sans-serif !important; font-size: clamp(0.56rem, 1.7vw, 0.7rem); font-weight: 400; line-height: 1; letter-spacing: 0.08em; color: var(--platform-brand-logo-subtitle); } .platform-main-shell { position: relative; width: 100%; max-width: 100vw; min-width: 0; overflow: hidden; } .platform-main-shell::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient( circle at top, var(--platform-shell-glow-1), transparent 30% ), radial-gradient( circle at top right, var(--platform-shell-glow-2), transparent 24% ), radial-gradient( circle at bottom left, var(--platform-shell-glow-3), transparent 26% ); opacity: 0.9; } .platform-page-stage { position: relative; box-sizing: border-box; width: 100%; min-width: 0; min-height: 100%; border: 1px solid var(--platform-page-border); border-radius: 2rem; background: var(--platform-page-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); backdrop-filter: blur(18px); } .platform-tab-panel-stack { position: relative; min-height: 0; min-width: 0; overflow: hidden; } .platform-mobile-bottom-dock { flex: none; } .platform-tab-panel { box-sizing: border-box; width: 100%; min-height: 0; min-width: 0; height: 100%; overflow-y: auto; overflow-x: hidden; padding-right: 0.25rem; } .platform-tab-panel--hidden { display: none; } .platform-tab-panel--active { display: block; } .platform-surface { position: relative; box-sizing: border-box; min-width: 0; overflow: hidden; border: 1px solid var(--platform-surface-border); border-radius: 1.75rem; background: var(--platform-panel-fill); box-shadow: var(--platform-panel-shadow); } .platform-surface::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient( circle at top left, var(--platform-surface-glow-a), transparent 34% ), radial-gradient( circle at bottom right, var(--platform-surface-glow-b), transparent 26% ); } /* 背景图和遮罩必须保持绝对定位,避免 banner 图进入普通流后撑开首页布局。 */ .platform-surface > :not(.absolute) { position: relative; z-index: 1; } .platform-surface--soft { background: var(--platform-panel-fill-soft); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 18px 44px rgba(0, 0, 0, 0.12); } .platform-surface--hero { background: var(--platform-hero-fill); } .platform-surface--hero::before { background: radial-gradient( circle at top left, var(--platform-hero-glow-a), transparent 34% ), radial-gradient( circle at bottom right, var(--platform-hero-glow-b), transparent 32% ), var(--platform-hero-overlay-soft); } .platform-surface--light { border-color: var(--platform-line-soft); background: var(--platform-subpanel-fill); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12); } .platform-surface--light::before { background: radial-gradient( circle at top right, var(--platform-hero-glow-a), transparent 32% ), radial-gradient( circle at bottom left, var(--platform-hero-glow-b), transparent 26% ); } .platform-interactive-card { transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease, filter 180ms ease; } .platform-interactive-card:hover { transform: translateY(-2px); border-color: var(--platform-surface-hover-border); box-shadow: 0 28px 60px rgba(0, 0, 0, 0.14); } .platform-interactive-card:active { transform: translateY(0); filter: brightness(0.98); } .platform-public-work-card { background: var(--platform-subpanel-fill); } .platform-public-work-card__cover { background: color-mix(in srgb, var(--platform-panel-fill-soft) 86%, #000 14%); } .platform-public-work-card__body { background: color-mix(in srgb, var(--platform-subpanel-fill) 92%, #000 8%); } .platform-public-work-card__cover-stats { position: absolute; right: 0.65rem; bottom: 0.55rem; display: flex; max-width: calc(100% - 1.3rem); flex-wrap: wrap; justify-content: flex-end; gap: 0.35rem; } .platform-public-work-card__cover-stat { display: inline-flex; min-height: 1.55rem; align-items: center; gap: 0.22rem; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 9999px; background: rgba(0, 0, 0, 0.36); color: rgba(255, 255, 255, 0.92); padding: 0.16rem 0.48rem; font-size: 0.68rem; font-weight: 800; line-height: 1; backdrop-filter: blur(10px); box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18); } .platform-public-work-card__kind { max-width: 4.5rem; border: 1px solid var(--platform-cool-border); border-radius: 9999px; background: var(--platform-cool-bg); color: var(--platform-cool-text); padding: 0.28rem 0.6rem; font-size: 0.72rem; font-weight: 800; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .platform-public-work-card__author-avatar { display: inline-flex; width: 1.15rem; height: 1.15rem; flex: 0 0 auto; align-items: center; justify-content: center; border: 1px solid var(--platform-subpanel-border); border-radius: 9999px; background: var(--platform-profile-avatar-fill); color: var(--platform-button-primary-text); font-size: 0.62rem; font-weight: 900; line-height: 1; overflow: hidden; } .platform-public-work-card__author-avatar-image { width: 100%; height: 100%; object-fit: cover; } .platform-ranking-panel { min-height: 100%; } .platform-ranking-tabs { margin-bottom: 0.6rem; } .platform-ranking-tab { position: relative; min-height: 2.35rem; border: 0; border-radius: 0; background: transparent; color: var(--platform-text-soft); padding: 0 0.15rem; font-size: 0.95rem; font-weight: 800; white-space: nowrap; transition: color 180ms ease, transform 180ms ease; } .platform-ranking-tab:hover { color: var(--platform-text-strong); } .platform-ranking-tab--active { color: var(--platform-text-strong); } .platform-ranking-tab--active::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0.15rem; height: 0.18rem; border-radius: 9999px; background: var(--platform-warm-text); } .platform-ranking-item { display: grid; grid-template-columns: 2.15rem 4.75rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; min-height: 5.8rem; border: 1px solid var(--platform-subpanel-border); border-radius: 1.2rem; background: color-mix( in srgb, var(--platform-subpanel-fill) 88%, #050506 12% ); padding: 0.7rem; color: var(--platform-text-base); transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease; } .platform-ranking-item:hover { transform: translateY(-1px); border-color: var(--platform-surface-hover-border); box-shadow: var(--platform-desktop-hover-shadow); } .platform-ranking-item__rank { min-width: 0; color: var(--platform-text-strong); font-size: clamp(1.35rem, 5vw, 1.75rem); font-weight: 900; line-height: 1; text-align: center; } .platform-ranking-item__cover { position: relative; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--platform-subpanel-border); border-radius: 1rem; background: var(--platform-subpanel-fill); } .platform-ranking-item__tags { display: flex; min-height: 1.35rem; min-width: 0; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.35rem; } .platform-ranking-item__tags span { display: inline-flex; max-width: 5rem; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--platform-subpanel-border); border-radius: 9999px; background: color-mix( in srgb, var(--platform-panel-fill-soft) 72%, transparent ); color: var(--platform-text-soft); padding: 0.16rem 0.48rem; font-size: 0.68rem; font-weight: 700; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; } .platform-ranking-item__action { display: inline-flex; min-width: 4.2rem; min-height: 2.4rem; align-items: center; justify-content: center; border: 1px solid var(--platform-cool-border); border-radius: 9999px; background: var(--platform-cool-bg); color: var(--platform-cool-text); padding: 0 0.85rem; font-size: 0.9rem; font-weight: 900; white-space: nowrap; } .platform-category-list-panel { display: grid; min-width: 0; gap: 0.72rem; } .platform-category-filter-row { display: flex; min-width: 0; align-items: center; gap: 0.65rem; overflow: hidden; border: 1px solid var(--platform-subpanel-border); border-radius: 1.25rem; background: var(--platform-subpanel-fill); padding: 0.55rem 0.65rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); } .platform-category-filter-button { display: inline-flex; position: relative; min-height: 2.25rem; flex: 0 0 auto; align-items: center; gap: 0.35rem; border: 1px solid var(--platform-cool-border); border-radius: 9999px; background: var(--platform-cool-bg); color: var(--platform-cool-text); padding: 0 0.75rem; font-size: 0.86rem; font-weight: 900; white-space: nowrap; } .platform-category-filter-button__count { display: inline-flex; min-width: 1.18rem; height: 1.18rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--platform-warm-text); color: var(--platform-button-primary-text); padding: 0 0.28rem; font-size: 0.72rem; line-height: 1; } .platform-category-filter-divider { width: 1px; height: 1.85rem; flex: 0 0 auto; background: var(--platform-line-soft); } .platform-category-chip-scroll { display: flex; min-width: 0; flex: 1 1 auto; gap: 0.55rem; overflow-x: auto; padding-right: 0.1rem; } .platform-category-chip { display: inline-flex; min-height: 2.25rem; flex: 0 0 auto; align-items: center; justify-content: center; border: 1px solid var(--platform-subpanel-border); border-radius: 0.78rem; background: rgba(255, 255, 255, 0.04); color: var(--platform-text-base); padding: 0 0.92rem; font-size: 0.88rem; font-weight: 800; white-space: nowrap; } .platform-category-chip--active { border-color: var(--platform-cool-border); background: var(--platform-cool-bg); color: var(--platform-cool-text); } .platform-category-sort-button { display: inline-flex; width: fit-content; min-height: 1.75rem; align-items: center; gap: 0.2rem; border: 0; background: transparent; color: var(--platform-text-soft); padding: 0 0.2rem; font-size: 0.88rem; font-weight: 800; } .platform-category-game-list { display: grid; min-width: 0; gap: 0.78rem; } .platform-category-game-item { display: grid; min-width: 0; width: 100%; grid-template-columns: 4.75rem minmax(0, 1fr) auto; align-items: center; gap: 0.78rem; border: 0; border-radius: 0.9rem; background: transparent; color: var(--platform-text-base); padding: 0.1rem 0; text-align: left; } .platform-category-game-item__cover { position: relative; aspect-ratio: 1; min-width: 0; overflow: hidden; border: 1px solid var(--platform-subpanel-border); border-radius: 1rem; background: var(--platform-subpanel-fill); } .platform-category-game-item__body { min-width: 0; } .platform-category-game-item__title-row { display: flex; min-width: 0; align-items: center; gap: 0.38rem; } .platform-category-game-item__title { min-width: 0; overflow: hidden; color: var(--platform-text-strong); font-size: 1rem; font-weight: 900; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; } .platform-category-game-item__badge { display: inline-flex; min-height: 1.22rem; flex: 0 0 auto; align-items: center; border-radius: 0.36rem; background: rgba(255, 255, 255, 0.08); color: var(--platform-text-soft); padding: 0 0.38rem; font-size: 0.68rem; font-weight: 800; } .platform-category-game-item__meta { display: flex; min-width: 0; align-items: center; gap: 0.34rem; overflow: hidden; margin-top: 0.28rem; color: var(--platform-text-soft); font-size: 0.78rem; font-weight: 700; white-space: nowrap; } .platform-category-game-item__meta > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; } .platform-category-game-item__metric { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 0.14rem; color: var(--platform-cool-text); } .platform-category-game-item__summary { min-width: 0; overflow: hidden; margin-top: 0.35rem; color: var(--platform-text-soft); font-size: 0.82rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; } .platform-category-game-item__action { display: inline-flex; min-width: 4rem; min-height: 2.35rem; flex: 0 0 auto; align-items: center; justify-content: center; border: 1px solid var(--platform-cool-border); border-radius: 9999px; background: var(--platform-cool-bg); color: var(--platform-cool-text); padding: 0 0.8rem; font-size: 0.9rem; font-weight: 900; white-space: nowrap; } .platform-pill { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; border-radius: 9999px; border: 1px solid rgba(255, 255, 255, 0.1); padding: 0.35rem 0.85rem; font-size: 10px; font-weight: 600; letter-spacing: 0.18em; } .platform-pill--warm { border-color: var(--platform-warm-border); background: var(--platform-warm-bg); color: var(--platform-warm-text); } .platform-pill--cool { border-color: var(--platform-cool-border); background: var(--platform-cool-bg); color: var(--platform-cool-text); } .platform-pill--neutral { border-color: var(--platform-neutral-border); background: var(--platform-neutral-bg); color: var(--platform-neutral-text); } .platform-pill--rose { border-color: rgba(251, 113, 133, 0.2); background: rgba(244, 63, 94, 0.1); color: rgb(255 228 230); } .platform-pill--success { border-color: var(--platform-success-border); background: var(--platform-success-bg); color: var(--platform-success-text); } .creation-work-card-stat { --creation-work-stat-accent: #6b7cff; position: relative; min-width: 0; min-height: 3.15rem; overflow: hidden; border: 1px solid color-mix(in srgb, var(--creation-work-stat-accent) 24%, transparent); border-radius: 0.5rem; background: radial-gradient( circle at 100% 0, color-mix(in srgb, var(--creation-work-stat-accent) 16%, transparent), transparent 62% ), color-mix(in srgb, var(--platform-neutral-bg) 76%, transparent); padding: 0.42rem 0.42rem 0.46rem; box-shadow: 0 0.55rem 1.05rem color-mix(in srgb, var(--creation-work-stat-accent) 9%, transparent); backdrop-filter: blur(14px); } .creation-work-card-stat--play { --creation-work-stat-accent: #2f9d78; } .creation-work-card-stat--remix { --creation-work-stat-accent: #ff9a3d; } .creation-work-card-stat--like { --creation-work-stat-accent: #ff6b6b; } .creation-work-card-stat__label { display: block; min-width: 0; overflow: hidden; color: var(--platform-text-soft); font-size: 0.625rem; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; } .creation-work-card-stat__value { display: flex; min-width: 0; align-items: baseline; gap: 0.12rem; margin-top: 0.26rem; color: var(--platform-text-strong); font-weight: 900; line-height: 1.05; white-space: nowrap; } .creation-work-card-stat__number { min-width: 0; overflow: hidden; font-size: 1rem; text-overflow: ellipsis; } .creation-work-card-stat__unit { flex: 0 0 auto; color: var(--platform-text-soft); font-size: 0.58rem; font-weight: 800; } .creation-work-card-stat__growth { position: absolute; right: 0.35rem; bottom: 0.22rem; display: inline-flex; align-items: center; gap: 0.08rem; color: #ef233c; font-size: 0.54rem; font-weight: 900; line-height: 1; } .creation-work-card-incentive { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: stretch; gap: 0.38rem; min-width: 0; } .creation-work-card-incentive__metric, .creation-work-card-incentive__button { min-width: 0; border: 1px solid color-mix(in srgb, #6b7cff 22%, transparent); border-radius: 0.5rem; background: color-mix(in srgb, var(--platform-neutral-bg) 82%, transparent); backdrop-filter: blur(14px); } .creation-work-card-incentive__metric { overflow: hidden; padding: 0.38rem 0.42rem; } .creation-work-card-incentive__label { display: block; overflow: hidden; color: var(--platform-text-soft); font-size: 0.58rem; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; } .creation-work-card-incentive__value { display: block; margin-top: 0.18rem; overflow: hidden; color: var(--platform-text-strong); font-size: 0.95rem; font-weight: 950; line-height: 1; text-overflow: ellipsis; white-space: nowrap; } .creation-work-card-incentive__button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.55rem; padding: 0 0.58rem; color: var(--platform-text-strong); font-size: 0.68rem; font-weight: 900; line-height: 1.1; transition: transform 180ms ease, border-color 180ms ease, opacity 180ms ease; } .creation-work-card-incentive__button:hover:not(:disabled) { transform: translateY(-1px); border-color: color-mix(in srgb, #6b7cff 44%, transparent); } .creation-work-card-incentive__button:disabled { cursor: not-allowed; opacity: 0.52; } .square-hole-runtime__target-arrow { animation: square-hole-runtime-target-arrow 0.86s ease-in-out infinite; } @keyframes square-hole-runtime-target-arrow { 0%, 100% { transform: translate(-50%, -138%); } 50% { transform: translate(-50%, -112%); } } .platform-tab { border: 1px solid var(--platform-subpanel-border); border-radius: 9999px; background: var(--platform-subpanel-fill); color: var(--platform-text-base); transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease; } .platform-tab:hover { transform: translateY(-1px); border-color: var(--platform-surface-hover-border); color: var(--platform-text-strong); } .platform-tab--active { border-color: var(--platform-nav-active-border); background: var(--platform-nav-active-fill); color: var(--platform-text-strong); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), var(--platform-nav-active-shadow); } .platform-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; min-height: 2.9rem; border-radius: 1rem; border: 1px solid rgba(255, 255, 255, 0.12); padding: 0.7rem 1rem; font-size: 0.9375rem; font-weight: 600; transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease, opacity 180ms ease, box-shadow 180ms ease; } .platform-button:hover { transform: translateY(-1px); } .platform-button:active { transform: translateY(0); } .platform-button:disabled { cursor: not-allowed; opacity: 0.55; } .platform-button--primary { border-color: var(--platform-button-primary-border); background: var(--platform-button-primary-fill); color: var(--platform-button-primary-text); box-shadow: 0 16px 34px rgba(255, 91, 132, 0.18); } .platform-button--secondary { background: var(--platform-button-secondary-fill); color: var(--platform-button-secondary-text); } .platform-button--ghost { background: var(--platform-button-ghost-fill); color: var(--platform-button-ghost-text); } .platform-button--danger { border-color: var(--platform-button-danger-border); background: var(--platform-button-danger-fill); color: var(--platform-button-danger-text); } .platform-close-confirm-dialog > :first-child { border-color: var(--platform-line-soft) !important; } .platform-close-confirm-dialog > :first-child > .min-w-0 { color: var(--platform-text-strong) !important; } .platform-close-confirm-dialog__content { display: grid; gap: 0.9rem; } .platform-close-confirm-dialog__message { border: 1px solid var(--platform-warm-border); border-radius: 1rem; background: var(--platform-warm-bg); padding: 0.95rem 1rem; color: var(--platform-warm-text); font-size: 0.875rem; font-weight: 600; line-height: 1.7; } .platform-close-confirm-dialog__actions { display: grid; gap: 0.75rem; } .platform-close-confirm-dialog__button { display: inline-flex; min-height: 2.5rem; width: 100%; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid transparent; padding: 0.55rem 1rem; font-size: 0.875rem; font-weight: 800; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease; } .platform-close-confirm-dialog__button:hover { transform: translateY(-1px); } .platform-close-confirm-dialog__button--primary { border-color: var(--platform-button-primary-border); background: var(--platform-button-primary-fill); color: var(--platform-button-primary-text); box-shadow: 0 12px 26px rgba(255, 91, 132, 0.16); } .platform-close-confirm-dialog__button--secondary { border-color: var(--platform-neutral-border); background: var(--platform-neutral-bg); color: var(--platform-neutral-text); } .platform-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 9999px; border: 1px solid var(--platform-icon-border); background: var(--platform-icon-fill); color: var(--platform-icon-text); transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease; } .platform-icon-button:hover { transform: translateY(-1px); border-color: var(--platform-nav-active-border); background: var(--platform-nav-active-fill); color: var(--platform-text-strong); } .platform-bottom-nav { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--platform-bottom-nav-height); gap: var(--platform-bottom-nav-gap); border: 1px solid var(--platform-desktop-panel-border); border-radius: var(--platform-bottom-nav-radius); background: var(--platform-nav-fill); padding: var(--platform-bottom-nav-padding); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 16px 40px rgba(0, 0, 0, 0.1); backdrop-filter: blur(20px); } .platform-bottom-nav__button { display: flex; box-sizing: border-box; min-width: 0; width: 100%; min-height: calc( var(--platform-bottom-nav-height) - var(--platform-bottom-nav-padding) * 2 ); align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--platform-bottom-nav-button-radius); background: transparent; padding: 0; color: var(--platform-nav-item-text); transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease; } .platform-bottom-nav__button-content { display: flex; min-height: 100%; min-width: 0; width: 100%; flex-direction: column; align-items: center; justify-content: center; gap: var(--platform-bottom-nav-content-gap); } .platform-bottom-nav__button:hover { color: var(--platform-text-strong); background: var(--platform-nav-item-hover-fill); } .platform-bottom-nav__button--active { border: 1px solid var(--platform-nav-active-border); background: var(--platform-nav-active-fill); color: var(--platform-text-strong); box-shadow: var(--platform-bottom-nav-active-shadow); } .platform-bottom-nav__button--primary { transform: translateY(-0.18rem); color: var(--platform-text-strong); } .platform-bottom-nav__button--primary .platform-bottom-nav__icon-shell { width: calc(var(--platform-bottom-nav-icon-shell-size) + 0.58rem); height: calc(var(--platform-bottom-nav-icon-shell-size) + 0.58rem); background: var(--platform-nav-active-fill); box-shadow: var(--platform-nav-icon-active-shadow); } .platform-bottom-nav__button--primary .platform-bottom-nav__icon { width: calc(var(--platform-bottom-nav-icon-size) + 0.18rem); height: calc(var(--platform-bottom-nav-icon-size) + 0.18rem); color: var(--platform-nav-item-icon-active-text); } .platform-bottom-nav__button--primary .platform-bottom-nav__label { color: var(--platform-nav-item-text-active); font-weight: 800; } .platform-bottom-nav__icon-shell, .platform-desktop-rail__icon-shell { display: flex; align-items: center; justify-content: center; border-radius: 9999px; background: var(--platform-nav-item-icon-fill); color: var(--platform-nav-item-icon-text); transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease; } .platform-bottom-nav__icon-shell { width: var(--platform-bottom-nav-icon-shell-size); height: var(--platform-bottom-nav-icon-shell-size); } .platform-desktop-rail__icon-shell { width: 2.75rem; height: 2.75rem; } .platform-bottom-nav__icon, .platform-desktop-rail__icon { color: var(--platform-nav-item-icon-text); width: var(--platform-bottom-nav-icon-size); height: var(--platform-bottom-nav-icon-size); transition: color 180ms ease; } .platform-bottom-nav__label, .platform-desktop-rail__label { color: var(--platform-nav-item-text); font-size: var(--platform-bottom-nav-label-size); font-weight: 600; letter-spacing: var(--platform-bottom-nav-label-tracking); line-height: 1; transition: color 180ms ease; } .platform-bottom-nav__button:hover .platform-bottom-nav__icon-shell, .platform-desktop-rail__button:hover .platform-desktop-rail__icon-shell { background: var(--platform-nav-item-hover-fill); } .platform-bottom-nav__button:hover .platform-bottom-nav__icon, .platform-bottom-nav__button:hover .platform-bottom-nav__label, .platform-desktop-rail__button:hover .platform-desktop-rail__icon, .platform-desktop-rail__button:hover .platform-desktop-rail__label { color: var(--platform-text-strong); } .platform-bottom-nav__button--active .platform-bottom-nav__icon-shell, .platform-desktop-rail__button--active .platform-desktop-rail__icon-shell { background: var(--platform-nav-item-icon-active-fill); box-shadow: var(--platform-nav-icon-active-shadow); } .platform-bottom-nav__button--active .platform-bottom-nav__icon, .platform-desktop-rail__button--active .platform-desktop-rail__icon { color: var(--platform-nav-item-icon-active-text); } .platform-bottom-nav__button--active .platform-bottom-nav__label, .platform-desktop-rail__button--active .platform-desktop-rail__label { color: var(--platform-nav-item-text-active); } .platform-modal-shell { border: 1px solid var(--platform-modal-border); background: var(--platform-modal-fill); box-shadow: 0 24px 80px rgba(0, 0, 0, 0.16); } .platform-modal-backdrop { background: var(--platform-overlay-fill); color: var(--platform-text-strong); backdrop-filter: blur(12px); } .platform-recharge-modal { border: 1px solid var(--platform-modal-border); background: var(--platform-modal-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 24px 80px rgba(0, 0, 0, 0.18); } .platform-overlay { background: var(--platform-overlay-fill); } .platform-desktop-shell { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--platform-desktop-shell-border); border-radius: 2.6rem; background: var(--platform-desktop-shell-fill); box-shadow: 0 40px 120px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.04); } @media (max-width: 639px) { :root { --platform-bottom-nav-height: 3.25rem; --platform-bottom-nav-padding: 0.18rem; --platform-bottom-nav-gap: 0.12rem; --platform-bottom-nav-radius: 1rem; --platform-bottom-nav-button-radius: 0.88rem; --platform-bottom-nav-icon-size: 0.98rem; --platform-bottom-nav-icon-shell-size: 1.42rem; --platform-bottom-nav-label-size: 10px; --platform-bottom-nav-label-tracking: 0.08em; --platform-bottom-nav-content-gap: 0.18rem; } .platform-page-stage { border-radius: 1.35rem; border-color: color-mix( in srgb, var(--platform-page-border) 72%, transparent ); box-shadow: none; } .platform-surface { border-radius: 1.4rem; } .platform-pill { padding: 0.3rem 0.68rem; letter-spacing: 0.1em; } .creation-work-card-stat { min-height: 2.88rem; padding: 0.36rem 0.34rem 0.42rem; } .creation-work-card-stat__label { font-size: 0.58rem; } .creation-work-card-stat__number { font-size: 0.9rem; } .creation-work-card-stat__unit { font-size: 0.54rem; } .creation-work-card-incentive { gap: 0.28rem; } .creation-work-card-incentive__metric { padding: 0.34rem 0.34rem; } .creation-work-card-incentive__label { font-size: 0.54rem; } .creation-work-card-incentive__value { font-size: 0.82rem; } .creation-work-card-incentive__button { min-height: 2.34rem; padding: 0 0.48rem; font-size: 0.62rem; } .platform-tab-panel { padding-right: 0; } .platform-bottom-nav__label { white-space: nowrap; } .platform-mobile-entry-shell, .platform-mobile-entry-shell > *, .platform-mobile-home-stage, .platform-mobile-home-stage > *, .platform-mobile-home-stage section { max-width: 100%; min-width: 0; } .platform-mobile-entry-shell { box-sizing: border-box; padding-bottom: var(--platform-bottom-dock-outer-height); } .platform-mobile-bottom-dock { position: fixed; right: max(0.75rem, env(safe-area-inset-right, 0px)); bottom: 0; left: max(0.75rem, env(safe-area-inset-left, 0px)); z-index: 60; padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 0.5rem); } .platform-mobile-home-stage { box-sizing: border-box; width: 100%; max-width: calc(100vw - 1rem); } .platform-mobile-home-stage .platform-surface--hero { max-width: 100%; } .platform-mobile-home-stage { gap: 0.75rem; } .platform-mobile-home-stage .platform-desktop-search { border-radius: 9999px; padding: 0.64rem 0.9rem; } .platform-mobile-home-channelbar { margin-right: -0.25rem; padding-left: 0.08rem; } .platform-mobile-home-channel { position: relative; min-height: 2rem; border: 0; background: transparent; color: var(--platform-text-soft); font-size: 0.92rem; font-weight: 700; white-space: nowrap; } .platform-mobile-home-channel--active { color: var(--platform-text-strong); } .platform-mobile-home-channel--active::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0.1rem; height: 0.16rem; border-radius: 9999px; background: var(--platform-warm-text); } .platform-mobile-home-feed { min-width: 0; } .platform-ranking-panel { padding-inline: 0.85rem; } .platform-ranking-item { grid-template-columns: 1.7rem 4.1rem minmax(0, 1fr) auto; gap: 0.56rem; min-height: 5.15rem; border-radius: 1rem; padding: 0.56rem; } .platform-ranking-item__cover { border-radius: 0.82rem; } .platform-ranking-item__action { min-width: 3.55rem; min-height: 2.15rem; padding-inline: 0.62rem; font-size: 0.82rem; } .platform-ranking-item__tags { gap: 0.28rem; margin-top: 0.28rem; } .platform-ranking-item__tags span { max-width: 4.2rem; padding-inline: 0.4rem; font-size: 0.64rem; } .platform-category-list-panel { gap: 0.64rem; } .platform-category-filter-row { border-radius: 1rem; gap: 0.5rem; padding: 0.46rem 0.5rem; } .platform-category-filter-button { min-height: 2.05rem; padding-inline: 0.62rem; font-size: 0.8rem; } .platform-category-chip { min-height: 2.05rem; border-radius: 0.68rem; padding-inline: 0.78rem; font-size: 0.8rem; } .platform-category-game-list { gap: 0.7rem; } .platform-category-game-item { grid-template-columns: 4.3rem minmax(0, 1fr) auto; gap: 0.62rem; } .platform-category-game-item__cover { border-radius: 0.86rem; } .platform-category-game-item__title { font-size: 0.94rem; } .platform-category-game-item__meta { font-size: 0.72rem; } .platform-category-game-item__summary { font-size: 0.78rem; } .platform-category-game-item__action { min-width: 3.45rem; min-height: 2.08rem; padding-inline: 0.6rem; font-size: 0.82rem; } .platform-public-work-card { width: 100%; border-radius: 0.9rem; background: color-mix( in srgb, var(--platform-subpanel-fill) 82%, #050506 18% ); } .platform-public-work-card__cover { border-radius: 0; } .platform-public-work-card__body { min-height: 5.4rem; padding: 0.68rem 0.76rem 0.72rem; background: color-mix( in srgb, var(--platform-subpanel-fill) 78%, #050506 22% ); } .platform-mobile-hero-secondary { display: none; } .platform-bottom-nav__button--primary .platform-bottom-nav__icon-shell { width: calc(var(--platform-bottom-nav-icon-shell-size) + 0.48rem); height: calc(var(--platform-bottom-nav-icon-shell-size) + 0.48rem); } } .platform-desktop-shell::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient( circle at top left, var(--platform-shell-glow-1), transparent 24% ), radial-gradient( circle at top right, var(--platform-shell-glow-2), transparent 18% ), radial-gradient( circle at 50% 0%, var(--platform-shell-glow-3), transparent 30% ); } .platform-desktop-shell::after { content: ''; position: absolute; inset: 1rem; border: 1px solid var(--platform-desktop-shell-inner-border); border-radius: 2rem; pointer-events: none; } .platform-desktop-topbar { position: relative; overflow: hidden; border: 1px solid var(--platform-desktop-panel-border); border-radius: 9999px; background: var(--platform-desktop-topbar-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 16px 32px rgba(0, 0, 0, 0.08); backdrop-filter: blur(22px); } .platform-desktop-topbar::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient( circle at left, var(--platform-shell-glow-1), transparent 22% ), radial-gradient( circle at right, var(--platform-shell-glow-2), transparent 24% ); } .platform-desktop-search { border: 1px solid var(--platform-desktop-panel-border); border-radius: 9999px; background: var(--platform-subpanel-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04); } .platform-desktop-rail { position: relative; overflow: hidden; border: 1px solid var(--platform-desktop-panel-border); border-radius: 1.9rem; background: var(--platform-desktop-panel-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 44px rgba(0, 0, 0, 0.08); } .platform-desktop-rail__button { display: flex; min-height: 5.25rem; width: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 0.6rem; border: 1px solid transparent; border-radius: 1.5rem; color: var(--platform-nav-item-text); transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, color 180ms ease; } .platform-desktop-rail__button:hover { transform: translateY(-1px); border-color: var(--platform-line-soft); background: var(--platform-subpanel-fill); color: var(--platform-text-strong); } .platform-desktop-rail__button--active { border-color: var(--platform-nav-active-border); background: var(--platform-nav-active-fill); color: var(--platform-text-strong); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), var(--platform-nav-active-shadow); } .platform-desktop-rail__button--primary { min-height: 5.85rem; border-color: var(--platform-nav-active-border); background: var(--platform-nav-active-fill); box-shadow: var(--platform-nav-active-shadow); } .platform-desktop-rail__button--primary .platform-desktop-rail__icon-shell { transform: scale(1.1); background: var(--platform-nav-item-icon-active-fill); box-shadow: var(--platform-nav-icon-active-shadow); } .platform-desktop-rail__button--primary .platform-desktop-rail__icon, .platform-desktop-rail__button--primary .platform-desktop-rail__label { color: var(--platform-nav-item-text-active); } .platform-desktop-panel { position: relative; overflow: hidden; border: 1px solid var(--platform-desktop-panel-border); border-radius: 1.9rem; background: var(--platform-desktop-panel-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 44px rgba(0, 0, 0, 0.08); backdrop-filter: blur(22px); } .platform-desktop-panel::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient( circle at top right, var(--platform-surface-glow-a), transparent 24% ), radial-gradient( circle at bottom left, var(--platform-surface-glow-b), transparent 26% ); } .platform-desktop-panel > * { position: relative; z-index: 1; } .platform-desktop-trending-item { position: relative; overflow: hidden; border: 1px solid var(--platform-subpanel-border); border-radius: 1.4rem; background: var(--platform-subpanel-fill); transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; } .platform-desktop-trending-item:hover { transform: translateY(-2px); border-color: var(--platform-surface-hover-border); background: rgba(255, 255, 255, 0.9); box-shadow: var(--platform-desktop-hover-shadow); } .platform-auth-card { border: 1px solid var(--platform-modal-border); background: var(--platform-modal-fill); box-shadow: 0 24px 80px rgba(0, 0, 0, 0.16); backdrop-filter: blur(18px); } .platform-subpanel { border: 1px solid var(--platform-subpanel-border); background: var(--platform-subpanel-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); } .platform-input { min-height: 2.75rem; width: 100%; border: 1px solid var(--platform-subpanel-border); border-radius: 1rem; background: var(--platform-input-fill); padding: 0.75rem 1rem; color: var(--platform-text-strong); outline: none; transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; box-shadow: inset 0 1px 0 var(--platform-input-highlight); } .platform-input::placeholder { color: var(--platform-text-soft); } .platform-input:focus { border-color: var(--platform-nav-active-border); background: var(--platform-input-fill-focus); box-shadow: 0 0 0 3px var(--platform-input-focus-ring); } .platform-profile-input { border: 1px solid var(--platform-subpanel-border); background: var(--platform-input-fill); color: var(--platform-text-strong); outline: none; box-shadow: inset 0 1px 0 var(--platform-input-highlight); transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; } .platform-profile-input::placeholder { color: var(--platform-text-soft); } .platform-profile-input:focus { border-color: var(--platform-nav-active-border); background: var(--platform-input-fill-focus); box-shadow: 0 0 0 3px var(--platform-input-focus-ring); } .platform-primary-button { border: 1px solid var(--platform-button-primary-border); background: var(--platform-button-primary-fill); color: var(--platform-button-primary-text); box-shadow: var(--platform-profile-action-shadow); transition: transform 180ms ease, filter 180ms ease, opacity 180ms ease; } .platform-primary-button:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.02); } .platform-modal-close { background: var(--platform-profile-chip-fill); color: var(--platform-profile-chip-text); transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; } .platform-modal-close:hover { background: var(--platform-profile-chip-hover-fill); color: var(--platform-text-strong); } .platform-profile-error { border: 1px solid var(--platform-button-danger-border); background: var(--platform-button-danger-fill); color: var(--platform-button-danger-text); } .platform-profile-success { border: 1px solid var(--platform-success-border); background: var(--platform-success-bg); color: var(--platform-success-text); } .platform-profile-hero { overflow: hidden; border: 1px solid var(--platform-profile-hero-border); background: var(--platform-profile-hero-fill); color: var(--platform-text-strong); box-shadow: var(--platform-profile-hero-shadow); } .platform-profile-avatar { background: var(--platform-profile-avatar-fill); color: white; box-shadow: var(--platform-profile-avatar-shadow); } .platform-profile-camera, .platform-profile-chip, .platform-profile-icon-button { background: var(--platform-profile-chip-fill); color: var(--platform-profile-chip-text); transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; } .platform-profile-camera { border: 1px solid var(--platform-subpanel-border); } .platform-profile-chip:hover, .platform-profile-icon-button:hover { background: var(--platform-profile-chip-hover-fill); color: var(--platform-text-strong); } .platform-profile-action { background: var(--platform-profile-action-fill); color: var(--platform-profile-action-text); box-shadow: var(--platform-profile-action-shadow); transition: transform 180ms ease, filter 180ms ease; } .platform-profile-action:hover { transform: translateY(-1px); filter: brightness(1.02); } .platform-role-studio__preview { border: 1px solid var(--platform-subpanel-border); background: radial-gradient( circle at top, var(--platform-surface-glow-a), transparent 48% ), var(--platform-subpanel-fill); } .platform-role-studio__stage { border: 1px solid var(--platform-subpanel-border); background: var(--platform-track-fill); } .platform-npc-portrait { border: 1px solid var(--platform-subpanel-border); background: radial-gradient( circle at top, var(--platform-surface-glow-a), transparent 48% ), var(--platform-subpanel-fill); } .platform-npc-portrait__grid { opacity: 0.14; background-image: linear-gradient( var(--platform-line-soft) 1px, transparent 1px ), linear-gradient(90deg, var(--platform-line-soft) 1px, transparent 1px); background-size: 16px 16px; } .platform-role-studio__footer { border-top: 1px solid var(--platform-subpanel-border); background: linear-gradient( 180deg, rgba(255, 255, 255, 0.08) 0%, transparent 16% ), var(--platform-desktop-panel-fill); backdrop-filter: blur(18px); } .platform-theme :where( .platform-modal-shell, .platform-auth-card, .platform-subpanel, .platform-remap-surface, .platform-role-studio ) :where( input:not([type='file']):not([type='range']):not([type='checkbox']):not( [type='radio'] ), textarea, select ) { border-color: var(--platform-subpanel-border) !important; background: var(--platform-input-fill) !important; color: var(--platform-text-strong) !important; box-shadow: inset 0 1px 0 var(--platform-input-highlight); } .platform-theme :where( .platform-modal-shell, .platform-auth-card, .platform-subpanel, .platform-remap-surface, .platform-role-studio ) :where( input:not([type='file']):not([type='range']):not([type='checkbox']):not( [type='radio'] ), textarea, select )::placeholder { color: var(--platform-text-soft) !important; } .platform-theme :where( .platform-modal-shell, .platform-auth-card, .platform-subpanel, .platform-remap-surface, .platform-role-studio ) :where( input:not([type='file']):not([type='range']):not([type='checkbox']):not( [type='radio'] ), textarea, select ):focus { border-color: var(--platform-nav-active-border) !important; background: var(--platform-input-fill-focus) !important; box-shadow: 0 0 0 3px var(--platform-input-focus-ring); } .platform-banner { border-radius: 1rem; border: 1px solid var(--platform-subpanel-border); padding: 0.875rem 1rem; } .platform-banner--info { border-color: var(--platform-cool-border); background: var(--platform-cool-bg); color: var(--platform-cool-text); } .platform-banner--warning { border-color: var(--platform-warm-border); background: var(--platform-warm-bg); color: var(--platform-warm-text); } .platform-banner--success { border-color: var(--platform-success-border); background: var(--platform-success-bg); color: var(--platform-success-text); } .platform-banner--danger { border-color: rgba(251, 113, 133, 0.2); background: rgba(244, 63, 94, 0.1); color: #c2415d; } .platform-progress-track { border: 1px solid var(--platform-track-border); background: var(--platform-track-fill); } .platform-cover-artwork { background: radial-gradient( circle at top, var(--platform-surface-glow-a), transparent 42% ), var(--platform-subpanel-fill); } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-white'], .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-zinc-50'], .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-zinc-100'] { color: var(--platform-text-strong) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-zinc-200'], .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-zinc-300'] { color: var(--platform-text-base) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-zinc-400'], .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel, .platform-remap-surface )[class*='text-zinc-500'] { color: var(--platform-text-soft) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel ) :where( [class*='text-white'], [class*='text-zinc-50'], [class*='text-zinc-100'] ) { color: var(--platform-text-strong) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel ) :where([class*='text-zinc-200'], [class*='text-zinc-300']) { color: var(--platform-text-base) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-desktop-topbar, .platform-desktop-search, .platform-desktop-rail, .platform-auth-card, .platform-subpanel ) :where([class*='text-zinc-400'], [class*='text-zinc-500']) { color: var(--platform-text-soft) !important; } .platform-theme--light .platform-surface:not(.platform-surface--hero) :where([class*='bg-black/18'], [class*='bg-black/24']), .platform-theme--light .platform-subpanel:where([class*='bg-black/18'], [class*='bg-black/24']), .platform-theme--light .platform-remap-surface:where( [class*='bg-black/18'], [class*='bg-black/24'] ) { background: var(--platform-subpanel-fill) !important; } .platform-theme--light .platform-surface:not(.platform-surface--hero) :where( [class*='border-white/10'], [class*='border-white/12'], [class*='border-white/15'] ), .platform-theme--light .platform-subpanel:where( [class*='border-white/10'], [class*='border-white/12'], [class*='border-white/15'] ), .platform-theme--light .platform-remap-surface:where( [class*='border-white/10'], [class*='border-white/12'], [class*='border-white/15'] ) { border-color: var(--platform-subpanel-border) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='bg-black/10'], [class*='bg-black/16'], [class*='bg-black/18'], [class*='bg-black/20'], [class*='bg-black/22'], [class*='bg-black/25'], [class*='bg-black/26'], [class*='bg-black/30'], [class*='bg-black/35'], [class*='bg-black/46'], [class*='bg-black/55'], [class*='bg-white/5'], [class*='bg-white/6'], [class*='bg-white/8'] ) { background: var(--platform-subpanel-fill) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='border-white/8'], [class*='border-white/10'], [class*='border-white/12'], [class*='border-white/16'], [class*='border-white/18'], [class*='border-white/20'], [class*='border-white/22'], [class*='border-white/25'] ) { border-color: var(--platform-subpanel-border) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='text-sky-50'], [class*='text-sky-100'], [class*='text-sky-200'], [class*='text-sky-300'] ) { color: var(--platform-cool-text) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='bg-sky-500/8'], [class*='bg-sky-500/10'], [class*='bg-sky-500/12'], [class*='bg-sky-500/15'] ) { background-color: var(--platform-cool-bg) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='border-sky-200/'], [class*='border-sky-300/'], [class*='border-sky-400/'] ) { border-color: var(--platform-cool-border) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='text-amber-50'], [class*='text-amber-100'], [class*='text-amber-200'] ) { color: var(--platform-warm-text) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-auth-card, .platform-subpanel ) :where( [class*='bg-amber-500/8'], [class*='bg-amber-500/10'], [class*='bg-amber-500/12'], [class*='bg-amber-500/15'] ) { background-color: var(--platform-warm-bg) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-auth-card, .platform-subpanel ) :where([class*='border-amber-300/'], [class*='border-amber-400/']) { border-color: var(--platform-warm-border) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='text-emerald-50'], [class*='text-emerald-100'], [class*='text-emerald-600'] ) { color: var(--platform-success-text) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where( [class*='bg-emerald-500/8'], [class*='bg-emerald-500/10'], [class*='bg-emerald-500/12'], [class*='bg-emerald-500/15'] ) { background-color: var(--platform-success-bg) !important; } .platform-theme--light :where( .platform-surface:not(.platform-surface--hero), .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel ) :where([class*='border-emerald-300/'], [class*='border-emerald-400/']) { border-color: var(--platform-success-border) !important; } .platform-theme--light .platform-remap-surface :where( [class*='text-white'], [class*='text-zinc-50'], [class*='text-zinc-100'] ) { color: var(--platform-text-strong) !important; } .platform-theme--light .platform-remap-surface :where([class*='text-zinc-200'], [class*='text-zinc-300']) { color: var(--platform-text-base) !important; } .platform-theme--light .platform-remap-surface :where([class*='text-zinc-400'], [class*='text-zinc-500']) { color: var(--platform-text-soft) !important; } .platform-theme--light :where( .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel, .platform-remap-surface, .platform-role-studio ) :where( [class~='bg-black/24'], [class~='bg-black/26'], [class~='bg-black/30'], [class~='bg-[#111318]/92'], [class~='bg-[#111318]/95'], [class~='bg-[#11161f]'] ) { background: var(--platform-subpanel-fill) !important; } .platform-theme--light :where( .platform-modal-shell, .platform-desktop-panel, .platform-desktop-trending-item, .platform-auth-card, .platform-subpanel, .platform-role-studio ) :where([class~='bg-white/10'], [class~='bg-white/12']) { background-color: var(--platform-track-fill) !important; } .platform-theme--light .platform-remap-surface :where( [class~='bg-black/18'], [class~='bg-black/20'], [class~='bg-black/22'], [class~='bg-black/24'], [class~='bg-black/26'], [class~='bg-black/30'], [class~='bg-[#111318]/92'], [class~='bg-[#111318]/95'], [class~='bg-white/5'], [class~='bg-white/6'], [class~='bg-white/8'] ) { background: var(--platform-subpanel-fill) !important; } .platform-theme--light .platform-remap-surface :where( [class*='border-white/8'], [class*='border-white/10'], [class*='border-white/12'], [class*='border-white/14'], [class*='border-white/16'], [class*='border-white/18'], [class*='border-white/20'], [class*='border-white/22'], [class*='border-white/25'] ) { border-color: var(--platform-subpanel-border) !important; } .platform-theme--light .platform-remap-surface :where( [class*='text-sky-50'], [class*='text-sky-100'], [class*='text-sky-200'], [class*='text-sky-300'] ) { color: var(--platform-cool-text) !important; } .platform-theme--light .platform-remap-surface :where( [class*='bg-sky-500/8'], [class*='bg-sky-500/10'], [class*='bg-sky-500/12'], [class*='bg-sky-500/15'] ) { background-color: var(--platform-cool-bg) !important; } .platform-theme--light .platform-remap-surface :where( [class*='border-sky-200/'], [class*='border-sky-300/'], [class*='border-sky-400/'] ) { border-color: var(--platform-cool-border) !important; } .platform-theme--light .platform-remap-surface :where( [class*='text-amber-50'], [class*='text-amber-100'], [class*='text-amber-200'] ) { color: var(--platform-warm-text) !important; } .platform-theme--light .platform-remap-surface :where( [class*='bg-amber-500/8'], [class*='bg-amber-500/10'], [class*='bg-amber-500/12'], [class*='bg-amber-500/15'] ) { background-color: var(--platform-warm-bg) !important; } .platform-theme--light .platform-remap-surface :where([class*='border-amber-300/'], [class*='border-amber-400/']) { border-color: var(--platform-warm-border) !important; } .platform-theme--light .platform-remap-surface :where( [class*='text-emerald-50'], [class*='text-emerald-100'], [class*='text-emerald-600'] ) { color: var(--platform-success-text) !important; } .platform-theme--light .platform-remap-surface :where( [class*='bg-emerald-500/8'], [class*='bg-emerald-500/10'], [class*='bg-emerald-500/12'], [class*='bg-emerald-500/15'] ) { background-color: var(--platform-success-bg) !important; } .platform-theme--light .platform-remap-surface :where([class*='border-emerald-300/'], [class*='border-emerald-400/']) { border-color: var(--platform-success-border) !important; } /* 结果页亮色主题细节:只接管旧深色工具类,不改变页面结构。 */ .platform-theme--light .platform-result-hero { border-color: var(--platform-surface-border) !important; background: radial-gradient( circle at top left, rgba(255, 204, 219, 0.34), transparent 34% ), linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 250, 0.9)) !important; color: var(--platform-text-strong) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84), 0 18px 42px rgba(222, 82, 124, 0.1); } .platform-theme--light .platform-result-hero :where([class*='text-white'], [class*='text-cyan-50']) { color: var(--platform-text-strong) !important; } .platform-theme--light .platform-result-hero :where([class*='bg-white/10'], [class*='bg-white/12']) { border: 1px solid var(--platform-subpanel-border); background: var(--platform-subpanel-fill) !important; color: var(--platform-text-base) !important; } .platform-theme--light .platform-remap-surface :where( [class~='bg-white/52'], [class~='bg-white/72'], [class~='bg-white/78'], [class~='bg-white/86'], [class~='bg-white/90'] ) { background: var(--platform-subpanel-fill) !important; } .platform-theme--light .platform-remap-surface :where( [class~='bg-amber-600'], [class~='bg-cyan-600'], [class~='bg-cyan-200'] ) { border-color: var(--platform-button-primary-border) !important; background: var(--platform-button-primary-fill) !important; color: var(--platform-button-primary-text) !important; box-shadow: 0 12px 26px rgba(255, 91, 132, 0.16); } .platform-theme--light .map-modal-overlay { background: rgba(73, 45, 56, 0.24) !important; } .platform-theme--light .map-modal-shell { background: var(--platform-modal-fill); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 24px 70px rgba(131, 77, 98, 0.2) !important; } .platform-theme--light .map-modal-backdrop { opacity: 0.18; filter: saturate(0.82) brightness(1.28); } .platform-theme--light .map-modal-shade { background: linear-gradient( 180deg, rgba(255, 255, 255, 0.7), rgba(255, 247, 250, 0.88) ) !important; } .platform-theme--light .map-info-panel, .platform-theme--light .map-room-cell { color: var(--platform-text-base) !important; --frame-base: rgba(255, 255, 255, 0.9); } .platform-theme--light .map-room-cell { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 10px 22px rgba(132, 90, 106, 0.08); } .platform-theme--light .map-modal-shell svg line { stroke: rgba(217, 53, 112, 0.32); } button { cursor: pointer; } .pixel-root-shell { image-rendering: pixelated; } .pixel-app-shell { background-position: center; background-repeat: repeat; image-rendering: pixelated; } .pixel-nine-slice { box-sizing: border-box; border-style: solid; border-color: transparent; border-top-width: calc( var(--slice-top, 16) * var(--frame-scale, var(--ui-scale)) * 1px ); border-right-width: calc( var(--slice-right, 16) * var(--frame-scale, var(--ui-scale)) * 1px ); border-bottom-width: calc( var(--slice-bottom, 16) * var(--frame-scale, var(--ui-scale)) * 1px ); border-left-width: calc( var(--slice-left, 16) * var(--frame-scale, var(--ui-scale)) * 1px ); border-image-source: var(--frame-src); border-image-slice: var(--slice-top, 16) var(--slice-right, 16) var(--slice-bottom, 16) var(--slice-left, 16) fill; border-image-repeat: var(--frame-repeat, round); padding: calc( var(--frame-pad-y, 12) * var(--frame-scale, var(--ui-scale)) * 1px ) calc(var(--frame-pad-x, 14) * var(--frame-scale, var(--ui-scale)) * 1px); background-color: var(--frame-base, transparent); } .pixel-pressable { transition: transform 160ms ease, filter 160ms ease; } .pixel-pressable:hover { transform: translateY(-1px); filter: brightness(1.04); } .pixel-pressable:active { transform: translateY(0); filter: brightness(0.98); } .pixel-section-title { text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8); } .pixel-world-button { min-height: clamp(7.5rem, 26vw, 10.5rem); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(0.35rem, 1.5vw, 0.7rem); text-align: center; } .pixel-world-button__icon { width: clamp(2rem, 9vw, 3.2rem); height: clamp(2rem, 9vw, 3.2rem); } .pixel-world-button__label { font-size: clamp(0.9rem, 2.8vw, 1.05rem); font-weight: 700; color: #fff7ed; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.85); } .pixel-character-card { min-height: clamp(7rem, 24vw, 9rem); } .pixel-tab-button { display: flex; min-height: 1.65rem; align-items: center; justify-content: center; } .pixel-tab-button__inner { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; } .pixel-tab-button__icon { width: 0.9rem; height: 0.9rem; } .pixel-tab-button__label { font-size: clamp(0.66rem, 1.9vw, 0.78rem); font-weight: 700; line-height: 1.2; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.85); } .pixel-tab-button--active .pixel-tab-button__label { color: #fff7ed; } .pixel-panel { min-width: 0; } .pixel-choice-button { min-width: 0; } .pixel-modal-shell { min-width: 0; } .world-carousel { --world-card-height: 10rem; display: flex; flex-direction: column; gap: 1rem; min-height: 0; width: 100%; max-width: 24rem; margin: 0 auto; overflow-y: auto; padding: max(0.75rem, calc(50% - var(--world-card-height) / 2)) 0.15rem; scroll-snap-type: y mandatory; overscroll-behavior-y: contain; } .world-carousel__card { display: flex; flex-direction: column; gap: 1rem; min-height: var(--world-card-height); transform-origin: center center; transition: transform 220ms ease, opacity 220ms ease, filter 220ms ease; scroll-snap-align: center; will-change: transform, opacity, filter; } .world-carousel__card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; } .world-carousel__badge { display: inline-flex; align-items: center; border-width: 1px; border-radius: 9999px; padding: 0.25rem 0.75rem; font-size: 10px; letter-spacing: 0.22em; } .world-carousel__title { display: block; font-size: clamp(1.55rem, 5vw, 2rem); font-weight: 900; color: white; } .world-carousel__bottom { display: flex; margin-top: auto; } .world-carousel__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; } .world-carousel__tag { border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(0, 0, 0, 0.2); border-radius: 9999px; padding: 0.3rem 0.7rem; font-size: 11px; color: rgb(244 244 245); } .character-carousel { --character-card-width: clamp(12rem, 52vw, 15rem); display: flex; gap: 0.9rem; min-height: 0; overflow-x: auto; padding: 0.8rem max(1rem, calc(50% - var(--character-card-width) / 2)); scroll-snap-type: x mandatory; overscroll-behavior-x: contain; } .character-carousel__card { flex: 0 0 var(--character-card-width); height: clamp(16.25rem, 38vh, 18.5rem); scroll-snap-align: center; transition: transform 220ms ease, opacity 220ms ease, filter 220ms ease; transform-origin: center bottom; will-change: transform, opacity, filter; } .character-carousel__surface { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 24px; background: linear-gradient( 180deg, rgba(18, 22, 30, 0.92), rgba(6, 8, 12, 0.98) ); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25); } .character-carousel__surface--active { border-color: rgba(251, 191, 36, 0.4); box-shadow: 0 20px 50px rgba(251, 191, 36, 0.12); } .character-carousel__cover { position: relative; display: flex; flex: 1; align-items: flex-end; justify-content: center; overflow: hidden; background: radial-gradient( circle at 50% 22%, rgba(255, 255, 255, 0.14), transparent 42% ), linear-gradient( 180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 38% ); } .character-carousel__portrait { width: 100%; height: 100%; object-fit: contain; transform: scale(1.32) translateY(6px); } .character-carousel__portrait--animated { height: 86%; transform: scale(1.22) translateY(10px); transform-origin: center bottom; } .character-carousel__meta { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.75rem 0.85rem 0.85rem; } .character-carousel__meta--selected { gap: 0.2rem; padding-top: 0.05rem; } .character-carousel__role { align-self: flex-start; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.06); border-radius: 9999px; padding: 0.25rem 0.7rem; font-size: 10px; color: rgb(228 228 231); } .character-carousel__name { display: block; font-size: 1.15rem; font-weight: 900; line-height: 1.15; color: white; } .character-carousel__selected-name { display: block; padding: 0.35rem 0.85rem 0; text-align: center; font-size: 1rem; font-weight: 900; line-height: 1.15; color: #fff; text-shadow: none; filter: none; -webkit-backdrop-filter: none; backdrop-filter: none; } .character-carousel__title { display: block; font-size: 9px; letter-spacing: 0.18em; color: rgb(161 161 170); } .character-carousel__title--selected { text-align: center; text-shadow: none; filter: none; -webkit-backdrop-filter: none; backdrop-filter: none; } .character-carousel__stats { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.25rem; } .character-carousel__stat { border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.05); border-radius: 9999px; padding: 0.28rem 0.65rem; font-size: 11px; color: white; } .character-backstory-title { font-size: 0; line-height: 0; } .character-backstory-title::after { content: '角色背景'; font-size: 0.75rem; line-height: 1rem; color: white; } .selection-strip { display: flex; gap: 1rem; min-height: 0; overflow-x: auto; padding-bottom: 0.25rem; scroll-snap-type: x proximity; } .flip-card { flex: 0 0 clamp(17rem, 28vw, 20rem); height: clamp(18rem, 44vh, 21rem); perspective: 1600px; scroll-snap-align: start; } .flip-card__inner { position: relative; display: block; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 360ms ease; } .flip-card:hover .flip-card__inner, .flip-card--flipped .flip-card__inner { transform: rotateY(180deg); } .flip-card__face { position: absolute; inset: 0; display: block; backface-visibility: hidden; -webkit-backface-visibility: hidden; } .flip-card__face--back { transform: rotateY(180deg); } .world-stack { display: flex; flex-direction: column; gap: 0.9rem; min-height: 0; width: 100%; max-width: 24rem; margin: 0 auto; overflow-y: auto; padding-right: 0.15rem; scroll-snap-type: y proximity; } .world-stack-card { display: flex; flex-direction: column; gap: 1.15rem; min-height: 9rem; scroll-snap-align: start; } .world-stack-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; } .world-stack-card__badge { display: inline-flex; align-items: center; border-width: 1px; border-radius: 9999px; padding: 0.25rem 0.75rem; font-size: 10px; letter-spacing: 0.22em; } .world-stack-card__title { display: block; font-size: clamp(1.55rem, 5vw, 2rem); font-weight: 900; color: white; } .world-stack-card__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; } .world-stack-card__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; } .world-stack-card__tag { border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(0, 0, 0, 0.2); border-radius: 9999px; padding: 0.3rem 0.7rem; font-size: 11px; color: rgb(244 244 245); } .world-stack-card__enter { flex: none; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.06); border-radius: 9999px; padding: 0.42rem 0.95rem; font-size: 12px; font-weight: 700; color: white; } @media (max-width: 640px) { :root { --ui-scale: 0.8; --platform-bottom-nav-height: 3.35rem; --platform-bottom-nav-label-size: 10px; } .platform-main-shell { padding-inline: max(0.75rem, env(safe-area-inset-left)) max(0.75rem, env(safe-area-inset-right)); padding-top: max(0.75rem, env(safe-area-inset-top)); padding-bottom: 0.5rem; } .platform-page-stage { border-radius: 1.45rem; } .platform-bottom-nav { position: relative; z-index: 30; } .selection-hero-brand { gap: 0.6rem; } .selection-hero-brand__title { letter-spacing: 0.16em; } .selection-hero-brand__subtitle { letter-spacing: 0.28em; } .platform-brand-logo { width: auto; } .platform-brand-logo__title { font-size: 1.72rem; letter-spacing: 0.03em; } .platform-brand-logo__subtitle { font-size: 0.5rem; letter-spacing: 0.06em; } .world-carousel { --world-card-height: 8.75rem; max-width: 100%; } .character-carousel { --character-card-width: 10.75rem; gap: 0.65rem; } .character-carousel__card { height: 15.5rem; } .character-carousel__cover { min-height: 0; } .character-carousel__meta { padding: 0.6rem 0.7rem 0.7rem; } .character-carousel__selected-name { padding-inline: 0.65rem; font-size: 0.95rem; } .character-carousel__name { font-size: 1rem; } .character-carousel__title { font-size: 8px; letter-spacing: 0.14em; } .selection-strip { gap: 0.75rem; } .flip-card { flex-basis: 15rem; height: 18rem; } .world-stack { max-width: 100%; } .world-stack-card { min-height: 8.75rem; } .world-stack-card__title { font-size: 1.7rem; } .world-stack-card__bottom { flex-direction: column; align-items: flex-start; } .pixel-character-card { min-height: 6.6rem; } .pixel-modal-shell { max-height: min(90vh, 46rem); overflow: auto; } } @media (min-width: 641px) { .world-carousel { max-width: 28rem; } .world-stack { max-width: 30rem; } } /* Custom scrollbar for the story area */ ::-webkit-scrollbar { width: 4px; } .scrollbar-hide::-webkit-scrollbar { display: none; } .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } .platform-work-detail { display: flex; height: 100%; min-height: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--platform-page-border); background: var(--platform-page-fill); color: var(--platform-text-strong); } .platform-work-detail__topbar { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; align-items: center; gap: 0.5rem; padding: calc(env(safe-area-inset-top, 0px) + 0.7rem) 1rem 0.75rem; border-bottom: 1px solid var(--platform-line-soft); background: var(--platform-desktop-topbar-fill); box-shadow: 0 0.75rem 1.8rem rgba(15, 23, 42, 0.05); } .platform-work-detail__title { min-width: 0; text-align: center; font-size: 1rem; font-weight: 800; } .platform-work-detail__icon-button { display: inline-flex; height: 2.5rem; width: 2.5rem; align-items: center; justify-content: center; border: 1px solid var(--platform-icon-border); border-radius: 999px; background: var(--platform-icon-fill); color: var(--platform-icon-text); } .platform-work-detail__icon-button:disabled { opacity: 0.45; } .platform-work-detail__scroll { min-height: 0; flex: 1; overflow-y: auto; padding-bottom: 1rem; } .platform-work-detail__cover { position: relative; display: flex; aspect-ratio: 16 / 9; width: 100%; min-height: 0; align-items: center; justify-content: center; overflow: hidden; background: var(--platform-hero-fill); } .platform-work-detail__cover-blur { position: absolute; inset: -1rem; height: calc(100% + 2rem); width: calc(100% + 2rem); object-fit: cover; opacity: 0.55; filter: blur(24px); transform: scale(1.06); } .platform-work-detail__cover::after { position: absolute; inset: 0; content: ''; background: var(--platform-card-overlay-strong); } .platform-work-detail__cover-image { position: absolute; inset: 0; z-index: 1; height: 100%; width: 100%; object-fit: cover; } .platform-work-detail__cover-image--locked { filter: blur(18px) saturate(0.7); opacity: 0.58; transform: scale(1.08); } .platform-work-detail__cover-lock { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, 0.28); backdrop-filter: blur(10px); } .platform-work-detail__cover-lock-icon { width: clamp(3.6rem, 18vw, 7rem); height: clamp(3.6rem, 18vw, 7rem); color: rgba(255, 255, 255, 0.88); filter: drop-shadow(0 1.2rem 2rem rgba(15, 23, 42, 0.34)); } .platform-work-detail__cover-nav { position: absolute; top: 50%; z-index: 3; display: inline-flex; height: 2.4rem; width: 2.4rem; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 999px; background: rgba(15, 23, 42, 0.36); color: #fff; transform: translateY(-50%); backdrop-filter: blur(14px); } .platform-work-detail__cover-nav--prev { left: 0.8rem; } .platform-work-detail__cover-nav--next { right: 0.8rem; } .platform-work-detail__cover-dots { position: absolute; right: 1rem; bottom: 0.8rem; left: 1rem; z-index: 3; display: flex; justify-content: center; gap: 0.38rem; } .platform-work-detail__cover-dot { height: 0.45rem; width: 0.45rem; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.46); padding: 0; transition: background 160ms ease, width 160ms ease; } .platform-work-detail__cover-dot--active { width: 1.25rem; background: #fff; } .platform-work-detail__cover-fallback { position: absolute; inset: 0; background: var(--platform-hero-fill); } .platform-work-detail__summary { border-bottom: 0.5rem solid var(--platform-page-border); background: var(--platform-panel-fill); padding: 1.4rem 1rem 1rem; } .platform-work-detail__meta-row { display: grid; grid-template-columns: 4.35rem minmax(0, 1fr) auto; align-items: center; gap: 0.9rem; } .platform-work-detail__app-icon { display: flex; aspect-ratio: 1; width: 4.35rem; align-items: center; justify-content: center; overflow: hidden; border-radius: 1rem; border: 1px solid var(--platform-icon-border); background: var(--platform-profile-avatar-fill); color: var(--platform-button-primary-text); font-size: 1.25rem; font-weight: 900; box-shadow: var(--platform-profile-avatar-shadow); } .platform-work-detail__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; font-weight: 900; } .platform-work-detail__author { display: flex; min-width: 0; align-items: center; gap: 0.4rem; margin-top: 0.45rem; color: var(--platform-text-soft); font-size: 0.8125rem; } .platform-work-detail__author-avatar { display: inline-flex; height: 1.35rem; width: 1.35rem; flex: 0 0 auto; align-items: center; justify-content: center; overflow: hidden; border: 1px solid var(--platform-icon-border); border-radius: 999px; background: var(--platform-profile-avatar-fill); color: var(--platform-button-primary-text); font-size: 0.7rem; font-weight: 900; box-shadow: 0 0.35rem 0.8rem rgba(15, 23, 42, 0.08); } .platform-work-detail__author-avatar-image { height: 100%; width: 100%; object-fit: cover; } .platform-work-detail__author-avatar-label { line-height: 1; } .platform-work-detail__author-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .platform-work-detail__like { display: inline-flex; min-width: 5.2rem; flex-direction: column; align-items: center; justify-content: center; gap: 0.25rem; border: 1px solid color-mix( in srgb, var(--platform-work-like-accent, #ff6b6b) 24%, transparent ); border-radius: 1rem; background: color-mix( in srgb, var(--platform-work-like-accent, #ff6b6b) 10%, var(--platform-panel-fill) 90% ); color: var(--platform-work-like-accent, #ff6b6b); padding: 0.6rem 0.75rem; font-size: 0.8125rem; font-weight: 900; box-shadow: 0 0.55rem 1.2rem color-mix( in srgb, var(--platform-work-like-accent, #ff6b6b) 10%, transparent ); } .platform-work-detail__remix:disabled, .platform-work-detail__start:disabled { cursor: not-allowed; opacity: 0.62; } .platform-work-detail__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; margin-top: 1.35rem; } .platform-work-detail__stat { --platform-work-stat-accent: #ff4f8b; position: relative; min-width: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--platform-work-stat-accent) 24%, transparent); border-radius: 0.5rem; background: radial-gradient( circle at 88% 0, color-mix(in srgb, var(--platform-work-stat-accent) 14%, transparent), transparent 58% ), color-mix(in srgb, var(--platform-neutral-bg) 88%, #ffffff 12%); padding: 0.5rem 0.42rem 0.48rem; box-shadow: 0 0.55rem 1.2rem color-mix(in srgb, var(--platform-work-stat-accent) 10%, transparent); } .platform-work-detail__stat--play { --platform-work-stat-accent: #2f9d78; } .platform-work-detail__stat--like { --platform-work-stat-accent: #ff6b6b; } .platform-work-detail__stat--time { --platform-work-stat-accent: #6b7cff; } .platform-work-detail__stat-head { position: relative; z-index: 1; display: flex; min-width: 0; align-items: center; gap: 0.24rem; white-space: nowrap; } .platform-work-detail__stat-icon { display: inline-flex; height: 1.32rem; width: 1.32rem; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 0.42rem; background: color-mix( in srgb, var(--platform-work-stat-accent) 13%, #ffffff 87% ); color: var(--platform-work-stat-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--platform-work-stat-accent) 13%, transparent); } .platform-work-detail__stat-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--platform-text-soft); font-size: 0.6875rem; font-weight: 800; line-height: 1.2; } .platform-work-detail__stat-value { position: relative; z-index: 1; display: flex; min-width: 0; align-items: baseline; gap: 0.12rem; margin-top: 0.4rem; white-space: nowrap; color: var(--platform-text-strong); font-weight: 900; line-height: 1.12; } .platform-work-detail__stat-number { min-width: 0; font-size: 1.05rem; } .platform-work-detail__stat-unit { flex: 0 0 auto; color: var(--platform-text-soft); font-size: 0.625rem; font-weight: 800; } .platform-work-detail__stat-value--time { display: block; overflow: hidden; text-overflow: clip; font-size: 0.6875rem; font-weight: 900; } .platform-work-detail__stat-value--time .platform-work-detail__stat-number { font-size: inherit; } .platform-work-detail__body { background: var(--platform-panel-fill); padding: 1.4rem 1rem 7rem; } .platform-work-detail__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; } .platform-work-detail__chip, .platform-work-detail__code { display: inline-flex; align-items: center; gap: 0.4rem; border: 1px solid var(--platform-neutral-border); border-radius: 0.7rem; background: var(--platform-neutral-bg); color: var(--platform-neutral-text); padding: 0.42rem 0.75rem; font-size: 0.75rem; font-weight: 700; } .platform-work-detail__copy { margin: 0; color: var(--platform-text-base); font-size: 0.875rem; line-height: 1.7; } .platform-work-detail__code { margin-top: 1.3rem; } .platform-work-detail__error, .platform-work-detail__toast { margin-top: 1rem; border-radius: 0.85rem; padding: 0.8rem 0.9rem; font-size: 0.875rem; } .platform-work-detail__error { border: 1px solid var(--platform-button-danger-border); background: var(--platform-button-danger-fill); color: var(--platform-button-danger-text); } .platform-work-detail__toast { border: 1px solid var(--platform-success-border); background: var(--platform-success-bg); color: var(--platform-success-text); } .platform-work-detail__bottom { position: sticky; bottom: 0; z-index: 5; display: grid; grid-template-columns: minmax(7.2rem, 0.44fr) minmax(0, 1fr); gap: 0.7rem; padding: 0.9rem 1rem calc(env(safe-area-inset-bottom, 0px) + 0.9rem); border-top: 1px solid var(--platform-line-soft); background: var(--platform-panel-fill); backdrop-filter: blur(18px); } .platform-work-detail__remix, .platform-work-detail__start { display: inline-flex; min-height: 3.4rem; align-items: center; justify-content: center; gap: 0.55rem; border: 1px solid var(--platform-button-primary-border); border-radius: 999px; background: var(--platform-button-primary-fill); color: var(--platform-button-primary-text); font-size: 1rem; font-weight: 900; box-shadow: var(--platform-profile-action-shadow); } .platform-work-detail__remix { border: 1px solid var(--platform-neutral-border); background: var(--platform-neutral-bg); color: var(--platform-neutral-text); font-size: 0.875rem; } .platform-work-detail__start { border: 1px solid var(--platform-button-primary-border); background: var(--platform-button-primary-fill); color: var(--platform-button-primary-text); font-size: 1rem; } @media (min-width: 768px) { .platform-work-detail { border-radius: 1.2rem; } .platform-work-detail__summary, .platform-work-detail__body, .platform-work-detail__bottom { padding-left: max(2rem, calc((100% - 58rem) / 2)); padding-right: max(2rem, calc((100% - 58rem) / 2)); } .platform-work-detail__topbar { padding-left: 2rem; padding-right: 2rem; } } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #27272a; border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: #3f3f46; }