@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/dm-sans-400.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/dm-sans-500.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/dm-sans-600.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/dm-sans-700.ttf") format("truetype")}
:root{color-scheme:light;--canvas:#f7f8fa;--paper:var(--canvas);--surface:#fff;--ink:#14161a;--muted:#646b76;--line:#e5e8ed;--accent:#ffbe43;--accent-soft:#fff5da;--success:#137153;--success-soft:#e8f5ef;--warning:#815700;--danger:#b83f46;--danger-soft:#fdecee;font-family:"DM Sans",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px;line-height:1.57}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select{font:inherit}button{min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;max-width:100%;overflow-wrap:anywhere}button:hover{border-color:#a8adb5}button:disabled{opacity:.5;cursor:wait}.primary,#wallet-login,#asset-prepare,#asset-send,#settlement-prepare,#settlement-send,#asset-recover{background:var(--ink);color:#fff;border-color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible,a:focus-visible{outline:3px solid #946100;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:20px;display:flex;flex-direction:column;gap:24px;background:var(--surface);overflow:auto}.platform-brand{display:flex;align-items:center;gap:8px;min-height:40px;font-size:18px;line-height:26px}.brand-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.main-nav{display:grid;gap:8px}.nav-item{width:100%;text-align:left;border-color:transparent;color:var(--muted);min-height:48px;padding:12px}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--ink)}.sidebar-spacer{flex:1;min-height:60px}.control-note{background:var(--accent-soft);border-radius:16px;padding:16px}.control-note p{font-size:12px;line-height:18px;color:var(--muted);margin:8px 0 0}.sidebar>small{color:var(--muted);font-size:12px}.app-main{margin-left:232px;min-width:0}.workspace-bar{min-height:90px;background:var(--surface);padding:20px 24px;display:flex;align-items:center;gap:24px;justify-content:space-between}.tenant-context{border:0;padding:0;display:flex;align-items:center;gap:12px;text-align:left;min-width:180px}.tenant-context strong{display:block;font-size:14px}.tenant-context small{display:block;color:var(--muted);font-size:12px;font-weight:400}.tenant-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:18px;font-weight:600}.tenant-avatar img{width:100%;height:100%;object-fit:contain}.tenant-avatar.preview{height:72px;width:72px;margin:16px 0}.locale-switcher{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:nowrap}.locale-switcher select{width:auto;min-width:84px;min-height:44px;margin:0;padding:8px 30px 8px 12px;font-size:14px;background:var(--surface)}.account-context{display:flex;gap:12px;align-items:center;min-width:0;font-size:12px}.account-context button{font-size:12px;min-height:34px;border:0;padding:4px;max-width:200px;word-break:break-all}.account-context .badge:empty{display:none}main{padding:32px;max-width:1600px;margin:0 auto}h1{font-size:32px;line-height:40px;margin:0;font-weight:700}h2{font-size:24px;line-height:32px;margin:0 0 16px}h3{font-size:14px;line-height:20px;margin:0 0 8px;font-weight:600}p{margin:8px 0 16px;overflow-wrap:anywhere}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.page-heading p{margin:4px 0 0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;margin:0 0 24px;min-width:0}.overview-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:24px;align-items:start}.overview-grid>.card{margin:0}.card-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.card-heading h2{margin:0}.position-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.position-pair>div{padding:16px;background:var(--canvas);border-radius:24px;min-width:0}.position-pair .value{font-size:20px;line-height:28px;font-weight:700;margin:8px 0;overflow-wrap:anywhere}.position-pair small,.muted{color:var(--muted);font-size:12px;line-height:18px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.badge{display:inline-flex;align-items:center;background:var(--canvas);color:var(--muted);border-radius:999px;padding:8px;font-size:12px;line-height:18px;white-space:normal}.badge:empty{display:none}.badge.accent{background:var(--accent)}.badge.warning{background:var(--accent-soft);color:var(--warning)}.badge.positive{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions>button{flex:1 1 150px}.native-summary .actions>button{font-size:13px}.nft-summary h2,.settlement-summary h2,.account-summary h2,.token-summary h2{font-size:18px;line-height:26px}.empty-state{background:var(--canvas);border-radius:24px;padding:24px 16px;min-height:158px;display:flex;flex-direction:column;justify-content:center;margin:16px 0}.empty-state p{color:var(--muted);font-size:12px;margin:8px 0 0}.nft-summary>button{width:100%}.settlement-summary{background:var(--accent-soft);border-color:var(--accent-soft)}.account-summary .actions{margin:16px 0}.token-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.token-summary h2{margin-bottom:4px}.token-summary p{margin:0;color:var(--muted)}.token-summary>.actions{flex:1;max-width:440px}.form-card{max-width:760px;padding:32px}.form-card>button{width:100%;margin-top:12px}.login-card{max-width:760px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}label{display:block;font-size:14px;margin:16px 0;font-weight:600}input:not([type=checkbox]),select{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:8px;background:var(--surface);color:var(--ink)}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--canvas);padding:20px;border-radius:16px;font-size:12px;line-height:20px;max-height:42rem;overflow:auto}summary{cursor:pointer;font-weight:600;min-height:24px}.connection-card[open]>summary{margin-bottom:20px}.connection-card{font-size:13px}.release-notice{border-left:3px solid var(--accent);background:var(--accent-soft);padding:16px;border-radius:0 12px 12px 0}.beta-disclosure{font-size:12px;color:var(--muted);margin-top:24px}.beta-disclosure summary{font-weight:400}footer{padding:0 32px 24px;color:var(--muted);font-size:12px;max-width:1600px;margin:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:100}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#identity,#asset-identity,#release-profile,#wallet-login-status,#asset-receive{overflow-wrap:anywhere;word-break:break-word}fieldset{min-width:0}#legacy-clearing-panel button{max-width:100%}#read-result-card{margin-top:24px}#read-result-card h2{font-size:18px}section h3:not(:first-child){margin-top:24px}:lang(zh-Hans){font-family:"Noto Sans SC",system-ui,sans-serif}:lang(zh-Hant){font-family:"Noto Sans TC",system-ui,sans-serif}:lang(ja){font-family:"Noto Sans JP",system-ui,sans-serif}
@media(max-width:1180px){.workspace-bar{flex-wrap:wrap;gap:12px}.locale-switcher{margin-left:auto}.account-context{width:100%;justify-content:flex-end}.overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.position-pair{grid-template-columns:1fr}.token-summary{align-items:stretch;flex-direction:column}.token-summary>.actions{max-width:none}}
@media(max-width:820px){.sidebar{position:static;width:auto;padding:12px 16px;gap:12px}.platform-brand{font-size:18px}.main-nav{display:flex;gap:4px;flex-wrap:wrap}.nav-item{width:auto;flex:1 1 auto;text-align:center;font-size:12px;min-height:40px;padding:8px}.sidebar-spacer,.sidebar>.control-note,.sidebar>small{display:none}.app-main{margin-left:0}.workspace-bar{padding:16px;gap:16px}.tenant-context{min-width:150px}.locale-switcher{margin-left:0}.account-context{justify-content:flex-start}main{padding:24px 16px}.overview-grid{grid-template-columns:1fr}.position-pair{grid-template-columns:1fr 1fr}.card,.form-card{padding:20px;border-radius:20px}.page-heading{margin-bottom:20px}h1{font-size:28px;line-height:36px}.card-heading h2{font-size:21px}.fields{grid-template-columns:1fr}footer{padding:0 16px 24px}.locale-switcher button{min-height:40px;min-width:34px}.card-heading{flex-wrap:wrap}.actions{gap:8px}.actions>button{flex:1 1 130px}}
@media(max-width:460px){.position-pair{grid-template-columns:1fr}.workspace-bar{align-items:flex-start}.locale-switcher{width:100%;justify-content:flex-start;order:3}.account-context{flex-wrap:wrap}.card{padding:16px}.token-summary .actions>button{flex-basis:80px}.actions>button{font-size:13px}.brand-logo{height:36px;width:36px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.login-intro{display:none}.login-method-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.login-method-tabs button{border:0;background:var(--canvas);border-radius:999px;min-height:36px;padding:8px;font-size:12px;font-weight:400}.login-method-tabs button[aria-pressed=true]{background:var(--accent);color:var(--ink)}.login-disclosures{font-size:12px;color:var(--muted);margin:20px 0}.login-card>button{width:100%;margin-top:16px}.tenant-identity{max-width:600px;margin-top:24px}.tenant-identity input{background:var(--canvas)}.signed-out .sidebar{height:90px;width:232px;position:absolute;overflow:visible}.signed-out .sidebar>:not(.platform-brand){display:none}.signed-out .app-main{margin-left:0}.signed-out .workspace-bar{padding-left:256px}.signed-out .workspace-bar .tenant-context,.signed-out .account-context{display:none}.signed-out main{display:grid;grid-template-columns:minmax(220px,1fr) minmax(400px,2fr);gap:24px;max-width:1200px;margin:auto;padding:40px}.signed-out .page-heading{display:none}.signed-out .login-intro{display:block;padding:0 24px 0 0}.login-intro img{object-fit:contain}.login-intro h2{font-size:32px;line-height:40px;margin-top:24px}.login-intro p{color:var(--muted)}.signed-out .login-card{padding:32px}.signed-out .beta-disclosure{grid-column:1/-1}.signed-out footer{max-width:1200px}.signed-out .locale-switcher{margin:auto}.signed-out .card{margin:0}
@media(max-width:820px){.signed-out .sidebar{width:auto;position:static;height:auto}.signed-out .workspace-bar{padding:12px 16px}.signed-out main{display:block;padding:20px 16px}.signed-out .login-intro{display:none}.signed-out .login-card{padding:24px 20px}.signed-out .locale-switcher{margin:0}.main-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:8px 12px;gap:4px}.app-main{padding-bottom:78px}.signed-out .app-main{padding-bottom:0}.main-nav .nav-item{flex:1 1 0;padding:8px 4px;min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}.native-summary{background:var(--accent-soft);border-color:var(--accent-soft)}.position-pair>div{background:transparent;padding:0;border-radius:0}.position-pair .value{font-size:16px}.position-pair{grid-template-columns:1fr}.position-pair>div{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;align-items:center}.position-pair h3{margin:0;font-weight:400}.position-pair small{grid-column:2}.nft-summary{order:3}.settlement-summary{order:2}.account-summary{order:4}.overview-grid{gap:16px}}
.nav-item{display:flex;align-items:center;gap:12px}.nav-item img,.control-note img,.empty-state>img,.tenant-context>img{width:24px;height:24px;flex-shrink:0}.control-note>img{display:block;margin-bottom:8px}.empty-state>img{margin-bottom:12px}.tenant-context>img{margin-left:auto}
.review-row{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:12px 0;font-size:13px}.review-row>span{color:var(--muted)}.review-row strong{font-weight:600;overflow-wrap:anywhere}.review-technical{font-size:12px;margin:24px 0}.review-technical summary{font-weight:400;color:var(--muted)}

/* Keep cancellation reachable outside routed and signed-out containers. */
.workspace-bar:has(#wallet-logout:not([hidden])){flex-wrap:wrap}
#wallet-logout{flex-shrink:0}
/* Integer-pixel local QR with responsive desktop/mobile presentation. */
.auth-enroll-qr { display: block; max-width: 100%; height: auto; image-rendering: pixelated; }
.auth-enroll-qr[hidden] { display: none; }

.auth-entry-actions{margin:20px 0}#auth-management{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.auth-method-states{display:grid;gap:12px}.auth-method-states>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px;background:var(--canvas);border-radius:12px}.auth-method-states dt{font-weight:600}.auth-method-states dd{margin:0;color:var(--muted)}#auth-management>.card-heading{align-items:flex-start}#auth-management>.card-heading h3{margin:0}

#auth-registration,#auth-registration-account{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}#auth-registration h3{margin:0}#auth-registration-open{width:100%;margin:12px 0}

/* Task facts keep full addresses, exact integers and canonical digest visible. */
.task-list{display:grid;gap:8px;margin:16px 0}.task-list-item{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;text-align:left}.task-list-item strong{overflow-wrap:anywhere}.task-list-item span{font-weight:400;color:var(--muted)}#task-authorize{width:100%;margin:16px 0}#task-error{overflow-wrap:anywhere;color:var(--danger)}#task-summary .review-row{grid-template-columns:minmax(110px,1fr) minmax(0,1.5fr)}
@media(max-width:460px){#task-summary .review-row{grid-template-columns:1fr;gap:4px}.main-nav .nav-item{font-size:11px}}

/* Foundation entry composition; placeholder styling never denotes backend OFF. */
.foundation-public-nav{display:flex;gap:8px;flex-wrap:wrap}.foundation-public-nav button{min-height:44px;padding:8px 14px}.foundation-public-nav [aria-current=page]{background:var(--accent-soft)}
.foundation-home{align-self:start}.foundation-home h2{font-size:28px;line-height:1.25}.foundation-home-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
[data-foundation-placeholder=true]:disabled{background:var(--canvas)!important;color:var(--muted)!important;border-color:var(--line)!important;opacity:1;cursor:default}
/* Default ON keeps the Giraffe accent; disabled still describes interaction, not OFF. */
[data-foundation-placeholder=true][data-policy-source=unconnected-default][data-display-mode=ON]:disabled{background:var(--accent)!important;color:var(--ink)!important;border-color:var(--accent)!important}
[data-policy-source=saved-policy][data-display-mode=ON]:disabled{background:var(--accent)!important;color:var(--ink)!important;border-color:var(--accent)!important}
.foundation-policy-rows{display:grid;gap:12px}.foundation-policy-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.foundation-policy-row>span{overflow-wrap:anywhere}.foundation-policy-row button{min-width:64px;flex-shrink:0}
.signed-out .workspace-bar{flex-wrap:wrap}.signed-out .foundation-public-nav{flex:1}.signed-out .foundation-home{margin:0}
@media(max-width:820px){.foundation-public-nav{width:100%}.foundation-public-nav button{flex:1}.foundation-home-entries{grid-template-columns:1fr}.foundation-policy-row{align-items:flex-start}.signed-out .foundation-home{padding:24px 20px}}

/* The original JPEG is retained unchanged; its white matte must not form a
 * tile over the light wallet canvas. Scope compositing to the two brand marks,
 * never tenant avatars, content images or the surrounding navigation. */
.brand-logo,.login-intro>img{background:transparent;mix-blend-mode:multiply}

/* Keep certificate identifiers readable without overflowing mobile settings. */
#auth-ca-bindings { min-width: 0; }
#auth-ca-bindings input, #auth-ca-bindings select { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.auth-change-dialog p { overflow-wrap: anywhere; }
/* Exact observed NFT collection; no remote media or inferred portfolio value. */
.nft-browser-controls{display:flex;flex-wrap:wrap;gap:1rem}.nft-browser-controls label{display:grid;gap:.35rem;min-width:9rem}
.nft-browser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem}
.nft-browser-list{display:grid;gap:.6rem}.nft-browser-item{border:1px solid var(--border,#ddd);border-radius:.7rem;padding:1rem;min-width:0;overflow-wrap:anywhere}
.nft-browser-thumbnail{min-height:7rem;display:grid;place-items:center;border:1px dashed var(--border,#ddd);padding:.8rem}
.funds-currency{border-block-start:1px solid var(--border,#ddd);padding-block:1rem;overflow-wrap:anywhere;min-width:0}.funds-panel button{margin-inline-end:.5rem}
.nft-progress-track{display:flex;position:relative;width:100%;height:.8rem;margin:.75rem 0;border:1px solid #777;border-radius:.2rem}.nft-progress-changed{background:#2d8b57}.nft-progress-unchanged{background:#999}.nft-progress-untraded{background:#fff;border-inline-start:1px solid #777}.nft-progress-marker{position:absolute;top:50%;width:.75rem;height:.75rem;border-radius:50%;background:#f28c28;border:1px solid #733f00;transform:translate(-50%,-50%)}

.nft-browser-thumbnail img{display:block;max-width:100%;max-height:16rem;object-fit:contain}.nft-browser-thumbnail button{white-space:normal}

/* Saved and draft values stay distinct; gray OFF remains an operable control. */
.asset-control-state,.asset-control-choice{border:1px solid #666;border-radius:.35rem;padding:.3rem .6rem;color:#171717}
.asset-control-state[data-state="ON"],.asset-control-choice[data-state="ON"]{background:var(--accent)}
.asset-control-state[data-state="OFF"],.asset-control-choice[data-state="OFF"]{background:#aaa}
.asset-control-choice:focus-visible{outline:2px solid currentColor;outline-offset:3px}
