:root{--ink:#1c2434;--soft:#8b93a6;--bg:#f4f7fb;--panel:#fff;--line:#e6ebf3;--blue:#2f7bff;--amber:#ff9f1a;--green:#1aae6f;--danger:#e85d4c;color:var(--ink);background:#e8eef5;font-family:Noto Sans SC,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#e8eef5;margin:0}button,input,select{font:inherit;color:inherit}.page{background:var(--bg);width:min(430px,100%);min-height:100vh;margin:0 auto;padding:0 0 96px;box-shadow:0 18px 50px #1c243414}.mast{color:#fff;background:linear-gradient(#4b90ff,#2f6bff);gap:6px;padding:26px 18px 22px;display:grid}.mast p{letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin:0;font-size:12px}.brand-row{align-items:center;gap:8px;display:flex}.brand-row img{object-fit:cover;background:#fff;border-radius:8px;width:28px;height:28px}.brand-row p{letter-spacing:.04em;text-transform:none;opacity:1;font-size:14px;font-weight:700}.brand-row.dark{color:#1c2434;margin-bottom:8px}.brand-card p{margin:4px 0 0}h1{letter-spacing:-.03em;margin:0;font-size:28px}.mast .hint{letter-spacing:0;text-transform:none;opacity:.92;margin-top:6px;font-size:14px;font-weight:500;line-height:1.55}.card,.scan{background:#fff;border:0;border-radius:18px;gap:12px;width:calc(100% - 32px);margin:16px auto 0;padding:18px 16px;display:grid;box-shadow:0 10px 28px #1c24340f}label{color:var(--soft);font-size:12px}input,select{border:1px solid var(--line);background:#f7f9fc;border-radius:12px;width:100%;padding:13px 12px}.scan input{color:var(--ink);background:#f3f7ff;border:0;padding:16px 14px;font-size:22px;font-weight:700}input:focus,select:focus{outline:none;box-shadow:0 0 0 2px #2f7bff40}.dims{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}button{color:#fff;cursor:pointer;background:#2f7bff;border:0;border-radius:14px;min-height:50px;padding:14px 16px;font-size:16px;font-weight:700;box-shadow:0 10px 18px #2f7bff38}button.ghost{color:var(--ink);box-shadow:none;background:#f3f6fb}.muted{color:var(--soft);margin:0;line-height:1.5}.page>.muted{width:calc(100% - 28px);margin:14px auto 0}.error,.banner{border-radius:12px;width:calc(100% - 28px);margin:14px auto 0;padding:12px 14px;line-height:1.45}.error{color:var(--danger);background:#fff1ef}.ok{color:var(--green);background:#eefbf4}.gate{min-height:100vh;padding-bottom:24px}.shot{cursor:pointer;color:#2f6bff;background:#f7faff;border:1px dashed #c9d7ee;border-radius:14px;justify-content:space-between;align-items:center;min-height:64px;padding:16px 14px;display:flex}.shot.done{color:var(--green);background:#f3fbf6;border-style:solid;border-color:#1aae6f}.shot input{display:none}.shots{gap:8px;display:grid}.choice{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}nav{z-index:5;background:#fff;grid-template-columns:repeat(5,1fr);width:min(430px,100%);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 20px #1c24340f}nav a{text-align:center;color:#98a2b3;justify-items:center;gap:4px;padding:10px 2px 12px;font-size:11px;font-weight:650;text-decoration:none;display:grid}nav a svg{width:20px;height:20px}nav a.router-link-active{color:#2f7bff}.notice-mask{z-index:40;background:#1c243475;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.notice-card{text-align:center;background:#fff;border-radius:18px;justify-items:center;gap:8px;width:min(360px,100%);padding:22px 20px 18px;display:grid;box-shadow:0 18px 40px #1c24342e}.notice-card .mark{color:#2f7bff;background:#e7f0ff;border-radius:16px;place-items:center;width:52px;height:52px;font-size:24px;font-weight:750;display:grid}.notice-card.tone-error .mark{color:#e85d4c;background:#ffecea}.notice-card.tone-ok .mark{color:#1aae6f;background:#e5f8ee}.notice-card strong{color:#1c2434;font-size:18px}.notice-card p{color:#3d4a5c;white-space:pre-wrap;margin:0;font-size:15px;line-height:1.55}.notice-card button{width:100%;min-height:46px;box-shadow:none;border:0;border-radius:14px;margin-top:8px}
