#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:calc(56px * var(--ui-scale)) calc(56px * var(--ui-scale)) var(--space-7);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border-card)}.auth .left h1{font-size:var(--fs-section);font-weight:500;letter-spacing:-.02em;line-height:1.02;margin:0 0 calc(22px * var(--ui-scale))}.auth .left h1 .accent{color:var(--accent);font-weight:700}.auth .right{background:var(--bg-raised);display:grid;place-items:center;padding:var(--space-6)}.auth-card{padding:calc(36px * var(--ui-scale));width:100%;max-width:calc(400px * var(--ui-scale))}.auth-card,.ref-card{background:var(--bg);border:1px solid var(--border-card);border-radius:var(--radius-sm)}.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:var(--space-2-5);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:calc(540px * var(--ui-scale));max-width:calc(100vw - calc(32px * var(--ui-scale)));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:calc(420px * var(--ui-scale));padding:var(--space-5)}.modal-sm h3{margin:0;font-size:var(--fs-body);line-height:calc(24px * var(--ui-scale));font-weight:600;letter-spacing:-.01em}.modal-sm p{margin:var(--space-2) 0 0;font-size:var(--fs-small);line-height:calc(21px * var(--ui-scale));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:calc(11px * var(--ui-scale));font-weight:600;text-transform:uppercase;letter-spacing:.14em}.eyebrow-mut,.mono-mut{color:var(--fg-3)}.mono-mut{font-size:calc(10px * var(--ui-scale));text-transform:uppercase;letter-spacing:.08em}.brand-pick{display:flex;align-items:center;gap:calc(14px * var(--ui-scale));padding:var(--space-2-5) calc(14px * var(--ui-scale));border:1px solid var(--border-hairline);border-radius:calc(6px * var(--ui-scale));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:calc(32px * var(--ui-scale));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:calc(52px * var(--ui-scale));border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:calc(14px * var(--ui-scale));min-width:min(calc(360px * var(--ui-scale)),calc(100vw - calc(32px * var(--ui-scale))));max-width:min(calc(520px * var(--ui-scale)),calc(100vw - calc(32px * var(--ui-scale))))}.toast.error .body,.toast.info .body,.toast.success .body{background:var(--bg);color:var(--fg);border-radius:var(--radius-card);gap:var(--space-3);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:var(--fs-small);line-height:calc(20px * var(--ui-scale));letter-spacing:-.006em}@media (max-width:600px){.toast{bottom:calc(74px * var(--ui-scale))}}.angle-row{padding:calc(14px * var(--ui-scale)) var(--space-4);border:1px solid var(--border-hairline);background:var(--bg);border-radius:calc(6px * var(--ui-scale));cursor:pointer;display:flex;align-items:center;gap:calc(14px * var(--ui-scale));text-align:left;width:100%;font-family:var(--font-sans)}.angle-row.sel{border-color:var(--accent);background:var(--accent-soft)}.radio{width:calc(18px * var(--ui-scale));height:calc(18px * var(--ui-scale));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:calc(3px * var(--ui-scale));border-radius:50%;background:var(--accent)}.spinner{width:calc(16px * var(--ui-scale));height:calc(16px * var(--ui-scale));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:calc(12px * var(--ui-scale))}}