/*
 * DayStalkers Speakeasy
 * Redesign Prototype
 * Presentation only
 */

:root {
    --bg:#101a20;
    --panel:rgba(18,35,43,.94);
    --panel2:#172b34;
    --line:#355563;
    --text:#edf4f3;
    --muted:#aabdc0;
    --accent:#a9d8df;
    --accent-strong:#80c4cf;
    --danger:#df8f8b;
    --ok:#91cba1;
    --warn:#d2bd7d;
}

body {
    background:
        radial-gradient(circle at 50% -10%,rgba(73,122,137,.22),transparent 35%),
        linear-gradient(180deg,#101c22 0%,#0c171c 100%);
}

body:before {
    opacity:.16;
    background:
        radial-gradient(ellipse at 10% 75%,rgba(78,126,116,.24),transparent 28%),
        radial-gradient(ellipse at 90% 65%,rgba(76,119,133,.20),transparent 30%);
}

.topbar {
    height:64px;
    padding:0 22px;
    gap:20px;
    background:rgba(8,22,28,.96);
    border-bottom:1px solid #31515e;
    box-shadow:0 6px 22px rgba(0,0,0,.22);
}

.brand {
    color:#f0f5f2;
}

.brand:before {
    border-color:#6fa9b4;
    color:var(--accent);
}

.shell {
    grid-template-columns:220px minmax(500px,760px) 300px;
    gap:18px;
    max-width:1340px;
    padding:18px 20px;
}

.panel,
.card {
    background:linear-gradient(145deg,rgba(22,43,52,.96),rgba(15,31,38,.96));
    border:1px solid #345563;
    border-radius:11px;
    padding:15px;
    margin-bottom:13px;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
}

.nav a {
    padding:9px 11px;
    margin:2px 0;
    border-radius:7px;
    color:#dce8e8;
}

.nav a:hover {
    background:linear-gradient(90deg,rgba(123,184,195,.22),rgba(83,137,150,.14));
    color:#fff;
}

.nav .section {
    margin:15px 11px 6px;
    color:#819ba1;
}

input,
textarea,
select {
    padding:9px 11px;
    background:#0d1b21;
    border:1px solid #355866;
    border-radius:7px;
}

input:focus,
textarea:focus,
select:focus {
    border-color:var(--accent-strong);
    box-shadow:0 0 0 3px rgba(128,196,207,.11);
}

/* Speakeasy mist buttons */
button,
.btn {
    padding:9px 15px;
    border:1px solid #8fc7d0;
    border-radius:7px;
    background:linear-gradient(180deg,#b9e0e4 0%,#8fc8d1 100%);
    color:#102027;
    font-weight:800;
    box-shadow:
        inset 0 1px rgba(255,255,255,.30),
        0 2px 5px rgba(0,0,0,.20);
}

button:hover,
.btn:hover {
    background:linear-gradient(180deg,#c7e8eb 0%,#9fd3da 100%);
}

.btn.secondary {
    background:linear-gradient(180deg,#294854,#203b45);
    color:#e8f2f2;
    border:1px solid #527784;
}

.composer-card {
    padding:14px;
}

.composer-card textarea {
    min-height:72px;
}

.post-card {
    padding:15px;
}

.post-body {
    font-size:15px;
    line-height:1.5;
    padding:13px 2px;
}

.post-meta {
    padding:7px 2px;
}

.post-actions {
    padding:6px 0;
}

.ghost-action {
    padding:6px 9px;
    color:#cbdadc;
    background:transparent;
    border-color:transparent;
    box-shadow:none;
}

.ghost-action:hover {
    background:rgba(123,184,195,.12);
}

.reaction-button {
    padding:6px 8px;
    color:#d1dfe0;
    background:transparent;
    border-color:transparent;
    box-shadow:none;
}

.reaction-button:hover {
    background:rgba(169,216,223,.14);
    border-color:#496c76;
}

.reaction-button.selected {
    background:rgba(128,196,207,.17);
    border-color:#72aeb9;
    color:#dff7fa;
}

.comment-bubble {
    background:#102129;
    border-color:#304e59;
}

.rail strong {
    color:#edf5f3;
}

.rail .panel:first-child {
    border-color:#426b78;
}

.sponsored-card {
    border-color:#426572;
    background:linear-gradient(145deg,rgba(29,52,61,.96),rgba(17,34,41,.96));
}

.sponsored-label,
.eyebrow,
.owner-link {
    color:var(--accent)!important;
}

.avatar,
.mini-avatar {
    color:#dcebed;
    border-color:#557680;
    background:linear-gradient(145deg,#35535c,#213a43);
}

@media(max-width:1050px) {
    .shell {
        grid-template-columns:190px minmax(0,1fr);
    }

    .rail {
        display:none;
    }
}

@media(max-width:720px) {
    .shell {
        display:block;
        padding:10px;
    }

    .panel,
    .card {
        border-radius:9px;
    }
}

/* =========================================================
   SPEAKEASY GEOMETRY PASS
   Align body edges with DS / Log out and shorten hero
   ========================================================= */

/*
 * Header and page use the same outside gutters.
 * This makes the left rail begin beneath the DS mark
 * and the right rail terminate beneath Log out.
 */
.topbar {
    padding-left:20px;
    padding-right:20px;
}

.shell {
    width:100%;
    max-width:none;
    grid-template-columns:220px minmax(500px, 1fr) 270px;
    gap:20px;
    margin:0;
    padding:18px 20px;
}

/* Keep the main feed comfortably readable on wide monitors */
.shell > main {
    min-width:0;
}

/* Shorter welcome banner */
.hero-card {
    padding:18px 26px;
    margin-bottom:14px;
    min-height:0;
}

.hero-card h1 {
    font-size:32px;
    line-height:1.08;
    margin:3px 0 7px;
}

.hero-card p {
    line-height:1.4;
}

.eyebrow {
    margin-bottom:4px;
}

/* Maintain sensible proportions as the viewport narrows */
@media (max-width:1200px) {
    .shell {
        grid-template-columns:200px minmax(460px,1fr) 250px;
        gap:16px;
    }
}

@media (max-width:1050px) {
    .shell {
        grid-template-columns:190px minmax(0,1fr);
    }

    .rail {
        display:none;
    }
}

@media (max-width:720px) {
    .topbar {
        padding-left:14px;
        padding-right:14px;
    }

    .shell {
        display:block;
        padding:10px 14px;
    }

    .hero-card {
        padding:16px 18px;
    }

    .hero-card h1 {
        font-size:27px;
    }
}

/* =========================================================
   GEOMETRY CORRECTION
   Override legacy 0.6.0 !important geometry
   ========================================================= */

.shell {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:18px 20px !important;
    grid-template-columns:220px minmax(500px,1fr) 270px !important;
    gap:20px !important;
}

/* Shorter Welcome panel */
.hero-card,
.ds-hero {
    min-height:0 !important;
    padding:18px 26px !important;
}

.hero-card h1 {
    font-size:32px !important;
    margin:3px 0 7px !important;
}

/* Preserve responsive behavior */
@media (max-width:1200px) {
    .shell {
        grid-template-columns:200px minmax(460px,1fr) 250px !important;
        max-width:none !important;
    }
}

@media (max-width:1050px) {
    .shell {
        grid-template-columns:190px minmax(0,1fr) !important;
    }
}

@media (max-width:720px) {
    .shell {
        display:block !important;
        width:auto !important;
        padding:10px 14px !important;
    }

    .hero-card,
    .ds-hero {
        min-height:0 !important;
        padding:16px 18px !important;
    }

    .hero-card h1 {
        font-size:27px !important;
    }
}
