
:root {
  --bg: #FAFAF7;
  --panel: #FFFFFF;
  --text: #0E0E0E;
  --accent: #C4960E;
  --accent-2: #111111;
  --light: #E6E6E0;
  --mid: #7A7A72;
  --danger: #9B2C2C;
  --success: #245C36;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;min-height:100vh;}
a{text-decoration:none;color:inherit;}
button,input{font:inherit;}
nav{position:sticky;top:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:22px 64px;background:rgba(250,250,247,0.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--light);}
.nav-logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:900;letter-spacing:.35em;color:var(--text);text-decoration:none;}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center;}
.nav-links a{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--mid);transition:color .25s;}
.nav-links a:hover,.nav-links a.active{color:var(--accent);}
.page-shell{padding:120px 64px 72px;max-width:1240px;margin:0 auto;}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--light);}
.page-kicker{font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(34px,4vw,58px);font-weight:700;line-height:1.02;}
.page-copy{max-width:520px;font-size:14px;line-height:1.9;color:var(--mid);}
.panel{background:var(--panel);border:1px solid var(--light);border-radius:28px;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,.04);}
.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start;}
.feature-card{padding:34px;border:1px solid var(--light);background:linear-gradient(180deg,#fff 0%,#f7f6f0 100%);border-radius:28px;}
.feature-list{display:grid;gap:16px;margin-top:18px;}
.feature-item{padding:16px 0;border-top:1px solid var(--light);}
.feature-item strong{display:block;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.feature-item span{font-size:14px;line-height:1.8;color:var(--mid);}
.form-card{padding:36px;background:#fff;border:1px solid var(--light);border-radius:28px;}
.form-group{display:grid;gap:10px;margin-bottom:18px;}
.form-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mid);}
.form-input{width:100%;border:1px solid var(--light);background:var(--bg);padding:16px 18px;border-radius:16px;outline:none;transition:border-color .2s, background .2s;font-size:15px;}
.form-input:focus{border-color:var(--accent);background:#fff;}
.form-help{font-size:12px;line-height:1.7;color:var(--mid);}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px;}
.btn-primary,.btn-secondary,.btn-link{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border-radius:999px;border:none;cursor:pointer;transition:transform .18s ease, opacity .18s ease, background .18s ease;}
.btn-primary{background:var(--text);color:#fff;font-size:11px;letter-spacing:.28em;text-transform:uppercase;min-width:180px;}
.btn-primary:hover{transform:translateY(-1px);opacity:.95;}
.btn-secondary{background:#fff;border:1px solid var(--light);color:var(--text);font-size:11px;letter-spacing:.24em;text-transform:uppercase;min-width:160px;}
.btn-secondary:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent);}
.btn-link{padding:0;background:none;border:none;color:var(--accent);font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.message{display:none;margin-bottom:18px;padding:14px 16px;border-radius:16px;font-size:13px;line-height:1.7;}
.message.show{display:block;}
.message.error{background:#FBEAEA;color:var(--danger);border:1px solid #E8B8B8;}
.message.success{background:#EEF8F0;color:var(--success);border:1px solid #BFD8C4;}
.inline-note{font-size:12px;color:var(--mid);line-height:1.8;}
.muted-link{color:var(--accent);}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.stat-card{background:#fff;border:1px solid var(--light);border-radius:24px;padding:28px;}
.stat-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mid);margin-bottom:10px;}
.stat-value{font-family:'Playfair Display',serif;font-size:42px;font-weight:700;line-height:1;}
.stat-sub{font-size:12px;line-height:1.7;color:var(--mid);margin-top:10px;}
.section-block{margin-top:26px;}
.section-card{background:#fff;border:1px solid var(--light);border-radius:28px;padding:30px;}
.section-title{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;}
.purchase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.purchase-card{border:1px solid var(--light);border-radius:24px;padding:26px;background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);display:flex;flex-direction:column;gap:10px;}
.purchase-card.featured{border-color:rgba(196,150,14,.45);box-shadow:0 14px 28px rgba(196,150,14,.08);}
.purchase-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mid);}
.purchase-coins{font-family:'Playfair Display',serif;font-size:42px;font-weight:700;line-height:1;}
.purchase-price{font-size:18px;line-height:1;color:var(--text);}
.purchase-note{font-size:12px;line-height:1.8;color:var(--mid);min-height:44px;}
.table-wrap{overflow:auto;border:1px solid var(--light);border-radius:22px;background:#fff;}
.table{width:100%;border-collapse:collapse;min-width:620px;}
.table th,.table td{padding:16px 18px;border-bottom:1px solid var(--light);text-align:left;font-size:13px;}
.table th{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);font-weight:400;background:#fbfaf6;}
.table tr:last-child td{border-bottom:none;}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;}
.badge.ok{background:#EEF8F0;color:var(--success);}
.badge.pending{background:#FFF6DF;color:#8A6500;}
.badge.warn{background:#FBEAEA;color:var(--danger);}
.empty{padding:22px 0;font-size:13px;color:var(--mid);line-height:1.8;}
.notice-box{padding:18px 20px;border:1px dashed rgba(196,150,14,.45);border-radius:18px;background:#fffcf1;font-size:13px;line-height:1.8;color:#6d5a20;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;}
footer{padding:40px 64px;border-top:1px solid var(--light);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--mid);font-size:12px;line-height:1.8;}
@media (max-width: 980px){
  nav{padding:18px 20px;}
  .nav-links{gap:18px;}
  .page-shell{padding:104px 20px 56px;}
  .auth-grid{grid-template-columns:1fr;}
  .card-grid,.purchase-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .nav-links{display:none;}
  .panel,.feature-card,.form-card,.section-card,.stat-card,.purchase-card{padding:22px;}
  .page-head{flex-direction:column;align-items:flex-start;}
  .stat-value,.purchase-coins{font-size:34px;}
}


.hero-wallet{display:grid;grid-template-columns:minmax(0,1.1fr) 320px;gap:22px;padding:34px 36px;border-radius:32px;background:#111;color:#fff;margin-bottom:30px;box-shadow:0 24px 60px rgba(0,0,0,.12);}
.hero-wallet-value{font-size:68px;line-height:1;font-weight:600;letter-spacing:-.04em;margin:12px 0 8px;}
.hero-wallet-unit{font-size:20px;font-weight:400;color:rgba(255,255,255,.72);}
.hero-wallet-sub{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.58);}
.hero-wallet-side{display:grid;gap:14px;align-content:center;}
.mini-meta{padding:16px 18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.04);}
.mini-meta span{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:8px;}
.mini-meta strong{font-size:16px;font-weight:500;word-break:break-word;}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;}
.section-copy{font-size:13px;line-height:1.8;color:var(--mid);margin-top:6px;max-width:520px;}
.ghost-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid var(--light);color:var(--text);font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;}
.purchase-section .purchase-grid{margin-top:8px;}
.purchase-card{background:#fff;border:1px solid var(--light);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:10px;box-shadow:0 12px 28px rgba(0,0,0,.035);}
.purchase-card.featured{border-color:#111;background:#111;color:#fff;}
.purchase-card.featured .purchase-label,.purchase-card.featured .purchase-note{color:rgba(255,255,255,.72);}
.purchase-card.featured .purchase-price,.purchase-card.featured .purchase-coins{color:#fff;}
.purchase-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);}
.purchase-coins{font-size:42px;font-weight:600;letter-spacing:-.04em;}
.purchase-price{font-size:20px;font-weight:500;}
.purchase-note{font-size:13px;line-height:1.7;color:var(--mid);}
.message{margin-bottom:18px;}
.notice-box{padding:18px 20px;border-radius:20px;border:1px solid var(--light);background:#fff;color:var(--mid);font-size:13px;line-height:1.8;}
@media (max-width: 980px){
  .hero-wallet{grid-template-columns:1fr;padding:28px;}
  .hero-wallet-value{font-size:54px;}
  .section-head{flex-direction:column;align-items:flex-start;}
}


/* --- Enhanced My Page --- */
.page-shell.mypage-shell{max-width:1320px;padding-top:132px;}
.mypage-topline{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--light);}
.mypage-intro .page-kicker{margin-bottom:10px;}
.mypage-intro .page-title{font-size:clamp(48px,6vw,92px);line-height:.95;}
.mypage-intro .page-copy{max-width:620px;}
.member-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--light);border-radius:999px;background:#fff;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);}
.member-chip strong{color:var(--text);font-weight:500;letter-spacing:0;text-transform:none;font-size:13px;}

.mypage-lounge{display:grid;grid-template-columns:minmax(0,1.2fr) 320px;gap:24px;margin-bottom:28px;}
.vault-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#050505 0%,#111 100%);border-radius:34px;padding:40px 42px;color:#fff;min-height:300px;box-shadow:0 30px 80px rgba(0,0,0,.16);}
.vault-card::before{content:"";position:absolute;inset:-1px;background:
radial-gradient(circle at 15% 20%, rgba(255,255,255,.14), transparent 28%),
radial-gradient(circle at 80% 15%, rgba(196,150,14,.18), transparent 24%),
linear-gradient(115deg, rgba(255,255,255,.04), transparent 45%);
pointer-events:none;}
.vault-card::after{content:"TAMSIC MEMBER";position:absolute;right:24px;bottom:22px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.18);}
.vault-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:32px;}
.vault-label{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.52);}
.vault-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.62);}
.vault-balance{position:relative;z-index:1;display:flex;align-items:flex-end;gap:8px;margin-bottom:12px;}
.vault-balance strong{font-size:clamp(68px,8vw,104px);line-height:.88;font-weight:600;letter-spacing:-.06em;}
.vault-balance span{font-size:20px;color:rgba(255,255,255,.68);padding-bottom:14px;}
.vault-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;color:rgba(255,255,255,.62);font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.vault-note{position:relative;z-index:1;margin-top:22px;font-size:14px;line-height:1.9;color:rgba(255,255,255,.78);max-width:680px;}

.member-side{display:grid;gap:16px;}
.member-panel{background:#fff;border:1px solid var(--light);border-radius:28px;padding:24px;}
.member-panel .mini-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.member-value{font-size:18px;font-weight:500;word-break:break-word;}
.member-sub{font-size:13px;line-height:1.8;color:var(--mid);margin-top:8px;}
.member-actions{display:grid;gap:12px;margin-top:8px;}
.member-actions .btn-primary,.member-actions .btn-secondary{width:100%;justify-content:center;}

.purchase-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:22px;}
.purchase-hero .section-title{margin-bottom:8px;font-size:11px;}
.purchase-hero-copy{font-size:14px;line-height:1.9;color:var(--mid);max-width:560px;}
.purchase-section{padding:34px;}
.purchase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.purchase-card{border:1px solid var(--light);border-radius:28px;padding:28px;background:linear-gradient(180deg,#fff 0%,#faf8f2 100%);display:flex;flex-direction:column;gap:12px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.purchase-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.06);}
.purchase-card.featured{border-color:rgba(196,150,14,.45);box-shadow:0 18px 38px rgba(196,150,14,.1);}
.purchase-card .btn-primary{width:100%;justify-content:center;margin-top:8px;}

.accordion-group{display:grid;gap:16px;}
.accordion{background:#fff;border:1px solid var(--light);border-radius:26px;overflow:hidden;}
.accordion-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;background:#fff;border:none;cursor:pointer;text-align:left;}
.accordion-title{display:block;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);}
.accordion-copy{display:block;margin-top:6px;font-size:13px;line-height:1.8;color:var(--mid);}
.accordion-icon{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--light);display:flex;align-items:center;justify-content:center;color:var(--mid);font-size:18px;transition:transform .22s ease, color .22s ease, border-color .22s ease;}
.accordion.is-open .accordion-icon{transform:rotate(45deg);color:var(--accent);border-color:rgba(196,150,14,.45);}
.accordion-content{display:none;padding:0 24px 22px;}
.accordion.is-open .accordion-content{display:block;}
.inline-empty{padding:14px 0;font-size:13px;line-height:1.8;color:var(--mid);}
.table-wrap.flush{border:none;border-radius:0;background:transparent;}
.table-wrap.flush .table th{background:transparent;padding-top:10px;}
.muted-banner{padding:18px 20px;border:1px solid rgba(196,150,14,.25);border-radius:20px;background:linear-gradient(180deg,#fffef8 0%,#fcfaf1 100%);font-size:13px;line-height:1.9;color:#6b5a1f;}
.muted-banner strong{font-weight:500;color:#1a1a1a;}
.mypage-footer-note{color:var(--mid);font-size:12px;line-height:1.8;}

@media (max-width: 1100px){
  .mypage-lounge{grid-template-columns:1fr;}
  .member-side{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 860px){
  .page-shell.mypage-shell{padding-top:112px;}
  .mypage-topline{flex-direction:column;}
  .purchase-hero{grid-template-columns:1fr;}
  .purchase-grid{grid-template-columns:1fr;}
  .member-side{grid-template-columns:1fr;}
}


/* Safe fix: My Page heading overlap */
.mypage-intro .page-title{margin:0 0 20px;line-height:.98;}
.mypage-intro .page-copy{margin:0;max-width:700px;line-height:1.95;}
@media (max-width:768px){
  .mypage-intro .page-title{margin-bottom:16px;line-height:1.02;}
}
