#launchPage, #tradePage {
    background: #ece9d8 !important;
    color: #0a0a0a !important;
    min-height: calc(100vh - 64px) !important;
}
.lp-page, .tp-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 56px 40px 96px;
}
.lp-pill, .tp-pill {
    display: inline-block;
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.70rem;
    letter-spacing: 0.22em;
    color: rgba(10,10,10,0.55);
    border: 1px solid rgba(10,10,10,0.20);
    padding: 7px 13px;
    margin-bottom: 22px;
}
.lp-h1, .tp-h1 {
    font: 800 76px/0.95 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    letter-spacing: -0.04em;
    color: #0a0a0a;
    margin: 0 0 16px;
    max-width: 960px;
}
.lp-h1 .ac, .tp-h1 .ac { color: #1a7878; }
.lp-lede, .tp-lede {
    color: rgba(10,10,10,0.70);
    font: 400 17px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    max-width: 700px;
    margin: 0 0 36px;
}

.lp-banner {
    margin: 0 0 32px;
    border: 2px solid #0a0a0a;
    background: #ece9d8;
    display: grid;
    grid-template-columns: auto 1fr;
}
.lp-banner-tag {
    background: #0a0a0a;
    color: #ece9d8;
    padding: 14px 18px;
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.72rem;
    letter-spacing: 0.20em;
    text-transform: uppercase;
}
.lp-banner-body {
    padding: 14px 20px;
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.74rem;
    color: rgba(10,10,10,0.75);
    line-height: 1.65;
}
.lp-banner-body strong { color: #0a0a0a; font-weight: 700; }
.lp-banner-body em { color: #1a7878; font-style: normal; font-weight: 600; }

.lp-rules {
    border: 2px solid #0a0a0a;
    background: #ece9d8;
    padding: 26px 28px;
    margin: 0 0 32px;
}
.lp-rules h2 {
    font: 700 0.78rem/1 ui-monospace,'SF Mono',Menlo,monospace;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #0a0a0a;
    margin: 0 0 14px;
}
.lp-rules ul { list-style: none; padding: 0; margin: 0; }
.lp-rules li {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(10,10,10,0.10);
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.82rem;
    color: #0a0a0a;
    line-height: 1.5;
}
.lp-rules li:last-child { border-bottom: none; }
.lp-rules li::before {
    content: attr(data-num);
    color: #1a7878;
    font-weight: 700;
    font-size: 0.74rem;
}

.lp-state {
    border: 2px solid #0a0a0a;
    background: #ece9d8;
    padding: 28px;
    margin: 0 0 24px;
}
.lp-state-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(10,10,10,0.15);
}
.lp-state-head h2 {
    font: 700 0.86rem/1 ui-monospace,'SF Mono',Menlo,monospace;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #0a0a0a;
    margin: 0;
}
.lp-state-head .lp-conn {
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(10,10,10,0.55);
}
.lp-state-head .lp-conn.on { color: #1a7878; font-weight: 600; }

.lp-empty {
    padding: 36px 20px;
    text-align: center;
    color: rgba(10,10,10,0.65);
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.84rem;
    line-height: 1.6;
    border: 1px dashed rgba(10,10,10,0.25);
}
.lp-empty strong { color: #0a0a0a; }
.lp-empty .lp-cta-row {
    margin-top: 18px;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.lp-btn {
    background: #0a0a0a;
    color: #ece9d8;
    border: 1px solid #0a0a0a;
    border-radius: 0;
    padding: 12px 22px;
    font: 500 0.78rem/1 ui-monospace,'SF Mono',Menlo,monospace;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background 0.14s;
}
.lp-btn:hover { background: #1a7878; border-color: #1a7878; }
.lp-btn-outline {
    background: transparent;
    color: #0a0a0a;
}
.lp-btn-outline:hover { background: #0a0a0a; color: #ece9d8; }
.lp-btn:disabled, .lp-btn.disabled {
    background: #d8d4be !important;
    color: rgba(10,10,10,0.45) !important;
    border-color: rgba(10,10,10,0.30) !important;
    cursor: not-allowed;
}

.lp-app-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    background: #0a0a0a;
    border: 1px solid #0a0a0a;
}
.lp-app-row {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    background: #ece9d8;
}
.lp-app-icon {
    width: 56px; height: 56px;
    border: 1px solid #0a0a0a;
    background: #fff;
    overflow: hidden;
}
.lp-app-icon img { width: 100%; height: 100%; object-fit: cover; }
.lp-app-info h3 {
    margin: 0 0 4px;
    font: 700 1rem/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    color: #0a0a0a;
}
.lp-app-info .lp-app-meta {
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.70rem;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(10,10,10,0.60);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.lp-app-info .lp-app-meta strong { color: #1a7878; font-weight: 600; }
.lp-app-info .lp-app-meta code {
    background: #fff;
    border: 1px solid rgba(10,10,10,0.15);
    color: #1a7878;
    padding: 1px 5px;
    font-size: 0.74rem;
    text-transform: none;
    letter-spacing: 0;
}
.lp-app-row .lp-app-status {
    display: inline-flex;
    padding: 5px 10px;
    font: 500 0.66rem/1 ui-monospace,'SF Mono',Menlo,monospace;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.lp-app-status.eligible { background: rgba(10,110,0,0.12); color: #0a6e00; border: 1px solid rgba(10,110,0,0.40); }
.lp-app-status.locked { background: rgba(10,13,8,0.08); color: rgba(10,13,8,0.50); border: 1px solid rgba(10,13,8,0.30); }
.lp-app-status.has-token { background: rgba(26,120,120,0.10); color: #1a7878; border: 1px solid rgba(26,120,120,0.40); }

@media (max-width: 700px) {
    .lp-page, .tp-page { padding: 32px 18px 60px; }
    .lp-h1, .tp-h1 { font-size: 44px; }
    .lp-banner { grid-template-columns: 1fr; }
    .lp-app-row { grid-template-columns: 48px 1fr; }
    .lp-app-row .lp-app-actions { grid-column: 1 / -1; }
}

#tradePage .tp-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 1px;
    background: #0a0a0a;
    border: 2px solid #0a0a0a;
}
#tradePage .tp-info {
    background: #ece9d8;
    padding: 26px 28px;
}
#tradePage .tp-info-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(10,10,10,0.15);
}
#tradePage .tp-info-head h2 {
    font: 700 0.78rem/1 ui-monospace,'SF Mono',Menlo,monospace;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #0a0a0a;
    margin: 0;
}
#tradePage .tp-kv { grid-template-columns: 160px 1fr; }
#tradePage .tp-progress {
    display: inline-block;
    width: calc(100% - 80px);
    height: 8px;
    background: rgba(10,10,10,0.12);
    margin-right: 10px;
    vertical-align: middle;
    position: relative;
}
#tradePage .tp-progress-bar {
    height: 100%;
    background: #1a7878;
    width: 0%;
    transition: width 0.3s ease;
}
#tradePage .tp-progress-label {
    color: #1a7878;
    font-weight: 700;
    font-size: 0.78rem;
}

#tradePage .tp-trade {
    background: #ece9d8;
    padding: 22px;
}
#tradePage .tp-trade-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid #0a0a0a;
    margin-bottom: 14px;
}
#tradePage .tp-tab {
    padding: 12px;
    background: #ece9d8;
    border: none;
    border-right: 1px solid #0a0a0a;
    font: 600 0.78rem/1 ui-monospace,'SF Mono',Menlo,monospace;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(10,10,10,0.55);
    cursor: pointer;
    transition: all 0.14s;
}
#tradePage .tp-tab:last-child { border-right: none; }
#tradePage .tp-tab:hover { background: #d8d4be; color: #0a0a0a; }
#tradePage .tp-tab.active {
    background: #0a0a0a;
    color: #ece9d8;
}
#tradePage .tp-trade-meta {
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.70rem;
    letter-spacing: 0.10em;
    color: rgba(10,10,10,0.55);
    text-transform: uppercase;
    margin-bottom: 10px;
    text-align: right;
}
#tradePage .tp-trade-meta select {
    background: #fff;
    border: 1px solid #0a0a0a;
    border-radius: 0;
    padding: 4px 8px;
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.70rem;
    color: #0a0a0a;
    margin-left: 6px;
}
#tradePage .tp-error {
    padding: 24px;
    background: rgba(220,30,30,0.06);
    border: 2px solid #a01818;
    color: #a01818;
    font-family: ui-monospace,'SF Mono',Menlo,monospace;
    font-size: 0.86rem;
}

@media (max-width: 900px) {
    #tradePage .tp-grid { grid-template-columns: 1fr; }
    #tradePage .tp-kv { grid-template-columns: 1fr; }
}
