:root{--color-primary:#00c853;--color-primary-light:#33d375;--color-secondary:#024;--color-secondary-hover:#036;--color-accent:#00ffe0;--color-background:#f4f7f6;--color-surface:#fff;--color-text-main:#1a1a1a;--color-text-muted:#666;--color-text-inverse:#fff;--color-border:#e0e0e0;--color-error:#ff4d4d;--color-success:#00c9a7;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f;--font-sans:"Inter", "Pretendard", sans-serif;--transition-fast:.1s ease-in-out;--transition-normal:.25s ease-in-out}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text-main);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}.app-container{background:var(--color-background);max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:76px;position:relative;overflow-x:hidden;box-shadow:0 0 40px #00000014}@media (width>=481px){body{background:#f0f0f0}}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-md) 0;color:var(--color-primary)}p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-muted)}.glass-panel{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);background:#fffffff2;border:1px solid #fff6}.container{max-width:440px;padding:var(--spacing-lg);flex-direction:column;min-height:100vh;margin:0 auto;display:flex}.center-content{flex-direction:column;flex:1;justify-content:center;display:flex}.input-group{margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.input-label{margin-bottom:var(--spacing-xs);color:var(--color-primary);font-size:.875rem;font-weight:600}.input-field{padding:var(--spacing-md);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-sans);color:var(--color-text-main);background-color:#fafafa;transition:all .3s cubic-bezier(.25,.8,.25,1)}.input-field:focus{border-color:var(--color-primary);background-color:var(--color-surface);outline:none;transform:translateY(-1px);box-shadow:0 4px 12px #00c85326,0 0 0 4px #00c8531a}.input-field:hover:not(:focus){background-color:#f0f0f0;border-color:#b0b0b0}.input-field::placeholder{color:#a0a0a0}.btn{padding:16px var(--spacing-lg);border-radius:var(--radius-full);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;font-size:1.05rem;font-weight:800;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background-color .2s;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:#fff3;border-radius:50%;width:100%;height:100%;transition:transform .4s ease-out,opacity .4s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.btn:active:after{opacity:1;transition:all;transform:translate(-50%,-50%)scale(2.5)}.btn-primary{background-color:var(--color-primary);color:var(--color-surface);box-shadow:0 4px 16px #00c8534d}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-light);transform:translateY(-3px)scale(1.02);box-shadow:0 8px 25px #00c85366}.btn-primary:active:not(:disabled){transform:translateY(1px)scale(.98);box-shadow:0 2px 10px #00c85333}.btn-primary:disabled{cursor:not-allowed;box-shadow:none;background-color:#d0d0d0}.btn-outline{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes springModal{0%{opacity:0;transform:scale(.8)translateY(30px)}60%{opacity:1;transform:scale(1.03)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=428px){.container{padding:var(--spacing-md)}.glass-panel{padding:var(--spacing-lg) var(--spacing-md)!important}.btn{padding:12px var(--spacing-md);font-size:.9375rem}.modal-content{width:94%!important;padding:var(--spacing-lg)!important}.chip-grid{grid-template-columns:repeat(2,1fr)}.toast{white-space:normal;justify-content:center;width:calc(100% - 32px)}}@media (width<=375px){.btn{padding:11px var(--spacing-sm);font-size:.875rem}h1{font-size:1.5rem!important}}.btn-outline:hover{background-color:#0022440d}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.animate-slide-up{opacity:0;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards slideUp}.animate-spring-modal{opacity:0;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards springModal}.chip-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.chip{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface);color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:.9rem;font-weight:600}.chip:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.chip.active{background-color:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary);transform:scale(1.02);box-shadow:0 2px 8px #0243}.toast{border-radius:var(--radius-full);z-index:2000;box-shadow:var(--shadow-lg);white-space:nowrap;align-items:center;padding:12px 20px;font-size:.875rem;font-weight:600;animation:.35s cubic-bezier(.16,1,.3,1) forwards toastIn;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.toast-success{background-color:var(--color-success,#00c9a7);color:#fff}.toast-error{background-color:var(--color-error);color:#fff}.animate-shake{animation:.4s ease-in-out shake}.animate-spin{animation:1s linear infinite spin}.dark-glass-panel{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#ffffff08;border:1px solid #ffffff14;box-shadow:0 8px 32px #0000004d}.text-neon{color:var(--color-primary);text-shadow:0 0 10px #00c85380}@media (width<=428px){.container{padding:var(--spacing-md)}.glass-panel{padding:var(--spacing-lg) var(--spacing-md)!important}.btn{padding:12px var(--spacing-md);font-size:.9375rem}.modal-content{width:94%!important;padding:var(--spacing-lg)!important}.chip-grid{grid-template-columns:repeat(2,1fr)}.toast{white-space:normal;justify-content:center;width:calc(100% - 32px)}}@media (width<=375px){.btn{padding:11px var(--spacing-sm);font-size:.875rem}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}}.global-side-nav{left:var(--spacing-lg);z-index:50;-webkit-backdrop-filter:blur(20px);background:#0a0e1299;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;gap:16px;padding:12px;display:none;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 16px 40px #0000004d}@media (width>=768px){.global-side-nav{display:flex}.bottom-tab-bar{display:none!important}}.global-side-nav-btn{cursor:pointer;color:#fff6;background:0 0;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:12px;transition:all .3s cubic-bezier(.25,1,.5,1);display:flex}.global-side-nav-btn:hover{background:#ffffff0d;transform:translateY(-2px);box-shadow:0 4px 12px #00c85326}.global-side-nav-btn svg{transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.global-side-nav-btn:hover svg{transform:scale(1.15);color:#fff!important}.global-side-nav-btn-text{letter-spacing:.5px;font-size:.65rem;font-weight:800;transition:color .3s}.global-side-nav-btn:hover .global-side-nav-btn-text{color:#fff!important}.global-side-nav-divider{background:#ffffff14;border-radius:1px;width:100%;height:1px}.app-container.admin-container{margin:0;max-width:100%!important;box-shadow:none!important;padding-bottom:0!important}
