.account-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(42,37,31,.28);-webkit-backdrop-filter:blur(14px) saturate(.82);backdrop-filter:blur(14px) saturate(.82);animation:account-fade .2s ease-out}.account-dialog{position:relative;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(380px,1.22fr);width:min(880px,100%);min-height:570px;max-height:calc(100dvh - 48px);overflow:auto;background:#fbf8f2;box-shadow:0 30px 90px rgba(42,34,27,.24);animation:account-rise .28s cubic-bezier(.2,.72,.2,1)}.account-close{position:absolute;z-index:2;top:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(45,41,35,.16);border-radius:50%;background:rgba(251,248,242,.82);transition:background .18s ease,transform .18s ease}.account-close:hover{background:#fff;transform:rotate(3deg)}.account-close svg{width:18px;height:18px}.account-intro{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:570px;padding:52px 42px;background:linear-gradient(155deg,rgba(116,132,111,.9),rgba(67,78,65,.98));color:#fff;overflow:hidden}.account-intro:before{content:"";position:absolute;width:280px;height:280px;left:-100px;top:-85px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.account-intro:after{content:"予";position:absolute;right:-25px;top:70px;color:rgba(255,255,255,.07);font-family:var(--font-display);font-size:230px;line-height:1}.account-overline{position:absolute;top:45px;left:42px;font-size:var(--type-overline);font-weight:700;letter-spacing:.18em}.account-emblem{position:relative;display:grid;place-items:center;width:54px;height:54px;margin-bottom:28px;border:1px solid rgba(255,255,255,.42);border-radius:50%}.account-emblem svg{width:20px;height:20px}.account-intro p{position:relative;max-width:230px;margin:0;font-family:var(--font-display);font-size:24px;line-height:1.55}.account-content{display:flex;align-items:center;padding:66px 58px 48px}.account-state{width:100%}.account-state>span:first-child{display:block;color:var(--accent);font-size:var(--type-overline);font-weight:700;letter-spacing:.13em}.account-state h2{max-width:420px;margin:18px 0 16px;font-family:var(--font-display);font-size:32px;line-height:1.45;letter-spacing:-.025em}.account-state>p{margin:0;color:var(--muted);font-size:14px;line-height:1.85}.account-status{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:700}.account-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(99,112,93,.11)}.account-metrics{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 28px;border-block:1px solid var(--line)}.account-metrics>div{padding:19px 0}.account-metrics>div+div{padding-left:24px;border-left:1px solid var(--line)}.account-metrics span,.account-metrics strong{display:block}.account-metrics strong{font-family:var(--font-display);font-size:28px}.account-metrics span{margin-top:4px;color:var(--muted);font-size:12px}.account-benefits{display:grid;grid-gap:12px;gap:12px;margin:0 0 28px;padding:0;list-style:none;color:#4f4b45;font-size:13px}.account-benefits li{display:flex;align-items:center;gap:10px}.account-benefits svg{width:16px;height:16px;color:var(--green);flex:none}.account-identity{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:13px 15px;background:#f0ebe2;color:var(--muted);font-size:11px}.account-identity code{color:var(--ink);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em}.account-primary{width:100%;min-height:48px;padding:13px 18px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;transition:background .18s ease,transform .18s ease}.account-primary:hover{background:var(--accent);transform:translateY(-1px)}.account-state>small{display:block;margin-top:12px;color:#8a8379;font-size:11px;line-height:1.6;text-align:center}.account-loading-line{height:12px;margin-top:28px;background:linear-gradient(90deg,#eee8de 25%,#f8f4ed 50%,#eee8de 75%);background-size:200% 100%;animation:account-shimmer 1.4s infinite}.account-loading-line.short{width:68%;margin-top:10px}@keyframes account-fade{0%{opacity:0}to{opacity:1}}@keyframes account-rise{0%{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}@keyframes account-shimmer{to{background-position:-200% 0}}@media(max-width:720px){.account-overlay{align-items:end;padding:0;background:rgba(42,37,31,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.account-dialog{display:block;width:100%;min-height:0;max-height:88dvh;border-radius:18px 18px 0 0;animation:account-sheet .3s cubic-bezier(.2,.72,.2,1)}.account-intro{display:none}.account-content{padding:58px 24px calc(24px + env(safe-area-inset-bottom))}.account-state h2{font-size:28px}.account-close{top:10px;right:12px}.account-metrics{margin-top:24px}}@keyframes account-sheet{0%{transform:translateY(100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.account-dialog,.account-loading-line,.account-overlay{animation:none}}.account-state .account-input{display:block;box-sizing:border-box;width:100%;height:48px;margin-top:12px;padding:0 14px;border:1px solid #d9d2c7;border-radius:0;background:#fffdf9;color:var(--ink);font:inherit;font-size:14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.account-state .account-input::placeholder{color:#9a9389}.account-state .account-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(99,112,93,.12)}.account-code-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-gap:8px;gap:8px;margin-top:12px}.account-code-row .account-input{margin-top:0}.account-code-button{min-height:48px;padding:0 10px;border:1px solid #69775f;background:#f0f3ed;color:#455240;font-size:12px;font-weight:700;white-space:nowrap;transition:background .18s ease,color .18s ease}.account-code-button:hover:not(:disabled){background:#69775f;color:#fff}.account-code-button:disabled{cursor:wait;opacity:.62}.account-form-message{min-height:20px;margin:10px 0 0!important;color:#786555!important;font-size:12px!important;line-height:1.6!important}.account-form-message[role=alert]{color:#a14b3d!important}.account-form-message:not(:empty)+.account-primary{margin-top:4px}.account-state .account-primary{margin-top:20px}.account-mode-links{display:flex;justify-content:center;gap:18px;margin-top:18px}.account-mode-links button{padding:4px 0;border:0;background:transparent;color:#68765f;font-size:12px;text-decoration:underline;text-underline-offset:3px}.account-mode-links button:hover{color:var(--ink)}@media(max-width:720px){.account-code-row{grid-template-columns:minmax(0,1fr) 106px}.account-mode-links{gap:14px;flex-wrap:wrap}.account-state .account-input{font-size:16px}}.account-management-actions{display:grid;grid-gap:10px;gap:10px;margin-top:28px}.account-secondary{width:100%;min-height:46px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px;font-weight:700;transition:border-color .18s ease,background .18s ease}.account-secondary:hover{border-color:var(--green);background:#f0f3ed}.account-artworks{margin-top:26px}.account-artworks h3{margin:0 0 12px;font-size:13px;color:var(--ink)}.account-artwork-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;max-height:220px;overflow:auto}.account-artwork{display:block;color:var(--muted);font-size:10px;text-decoration:none}.account-artwork img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#eee8de}.account-artwork span{display:block;margin-top:5px}@media(max-width:720px){.account-artwork-grid{grid-template-columns:repeat(3,1fr)}}.account-credit-balance{display:flex;align-items:baseline;gap:10px;margin-top:22px;padding:15px 0;border-block:1px solid var(--line)}.account-credit-balance span{color:var(--muted);font-size:12px}.account-credit-balance strong{font-family:var(--font-display);font-size:30px;line-height:1;color:var(--ink)}.account-credit-balance em{margin-left:auto;color:var(--green);font-size:11px;font-style:normal}.account-redeem{display:grid;grid-template-columns:1fr 112px;grid-gap:8px;gap:8px;margin-top:14px}.account-redeem .account-input{margin:0}.account-redeem button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.account-redeem{grid-template-columns:1fr}}