feat(tarot): 랜딩 상단 nav + account 제거, ARCANA TAROT brand만 유지
topbar wrapper 제거, brand가 hero-content 직속 첫 자식이 됨. nav(오늘의 카드/타로 리딩/스프레드/가이드/마이 페이지) + account(프리미엄/로그인) 모두 제거 — brand 단독으로 좌상단 표시. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,12 +1,13 @@
|
|||||||
/* Tarot Lab — 다크 보라+금 톤 */
|
/* Tarot Lab — 다크 보라+금 톤 */
|
||||||
.tarot {
|
.tarot {
|
||||||
--tarot-bg-1: #0a0420;
|
--tarot-bg-1: #06030f;
|
||||||
--tarot-bg-2: #1a0d2e;
|
--tarot-bg-2: #140921;
|
||||||
--tarot-bg-3: #2a1648;
|
--tarot-bg-3: #281247;
|
||||||
--tarot-gold: #d4af37;
|
--tarot-gold: #f1d891;
|
||||||
--tarot-gold-dim: rgba(212, 175, 55, .35);
|
--tarot-gold-deep: #c3943d;
|
||||||
--tarot-text: #e9e2ff;
|
--tarot-gold-dim: rgba(241, 216, 145, .42);
|
||||||
--tarot-text-dim: rgba(233, 226, 255, .7);
|
--tarot-text: #fff6df;
|
||||||
|
--tarot-text-dim: rgba(255, 246, 223, .78);
|
||||||
--tarot-card-w: 100px;
|
--tarot-card-w: 100px;
|
||||||
--tarot-card-h: 150px;
|
--tarot-card-h: 150px;
|
||||||
|
|
||||||
@@ -19,7 +20,15 @@
|
|||||||
|
|
||||||
.tarot--landing {
|
.tarot--landing {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
min-height: calc(100vh - 166px);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .2);
|
||||||
|
border-radius: 22px;
|
||||||
|
background: #05020c;
|
||||||
|
box-shadow:
|
||||||
|
0 28px 80px rgba(0, 0, 0, .48),
|
||||||
|
0 0 0 1px rgba(255, 255, 255, .03) inset,
|
||||||
|
0 0 48px rgba(113, 67, 170, .15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__hero-poster {
|
.tarot__hero-poster {
|
||||||
@@ -31,137 +40,465 @@
|
|||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__hero-video {
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
object-fit: cover;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tarot__hero-overlay {
|
.tarot__hero-overlay {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
background:
|
background:
|
||||||
linear-gradient(90deg, rgba(10,4,32,.92) 0%, rgba(10,4,32,.55) 35%, rgba(10,4,32,.12) 60%, rgba(10,4,32,0) 100%),
|
linear-gradient(90deg, rgba(4, 3, 12, .9) 0%, rgba(8, 4, 20, .72) 33%, rgba(11, 5, 26, .22) 62%, rgba(6, 3, 14, .08) 100%),
|
||||||
linear-gradient(180deg, rgba(10,4,32,0) 0%, rgba(10,4,32,.55) 100%);
|
linear-gradient(180deg, rgba(5, 2, 13, .38) 0%, rgba(5, 2, 13, .08) 46%, rgba(5, 2, 13, .72) 100%);
|
||||||
z-index: 2;
|
z-index: 1;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tarot__corner {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -92px;
|
||||||
|
width: 260px;
|
||||||
|
height: 260px;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .28);
|
||||||
|
border-radius: 50%;
|
||||||
|
z-index: 2;
|
||||||
|
opacity: .6;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__corner::before,
|
||||||
|
.tarot__corner::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 28px;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .22);
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__corner::after {
|
||||||
|
inset: 68px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__corner--left {
|
||||||
|
left: -112px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__corner--right {
|
||||||
|
top: 116px;
|
||||||
|
right: -168px;
|
||||||
|
bottom: auto;
|
||||||
|
opacity: .34;
|
||||||
|
}
|
||||||
|
|
||||||
.tarot__hero-content {
|
.tarot__hero-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
padding: 40px clamp(24px, 4vw, 80px) 80px;
|
display: flex;
|
||||||
max-width: 1600px;
|
min-height: calc(100vh - 166px);
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 20px clamp(18px, 2.6vw, 34px) 28px;
|
||||||
|
max-width: 1720px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__topbar {
|
.tarot__topbar {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
min-height: 74px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 24px;
|
gap: 18px;
|
||||||
margin-bottom: clamp(40px, 6vw, 80px);
|
padding: 10px 18px;
|
||||||
flex-wrap: wrap;
|
border: 1px solid rgba(241, 216, 145, .25);
|
||||||
|
border-radius: 20px;
|
||||||
|
background:
|
||||||
|
linear-gradient(180deg, rgba(8, 5, 20, .78), rgba(8, 5, 20, .42)),
|
||||||
|
rgba(8, 5, 20, .44);
|
||||||
|
box-shadow:
|
||||||
|
0 1px 0 rgba(255, 246, 223, .08) inset,
|
||||||
|
0 0 0 1px rgba(0, 0, 0, .18);
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
-webkit-backdrop-filter: blur(10px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__brand {
|
.tarot__brand {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 10px;
|
gap: 14px;
|
||||||
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
||||||
font-size: 18px;
|
font-size: clamp(18px, 1.7vw, 27px);
|
||||||
letter-spacing: 4px;
|
letter-spacing: .18em;
|
||||||
color: var(--tarot-gold);
|
color: var(--tarot-gold);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__brand-mark {
|
||||||
|
position: relative;
|
||||||
|
display: grid;
|
||||||
|
width: 54px;
|
||||||
|
height: 54px;
|
||||||
|
place-items: center;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .72);
|
||||||
|
border-radius: 50%;
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1;
|
||||||
|
text-shadow: 0 0 16px rgba(241, 216, 145, .48);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__brand-mark::before,
|
||||||
|
.tarot__brand-mark::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: -7px;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .34);
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__brand-mark::after {
|
||||||
|
inset: 9px;
|
||||||
|
border-color: rgba(241, 216, 145, .2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__brand-spark {
|
||||||
|
color: #fff0bd;
|
||||||
|
font-size: 16px;
|
||||||
|
letter-spacing: 0;
|
||||||
|
text-shadow: 0 0 14px rgba(241, 216, 145, .6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__brand-name {
|
||||||
|
text-shadow: 0 2px 22px rgba(241, 216, 145, .24);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__nav {
|
.tarot__nav {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: clamp(16px, 2vw, 32px);
|
align-items: center;
|
||||||
font-size: 14px;
|
justify-content: center;
|
||||||
|
gap: clamp(18px, 2vw, 36px);
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
color: var(--tarot-text-dim);
|
color: var(--tarot-text-dim);
|
||||||
flex-wrap: wrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__nav a {
|
.tarot__nav a {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
transition: color .18s ease, text-shadow .18s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__nav a:hover {
|
.tarot__nav a:hover {
|
||||||
color: var(--tarot-gold);
|
color: var(--tarot-gold);
|
||||||
|
text-shadow: 0 0 14px rgba(241, 216, 145, .35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__account {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 18px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__premium {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__login {
|
||||||
|
display: inline-flex;
|
||||||
|
min-width: 82px;
|
||||||
|
height: 46px;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .42);
|
||||||
|
border-radius: 12px;
|
||||||
|
background: rgba(20, 11, 40, .6);
|
||||||
|
color: var(--tarot-text);
|
||||||
|
font-weight: 700;
|
||||||
|
transition: border-color .18s ease, background .18s ease, color .18s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__login:hover {
|
||||||
|
border-color: rgba(241, 216, 145, .8);
|
||||||
|
background: rgba(37, 22, 64, .76);
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__hero-copy {
|
||||||
|
width: min(700px, 52%);
|
||||||
|
padding-left: clamp(16px, 4vw, 72px);
|
||||||
|
padding-top: clamp(54px, 7vw, 108px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__h1 {
|
.tarot__h1 {
|
||||||
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
||||||
font-size: clamp(40px, 6vw, 84px);
|
font-size: clamp(46px, 5.8vw, 92px);
|
||||||
line-height: 1.05;
|
font-weight: 700;
|
||||||
margin: clamp(40px, 6vw, 80px) 0 20px;
|
line-height: 1.18;
|
||||||
|
letter-spacing: 0;
|
||||||
|
margin: 0;
|
||||||
color: var(--tarot-text);
|
color: var(--tarot-text);
|
||||||
max-width: 16ch;
|
text-shadow:
|
||||||
|
0 2px 0 rgba(83, 55, 20, .5),
|
||||||
|
0 0 24px rgba(241, 216, 145, .22);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__ornament {
|
||||||
|
display: grid;
|
||||||
|
width: min(100%, 610px);
|
||||||
|
grid-template-columns: 1fr auto 1fr;
|
||||||
|
align-items: center;
|
||||||
|
gap: 14px;
|
||||||
|
margin: 22px 0 28px;
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__ornament span {
|
||||||
|
height: 1px;
|
||||||
|
background: linear-gradient(90deg, transparent, rgba(241, 216, 145, .72), transparent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__ornament b {
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 400;
|
||||||
|
text-shadow: 0 0 16px rgba(241, 216, 145, .6);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__sub {
|
.tarot__sub {
|
||||||
font-size: clamp(15px, 1.1vw, 18px);
|
|
||||||
color: var(--tarot-text-dim);
|
|
||||||
max-width: 44ch;
|
max-width: 44ch;
|
||||||
margin-bottom: 36px;
|
margin: 0 0 30px;
|
||||||
line-height: 1.55;
|
color: var(--tarot-text-dim);
|
||||||
|
font-size: clamp(15px, 1.1vw, 18px);
|
||||||
|
line-height: 1.8;
|
||||||
|
text-shadow: 0 2px 14px rgba(0, 0, 0, .58);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__cta-row {
|
.tarot__cta-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 16px;
|
gap: 18px;
|
||||||
margin-bottom: 60px;
|
margin-bottom: 0;
|
||||||
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__cta {
|
.tarot__cta {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
min-width: 196px;
|
||||||
|
height: 58px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8px;
|
justify-content: center;
|
||||||
padding: 14px 28px;
|
gap: 12px;
|
||||||
border: 1px solid var(--tarot-gold);
|
padding: 0 24px;
|
||||||
border-radius: 6px;
|
border: 1px solid rgba(81, 53, 16, .7);
|
||||||
background: rgba(212, 175, 55, .08);
|
border-radius: 12px;
|
||||||
color: var(--tarot-gold);
|
background: linear-gradient(180deg, #ffe9a9 0%, #d6ad59 100%);
|
||||||
|
color: #25160d;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 15px;
|
font-size: 19px;
|
||||||
letter-spacing: 1px;
|
font-weight: 800;
|
||||||
transition: background .2s;
|
letter-spacing: 0;
|
||||||
|
box-shadow:
|
||||||
|
0 12px 32px rgba(0, 0, 0, .3),
|
||||||
|
0 1px 0 rgba(255, 255, 255, .6) inset,
|
||||||
|
0 0 0 2px rgba(91, 63, 25, .25) inset;
|
||||||
|
transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__cta:hover {
|
.tarot__cta:hover {
|
||||||
background: rgba(212, 175, 55, .18);
|
color: #25160d;
|
||||||
|
filter: brightness(1.06);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow:
|
||||||
|
0 16px 36px rgba(0, 0, 0, .36),
|
||||||
|
0 1px 0 rgba(255, 255, 255, .62) inset,
|
||||||
|
0 0 0 2px rgba(91, 63, 25, .28) inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tarot__cta-arrow {
|
||||||
|
margin-left: 10px;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__card-icon {
|
||||||
|
position: relative;
|
||||||
|
width: 24px;
|
||||||
|
height: 32px;
|
||||||
|
border: 1px solid var(--tarot-gold);
|
||||||
|
border-radius: 4px;
|
||||||
|
transform: rotate(8deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__card-icon::before {
|
||||||
|
content: '✶';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
display: grid;
|
||||||
|
place-items: center;
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
.tarot__cta--secondary {
|
.tarot__cta--secondary {
|
||||||
border-color: rgba(233, 226, 255, .25);
|
border-color: rgba(241, 216, 145, .54);
|
||||||
|
background: linear-gradient(180deg, rgba(30, 17, 54, .72), rgba(16, 9, 33, .72));
|
||||||
color: var(--tarot-text);
|
color: var(--tarot-text);
|
||||||
|
box-shadow:
|
||||||
|
0 12px 32px rgba(0, 0, 0, .26),
|
||||||
|
0 0 0 2px rgba(241, 216, 145, .16) inset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__cta--secondary:hover {
|
||||||
|
background: linear-gradient(180deg, rgba(45, 27, 76, .82), rgba(19, 11, 38, .82));
|
||||||
|
color: var(--tarot-gold);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__tier-row {
|
.tarot__tier-row {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
gap: clamp(16px, 1.5vw, 28px);
|
width: min(820px, 62%);
|
||||||
margin-top: clamp(40px, 5vw, 72px);
|
margin-top: auto;
|
||||||
max-width: 980px;
|
margin-left: clamp(12px, 3.5vw, 54px);
|
||||||
|
border: 1px solid rgba(241, 216, 145, .28);
|
||||||
|
border-radius: 28px;
|
||||||
|
background: linear-gradient(180deg, rgba(36, 20, 55, .5), rgba(12, 8, 30, .48));
|
||||||
|
box-shadow:
|
||||||
|
0 22px 52px rgba(0, 0, 0, .28),
|
||||||
|
0 1px 0 rgba(255, 246, 223, .07) inset;
|
||||||
|
backdrop-filter: blur(8px);
|
||||||
|
-webkit-backdrop-filter: blur(8px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tarot__tier {
|
.tarot__tier {
|
||||||
padding: 24px;
|
position: relative;
|
||||||
border: 1px solid rgba(255, 255, 255, .08);
|
display: flex;
|
||||||
border-radius: 10px;
|
min-height: 190px;
|
||||||
background: rgba(255, 255, 255, .03);
|
flex-direction: column;
|
||||||
transition: transform .2s, border-color .2s;
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 22px 24px;
|
||||||
|
text-align: center;
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
transition: background .18s ease, transform .18s ease;
|
||||||
}
|
}
|
||||||
.tarot__tier:hover {
|
|
||||||
transform: translateY(-4px);
|
.tarot__tier + .tarot__tier {
|
||||||
border-color: var(--tarot-gold-dim);
|
border-left: 1px solid rgba(241, 216, 145, .28);
|
||||||
}
|
}
|
||||||
.tarot__tier h3 {
|
|
||||||
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
.tarot__tier + .tarot__tier::before {
|
||||||
font-size: 20px;
|
content: '✦';
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: -7px;
|
||||||
color: var(--tarot-gold);
|
color: var(--tarot-gold);
|
||||||
margin-bottom: 8px;
|
font-size: 15px;
|
||||||
|
text-shadow: 0 0 12px rgba(241, 216, 145, .45);
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier:hover {
|
||||||
|
background: rgba(255, 246, 223, .04);
|
||||||
|
transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon {
|
||||||
|
position: relative;
|
||||||
|
display: grid;
|
||||||
|
width: 82px;
|
||||||
|
height: 82px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
place-items: center;
|
||||||
|
border: 1px solid rgba(241, 216, 145, .36);
|
||||||
|
border-radius: 50%;
|
||||||
|
background: rgba(12, 7, 27, .34);
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon::before,
|
||||||
|
.tarot__tier-icon::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon--sun::before {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
border: 2px solid var(--tarot-gold);
|
||||||
|
border-radius: 50%;
|
||||||
|
box-shadow: 0 0 0 8px rgba(241, 216, 145, .08), 0 0 18px rgba(241, 216, 145, .35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon--sun::after {
|
||||||
|
width: 52px;
|
||||||
|
height: 52px;
|
||||||
|
background: repeating-conic-gradient(from 0deg, var(--tarot-gold) 0 8deg, transparent 8deg 22deg);
|
||||||
|
mask: radial-gradient(circle, transparent 0 22px, #000 23px 27px, transparent 28px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon--cards::before {
|
||||||
|
width: 24px;
|
||||||
|
height: 36px;
|
||||||
|
border: 1px solid var(--tarot-gold);
|
||||||
|
border-radius: 4px;
|
||||||
|
box-shadow: -14px 4px 0 -1px rgba(12, 7, 27, 1), -14px 4px 0 0 var(--tarot-gold), 14px 4px 0 -1px rgba(12, 7, 27, 1), 14px 4px 0 0 var(--tarot-gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon--cards::after {
|
||||||
|
content: '✶';
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon--moon::before {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 50%;
|
||||||
|
box-shadow: -9px 0 0 0 var(--tarot-gold);
|
||||||
|
transform: translateX(8px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier-icon--moon::after {
|
||||||
|
content: '✦';
|
||||||
|
top: 18px;
|
||||||
|
right: 17px;
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier h3 {
|
||||||
|
margin: 0 0 6px;
|
||||||
|
color: var(--tarot-gold);
|
||||||
|
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
||||||
|
font-size: 23px;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__tier p {
|
||||||
|
margin: 0;
|
||||||
|
color: rgba(255, 246, 223, .7);
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.62;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__scroll-cue {
|
||||||
|
display: grid;
|
||||||
|
place-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
margin-top: 20px;
|
||||||
|
color: rgba(255, 231, 173, .8);
|
||||||
|
font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
|
||||||
|
font-size: 12px;
|
||||||
|
letter-spacing: .16em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tarot__scroll-cue b {
|
||||||
|
font-family: system-ui, sans-serif;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 300;
|
||||||
|
line-height: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===== Reading page (3-step) ===== */
|
/* ===== Reading page (3-step) ===== */
|
||||||
@@ -582,6 +919,21 @@
|
|||||||
.tarot-reading {
|
.tarot-reading {
|
||||||
grid-template-columns: 280px minmax(0, 1fr) 320px;
|
grid-template-columns: 280px minmax(0, 1fr) 320px;
|
||||||
}
|
}
|
||||||
|
.tarot__topbar {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.tarot__brand {
|
||||||
|
flex: 1 1 100%;
|
||||||
|
}
|
||||||
|
.tarot__nav {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
.tarot__hero-copy {
|
||||||
|
width: min(720px, 60%);
|
||||||
|
}
|
||||||
|
.tarot__tier-row {
|
||||||
|
width: min(760px, 72%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
@media (max-width: 1024px) {
|
||||||
@@ -589,11 +941,23 @@
|
|||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
.tarot__hero-content {
|
.tarot__hero-content {
|
||||||
padding: 32px 24px 64px;
|
padding: 18px 20px 28px;
|
||||||
|
}
|
||||||
|
.tarot__hero-copy {
|
||||||
|
width: min(680px, 78%);
|
||||||
|
padding-top: 58px;
|
||||||
|
}
|
||||||
|
.tarot__tier-row {
|
||||||
|
width: min(720px, 92%);
|
||||||
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 640px) {
|
@media (max-width: 640px) {
|
||||||
|
.tarot--landing,
|
||||||
|
.tarot__hero-content {
|
||||||
|
min-height: calc(100vh - 138px);
|
||||||
|
}
|
||||||
.tarot-reading {
|
.tarot-reading {
|
||||||
padding: 24px 16px 32px;
|
padding: 24px 16px 32px;
|
||||||
}
|
}
|
||||||
@@ -602,10 +966,80 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
.tarot-reading-steps__sep { display: none; }
|
.tarot-reading-steps__sep { display: none; }
|
||||||
.tarot__cta-row { flex-wrap: wrap; }
|
.tarot__topbar {
|
||||||
.tarot__topbar { gap: 16px; }
|
gap: 14px;
|
||||||
|
border-radius: 16px;
|
||||||
|
padding: 14px;
|
||||||
|
}
|
||||||
|
.tarot__brand {
|
||||||
|
gap: 10px;
|
||||||
|
font-size: 18px;
|
||||||
|
letter-spacing: .12em;
|
||||||
|
}
|
||||||
|
.tarot__brand-spark {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.tarot__brand-mark {
|
||||||
|
width: 42px;
|
||||||
|
height: 42px;
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
.tarot__nav {
|
||||||
|
order: 3;
|
||||||
|
width: 100%;
|
||||||
|
gap: 14px;
|
||||||
|
overflow-x: auto;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.tarot__account {
|
||||||
|
margin-left: auto;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
.tarot__premium {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.tarot__login {
|
||||||
|
min-width: 66px;
|
||||||
|
height: 38px;
|
||||||
|
border-radius: 10px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.tarot__hero-copy {
|
||||||
|
width: 100%;
|
||||||
|
padding: 44px 2px 0;
|
||||||
|
}
|
||||||
|
.tarot__h1 {
|
||||||
|
font-size: clamp(40px, 12vw, 58px);
|
||||||
|
}
|
||||||
|
.tarot__sub {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.tarot__cta {
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
height: 54px;
|
||||||
|
font-size: 17px;
|
||||||
|
}
|
||||||
|
.tarot__tier-row {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 38px;
|
||||||
|
border-radius: 20px;
|
||||||
|
}
|
||||||
|
.tarot__tier {
|
||||||
|
min-height: 148px;
|
||||||
|
}
|
||||||
|
.tarot__tier + .tarot__tier {
|
||||||
|
border-top: 1px solid rgba(241, 216, 145, .28);
|
||||||
|
border-left: 0;
|
||||||
|
}
|
||||||
|
.tarot__tier + .tarot__tier::before {
|
||||||
|
top: -8px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
.tarot__scroll-cue {
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-reduced-motion: reduce) {
|
|
||||||
.tarot__hero-video { display: none; }
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,68 +1,72 @@
|
|||||||
import React, { useRef, useEffect } from 'react';
|
import React from 'react';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import './Tarot.css';
|
import './Tarot.css';
|
||||||
|
|
||||||
export default function Tarot() {
|
export default function Tarot() {
|
||||||
const videoRef = useRef(null);
|
|
||||||
useEffect(() => {
|
|
||||||
const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
||||||
const saveData = navigator.connection?.saveData;
|
|
||||||
if ((reduced || saveData) && videoRef.current) {
|
|
||||||
videoRef.current.pause();
|
|
||||||
videoRef.current.style.display = 'none';
|
|
||||||
}
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="tarot tarot--landing">
|
<div className="tarot tarot--landing">
|
||||||
<video
|
|
||||||
ref={videoRef}
|
|
||||||
className="tarot__hero-video"
|
|
||||||
src="/videos/tarot_hero.mp4"
|
|
||||||
autoPlay loop muted playsInline preload="metadata"
|
|
||||||
poster="/images/tarot_background.png"
|
|
||||||
/>
|
|
||||||
<img className="tarot__hero-poster" src="/images/tarot_background.png" alt="" aria-hidden />
|
<img className="tarot__hero-poster" src="/images/tarot_background.png" alt="" aria-hidden />
|
||||||
<div className="tarot__hero-overlay" />
|
<div className="tarot__hero-overlay" />
|
||||||
|
<div className="tarot__corner tarot__corner--left" aria-hidden />
|
||||||
|
<div className="tarot__corner tarot__corner--right" aria-hidden />
|
||||||
|
|
||||||
<div className="tarot__hero-content">
|
<div className="tarot__hero-content">
|
||||||
<div className="tarot__topbar">
|
<header className="tarot__brand" aria-label="Arcana Tarot">
|
||||||
<header className="tarot__brand">
|
<span className="tarot__brand-spark" aria-hidden>✦</span>
|
||||||
<span>✦</span>
|
<span className="tarot__brand-mark" aria-hidden>A</span>
|
||||||
<span>ARCANA TAROT</span>
|
<span className="tarot__brand-name">ARCANA TAROT</span>
|
||||||
|
<span className="tarot__brand-spark" aria-hidden>✦</span>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<nav className="tarot__nav" aria-label="Tarot navigation">
|
<section className="tarot__hero-copy" aria-labelledby="tarot-landing-title">
|
||||||
<Link to="/tarot/today">오늘의 카드</Link>
|
<h1 id="tarot-landing-title" className="tarot__h1">
|
||||||
<Link to="/tarot/reading">타로 리딩</Link>
|
당신의<br />
|
||||||
<Link to="/tarot/history">히스토리</Link>
|
오늘을 비추는 타로
|
||||||
</nav>
|
</h1>
|
||||||
|
<div className="tarot__ornament" aria-hidden>
|
||||||
|
<span />
|
||||||
|
<b>✶</b>
|
||||||
|
<span />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h1 className="tarot__h1">당신의 오늘을<br />비추는 타로</h1>
|
|
||||||
<p className="tarot__sub">
|
<p className="tarot__sub">
|
||||||
카드를 펼쳐, 당신만의 인사이트를 받아보세요.
|
카드를 뽑고, 당신만을 위한 인사이트를 받아보세요.<br />
|
||||||
라이더-웨이트 덱과 Claude Sonnet 4.6 해석이 함께합니다.
|
운명은 이미 당신 안에 있습니다.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="tarot__cta-row">
|
<div className="tarot__cta-row">
|
||||||
<Link to="/tarot/reading" className="tarot__cta">지금 시작하기 →</Link>
|
<Link to="/tarot/reading" className="tarot__cta">
|
||||||
<Link to="/tarot/today" className="tarot__cta tarot__cta--secondary">오늘의 카드</Link>
|
<span aria-hidden>✦</span>
|
||||||
|
지금 시작하기
|
||||||
|
<span className="tarot__cta-arrow" aria-hidden>→</span>
|
||||||
|
</Link>
|
||||||
|
<Link to="/tarot/today" className="tarot__cta tarot__cta--secondary">
|
||||||
|
<span className="tarot__card-icon" aria-hidden />
|
||||||
|
오늘의 카드
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<div id="tarot-guide" className="tarot__tier-row" aria-label="Tarot features">
|
||||||
|
<article className="tarot__tier">
|
||||||
|
<span className="tarot__tier-icon tarot__tier-icon--sun" aria-hidden />
|
||||||
|
<h3>오늘의 운세</h3>
|
||||||
|
<p>매일 한 장의 카드로<br />오늘의 흐름을 확인하세요.</p>
|
||||||
|
</article>
|
||||||
|
<article className="tarot__tier">
|
||||||
|
<span className="tarot__tier-icon tarot__tier-icon--cards" aria-hidden />
|
||||||
|
<h3>3장 스프레드</h3>
|
||||||
|
<p>과거·현재·미래를 통해<br />더 깊은 해답을 얻어보세요.</p>
|
||||||
|
</article>
|
||||||
|
<article className="tarot__tier">
|
||||||
|
<span className="tarot__tier-icon tarot__tier-icon--moon" aria-hidden />
|
||||||
|
<h3>AI 해석</h3>
|
||||||
|
<p>AI가 전하는 통찰로<br />나만의 리딩을 완성하세요.</p>
|
||||||
|
</article>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="tarot__tier-row">
|
<div className="tarot__scroll-cue" aria-hidden>
|
||||||
<article className="tarot__tier">
|
<span>SCROLL TO DISCOVER</span>
|
||||||
<h3>🌙 오늘의 운세</h3>
|
<b>⌄</b>
|
||||||
<p>매일 1장의 카드로 오늘의 흐름을 확인하세요.</p>
|
|
||||||
</article>
|
|
||||||
<article className="tarot__tier">
|
|
||||||
<h3>🃏 3장 스프레드</h3>
|
|
||||||
<p>과거·현재·미래의 흐름을 한눈에 읽어봅니다.</p>
|
|
||||||
</article>
|
|
||||||
<article className="tarot__tier">
|
|
||||||
<h3>✨ AI 해석</h3>
|
|
||||||
<p>Claude Sonnet 4.6이 카드 의미·위치·상호작용을 근거로 풀어줍니다.</p>
|
|
||||||
</article>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user