#app,body,html{height:100%}body{background:var(--bg);color:var(--fg);overflow:hidden}.auth{display:grid;grid-template-columns:1.2fr 1fr;height:100vh;width:100vw}.auth .left{background:var(--bg);padding:56px 56px 48px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border-card)}.auth .left h1{font-size:56px;font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0 0 22px}.auth .left h1 .accent{color:var(--accent);font-weight:700}.auth .right{background:var(--bg-raised);display:grid;place-items:center;padding:32px}.auth-card{padding:36px;width:100%;max-width:400px}.auth-card,.ref-card{background:var(--bg);border:1px solid var(--border-card);border-radius:8px}.ref-card{overflow:hidden;cursor:pointer;transition:transform var(--dur-fast) var(--ease);text-decoration:none;color:inherit;display:block}.ref-card:hover{transform:translateY(-2px)}.ref-thumb{aspect-ratio:4/5;border-bottom:1px solid var(--border-card);position:relative;background:var(--bg-raised)}.ref-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.ref-face{width:100%;height:100%;justify-content:space-between;padding:9%;font-family:var(--font-sans);letter-spacing:-.02em}.dropzone,.ref-face{display:flex;flex-direction:column}.dropzone{border:1.5px dashed #cfd2da;border-radius:var(--radius-md);background:var(--bg);align-items:center;justify-content:center;gap:10px;cursor:pointer;text-align:center;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);position:relative;overflow:hidden}.dropzone.over,.dropzone:hover{background:var(--bg-raised);border-color:var(--accent)}.dropzone img.fill{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--bg-raised)}.asset-set-main{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.asset-set-main:focus-visible,.asset-tile:hover .asset-set-main{opacity:1}@media (hover:none){.asset-set-main{opacity:1}}.scrim{position:fixed;inset:0;background:rgba(14,17,22,.4);display:grid;place-items:center;z-index:50;padding:var(--space-5);animation:fadeIn .2s var(--ease)}.modal{width:540px;max-width:calc(100vw - 32px);background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideUp .24s var(--ease)}.modal.modal-sm{width:100%;max-width:420px;padding:var(--space-5)}.modal-sm h3{margin:0;font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.01em}.modal-sm p{margin:var(--space-2) 0 0;font-size:14px;line-height:21px;color:var(--fg-2);text-wrap:pretty}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{to{left:100%}}.eyebrow-acc{color:var(--accent)}.eyebrow-acc,.eyebrow-mut{font-family:var(--font-sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.eyebrow-mut,.mono-mut{color:var(--fg-3)}.mono-mut{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.brand-pick{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--border-hairline);border-radius:6px;background:var(--bg);cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.brand-pick:hover{background:var(--bg-raised);border-color:var(--border)}.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);z-index:100;animation:slideUp .28s var(--ease)}.toast .body{background:var(--fg);color:var(--bg);padding:var(--space-3) var(--space-4);min-height:52px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:14px;min-width:min(360px,calc(100vw - 32px));max-width:min(520px,calc(100vw - 32px))}.toast.error .body,.toast.info .body,.toast.success .body{background:var(--bg);color:var(--fg);border-radius:16px;gap:12px;box-shadow:0 0 0 1px var(--border),0 26px 50px -26px rgba(14,17,22,.36),0 2px 6px rgba(14,17,22,.06)}.toast.error .body{box-shadow:0 0 0 1px rgba(196,43,49,.32),0 26px 50px -26px rgba(14,17,22,.36),0 2px 6px rgba(14,17,22,.06)}.toast .tone{flex:none;display:grid;place-items:center}.toast.info .tone{color:var(--fg-2)}.toast.success .tone{color:var(--chip-proof-fg)}.toast.error .tone{color:var(--danger-fg)}.toast .msg{flex:1 1;min-width:0;font-size:14px;line-height:20px;letter-spacing:-.006em}@media (max-width:600px){.toast{bottom:74px}}.angle-row{padding:14px 16px;border:1px solid var(--border-hairline);background:var(--bg);border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:14px;text-align:left;width:100%;font-family:var(--font-sans)}.angle-row.sel{border-color:var(--accent);background:var(--accent-soft)}.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--fg-3);background:var(--bg);position:relative;flex-shrink:0}.angle-row.sel .radio{border-color:var(--accent)}.angle-row.sel .radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}.spinner{width:16px;height:16px;border:2px solid var(--border-hairline);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}@media (max-width:600px){.toast{bottom:auto;top:12px}}