.auth{min-height:var(--page-min-h);background:var(--background);color:var(--c-text);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);display:grid}.auth-col{flex-direction:column;min-width:0;padding:1.75rem clamp(1.25rem,5vw,4rem);display:flex}.auth-body{width:100%;max-width:380px;margin:auto;padding:3rem 0}.auth-title{letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:700;line-height:1.2}.auth-sub{color:var(--c-dim);margin:.55rem 0 0;font-size:.92rem;line-height:1.55}.auth-form{flex-direction:column;gap:1.05rem;margin-top:1.9rem;display:flex}.auth-field{flex-direction:column;gap:.4rem;display:flex}.auth-label-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.auth-label{color:var(--c-sub);font-size:.82rem;font-weight:600}.auth-input{border:1px solid var(--border-input);background:var(--surface-input);width:100%;height:44px;color:var(--c-text);font:inherit;border-radius:10px;padding:0 .9rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-input:hover{border-color:var(--border-strong,var(--border-input))}.auth-input:focus{border-color:var(--c-accent-mint);box-shadow:0 0 0 3px rgba(var(--c-accent-mint-ch), .18);outline:none}.auth-password{display:block;position:relative}.auth-password .auth-input{padding-right:4.2rem}.auth-reveal{height:32px;color:var(--c-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:0 .7rem;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.auth-reveal:hover{color:var(--c-text);background:var(--surface-hover)}.auth-reveal:focus-visible{outline:2px solid var(--c-accent-mint);outline-offset:1px}.auth-link{color:var(--c-sub);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong,var(--c-dim));text-decoration-color:var(--border-strong,var(--c-dim));font-size:.82rem;font-weight:500}.auth-link:hover{color:var(--c-text);text-decoration-color:currentColor}.auth-link:focus-visible{outline:2px solid var(--c-accent-mint);outline-offset:2px;border-radius:3px}.auth-submit{cursor:pointer;background:var(--c-accent-mint);color:#04120e;height:46px;font:inherit;border:none;border-radius:10px;margin-top:.35rem;font-size:.95rem;font-weight:700;transition:filter .15s}.auth-submit:hover{filter:brightness(1.06)}.auth-submit:disabled{cursor:default;opacity:.6;filter:none}.auth-submit:focus-visible{outline:2px solid var(--c-text);outline-offset:3px}[data-theme=light] .auth-submit{color:#fff}.auth-msg{border-radius:10px;margin:0;padding:.7rem .85rem;font-size:.86rem;line-height:1.5}.auth-msg-error{color:var(--c-accent-error);background:#ff787817}.auth-msg-success{color:var(--c-text);background:rgba(var(--c-accent-mint-ch), .12)}.auth-alt{color:var(--c-dim);margin:1.6rem 0 0;font-size:.86rem}.auth-panel{background:radial-gradient(ellipse at 20% 15%, var(--wash-violet) 0%, transparent 60%), radial-gradient(ellipse at 85% 90%, var(--wash-teal) 0%, transparent 55%), var(--wash-base);border-left:1px solid var(--border-subtle);justify-content:center;align-items:center;padding:3rem clamp(1.5rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.auth-panel-inner{width:100%;max-width:440px}.auth-panel-head{letter-spacing:-.035em;margin:0 0 1.75rem;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:700;line-height:1.08}.auth-panel-copy{max-width:34ch;color:var(--c-sub);margin:1.75rem 0 0;font-size:.95rem;line-height:1.6}.auth-transfer{border:1px solid var(--border-default);background:var(--background);border-radius:16px;padding:1.1rem 1.15rem 1rem;box-shadow:0 24px 60px #00000047}.auth-transfer-file{align-items:center;gap:.7rem;display:flex}.auth-transfer-icon{background:linear-gradient(160deg, rgba(var(--c-accent-mint-ch), .35), rgba(var(--c-accent-mint-ch), .1));border:1px solid rgba(var(--c-accent-mint-ch), .4);border-radius:6px 12px 6px 6px;flex-shrink:0;width:34px;height:40px}.auth-transfer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.92rem;font-weight:600;overflow:hidden}.auth-transfer-size{font-family:var(--font-space-mono), monospace;color:var(--c-dim);font-size:.8rem}.auth-transfer-bar{background:var(--surface-input);border-radius:999px;height:6px;margin:1rem 0 .9rem;overflow:hidden}.auth-transfer-bar span{border-radius:inherit;background:var(--c-accent-mint);transform-origin:0;height:100%;animation:1.6s cubic-bezier(.65,0,.35,1) .3s both authFill;display:block}.auth-transfer-link{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.auth-transfer-url{font-family:var(--font-space-mono), monospace;color:var(--c-sub);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.auth-transfer-ready{background:rgba(var(--c-accent-mint-ch), .15);color:var(--c-accent-mint);border-radius:999px;flex-shrink:0;padding:.2rem .6rem;font-size:.72rem;font-weight:700;animation:.35s ease-out 1.95s both authReady}@keyframes authFill{0%{transform:scaleX(.04)}to{transform:scaleX(1)}}@keyframes authReady{0%{opacity:0;transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.auth-transfer-bar span,.auth-transfer-ready{animation:none}}@media (max-width:900px){.auth{grid-template-columns:1fr}.auth-panel{display:none}}