@custom-variant dark (&:is(.dark *));@tailwind base;@tailwind components;@tailwind utilities;html,body{width:100%;height:100%;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{width:100%;height:100%}@theme inline{ --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }:root{--radius: .625rem;--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.577 .245 27.325);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}@layer base{*{@apply border-border outline-ring/50;}}*{margin:0;padding:0;box-sizing:border-box}.app-container{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#000;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.section{flex:1;width:100%;position:relative;overflow:hidden;cursor:pointer;transition:flex .6s cubic-bezier(.4,0,.2,1);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;will-change:flex;transform:translateZ(0);-webkit-transform:translateZ(0)}.icon-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:6;opacity:1;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.icon-container.hidden{opacity:0}.section-icon{position:absolute;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;color:#fffc;pointer-events:none;transition:all .6s cubic-bezier(.4,0,.2,1);opacity:1}.section-icon.expanding{opacity:0;transform:translate(-50%,-50%)}.purple-section{background:#a033ff}.cyan-section{background:#00d9ff}.red-section{background:#f33}.blur-layer{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;transition:backdrop-filter .6s cubic-bezier(.4,0,.2,1)}.dither-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:10;mix-blend-mode:multiply;opacity:1;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.dither-container{pointer-events:auto}.content-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;pointer-events:none}.content-overlay>*{pointer-events:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.content-overlay.fade-in{animation:fadeIn 1.5s cubic-bezier(.4,0,.2,1) forwards}.content-overlay.fade-out{animation:fadeOut .6s cubic-bezier(.4,0,.2,1) forwards}.home-button{position:absolute;top:20px;left:20px;width:50px;height:50px;border-radius:50%;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0000001a;transition:all .3s ease;z-index:100;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;pointer-events:auto;isolation:isolate}.home-button:hover{background:#ffffff40;border-color:#fff6;transform:scale(1.1);box-shadow:0 12px 40px #00000026}.home-button:active{transform:scale(.95);background:#ffffff4d;animation:buttonPulse .3s ease}@keyframes buttonPulse{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(.95)}}.home-button svg{color:#fff;pointer-events:none}.content-container{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;padding:80px 20px 40px;box-sizing:border-box;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.content-container::-webkit-scrollbar{width:8px}.content-container::-webkit-scrollbar-track{background:#ffffff0d}.content-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.content-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.section-content{max-width:600px;margin:0 auto;color:#fff}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:50vh;padding:20px 20px 0;margin-bottom:0}.label{display:inline-block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;padding:6px 16px;border-radius:20px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:20px;color:#fffffff2}.hero-title{font-size:32px;font-weight:700;line-height:1.2;margin-bottom:16px;color:#fff;max-width:500px}.hero-description{font-size:16px;line-height:1.6;margin-bottom:0;color:#ffffffd9;max-width:400px}.cta-button{padding:14px 32px;font-size:16px;font-weight:600;border:1px solid rgba(255,255,255,.3);border-radius:30px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 32px #0000001a}.cta-button:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.cta-button:active{transform:translateY(0);background:#fff3}@media(max-width:768px){.home-button,.cta-button,.label,.content-container>* *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.section-icon{width:90px;height:90px}.section-icon.expanding{transform:translate(-50%,-50%)}.content-container{padding:70px 16px 40px}.hero-content{min-height:40vh;padding:16px 16px 0;margin-bottom:0}.label{font-size:11px;padding:5px 12px;margin-bottom:16px}.hero-title{font-size:28px;margin-bottom:12px}.hero-description{font-size:14px;margin-bottom:0}.cta-button{padding:12px 28px;font-size:14px}.section{-webkit-tap-highlight-color:rgba(255,255,255,.12);tap-highlight-color:rgba(255,255,255,.12)}.section:active{opacity:.95;transition:opacity .15s ease}.app-container{padding-top:max(env(safe-area-inset-top),0px);padding-bottom:max(env(safe-area-inset-bottom),0px);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.home-button{min-width:44px;min-height:44px;touch-action:manipulation}.content-container{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.section{will-change:auto;contain:layout style paint}.dither-overlay{pointer-events:none}}@supports (-webkit-touch-callout: none){.app-container{min-height:-webkit-fill-available}.section{-webkit-box-flex:1}}.dither-container{width:100%;height:100%;position:relative}.privacy-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.privacy-modal-content{background:#14141efa;border-radius:16px;max-width:700px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 50px #00000080;border:1px solid rgba(255,255,255,.1);overflow:hidden}.privacy-modal-header{padding:24px 28px;border-bottom:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;align-items:center;background:#00b4e61a}.privacy-modal-header h2{color:#fff;font-size:22px;font-weight:700;margin:0}.privacy-close-btn{background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.privacy-close-btn:hover{background:#ffffff1a;transform:rotate(90deg)}.privacy-modal-body{padding:28px;overflow-y:auto;color:#fff;line-height:1.7}.privacy-modal-body::-webkit-scrollbar{width:8px}.privacy-modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.privacy-modal-body::-webkit-scrollbar-thumb{background:#00b4e680;border-radius:4px}.privacy-modal-body::-webkit-scrollbar-thumb:hover{background:#00b4e6b3}.privacy-section{margin-bottom:28px}.privacy-section:last-child{margin-bottom:0}.privacy-intro{background:#00b4e626;padding:20px;border-radius:12px;border-left:4px solid rgba(0,180,230,.8);font-size:15px;line-height:1.8}.privacy-section h3{color:#00d9ff;font-size:18px;font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid rgba(0,180,230,.3)}.privacy-section p{margin-bottom:12px;font-size:15px;color:#ffffffe6}.privacy-section ul,.privacy-section ol{margin-left:20px;margin-bottom:12px}.privacy-section li{margin-bottom:10px;font-size:15px;color:#ffffffd9}.privacy-section li strong{color:#fff;font-weight:600}.privacy-section ol>li>p{margin-top:6px;margin-left:0;font-size:14px;color:#ffffffbf}.privacy-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.privacy-table th,.privacy-table td{border:1px solid rgba(255,255,255,.2);padding:12px;text-align:left}.privacy-table th{background:#00b4e633;color:#fff;font-weight:600}.privacy-table td{background:#ffffff0d;color:#ffffffd9}.privacy-modal-footer{padding:20px 28px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:center;background:#0000004d}.privacy-confirm-btn{padding:14px 48px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#00b4e6cc,#00d9ffcc);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #00d9ff4d}.privacy-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #00d9ff80}@media(max-width:768px){.privacy-modal-content{max-height:90vh;margin:10px}.privacy-modal-header{padding:20px}.privacy-modal-header h2{font-size:18px}.privacy-modal-body{padding:20px}.privacy-section h3{font-size:16px}.privacy-section p,.privacy-section li{font-size:14px}.privacy-table{font-size:12px}.privacy-table th,.privacy-table td{padding:8px}}.admin-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;align-items:flex-start;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-y:auto}.admin-card{background:#fffffff2;border-radius:20px;padding:40px;max-width:800px;width:100%;box-shadow:0 20px 60px #0000004d;max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column}.login-header{text-align:center;margin-bottom:30px}.login-header h1{margin:0;font-size:28px;color:#333}.login-form{display:flex;flex-direction:column;gap:20px}.login-footer{margin-top:20px;text-align:center}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-header h1{margin:0;font-size:28px;color:#333}.back-button{padding:10px 20px;background:#0000001a;border:none;border-radius:8px;cursor:pointer;font-size:14px;color:#333;transition:all .3s ease}.back-button:hover{background:#0003;transform:translate(-2px)}.admin-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:16px;display:flex;align-items:center;gap:8px}.label-icon{font-size:20px}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:15px;transition:all .3s ease;outline:none}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.save-button{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.save-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.save-button:disabled{opacity:.6;cursor:not-allowed}.message{padding:12px 16px;border-radius:8px;text-align:center;font-weight:600;animation:slideIn .3s ease}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-info{margin-top:30px;padding:20px;background:#667eea1a;border-radius:10px;border-left:4px solid #667eea}.admin-info h3{margin:0 0 12px;color:#333;font-size:18px}.admin-info ul{margin:0;padding-left:20px;color:#555;line-height:1.8}.admin-info li{margin-bottom:8px}.loading{text-align:center;font-size:20px;color:#fff}.tab-menu{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.tab-button{flex:1;padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:600;color:#666;transition:all .3s ease}.tab-button:hover{color:#667eea}.tab-button.active{color:#667eea;border-bottom-color:#667eea}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.email-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.email-header h2{margin:0;font-size:24px;color:#333}.export-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.export-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:18px}.email-list{border:1px solid #e0e0e0;border-radius:10px;overflow-y:auto;max-height:500px;flex:1}.email-list-header,.email-item{display:grid;grid-template-columns:2fr .7fr .7fr 1.5fr 80px;gap:15px;padding:15px 20px;align-items:center}.email-list-header{background:#f5f5f5;font-weight:600;color:#333;font-size:14px;border-bottom:2px solid #e0e0e0}.email-item{border-bottom:1px solid #f0f0f0;transition:background .2s ease}.email-item:hover{background:#f9f9f9}.email-item:last-child{border-bottom:none}.email-col{word-break:break-all;color:#333}.consent-col{text-align:center;color:#333;font-size:18px}.date-col{color:#666;font-size:14px}.action-col{text-align:center}.delete-button{padding:6px 12px;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s ease}.delete-button:hover{background:#f003;transform:scale(1.1)}@media(max-width:640px){.admin-card{padding:20px}.admin-header{flex-direction:column;gap:15px;align-items:flex-start}.admin-header h1{font-size:24px}.tab-button{font-size:14px;padding:10px 12px}.email-list-header,.email-item{grid-template-columns:1fr;gap:8px}.email-list-header{display:none}.email-item{padding:15px}.email-col:before{content:"📧 ";font-weight:600}.consent-col:before{content:"동의: ";font-weight:600}.date-col:before{content:"📅 ";font-weight:600}.action-col{text-align:left}.email-header{flex-direction:column;gap:15px;align-items:flex-start}}
