:root{
    --bg:#0b1220;
    --panel:rgba(255,255,255,.06);
    --text:#eaf0ff;
    --muted:#b9c6de;
    --line:rgba(255,255,255,.14);
    --shadow:0 18px 55px rgba(0,0,0,.45);
    --radius:18px;

    --accent1:#6ee7ff;
    --accent2:#a78bfa;

    --chip-bg:rgba(255,255,255,.05);
    --chip-bg-hover:rgba(255,255,255,.08);
    --chip-border:rgba(255,255,255,.16);
    --chip-border-hover:rgba(110,231,255,.28);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--text);
    background:
            radial-gradient(900px 600px at 15% 10%, rgba(110,231,255,.18), transparent 60%),
            radial-gradient(900px 600px at 85% 20%, rgba(167,139,250,.18), transparent 60%),
            var(--bg);
}

/* prevent default blue/purple link styles */
a, a:visited{
    color:inherit;
    text-decoration:none;
}

.page{
    min-height:100%;
    display:grid;
    place-items:center;
    padding:28px;
}

.card{
    width:min(820px, 100%);
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--panel);
    box-shadow:var(--shadow);
    padding:28px;
    backdrop-filter: blur(10px);
}

.header{
    display:flex;
    align-items:baseline;
    gap:18px;
    flex-wrap:wrap;
}

.name{
    margin:0;
    font-size:36px;
    letter-spacing:-.02em;
    line-height:1.05;
}

.title{
    color:var(--muted);
    font-weight:800;
    font-size:18px;
}

.summary{
    margin:16px 0 0;
    font-size:16px;
    line-height:1.75;
    max-width:72ch;
}

.summary strong{
    background: linear-gradient(90deg, var(--accent1), var(--accent2));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    font-weight:900;
}

.contact{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
    display:grid;
    gap:12px;
}

.item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:14px;
    background: rgba(255,255,255,.03);
}

.label{
    color:var(--muted);
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}

.right{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.textlink{
    font-weight:900;
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:520px;
}

.textlink:hover{
    text-decoration:underline;
    text-decoration-color: rgba(110,231,255,.35);
}

/* chip buttons (Copy/Open) */
.chip{
    -webkit-appearance:none !important;
    appearance:none !important;
    border:1px solid var(--chip-border) !important;
    background: var(--chip-bg) !important;
    color: var(--text) !important;
    border-radius:999px !important;
    font-weight:900 !important;
    font-size:13px !important;
    padding:9px 12px !important;
    line-height:1 !important;
    cursor:pointer !important;
    white-space:nowrap !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    transition: transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
}

.chip:hover{
    transform: translateY(-1px);
    background: var(--chip-bg-hover) !important;
    border-color: var(--chip-border-hover) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.chip:active{ transform: translateY(0px); }

.chip:focus-visible{
    outline:none;
    box-shadow: 0 0 0 4px rgba(110,231,255,.14);
}

.toast{
    margin-top:12px;
    min-height:18px;
    color:var(--accent1);
    font-weight:900;
}

.footer{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}

@media (max-width: 720px){
    .card{ padding:20px; }
    .name{ font-size:28px; }

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

    .right{
        width:100%;
        justify-content:space-between;
    }

    .textlink{ max-width:100%; }
}
