From ce84e277a4b2021dd0ec9b46eaf6011d12000f66 Mon Sep 17 00:00:00 2001 From: gahusb Date: Sun, 24 May 2026 00:42:35 +0900 Subject: [PATCH] =?UTF-8?q?feat(tarot):=20Tarot.css=20=EB=94=94=EC=9E=90?= =?UTF-8?q?=EC=9D=B8=20=ED=86=A0=ED=81=B0=20+=204=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=8A=A4=ED=83=80=EC=9D=BC=20(T12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 (1M context) --- src/pages/tarot/Tarot.css | 493 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 493 insertions(+) create mode 100644 src/pages/tarot/Tarot.css diff --git a/src/pages/tarot/Tarot.css b/src/pages/tarot/Tarot.css new file mode 100644 index 0000000..0d89cc2 --- /dev/null +++ b/src/pages/tarot/Tarot.css @@ -0,0 +1,493 @@ +/* Tarot Lab — 다크 보라+금 톤 */ +.tarot { + --tarot-bg-1: #0a0420; + --tarot-bg-2: #1a0d2e; + --tarot-bg-3: #2a1648; + --tarot-gold: #d4af37; + --tarot-gold-dim: rgba(212, 175, 55, .35); + --tarot-text: #e9e2ff; + --tarot-text-dim: rgba(233, 226, 255, .7); + --tarot-card-w: 100px; + --tarot-card-h: 150px; + + min-height: 100vh; + background: linear-gradient(180deg, var(--tarot-bg-1), var(--tarot-bg-2) 50%, var(--tarot-bg-3)); + color: var(--tarot-text); + font-family: 'Noto Sans KR', system-ui, sans-serif; + padding: 0; +} + +.tarot--landing { + position: relative; + overflow: hidden; +} + +.tarot__hero-video { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + z-index: 0; +} + +.tarot__hero-poster { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + z-index: 0; +} + +.tarot__hero-overlay { + position: absolute; + inset: 0; + background: linear-gradient(180deg, rgba(15,4,40,.5), rgba(15,4,40,.85)); + z-index: 1; +} + +.tarot__hero-content { + position: relative; + z-index: 2; + padding: 60px 40px 80px; + max-width: 1200px; + margin: 0 auto; +} + +.tarot__brand { + display: flex; + align-items: center; + gap: 10px; + font-family: 'Cormorant Garamond', 'Noto Serif KR', serif; + font-size: 18px; + letter-spacing: 4px; + color: var(--tarot-gold); + margin-bottom: 40px; +} + +.tarot__nav { + display: flex; + gap: 24px; + font-size: 14px; + color: var(--tarot-text-dim); +} +.tarot__nav a { + color: inherit; + text-decoration: none; +} +.tarot__nav a:hover { + color: var(--tarot-gold); +} + +.tarot__h1 { + font-family: 'Cormorant Garamond', 'Noto Serif KR', serif; + font-size: clamp(36px, 5vw, 64px); + line-height: 1.1; + margin: 60px 0 20px; + color: var(--tarot-text); +} + +.tarot__sub { + font-size: 16px; + color: var(--tarot-text-dim); + max-width: 520px; + margin-bottom: 36px; +} + +.tarot__cta-row { + display: flex; + gap: 16px; + margin-bottom: 60px; +} + +.tarot__cta { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 14px 28px; + border: 1px solid var(--tarot-gold); + border-radius: 6px; + background: rgba(212, 175, 55, .08); + color: var(--tarot-gold); + text-decoration: none; + font-size: 15px; + letter-spacing: 1px; + transition: background .2s; +} +.tarot__cta:hover { + background: rgba(212, 175, 55, .18); +} +.tarot__cta--secondary { + border-color: rgba(233, 226, 255, .25); + color: var(--tarot-text); +} + +.tarot__tier-row { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 16px; + margin-top: 40px; +} + +.tarot__tier { + padding: 24px; + border: 1px solid rgba(255, 255, 255, .08); + border-radius: 10px; + background: rgba(255, 255, 255, .03); + transition: transform .2s, border-color .2s; +} +.tarot__tier:hover { + transform: translateY(-4px); + border-color: var(--tarot-gold-dim); +} +.tarot__tier h3 { + font-family: 'Cormorant Garamond', 'Noto Serif KR', serif; + font-size: 20px; + color: var(--tarot-gold); + margin-bottom: 8px; +} + +/* ===== Reading page (3-step) ===== */ +.tarot-reading { + max-width: 1280px; + margin: 0 auto; + padding: 40px 24px; + display: grid; + grid-template-columns: 320px 1fr 380px; + gap: 24px; +} + +.tarot-reading__col { + background: rgba(255, 255, 255, .04); + border: 1px solid rgba(255, 255, 255, .06); + border-radius: 10px; + padding: 20px; +} + +.tarot-reading__step-label { + font-size: 12px; + letter-spacing: 2px; + color: var(--tarot-gold); + margin-bottom: 12px; +} + +.tarot-reading__textarea { + width: 100%; + min-height: 96px; + background: rgba(0, 0, 0, .25); + border: 1px solid rgba(255, 255, 255, .1); + color: var(--tarot-text); + padding: 10px; + border-radius: 6px; + font-family: inherit; + resize: vertical; +} + +.tarot-reading__chips { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.tarot-chip { + padding: 6px 12px; + font-size: 13px; + border: 1px solid rgba(255, 255, 255, .15); + border-radius: 16px; + background: transparent; + color: var(--tarot-text-dim); + cursor: pointer; + font-family: inherit; +} +.tarot-chip.is-active, +.tarot-chip:hover { + border-color: var(--tarot-gold); + color: var(--tarot-gold); +} + +.tarot-reading__radio-row { + display: flex; + flex-direction: column; + gap: 8px; +} + +.tarot-reading__primary { + width: 100%; + padding: 12px; + margin-top: 12px; + background: var(--tarot-gold); + color: #1a0d2e; + border: none; + border-radius: 6px; + font-weight: 600; + cursor: pointer; +} +.tarot-reading__primary:disabled { + opacity: .4; + cursor: not-allowed; +} + +/* ===== Card primitive ===== */ +.tarot-card { + position: relative; + width: var(--tarot-card-w); + height: var(--tarot-card-h); + border: none; + padding: 0; + background: transparent; + cursor: default; + transition: transform .2s; +} +.tarot-card.is-clickable { + cursor: pointer; +} +.tarot-card.is-clickable:hover { + transform: translateY(-6px); +} + +.tarot-card img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 8px; + border: 1px solid var(--tarot-gold-dim); +} + +.tarot-card--reversed .tarot-card__inner { + transform: rotate(180deg); +} + +.tarot-card__inner { + position: relative; + width: 100%; + height: 100%; +} + +.tarot-card__fallback { + position: absolute; + inset: 0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + background: linear-gradient(180deg, #1a0d2e, #0a0420); + border-radius: 8px; + border: 1px solid var(--tarot-gold-dim); + color: var(--tarot-text); + font-family: 'Cormorant Garamond', serif; + z-index: -1; + padding: 8px; +} +.tarot-card__symbol { + font-size: 28px; + color: var(--tarot-gold); + margin-bottom: 8px; +} +.tarot-card__name { + font-size: 13px; + color: var(--tarot-text); +} +.tarot-card__name-en { + font-size: 10px; + color: var(--tarot-text-dim); + margin-top: 2px; +} + +.tarot-card__label { + position: absolute; + bottom: -22px; + left: 0; + right: 0; + text-align: center; + font-size: 12px; + color: var(--tarot-text-dim); + letter-spacing: 1px; +} + +.tarot-card--sm { --tarot-card-w: 60px; --tarot-card-h: 90px; } +.tarot-card--md { --tarot-card-w: 100px; --tarot-card-h: 150px; } +.tarot-card--lg { --tarot-card-w: 140px; --tarot-card-h: 210px; } + +/* ===== Grid + Slots ===== */ +.tarot-grid { + display: grid; + grid-template-columns: repeat(4, var(--tarot-card-w)); + gap: 12px; + justify-content: center; +} + +.tarot-slots { + display: flex; + gap: 16px; + justify-content: center; + margin-top: 40px; +} +.tarot-slots__cell { + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; +} +.tarot-slots__label { + font-size: 12px; + letter-spacing: 2px; + color: var(--tarot-gold); + text-transform: uppercase; +} +.tarot-slots__empty { + width: var(--tarot-card-w); + height: var(--tarot-card-h); + border: 1px dashed rgba(212, 175, 55, .3); + border-radius: 8px; + display: grid; + place-items: center; + color: rgba(212, 175, 55, .3); + font-size: 24px; +} + +/* ===== Panel ===== */ +.tarot-panel { + background: rgba(255, 255, 255, .04); + border: 1px solid rgba(255, 255, 255, .06); + border-radius: 10px; + padding: 20px; +} +.tarot-panel--empty { + color: var(--tarot-text-dim); + text-align: center; +} +.tarot-panel__head h3 { + font-family: 'Cormorant Garamond', serif; + font-size: 24px; + color: var(--tarot-gold); +} +.tarot-panel__sub { + font-size: 13px; + color: var(--tarot-text-dim); + margin-bottom: 12px; +} +.tarot-panel__chips { + display: flex; + gap: 6px; + flex-wrap: wrap; + margin-bottom: 16px; +} +.tarot-panel__section { + margin-top: 18px; + padding-top: 18px; + border-top: 1px solid rgba(255, 255, 255, .06); +} +.tarot-panel__section h4 { + font-size: 14px; + letter-spacing: 1px; + color: var(--tarot-gold); + margin-bottom: 8px; +} +.tarot-panel__advice { + background: rgba(212, 175, 55, .08); + padding: 10px; + border-left: 2px solid var(--tarot-gold); + margin-top: 10px; + font-size: 13px; + color: var(--tarot-text); +} +.tarot-panel__warning { + background: rgba(244, 63, 94, .1); + padding: 10px; + border-left: 2px solid #f43f5e; + margin-top: 10px; + font-size: 13px; +} +.tarot-panel__toggle { + margin-top: 10px; + padding: 6px 10px; + background: transparent; + border: 1px solid rgba(255, 255, 255, .15); + color: var(--tarot-text-dim); + border-radius: 4px; + font-size: 12px; + cursor: pointer; +} +.tarot-evidence dt { + font-size: 11px; + letter-spacing: 1px; + color: var(--tarot-gold); + margin-top: 8px; +} +.tarot-evidence dd { + font-size: 13px; + color: var(--tarot-text-dim); + margin: 2px 0; +} + +.tarot-confidence { + display: inline-block; + padding: 2px 8px; + font-size: 11px; + letter-spacing: 1px; + border-radius: 12px; + background: rgba(255, 255, 255, .08); + margin-left: 8px; +} +.tarot-confidence.is-high { background: rgba(52, 211, 153, .2); color: #34d399; } +.tarot-confidence.is-medium { background: rgba(212, 175, 55, .2); color: var(--tarot-gold); } +.tarot-confidence.is-low { background: rgba(244, 63, 94, .15); color: #f43f5e; } + +.tarot-interactions { + list-style: none; + padding: 0; + margin: 0; +} +.tarot-interactions li { + padding: 10px 0; + border-bottom: 1px solid rgba(255, 255, 255, .04); +} +.tarot-interaction-type { + padding: 2px 8px; + font-size: 11px; + border-radius: 4px; + background: rgba(255, 255, 255, .08); +} +.tarot-interaction-type--synergy { color: #34d399; background: rgba(52, 211, 153, .15); } +.tarot-interaction-type--conflict { color: #f43f5e; background: rgba(244, 63, 94, .15); } +.tarot-interaction-type--transition { color: var(--tarot-gold); background: rgba(212, 175, 55, .15); } + +/* ===== History ===== */ +.tarot-history { + max-width: 960px; + margin: 0 auto; + padding: 40px 24px; +} +.tarot-history__item { + display: grid; + grid-template-columns: 1fr auto; + gap: 12px; + padding: 16px; + margin-bottom: 12px; + background: rgba(255, 255, 255, .04); + border: 1px solid rgba(255, 255, 255, .06); + border-radius: 10px; +} +.tarot-history__star { + background: transparent; + border: none; + color: var(--tarot-text-dim); + cursor: pointer; + font-size: 20px; +} +.tarot-history__star.is-fav { + color: var(--tarot-gold); +} + +/* Responsive */ +@media (max-width: 1100px) { + .tarot-reading { + grid-template-columns: 1fr; + } +} + +@media (prefers-reduced-motion: reduce) { + .tarot__hero-video { display: none; } +}