*{
    box-sizing:border-box;
}

:root{
    --bg:#07111f;
    --bg2:#0e1b31;
    --panel:#101b2e;
    --panel2:#16253d;
    --text:#eaf0fb;
    --muted:#9aabc6;
    --line:rgba(255,255,255,.08);
    --blue:#5ea1ff;
    --blue2:#7dc3ff;
    --green:#3ad49f;
    --shadow:0 18px 50px rgba(0,0,0,.30);
}

html,body{
    margin:0;
    min-height:100%;
    background:
        radial-gradient(circle at top right, rgba(94,161,255,.15), transparent 28%),
        radial-gradient(circle at top left, rgba(58,212,159,.10), transparent 26%),
        linear-gradient(180deg, var(--bg), #050b14 65%);
    color:var(--text);
    font-family:Inter,Segoe UI,Arial,sans-serif;
}

body{
    padding:32px;
}

.page{
    max-width:1280px;
    margin:0 auto;
}

.hero{
    padding:34px;
    border-radius:26px;
    background:
        linear-gradient(135deg, rgba(23,36,59,.96), rgba(10,17,31,.94));
    border:1px solid rgba(255,255,255,.07);
    box-shadow:var(--shadow);
    margin-bottom:26px;
}

.hero-top{
    display:flex;
    gap:24px;
    justify-content:space-between;
    align-items:flex-start;
    flex-wrap:wrap;
}

.eyebrow{
    color:var(--blue2);
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.18em;
    margin-bottom:8px;
}

h1{
    margin:0 0 10px 0;
    font-size:clamp(2.1rem,4vw,4.2rem);
    line-height:1.02;
}

.tagline{
    margin:0;
    color:var(--muted);
    max-width:780px;
    font-size:1.02rem;
}

.nav{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.nav a{
    color:var(--text);
    text-decoration:none;
    padding:10px 14px;
    border-radius:12px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
    transition:.18s ease;
}

.nav a:hover{
    background:rgba(94,161,255,.15);
    border-color:rgba(94,161,255,.28);
}

.banner{
    margin-top:24px;
    padding:18px 20px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(94,161,255,.15), rgba(125,195,255,.07));
    border:1px solid rgba(125,195,255,.24);
    font-size:1.2rem;
    font-weight:700;
    min-height:64px;
    display:flex;
    align-items:center;
}


.item-desc{
    margin-top:8px;
    color:var(--muted);
    font-size:.92rem;
    line-height:1.5;
}


.panel{
    margin-bottom:24px;
    padding:24px;
    border-radius:22px;
    background:rgba(16,27,46,.88);
    border:1px solid rgba(255,255,255,.06);
    box-shadow:var(--shadow);
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
    flex-wrap:wrap;
}

.section-head h2{
    margin:0;
    font-size:1.6rem;
}

.section-head span{
    color:var(--muted);
}

.overview-text,
.donation-desc{
    color:var(--muted);
    line-height:1.7;
}

.item-grid,
.project-grid,
.code-grid{
    display:grid;
    gap:16px;
}

.item-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}

.project-grid{
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
}

.code-grid{
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
}

.item-card,
.project-card,
.code-card{
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
    border:1px solid rgba(255,255,255,.07);
    border-radius:18px;
    padding:18px;
}

.item-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}

.item-main{
    min-width:0;
}

.item-title{
    font-size:1rem;
    font-weight:700;
    overflow-wrap:anywhere;
}

.item-sub{
    margin-top:6px;
    color:var(--muted);
    font-size:.92rem;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:white;
    background:linear-gradient(135deg, var(--blue), #3f7fe0);
    text-decoration:none;
    border:none;
    border-radius:12px;
    padding:10px 14px;
    font-weight:700;
    white-space:nowrap;
    transition:.18s ease;
}

.btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
}

.btn.secondary{
    background:linear-gradient(135deg, #263a5f, #1c2b48);
}

.project-top,
.code-card-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
}

.project-top h3{
    margin:0;
    font-size:1.16rem;
}

.project-subtitle{
    color:var(--muted);
    margin-top:6px;
}

.status-pill{
    background:rgba(58,212,159,.12);
    color:#8df0ca;
    border:1px solid rgba(58,212,159,.26);
    padding:8px 10px;
    border-radius:999px;
    font-size:.82rem;
    font-weight:700;
    white-space:nowrap;
}

.project-desc{
    color:var(--muted);
    line-height:1.65;
    margin:16px 0;
}

.tag-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.tag{
    font-size:.8rem;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.06);
    color:var(--text);
}

.link-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.link-row a{
    color:var(--blue2);
    text-decoration:none;
    font-weight:600;
}

.code-card pre{
    margin:16px 0 0 0;
    padding:16px;
    border-radius:14px;
    background:#09111f;
    border:1px solid rgba(255,255,255,.06);
    color:#cfe0ff;
    overflow:auto;
    font-size:.88rem;
    line-height:1.55;
    white-space:pre-wrap;
    word-break:break-word;
}

.empty{
    color:var(--muted);
}

code{
    background:rgba(255,255,255,.05);
    padding:2px 6px;
    border-radius:7px;
}

.footer{
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    padding:10px 6px 0 6px;
    color:var(--muted);
    font-size:.95rem;
}

@media (max-width: 768px){
    body{
        padding:16px;
    }

    .hero,
    .panel{
        padding:18px;
        border-radius:18px;
    }

    .item-card,
    .project-top,
    .code-card-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .btn{
        width:100%;
    }
}
.project-metrics{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
    margin:20px 0 16px 0;
}

.metric-card{
    padding:14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}

.metric-value{
    font-size:1.5rem;
    font-weight:800;
    color:var(--blue2);
}

.metric-label{
    margin-top:6px;
    color:var(--muted);
    font-size:.9rem;
}

.projects-intent{
    margin:10px 0 22px 0;
    padding:16px;
    border-radius:14px;
    border:1px solid rgba(94,161,255,.25);
    background:linear-gradient(135deg, rgba(94,161,255,.12), rgba(125,195,255,.04));
}

.projects-intent h3{
    margin:0 0 8px 0;
}

.projects-intent ul{
    margin:0;
    padding-left:20px;
    color:var(--muted);
    line-height:1.6;
}

.section-subhead{
    margin-top:4px;
}

.project-story-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
    margin:12px 0 14px 0;
}

.project-story-grid > div{
    padding:11px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(8,16,29,.45);
}

.story-label{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--blue2);
    margin-bottom:6px;
}

.project-story-grid p{
    margin:0;
    color:var(--muted);
    line-height:1.55;
    font-size:.92rem;
}

.project-snippet-block{
    margin-top:12px;
    padding-top:4px;
}

.project-snippet-block .code-grid{
    margin-top:4px;
}

.project-snippet-block .empty{
    margin-top:8px;
}

.tracked-link{
    padding:7px 10px;
    border-radius:10px;
    background:rgba(94,161,255,.12);
    border:1px solid rgba(94,161,255,.26);
}

@media (max-width: 768px){
    .project-story-grid{
        grid-template-columns:1fr;
    }
}

.support-panel .section-head{
    margin-bottom:16px;
}

.support-layout{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:16px;
}

.support-card{
    padding:18px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.support-card-highlight{
    border-color:rgba(94,161,255,.26);
    background:linear-gradient(135deg, rgba(94,161,255,.14), rgba(125,195,255,.05));
}

.support-card h3{
    margin:0 0 10px 0;
    font-size:1.08rem;
}

.support-links{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:10px;
    margin-top:14px;
}

.support-list{
    margin:0;
    padding-left:18px;
    color:var(--muted);
    line-height:1.7;
}

.request-form{
    margin-top:8px;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:14px;
}

.form-grid.single{
    grid-template-columns:1fr;
}

.request-form label{
    display:block;
    margin:0 0 7px 0;
    font-size:.85rem;
    font-weight:700;
    color:var(--blue2);
    letter-spacing:.04em;
    text-transform:uppercase;
}

.request-form input,
.request-form textarea{
    width:100%;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(4,10,20,.72);
    color:var(--text);
    padding:12px;
    font:inherit;
    outline:none;
    transition:border-color .16s ease, box-shadow .16s ease;
}

.request-form input:focus,
.request-form textarea:focus{
    border-color:rgba(125,195,255,.6);
    box-shadow:0 0 0 3px rgba(94,161,255,.15);
}

.request-form textarea{
    resize:vertical;
    min-height:140px;
}

.request-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.request-status{
    color:var(--muted);
    font-size:.92rem;
}

.request-list{
    display:grid;
    gap:12px;
}

.request-card{
    padding:15px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(9,17,31,.62);
}

.request-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:6px;
}

.request-head span,
.request-meta{
    color:var(--muted);
    font-size:.9rem;
}

.request-card p{
    margin:10px 0 0 0;
    color:var(--text);
    line-height:1.6;
}

@media (max-width: 900px){
    .support-layout{
        grid-template-columns:1fr;
    }
}

@media (max-width: 768px){
    .form-grid{
        grid-template-columns:1fr;
    }

    .request-actions .btn{
        width:100%;
    }
}

.code-actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.code-scroll{
    margin:16px 0 0 0;
    max-height:360px;
    overflow:auto;
    white-space:pre;
    word-break:normal;
}

.code-scroll code{
    display:block;
    min-width:max-content;
    background:transparent;
    padding:0;
    border-radius:0;
}

.copy-btn.copied{
    background:linear-gradient(135deg, #2f8c6a, #1f6f53);
    border-color:rgba(58,212,159,.35);
}

@media (max-width: 768px){
    .code-actions{
        width:100%;
    }

    .code-actions .btn{
        width:100%;
    }
}

.download-subhead{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    margin:20px 0 14px 0;
    flex-wrap:wrap;
}

.download-subhead h3{
    margin:0;
    font-size:1.12rem;
}

.download-subhead span{
    color:var(--muted);
    font-size:.9rem;
}

.software-grid{
    display:grid;
    gap:14px;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    margin-bottom:8px;
}

.software-card{
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    padding:14px;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
    display:flex;
    flex-direction:column;
    gap:10px;
}

.software-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.software-head h4{
    margin:0;
    font-size:1.03rem;
}

.version-history{
    margin-top:2px;
}

.version-history summary{
    list-style:none;
}

.version-history summary::-webkit-details-marker{
    display:none;
}

.version-list{
    margin-top:10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    overflow:hidden;
}

.version-row{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    padding:10px 12px;
    border-top:1px solid rgba(255,255,255,.07);
}

.version-row:first-child{
    border-top:none;
}

.version-meta{
    min-width:0;
}

.version-meta strong{
    display:block;
}

.download-category-grid{
    display:grid;
    gap:16px;
}

.download-category-card{
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    padding:14px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

.category-head{
    margin-top:2px;
}

.download-actions{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.overlay-modal{
    position:fixed;
    inset:0;
    background:rgba(2,7,14,.74);
    backdrop-filter:blur(3px);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:999;
    padding:20px;
}

.overlay-modal.open{
    display:flex;
}

.overlay-panel{
    width:min(1100px, 96vw);
    max-height:90vh;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg, rgba(11,19,33,.98), rgba(7,14,25,.98));
    box-shadow:0 24px 80px rgba(0,0,0,.45);
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.overlay-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    flex-wrap:wrap;
}

.overlay-head h3{
    margin:0;
}

.overlay-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.overlay-help,
.overlay-status{
    margin:0;
    color:var(--muted);
    font-size:.92rem;
}

.code-modal-panel,
.stl-modal-panel{
    width:min(1200px, 96vw);
}

.code-modal-content{
    margin:0;
    padding:14px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.08);
    background:#08101c;
    color:#d6e4ff;
    min-height:280px;
    max-height:68vh;
    overflow:auto;
    white-space:pre;
    word-break:normal;
    font-size:.9rem;
    line-height:1.55;
}

.stl-viewer-stage{
    width:100%;
    height:min(62vh, 560px);
    border-radius:12px;
    border:1px solid rgba(255,255,255,.08);
    background:#0a1322;
    overflow:hidden;
}

.code-scroll{
    max-height:420px;
}

.item-card.compact{
    min-height:110px;
    justify-content:center;
    align-items:flex-start;
    flex-direction:column;
}

.two-col{
    display:grid;
    gap:16px;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
}

.request-status.success{
    color:#8df0ca;
}

.request-status.error{
    color:#ff9d9d;
}

@media (max-width: 768px){
    .two-col{
        grid-template-columns:1fr;
    }
}

body.modal-open{
    overflow:hidden;
}

@media (max-width: 768px){
    .software-grid{
        grid-template-columns:1fr;
    }

    .version-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .version-row .btn{
        width:100%;
    }

    .download-actions,
    .overlay-actions{
        width:100%;
    }

    .download-actions .btn,
    .overlay-actions .btn,
    .overlay-actions a.btn{
        width:100%;
    }

    .overlay-panel{
        padding:12px;
    }

    .stl-viewer-stage{
        height:min(56vh, 420px);
    }
}

.nav-private{
    border-color:rgba(58,212,159,.3) !important;
    background:rgba(58,212,159,.12) !important;
}

.notice-stack{
    display:grid;
    gap:10px;
    margin:0 0 16px 0;
}

.notice-card{
    padding:12px 14px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(8,16,29,.55);
    display:grid;
    gap:6px;
}

.notice-card strong{
    font-size:.92rem;
}

.notice-card span{
    color:var(--muted);
    font-size:.92rem;
    line-height:1.55;
}

.notice-card.info{
    border-color:rgba(94,161,255,.30);
    background:rgba(94,161,255,.10);
}

.notice-card.warning{
    border-color:rgba(255,194,102,.36);
    background:rgba(255,194,102,.10);
}

.notice-card.muted{
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.05);
}

.action-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:6px;
}

.action-head h3{
    margin:0;
}

.scope-pill{
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:999px;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.scope-pill.public{
    color:#8bd3ff;
    border:1px solid rgba(94,161,255,.45);
    background:rgba(94,161,255,.14);
}

.scope-pill.private{
    color:#d4d9e6;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.08);
}

.scope-pill.site{
    color:#98e9c7;
    border:1px solid rgba(58,212,159,.45);
    background:rgba(58,212,159,.13);
}

.request-status.pending{
    color:#9bc6ff;
}

.request-form button[disabled]{
    opacity:.68;
    cursor:not-allowed;
    transform:none;
}

.split-top{
    margin-top:18px;
}

.action-list{
    margin:10px 0 0 0;
    padding-left:20px;
    color:var(--muted);
    line-height:1.65;
}

.work-kind{
    display:inline-flex;
    align-items:center;
    padding:4px 9px;
    border-radius:999px;
    border:1px solid rgba(125,195,255,.34);
    background:rgba(94,161,255,.12);
    color:#b6dbff;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.work-kind.decision{
    border-color:rgba(255,190,120,.42);
    background:rgba(255,190,120,.14);
    color:#ffd7a5;
}

.work-kind.status{
    border-color:rgba(255,255,255,.26);
    background:rgba(255,255,255,.08);
    color:#d8e2f5;
}

.work-kind.status.open{
    border-color:rgba(125,195,255,.38);
    background:rgba(125,195,255,.14);
    color:#c9e7ff;
}

.work-kind.status.in_progress{
    border-color:rgba(117,223,183,.42);
    background:rgba(117,223,183,.14);
    color:#c6f8e3;
}

.work-kind.status.blocked{
    border-color:rgba(255,165,165,.45);
    background:rgba(255,165,165,.16);
    color:#ffd0d0;
}

.work-kind.status.resolved{
    border-color:rgba(165,255,203,.45);
    background:rgba(165,255,203,.16);
    color:#cffff0;
}

.decision-actions{
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.inline-form{
    margin:0;
}

.mini-btn{
    padding:8px 10px;
    border-radius:10px;
    font-size:.82rem;
}

.decision-actions .btn{
    width:auto;
}

@media (max-width: 768px){
    .inline-form{
        flex:1 1 140px;
    }

    .decision-actions .btn{
        width:100%;
    }
}

.chat-launcher-wrap{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:1200;
}

.chat-launcher-btn{
    border:none;
    border-radius:999px;
    padding:12px 18px;
    font-weight:800;
    letter-spacing:.03em;
    color:#ffffff;
    background:linear-gradient(135deg, #39b6ff, #2f77ff);
    box-shadow:0 10px 30px rgba(18,76,185,.45);
    cursor:pointer;
    transition:transform .15s ease, filter .15s ease;
}

.chat-launcher-btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
}

.chat-panel{
    position:fixed;
    right:20px;
    bottom:76px;
    width:min(380px, calc(100vw - 22px));
    max-height:min(74vh, 700px);
    border-radius:16px;
    border:1px solid rgba(255,255,255,.12);
    background:linear-gradient(180deg, rgba(13,23,39,.97), rgba(8,15,28,.97));
    box-shadow:0 24px 70px rgba(0,0,0,.55);
    z-index:1201;
    display:none;
    overflow:hidden;
}

.chat-panel.open{
    display:grid;
    grid-template-rows:auto 1fr auto auto;
}

.chat-panel-head{
    padding:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.chat-panel-head strong{
    display:block;
    font-size:.98rem;
}

.chat-panel-head span{
    color:var(--muted);
    font-size:.86rem;
}

.chat-close-btn{
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    background:rgba(255,255,255,.04);
    color:var(--text);
    cursor:pointer;
    padding:7px 10px;
    font-size:.83rem;
    font-weight:700;
}

.chat-messages{
    overflow:auto;
    padding:12px;
    display:grid;
    gap:9px;
}

.chat-row{
    display:flex;
}

.chat-row.user{
    justify-content:flex-end;
}

.chat-row.assistant{
    justify-content:flex-start;
}

.chat-bubble{
    max-width:94%;
    border-radius:12px;
    padding:10px 11px;
    line-height:1.5;
    font-size:.92rem;
    white-space:pre-wrap;
    word-break:break-word;
}

.chat-row.user .chat-bubble{
    border:1px solid rgba(94,161,255,.30);
    background:rgba(94,161,255,.18);
}

.chat-row.assistant .chat-bubble{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.06);
}

.chat-route-links{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.chat-route-links a{
    text-decoration:none;
    color:#d5eaff;
    font-size:.82rem;
    border:1px solid rgba(125,195,255,.35);
    border-radius:999px;
    padding:4px 8px;
    background:rgba(94,161,255,.12);
}

.chat-form{
    border-top:1px solid rgba(255,255,255,.07);
    padding:12px;
}

.chat-form label{
    display:block;
    margin:0 0 7px 0;
    color:var(--blue2);
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.chat-form textarea{
    width:100%;
    min-height:76px;
    max-height:140px;
    resize:vertical;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(4,10,20,.72);
    color:var(--text);
    padding:10px;
    font:inherit;
}

.chat-form-row{
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:8px;
}

.chat-status{
    color:var(--muted);
    font-size:.83rem;
}

.chat-consent-row{
    border-top:1px solid rgba(255,255,255,.07);
    padding:10px 12px 12px 12px;
    display:flex;
    gap:8px;
    align-items:flex-start;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.4;
}

.chat-consent-row input{
    margin-top:2px;
}

@media (max-width: 768px){
    .chat-launcher-wrap{
        right:12px;
        bottom:12px;
    }

    .chat-panel{
        right:12px;
        left:12px;
        width:auto;
        bottom:66px;
        max-height:76vh;
    }

    .chat-launcher-btn{
        padding:11px 15px;
    }
}

.chat-legal-note{
    margin:14px auto 6px auto;
    max-width:980px;
    text-align:center;
    color:rgba(214, 227, 248, .48);
    font-size:.82rem;
    letter-spacing:.02em;
}
