@font-face{
    font-family:'Inter';
    src:url('./fonts/Inter-Regular.woff2') format('woff2');
    font-weight:400;
}

@font-face{
    font-family:'Inter';
    src:url('./fonts/Inter-Bold.woff2') format('woff2');
    font-weight:700;
}

@font-face{
    font-family:'Inter';
    src:url('./fonts/Inter-Black.woff2') format('woff2');
    font-weight:900;
}


:root{
    --primary:#000;
    --surface:#f3f3f3;
    --bg:#e8e8e8;
    --border:4px solid #000;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Inter',sans-serif;
}

body{
    background:var(--bg);
    color:#000;
    display:flex;
    justify-content:center;
    padding:12px;
}

.app-container{
    width:100%;
    max-width:460px;
    display:flex;
    flex-direction:column;
    gap:18px;
}

/* ===================== */
/* CHARACTER (NEW SVG)   */
/* ===================== */

.character svg{
    width:220px;
    height:auto;
}
.character-wrap{
    display:flex;
    justify-content:center;
    margin-top:0;
    margin-bottom:-70px;
    position:relative;
    z-index:2;
}

.ipbaba-svg{
    width:240px;
    height:auto;
    display:block;
}

/* ===================== */
/* BANNER               */
/* ===================== */

.ip-banner{
    width:100%;
    background:#fff;
    border:4px solid #000;
    padding:18px;
    text-align:center;

    margin-top:0;

    position:relative;
    z-index:1;
}
.ip-title{
    font-size:.8rem;
    font-weight:900;
    letter-spacing:2px;
    margin-bottom:8px;
}

.ip-value{
    font-size:2rem;
    font-weight:900;
}

/* ===================== */
/* CARDS                */
/* ===================== */

.card{
    background:var(--surface);
    border:4px solid #000;
    padding:18px;
}

.card-title{
    font-size:.9rem;
    font-weight:900;
    margin-bottom:14px;
    text-transform:uppercase;
}

.info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.info-box{
    background:#fff;
    border:3px solid #000;
    padding:12px;
}

.info-label{
    font-size:.72rem;
    font-weight:900;
    opacity:.7;
    text-transform:uppercase;
}

.info-value{
    font-size:1rem;
    font-weight:900;
    word-break:break-word;
}

/* ===================== */
/* STATUS + BUTTON       */
/* ===================== */

.status-box,
.btn{
    font-size:1rem;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.status-box{
    margin-top:14px;
    background:#000;
    color:#fff;
    padding:14px;
    text-align:center;
}

.btn{
    width:100%;
    padding:14px;
    border:none;
    background:#000;
    color:#fff;
    cursor:pointer;
    margin-top:12px;
}

/* FOOTER */

.footer{
    text-align:center;
    font-size:.8rem;
    font-weight:800;
    opacity:.7;
    padding-bottom:20px;
}