#desktopGate{display:none}html.radar-desktop body>*{display:none!important}html.radar-desktop body>#desktopGate{display:block!important}html.radar-desktop body>#transferDialog[open]{display:block!important}#desktopGate{max-width:540px;margin:10vh auto;padding:32px;text-align:center;font:17px/1.7 system-ui}#phoneURL{overflow-wrap:anywhere}#transferDialog{max-width:540px;max-height:85vh;overflow:auto;border:1px solid #ddd;border-radius:20px;padding:24px;font:15px/1.5 system-ui}#transferDialog::backdrop{background:#0008}#transferDialog button,#desktopGate button{font:inherit;padding:12px;border:1px solid #ccc;border-radius:10px;background:#f7f7f7;cursor:pointer}#transferDialog input{max-width:100%}
#qrSlot{width:fit-content;margin:16px auto;padding:16px;background:#fff;color:#26313b}#qrSlot img,#qrSlot canvas{margin:auto}
#updateNotice{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:10000;display:flex;align-items:center;flex-wrap:wrap;gap:10px;box-sizing:border-box;max-width:540px;margin:auto;padding:14px;border:1px solid #ddd;border-radius:16px;background:#fff;color:#20252b;box-shadow:0 6px 30px #0003;font:14px/1.4 system-ui}#updateNotice[hidden]{display:none!important}#updateMessage{flex:1 1 130px}#updateNotice button{padding:10px 12px;border:1px solid #ccc;border-radius:10px;font:inherit;cursor:pointer;background:#f6f6f6;color:#20252b}#updateNotice #updateNow{background:#303740;color:#fff;border-color:#303740}html.radar-desktop body>#updateNotice:not([hidden]){display:flex!important}
#badgeDialog{box-sizing:border-box;width:calc(100% - 32px);max-width:460px;max-height:80dvh;overflow:auto;border:1px solid #ddd;border-radius:18px;padding:22px;font:15px/1.5 system-ui;color:#20252b;background:#fff}#badgeDialog::backdrop{background:#0008}#badgeDialog button{font:inherit;padding:10px 12px;border:1px solid #ccc;border-radius:10px;background:#f6f6f6;color:#20252b}
html.radar-desktop body>#badgeDialog[open]{display:block!important}
html:not(.radar-desktop),html:not(.radar-desktop) body{touch-action:pan-x pan-y!important}
#portraitGuard{box-sizing:border-box;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;border-radius:0;background:#fff;color:#26313b;text-align:center;font:16px/1.5 system-ui;overflow:auto}
#portraitGuard[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}#portraitGuard h1{margin:0;font-size:24px}#portraitGuard p{margin:0}#portraitGuard::backdrop{background:#fff}
html.phone-landscape,html.phone-landscape body{overflow:hidden!important}
html:not(.radar-desktop) input[type=text],html:not(.radar-desktop) input[type=search],html:not(.radar-desktop) input[type=url],html:not(.radar-desktop) input[type=email],html:not(.radar-desktop) textarea,html:not(.radar-desktop) select{font-size:16px}
/* Utility dialogs share the existing platform preference dialog's visual language. */
#transferDialog,#badgeDialog{width:calc(100% - 32px);max-width:400px;max-height:calc(100dvh - 64px);box-sizing:border-box;padding:20px;border:1px solid var(--line-soft);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 16px 48px #17232e33;overflow:auto;font:400 13px/1.5 var(--f-body)}
#transferDialog::backdrop,#badgeDialog::backdrop{background:rgba(23,35,46,.38)}
#transferDialog .platform-dialog-head h2,#badgeDialog .platform-dialog-head h2{font:600 16px/1.4 var(--f-body);margin:0;letter-spacing:0}
#transferDialog button,#badgeDialog button{appearance:none;-webkit-appearance:none;min-height:40px;box-sizing:border-box;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:500 13px/1.4 var(--f-body);cursor:pointer}
#transferDialog .platform-dialog-close,#badgeDialog .platform-dialog-close{min-height:32px;width:32px;height:32px;padding:7px;border:0;border-radius:50%;background:var(--line-soft);color:var(--muted)}
#transferDialog .utility-intro,#badgeDialog .utility-intro{margin:10px 0 16px;color:var(--muted);font:400 13px/1.5 var(--f-body)}
#transferDialog .utility-note,#badgeDialog .utility-note{margin:12px 0;color:var(--muted);font:400 12px/1.55 var(--f-body)}
#transferDialog .utility-status,#badgeDialog .utility-status{margin:12px 0;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg);color:var(--ink);font:400 12px/1.5 var(--f-body);overflow-wrap:anywhere}
#transferDialog .utility-status:empty,#badgeDialog .utility-status:empty{display:none}
.utility-divider{height:1px;background:var(--line-soft);margin:18px 0}
.utility-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#transferDialog .utility-primary,#badgeDialog .utility-primary,#transferDialog .utility-done,#badgeDialog .utility-done{border-color:#303740;background:#303740;color:#fff}
#transferDialog .utility-wide,#transferDialog .utility-done,#badgeDialog .utility-done{display:block;width:100%}
#transferDialog .utility-done,#badgeDialog .utility-done{margin-top:18px;font-weight:600}
#transferDialog button:disabled,#badgeDialog button:disabled{opacity:.4;cursor:default}
#transferDialog button:focus,#badgeDialog button:focus{outline:none}
#transferDialog button:focus-visible,#badgeDialog button:focus-visible,.utility-file:focus-within{outline:2px solid var(--accent);outline-offset:3px}
#transferDialog .utility-file{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;border:1px dashed var(--line);border-radius:12px;cursor:pointer}
#transferDialog .utility-file input{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;cursor:pointer;font-size:16px}
.utility-file-action{display:inline-block;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:7px 12px;font:500 12px/1.4 var(--f-body);color:var(--ink)}
.utility-filename{flex:1 1 140px;min-width:0;overflow-wrap:anywhere;color:var(--muted);font:400 12px/1.4 var(--f-body)}
#updateNotice{font:400 13px/1.5 var(--f-body);border-radius:20px;background:var(--surface);color:var(--ink);border-color:var(--line-soft)}
#updateNotice button{font:500 12px/1.4 var(--f-body);border-radius:999px;min-height:40px;border-color:var(--line);background:var(--surface);color:var(--ink)}
#portraitGuard{font-family:var(--f-body)}#portraitGuard h1{font:600 20px/1.4 var(--f-body)}
