:root{--neon-cyan: #00f3ff;--cyber-black: #0a0a0f;--cyber-black-light: #1a1a2e;--silver: #8892b0;--white: #e6f1ff;--glass-border: rgba(255, 255, 255, .1);--holographic-1: #764ba2;--holographic-2: #667eea;--font-main: "Noto Sans KR", sans-serif;--font-display: "Orbitron", sans-serif;--duration-base: .3s}body{margin:0;background-color:var(--cyber-black);color:var(--white);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}*{box-sizing:border-box}.neon-text{color:var(--neon-cyan);text-shadow:0 0 10px rgba(0,243,255,.5)}.glow{text-shadow:0 0 5px var(--neon-cyan),0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan)}button{font-family:var(--font-main);outline:none}.btn-cyber-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--neon-cyan);border-radius:16px;color:var(--neon-cyan);font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-decoration:none;box-shadow:0 0 5px #00f3ff1a}.btn-cyber-ghost:hover:not(:disabled){background:var(--neon-cyan);color:var(--cyber-black);box-shadow:0 0 20px #00f3ff99;transform:scale(1.02)}.btn-cyber-filled{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--neon-cyan);border:2px solid var(--neon-cyan);border-radius:16px;color:var(--cyber-black);font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-decoration:none;box-shadow:0 0 20px #00f3ff66}.btn-cyber-filled:hover:not(:disabled){background:#fff;border-color:#fff;color:var(--cyber-black);box-shadow:0 0 30px #00f3ffcc;transform:scale(1.05)}.btn-cyber-ghost:disabled,.btn-cyber-filled:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(100%)}.btn-cyber-ghost.large,.btn-cyber-filled.large{font-size:1.3rem;padding:16px 40px;border-width:2px}.btn-cyber-ghost.medium{font-size:1rem;padding:10px 20px;border-width:1px}.btn-cyber-ghost.small{font-size:.9rem;padding:6px 12px;border-width:1px}.btn-cyber-ghost.small-menu{font-size:.9rem;padding:8px 16px;border-width:1px}.btn-icon{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,243,255,.3);background:#00f3ff0d;color:var(--neon-cyan);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:1.2rem}.btn-icon:hover{background:var(--neon-cyan);color:var(--cyber-black);box-shadow:0 0 15px #00f3ff66;transform:rotate(90deg)}.btn-icon.back:hover{transform:translate(-5px)}@keyframes pulse{0%{box-shadow:0 0 #00f3ff66}70%{box-shadow:0 0 0 10px #00f3ff00}to{box-shadow:0 0 #00f3ff00}}.pulse{animation:pulse 2s infinite}.float{animation:float 6s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.glass{background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:16px}.glass-card{background:#0a0a0f99;border:1px solid rgba(0,243,255,.1);border-radius:16px;transition:all .3s ease}.glass-card:hover{border-color:var(--neon-cyan);box-shadow:0 0 15px #00f3ff1a;transform:translateY(-2px)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--neon-cyan);border:2px solid var(--neon-cyan);border-radius:16px;color:var(--cyber-black);font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-decoration:none;box-shadow:0 0 20px #00f3ff66;padding:16px 40px;font-size:1.3rem}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--neon-cyan);border-radius:16px;color:var(--neon-cyan);font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-decoration:none;box-shadow:0 0 5px #00f3ff1a;padding:10px 20px;font-size:1rem}.flip-card-container{perspective:1000px}.flip-card{position:relative;width:100%;height:100%;text-align:center;transition:transform .8s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d;cursor:pointer}.flip-card.flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.flip-card-back{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.flip-card-front{background:#0a0a0fe6;border:1px solid var(--neon-cyan);transform:rotateY(180deg);box-shadow:0 0 20px #00f3ff33}.float-card{animation:floatCard 3s ease-in-out infinite}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.toast-slide{animation:slideUp .3s ease-out forwards}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:spin 3s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mbti-grid-container{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}@media(max-width:320px){.mbti-grid-container{grid-template-columns:1fr}}.mbti-group-card{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:all .3s ease}.mbti-group-header{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);background:#0003}.mbti-group-title-row{display:flex;align-items:center;gap:6px;overflow:hidden}.mbti-group-title{font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mbti-group-code{font-size:.65rem;font-weight:800;padding:1px 4px;border-radius:4px;border:1px solid currentColor;opacity:.8}.mbti-types-grid{padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#0003;flex-grow:1}.mbti-type-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:10px 0;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#e6f1ff}.mbti-type-btn span{font-size:.9rem;font-weight:700;letter-spacing:-.5px}.mbti-type-btn:active{transform:scale(.95)}.theme-purple .mbti-group-card{border-color:#a855f74d;background:#581c871a}.theme-purple .mbti-group-title{color:#d8b4fe}.theme-purple .mbti-group-code{color:#d8b4fe;background:#a855f733;border-color:#a855f74d}.theme-purple .mbti-icon{color:#c084fc}.theme-purple .mbti-type-btn{background:#581c8733;border-color:#a855f733;color:#e9d5ff}.theme-purple .mbti-type-btn:hover{background:#a855f733;border-color:#a855f780}.theme-green .mbti-group-card{border-color:#10b9814d;background:#064e3b1a}.theme-green .mbti-group-title{color:#6ee7b7}.theme-green .mbti-group-code{color:#6ee7b7;background:#10b98133;border-color:#10b9814d}.theme-green .mbti-icon{color:#34d399}.theme-green .mbti-type-btn{background:#064e3b33;border-color:#10b98133;color:#d1fae5}.theme-green .mbti-type-btn:hover{background:#10b98133;border-color:#10b98180}.theme-blue .mbti-group-card{border-color:#3b82f64d;background:#1e3a8a1a}.theme-blue .mbti-group-title{color:#93c5fd}.theme-blue .mbti-group-code{color:#93c5fd;background:#3b82f633;border-color:#3b82f64d}.theme-blue .mbti-icon{color:#60a5fa}.theme-blue .mbti-type-btn{background:#1e3a8a33;border-color:#3b82f633;color:#dbeafe}.theme-blue .mbti-type-btn:hover{background:#3b82f633;border-color:#3b82f680}.theme-yellow .mbti-group-card{border-color:#f59e0b4d;background:#78350f1a}.theme-yellow .mbti-group-title{color:#fcd34d}.theme-yellow .mbti-group-code{color:#fcd34d;background:#f59e0b33;border-color:#f59e0b4d}.theme-yellow .mbti-icon{color:#fbbf24}.theme-yellow .mbti-type-btn{background:#78350f33;border-color:#f59e0b33;color:#fef3c7}.theme-yellow .mbti-type-btn:hover{background:#f59e0b33;border-color:#f59e0b80}.mbti-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.mbti-modal-content{background:#121212;border:1px solid rgba(255,255,255,.1);border-radius:20px;width:100%;max-width:320px;overflow:hidden;box-shadow:0 20px 40px #00000080;animation:zoomIn .2s ease-out}.mbti-modal-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.mbti-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#8892b0;cursor:pointer;padding:8px}.mbti-modal-body{padding:24px;background:#121212}.mbti-modal-badge{display:inline-block;font-size:.7rem;font-weight:800;text-transform:uppercase;padding:2px 6px;border-radius:4px;border:1px solid currentColor;margin-bottom:8px}.mbti-modal-title{font-size:2.5rem;font-weight:900;line-height:1;margin:0 0 8px}.mbti-modal-subtitle{font-size:.9rem;font-weight:500;color:#ccc;margin:0}.mbti-modal-desc{font-size:.9rem;line-height:1.6;color:#8892b0;margin-bottom:24px}.mbti-confirm-btn{width:100%;padding:14px;border-radius:20px;border:none;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .1s}.mbti-confirm-btn:active{transform:scale(.98)}.mbti-outline-btn{width:100%;padding:14px;border-radius:20px;border:1px solid transparent;background:transparent;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.mbti-outline-btn:active{transform:scale(.98)}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.theme-purple .mbti-modal-header{background:#581c8733}.theme-purple .mbti-modal-title{color:#d8b4fe}.theme-purple .mbti-modal-badge{color:#d8b4fe;background:#a855f733;border-color:#a855f74d}.theme-purple .mbti-confirm-btn{background:#9333ea;color:#fff}.theme-purple .mbti-confirm-btn:hover{background:#a855f7}.theme-purple .mbti-outline-btn{border-color:#9333ea;color:#d8b4fe}.theme-purple .mbti-outline-btn:hover{background:#9333ea;color:#fff}.theme-green .mbti-modal-header{background:#064e3b33}.theme-green .mbti-modal-title{color:#6ee7b7}.theme-green .mbti-modal-badge{color:#6ee7b7;background:#10b98133;border-color:#10b9814d}.theme-green .mbti-confirm-btn{background:#059669;color:#fff}.theme-green .mbti-confirm-btn:hover{background:#10b981}.theme-green .mbti-outline-btn{border-color:#059669;color:#6ee7b7}.theme-green .mbti-outline-btn:hover{background:#059669;color:#fff}.theme-blue .mbti-modal-header{background:#1e3a8a33}.theme-blue .mbti-modal-title{color:#93c5fd}.theme-blue .mbti-modal-badge{color:#93c5fd;background:#3b82f633;border-color:#3b82f64d}.theme-blue .mbti-confirm-btn{background:#2563eb;color:#fff}.theme-blue .mbti-confirm-btn:hover{background:#3b82f6}.theme-blue .mbti-outline-btn{border-color:#2563eb;color:#93c5fd}.theme-blue .mbti-outline-btn:hover{background:#2563eb;color:#fff}.theme-yellow .mbti-modal-header{background:#78350f33}.theme-yellow .mbti-modal-title{color:#fcd34d}.theme-yellow .mbti-modal-badge{color:#fcd34d;background:#f59e0b33;border-color:#f59e0b4d}.theme-yellow .mbti-confirm-btn{background:#d97706;color:#fff}.theme-yellow .mbti-confirm-btn:hover{background:#f59e0b}.theme-yellow .mbti-outline-btn{border-color:#d97706;color:#fcd34d}.theme-yellow .mbti-outline-btn:hover{background:#d97706;color:#fff}
