/* gmodal bare */
.gmodal.gmodal-bare { background:transparent; padding:0; box-shadow:none; border-radius:0; width:auto; }

/* === account.js === */
.mad-root {
    width:min(460px, 92vw);
    margin:0 auto;
    background:#ffffff;
    border-radius:16px;
    padding:22px 22px 20px;
    box-shadow:0 12px 36px rgba(0,0,0,0.24);
    font-family:Apple SD Gothic Neo, GmarketSans, sans-serif;
    position:relative;
}
.mad-root::before {
    content:''; position:absolute; inset:0;
    border-radius:inherit; padding:1px;
    background:var(--grad-navy);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    pointer-events:none;
}
.mad-close {
    position:absolute; top:14px; right:14px;
    background:transparent; border:0;
    width:30px; height:30px; border-radius:50%;
    color:#7d7d80; font-size:16px; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
    transition:0.15s ease-in-out;
}
.mad-close:hover { background:#f0f0f4; color:#1c1c1e; }

.mad-head { display:flex; align-items:center; gap:14px; padding-right:32px; }
.mad-avatar {
    width:44px; height:44px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:12px; font-weight:700; letter-spacing:-0.3px;
    box-sizing:border-box; flex-shrink:0;
}
.mad-id { min-width:0; display:flex; flex-direction:column; gap:3px; }
.mad-nick-line {
    font-size:18px; font-weight:700; line-height:1; color:#1c1c1e;
    display:inline-flex; align-items:center; gap:6px;
}
.mad-nick-line span { line-height:1; }
.mad-nick-edit-btn {
    background:transparent; border:0; padding:2px 4px;
    color:#01466F; cursor:pointer; font-size:13px;
    line-height:1; display:inline-flex; align-items:center;
}
.mad-nick-edit-btn:hover { color:#043554; }
.mad-tag { font-size:14px; font-weight:500; color:#7d7d80; }

.mad-qr-wrap {
    display:flex; justify-content:center; align-items:center;
    padding:14px 0 6px;
}
.mad-qr-wrap > div {
    padding:10px; background:#ffffff; border-radius:10px;
    box-shadow:0 1px 4px rgba(0,0,0,0.04);
}

.mad-addr {
    text-align:center; padding:8px 12px 2px;
    font-size:12px; color:#7d7d80; font-weight:500;
    line-height:1.5; word-break:break-all; letter-spacing:0.2px;
    cursor:pointer; transition:0.15s ease-in-out;
}
.mad-addr-copy {
    display:inline-flex; align-items:center; gap:5px;
    margin-top:6px; font-size:11px; font-weight:600;
    color:#01466F; line-height:1;
}
.mad-addr-copy i { font-size:10px; }
.mad-addr:hover .mad-addr-copy { color:#043554; transform:translateY(-1px); }

.mad-actions {
    margin-top:18px;
}
.mad-btn {
    appearance:none; border:1.5px solid #01466F;
    background:#ffffff; color:#01466F;
    width:100%;
    padding:12px 8px; border-radius:10px;
    font-size:13px; font-weight:600; line-height:1;
    cursor:pointer; transition:0.18s ease-in-out;
    font-family:inherit;
}
.mad-btn:hover { background:#01466F; color:#ffffff; transform:translateY(-1px); }
.mad-btn-danger { border-color:#ad3b48; color:#ad3b48; }
.mad-btn-danger:hover { background:#ad3b48; color:#ffffff; }

/* inline nickname editor */
.mad-nick-edit { margin-top:14px; padding:14px 14px 12px;
    background:#f7f7f9; border-radius:10px;
}
.mad-nick-edit-input {
    width:100%; border:1.5px solid #e3e8ef; background:#ffffff;
    border-radius:8px; padding:9px 12px;
    font-size:14px; color:#1c1c1e; outline:none;
    font-family:inherit;
    transition:0.2s ease-in-out;
}
.mad-nick-edit-input:focus {
    border-color:#01466F; box-shadow:0 0 0 3px rgba(1,70,111,0.10);
}
.mad-nick-warning {
    font-size:11px; color:#c0392b; min-height:0;
    margin-top:4px; line-height:1.3; padding-left:2px;
}
.mad-nick-edit-actions {
    display:grid; grid-template-columns:1fr 1fr;
    gap:8px; margin-top:8px;
}
.mad-nick-edit-actions button {
    padding:10px 8px; border-radius:8px;
    font-size:13px; font-weight:600; line-height:1;
    cursor:pointer; border:0; font-family:inherit;
    transition:0.15s ease-in-out;
}
.mad-nick-save { background:#01466F; color:#ffffff; }
.mad-nick-save:hover { background:#043554; }
.mad-nick-cancel { background:#ffffff; color:#7d7d80; border:1.5px solid #e3e8ef !important; }
.mad-nick-cancel:hover { background:#f0f0f4; }

/* === card-account.js (tapped NFC card wallet) === */
.mca-kind {
    display:inline-flex; align-items:center; gap:4px; width:fit-content;
    font-size:11px; font-weight:600; color:#01466F;
    background:#eef3f7; border-radius:6px; padding:3px 8px;
}
.mca-kind i { font-size:10px; }
.mca-bal {
    display:flex; align-items:baseline; justify-content:space-between; gap:10px;
    margin-top:6px; padding:12px 14px;
    background:#f7f7f9; border-radius:10px;
}
.mca-bal-label { font-size:12px; font-weight:600; color:#7d7d80; flex-shrink:0; }
.mca-bal-value {
    font-size:16px; font-weight:700; color:#1c1c1e;
    word-break:break-all; text-align:right; font-variant-numeric:tabular-nums;
}
.mca-pw-desc {
    font-size:12px; color:#7d7d80; line-height:1.5;
    margin-bottom:14px; padding:0 2px;
}
.mca-btn-primary { background:#01466F; color:#ffffff; border:0; }
.mca-btn-primary:hover { background:#043554; transform:translateY(-1px); }

/* === delete-account.js === */
#mda { padding:8px 6px 4px; }
#mda .mda-icon { width:64px;height:64px;border-radius:50%;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;margin:6px auto 14px;color:#fff;font-size:26px;box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#mda .mda-title { font-size:18px;font-weight:700;color:#1c1c1e;text-align:center;letter-spacing:-0.3px;word-break:keep-all;line-height:1.4; }
#mda .mda-actions { display:flex;gap:8px;padding:20px 8px 4px; }
#mda .mda-btn { flex:1;min-width:0;height:48px;border-radius:14px;border:none;font-size:13px;font-weight:700; line-height:1;cursor:pointer;position:relative;transition:background .15s ease, color .15s ease; }
#mda .mda-confirm { background:#ad3b48;color:#fff; }
#mda .mda-confirm.hover, #mda .mda-confirm:hover { background:#8f2f3a; }
#mda .mda-cancel { background:#fff;color:#1c1c1e;border:1px solid #cdd3da; }
#mda .mda-cancel::before { display:none; }
#mda .mda-cancel.hover, #mda .mda-cancel:hover { background:#f4f4f4;color:#1c1c1e; }

/* === delete-address.js === */
#mdb { padding:8px 6px 4px; }
#mdb .mdb-icon { width:64px;height:64px;border-radius:50%;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;margin:6px auto 14px;color:#fff;font-size:26px;box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#mdb .mdb-title { font-size:18px;font-weight:700;color:#1c1c1e;text-align:center;letter-spacing:-0.3px;word-break:keep-all;line-height:1.4; }
#mdb .mdb-actions { display:flex;gap:8px;padding:20px 8px 4px; }
#mdb .mdb-btn { flex:1;min-width:0;height:48px;border-radius:14px;border:none;font-size:13px;font-weight:700; line-height:1;cursor:pointer;position:relative;transition:background .15s ease, color .15s ease; }
#mdb .mdb-confirm { background:#ad3b48;color:#fff; }
#mdb .mdb-confirm.hover, #mdb .mdb-confirm:hover { background:#8f2f3a; }
#mdb .mdb-cancel { background:#fff;color:#1c1c1e;border:1px solid #cdd3da; }
#mdb .mdb-cancel::before { display:none; }
#mdb .mdb-cancel.hover, #mdb .mdb-cancel:hover { background:#f4f4f4;color:#1c1c1e; }

/* === import-key.js === */
.mik-root {
    width:min(420px, 86vw);
    margin:0 auto;
    background:#ffffff;
    border-radius:16px;
    padding:24px 22px 20px;
    box-shadow:0 12px 36px rgba(0,0,0,0.24);
    font-family:Apple SD Gothic Neo, GmarketSans, sans-serif;
}
.mik-title {
    font-size:17px; font-weight:700; color:#000000;
    letter-spacing:-0.3px; line-height:1.4;
    text-align:center;
}
.mik-desc {
    font-size:13px; color:#7d7d80;
    margin-top:8px; line-height:1.5;
    text-align:center;
}
.mik-input-wrap {
    margin-top:18px;
    background:#f4f4f4;
    border:1.5px solid #e3e8ef;
    border-radius:10px;
    padding:11px 14px;
    transition:0.2s ease-in-out;
}
.mik-input-wrap:focus-within {
    border-color:#01466F;
    background:#ffffff;
    box-shadow:0 0 0 3px rgba(1,70,111,0.10);
}
.mik-input {
    width:100%; border:none; background:transparent; outline:none;
    font-size:13px; color:#1c1c1e;
    font-variant-numeric:tabular-nums;
    font-family:inherit;
}
.mik-input::placeholder { color:#aaa; }
.mik-actions {
    display:grid; grid-template-columns:1fr 1fr;
    gap:10px; margin-top:18px;
}
.mik-btn {
    height:44px; border-radius:22px; border:none;
    font-size:14px; font-weight:600; letter-spacing:-0.2px;
    cursor:pointer;
    transition:0.2s ease-in-out;
    font-family:inherit;
}
.mik-btn-cancel {
    background:#ffffff; color:#ad3b48;
    border:1.5px solid #ad3b48;
}
.mik-btn-cancel.hover { background:#ad3b48; color:#ffffff; }
@media (hover: hover) and (pointer: fine) {
    .mik-btn-cancel:hover { background:#ad3b48; color:#ffffff; }
}

.mik-btn-confirm {
    background:#01466F; color:#ffffff;
}
.mik-btn-confirm.hover,
.mik-btn-confirm:hover { background:#022D4A; }
@media (hover: hover) and (pointer: fine) {
    .mik-btn-confirm:hover { background:#022D4A; }
}
.mik-btn-confirm.mik-disabled {
    background:#DCDCE2; color:#ffffff; cursor:default;
    pointer-events:none;
}

/* === info.js === */
#mi { padding:8px 6px 4px; }
#mi .mi-icon { width:56px; height:56px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:6px auto 12px; color:#fff; font-size:22px; box-shadow:0 6px 18px rgba(2,45,74,0.22); }
#mi .mi-title { font-size:17px; font-weight:700; color:#1c1c1e; text-align:center; letter-spacing:-0.3px; word-break:keep-all; padding:0 12px; line-height:1.4; }
#mi .mi-body { font-size:13px; color:#3a4a5c; line-height:1.65; margin:18px 14px 0; word-break:keep-all; }
#mi .mi-body em { font-style:normal; color:#ad3b48; font-weight:700; }
#mi .mi-actions { display:flex; padding:30px 8px 4px; }
#mi .mi-close { flex:1; min-width:0; height:48px; border-radius:14px; border:none; background:#1c1c1e; color:#fff; font-size:14px; font-weight:700; cursor:pointer; transition:background .15s ease; }
#mi .mi-close.hover, #mi .mi-close:hover { background:#000; }

/* === version.js === */
#mver { position:relative; padding:30px 20px 22px; text-align:center; }
#mver .mver-x { position:absolute; top:10px; right:10px; width:30px; height:30px; border:none; background:transparent; color:#b0b3b8; font-size:16px; cursor:pointer; }
#mver .mver-icon { width:84px; height:84px; margin:6px auto 16px; border-radius:22px; background:radial-gradient(125% 125% at 28% 18%, #2a7fc0 0%, #01466F 48%, #022D4A 100%); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px rgba(1,70,111,0.42); }
#mver .mver-icon img { width:54px; height:54px; display:block; }
#mver .mver-name { font-size:20px; font-weight:800; color:#1c1c1e; letter-spacing:-0.4px; }
#mver .mver-ver { font-size:14px; font-weight:600; color:#01466F; margin-top:5px; }
#mver .mver-copy { font-size:11.5px; color:#a0a0a5; margin-top:18px; }

/* === purchase-ticket.js === */
#pt { padding:8px 6px 4px; }
#pt .pt-icon { width:64px;height:64px;border-radius:50%;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;margin:6px auto 14px;color:#fff;font-size:26px;box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#pt .pt-title { font-size:18px;font-weight:700;color:#1c1c1e;text-align:center;letter-spacing:-0.3px; }
#pt .pt-bundle { font-size:13px;font-weight:600;color:#01466F;text-align:center;margin-top:6px; }
#pt .pt-msg { font-size:11px;color:#7d7d80;text-align:center;line-height:1.55;margin:10px 16px 0; }
#pt .pt-cost { display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 16px 0;padding:13px 16px;border-radius:12px;background:rgba(1,70,111,0.06); }
#pt .pt-cost .k { font-size:12px;color:#7d7d80;font-weight:600; }
#pt .pt-cost .v { font-size:16px;color:#01466F;font-weight:800;font-variant-numeric:tabular-nums; }
#pt .pt-actions { display:flex;gap:8px;padding:18px 8px 4px; }
#pt .pt-btn { flex:1;height:48px;border-radius:14px;border:none;font-size:13px;font-weight:700; line-height:1;cursor:pointer;position:relative;transition:background .15s ease, color .15s ease, opacity .15s ease; }
#pt .pt-confirm { background:#01466F;color:#fff; }
#pt .pt-confirm.hover, #pt .pt-confirm:hover { background:#022D4A; }
#pt .pt-confirm.pt-disabled { opacity:.4;cursor:default; }
#pt .pt-cancel { background:#fff;color:#01466F; }
#pt .pt-cancel::before { content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--grad-navy);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none; }
#pt .pt-cancel.hover, #pt .pt-cancel:hover { background:#043554;color:#fff; }

/* === question.js === */
#mq { padding:8px 6px 4px; }
#mq .mq-icon { width:64px;height:64px;border-radius:50%;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;margin:6px auto 14px;color:#fff;font-size:26px;box-shadow:0 6px 18px rgba(2,45,74,0.25);transition:background .2s ease, box-shadow .2s ease; }
#mq .mq-icon.mq-icon-warn { background:var(--grad-navy);box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#mq .mq-title { font-size:18px;font-weight:700;color:#1c1c1e;text-align:center;letter-spacing:-0.3px;word-break:keep-all; }
#mq .mq-msg { font-size:13px;color:#3a4a5c;text-align:center;line-height:1.55;margin:20px 16px 0;word-break:keep-all; }
#mq .mq-msg .wp-addr { justify-content:center; max-width:100%; }
#mq .mq-sub { font-size:11px;color:#ad3b48;text-align:center;line-height:1.55;margin:8px 16px 0;font-weight:600;word-break:keep-all; }
#mq .mq-actions { display:flex;gap:8px;padding:20px 8px 4px; }
#mq .mq-btn { flex:1;min-width:0;height:48px;border-radius:14px;border:none;font-size:13px;font-weight:700; line-height:1;cursor:pointer;position:relative;transition:background .15s ease, color .15s ease; }
#mq .mq-confirm { background:#01466F;color:#fff; }
#mq .mq-confirm.hover, #mq .mq-confirm:hover { background:#022D4A; }
#mq .mq-cancel { background:#fff;color:#1c1c1e;border:1px solid #cdd3da; }
#mq .mq-cancel::before { display:none; }
#mq .mq-cancel.hover, #mq .mq-cancel:hover { background:#f4f4f4;color:#1c1c1e; }

/* === reset.js === */
#mr { padding:8px 6px 4px; }
#mr .mr-icon { width:64px;height:64px;border-radius:50%;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;margin:6px auto 14px;color:#fff;font-size:26px;box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#mr .mr-title { font-size:18px;font-weight:700;color:#1c1c1e;text-align:center;letter-spacing:-0.3px;word-break:keep-all;line-height:1.4; }
#mr .mr-sub { font-size:11px;color:#ad3b48;text-align:center;line-height:1.55;margin:20px 16px 0;font-weight:600;word-break:keep-all; }
#mr .mr-actions { display:flex;gap:8px;padding:20px 8px 4px; }
#mr .mr-btn { flex:1;min-width:0;height:48px;border-radius:14px;border:none;font-size:13px;font-weight:700; line-height:1;cursor:pointer;position:relative;transition:background .15s ease, color .15s ease; }
#mr .mr-confirm { background:#ad3b48;color:#fff; }
#mr .mr-confirm.hover, #mr .mr-confirm:hover { background:#8f2f3a; }
#mr .mr-cancel { background:#fff;color:#1c1c1e;border:1px solid #cdd3da; }
#mr .mr-cancel::before { display:none; }
#mr .mr-cancel.hover, #mr .mr-cancel:hover { background:#f4f4f4;color:#1c1c1e; }

/* === seed.js === */
#sd-modal { padding:4px 2px 2px; position:relative; }
#sd-modal .sd-close { position:absolute; top:6px; right:6px; width:30px; height:30px; border:none; background:transparent; color:#7d7d80; font-size:15px; cursor:pointer; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease; z-index:2; }
#sd-modal .sd-close.hover, #sd-modal .sd-close:hover { background:rgba(0,0,0,0.05); color:#1c1c1e; }
#sd-modal .sd-icon { width:64px; height:64px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:8px auto 12px; color:#fff; font-size:24px; box-shadow:0 8px 22px rgba(2,45,74,0.25); }
#sd-modal .sd-title { font-size:18px; font-weight:700; color:#1c1c1e; text-align:center; letter-spacing:-0.3px; }
#sd-modal .sd-warn { display:flex; gap:9px; align-items:flex-start; margin:14px 8px 0; padding:11px 13px; border-radius:11px; background:rgba(173,59,72,0.06); border:1px solid rgba(173,59,72,0.18); }
#sd-modal .sd-warn i { color:#ad3b48; font-size:13px; flex-shrink:0; margin-top:2px; }
#sd-modal .sd-warn span { font-size:12px; color:#ad3b48; font-weight:600; line-height:1.5; word-break:keep-all; }
#sd-modal .sd-grid-wrap { position:relative; margin:14px 8px 0; }
#sd-modal .sd-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; padding:14px; background:#eceef2; border-radius:14px; border:1px solid #dde0e5; transition:filter .25s ease; }
#sd-modal .sd-grid-wrap.sd-blur .sd-grid { filter:blur(10px); }
#sd-modal .sd-word { display:flex; align-items:center; gap:9px; padding:10px 12px; background:#fff; border:1px solid #c2c5cc; border-radius:9px; min-width:0; }
#sd-modal .sd-num { font-size:10.5px; color:#9aa0a6; font-weight:700; font-variant-numeric:tabular-nums; flex-shrink:0; line-height:1; min-width:15px; text-align:right; }
#sd-modal .sd-w { font-size:12px; color:#1c1c1e; font-weight:400; letter-spacing:-0.1px; word-break:break-all; min-width:0; line-height:1; }
#sd-modal .sd-cover { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border-radius:14px; background:rgba(28,28,30,0.10); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); cursor:pointer; transition:opacity .2s ease; }
#sd-modal .sd-cover.hide { display:none; }
#sd-modal .sd-cover-ic { width:42px; height:42px; border-radius:50%; background:#fff; color:#01466F; display:inline-flex; align-items:center; justify-content:center; font-size:15px; box-shadow:0 6px 18px rgba(0,0,0,0.18); }
#sd-modal .sd-cover-txt { font-size:12px; color:#1c1c1e; font-weight:700; background:#fff; padding:6px 14px; border-radius:14px; box-shadow:0 4px 12px rgba(0,0,0,0.12); }
#sd-modal .sd-actions { display:flex; gap:8px; padding:18px 6px 4px; }
#sd-modal .sd-btn { flex:1; height:48px; border-radius:14px; border:none; font-size:13px; font-weight:700; line-height:1; cursor:pointer; font-family:inherit; position:relative; transition:background .15s ease, color .15s ease; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
#sd-modal .sd-btn i { font-size:12px; }
#sd-modal .sd-copy { background:#fff; color:#01466F; }
#sd-modal .sd-copy::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; background:var(--grad-navy); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
#sd-modal .sd-copy.hover, #sd-modal .sd-copy:hover { background:#043554; color:#fff; }
#sd-modal .sd-done { background:#01466F; color:#fff; }
#sd-modal .sd-done.hover, #sd-modal .sd-done:hover { background:#022D4A; }

/* === show-key.js === */
.msk-root {
    width:min(420px, 88vw);
    margin:0 auto;
    background:#ffffff;
    border-radius:16px;
    padding:22px 22px 20px;
    box-shadow:0 12px 36px rgba(0,0,0,0.24);
    font-family:Apple SD Gothic Neo, GmarketSans, sans-serif;
    position:relative;
}
.msk-root::before {
    content:''; position:absolute; inset:0;
    border-radius:inherit; padding:1px;
    background:linear-gradient(135deg, #ad3b48 0%, #6f5b98 100%);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor; mask-composite:exclude;
    pointer-events:none;
}
.msk-close {
    position:absolute; top:14px; right:14px;
    background:transparent; border:0;
    width:30px; height:30px; border-radius:50%;
    color:#7d7d80; font-size:16px; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
    transition:0.15s ease-in-out;
}
.msk-close:hover { background:#f0f0f4; color:#1c1c1e; }

.msk-title {
    font-size:17px; font-weight:700; color:#1c1c1e;
    letter-spacing:-0.3px; line-height:1.4;
    padding-right:32px; margin-bottom:24px;
    display:inline-flex; align-items:center; gap:8px;
}
.msk-title i { font-size:18px; background:var(--grad-navy); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

.msk-warn {
    background:#fdecee; border-radius:10px;
    padding:12px 14px;
    font-size:13px; color:#ad3b48; line-height:1.5; font-weight:500;
    margin-bottom:16px;
}

.msk-input-wrap {
    display:flex; align-items:center; gap:8px;
    background:#f4f4f6;
    border:1.5px solid #e3e8ef;
    border-radius:10px;
    padding:11px 14px;
    transition:0.2s ease-in-out;
}
.msk-input-wrap:focus-within {
    border-color:#01466F;
    background:#ffffff;
    box-shadow:0 0 0 3px rgba(1,70,111,0.10);
}
.msk-input {
    flex:1; min-width:0; border:0; background:transparent; outline:none;
    font-size:14px; color:#1c1c1e;
    font-variant-numeric:tabular-nums;
    text-align:center;
    letter-spacing:4px;
    font-family:fontello-asterlisk, sans-serif;
}
@supports (-webkit-touch-callout: none) {
    .msk-input { font-family:'Apple SD Gothic Neo', GmarketSans, sans-serif; }
}
.msk-input[type="text"] { font-family:GmarketSans, 'Apple SD Gothic Neo', sans-serif; letter-spacing:1px; }
.msk-input::placeholder { color:#aaa; letter-spacing:normal; font-family:GmarketSans, 'Apple SD Gothic Neo', sans-serif; }
.msk-eye { flex-shrink:0; background:transparent; border:0; padding:2px 4px; color:#9a9aa0; cursor:pointer; font-size:14px; line-height:1; }
.msk-eye:hover { color:#01466F; }

.msk-error {
    font-size:12px; color:#ad3b48; min-height:0;
    margin-top:6px; padding:0 4px; line-height:1.3;
    text-align:center; font-weight:500;
}

.msk-actions {
    display:grid; grid-template-columns:1fr 1fr;
    gap:10px; margin-top:10px;
}
.msk-btn {
    appearance:none;
    padding:12px 8px; border-radius:10px;
    font-size:14px; font-weight:600; line-height:1;
    cursor:pointer; font-family:inherit;
    transition:0.18s ease-in-out;
}
.msk-btn-cancel {
    background:#ffffff; color:#7d7d80;
    border:1.5px solid #e3e8ef;
}
.msk-btn-cancel:hover { background:#f0f0f4; color:#1c1c1e; }
.msk-btn-verify {
    background:#ad3b48; color:#ffffff; border:0;
}
.msk-btn-verify:hover { background:#902f3b; transform:translateY(-1px); }

/* stage 2 */
.msk-secret-label {
    font-size:12px; font-weight:600; color:#7d7d80;
    text-transform:uppercase; letter-spacing:0.5px;
    margin-bottom:8px; text-align:center;
}
.msk-secret-box {
    background:#fdf4f5;
    border:1.5px solid #ad3b48;
    border-radius:10px;
    padding:14px;
    font-size:12px; color:#1c1c1e;
    word-break:break-all; line-height:1.6;
    font-family:'SF Mono', Menlo, monospace;
    font-variant-numeric:tabular-nums;
    text-align:center;
}
.msk-copy-row {
    text-align:center; margin-top:10px;
}
.msk-copy-btn {
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 14px; border-radius:14px;
    background:#01466F; color:#ffffff;
    font-size:12px; font-weight:600; line-height:1;
    border:0; cursor:pointer;
    transition:0.15s ease-in-out;
}
.msk-copy-btn:hover { background:#043554; }
.msk-done-btn {
    width:100%; margin-top:16px;
    padding:12px; border-radius:10px;
    background:#01466F; color:#ffffff;
    font-size:14px; font-weight:600; line-height:1;
    border:0; cursor:pointer; font-family:inherit;
    transition:0.18s ease-in-out;
}
.msk-done-btn:hover { background:#043554; }

/* === terms.js === */
.gmodal.gmodal-wide { width:92%; }
#mt { padding:18px 18px 14px; }
#mt .mt-head { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
#mt .mt-icon { width:32px; height:32px; border-radius:50%; background:var(--grad-navy); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
#mt .mt-title { font-size:15px; font-weight:800; color:#1c1c1e; letter-spacing:-0.2px; flex:1; min-width:0; }
#mt .mt-body { max-height:60vh; overflow-y:auto; padding:14px; border:1px solid #e7e7eb; border-radius:12px; background:#fafafa; }
#mt .mt-body::-webkit-scrollbar { width:6px; }
#mt .mt-body::-webkit-scrollbar-thumb { background:#cdd3da; border-radius:3px; }
#mt .mt-section + .mt-section { margin-top:14px; }
#mt .mt-st { font-size:12px; font-weight:800; color:#01466F; margin-bottom:5px; line-height:1.3; }
#mt .mt-sd { font-size:11.5px; color:#3a4a5c; line-height:1.65; }
#mt .mt-foot { margin-top:12px; padding-top:10px; border-top:1px solid #d9dce2; font-size:11px; color:#ad3b48; line-height:1.55; }
#mt .mt-actions { display:flex; gap:8px; padding:14px 0 0; }
#mt .mt-btn { flex:1; height:46px; border-radius:14px; border:none; font-size:13px; font-weight:700; line-height:1; cursor:pointer; position:relative; background:#01466F; color:#fff; transition:background .15s ease; }
#mt .mt-btn.hover, #mt .mt-btn:hover { background:#022D4A; }

/* === transaction.js === */
#tx-modal { position:relative; padding:6px 4px 4px; }
#tx-modal .tx-close { position:absolute; top:10px; right:10px; width:30px; height:30px; border:none; background:transparent; color:#7d7d80; font-size:15px; cursor:pointer; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease; }
#tx-modal .tx-close.hover, #tx-modal .tx-close:hover { background:rgba(0,0,0,0.05); color:#1c1c1e; }
#tx-modal .tx-icon { width:60px; height:60px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:8px auto 12px; color:#fff; font-size:24px; box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#tx-modal .tx-title { font-size:18px; font-weight:700; color:#1c1c1e; text-align:center; letter-spacing:-0.3px; }
#tx-modal .tx-pill-wrap { display:flex; justify-content:center; margin-top:10px; }
#tx-modal .tx-pill { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 12px; border-radius:13px; font-size:12px; font-weight:700; font-family:inherit; line-height:1; }
#tx-modal .tx-pill i { font-size:10px; }
#tx-modal .tx-pill.tx-pill-ok   { background:rgba(25,135,84,0.10); color:#198754; }
#tx-modal .tx-pill.tx-pill-bad  { background:rgba(173,59,72,0.10); color:#ad3b48; }
#tx-modal .tx-pill.tx-pill-wait { background:rgba(125,125,128,0.10); color:#5a5a5e; }
#tx-modal .tx-card { background:linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg,#7d83ff 0%,#ff6b5b 100%) border-box; border:1.5px solid transparent; border-radius:14px; padding:2px 14px; margin-top:18px; }
#tx-modal .tx-row { display:flex; align-items:flex-start; gap:8px; padding:11px 0; border-bottom:1px solid #d9dce2; }
#tx-modal .tx-row:last-child { border-bottom:none; }
#tx-modal .tx-k { color:#7d7d80; flex-shrink:0; font-size:11px; font-weight:600; min-width:46px; padding-top:2px; letter-spacing:0.2px; text-transform:uppercase; }
#tx-modal .tx-v { flex:1; min-width:0; font-size:12px; color:#1c1c1e; font-weight:500; font-variant-numeric:tabular-nums; text-align:right; word-break:break-all; line-height:1.5; }
#tx-modal .tx-mono { font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace; font-size:11.5px; letter-spacing:-0.1px; }
#tx-modal .tx-copy { flex-shrink:0; width:24px; height:24px; border-radius:50%; background:#f4f4f6; border:none; color:#7d7d80; font-size:10px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease; }
#tx-modal .tx-copy.hover, #tx-modal .tx-copy:hover { background:#01466F; color:#fff; }
#tx-modal .tx-data { max-height:120px; overflow:auto; background:#f7f8fa; border-radius:10px; padding:10px 12px; font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace; font-size:11px; color:#1c1c1e; line-height:1.55; white-space:pre-wrap; word-break:break-all; margin:2px 0 0; text-align:left; flex:1; min-width:0; }
#tx-modal .tx-data-row { display:flex; flex-direction:column; gap:6px; padding:11px 0; border-bottom:1px solid #d9dce2; }
#tx-modal .tx-data-row:last-child { border-bottom:none; }
#tx-modal .tx-data-head { display:flex; align-items:center; justify-content:space-between; }
#tx-modal .tx-data-head .tx-k { padding-top:0; min-width:0; }
#tx-modal .tx-actions { display:flex; gap:18px; padding:18px 0 4px; }
#tx-modal .tx-btn { flex:1; height:46px; border-radius:14px; border:none; font-size:13px; font-weight:700; line-height:1; cursor:pointer; font-family:inherit; position:relative; transition:background .15s ease, color .15s ease; }
#tx-modal .tx-explorer { background:#fff; color:#01466F; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
#tx-modal .tx-explorer i { font-size:12px; }
#tx-modal .tx-explorer::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; background:var(--grad-navy); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
#tx-modal .tx-explorer.hover, #tx-modal .tx-explorer:hover { background:#043554; color:#fff; }
#tx-modal .tx-done { background:#01466F; color:#fff; }
#tx-modal .tx-done.hover, #tx-modal .tx-done:hover { background:#022D4A; }

/* === warning.js === */
#mw { padding:8px 6px 4px; }
#mw .mw-icon { width:64px;height:64px;border-radius:50%;background:var(--grad-navy);display:flex;align-items:center;justify-content:center;margin:6px auto 14px;color:#fff;font-size:26px;box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#mw .mw-title { font-size:18px;font-weight:700;color:#1c1c1e;text-align:center;letter-spacing:-0.3px;word-break:keep-all;line-height:1.4; }
#mw .mw-msg { font-size:13px;color:#3a4a5c;text-align:center;line-height:1.55;margin:20px 16px 0;word-break:keep-all; }
#mw .mw-actions { display:flex;padding:20px 8px 4px; }
#mw .mw-btn { flex:1;min-width:0;height:48px;border-radius:14px;border:none;font-size:13px;font-weight:700; line-height:1;cursor:pointer;background:#1c1c1e;color:#fff;transition:background .15s ease; }
#mw .mw-btn.hover, #mw .mw-btn:hover { background:#000; }

/* === broadcast.js === */
#broadcast .bc-card { background:#fff; border-radius:20px; padding:22px 26px 24px; width:min(82vw, 300px); text-align:center; box-shadow:0 16px 44px rgba(0,0,0,0.30); }
#broadcast .bc-gif-wrap { overflow:hidden; display:flex; justify-content:center; }
#broadcast .bc-gif { width:150px; height:auto; margin:-12px 0 -22px; }
#broadcast .bc-title { font-size:18px; font-weight:700; color:#1c1c1e; letter-spacing:-0.3px; }
#broadcast .bc-msg { font-size:13px; color:#5a6b7d; line-height:1.55; margin-top:8px; word-break:keep-all; }

/* === modal/share-nft.js === */
#shn { position:relative; padding:4px 2px; }
#shn .shn-close { position:absolute; top:-6px; right:-6px; width:32px; height:32px; border:none; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease; }
#shn .shn-close.hover, #shn .shn-close:hover { background:#e7e7eb; color:#1c1c1e; }
#shn .shn-hero { text-align:center; padding:2px 0 4px; }
#shn .shn-hero-ic { width:64px; height:64px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:6px auto 14px; color:#fff; font-size:26px; box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#shn .shn-hero-ic-feed { background:linear-gradient(135deg,#0f9b8e 0%,#4a90d9 100%); box-shadow:0 6px 18px rgba(15,155,142,0.25); }
#shn .shn-hero-title { font-size:18px; font-weight:700; color:#1c1c1e; text-align:center; letter-spacing:-0.3px; line-height:1.4; }
#shn .shn-time-label { font-size:12px; font-weight:700; color:#7d7d80; margin-bottom:9px; }
#shn .shn-sel-wrap { position:relative; margin-bottom:4px; }
#shn .shn-sel { width:100%; height:46px; border:1.5px solid #e7e7eb; border-radius:12px; background:#f7f8fa; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none' stroke='%237d7d80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 6 8 10 12 6'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; padding:0 38px 0 14px; font-size:14px; font-weight:600; color:#1c1c1e; font-family:inherit; appearance:none; -webkit-appearance:none; cursor:pointer; outline:none; }
#shn .shn-sel:focus { border-color:#01466F; }
#shn .shn-custom { display:flex; align-items:center; gap:8px; padding:8px 2px 2px; flex-wrap:wrap; }
#shn .shn-num { flex:1 1 90px; min-width:0; height:42px; border-radius:11px; border:1px solid #e7e7eb; background:#f7f7f9; padding:0 12px; font-size:14px; font-family:inherit; color:#1c1c1e; }
#shn .shn-unit { flex:0 0 auto; height:42px; border-radius:11px; border:1px solid #e7e7eb; background:#f7f7f9; padding:0 10px; font-size:13px; font-family:inherit; color:#1c1c1e; cursor:pointer; }
#shn .shn-custom-msg { flex-basis:100%; font-size:11.5px; color:#c0392b; line-height:1.4; }
#shn .shn-hint { display:flex; align-items:flex-start; gap:7px; margin-top:13px; font-size:11.5px; color:#5a6b7d; line-height:1.55; word-break:keep-all; }
#shn .shn-hint i { color:#01466F; margin-top:2px; flex-shrink:0; font-size:11px; }
#shn .shn-hint-warn { color:#9a6a00; }
#shn .shn-hint-warn i { color:#c98a00; }
#shn .shn-actions { display:flex; gap:8px; margin-top:18px; }
#shn .shn-actions.shn-mt8 { margin-top:8px; }
#shn .shn-btn { position:relative; flex:1; height:48px; border-radius:14px; border:none; background:#fff; color:#1c1c1e; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:7px; line-height:1.5; transition:background .15s ease; }
#shn .shn-btn::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; background:var(--grad-navy); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
#shn .shn-btn.hover, #shn .shn-btn:hover { background:#fafbfc; }
#shn .shn-btn-off { opacity:0.45; pointer-events:none; }
#shn .shn-btn i { font-size:15px; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
#shn .shn-ic-copy  { background-image:linear-gradient(135deg,#01466F 0%,#4a90d9 100%); }
#shn .shn-ic-share { background-image:linear-gradient(135deg,#7d83ff 0%,#ff6b5b 100%); }
#shn .shn-ic-qr    { background-image:linear-gradient(135deg,#6f5b98 0%,#c06c84 100%); }
#shn .shn-ic-nfc   { background-image:linear-gradient(135deg,#0f9b8e 0%,#3ec98a 100%); }
#shn .shn-qr-screen { display:flex; align-items:center; justify-content:center; padding:16px 0 6px; }
#shn .shn-qr-cap { text-align:center; font-size:12px; color:#7d7d80; padding:2px 14px 6px; line-height:1.5; word-break:keep-all; }

/* === request-confirm.js === */
#rc { position:relative; padding:2px 2px; }
#rc .rc-scroll { max-height:80vh; overflow-y:auto; overflow-x:hidden; }
#rc .rc-close { position:absolute; top:-6px; right:-6px; width:32px; height:32px; border:none; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease; z-index:1; }
#rc .rc-close.hover, #rc .rc-close:hover { background:#e7e7eb; color:#1c1c1e; }
#rc .rc-hero { text-align:center; padding:2px 0 14px; }
#rc .rc-hero-ic { width:60px; height:60px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:6px auto 12px; color:#fff; font-size:24px; box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#rc .rc-hero-title { font-size:18px; font-weight:700; color:#1c1c1e; letter-spacing:-0.3px; line-height:1.4; }
#rc .rc-source { font-size:13px; font-weight:600; color:#01466F; word-break:break-all; margin-top:3px; line-height:1.4; }
#rc .rc-source:empty { display:none; }

#rc .rc-card { position:relative; border-radius:14px; padding:13px 15px; margin-bottom:10px; background:#fff; }
#rc .rc-card::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(135deg,#7d83ff 0%,#ff6b5b 100%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
#rc .rc-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:6px 0; font-size:12.5px; line-height:1.45; }
#rc .rc-row + .rc-row { border-top:1px solid #f0f1f3; }
#rc .rc-row-k { color:#7d7d80; font-weight:600; flex:0 0 auto; }
#rc .rc-row-v { color:#1c1c1e; font-weight:600; text-align:right; word-break:break-all; font-variant-numeric:tabular-nums; }
#rc .rc-msg { font-size:13px; color:#1c1c1e; line-height:1.55; word-break:break-all; }
#rc .rc-empty { text-align:center; color:#a0a0a5; font-size:13px; padding:14px 0; }

#rc .sn3-receipt { padding:13px 15px 12px; margin-bottom:7px; }
#rc .sn3-amount-block { margin-top:14px; }
#rc .sn3-memo-card { padding:11px 15px; margin-bottom:7px; }
#rc .sn3-memo-card .sn3-rcpt-label { margin-bottom:3px; }

#rc .rc-warn { display:flex; gap:8px; align-items:center; background:#fff7f5; border:1px solid #ffd9d2; border-radius:10px; padding:10px 12px; margin:10px 0 0; color:#c0392b; font-size:12px; line-height:1.45; }
#rc .rc-warn i { flex-shrink:0; }
#rc .rc-approve { width:100%; border:0; border-radius:12px; padding:14px; background:#01466F; color:#fff; cursor:pointer; font-family:inherit; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; transition:background .15s ease; }
#rc .rc-approve.hover, #rc .rc-approve:hover { background:#022D4A; }
#rc .rc-approve-main { font-size:14px; font-weight:700; line-height:1.3; }
#rc .rc-approve-fee { font-size:11px; opacity:0.85; line-height:1.3; }
#rc .rc-approve-fee:empty { display:none; }
#rc .rc-approve-off { opacity:0.45; pointer-events:none; cursor:not-allowed; }
#rc .rc-block { display:flex; gap:8px; align-items:center; justify-content:center; background:#fdecec; border:1px solid #f5c6c6; border-radius:10px; padding:10px 12px; margin:0 0 10px; color:#c0392b; font-size:12.5px; font-weight:600; line-height:1.45; text-align:center; }
#rc .rc-block i { flex-shrink:0; }
#rc .rc-block:empty { display:none; }
#rc .rc-raw-toggle { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin:0 0 10px; padding:8px; border:none; background:none; color:#7d7d80; font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; }
#rc .rc-raw-toggle i { font-size:10px; transition:transform .18s ease; }
#rc.rc-raw-open .rc-raw-toggle i { transform:rotate(180deg); }
#rc .rc-raw { display:none; margin:0 0 12px; padding:11px 12px; background:#f7f8fa; border:1px solid #eef0f3; border-radius:10px; font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace; font-size:10.5px; line-height:1.55; color:#1c1c1e; white-space:pre-wrap; word-break:break-all; max-height:170px; overflow:auto; text-align:left; }
#rc.rc-raw-open .rc-raw { display:block; }

/* === payment-request.js === */
#prq { position:relative; padding:4px 2px; }
#prq .pq-close { position:absolute; top:-6px; right:-6px; width:32px; height:32px; border:none; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease; }
#prq .pq-close.hover, #prq .pq-close:hover { background:#e7e7eb; color:#1c1c1e; }
#prq .pq-hero { text-align:center; padding:2px 0 14px; }
#prq .pq-hero-ic { width:64px; height:64px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:6px auto 14px; color:#fff; font-size:26px; box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#prq .pq-hero-title { font-size:18px; font-weight:700; color:#1c1c1e; text-align:center; letter-spacing:-0.3px; line-height:1.4; }
#prq .pq-hint { text-align:center; font-size:12px; color:#7d7d80; font-weight:600; margin:-6px 0 4px; word-break:keep-all; }

#prq .pq-field { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
#prq .pq-field-label { font-size:11px; font-weight:700; color:#7d7d80; letter-spacing:0.3px; padding-left:2px; }
#prq .pq-input-box { display:flex; align-items:center; gap:8px; height:48px; background:#f7f7f9; border:1px solid #e7e7eb; border-radius:12px; padding:0 14px; transition:border-color .15s ease, background .15s ease; }
#prq .pq-input-box:focus-within { border-color:#01466F; background:#fff; }
#prq .pq-input-box input { flex:1; min-width:0; border:0; background:transparent; outline:none; font-size:14px; color:#1c1c1e; font-family:inherit; }
#prq .pq-input-sym { flex-shrink:0; font-size:13px; font-weight:700; color:#7d7d80; }
#prq .pq-memo-count { flex-shrink:0; font-size:11px; color:#b0b4ba; font-variant-numeric:tabular-nums; }

#prq .pq-actions { display:flex; gap:8px; margin-top:14px; }
#prq .pq-actions-2 { margin-top:8px; }
#prq .pq-btn { position:relative; flex:1; min-height:48px; border-radius:14px; border:none; background:#fff; color:#1c1c1e; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:7px; line-height:1.3; padding:8px; text-align:center; transition:background .15s ease; }
#prq .pq-btn::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; background:var(--grad-navy); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
#prq .pq-btn.hover, #prq .pq-btn:hover { background:#fafbfc; }
#prq .pq-btn i { font-size:15px; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
#prq .pq-ic-copy  { background-image:linear-gradient(135deg,#01466F 0%,#4a90d9 100%); }
#prq .pq-ic-share { background-image:linear-gradient(135deg,#7d83ff 0%,#ff6b5b 100%); }
#prq .pq-ic-qr    { background-image:linear-gradient(135deg,#6f5b98 0%,#c06c84 100%); }
#prq .pq-ic-nfc   { background-image:linear-gradient(135deg,#0f9b8e 0%,#3ec98a 100%); }
#prq .pq-ic-fromnfc { background-image:linear-gradient(135deg,#e8932f 0%,#c0392b 100%); }
#prq .pq-actions-3 { margin-top:8px; }
#prq .pq-btn-wide { flex:1; }
#prq .pq-qr-screen { display:flex; align-items:center; justify-content:center; padding:16px 0 10px; }
#prq .pq-qr-cap { text-align:center; font-size:12px; color:#7d7d80; padding:10px 14px 20px; line-height:1.5; word-break:keep-all; }

/* === auth-confirm.js === */
#ac { position:relative; text-align:center; font-family:inherit; }
#ac .ac-close { position:absolute; top:-6px; right:-6px; width:30px; height:30px; border:0; border-radius:50%; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; }
#ac .ac-close.hover, #ac .ac-close:hover { background:#e7e7eb; color:#1c1c1e; }
#ac .ac-hero-ic { width:62px; height:62px; border-radius:18px; margin:6px auto 12px; background:linear-gradient(135deg,#01466F,#022D4A); color:#fff; display:flex; align-items:center; justify-content:center; font-size:25px; }
#ac .ac-title { font-size:17px; font-weight:700; color:#1c1c1e; margin-bottom:2px; }
#ac .ac-domain { font-size:13px; color:#01466F; font-weight:600; word-break:break-all; margin-bottom:16px; }
#ac .ac-account { background:#f7f8fa; border-radius:12px; padding:12px 14px; text-align:left; margin-bottom:10px; }
#ac .ac-account-label { font-size:11px; color:#7d7d80; margin-bottom:7px; }
#ac .ac-person { display:flex; align-items:center; gap:10px; }
#ac .ac-person-id { min-width:0; flex:1; }
#ac .ac-line { font-size:14px; font-weight:600; color:#1c1c1e; display:flex; align-items:baseline; gap:4px; }
#ac .ac-nick { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#ac .ac-tag { color:#7d83ff; flex-shrink:0; }
#ac .ac-addr { font-size:11px; color:#7d7d80; margin-top:2px; }
#ac .ac-nonce { display:flex; justify-content:space-between; gap:10px; font-size:11px; color:#a0a0a5; font-family:ui-monospace,monospace; margin-bottom:18px; padding:0 4px; }
#ac .ac-nonce-val { word-break:break-all; text-align:right; }
#ac .ac-login { width:100%; border:0; border-radius:12px; padding:15px; background:#01466F; color:#fff; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; transition:background .15s ease; }
#ac .ac-login.hover, #ac .ac-login:hover { background:#022D4A; }
#ac .ac-prove { font-size:11px; color:#a0a0a5; margin-top:10px; line-height:1.4; }

/* === nfc-wallet.js === */
#nfw { position:relative; padding:4px 2px; text-align:center; }
#nfw .nfw-close { position:absolute; top:-6px; right:-6px; width:30px; height:30px; border:0; border-radius:50%; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; }
#nfw .nfw-close.hover, #nfw .nfw-close:hover { background:#e7e7eb; color:#1c1c1e; }
#nfw .nfw-hero { padding:2px 0 12px; }
#nfw .nfw-hero-ic { width:60px; height:60px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:6px auto 12px; color:#fff; font-size:24px; box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#nfw .nfw-hero-title { font-size:18px; font-weight:700; color:#1c1c1e; letter-spacing:-0.3px; }
#nfw .nfw-warn { display:flex; gap:8px; align-items:flex-start; text-align:left; background:#fff7f5; border:1px solid #ffd9d2; border-radius:10px; padding:11px 12px; margin:0 0 14px; color:#c0392b; font-size:12px; line-height:1.5; }
#nfw .nfw-warn i { margin-top:2px; flex-shrink:0; }
#nfw .nfw-fund { font-size:12.5px; color:#7d7d80; line-height:1.5; margin-bottom:10px; }
#nfw .nfw-addr-box { background:#f7f8fa; border:1px solid #e7e7eb; border-radius:12px; padding:12px 14px; margin-bottom:14px; cursor:pointer; }
#nfw .nfw-addr { font-size:12px; color:#1c1c1e; font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace; word-break:break-all; line-height:1.5; }
#nfw .nfw-copy { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:12px; font-weight:600; color:#01466F; }
#nfw .nfw-copy i { font-size:11px; }
#nfw .nfw-cta { width:100%; border:0; border-radius:12px; padding:15px; background:#01466F; color:#fff; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:background .15s ease; }
#nfw .nfw-cta.hover, #nfw .nfw-cta:hover { background:#022D4A; }

/* === nfc-write.js === */
#nfwr { position:relative; padding:4px 2px; }
#nfwr .nfwr-close { position:absolute; top:-6px; right:-6px; width:30px; height:30px; border:0; border-radius:50%; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; }
#nfwr .nfwr-close.hover, #nfwr .nfwr-close:hover { background:#e7e7eb; color:#1c1c1e; }
#nfwr .nfwr-hero { text-align:center; padding:2px 0 14px; }
#nfwr .nfwr-hero-ic { width:60px; height:60px; border-radius:50%; background:var(--grad-navy); display:flex; align-items:center; justify-content:center; margin:6px auto 12px; color:#fff; font-size:24px; box-shadow:0 6px 18px rgba(2,45,74,0.25); }
#nfwr .nfwr-hero-title { font-size:18px; font-weight:700; color:#1c1c1e; letter-spacing:-0.3px; }
#nfwr .nfwr-sub { font-size:12.5px; color:#7d7d80; margin-top:4px; line-height:1.5; word-break:keep-all; }
#nfwr .nfwr-item { display:flex; align-items:center; gap:12px; width:100%; border:1.5px solid transparent; border-radius:12px; background:linear-gradient(#fff,#fff) padding-box, var(--nfwr-g) border-box; padding:12px 14px; margin-bottom:8px; cursor:pointer; text-align:left; font-family:inherit; }
#nfwr .nfwr-item.hover, #nfwr .nfwr-item:hover { background:linear-gradient(#f7f8fb,#f7f8fb) padding-box, var(--nfwr-g) border-box; }
#nfwr .nfwr-ic { flex:0 0 auto; width:38px; height:38px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:15px; background:var(--nfwr-g); }
#nfwr .nfwr-c-a { --nfwr-g:linear-gradient(135deg,#01466F 0%,#4a90d9 100%); }
#nfwr .nfwr-c-b { --nfwr-g:linear-gradient(135deg,#7d83ff 0%,#ff6b5b 100%); }
#nfwr .nfwr-c-c { --nfwr-g:linear-gradient(135deg,#6f5b98 0%,#c06c84 100%); }
#nfwr .nfwr-c-d { --nfwr-g:linear-gradient(135deg,#0f9b8e 0%,#3ec98a 100%); }
#nfwr .nfwr-c-e { --nfwr-g:linear-gradient(135deg,#f0726b 0%,#c0392b 100%); }
#nfwr .nfwr-tx { min-width:0; flex:1; display:flex; flex-direction:column; gap:2px; }
#nfwr .nfwr-label { font-size:14px; font-weight:700; color:#1c1c1e; }
#nfwr .nfwr-desc { font-size:11.5px; color:#7d7d80; line-height:1.4; }
#nfwr .nfwr-chev { color:#c7c9cc; font-size:14px; flex-shrink:0; }

/* nfc-info (read → what's on the tag) */
#nfci { position:relative; padding:4px 2px; text-align:center; }
#nfci .nfci-close { position:absolute; top:-6px; right:-6px; width:30px; height:30px; border:0; border-radius:50%; background:#f4f4f6; color:#7d7d80; font-size:14px; cursor:pointer; }
#nfci .nfci-close.hover, #nfci .nfci-close:hover { background:#e7e7eb; color:#1c1c1e; }
#nfci .nfci-hero { padding:2px 0 14px; }
#nfci .nfci-hero-ic { width:60px; height:60px; border-radius:50%; background:var(--nfci-g,var(--grad-navy)); display:flex; align-items:center; justify-content:center; margin:6px auto 12px; color:#fff; font-size:24px; box-shadow:0 6px 18px rgba(2,45,74,0.22); }
#nfci .nfci-hero-title { font-size:18px; font-weight:700; color:#1c1c1e; letter-spacing:-0.3px; }
#nfci .nfci-sub { font-size:12.5px; color:#7d7d80; margin-top:5px; line-height:1.5; word-break:keep-all; }
#nfci .nfci-card { background:#f7f8fa; border:1px solid #eef0f3; border-radius:12px; padding:2px 14px; margin:2px 0 14px; text-align:left; }
#nfci .nfci-row { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #edeef1; }
#nfci .nfci-row:last-child { border-bottom:0; }
#nfci .nfci-k { font-size:12px; color:#7d7d80; font-weight:600; flex:0 0 auto; }
#nfci .nfci-v { flex:1; min-width:0; font-size:12.5px; color:#1c1c1e; font-weight:600; text-align:right; word-break:break-all; font-variant-numeric:tabular-nums; }
#nfci .nfci-cta { width:100%; border:0; border-radius:12px; padding:15px; background:#01466F; color:#fff; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
#nfci .nfci-cta.hover, #nfci .nfci-cta:hover { background:#022D4A; }
#nfci .nfci-c-a { --nfci-g:linear-gradient(135deg,#01466F 0%,#4a90d9 100%); }
#nfci .nfci-c-b { --nfci-g:linear-gradient(135deg,#7d83ff 0%,#ff6b5b 100%); }
#nfci .nfci-c-c { --nfci-g:linear-gradient(135deg,#6f5b98 0%,#c06c84 100%); }
#nfci .nfci-c-d { --nfci-g:linear-gradient(135deg,#0f9b8e 0%,#3ec98a 100%); }
#nfci .nfci-c-x { --nfci-g:linear-gradient(135deg,#9aa0a6 0%,#6b7177 100%); }
