        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html, body {
            height: 100%;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans TC', Roboto, sans-serif;
            background: #09090b;
            color: #fafafa;
            line-height: 1.5;
            min-height: 100%;
            overflow-x: hidden;
            padding-left: env(safe-area-inset-left);
            padding-right: env(safe-area-inset-right);
        }

        .login-shell {
            display: block;
            min-height: 100vh;
        }

        /* === 左側：品牌資訊面板 === */
        .brand-panel {
            position: relative;
            background:
                radial-gradient(1100px 600px at 12% 0%, rgba(34, 197, 94, 0.10), transparent 60%),
                radial-gradient(900px 500px at 92% 100%, rgba(239, 68, 68, 0.10), transparent 65%),
                linear-gradient(180deg, #09090b 0%, #0b0b0e 100%);
            padding: 14px 56px 18px;
            min-height: 100vh;
            min-height: 100dvh;
            max-height: 100dvh;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        .brand-panel::before {
            content: "";
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
            background-size: 56px 56px;
            mask-image: radial-gradient(ellipse at 50% 40%, black 35%, transparent 75%);
            -webkit-mask-image: radial-gradient(ellipse at 50% 40%, black 35%, transparent 75%);
            pointer-events: none;
        }

        .brand-head {
            position: relative;
            display: flex;
            align-items: center;
            gap: 12px;
            z-index: 1;
        }

        .brand-logo {
            width: 38px;
            height: 38px;
            border-radius: 8px;
            object-fit: contain;
            flex-shrink: 0;
            display: block;
            box-shadow: 0 8px 24px rgba(250, 250, 250, 0.08);
        }

        .brand-name {
            font-size: 13px;
            font-weight: 600;
            color: #fafafa;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .brand-name-sub {
            font-size: 11px;
            color: #a1a1aa;
            margin-top: 4px;
            letter-spacing: 0.04em;
        }

        /* brand-hero-inline：桌機 header 中欄的主標題 */
        .brand-hero-inline {
            display: none;
        }

        .brand-hero-inline h1 {
            font-size: 28px;
            line-height: 1.14;
            font-weight: 700;
            color: #fafafa;
            letter-spacing: -0.01em;
        }

        .brand-hero-inline h1 .accent {
            color: #ef4444;
        }

        /* btn-desktop-login：桌機 header 右側登入按鈕 */
        .btn-desktop-login {
            display: none;
        }

        .brand-disclaimer {
            margin-top: 16px;
            padding: 10px 12px;
            font-size: 12px;
            color: #d4d4d8;
            line-height: 1.6;
            border-left: 2px solid #3f3f46;
            background: rgba(24, 24, 27, 0.55);
            border-radius: 0 6px 6px 0;
        }

        .desktop-showcase {
            position: relative;
            margin-top: 10px;
            max-width: 1180px;
            z-index: 1;
        }

        .desktop-showcase-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 40px;
        }

        .desktop-showcase-grid .showcase-tab:not(.is-active) {
            display: none;
        }

        .desktop-showcase-title,
        .mobile-showcase-title {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #71717a;
            margin-bottom: 6px;
        }

        .showcase-widget {
            background: rgba(10, 15, 29, 0.92);
            border: 1px solid #27272a;
            border-radius: 10px;
            padding: 9px;
        }

        .showcase-tabs {
            display: flex;
            gap: 8px;
            margin-bottom: 6px;
        }

        .showcase-tab {
            flex: 1;
            padding: 5px 8px;
            font-size: 10px;
            font-weight: 600;
            font-family: inherit;
            color: #a1a1aa;
            background: #18181b;
            border: 1px solid #27272a;
            border-radius: 7px;
            cursor: pointer;
        }

        .showcase-tab.is-active {
            color: #fafafa;
            background: #1e3a5f;
            border-color: #38bdf8;
        }

        .showcase-meta { margin-bottom: 8px; }

        .showcase-symbol {
            font-size: 12px;
            font-weight: 600;
            color: #e4e4e7;
        }

        .showcase-symbol .muted {
            font-weight: 500;
            color: #71717a;
            margin-left: 4px;
        }

        .showcase-quote {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-top: 4px;
        }

        .showcase-price {
            font-size: 15px;
            font-weight: 700;
            color: #fafafa;
        }

        .showcase-delta {
            font-size: 10px;
            font-weight: 600;
        }

        .showcase-delta.is-up { color: #22c55e; }
        .showcase-delta.is-down { color: #ef4444; }

        .showcase-canvas-wrap {
            border-radius: 6px;
            overflow: hidden;
            background: #0a0f1d;
            line-height: 0;
        }

        .showcase-canvas-wrap canvas {
            display: block;
            width: 100%;
            height: 180px;
            vertical-align: bottom;
        }

        .showcase-status {
            margin-top: 5px;
            font-size: 9px;
            color: #71717a;
        }

        .desktop-brand-details {
            position: relative;
            z-index: 1;
            max-width: 1180px;
            margin-top: 12px;
        }

        .desktop-brand-details .desktop-hero-desc {
            padding: 12px 14px;
            font-size: 12px;
            color: #a1a1aa;
            line-height: 1.55;
            background: rgba(24, 24, 27, 0.55);
            border: 1px solid #27272a;
            border-radius: 10px;
        }

        .desktop-brand-details .desktop-brand-positioning {
            margin-top: 8px;
        }

        .desktop-brand-details .desktop-brand-disclaimer {
            margin-top: 8px;
            padding: 8px 10px;
            font-size: 11px;
        }

        .brand-positioning {
            margin-top: 10px;
            display: inline-block;
            padding: 6px 10px;
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.04em;
            color: #fafafa;
            background: rgba(239, 68, 68, 0.12);
            border: 1px solid rgba(239, 68, 68, 0.28);
            border-radius: 6px;
        }

        .brand-features {
            margin-top: 12px;
            position: relative;
            z-index: 1;
            max-width: 1180px;
        }

        .brand-features h2,
        .brand-faq h2 {
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #71717a;
            margin-bottom: 6px;
        }

        .brand-features ul {
            list-style: none;
            display: grid;
            gap: 5px;
        }

        .brand-features li {
            position: relative;
            padding-left: 14px;
            font-size: 11px;
            color: #d4d4d8;
            line-height: 1.35;
        }

        .brand-features li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.55em;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: #ef4444;
        }

        .brand-faq {
            margin-top: 22px;
            position: relative;
            z-index: 1;
            max-width: 1180px;
        }

        .faq-item + .faq-item {
            margin-top: 12px;
        }

        .faq-q {
            font-size: 12px;
            font-weight: 600;
            color: #e4e4e7;
            line-height: 1.45;
        }

        .faq-a {
            margin-top: 4px;
            font-size: 11px;
            color: #a1a1aa;
            line-height: 1.55;
        }

        .mobile-compliance {
            margin-top: 18px;
            padding-top: 14px;
            border-top: 1px solid #27272a;
        }

        .mobile-compliance .faq-item + .faq-item {
            margin-top: 10px;
        }

        .ticker {
            position: relative;
            margin-top: 40px;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            z-index: 1;
        }

        .ticker-card {
            background: rgba(24, 24, 27, 0.65);
            border: 1px solid #27272a;
            border-radius: 10px;
            padding: 14px 16px;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        .ticker-symbol {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.08em;
            color: #a1a1aa;
            text-transform: uppercase;
        }

        .ticker-price {
            margin-top: 8px;
            font-size: 18px;
            font-weight: 600;
            color: #fafafa;
            font-variant-numeric: tabular-nums;
            letter-spacing: -0.01em;
        }

        .ticker-delta {
            margin-top: 4px;
            font-size: 12px;
            font-weight: 500;
            font-variant-numeric: tabular-nums;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        .ticker-delta.up { color: #ef4444; }
        .ticker-delta.down { color: #22c55e; }
        .ticker-delta::before {
            content: "";
            width: 0;
            height: 0;
            border-left: 4px solid transparent;
            border-right: 4px solid transparent;
        }
        .ticker-delta.up::before {
            border-bottom: 5px solid #ef4444;
        }
        .ticker-delta.down::before {
            border-top: 5px solid #22c55e;
        }

        .brand-foot {
            position: absolute;
            right: 56px;
            bottom: 28px;
            font-size: 11px;
            color: #71717a;
            z-index: 1;
            letter-spacing: 0.02em;
        }

        .mobile-login-cta {
            position: relative;
            z-index: 1;
            order: 20;
            width: 96px;
            margin-top: auto;
            padding-top: 28px;
        }

        .btn-mobile-login {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 46px;
            padding: 11px 20px;
            font-size: 14px;
            font-weight: 600;
            font-family: inherit;
            color: #09090b;
            background: #fafafa;
            border: 1px solid #fafafa;
            border-radius: 9px;
            cursor: pointer;
            transition: background 0.15s, transform 0.05s;
        }

        .btn-mobile-login:hover {
            background: #e4e4e7;
        }

        .btn-mobile-login:active {
            transform: translateY(1px);
        }

        .btn-public-macro {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 46px;
            padding: 11px 20px;
            font-size: 14px;
            font-weight: 600;
            font-family: inherit;
            color: #ecfdf5;
            background: #0f766e;
            border: 1px solid #0f766e;
            border-radius: 9px;
            text-decoration: none;
            letter-spacing: 0.02em;
            box-sizing: border-box;
        }

        .btn-public-macro:hover {
            background: #115e59;
            border-color: #115e59;
            color: #fff;
        }

        .btn-public-app {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 46px;
            padding: 11px 20px;
            font-size: 14px;
            font-weight: 600;
            font-family: inherit;
            color: #fff;
            background: #18181b;
            border: 1px solid #18181b;
            border-radius: 9px;
            text-decoration: none;
            letter-spacing: 0.02em;
            box-sizing: border-box;
        }

        .btn-public-app:hover {
            background: #27272a;
            border-color: #27272a;
            color: #fff;
        }

        .mobile-cta-footnote {
            display: none;
        }

        /* === 浮動登入表單 === */
        .login-panel {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 300;
            padding: 24px;
            background: transparent;
            overflow: hidden;
            align-items: center;
            justify-content: center;
        }

        body.login-modal-open .login-panel {
            display: flex;
        }

        body.login-modal-open {
            overflow: hidden;
        }

        body.login-modal-open .brand-panel,
        body.login-modal-open .mobile-login-cta {
            filter: blur(3px);
            opacity: 0.45;
            pointer-events: none;
            transition: filter 0.28s ease, opacity 0.28s ease;
        }

        .login-modal-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.78);
            border: none;
            padding: 0;
            cursor: pointer;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            animation: loginBackdropIn 0.28s ease;
        }

        @keyframes loginBackdropIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .login-modal-close {
            position: absolute;
            top: calc(18px + env(safe-area-inset-top, 0px));
            right: calc(18px + env(safe-area-inset-right, 0px));
            z-index: 2;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(39, 39, 42, 0.95);
            color: #fafafa;
            border: 1px solid #3f3f46;
            font-size: 22px;
            line-height: 1;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .login-card {
            position: relative;
            z-index: 1;
            width: 100%;
            max-width: 380px;
            margin: 0 auto;
            max-height: min(90vh, 760px);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            background: #111116;
            border: 1px solid #27272a;
            border-radius: 18px;
            padding: 28px;
            box-shadow: 0 28px 90px rgba(0, 0, 0, 0.72), 0 0 0 1px rgba(255, 255, 255, 0.05);
        }

        .login-eyebrow {
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: #71717a;
        }

        .login-title {
            margin-top: 10px;
            font-size: 26px;
            font-weight: 700;
            color: #fafafa;
            letter-spacing: -0.01em;
        }

        .login-subtitle {
            margin-top: 8px;
            font-size: 13px;
            color: #a1a1aa;
        }

        .login-section {
            margin-top: 28px;
        }

        .login-section-label {
            font-size: 11px;
            font-weight: 600;
            color: #a1a1aa;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-bottom: 10px;
        }

        .field {
            margin-bottom: 12px;
        }

        .field label {
            display: block;
            font-size: 12px;
            font-weight: 500;
            color: #d4d4d8;
            margin-bottom: 6px;
            letter-spacing: 0.01em;
        }

        .field input {
            width: 100%;
            padding: 11px 13px;
            font-size: 13.5px;
            font-family: inherit;
            background: #18181b;
            color: #fafafa;
            border: 1px solid #27272a;
            border-radius: 8px;
            transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
            font-variant-numeric: tabular-nums;
        }

        .field input::placeholder {
            color: #52525b;
        }

        .field input:hover {
            border-color: #3f3f46;
        }

        .field input:focus {
            outline: none;
            border-color: #71717a;
            background: #1c1c1f;
            box-shadow: 0 0 0 3px rgba(161, 161, 170, 0.12);
        }

        .login-actions {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: 4px;
            margin-bottom: 14px;
        }

        .login-help {
            font-size: 12px;
            color: #71717a;
            text-decoration: none;
        }

        .login-help:hover {
            color: #d4d4d8;
        }

        .btn-primary {
            width: 100%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 11px 16px;
            font-size: 13.5px;
            font-weight: 600;
            letter-spacing: 0.02em;
            font-family: inherit;
            color: #09090b;
            background: #fafafa;
            border: 1px solid #fafafa;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.15s, transform 0.05s, opacity 0.15s;
        }

        .btn-primary:hover {
            background: #e4e4e7;
        }

        .btn-primary:active {
            transform: translateY(1px);
        }

        .btn-primary:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

        .login-error {
            display: none;
            margin-top: 10px;
            padding: 9px 12px;
            font-size: 12px;
            color: #fca5a5;
            background: rgba(239, 68, 68, 0.08);
            border: 1px solid rgba(239, 68, 68, 0.32);
            border-radius: 6px;
            line-height: 1.5;
        }

        .login-error.is-show {
            display: block;
        }

        .login-notice {
            display: none;
            margin: 0 0 18px;
            padding: 10px 12px;
            font-size: 12px;
            color: #fcd34d;
            background: rgba(245, 158, 11, 0.08);
            border: 1px solid rgba(245, 158, 11, 0.32);
            border-radius: 6px;
            line-height: 1.55;
        }

        .login-notice.is-show {
            display: block;
        }

        .divider {
            display: flex;
            align-items: center;
            gap: 12px;
            margin: 22px 0 18px;
            color: #52525b;
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .divider::before,
        .divider::after {
            content: "";
            flex: 1;
            height: 1px;
            background: #27272a;
        }

        .social-buttons {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .btn-social {
            width: 100%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 10px 14px;
            font-size: 13px;
            font-weight: 500;
            font-family: inherit;
            color: #fafafa;
            background: #18181b;
            border: 1px solid #27272a;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.15s, border-color 0.15s;
        }

        .btn-social:hover {
            background: #1f1f23;
            border-color: #3f3f46;
        }

        .btn-social .ic {
            width: 16px;
            height: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 4px;
            font-size: 11px;
            font-weight: 700;
        }

        .btn-social.line .ic {
            background: #06c755;
            color: #fff;
        }

        .btn-social.google .ic {
            background: #fff;
            color: #18181b;
        }

        .google-btn-wrap {
            position: relative;
            width: 100%;
        }

        .btn-social--google {
            width: 100%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 10px 14px;
            font-size: 13px;
            font-weight: 500;
            font-family: inherit;
            color: #fafafa;
            background: #18181b;
            border: 1px solid #27272a;
            border-radius: 8px;
            cursor: pointer;
            box-sizing: border-box;
        }

        .ic--google {
            width: 16px;
            height: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            color: #4285f4;
            border-radius: 3px;
            font-size: 11px;
            font-weight: 900;
            flex-shrink: 0;
            line-height: 1;
        }

        .google-host--overlay {
            position: absolute;
            inset: 0;
            opacity: 0;
            z-index: 2;
            overflow: hidden;
            cursor: pointer;
            pointer-events: auto;
            border-radius: 8px;
        }

        .google-host--overlay > div {
            overflow: visible !important;
        }

        .google-host {
            display: block;
            max-width: 100%;
            min-height: 40px;
            margin-left: auto;
            margin-right: auto;
            border-radius: 8px;
            overflow: hidden;
            line-height: 0;
        }

        .google-host > div {
            display: block;
            max-width: 100%;
            line-height: 0;
        }

        .google-host iframe {
            display: block;
            margin: 0;
            border: 0;
            max-width: 100%;
        }

        .google-host:empty + .btn-social.google {
            display: none;
        }

        .legal {
            margin-top: 26px;
            font-size: 11px;
            color: #71717a;
            line-height: 1.6;
            text-align: center;
        }

        .legal a {
            color: #a1a1aa;
            text-decoration: none;
        }

        .legal a:hover {
            color: #fafafa;
            text-decoration: underline;
        }

        /* === 語言切換 === */
        .brand-panel-header {
            position: relative;
            z-index: 1;
        }

        .lang-switch {
            position: fixed;
            top: calc(14px + env(safe-area-inset-top, 0px));
            right: calc(14px + env(safe-area-inset-right, 0px));
            z-index: 100;
            display: inline-flex;
            align-items: center;
            gap: 2px;
            padding: 3px;
            background: rgba(24, 24, 27, 0.92);
            border: 1px solid #27272a;
            border-radius: 999px;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            flex-shrink: 0;
        }

        .lang-btn {
            min-width: 36px;
            padding: 6px 10px;
            font-size: 12px;
            font-weight: 600;
            font-family: inherit;
            letter-spacing: 0.04em;
            color: #a1a1aa;
            background: transparent;
            border: none;
            border-radius: 999px;
            cursor: pointer;
            transition: color 0.15s, background 0.15s;
        }

        .lang-btn:hover {
            color: #fafafa;
        }

        .lang-btn.is-active {
            color: #09090b;
            background: #fafafa;
        }

        /* === 手機專用版面 === */
        .mobile-only { display: none; }
        .desktop-only { display: block; }

        @media (max-width: 768px) {
            .mobile-only { display: block; }
            .desktop-only { display: none; }

            body {
                background: #09090b;
            }

            .login-shell {
                display: flex;
                flex-direction: column;
                min-height: 100vh;
                min-height: 100dvh;
            }

            .brand-panel-header {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 10px;
            }

            .header-right {
                display: flex;
                align-items: center;
                gap: 8px;
                flex-shrink: 0;
            }

            .lang-switch {
                position: static;
                top: auto;
                right: auto;
            }

            .brand-panel {
                flex-shrink: 0;
                flex: 1;
                display: flex;
                flex-direction: column;
                position: sticky;
                top: 0;
                z-index: 10;
                border-right: none;
                border-bottom: none;
                padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px;
                min-height: 100dvh;
                max-height: 100dvh;
                overflow-x: hidden;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                transition: filter 0.28s ease, opacity 0.28s ease;
            }

            .brand-panel::before {
                mask-image: none;
                -webkit-mask-image: none;
                opacity: 0.35;
            }

            .brand-head {
                justify-content: flex-start;
                flex: 1;
                min-width: 0;
                gap: 12px;
            }

            .brand-logo {
                width: 34px;
                height: 34px;
                flex-shrink: 0;
            }

            .brand-name {
                font-size: clamp(13px, 3.9vw, 16px);
                font-weight: 700;
                letter-spacing: 0.12em;
                text-transform: uppercase;
                color: #fafafa;
            }

            .brand-name-sub {
                display: none;
            }

            .mobile-brand-tagline {
                display: none;
            }

            .mobile-hero-copy {
                margin-top: 10px;
                flex-shrink: 0;
            }

            .mobile-hero-title {
                font-size: clamp(18px, 5.4vw, 23px);
                font-weight: 700;
                color: #fafafa;
                line-height: 1.22;
                letter-spacing: -0.025em;
            }

            .mobile-hero-title .accent {
                color: #ef4444;
            }

            .mobile-hero-sub {
                margin-top: 6px;
                font-size: clamp(11px, 3.2vw, 13px);
                font-weight: 500;
                color: #a1a1aa;
                line-height: 1.35;
                letter-spacing: 0.02em;
            }

            .mobile-showcase {
                margin-top: 9px;
                flex: 0 0 auto;
                display: flex;
                flex-direction: column;
            }

            .mobile-brand-details {
                margin-top: 4px;
                flex: 0 0 auto;
                overflow: visible;
            }

            .mobile-brand-details .mobile-hero-desc {
                margin-top: 0;
                font-size: 11px;
                color: #a1a1aa;
                line-height: 1.4;
            }

            .mobile-brand-details .mobile-brand-positioning {
                margin-top: 7px;
                display: inline-block;
                padding: 4px 8px;
                font-size: 9.5px;
                font-weight: 600;
                letter-spacing: 0.04em;
                color: #fafafa;
                background: rgba(239, 68, 68, 0.12);
                border: 1px solid rgba(239, 68, 68, 0.28);
                border-radius: 6px;
            }

            .mobile-brand-details .mobile-brand-disclaimer {
                margin-top: 7px;
                padding: 6px 8px;
                font-size: 10px;
                color: #d4d4d8;
                line-height: 1.35;
                border-left: 2px solid #3f3f46;
                background: rgba(24, 24, 27, 0.55);
                border-radius: 0 6px 6px 0;
            }

            .mobile-brand-features {
                margin-top: 8px;
                flex-shrink: 0;
            }

            .mobile-brand-features h2 {
                font-size: 9.5px;
                font-weight: 600;
                letter-spacing: 0.1em;
                text-transform: uppercase;
                color: #71717a;
                margin-bottom: 5px;
            }

            .mobile-brand-features ul {
                list-style: none;
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 4px 10px;
            }

            .mobile-brand-features li {
                position: relative;
                padding-left: 11px;
                font-size: 10.5px;
                color: #d4d4d8;
                line-height: 1.28;
            }

            .mobile-brand-features li::before {
                content: "";
                position: absolute;
                left: 0;
                top: 0.55em;
                width: 5px;
                height: 5px;
                border-radius: 50%;
                background: #ef4444;
            }

            .mobile-showcase-title {
                font-size: 9px;
                font-weight: 600;
                letter-spacing: 0.1em;
                text-transform: uppercase;
                color: #71717a;
                margin-bottom: 4px;
            }

            .showcase-widget {
                background: rgba(10, 15, 29, 0.92);
                border: 1px solid #27272a;
                border-radius: 10px;
                padding: 7px;
            }

            .mobile-showcase .showcase-widget {
                flex: 0 0 auto;
                min-height: 0;
                display: flex;
                flex-direction: column;
                padding: 7px 7px 5px;
            }

            .showcase-tabs {
                display: flex;
                gap: 6px;
                margin-bottom: 5px;
            }

            .showcase-tab {
                flex: 1;
                padding: 4px 6px;
                font-size: 9px;
                font-weight: 600;
                font-family: inherit;
                color: #a1a1aa;
                background: #18181b;
                border: 1px solid #27272a;
                border-radius: 7px;
                cursor: pointer;
            }

            .showcase-tab.is-active {
                color: #fafafa;
                background: #1e3a5f;
                border-color: #38bdf8;
            }

            .showcase-meta { margin-bottom: 4px; }

            .showcase-symbol {
                font-size: 10px;
                font-weight: 600;
                color: #e4e4e7;
            }

            .showcase-symbol .muted {
                font-weight: 500;
                color: #71717a;
                margin-left: 4px;
            }

            .showcase-quote {
                display: flex;
                align-items: baseline;
                gap: 6px;
                margin-top: 2px;
                flex-wrap: wrap;
            }

            .showcase-price {
                font-size: 14px;
                font-weight: 700;
            }

            .showcase-delta {
                font-size: 9.5px;
                font-weight: 600;
            }

            .showcase-delta.is-up { color: #22c55e; }
            .showcase-delta.is-down { color: #ef4444; }

            .showcase-canvas-wrap {
                border-radius: 7px;
                overflow: hidden;
                border: 1px solid #1e2d45;
            }

            /* 手機圖表：黃金矩形（寬:高 = φ:1），寬度依視窗上限計算以維持比例 */
            .mobile-showcase .showcase-canvas-wrap {
                width: min(100%, calc(34dvh * 1.618), calc(100vw - 24px));
                aspect-ratio: 1.618 / 1;
                flex-shrink: 0;
                margin-inline: auto;
                line-height: 0;
            }

            .mobile-showcase .showcase-canvas-wrap canvas {
                display: block;
                width: 100%;
                height: 100%;
                vertical-align: bottom;
            }

            .mobile-showcase .showcase-status {
                margin-top: 3px;
                margin-bottom: 0;
            }

            .mobile-showcase .showcase-status:empty {
                display: none;
                margin: 0;
            }

            .showcase-status {
                margin-top: 4px;
                font-size: 8.5px;
                color: #71717a;
            }

            .brand-hero,
            .brand-features,
            .brand-faq,
            .ticker,
            .brand-foot {
                display: none;
            }

            .mobile-login-cta {
                display: flex;
                flex-direction: column;
                gap: 8px;
                width: 100%;
                margin-top: auto;
                padding-top: 8px;
                padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
                transition: filter 0.28s ease, opacity 0.28s ease;
            }

            .btn-mobile-login {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: 40px;
                padding: 9px 18px;
                font-size: 14px;
                font-weight: 600;
                font-family: inherit;
                color: #09090b;
                background: #fafafa;
                border: 1px solid #fafafa;
                border-radius: 10px;
                cursor: pointer;
            }

            .btn-mobile-login:active {
                background: #e4e4e7;
            }

            .btn-public-macro {
                min-height: 40px;
                padding: 9px 18px;
                border-radius: 10px;
            }

            .btn-public-app {
                min-height: 40px;
                padding: 9px 18px;
                border-radius: 10px;
            }

            .mobile-cta-footnote {
                display: block;
                margin-top: 0;
                padding: 0 4px;
                font-size: 10px;
                line-height: 1.35;
                color: #71717a;
                text-align: center;
                letter-spacing: 0.01em;
            }

            .login-panel {
                display: none;
                position: fixed;
                inset: 0;
                z-index: 300;
                flex: none;
                padding:
                    max(12px, env(safe-area-inset-top, 0px))
                    max(16px, env(safe-area-inset-right, 0px))
                    max(12px, env(safe-area-inset-bottom, 0px))
                    max(16px, env(safe-area-inset-left, 0px));
                margin: 0;
                background: transparent;
                overflow-x: hidden;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                align-items: center;
                justify-content: center;
                box-sizing: border-box;
            }

            body.login-modal-open .login-panel {
                display: flex;
            }

            body.login-modal-open {
                overflow: hidden;
            }

            body.login-modal-open .brand-panel,
            body.login-modal-open .mobile-login-cta {
                filter: blur(3px);
                opacity: 0.45;
                pointer-events: none;
                transition: filter 0.28s ease, opacity 0.28s ease;
            }

            .login-modal-backdrop {
                position: absolute;
                inset: 0;
                background: rgba(0, 0, 0, 0.82);
                border: none;
                padding: 0;
                cursor: pointer;
                backdrop-filter: blur(8px);
                -webkit-backdrop-filter: blur(8px);
                animation: loginBackdropIn 0.28s ease;
            }

            @keyframes loginBackdropIn {
                from { opacity: 0; }
                to { opacity: 1; }
            }

            .login-modal-close {
                position: absolute;
                top: calc(10px + env(safe-area-inset-top, 0px));
                right: 14px;
                z-index: 2;
                width: 36px;
                height: 36px;
                border-radius: 50%;
                background: rgba(39, 39, 42, 0.95);
                color: #fafafa;
                border: 1px solid #3f3f46;
                font-size: 22px;
                line-height: 1;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .login-card {
                position: relative;
                z-index: 1;
                width: 100%;
                max-width: 100%;
                margin: auto;
                flex-shrink: 0;
                max-height: calc(
                    100dvh
                    - env(safe-area-inset-top, 0px)
                    - env(safe-area-inset-bottom, 0px)
                    - 24px
                );
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                background: #111116;
                border-radius: 16px;
                padding: 22px 16px 20px;
                border: 1px solid #3f3f46;
                box-shadow: 0 24px 64px rgba(0, 0, 0, 0.72), 0 0 0 1px rgba(255, 255, 255, 0.06);
                animation: loginDialogIn 0.28s ease;
            }

            .login-eyebrow {
                font-size: 10px;
            }

            .login-title {
                margin-top: 6px;
                font-size: 20px;
            }

            .login-subtitle {
                margin-top: 6px;
                font-size: 12px;
                line-height: 1.45;
            }

            .login-section {
                margin-top: 16px;
            }

            .login-section-label {
                margin-bottom: 8px;
            }

            .field {
                margin-bottom: 10px;
            }

            .field label {
                margin-bottom: 4px;
                font-size: 11px;
            }

            .field input {
                font-size: 16px;
                padding: 10px 12px;
            }

            .login-actions {
                margin-bottom: 10px;
            }

            .btn-primary,
            .btn-social {
                min-height: 44px;
                font-size: 13.5px;
                padding: 10px 12px;
            }

            .btn-social--google {
                min-height: 44px;
                font-size: 13.5px;
                padding: 10px 12px;
            }

            .google-host--overlay {
                position: absolute;
                inset: 0;
                opacity: 0;
                z-index: 2;
                overflow: hidden;
                cursor: pointer;
            }

            .google-host {
                display: block;
                max-width: 100%;
                min-height: 44px;
                margin-left: auto;
                margin-right: auto;
                border-radius: 8px;
                overflow: hidden;
                line-height: 0;
            }

            .google-host > div {
                display: block;
                max-width: 100%;
                line-height: 0;
            }

            .google-host iframe {
                display: block;
                margin: 0;
                border: 0;
                max-width: 100%;
            }

            .social-buttons {
                gap: 10px;
                width: 100%;
                align-items: stretch;
            }

            .divider {
                margin: 16px 0 12px;
                font-size: 10px;
            }

            .legal {
                margin-top: 14px;
                font-size: 10px;
                line-height: 1.5;
            }
        }

        /* 桌面版：主畫面展示內容，登入方式放入浮動視窗 */
        @media (min-width: 769px) {
            /* ── 整體面板：flex column + 水平置中所有子元素 ── */
            .brand-panel {
                align-items: center;
                padding: 0 40px 18px;
            }

            /* ── 頂部 header：三欄 grid 橫跨全寬 ── */
            .brand-panel-header {
                width: 100%;
                max-width: none;
                min-height: 60px;
                display: grid;
                grid-template-columns: 1fr auto 1fr;
                align-items: center;
                padding: 10px 0;
                gap: 16px;
            }

            .brand-name-sub {
                display: block;
                margin-top: 3px;
                font-size: 14px;
                color: #a1a1aa;
                letter-spacing: 0.04em;
                text-transform: none;
            }

            .brand-logo {
                width: 50px;
                height: 50px;
                border-radius: 10px;
            }

            /* Okinn Alpha 字體與主標題相同大小 */
            .brand-name {
                font-size: clamp(20px, 2vw, 30px);
                font-weight: 700;
                letter-spacing: -0.01em;
            }

            /* ── 中欄：主標題 ── */
            .brand-hero-inline {
                display: flex;
                justify-content: center;
                align-items: center;
            }

            .brand-hero-inline h1 {
                font-size: clamp(20px, 2vw, 30px);
                font-weight: 700;
                color: #fafafa;
                line-height: 1.15;
                text-align: center;
                white-space: nowrap;
                letter-spacing: -0.01em;
            }

            /* ── 右欄：語系 + 登入按鈕 ── */
            .header-right {
                display: flex;
                align-items: center;
                justify-content: flex-end;
                gap: 12px;
            }

            /* 桌機版登入按鈕 */
            .btn-desktop-login {
                padding: 8px 20px;
                font-size: 14px;
                font-weight: 600;
                color: #09090b;
                background: #fafafa;
                border: none;
                border-radius: 8px;
                cursor: pointer;
                letter-spacing: 0.04em;
                transition: background 0.18s, transform 0.12s;
                white-space: nowrap;
            }

            .btn-desktop-login:hover {
                background: #e4e4e7;
            }

            .btn-public-macro.desktop-only {
                display: inline-flex;
                width: auto;
                min-height: 0;
                padding: 8px 16px;
                font-size: 14px;
                border-radius: 8px;
            }

            .btn-public-app.desktop-only {
                display: inline-flex;
                width: auto;
                min-height: 0;
                padding: 8px 16px;
                font-size: 14px;
                border-radius: 8px;
            }

            /* lang-switch 靜態（已在 mobile 設過，這裡確保不 fixed） */
            .lang-switch {
                position: static;
                bottom: auto;
                left: auto;
            }

            .lang-btn {
                font-size: 14px;
                min-width: 40px;
                padding: 7px 12px;
            }

            /* ── 內容區：縮回合理寬度，讓整體落在一頁內 ── */
            .desktop-showcase,
            .desktop-brand-details,
            .brand-features {
                width: 100%;
                max-width: 1280px;
            }

            .desktop-showcase {
                margin-top: 28px;
            }

            .desktop-showcase-grid {
                gap: 36px;
            }

            /* 黃金矩形：寬 : 高 = φ : 1 */
            .desktop-showcase .showcase-canvas-wrap {
                width: 100%;
                aspect-ratio: 1.618 / 1;
                max-height: 360px;
            }

            .desktop-showcase .showcase-canvas-wrap canvas {
                width: 100%;
                height: 100%;
                vertical-align: bottom;
            }

            .desktop-showcase-title {
                text-align: center;
                font-size: 14px;
                margin-bottom: 10px;
            }

            /* 圖表 widget 內所有文字 ≥ 14px */
            .desktop-showcase .showcase-tab {
                font-size: 14px;
                padding: 6px 12px;
            }

            .desktop-showcase .showcase-symbol {
                font-size: 15px;
            }

            .desktop-showcase .showcase-price {
                font-size: 18px;
            }

            .desktop-showcase .showcase-delta {
                font-size: 14px;
            }

            .desktop-showcase .showcase-status {
                font-size: 14px;
            }

            .desktop-brand-details {
                text-align: center;
                max-width: 1280px;
                margin-top: 10px;
            }

            .desktop-brand-details .desktop-hero-desc {
                font-size: 14px;
                text-align: center;
            }

            .desktop-brand-details .brand-positioning {
                display: inline-block;
                font-size: 14px;
            }

            .desktop-brand-details .brand-disclaimer {
                font-size: 14px;
                text-align: center;
            }

            .brand-features {
                text-align: center;
                max-width: 1280px;
                margin-top: 10px;
            }

            .brand-features h2 {
                font-size: 18px;
                letter-spacing: 0.08em;
                margin-bottom: 6px;
            }

            .brand-features ul {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                column-gap: 22px;
                text-align: left;
            }

            .brand-features li {
                font-size: 14px;
            }

            /* ── 底部版權文字置中 ── */
            .brand-foot {
                display: block;
                position: static;
                width: 100%;
                max-width: 1280px;
                text-align: center;
                font-size: 14px;
                color: #71717a;
                margin-top: 10px;
                padding-bottom: 8px;
                letter-spacing: 0.02em;
            }

            .brand-faq,
            .ticker {
                display: none;
            }

            /* 手機 CTA 在桌機隱藏（登入按鈕移入 header） */
            .mobile-login-cta {
                display: none;
            }

            .login-panel .login-card {
                animation: loginDialogIn 0.24s ease;
            }
        }

        @keyframes loginDialogIn {
            from { opacity: 0; transform: translateY(10px) scale(0.98); }
            to { opacity: 1; transform: translateY(0) scale(1); }
        }

        @media (min-width: 769px) and (max-height: 820px) {
            .brand-panel {
                padding-bottom: 10px;
            }

            .brand-panel-header {
                min-height: 54px;
                padding: 8px 0;
            }

            .desktop-showcase,
            .desktop-brand-details,
            .brand-features,
            .brand-foot {
                max-width: 1120px;
            }

            .desktop-showcase {
                margin-top: 20px;
            }

            .desktop-showcase-grid {
                gap: 28px;
            }

            .desktop-showcase .showcase-canvas-wrap {
                max-height: 315px;
            }

            .desktop-brand-details .desktop-hero-desc {
                padding: 9px 12px;
                line-height: 1.45;
            }

            .desktop-brand-details .desktop-brand-positioning {
                margin-top: 6px;
            }

            .desktop-brand-details .desktop-brand-disclaimer {
                margin-top: 6px;
                padding: 6px 10px;
            }

            .brand-features h2 {
                font-size: 16px;
            }

            .brand-features ul {
                gap: 4px 18px;
            }

            .brand-features li {
                line-height: 1.25;
            }

            .brand-foot {
                margin-top: 8px;
                padding-bottom: 4px;
            }
        }

        /* iPhone SE / 小螢幕（寬 ≤375px 或 高 ≤667px） */
        @media (max-width: 375px), (max-height: 667px) {
            .brand-panel {
                padding: calc(7px + env(safe-area-inset-top, 0px)) 10px 7px;
            }

            .mobile-hero-title {
                font-size: clamp(16px, 4.8vw, 20px);
            }

            .mobile-hero-sub {
                font-size: clamp(10px, 3vw, 12px);
            }

            .brand-name {
                font-size: clamp(12px, 3.6vw, 14px);
            }

            .brand-logo {
                width: 30px;
                height: 30px;
            }

            .mobile-showcase {
                margin-top: 7px;
            }

            .mobile-showcase .showcase-canvas-wrap {
                width: min(100%, calc(30dvh * 1.618), calc(100vw - 20px));
            }

            .mobile-brand-details .mobile-hero-desc {
                font-size: 10px;
                line-height: 1.3;
            }

            .mobile-brand-details .mobile-brand-positioning,
            .mobile-brand-details .mobile-brand-disclaimer {
                margin-top: 5px;
            }

            .mobile-brand-features {
                margin-top: 6px;
            }

            .mobile-brand-features li {
                font-size: 9.5px;
            }

            .login-title {
                font-size: 18px;
            }

            .login-subtitle {
                font-size: 11px;
            }

            .login-section {
                margin-top: 12px;
            }

            .field {
                margin-bottom: 8px;
            }

            .field input {
                padding: 9px 11px;
            }

            .btn-primary,
            .btn-social {
                min-height: 44px;
                font-size: 13px;
            }

            .divider {
                margin: 12px 0 10px;
            }

            .legal {
                margin-top: 10px;
                font-size: 9.5px;
            }

            .lang-btn {
                min-width: 32px;
                padding: 5px 8px;
                font-size: 11px;
            }
        }

        /* 手機矮螢幕：壓縮次要文案，保留核心功能列表 */
        @media (max-height: 700px) and (max-width: 768px) {
            .mobile-hero-sub {
                display: none;
            }

            .mobile-brand-details .mobile-brand-disclaimer {
                display: none;
            }

            .mobile-brand-details .mobile-hero-desc {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            .mobile-showcase .showcase-canvas-wrap {
                width: min(100%, calc(30dvh * 1.618), calc(100vw - 20px));
            }
        }

        @media (max-height: 620px) and (max-width: 768px) {
            .mobile-hero-copy {
                margin-top: 6px;
            }

            .mobile-hero-title {
                font-size: clamp(16px, 4.8vw, 20px);
                line-height: 1.18;
            }

            .mobile-showcase {
                margin-top: 6px;
            }

            .mobile-brand-details {
                margin-top: 4px;
            }

            .mobile-brand-details .mobile-brand-disclaimer {
                display: none;
            }

            .mobile-showcase .showcase-canvas-wrap {
                width: min(100%, calc(28dvh * 1.618), calc(100vw - 20px));
            }

            .mobile-login-cta {
                padding-top: 6px;
            }

            .mobile-cta-footnote {
                font-size: 9px;
                line-height: 1.25;
            }
        }

        /* 初代 iPhone SE（320×568） */
        @media (max-width: 320px) {
            .brand-head {
                gap: 8px;
            }

            .brand-logo {
                width: 36px;
                height: 36px;
            }

            .mobile-hero-title {
                font-size: clamp(18px, 5.4vw, 22px);
            }

            .mobile-hero-sub {
                font-size: clamp(12px, 3.4vw, 14px);
            }

            .login-eyebrow {
                display: none;
            }

            .login-title {
                margin-top: 0;
                font-size: 17px;
            }

            .login-subtitle {
                display: none;
            }

            .login-section-label {
                font-size: 10px;
            }

            .login-help {
                font-size: 11px;
            }
        }

        /* 橫向或小高度（如 iPhone SE landscape） */
        @media (max-height: 360px) and (max-width: 768px) {
            .brand-panel {
                position: static;
                padding: calc(8px + env(safe-area-inset-top, 0px)) 10px 8px;
                min-height: auto;
                max-height: none;
            }

            .mobile-hero-copy,
            .mobile-brand-details,
            .login-eyebrow,
            .login-subtitle,
            .legal {
                display: none;
            }

            .mobile-showcase .showcase-canvas-wrap {
                width: min(100%, calc(22dvh * 1.618), calc(100vw - 20px));
            }

            .login-shell {
                min-height: auto;
            }

            .login-title {
                font-size: 16px;
                margin-top: 0;
            }

            .login-section {
                margin-top: 8px;
            }

            .field {
                margin-bottom: 6px;
            }

            .field input {
                padding: 8px 10px;
            }

            .divider {
                margin: 8px 0;
            }
        }

        /* === 平板 === */
        @media (min-width: 769px) and (max-width: 960px) {
            .login-shell {
                grid-template-columns: 1fr;
            }

            .brand-panel {
                padding: 28px 24px 24px;
                min-height: auto;
            }

            .brand-hero {
                margin-top: 28px;
            }

            .brand-hero h1 {
                font-size: 26px;
            }

            .brand-hero p {
                font-size: 13px;
            }

            .ticker {
                margin-top: 22px;
            }

            .brand-foot {
                display: none;
            }

            .login-panel {
                padding: 28px 20px 40px;
            }
        }

        @media (max-width: 480px) and (min-width: 769px) {
            .brand-panel {
                padding: 22px 18px 18px;
            }

            .brand-hero h1 {
                font-size: 22px;
            }

            .ticker {
                grid-template-columns: repeat(3, 1fr);
                gap: 8px;
            }

            .ticker-card {
                padding: 10px 11px;
            }

            .ticker-price {
                font-size: 15px;
            }

            .ticker-delta {
                font-size: 11px;
            }

            .login-panel {
                padding: 20px 16px 32px;
            }

            .login-title {
                font-size: 22px;
            }
        }
