@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@200;300;400;600&family=Noto+Sans+SC:wght@300;400;500&display=swap";:root{--color-bg:#0a0a0f;--color-bg-card:#12121a;--color-bg-elevated:#1a1a25;--color-gold:#c9a227;--color-gold-light:#e8c547;--color-gold-dim:#8a7019;--color-text:#e8e6e3;--color-text-dim:#8a8a8a;--color-text-muted:#555;--color-accent:#6a5acd;--color-danger:#c0392b;--color-success:#27ae60;--color-border:#2a2a35;--font-display:-apple-system, BlinkMacSystemFont, "PingFang SC", "SF Pro Display", "Helvetica Neue", "Noto Sans SC", sans-serif;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "SF Pro Text", "Helvetica Neue", "Noto Sans SC", sans-serif;--radius-sm:6px;--radius-md:16px;--radius-lg:28px;--radius-round:50%;--shadow-card:0 4px 20px #0006;--shadow-glow:0 0 20px #c9a22726;--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.6s ease;--max-width:640px;--padding-page:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);min-height:100dvh;line-height:1.6;overflow-x:hidden}#app{z-index:1;min-height:100dvh;position:relative}.page{flex-direction:column;flex:1;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3{font-family:var(--font-display);color:var(--color-gold);font-weight:400}h1{letter-spacing:.08em;font-size:2rem;font-weight:700}h2{letter-spacing:.03em;font-size:1.6rem;font-weight:600}h3{font-size:1.25rem;font-weight:500}p{color:var(--color-text);font-size:1.05rem;line-height:1.9}.text-dim{color:var(--color-text-dim)}.text-muted{color:var(--color-text-muted)}.text-gold{color:var(--color-gold)}.text-center{text-align:center}.btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);font-family:var(--font-display);cursor:pointer;transition:all var(--transition-normal);color:var(--color-text);background:0 0;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;text-decoration:none;display:inline-flex}.btn-primary{color:#0a0a0f;border-radius:var(--radius-md);background:linear-gradient(135deg,#c9a227d9,#e8c547e6);font-weight:500}.btn-primary:hover{background:linear-gradient(135deg, var(--color-gold), var(--color-gold-light));box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{color:var(--color-gold);border:1px solid var(--color-gold-dim);background:0 0}.btn-secondary:hover{border-color:var(--color-gold);background:#c9a2271a}.btn-ghost{color:var(--color-text-dim);background:0 0;padding:8px 16px}.btn-ghost:hover{color:var(--color-text)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-full{width:100%}.card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#12121a99;border:1px solid #c9a22714;padding:24px}.card:hover{border-color:var(--color-gold-dim);box-shadow:var(--shadow-glow)}.card-elevated{background:var(--color-bg-elevated)}.tarot-frame{-webkit-backdrop-filter:blur(20px);transition:all var(--transition-normal);background:#12121a99;border:1px solid #c9a2274d;border-radius:8px;padding:20px;position:relative;box-shadow:0 0 15px #c9a2270a,inset 0 0 0 1px #12121af2,inset 0 0 0 5px #0a0a0fcc,inset 0 0 0 5.5px #c9a2271a,inset 0 0 15px #c9a22705}.tarot-frame:hover{border-color:#c9a22780;box-shadow:0 0 25px #c9a2270f,inset 0 0 0 1px #12121ae6,inset 0 0 0 5px #0a0a0fb3,inset 0 0 0 5.5px #c9a2272e,inset 0 0 15px #c9a2270a}.tarot-frame:before{content:"";pointer-events:none;background:radial-gradient(1px,#c9a22733 .6px,#0000 .6px) 50% 0/14px 3px repeat-x,radial-gradient(1px,#c9a22733 .6px,#0000 .6px) 50% 100%/14px 3px repeat-x,radial-gradient(1px,#c9a22733 .6px,#0000 .6px) 0/3px 14px repeat-y,radial-gradient(1px,#c9a22733 .6px,#0000 .6px) 100%/3px 14px repeat-y;border:.5px solid #c9a2271f;border-radius:4px;position:absolute;inset:7px}.tarot-frame:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 3l3 8h8l-6.5 5 2.5 8-7-5-7 5 2.5-8L3.5 11h8z' fill='none' stroke='%23c9a227' stroke-opacity='.4' stroke-width='.7'/%3E%3Ccircle cx='14' cy='13' r='3' fill='none' stroke='%23c9a227' stroke-opacity='.2' stroke-width='.5'/%3E%3Ccircle cx='14' cy='13' r='1' fill='%23c9a227' fill-opacity='.3'/%3E%3C/svg%3E") 0 0/28px 28px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M14 4a7 7 0 100 14 5 5 0 010-14z' fill='none' stroke='%23c9a227' stroke-opacity='.3' stroke-width='.5'/%3E%3Ccircle cx='8' cy='7' r='.7' fill='%23c9a227' fill-opacity='.25'/%3E%3C/svg%3E") 100% 0/22px 22px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 3l2 4 4 2-4 2-2 4-2-4-4-2 4-2z' fill='none' stroke='%23c9a227' stroke-opacity='.25' stroke-width='.5'/%3E%3Cpath d='M11 7l1.5 2.5L11 11l-1.5-1.5z' fill='%23c9a227' fill-opacity='.12'/%3E%3C/svg%3E") 0 100%/22px 22px no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 3l3 8h8l-6.5 5 2.5 8-7-5-7 5 2.5-8L3.5 11h8z' fill='none' stroke='%23c9a227' stroke-opacity='.4' stroke-width='.7'/%3E%3Ccircle cx='14' cy='13' r='3' fill='none' stroke='%23c9a227' stroke-opacity='.2' stroke-width='.5'/%3E%3Ccircle cx='14' cy='13' r='1' fill='%23c9a227' fill-opacity='.3'/%3E%3C/svg%3E") 100% 100%/28px 28px no-repeat;position:absolute;inset:-8px}.divider{background:linear-gradient(90deg, transparent, var(--color-gold-dim), transparent);width:60px;height:1px;margin:24px auto}.tag{color:var(--color-gold);background:#c9a2271a;border:1px solid #c9a22733;border-radius:20px;padding:5px 14px;font-size:.85rem;display:inline-block}.tag-reversed{color:var(--color-accent);background:#6a5acd26;border-color:#6a5acd4d}.input{-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);font-family:var(--font-sans);transition:border-color var(--transition-fast);background:#12121a80;outline:none;padding:16px 20px;font-size:1.05rem}.input:focus{border-color:var(--color-gold-dim)}.input::placeholder{color:var(--color-text-muted)}textarea.input{resize:vertical;min-height:100px;line-height:1.6}.tarot-card{border-radius:var(--radius-md);cursor:pointer;width:120px;height:200px;transition:transform var(--transition-normal);perspective:600px;position:relative}.tarot-card:hover{transform:translateY(-8px)}.tarot-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s;position:relative}.tarot-card.flipped .tarot-card-inner{transform:rotateY(180deg)}.tarot-card-front,.tarot-card-back{backface-visibility:hidden;border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.tarot-card-front{border:2px solid var(--color-gold-dim)}.tarot-card-back{background:linear-gradient(135deg,#1a1028,#12082e,#1a1040);border:2px solid #8c78c866;overflow:hidden}.tarot-card-back:before{content:"";border:1px solid #a08cf026;border-radius:6px;position:absolute;inset:6px}.tarot-card-back:after{content:"✧";color:#b4a0ff73;text-shadow:0 0 15px #8c78dc4d;font-size:1.8rem}.tarot-card-front{background:var(--color-bg-card);overflow:hidden;transform:rotateY(180deg)}.tarot-card.reversed .tarot-card-front{transform:rotateY(180deg)rotate(180deg)}.spread-layout{flex-wrap:wrap;justify-content:center;gap:16px;padding:20px 0;display:flex}.spread-slot{flex-direction:column;align-items:center;gap:8px;display:flex}.spread-slot .slot-label{color:var(--color-text-dim);font-size:.8rem;font-family:var(--font-display)}.page-enter{animation:.4s forwards slideUp}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}@media (width<=375px){:root{--padding-page:16px}h1{font-size:1.5rem}.tarot-card{width:100px;height:167px}.btn{padding:10px 20px;font-size:.9rem}}@media (width>=641px){:root{--max-width:720px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
