/* 회원 첫 화면(index.html) 전용. 지갑 연결·서명 로그인은 assets/js/pages/connect.js가 처리한다. */
:root{color-scheme:dark;--lp-line:rgba(194,226,207,.14);--lp-mint:#84f0c1;--lp-green:#20c879;--lp-ink:#f4fff8;--lp-gold:#d1b879;--lp-red:#ff9d8f}
*{box-sizing:border-box}
.hidden{display:none!important}
body.lp-body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 12% 16%,rgba(32,200,121,.14),transparent 34%),radial-gradient(ellipse at 89% 80%,rgba(96,165,250,.10),transparent 32%),linear-gradient(145deg,#091811 0%,#06110d 48%,#0c1816 100%);color:var(--lp-ink);font-family:Inter,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.02em}
body.lp-body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.17;background-image:linear-gradient(rgba(185,221,198,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(185,221,198,.055) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 86%);mask-image:linear-gradient(to bottom,black,transparent 86%)}
.lp-shell{position:relative;max-width:1160px;min-height:100vh;margin:auto;padding:28px 44px 38px;display:flex;flex-direction:column}
.lp-header{height:60px;display:flex;align-items:center;justify-content:space-between}
.lp-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.lp-brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#9af5cd,#23c886);display:grid;place-items:center;color:#082419;font-weight:900;font-size:24px;box-shadow:0 8px 30px rgba(32,200,121,.22);position:relative;overflow:hidden}
.lp-brand-mark:after{content:"";position:absolute;width:34px;height:34px;border:1px solid rgba(7,43,26,.28);border-radius:50%;transform:translate(13px,-14px)}
.lp-brand-name{font-weight:850;font-size:16px;letter-spacing:.13em}.lp-brand-sub{display:block;color:#91a99d;font-size:9px;letter-spacing:.2em;margin-top:3px;font-weight:650}
.lp-header-side{display:flex;align-items:center;gap:8px;min-width:0}
.lp-network{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--lp-line);border-radius:999px;color:#b4c7bd;font-size:11px;letter-spacing:.12em;background:rgba(11,28,21,.55)}
.lp-network i{width:7px;height:7px;border-radius:50%;background:var(--lp-green);box-shadow:0 0 12px var(--lp-green)}
.lp-main{flex:1;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:6.5%;padding:56px 0 48px}
.lp-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--lp-mint);font-size:11px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.lp-eyebrow:before{content:"";height:1px;width:27px;background:var(--lp-mint)}
.lp-intro h1{margin:21px 0 17px;font-size:clamp(38px,5.2vw,66px);line-height:1.18;letter-spacing:-.075em;font-weight:820}
.lp-intro h1 em{font-style:normal;color:var(--lp-mint);display:block}
.lp-lead{max-width:470px;margin:0;color:#b5c7bd;font-size:16px;line-height:1.85;word-break:keep-all}
.lp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:42px;max-width:545px}
.lp-feature{min-height:112px;border-top:1px solid rgba(132,240,193,.26);padding:15px 10px 0 1px}
.lp-feature .lp-num{color:var(--lp-mint);font-size:10px;letter-spacing:.13em;font-weight:800}
.lp-feature strong{display:block;font-size:13px;margin:11px 0 5px;letter-spacing:-.04em}
.lp-feature span{display:block;color:#91a79a;font-size:10px;line-height:1.6;word-break:keep-all}
.lp-login-wrap{position:relative;max-width:440px;width:100%;justify-self:end}
.lp-orbit{position:absolute;width:280px;height:280px;top:-80px;left:50%;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(132,240,193,.13);pointer-events:none}
.lp-orbit:before,.lp-orbit:after{content:"";position:absolute;border:1px dashed rgba(132,240,193,.16);border-radius:50%;inset:22px}.lp-orbit:after{inset:52px;border-style:solid;opacity:.5}
.lp-card{position:relative;border:1px solid rgba(199,232,211,.17);border-radius:28px;padding:30px;background:linear-gradient(155deg,rgba(20,43,32,.96),rgba(10,24,19,.97));box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lp-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.lp-card-label{color:#a5b9ae;font-size:11px;letter-spacing:.11em;font-weight:700}
.lp-step{color:#779187;font-size:10px;letter-spacing:.1em}
.lp-emblem{width:96px;height:96px;margin:0 auto 21px;border-radius:29px;background:linear-gradient(145deg,#a3f7d2 0%,#40d99b 48%,#17a96b 100%);display:grid;place-items:center;color:#082719;font-weight:900;font-size:52px;box-shadow:0 16px 45px rgba(32,200,121,.2),inset 0 2px 0 rgba(255,255,255,.48);transform:rotate(-4deg)}
.lp-chain-tag{display:table;margin:0 auto 23px;color:#97c9ae;font-size:10px;letter-spacing:.22em;font-weight:750}
.lp-card h2{font-size:22px;text-align:center;letter-spacing:-.055em;margin:0 0 10px}
.lp-instructions{margin:0 auto 23px;max-width:310px;color:#9eb3a7;font-size:12px;line-height:1.8;text-align:center;word-break:keep-all}
.lp-wallet-button{appearance:none;-webkit-appearance:none;width:100%;min-height:57px;border:0;border-radius:15px;background:linear-gradient(100deg,#16a865,#27ca7d);color:#062317;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:-.03em;box-shadow:0 9px 25px rgba(24,184,108,.2);cursor:pointer;transition:transform .18s,filter .18s}
.lp-wallet-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.lp-wallet-button:active{transform:translateY(0)}
.lp-wallet-button:focus-visible{outline:2px solid var(--lp-mint);outline-offset:3px}
.lp-wallet-icon{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:9px;border:1.5px solid rgba(7,48,29,.65);border-radius:7px;vertical-align:middle;font-size:13px}
.lp-secure-note{margin:15px 0 0;display:flex;gap:9px;align-items:flex-start;color:#91a99b;font-size:10px;line-height:1.65}
.lp-shield{flex:none;width:16px;height:16px;color:var(--lp-mint);margin-top:1px}
/* connect.js show()는 #connect-status의 class를 notice / error-box로 바꾼다. 상자 모양은 바깥 .lp-status가 맡는다. */
.lp-status{margin-top:18px;min-height:42px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(209,184,121,.22);border-radius:12px;background:rgba(209,184,121,.07);color:#e2d7b7;font-size:11px;line-height:1.55}
.lp-status-dot{flex:none;width:7px;height:7px;background:var(--lp-gold);border-radius:50%;box-shadow:0 0 10px rgba(209,184,121,.65)}
.lp-status #connect-status{display:block;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;word-break:keep-all}
.lp-status #connect-status.error-box{color:var(--lp-red)}
.lp-status:has(.error-box){border-color:rgba(255,157,143,.32);background:rgba(255,120,100,.08)}
.lp-status:has(.error-box) .lp-status-dot{background:var(--lp-red);box-shadow:0 0 10px rgba(255,157,143,.6)}
.lp-card-foot{border-top:1px solid var(--lp-line);margin-top:22px;padding-top:17px;display:flex;justify-content:space-between;color:#82968b;font-size:10px}
.lp-card-foot b{color:#b8cabf;font-weight:650}
.lp-join{margin:12px 0 0;color:#82968b;font-size:10px;line-height:1.6;text-align:center}
.lp-join a{color:var(--lp-mint);text-decoration:none;font-weight:700;margin-left:4px}.lp-join a:hover{text-decoration:underline}
.lp-footer{display:flex;align-items:center;justify-content:space-between;color:#71867a;font-size:10px;letter-spacing:.03em;padding-top:17px;border-top:1px solid rgba(194,226,207,.1)}
.lp-footer-note{display:flex;gap:20px}
@media(max-width:800px){.lp-shell{padding:20px 22px 25px}.lp-main{grid-template-columns:1fr;gap:50px;padding:55px 0 35px}.lp-intro{text-align:center}.lp-eyebrow{justify-content:center}.lp-intro h1{font-size:44px}.lp-lead{margin:auto;font-size:14px}.lp-features{margin:31px auto 0;text-align:left}.lp-login-wrap{justify-self:center;max-width:460px}.lp-orbit{top:-45px;width:240px;height:240px}.lp-footer{font-size:9px}.lp-network{font-size:9px}}
@media(max-width:480px){.lp-shell{padding:16px 17px 22px}.lp-header{height:49px}.lp-brand-mark{width:37px;height:37px;border-radius:12px}.lp-brand-name{font-size:14px}.lp-network{padding:8px 10px;font-size:8px;gap:7px}.lp-main{padding-top:42px;gap:40px}.lp-intro h1{font-size:37px;margin-top:17px}.lp-lead{font-size:13px}.lp-features{gap:8px;margin-top:26px}.lp-feature{min-height:103px;padding-right:4px}.lp-feature strong{font-size:11px}.lp-feature span{font-size:9px}.lp-card{padding:25px 21px;border-radius:23px}.lp-emblem{width:82px;height:82px;border-radius:25px;font-size:45px}.lp-card-top{margin-bottom:21px}.lp-card h2{font-size:20px}.lp-instructions{font-size:11px}.lp-wallet-button{min-height:54px;font-size:14px}.lp-card-foot{font-size:9px}.lp-footer{align-items:flex-start;gap:12px;flex-direction:column}.lp-footer-note{gap:15px}}
