:root{
  --bg:#121820;
  --panel:#1b2330;
  --panel2:#202a38;
  --text:#f3f5f7;
  --muted:#a9b3c1;
  --line:#2b3544;
  --orange:#ff6b18;
  --orange2:#ff8a2a;
  --danger:#db3b30;
  --ok:#31c48d;
  font-family:system-ui,-apple-system,Segoe UI,sans-serif;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{
  color:var(--text);
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at top,#253146 0,#121820 42%,#0f141b 100%);
  background-size:24px 24px,24px 24px,100% 100%;
}
a{color:var(--orange2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:min(1080px,100%);margin:0 auto;padding:22px}
.top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:1.12rem;text-decoration:none}
.brand img{width:34px;height:34px}
nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center}nav a{color:var(--text);opacity:.9}
.card{background:rgba(27,35,48,.92);border:1px solid var(--line);border-radius:22px;padding:22px;margin:16px 0;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.notice{background:rgba(49,196,141,.16);border:1px solid rgba(49,196,141,.45);color:#dcfff2;border-radius:14px;padding:13px;margin:14px 0}.error{background:rgba(219,59,48,.16);border-color:rgba(219,59,48,.5);color:#ffd8d6}
.home{min-height:calc(100vh - 44px);display:flex;align-items:center;justify-content:center;text-align:center;padding:26px}.home-card{width:min(680px,100%);padding:34px 26px;background:rgba(15,20,27,.72);border:1px solid var(--line);border-radius:30px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.home-logo{width:min(330px,82vw);height:auto;display:block;margin:0 auto 20px}.home h1{font-size:clamp(2rem,8vw,3.4rem);margin:10px 0 14px}.home p{font-size:clamp(1rem,3.8vw,1.18rem);line-height:1.55;color:var(--muted);margin:10px auto;max-width:560px}.rule{border:0;border-top:1px solid var(--line);margin:24px auto;width:min(420px,80%)}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#11161d;font-weight:800;text-decoration:none;cursor:pointer;font:inherit;box-shadow:0 10px 25px rgba(255,107,24,.22)}.btn:hover{text-decoration:none}.secondary{background:#344154;color:var(--text);box-shadow:none}.danger{background:var(--danger);color:#fff;box-shadow:none}
label{display:block;margin:14px 0 6px;font-weight:750}.hint,.muted{color:var(--muted)}
input[type=text],input[type=password],textarea,select,input[type=file]{width:100%;border:1px solid var(--line);background:rgba(11,15,21,.86);color:var(--text);border-radius:14px;padding:12px;font:inherit}textarea{min-height:120px;resize:vertical}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.item{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:14px 0;flex-wrap:wrap}.item:first-of-type{border-top:0}.preview img{max-width:100%;border-radius:18px}.preview audio{width:100%}#qrcode{display:inline-block;background:#fff;padding:12px;border-radius:16px}#qrcode img,#qrcode canvas{display:block}
.recorder{border:1px dashed var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.03)}
.scan-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}.scan-card{width:min(920px,100%);text-align:center}.scan-title{font-size:clamp(1.4rem,6vw,2.8rem);margin:0 0 12px}.scan-desc{color:var(--muted);font-size:clamp(1rem,4vw,1.2rem);line-height:1.55;margin:14px auto;max-width:760px}.scan-media{max-width:100%;max-height:72vh;object-fit:contain;border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.38)}.scan-audio{width:min(720px,100%);margin:24px auto}.scan-text{font-size:clamp(1.25rem,6vw,2.3rem);line-height:1.35;white-space:pre-wrap;background:rgba(27,35,48,.75);border:1px solid var(--line);border-radius:24px;padding:24px;text-align:left}
@media(max-width:640px){.wrap{padding:14px}.top{align-items:flex-start}.card{padding:17px;border-radius:18px}.item{display:block}.item .row{margin-top:12px}.home{padding:12px}.home-card{padding:24px 16px}.btn,button{width:100%;min-height:48px}}
