:root{
--bg:#f6f8fc;
--panel:#ffffff;
--card:#ffffff;
--muted:#5b6472;
--text:#0f172a;
--border:rgba(15,23,42,.10);
--shadow: 0 18px 55px rgba(15, 23, 42, .10);
--shadow2: 0 10px 30px rgba(15, 23, 42, .08);
--brand1:#ff3b30;
--brand2:#ffb020;
--accent:#2563eb;
--ok:#16a34a;
}
*{box-sizing:border-box}
body{
    margin:0;
    min-height:100vh;
    font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial;
    background:
        radial-gradient(1100px 680px at 12% -10%, rgba(255,59,48,.18), transparent 60%),
        radial-gradient(900px 520px at 92% 8%, rgba(255,176,32,.20), transparent 55%),
        linear-gradient(180deg, #ffffff, var(--bg) 36%, var(--bg));
    background-repeat:no-repeat;
    background-size:cover;
    background-attachment:fixed;
    color:var(--text);
}
a{color:inherit}
.wrap{max-width:980px;margin:0 auto;padding:36px 18px 60px}

header{
display:flex;align-items:center;justify-content:space-between;gap:16px;
padding:14px 16px;border:1px solid var(--border);border-radius:18px;
background:rgba(255,255,255,.80);
box-shadow: var(--shadow2);
backdrop-filter: blur(8px);
}
.brand{display:flex;align-items:center;gap:12px}
.logo{
width:44px;height:44px;border-radius:14px;
display:grid;place-items:center;
overflow:hidden;
}
.logo img{width:44px;height:44px;object-fit:cover;display:block}
.brand h1{font-size:18px;margin:0;line-height:1.1}
.brand small{display:block;color:var(--muted);margin-top:2px}

.lang{
display:flex;align-items:center;gap:10px;
}

.lang select{
padding:8px 10px;
border:1px solid var(--border);
border-radius:12px;
color:var(--muted);
background:rgba(255,255,255,.65);
box-shadow: 0 6px 18px rgba(15,23,42,.06);
outline:none;
cursor:pointer;
}
.lang select:focus{border-color:rgba(15,23,42,.18);background:#ffffff;color:var(--text)}

.hero{margin:28px 0 18px}
.hero h2{margin:0 0 8px;font-size:44px;letter-spacing:-.02em}
.hero p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}

.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}
@media (max-width: 860px){.grid{grid-template-columns:1fr}}

.card{
border:1px solid var(--border);
border-radius:22px;
background:rgba(255,255,255,.85);
backdrop-filter: blur(10px);
overflow:hidden;
box-shadow: var(--shadow);
}
.card .pad{padding:18px}

.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width: 600px){.form{grid-template-columns:1fr}}

label{display:block;font-size:13px;color:var(--muted);margin:0 0 8px}
select, input{
width:100%;padding:12px 12px;
border-radius:14px;border:1px solid rgba(15,23,42,.12);
background:#ffffff;
color:var(--text);
outline:none;
}

.actions{grid-column:1 / -1;display:flex;gap:12px;align-items:center}
@media (max-width:600px){.actions{flex-direction:column;align-items:stretch}}

button{
padding:12px 14px;border-radius:14px;border:0;cursor:pointer;
background:linear-gradient(135deg, rgba(255,59,48,1), rgba(255,176,32,1));
color:#0b1220;font-weight:800;
box-shadow:0 16px 40px rgba(255,59,48,.20);
transition: transform .06s ease, filter .12s ease;
}
button:hover{filter:brightness(1.02)}
button:active{transform:translateY(1px)}
button.secondary{
background:#ffffff;
color:var(--text);
border:1px solid rgba(15,23,42,.14);
box-shadow: 0 10px 26px rgba(15,23,42,.08);
font-weight:700;
}

.hint{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}
.hint code{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}

.result{
display:none;
margin-top:14px;
padding:12px 12px;
border-radius:16px;
border:1px solid rgba(15,23,42,.12);
background:#ffffff;
}
.result .row{display:flex;gap:10px;align-items:center}
.result code{
flex:1;
display:block;
padding:10px 10px;
border-radius:12px;
background:rgba(15,23,42,.04);
border:1px solid rgba(15,23,42,.10);
overflow:auto;
white-space:nowrap;
}

.pill{
display:inline-flex;gap:8px;align-items:center;
padding:10px 12px;border-radius:999px;
border:1px solid rgba(15,23,42,.12);
background:rgba(255,255,255,.75);
color:var(--muted);
font-size:13px;
box-shadow: 0 10px 26px rgba(15,23,42,.06);
}

.warn{
margin-top:12px;
padding:12px 14px;
border-radius:16px;
border:1px solid rgba(255,176,32,.35);
background:rgba(255,176,32,.12);
color:#7a4a00;
font-size:13px;
line-height:1.5;
}

footer{margin-top:20px;color:rgba(255,255,255,.35);font-size:12px;text-align:center}