* { margin:0; padding:0; box-sizing:border-box; }
:root { --bg:#1a1a2e; --bg2:#16213e; --blue:#0f3460; --accent:#e94560; --white:#eee; --dim:#7a7a9e; --border:#2a2a4a; --green:#22c55e; --red:#ef4444; }
body { font-family:'Sora',sans-serif; background:var(--bg); color:var(--white); min-height:100vh; }
.container { max-width:860px; margin:0 auto; padding:0 20px; }
.nav { background:var(--blue); border-bottom:1px solid var(--border); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:54px; }
.brand { font-size:1.05rem; font-weight:700; }
.brand i { color:var(--accent); margin-right:6px; }
.brand b { color:var(--accent); }
.tag { font-family:'JetBrains Mono',monospace; font-size:0.6rem; letter-spacing:0.12em; color:var(--accent); }
.page { padding:48px 0 60px; }
.hero { text-align:center; margin-bottom:24px; }
.hero h1 { font-size:2.2rem; font-weight:800; }
.hl { color:var(--accent); }
.hero p { color:var(--dim); font-size:0.9rem; margin-top:8px; max-width:540px; margin-left:auto; margin-right:auto; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.card { background:var(--bg2); border:1px solid var(--border); border-radius:14px; padding:20px; margin-bottom:14px; }
.card h3 { font-size:0.95rem; margin-bottom:10px; }
.card h3 i { color:var(--accent); margin-right:6px; }
.card.tip { border-left:3px solid var(--accent); }
.card input { width:100%; padding:10px 14px; background:var(--bg); border:1px solid var(--border); border-radius:8px; color:var(--white); font-family:'JetBrains Mono',monospace; font-size:0.85rem; outline:none; margin-bottom:10px; }
.output { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; margin-top:12px; font-family:'JetBrains Mono',monospace; font-size:0.75rem; color:var(--dim); overflow-x:auto; white-space:pre-wrap; word-break:break-all; min-height:30px; }
.code-block { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:14px; font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--accent); overflow-x:auto; white-space:pre-wrap; }
.btn { padding:10px 20px; background:var(--accent); color:white; border:none; border-radius:8px; font-weight:700; font-size:0.85rem; cursor:pointer; font-family:inherit; }
.btn.full { width:100%; }
.flag-row { display:flex; gap:10px; }
.flag-row input { flex:1; margin-bottom:0; }
.ok { margin-top:10px; padding:10px; background:rgba(34,197,94,0.08); border:1px solid rgba(34,197,94,0.2); border-radius:8px; color:var(--green); font-size:0.82rem; }
.ok pre { white-space:pre-wrap; word-break:break-all; font-size:0.78rem; }
.fail { margin-top:10px; padding:10px; background:rgba(239,68,68,0.08); border:1px solid rgba(239,68,68,0.2); border-radius:8px; color:var(--red); font-size:0.82rem; }
@media(max-width:700px) { .grid-2{grid-template-columns:1fr;} .flag-row{flex-direction:column;} }
