.common-loading{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:20px}.common-loading--small{gap:8px;padding:12px}.common-loading--medium{gap:12px;padding:20px}.common-loading--large{gap:16px;padding:32px}.common-loading__spinner{align-items:center;display:flex;justify-content:center}.common-loading__spinner .spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#337ab7;height:24px;width:24px}.common-loading--small .common-loading__spinner .spinner{border-width:1.5px;height:16px;width:16px}.common-loading--large .common-loading__spinner .spinner{border-width:3px;height:32px;width:32px}.common-loading__dots{display:flex;gap:4px}.common-loading__dots .dot{animation:dots 1.4s ease-in-out infinite both;border-radius:50%;height:8px;width:8px}.common-loading__dots .dot:first-child{animation-delay:-.32s}.common-loading__dots .dot:nth-child(2){animation-delay:-.16s}.common-loading--small .common-loading__dots .dot{height:6px;width:6px}.common-loading--large .common-loading__dots .dot{height:12px;width:12px}.common-loading__pulse{animation:pulse 1.2s ease-in-out infinite;border-radius:50%;height:24px;width:24px}.common-loading--small .common-loading__pulse{height:16px;width:16px}.common-loading--large .common-loading__pulse{height:32px;width:32px}.common-loading__skeleton{display:flex;flex-direction:column;gap:8px;max-width:300px;width:100%}.common-loading__skeleton .skeleton-line{animation:skeleton 1.5s ease-in-out infinite;border-radius:4px;height:12px}.common-loading__skeleton .skeleton-line:first-child{animation-delay:0s}.common-loading__skeleton .skeleton-line:nth-child(2){animation-delay:.2s}.common-loading__skeleton .skeleton-line:nth-child(3){animation-delay:.4s}.common-loading--small .common-loading__skeleton .skeleton-line{height:8px}.common-loading--large .common-loading__skeleton .skeleton-line{height:16px}.common-loading__text{color:#666;font-size:14px;text-align:center}.common-loading--small .common-loading__text{font-size:12px}.common-loading--large .common-loading__text{font-size:16px}@keyframes dots{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@keyframes skeleton{0%{opacity:.3}50%{opacity:.7}to{opacity:.3}}.toast-container{display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;position:fixed;right:var(--space-4);top:var(--space-4);z-index:9999}.toast{align-items:center;animation:toast-slide-in .25s ease-out;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-3);max-width:420px;min-width:280px;padding:var(--space-3) var(--space-4);pointer-events:auto}.toast.toast-dismissing{animation:toast-fade-out .2s ease-in forwards}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.toast-icon:before{color:var(--color-text-inverse);display:block;font-size:12px;font-weight:700;line-height:1}.toast-success .toast-icon{background-color:var(--color-success)}.toast-success .toast-icon:before{content:"\2713"}.toast-error .toast-icon{background-color:var(--color-danger)}.toast-error .toast-icon:before{content:"\2715"}.toast-warning .toast-icon{background-color:var(--color-warning)}.toast-warning .toast-icon:before{content:"!"}.toast-info .toast-icon{background-color:var(--color-info)}.toast-info .toast-icon:before{content:"i";font-style:italic}.toast-message{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-sm);line-height:var(--line-height-compact)}.toast-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;line-height:1;padding:0;transition:background-color var(--transition-fast);width:24px}.toast-close:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.toast-close:before{content:"\2715"}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:480px){.toast-container{left:var(--space-2);right:var(--space-2);top:var(--space-2)}.toast{max-width:none;min-width:0;width:100%}}.confirm-overlay{align-items:center;animation:confirm-overlay-in .15s ease-out;background-color:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.confirm-dialog{animation:confirm-dialog-in .2s ease-out;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:400px;padding:var(--space-6);width:90%}.confirm-dialog-message{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);word-break:keep-all}.confirm-dialog-input,.confirm-dialog-message{color:var(--color-text-primary);margin-bottom:var(--space-5)}.confirm-dialog-input{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;font-family:var(--font-family);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast);width:100%}.confirm-dialog-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--taegeuk-blue-10);outline:none}.confirm-dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.confirm-dialog-btn{border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.confirm-dialog-btn-cancel{background-color:initial;border-color:var(--color-border);color:var(--color-text-secondary)}.confirm-dialog-btn-cancel:hover{background-color:var(--color-surface)}.confirm-dialog-btn-confirm{background-color:var(--color-primary);color:var(--color-text-inverse)}.confirm-dialog-btn-confirm:hover{background-color:var(--color-primary-hover)}@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.confirm-dialog{padding:var(--space-5);width:95%}}.App{display:flex;flex-direction:column;min-height:100vh}.App.with-header{padding-top:64px}.banner{background:linear-gradient(135deg,var(--gray-light) 0,var(--white) 100%);border-bottom:2px solid var(--border-color);font-family:var(--font-family);padding:30px}.banner h1{color:var(--accent-blue);font-size:var(--font-size-xl);font-weight:700;letter-spacing:.02em;margin:0;text-align:center}.main-nav{align-items:center;background:linear-gradient(135deg,var(--secondary-bg) 0,var(--gray-dark) 100%);border-bottom:3px solid var(--accent-blue);box-shadow:0 4px 12px #00000026;display:flex;justify-content:center;margin-top:0;padding:15px 0}.main-nav ul{display:flex;font-family:var(--font-family);list-style:none;margin:0;padding:0}.main-nav li{margin:0 30px}.main-nav a{border-radius:var(--btn-radius);color:var(--white);font-size:var(--font-size-base);font-weight:600;padding:10px 16px;text-decoration:none;transition:all .3s ease}.main-nav a:hover{background-color:#2563eb1a;box-shadow:0 2px 8px #2563eb33;color:var(--accent-blue);transform:translateY(-1px)}.auth-menu a{color:var(--accent-blue);font-weight:600;text-decoration:none;transition:color .3s ease}.auth-menu a:hover{color:var(--accent-blue-dark)}.banner-container{display:block;margin:0 auto;position:relative;width:100%;z-index:1}.header-nav{background-color:var(--white);border-bottom:2px solid var(--border-color);font-family:var(--font-family);justify-content:space-between;padding:15px 30px}.nav-left a,.nav-right a{color:var(--primary-text);font-size:var(--font-size-base);font-weight:600;margin-right:25px;text-decoration:none;transition:color .3s ease}.nav-left a:hover,.nav-right a:hover{color:var(--accent-blue)}.nav-right a{margin-right:0}@media (max-width:768px){.banner{padding:20px 15px}.banner h1{font-size:var(--font-size-lg)}.main-nav{padding:10px 0}.main-nav ul{flex-direction:column;gap:10px}.main-nav li{margin:0 15px}.main-nav a{font-size:var(--font-size-sm);padding:8px 12px}.header-nav{flex-direction:column;gap:15px;padding:15px}.nav-left a,.nav-right a{font-size:var(--font-size-sm);margin-right:15px}}@media (max-width:1024px) and (min-width:769px){.main-nav li{margin:0 20px}.main-nav a{font-size:var(--font-size-sm);padding:8px 14px}}@media (hover:none) and (pointer:coarse){.main-nav a,.nav-left a,.nav-right a{align-items:center;display:flex;justify-content:center;min-height:44px;min-width:44px}.main-nav a:active,.nav-left a:active,.nav-right a:active{background-color:#2563eb33;transform:scale(.95)}}@media (max-width:480px){.banner h1{font-size:var(--font-size-base)}.main-nav a{padding:6px 10px}.main-nav a,.nav-left a,.nav-right a{font-size:var(--font-size-xs)}}@supports (padding:max(0px)){.banner{padding-left:max(30px,env(safe-area-inset-left));padding-right:max(30px,env(safe-area-inset-right))}.main-nav{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}.header-nav{padding-left:max(30px,env(safe-area-inset-left));padding-right:max(30px,env(safe-area-inset-right))}.App{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media (max-width:768px){.App{margin:0;overflow-x:hidden;padding:0;width:100%}.banner{padding:20px 16px}.main-nav{padding:10px 16px}.header-nav{padding:15px 16px}}@media (max-width:480px){.banner{padding:15px 12px}.main-nav{padding:8px 12px}.header-nav{padding:12px}}@media (max-width:360px){.banner{padding:12px 10px}.main-nav{padding:6px 10px}.header-nav{padding:10px}}@media screen and (max-width:428px){.banner h1{font-size:var(--font-size-lg)}}@media screen and (max-width:390px){.banner h1{font-size:var(--font-size-base)}}@media screen and (max-width:375px){.banner h1{font-size:var(--font-size-sm)}.main-nav a{font-size:var(--font-size-xs);padding:4px 8px}}.board-item-author,.board-item-date,.comment-meta,.post-meta,.text-gray-500,.timestamp{color:var(--text-gray-500)}.disabled-text,.placeholder-text,.text-gray-400{color:var(--text-gray-400)}.form-label,label{color:var(--text-gray-600);font-weight:500}.btn:disabled,button:disabled{opacity:.7}a{color:var(--link-color);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--link-hover)}a:visited{color:var(--link-visited)}:focus-visible{outline:3px solid var(--taegeuk-blue);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--taegeuk-blue);outline-offset:2px}.error-message,.validation-error{color:var(--taegeuk-red);font-weight:500}.success-message{color:#059669;font-weight:500}.warning-message{color:#d97706;font-weight:500}input::placeholder,textarea::placeholder{color:var(--text-gray-400);opacity:1}th{background-color:var(--gray-50);color:var(--text-gray-600);font-weight:600}.badge,.chip,.tag{font-weight:500;min-height:24px;padding:4px 8px}.pagination a,.pagination button{align-items:center;display:inline-flex;justify-content:center;min-height:44px;min-width:44px}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}@media (prefers-contrast:high){*{border-width:2px!important}a,button,input,select,textarea{border:2px solid!important}}.dynamic-banner{animation:slideDown .3s ease-out;background:#fff;border-bottom:1px solid #0000000f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:40px;position:relative;transition:all .3s ease;width:100%}.banner-inner{box-sizing:border-box;height:40px;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:0 20px;width:100%}.banner-content,.banner-inner{align-items:center;display:flex}.banner-content{flex:1 1;gap:12px}.banner-icon{flex-shrink:0;font-size:18px}.banner-message{color:#111827;letter-spacing:-.01em;line-height:1.4}.banner-link,.banner-message{font-size:14px;font-weight:500}.banner-link{border-radius:4px;color:#0047a0;margin-left:8px;padding:4px 12px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.banner-link:hover{background:#0047a014;color:#003a87}.banner-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;margin:-8px -8px -8px 0;opacity:.7;padding:8px;transition:all .2s ease}.banner-close:hover{color:#374151;opacity:1}.banner-info{background:linear-gradient(90deg,#f0f9ff 0,#fff)}.banner-info .banner-icon{color:#0047a0}.banner-warning{background:linear-gradient(90deg,#fffbeb 0,#fff)}.banner-warning .banner-icon{color:#f59e0b}.banner-warning .banner-message{color:#92400e}.banner-success{background:linear-gradient(90deg,#f0fdf4 0,#fff)}.banner-success .banner-icon{color:#10b981}.banner-success .banner-message{color:#065f46}.banner-event{background:linear-gradient(90deg,#fef3f2 0,#fff)}.banner-event .banner-icon{color:#cd2e3a}.banner-event .banner-message{color:#991b1b}.banner-event .banner-link{color:#cd2e3a}.banner-event .banner-link:hover{background:#cd2e3a14;color:#b91c1c}.banner-exit{animation:slideUp .3s ease-out forwards;opacity:0}@media (max-width:768px){.banner-inner{padding:0 16px}.banner-content{gap:10px}.banner-icon{font-size:16px}.banner-link,.banner-message{font-size:13px}.banner-link{margin-left:4px;padding:3px 10px}.banner-close{font-size:22px;margin:-6px -6px -6px 0;padding:6px}}@media (max-width:480px){.banner-message{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-link{display:none}}@media (prefers-color-scheme:dark){.dynamic-banner{background:#1f2937;border-bottom-color:#ffffff14}.banner-message{color:#f3f4f6}.banner-link{color:#60a5fa}.banner-link:hover{background:#60a5fa26;color:#93bbfc}.banner-close{color:#9ca3af}.banner-close:hover{color:#e5e7eb}.banner-info{background:linear-gradient(90deg,#0047a01a 0,#1f2937)}.banner-info .banner-icon{color:#60a5fa}.banner-warning{background:linear-gradient(90deg,#f59e0b1a 0,#1f2937)}.banner-warning .banner-message{color:#fbbf24}.banner-success{background:linear-gradient(90deg,#10b9811a 0,#1f2937)}.banner-success .banner-message{color:#34d399}.banner-event{background:linear-gradient(90deg,#cd2e3a1a 0,#1f2937)}.banner-event .banner-link,.banner-event .banner-message{color:#f87171}}.banner-close:focus-visible,.banner-link:focus-visible{border-radius:4px;outline:2px solid #0047a0;outline-offset:2px}.mini-logo{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:700;left:20px;letter-spacing:-.03em;padding:8px 12px;position:fixed;top:20px;transition:all .2s ease;z-index:1000}.mini-logo:hover{box-shadow:0 4px 12px #0000001f;transform:scale(1.05)}.mini-logo:active{transform:scale(.98)}.fab-container{align-items:flex-end;bottom:24px;gap:12px;position:fixed;right:24px;z-index:1000}.fab-container,.fab-menu{display:flex;flex-direction:column}.fab-menu{gap:8px;opacity:0;transform:translateY(10px);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden}.fab-container.open .fab-menu{opacity:1;transform:translateY(0);visibility:visible}.fab-menu-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:24px;box-shadow:0 2px 8px #0000001a;color:#374151;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;font-weight:500;gap:10px;opacity:0;padding:10px 20px;transform:scale(.8);transition:all .2s ease;white-space:nowrap}.fab-container.open .fab-menu-item{opacity:1;transform:scale(1)}.fab-container.open .fab-menu-item:first-child{transition-delay:.05s}.fab-container.open .fab-menu-item:nth-child(2){transition-delay:.1s}.fab-menu-item:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateX(-4px)}.fab-menu-item:active{transform:translateX(-2px) scale(.98)}.fab-menu-item.accent{background:#0047a0;color:#fff}.fab-menu-item.accent:hover{background:#003a87}.fab-icon{font-size:18px;text-align:center;width:20px}.fab-label{font-size:14px;letter-spacing:-.01em}.fab-main{background:#0047a0;box-shadow:0 4px 12px #0047a04d;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1)}.fab-main:hover{box-shadow:0 6px 20px #0047a066}.fab-container.open .fab-main{background:#cd2e3a;transform:rotate(90deg)}.fab-container.open .fab-main:hover{transform:rotate(90deg) scale(1.1)}.fab-main-icon{line-height:1;transition:all .3s ease}.fab-main:focus-visible,.fab-menu-item:focus-visible,.mini-logo:focus-visible{outline:2px solid #0047a0;outline-offset:3px}@media (max-width:768px){.mini-logo{font-size:16px;left:16px;padding:6px 10px;top:16px}.fab-container{bottom:20px;right:20px}.fab-main{font-size:22px;height:52px;width:52px}.fab-menu-item{font-size:14px;padding:8px 16px}.fab-icon{font-size:16px}}@media (prefers-color-scheme:dark){.mini-logo{background:#000000e6;box-shadow:0 2px 8px #ffffff1a;color:#fff}.mini-logo:hover{box-shadow:0 4px 12px #ffffff26}.fab-menu-item{background:#000000e6;box-shadow:0 2px 8px #ffffff1a;color:#e5e7eb}.fab-menu-item:hover{background:#0a0a0af2;box-shadow:0 4px 12px #ffffff26}.fab-menu-item.accent{background:#06c}.fab-menu-item.accent:hover{background:#0052a3}.fab-main{background:#06c;box-shadow:0 4px 12px #06c6}.fab-container.open .fab-main{background:#dc2626}.fab-main:focus-visible,.fab-menu-item:focus-visible,.mini-logo:focus-visible{outline-color:#60a5fa}}.auth-float-buttons,.fab-container,.mini-logo{animation:fadeIn .3s ease-out}.auth-float-buttons{display:flex;gap:12px;position:fixed;right:20px;top:20px;z-index:1000}.auth-float-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:20px;box-shadow:0 2px 8px #00000014;color:#6b7280;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;letter-spacing:-.01em;padding:8px 20px;transition:all .2s ease}.auth-float-btn:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.auth-float-btn.login{color:#374151}.auth-float-btn.login:hover{background:#fff;color:#111827}.auth-float-btn.signup{background:#0047a0;color:#fff}.auth-float-btn.signup:hover{background:#003a87}.user-menu-float{animation:fadeIn .3s ease-out;position:fixed;right:20px;top:20px;z-index:1000}.user-menu-trigger-float{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;position:relative;transition:all .2s ease;width:48px}.user-menu-trigger-float:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.user-menu-trigger-float:active{transform:scale(.98)}.user-avatar-float{align-items:center;background:#0047a0;border-radius:50%;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:600;height:100%;justify-content:center;text-transform:uppercase;width:100%}.notification-dot-float{background:#cd2e3a;border:2px solid #fff;border-radius:50%;height:10px;position:absolute;right:0;top:0;width:10px}.user-dropdown-float{animation:slideDown .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;min-width:220px;position:absolute;right:0;top:calc(100% + 8px);z-index:1001}.user-name{color:#111827;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.message-count{background:none;border:none;color:#0047a0;cursor:pointer;display:block;font-size:13px;margin-top:4px;padding:0;text-decoration:underline;transition:all .2s ease}.message-count:hover{color:#003a87;transform:translateX(2px)}.dropdown-item{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-float-btn:focus-visible,.dropdown-item:focus-visible,.user-menu-trigger-float:focus-visible{outline:2px solid #0047a0;outline-offset:2px}@media (max-width:768px){.auth-float-buttons{gap:10px;right:16px;top:16px}.auth-float-btn{font-size:13px;padding:7px 16px}.user-menu-float{right:16px;top:16px}.user-menu-trigger-float{height:44px;width:44px}.user-avatar-float{font-size:15px}}@media (prefers-color-scheme:dark){.auth-float-btn{background:#000000e6;box-shadow:0 2px 8px #ffffff1a;color:#e5e7eb}.auth-float-btn:hover{box-shadow:0 4px 12px #ffffff26}.auth-float-btn.login:hover{background:#0a0a0af2;color:#fff}.auth-float-btn.signup{background:#06c}.auth-float-btn.signup:hover{background:#0052a3}.user-menu-trigger-float{background:#000000e6;box-shadow:0 2px 8px #ffffff1a}.user-menu-trigger-float:hover{box-shadow:0 4px 12px #ffffff26}.user-avatar-float{background:#06c}.user-dropdown-float{background:#1f2937;box-shadow:0 4px 24px #00000080}.user-name{color:#f3f4f6}.dropdown-divider{background:#374151}.dropdown-item{color:#e5e7eb}.dropdown-item:hover{background:#111827;color:#fff}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#ef44441a;color:#f87171}.auth-float-btn:focus-visible,.dropdown-item:focus-visible,.user-menu-trigger-float:focus-visible{outline-color:#60a5fa}}.responsive-header{background:#fff;box-shadow:0 2px 8px #00000014;font-family:var(--font-family);height:64px;left:0;position:fixed;right:0;top:0;z-index:1000}.header-container{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:0 var(--content-padding);width:100%}.header-logo{cursor:pointer;transition:transform .2s ease}.header-logo:hover{transform:scale(1.05)}.logo-text{font-size:20px;font-weight:700;letter-spacing:-.02em}.logo-li{color:#cd2e3a}.logo-korea{color:#0047a0;margin-left:8px}.header-nav{align-items:center;display:flex;gap:24px}.nav-item{background:none;border:none;border-radius:8px;color:#4b5563;cursor:pointer;font-size:15px;font-weight:500;padding:8px 16px;position:relative;transition:all .2s ease}.nav-item:hover{background:#f3f4f6;color:#111827}.nav-item.active{color:#0047a0;font-weight:600}.nav-item.active:after{background:#0047a0;border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:24px}.nav-item.primary{background:#0047a0;color:#fff;padding:8px 20px}.nav-item.primary:hover{background:#003a87;color:#fff}.header-user{position:relative}.auth-buttons{display:flex;gap:12px}.auth-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s ease}.auth-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.auth-btn.signup{background:#0047a0;border-color:#0047a0;color:#fff}.auth-btn.signup:hover{background:#003a87;border-color:#003a87}.user-menu-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:24px;display:flex;gap:12px;padding:6px 16px 6px 6px}.user-menu-trigger:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.user-avatar{align-items:center;background:#0047a0;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{color:#374151;font-size:14px;font-weight:500}.notification-badge{background:#cd2e3a;border-radius:10px;color:#fff;font-size:11px;font-weight:600;min-width:18px;padding:2px 6px;position:absolute;right:-4px;text-align:center;top:-4px}.user-dropdown{animation:slideDown .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001f;min-width:240px;position:absolute;right:0;top:calc(100% + 8px);z-index:1001}.dropdown-header{padding:16px}.dropdown-user-name{color:#111827;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.message-link{background:none;border:none;color:#0047a0;cursor:pointer;font-size:13px;padding:0;text-decoration:underline;transition:color .2s ease}.message-link:hover{color:#003a87}.dropdown-divider{background:#e5e7eb;height:1px;margin:0}.dropdown-item{background:none;border:none;color:#374151;cursor:pointer;font-size:14px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#f3f4f6;color:#111827}.dropdown-item.danger{color:#dc2626}.dropdown-item.danger:hover{background:#fee2e2;color:#b91c1c}.menu-backdrop{animation:fadeIn .2s ease-out;background:#0000001a;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:1024px){.header-container{padding:0 20px}.logo-text{font-size:18px}.header-nav{gap:16px}}.auth-btn:focus-visible,.dropdown-item:focus-visible,.nav-item:focus-visible,.user-menu-trigger:focus-visible{outline:2px solid #0047a0;outline-offset:2px}@media (prefers-color-scheme:dark){.responsive-header{background:#1f2937;box-shadow:0 2px 8px #0000004d}.nav-item{color:#d1d5db}.nav-item:hover{background:#374151;color:#fff}.nav-item.active{color:#60a5fa}.nav-item.active:after{background:#60a5fa}.nav-item.primary{background:#06c}.nav-item.primary:hover{background:#0052a3}.auth-btn{background:#1f2937;border-color:#374151;color:#e5e7eb}.auth-btn:hover{background:#111827;border-color:#4b5563;color:#fff}.auth-btn.signup{background:#06c;border-color:#06c}.auth-btn.signup:hover{background:#0052a3;border-color:#0052a3}.user-menu-trigger{background:#1f2937;border-color:#374151}.user-menu-trigger:hover{background:#111827;border-color:#4b5563}.user-avatar{background:#06c}.user-name{color:#e5e7eb}.user-dropdown{background:#1f2937;box-shadow:0 4px 24px #00000080}.dropdown-user-name{color:#f3f4f6}.dropdown-divider{background:#374151}.dropdown-item{color:#e5e7eb}.dropdown-item:hover{background:#111827;color:#fff}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#ef44441a;color:#f87171}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.landing-page{min-height:100vh;width:100%}.hero-section{background:linear-gradient(135deg,var(--color-primary) 0,#1a5490 100%);color:#fff;overflow:hidden;padding:80px 20px;position:relative;text-align:center}.hero-section:before{background:#ffffff08;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-content{margin:0 auto;max-width:800px;position:relative;z-index:1}.hero-title{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.hero-subtitle{display:block;font-size:1.25rem;font-weight:400;margin-top:.5rem;opacity:.85}.hero-description{font-size:1.125rem;line-height:1.6;margin-bottom:2rem;opacity:.95}.hero-actions{display:flex;gap:1rem;justify-content:center}.btn{border-radius:8px;font-size:1rem;min-height:48px;transition:all .2s ease}.btn-primary{background:#fff;box-shadow:0 4px 6px #0000001a;color:var(--color-primary)}.btn-primary:hover{background:#f3f4f6;box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.container{box-sizing:border-box;margin:0 auto;max-width:var(--max-width);padding:0 var(--content-padding);width:100%}.section-title{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin:0}.regions-section{background:var(--color-background);border-bottom:1px solid var(--color-border);padding:48px 0}.regions-header{align-items:center;display:flex;gap:12px;margin-bottom:24px}.regions-badge{background:var(--color-primary-light);border-radius:12px;color:var(--color-primary);font-size:.75rem;font-weight:500;padding:4px 10px;white-space:nowrap}.regions-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,1fr)}.region-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;color:inherit;display:flex;flex-direction:column;padding:20px 16px;text-align:center;text-decoration:none;transition:all .2s ease}.region-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #0047a01a;transform:translateY(-2px)}.region-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.region-exit{color:var(--color-primary);font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.region-name{color:var(--color-text-primary);font-size:.9375rem;font-weight:600;line-height:1.3;margin:0 0 6px}.region-desc{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4;margin:0}.activity-section{background:var(--gray-50);padding:48px 0 64px}.recent-posts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.view-all-link{color:var(--color-primary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.view-all-link:hover{color:var(--color-primary-hover);text-decoration:underline}.post-list{background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;list-style:none;margin:0;overflow:hidden;padding:0}.post-item{border-bottom:1px solid var(--color-border)}.post-item:last-child{border-bottom:none}.post-item-link{align-items:center;color:inherit;display:flex;gap:10px;padding:14px 16px;text-decoration:none;transition:background .15s}.post-badge,.post-item-link:hover{background:var(--gray-50)}.post-badge{align-items:center;border:1px solid var(--gray-200);border-radius:10px;display:inline-flex;flex-shrink:0;font-size:.6875rem;font-weight:500;gap:4px;padding:2px 8px;white-space:nowrap}.post-badge:before{background-color:currentColor;border-radius:50%;content:"";height:5px;opacity:.6;width:5px}.post-title{font-size:.9375rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-time{color:var(--color-text-tertiary);flex-shrink:0;font-size:.8125rem;white-space:nowrap}.no-posts{background:var(--color-background);color:var(--color-text-tertiary);padding:40px 16px;text-align:center}.no-posts,.posts-loading{border:1px solid var(--color-border);border-radius:10px}.posts-loading{background:var(--color-border);display:flex;flex-direction:column;gap:1px;overflow:hidden}.post-skeleton{background:var(--color-background);height:50px;overflow:hidden;position:relative}.post-skeleton:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000 0,var(--gray-100) 50%,#0000 100%);content:"";inset:0;position:absolute}.hero-content{animation:fadeInUp .5s ease-out}.region-card{animation:fadeInUp .4s ease-out both}.region-card:first-child{animation-delay:.05s}.region-card:nth-child(2){animation-delay:.1s}.region-card:nth-child(3){animation-delay:.15s}.region-card:nth-child(4){animation-delay:.2s}.region-card:nth-child(5){animation-delay:.25s}.region-card:nth-child(6){animation-delay:.3s}@media (max-width:1024px){.regions-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.hero-section{padding:56px 16px}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:.875rem}.hero-description{font-size:.9375rem;margin-bottom:1.5rem}.btn{font-size:.9375rem;padding:14px 20px}.regions-section{padding:32px 0}.regions-header{flex-wrap:wrap;gap:8px;margin-bottom:16px}.section-title{font-size:1.25rem}.regions-row{gap:8px;grid-template-columns:repeat(2,1fr)}.region-card{padding:14px 12px}.region-exit{font-size:1.125rem;margin-bottom:4px}.region-name{font-size:.8125rem}.region-desc{font-size:.75rem}.activity-section{padding:32px 0 48px}.post-item-link{padding:12px 14px}.post-badge{font-size:.625rem;padding:2px 6px}.post-title{font-size:.875rem}.post-time{font-size:.75rem}}@media (max-width:480px){.hero-title{font-size:1.5rem}.hero-subtitle{font-size:.8125rem}}@media (hover:none) and (pointer:coarse){.btn{min-height:44px}.region-card{-webkit-tap-highlight-color:rgba(0,0,0,.05)}.post-item-link{min-height:44px}}.landing-page :focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.landing-page a:focus-visible{text-decoration:underline}@media (prefers-color-scheme:dark){.hero-section{background:linear-gradient(135deg,#0c2d54,#0047a0)}.btn-primary{background:#ffffff26;color:#e5e7eb}.btn-primary:hover{background:#ffffff40}.region-card{background:#1e1e21;border-color:#3f3f46}.region-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #0047a033}.region-name{color:#e4e4e7}.region-desc{color:#a1a1aa}.post-list{background:#1e1e21}.post-item,.post-list{border-color:#3f3f46}.post-item-link:hover{background:#27272a}.post-title{color:#e4e4e7}.no-posts{background:#1e1e21;border-color:#3f3f46}.posts-loading{background:#3f3f46;border-color:#3f3f46}.post-skeleton{background:#1e1e21}.activity-section{background:#27272a}.regions-section{background:#1e1e21;border-color:#3f3f46}}.signup-container{align-items:center;background:linear-gradient(135deg,var(--primary-bg) 0,var(--gray-light) 100%);display:flex;height:100vh;justify-content:center}.signup-box{background-color:var(--white);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #0000001a;font-family:var(--font-family);margin:0 auto;padding:40px;text-align:center;width:400px}.signup-box h2{color:var(--accent-red);font-size:var(--font-size-xl);font-weight:700;letter-spacing:.02em;margin-bottom:30px}.signup-button{background:linear-gradient(135deg,var(--accent-red) 0,var(--accent-red-dark) 100%);border:none;border-radius:var(--btn-radius);box-shadow:0 1px 3px #ef44444d;color:var(--white);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.signup-button:hover{background:linear-gradient(135deg,var(--accent-red-dark) 0,#b91c1c 100%);box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.signup-button:focus{box-shadow:0 0 0 4px #ef44441a;outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.signup-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.login-link{color:var(--secondary-text);font-size:var(--font-size-sm);margin-top:20px}.login-link a{color:var(--primary-blue);font-weight:600;text-decoration:none}.login-link a:hover{text-decoration:underline}@media (max-width:480px){.signup-box{padding:30px 20px;width:90%}.signup-box h2{font-size:var(--font-size-lg)}.form-group input{font-size:var(--font-size-base)}}:root{--taegeuk-red:#cd2e3a;--taegeuk-red-hover:#ba1b1f;--taegeuk-red-active:#a61b25;--taegeuk-red-light:#fef2f2;--taegeuk-red-10:#cd2e3a1a;--taegeuk-blue:#0047a0;--taegeuk-blue-hover:#003a87;--taegeuk-blue-active:#002d6e;--taegeuk-blue-light:#eff6ff;--taegeuk-blue-10:#0047a01a;--taegeuk-black:#000;--taegeuk-white:#fff;--color-primary:var(--taegeuk-blue);--color-primary-hover:var(--taegeuk-blue-hover);--color-primary-active:var(--taegeuk-blue-active);--color-primary-light:var(--taegeuk-blue-light);--color-background:#fff;--color-surface:#f4f4f4;--color-surface-hover:#e8e8e8;--color-border:#e0e0e0;--color-border-strong:#8d8d8d;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-tertiary:#8d8d8d;--color-text-inverse:#fff;--color-text-disabled:#c6c6c6;--color-success:#16a34a;--color-success-hover:#15803d;--color-warning:#ea580c;--color-warning-hover:#c2410c;--color-danger:var(--taegeuk-red);--color-danger-hover:var(--taegeuk-red-hover);--color-danger-light:var(--taegeuk-red-light);--color-info:var(--taegeuk-blue);--color-accent:#8b5cf6;--color-accent-hover:#7c3aed;--color-accent-light:#ede9fe;--color-accent-dark:#6d28d9;--gray-50:#fafafa;--gray-100:#f4f4f5;--gray-200:#e4e4e7;--gray-300:#d4d4d8;--gray-400:#a1a1aa;--gray-500:#71717a;--gray-600:#52525b;--gray-700:#3f3f46;--gray-800:#27272a;--gray-900:#18181b;--cat-생활정보:#3b82f6;--cat-부동산:#10b981;--cat-취업:#f59e0b;--cat-커뮤니티:#8b5cf6;--cat-중고거래:#ef4444;--cat-사고팔고:#f97316;--cat-모임:#06b6d4;--cat-공지:#dc2626;--cat-기타:#6b7280;--max-width:min(90vw,1600px);--content-padding:clamp(16px,3vw,40px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--spacing-xs:var(--space-1);--spacing-sm:var(--space-2);--spacing-md:var(--space-3);--spacing-lg:var(--space-4);--spacing-xl:var(--space-6);--spacing-2xl:var(--space-8);--spacing-3xl:var(--space-12);--font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif;--font-body:var(--font-family);--font-mono:"SF Mono","Fira Code","Consolas",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-compact:1.4;--line-height-normal:1.5;--line-height-relaxed:1.6;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 4px #00000014;--shadow-lg:0 4px 8px #0000001f;--shadow-xl:0 8px 16px #00000029;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-popover:400;--z-tooltip:500;--primary:var(--taegeuk-blue);--primary-hover:var(--taegeuk-blue-hover);--primary-light:var(--taegeuk-blue-light);--primary-dark:var(--taegeuk-blue-active);--primary-bg:var(--color-background);--secondary-bg:var(--gray-900);--primary-text:var(--color-text-primary);--secondary-text:var(--color-text-secondary);--primary-blue:var(--taegeuk-blue);--primary-blue-dark:var(--taegeuk-blue-hover);--primary-blue-light:var(--taegeuk-blue-light);--secondary-green:var(--color-success);--secondary-green-dark:#15803d;--secondary-green-light:#86efac;--accent-red:var(--taegeuk-red);--accent-red-dark:var(--taegeuk-red-hover);--accent-blue:var(--taegeuk-blue);--accent-blue-dark:var(--taegeuk-blue-hover);--success:var(--color-success);--warning:var(--color-warning);--error:var(--taegeuk-red);--info:var(--taegeuk-blue);--gray-light:var(--gray-100);--gray-medium:var(--gray-500);--gray-dark:var(--gray-700);--border-color:var(--gray-200);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--white:var(--color-background);--focus-outline:2px solid var(--taegeuk-blue);--focus-outline-offset:2px;--btn-radius:6px;--text-gray-500:#4b5563;--text-gray-400:#6b7280;--text-gray-600:#374151;--link-color:var(--taegeuk-blue);--link-hover:var(--taegeuk-blue-hover);--link-visited:#4c1d95}body{background-color:#fff;background-color:var(--color-background);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,sans-serif;font-family:var(--font-family);font-size:.875rem;font-weight:400;line-height:1.5}body,h1,h2,h3,h4,h5,h6{color:#161616;color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{margin-top:0}h1{font-size:1.875rem;letter-spacing:-.025em;line-height:1.2}h1,h2{font-weight:700}h2{font-size:1.5rem;letter-spacing:-.02em;line-height:1.25}h3{font-size:1.25rem;line-height:1.3}h3,h4{font-weight:600}h4{font-size:1.125rem;line-height:1.35}h5{font-size:1rem}h5,h6{font-weight:600;line-height:1.4}h6{color:#525252;color:var(--color-text-secondary)}.btn,h6{font-size:.875rem}.btn{border:1px solid #0000;border-radius:var(--radius-md);box-sizing:border-box;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,sans-serif;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:8px;gap:var(--spacing-sm);line-height:1.4;line-height:var(--line-height-compact);min-height:44px;padding:12px 24px;padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-fast);white-space:nowrap}.btn:focus-visible{outline:2px solid #0047a0;outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#0047a0;background-color:var(--color-primary);border-color:#0047a0;border-color:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:#003a87;background-color:var(--color-primary-hover);border-color:#003a87;border-color:var(--color-primary-hover);box-shadow:0 2px 4px #00000014;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:#002d6e;background-color:var(--color-primary-active);border-color:#002d6e;border-color:var(--color-primary-active);transform:translateY(0)}.btn-secondary{background-color:initial;border-color:#0047a0;border-color:var(--color-primary);color:#0047a0;color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:#0047a0;background-color:var(--color-primary);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#fff;color:var(--color-text-inverse);transform:translateY(-1px)}.btn-tertiary{background-color:initial;border-color:#0000;color:#0047a0;color:var(--color-primary)}.btn-tertiary:hover:not(:disabled){background-color:#f4f4f4;background-color:var(--color-surface);transform:translateY(-1px)}.btn-ghost{background-color:initial;border-color:#0000;color:#161616;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:#f4f4f4;background-color:var(--color-surface);transform:translateY(-1px)}.btn-danger{background-color:#cd2e3a;background-color:var(--color-danger);border-color:#cd2e3a;border-color:var(--color-danger);color:#fff;color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:#ba1b1f;background-color:var(--color-danger-hover);border-color:#ba1b1f;border-color:var(--color-danger-hover);box-shadow:0 2px 4px #00000014;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger-tertiary{background-color:initial;border-color:#0000;color:#cd2e3a;color:var(--color-danger)}.btn-danger-tertiary:hover:not(:disabled){background-color:#cd2e3a;background-color:var(--color-danger);color:#fff;color:var(--color-text-inverse);transform:translateY(-1px)}.btn-sm{font-size:.75rem;font-size:var(--font-size-xs);min-height:36px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg)}.btn-lg{font-size:1rem;font-size:var(--font-size-base);min-height:48px;padding:16px 32px;padding:var(--spacing-lg) var(--spacing-2xl)}.btn-icon-only{min-width:44px;padding:12px;padding:var(--spacing-md)}.btn-icon-only.btn-sm{min-height:36px;min-width:36px;padding:8px;padding:var(--spacing-sm)}.btn-group{display:inline-flex;gap:8px;gap:var(--spacing-sm)}.btn-group-vertical{flex-direction:column}@media (max-width:768px){.btn{min-height:40px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg)}.btn-sm{min-height:32px;padding:4px 12px;padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{min-height:44px;padding:12px 24px;padding:var(--spacing-md) var(--spacing-xl)}}.tag{border-radius:4px;font-size:.75rem;font-weight:500;line-height:1;padding:4px 8px;transition:all .15s ease}.tag-blue{background-color:#eff6ff;background-color:var(--taegeuk-blue-light);color:#0047a0;color:var(--taegeuk-blue)}.tag-gray{background-color:#f4f4f4;background-color:var(--color-surface);color:#525252;color:var(--color-text-secondary)}.tag-green{background-color:#defbe6;color:#0e6027}.tag-taegeuk{background:linear-gradient(135deg,#eff6ff,#fef2f2);background:linear-gradient(135deg,var(--taegeuk-blue-light) 0,var(--taegeuk-red-light) 100%);border:1px solid #0047a0;border:1px solid var(--taegeuk-blue);color:#0047a0;color:var(--taegeuk-blue)}.tag-red{background-color:#fef2f2;background-color:var(--taegeuk-red-light);color:#cd2e3a;color:var(--taegeuk-red)}.tag-purple{background-color:#f6f2ff;color:#6929c4}.card{background-color:#fff;background-color:var(--color-background);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-lg);padding:24px;padding:var(--spacing-xl);transition:all .25s ease;transition:all var(--transition-normal)}.card:hover{box-shadow:0 4px 8px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.input,.textarea{background-color:#fff;background-color:var(--color-background);border:1px solid #e0e0e0;border:1px solid var(--color-border);border-radius:6px;border-radius:var(--radius-md);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,sans-serif;font-family:var(--font-family);font-size:.875rem;font-size:var(--font-size-sm);line-height:1.5;line-height:var(--line-height-normal);padding:12px 16px;padding:var(--spacing-md) var(--spacing-lg);transition:all .15s ease;transition:all var(--transition-fast);width:100%}.input:focus,.textarea:focus{border-color:#0047a0;border-color:var(--color-primary);box-shadow:0 0 0 2px #0047a01a;box-shadow:0 0 0 2px var(--taegeuk-blue-10);outline:none}.input:disabled,.textarea:disabled{background-color:#f4f4f4;background-color:var(--color-surface);color:#c6c6c6;color:var(--color-text-disabled);cursor:not-allowed}.text-primary{color:#161616;color:var(--color-text-primary)}.text-secondary{color:#525252;color:var(--color-text-secondary)}.text-tertiary{color:#8d8d8d;color:var(--color-text-tertiary)}.text-danger{color:#cd2e3a;color:var(--color-danger)}.text-success{color:#16a34a;color:var(--color-success)}.bg-surface{background-color:#f4f4f4;background-color:var(--color-surface)}.bg-white{background-color:#fff;background-color:var(--color-background)}.border{border:1px solid #e0e0e0;border:1px solid var(--color-border)}.border-strong{border:1px solid #8d8d8d;border:1px solid var(--color-border-strong)}.rounded-sm{border-radius:4px;border-radius:var(--radius-sm)}.rounded-md{border-radius:6px;border-radius:var(--radius-md)}.rounded-lg{border-radius:8px;border-radius:var(--radius-lg)}.shadow-sm{box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 2px 4px #00000014;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 4px 8px #0000001f;box-shadow:var(--shadow-lg)}@media (max-width:768px){:root{--max-width:min(96vw,1600px);--content-padding:clamp(8px,2vw,16px)}}@media (prefers-color-scheme:dark){:root{--color-background:#18181b;--color-surface:#27272a;--color-surface-hover:#3f3f46;--color-border:#3f3f46;--color-border-strong:#52525b;--color-text-primary:#f4f4f5;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--color-text-inverse:#18181b;--color-text-disabled:#52525b;--shadow-sm:0 1px 2px #0003;--shadow-md:0 2px 4px #0000004d;--shadow-lg:0 4px 8px #0006;--shadow-xl:0 8px 16px #00000080;--primary-bg:#1f2937;--secondary-bg:#111827;--gray-light:#374151;--gray-medium:#6b7280;--gray-dark:#9ca3af;--border-color:#4b5563;--white:#1f2937;--gray-50:#27272a;--gray-100:#3f3f46;--gray-200:#52525b;--gray-300:#71717a;--gray-400:#a1a1aa;--gray-500:#a1a1aa;--gray-600:#d4d4d8;--gray-700:#e4e4e7;--gray-800:#f4f4f5;--gray-900:#fafafa;--taegeuk-red-light:#cd2e3a26;--taegeuk-blue-light:#0047a033;--color-primary-light:#0047a033;--color-accent-light:#8b5cf626;--color-danger-light:#cd2e3a26;--text-gray-500:#9ca3af;--text-gray-400:#d1d5db;--text-gray-600:#e5e7eb}body{color-scheme:dark}}.btn-full-width{width:100%}.btn-loading{color:#0000;position:relative}.btn-loading-spinner{color:var(--color-text-inverse);font-size:var(--font-size-sm);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.btn-icon{justify-content:center}.btn-icon,.btn-text{align-items:center;display:inline-flex}.common-input-wrapper{display:flex;flex-direction:column;gap:4px;width:100%}.common-input{background-color:var(--color-background);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;font-family:inherit;font-size:inherit;line-height:1.5;transition:all .15s ease;width:100%}.common-input:focus{border-color:#2563eb;border-color:var(--primary,#2563eb);outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:2px}.common-input--small{font-size:12px;min-height:32px;padding:6px 10px}.common-input--medium{font-size:14px;min-height:36px;padding:8px 12px}.common-input--large{font-size:15px;min-height:44px;padding:10px 14px}.common-input--default{border-color:#e4e4e7;border-color:var(--gray-200,#e4e4e7)}.common-input--default:hover{border-color:#d4d4d8;border-color:var(--gray-300,#d4d4d8)}.common-input--success,.common-input--success:focus{border-color:#16a34a;border-color:var(--success,#16a34a)}.common-input--success:focus{outline-color:#16a34a;outline-color:var(--success,#16a34a)}.common-input--error,.common-input--error:focus{border-color:#dc2626;border-color:var(--error,#dc2626)}.common-input--error:focus{outline-color:#dc2626;outline-color:var(--error,#dc2626)}.common-input--disabled{background-color:#fafafa;background-color:var(--gray-50,#fafafa);color:#71717a;color:var(--gray-500,#71717a);cursor:not-allowed;opacity:.6}.common-input--disabled:hover{border-color:#e4e4e7;border-color:var(--gray-200,#e4e4e7)}.common-input--readonly{background-color:#fafafa;background-color:var(--gray-50,#fafafa);color:#3f3f46;color:var(--gray-700,#3f3f46)}.common-input__label{color:#3f3f46;color:var(--gray-700,#3f3f46);font-size:13px;font-weight:500;margin-bottom:4px}.common-input__error{color:#dc2626;color:var(--error,#dc2626);font-size:12px;margin-top:4px}.common-input__helper{color:#71717a;color:var(--gray-500,#71717a);font-size:12px;margin-top:4px}.common-input::placeholder{color:#a1a1aa;color:var(--gray-400,#a1a1aa);opacity:1}.common-input:-webkit-autofill,.common-input:-webkit-autofill:focus,.common-input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 1000px #fff;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}@media (max-width:768px){.common-input--small{font-size:16px;min-height:44px;padding:10px 12px}.common-input--medium{font-size:16px;min-height:48px;padding:12px 16px}.common-input--large{font-size:18px;min-height:52px;padding:14px 18px}.common-input__label{font-size:16px}.common-input__error,.common-input__helper{font-size:14px}}@media (hover:none) and (pointer:coarse){.common-input{font-size:16px}}.input-group{margin-bottom:15px}.input-label{color:#3f3f46;color:var(--gray-700,#3f3f46);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.input-label .required{color:#dc2626;color:var(--error,#dc2626);margin-left:2px}.input-field{border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;font-size:14px;padding:8px 12px;transition:all .15s ease;width:100%}.input-field:focus{border-color:#2563eb;border-color:var(--primary,#2563eb);outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:2px}.input-field.error{border-color:#dc2626;border-color:var(--error,#dc2626)}.input-field.disabled{background-color:#fafafa;background-color:var(--gray-50,#fafafa);cursor:not-allowed;opacity:.6}.input-error{color:#dc2626;color:var(--error,#dc2626);display:block;font-size:12px;margin-top:4px}.textarea-field{font-family:inherit;line-height:1.5;min-height:100px;resize:vertical}body,html{background-color:var(--primary-bg);color:var(--primary-text);font-family:var(--font-family);height:100%;margin:0}.login-container{align-items:center;background:linear-gradient(135deg,var(--primary-bg) 0,var(--gray-light) 100%);display:flex;height:100vh;justify-content:center}.login-box{background-color:var(--white);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #0000001a;font-family:var(--font-family);margin:0 auto;padding:40px;text-align:center;width:400px}.login-box h2{color:var(--primary-blue);font-size:var(--font-size-xl);font-weight:700;letter-spacing:.02em;margin-bottom:30px}.form-group{margin-bottom:20px;text-align:left;width:100%}.form-group label{font-weight:600;margin-bottom:8px}.form-group input,.form-group label{color:var(--primary-text);display:block;font-size:var(--font-size-base)}.form-group input{background-color:var(--white);border:2px solid var(--border-color);border-radius:var(--btn-radius);box-sizing:border-box;font-family:var(--font-family);padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a;outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.form-group input::placeholder{color:var(--gray-400)}.login-button{background:linear-gradient(135deg,var(--primary-blue) 0,var(--primary-blue-dark) 100%);border:none;border-radius:var(--btn-radius);box-shadow:0 1px 3px #3b82f64d;color:var(--white);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;margin-top:10px;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-button:hover{background:linear-gradient(135deg,var(--primary-blue-dark) 0,#1d4ed8 100%);box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.login-button:focus{box-shadow:0 0 0 4px #3b82f61a;outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.login-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.message{border-radius:var(--btn-radius);font-size:var(--font-size-sm);margin-top:20px}.message.error{background-color:#ef44441a;border:1px solid #ef444433;color:var(--accent-red)}.message.success{background-color:#10b9811a;border:1px solid #10b98133;color:var(--secondary-green)}.signup-link{color:var(--secondary-text);font-size:var(--font-size-sm);margin-top:20px}.signup-link a{color:var(--primary-blue);font-weight:600;text-decoration:none}.signup-link a:hover{text-decoration:underline}@media (max-width:480px){.login-box{padding:30px 20px;width:90%}.login-box h2{font-size:var(--font-size-lg)}.form-group input{font-size:var(--font-size-base)}}.tag-filter{background:#0000;border:none;border-radius:0;box-shadow:none;font-family:var(--font-family);margin-bottom:20px;padding:0}.filter-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.filter-header h3{color:var(--color-text-primary);font-size:1.1rem;margin:0}.clear-filters-btn{align-items:center;align-self:flex-end;background-color:var(--taegeuk-red);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:600;height:32px;justify-content:center;margin-left:auto;padding:6px 14px;transition:all .15s ease;white-space:nowrap}.clear-filters-btn:hover{background-color:var(--taegeuk-red-hover);box-shadow:0 4px 12px #cd2e3a4d;transform:translateY(-1px)}.filter-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:120px}.filter-label{color:var(--color-text-tertiary);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.03em;margin-bottom:2px;text-transform:uppercase}.filter-input,.filter-select{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-family);font-size:13px;height:36px;min-width:120px;padding:6px 10px;transition:all .15s ease}.filter-input:focus,.filter-select:focus{border-color:var(--taegeuk-blue);box-shadow:0 0 0 2px var(--taegeuk-blue-10);outline:2px solid var(--taegeuk-blue);outline-offset:2px}.filter-input:hover,.filter-select:hover{border-color:var(--color-border-strong)}.active-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.active-filters-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.active-filters-label,.filter-tag{font-family:var(--font-family);font-weight:600}.filter-tag{align-items:center;background-color:var(--taegeuk-blue);border-radius:4px;color:#fff;display:inline-flex;font-size:.875rem;gap:5px;padding:4px 8px}.filter-tag:hover{background-color:var(--taegeuk-blue-hover);transform:translateY(-1px)}.remove-filter-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;line-height:1;margin-left:5px;padding:0;transition:opacity .3s ease}.remove-filter-btn:hover{opacity:.8}.remove-filter-btn:focus{outline:2px solid var(--color-text-inverse);outline-offset:1px}.tag-filter-loading{color:var(--text-secondary);font-style:italic;padding:20px;text-align:center}.tag-filter-error{background-color:#e74c3c1a;border:1px solid #e74c3c33;border-radius:6px;color:var(--danger-color);padding:20px;text-align:center}@media (max-width:768px){.tag-filter{background-color:var(--white);border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 2px 8px #0000000a,0 1px 2px #0000000f;box-sizing:border-box;margin-bottom:16px;margin-left:16px;margin-right:16px;padding:20px;width:calc(100% - 32px)}.filter-controls{align-items:flex-end;flex-direction:row;flex-wrap:wrap;gap:8px}.filter-group{flex:1 1;min-width:auto}.filter-group:first-child{flex:0 0 80px}.filter-group:nth-child(2),.filter-group:nth-child(3){flex:1 1}.filter-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;margin-bottom:4px}.filter-input,.filter-select{border-radius:6px;font-size:.8rem;height:32px;min-width:auto;padding:4px 8px;width:100%}.clear-filters-btn{align-self:flex-end;flex:0 0 auto;font-size:.875rem;height:32px;margin-left:8px;padding:6px 12px;white-space:nowrap}.active-filters{align-items:center;flex-direction:row;flex-wrap:wrap;gap:6px;margin-top:8px}.active-filters-label{color:var(--color-text-tertiary);font-size:.75rem;font-weight:600}.filter-tag{border-radius:4px;font-size:.7rem;padding:2px 6px}.remove-filter-btn{font-size:.8rem}}@media (max-width:480px){.tag-filter{margin-bottom:12px;margin-left:12px;margin-right:12px;padding:16px;width:calc(100% - 24px)}.filter-controls{gap:4px}.filter-group:first-child{flex:0 0 70px}.filter-label{font-size:.7rem}.filter-input,.filter-select{font-size:.75rem;height:28px;padding:3px 6px}.clear-filters-btn{font-size:.75rem;height:28px;margin-left:6px;padding:4px 10px}.active-filters{gap:3px;margin-top:6px}.active-filters-label{font-size:.7rem}.filter-tag{font-size:.65rem;padding:1px 4px}.remove-filter-btn{font-size:.75rem}}.user-menu-container{display:inline-block;position:relative}.user-menu-trigger{background:none;border:none;border-radius:4px;color:#333;cursor:pointer;font-family:inherit;font-size:inherit;padding:2px 6px;position:relative;text-decoration:none;transition:all .2s ease}.user-menu-trigger:hover{background:#f3f4f6;color:#2563eb;text-decoration:underline}.user-menu-trigger:focus{outline:2px solid #2563eb;outline-offset:1px}.user-menu-dropdown{animation:fadeIn .2s ease;background:#fff;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0003;isolation:isolate;left:50%;min-width:160px;padding:4px 0;pointer-events:auto;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);z-index:9999}.user-menu-dropdown.dropup{animation:fadeInUp .2s ease;bottom:calc(100% + 8px);top:auto}@media (max-width:768px){.user-menu-dropdown{left:0;transform:none}}.user-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px;text-align:left;transition:all .2s ease;width:100%}.user-menu-item:hover{background:#f3f4f6;color:#2563eb}.user-menu-item:focus{outline:2px solid #2563eb;outline-offset:-2px}.menu-icon{font-size:16px;text-align:center;width:20px}.menu-text{flex:1 1}@keyframes fadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-color-scheme:dark){.user-menu-trigger{color:#e5e7eb}.user-menu-trigger:hover{background:#ffffff1a;color:#60a5fa}.user-menu-dropdown{background:#1f2937;border-color:#374151}.user-menu-item{color:#e5e7eb}.user-menu-item:hover{background:#ffffff1a;color:#60a5fa}}@media (max-width:480px){.user-menu-trigger{font-size:13px;padding:4px 8px}.user-menu-dropdown{min-width:140px}.user-menu-item{font-size:13px;padding:8px 12px}.menu-icon{font-size:14px}}.board-table .user-menu-container{display:inline-block;vertical-align:middle}.board-table .user-menu-trigger{font-size:14px;padding:2px 6px}.user-menu-backdrop{animation:fadeInBackdrop .3s ease;bottom:0;cursor:default;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:9998}.user-menu-backdrop.mobile{background:#00000080}.user-menu-backdrop.desktop{background:#00000003}.user-menu-dropdown.mobile{animation:slideUp .3s ease;border-radius:16px 16px 0 0;bottom:0;left:0;max-height:70vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,20px);position:fixed;right:0;top:auto;transform:none}.bottom-sheet-header{border-bottom:1px solid #e5e7eb;padding:16px 16px 8px;text-align:center}.bottom-sheet-handle{background:#d1d5db;border-radius:2px;height:4px;margin:0 auto 12px;width:40px}.bottom-sheet-header h3{color:#1f2937;font-size:16px;font-weight:600;margin:0}.user-menu-dropdown.mobile .user-menu-item{border-bottom:1px solid #f3f4f6;font-size:16px;padding:16px 20px}.user-menu-dropdown.mobile .user-menu-item:last-child{border-bottom:none}.user-menu-item.cancel-item{color:#6b7280;font-weight:500;justify-content:center;margin-top:8px;text-align:center}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.board-list-container{box-sizing:border-box;font-family:var(--font-family);margin:0 auto;max-width:var(--max-width);padding:var(--content-padding) var(--content-padding) 0;width:100%}.page-header,.table-responsive{margin-bottom:20px}.table-responsive{overflow-x:auto}.btn{align-items:center;border:none;border-radius:6px;box-shadow:none;cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:14px;font-weight:500;gap:6px;justify-content:center;line-height:1.5;min-height:36px;padding:8px 16px;text-align:center;text-decoration:none;transition:all .15s ease}.btn-primary{background:var(--color-text-primary);color:var(--color-background)}.btn-primary:hover{background:var(--color-text-secondary);transform:scale(1.02)}.btn-primary:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.btn-secondary{background:#0000;border:1px solid var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-secondary:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.btn-danger{background:#0000;border:1px solid var(--error);color:var(--error)}.btn-danger:hover{background:var(--error);color:var(--white)}.btn-danger:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.btn-outline{background:#0000;border:1px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);color:var(--white)}.btn-outline:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.board-table{background-color:var(--white);border-collapse:collapse;font-family:var(--font-family);width:100%}.board-table thead{background-color:var(--gray-50);border-bottom:2px solid var(--gray-200)}.board-table th{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.05em;padding:var(--space-3) var(--space-3);text-align:center;text-transform:uppercase}.board-table td{color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--space-4) var(--space-3);transition:background-color .15s ease}.board-table tbody tr{cursor:pointer;transition:all .3s ease}.board-table tbody tr:hover{background-color:var(--gray-50)}.board-table tbody tr:focus-within{background-color:var(--gray-light);border-left:4px solid var(--accent-blue);outline:var(--focus-outline);outline-offset:-2px}.board-table tbody tr:last-child td{border-bottom:none}.board-table .post-number{border-radius:6px;color:var(--accent-blue);font-weight:600;min-width:60px;padding:4px 8px;text-align:center}.board-table tr[data-post-type=\C0DD\D65C\C815\BCF4]{border-left:3px solid var(--cat-생활정보)}.board-table tr[data-post-type=\C0DD\D65C\C815\BCF4] .post-number{color:var(--cat-생활정보)}.board-table tr[data-post-type=\BD80\B3D9\C0B0]{border-left:3px solid var(--cat-부동산)}.board-table tr[data-post-type=\BD80\B3D9\C0B0] .post-number{color:var(--cat-부동산)}.board-table tr[data-post-type=\CDE8\C5C5]{border-left:3px solid var(--cat-취업)}.board-table tr[data-post-type=\CDE8\C5C5] .post-number{color:var(--cat-취업)}.board-table tr[data-post-type=\CEE4\BBA4\B2C8\D2F0]{border-left:3px solid var(--cat-커뮤니티)}.board-table tr[data-post-type=\CEE4\BBA4\B2C8\D2F0] .post-number{color:var(--cat-커뮤니티)}.board-table tr[data-post-type=\C911\ACE0\AC70\B798]{border-left:3px solid var(--cat-중고거래)}.board-table tr[data-post-type=\C911\ACE0\AC70\B798] .post-number{color:var(--cat-중고거래)}.board-table tr[data-post-type=\C0AC\ACE0\D314\ACE0]{border-left:3px solid var(--cat-사고팔고)}.board-table tr[data-post-type=\C0AC\ACE0\D314\ACE0] .post-number{color:var(--cat-사고팔고)}.board-table tr[data-post-type=\BAA8\C784]{border-left:3px solid var(--cat-모임)}.board-table tr[data-post-type=\BAA8\C784] .post-number{color:var(--cat-모임)}.board-table tr[data-post-type=\ACF5\C9C0]{background-color:var(--taegeuk-red-light);border-left:3px solid var(--cat-공지);font-weight:600}.board-table tr[data-post-type=\ACF5\C9C0] .post-number{color:var(--cat-공지);font-weight:700}.board-table tr[data-post-type=\AE30\D0C0]{border-left:3px solid var(--cat-기타)}.board-table tr[data-post-type=\AE30\D0C0] .post-number{color:var(--cat-기타)}.board-table tr:hover .post-number{box-shadow:0 2px 4px #0000000d;transform:translateY(-1px);transition:all .2s ease}.type-badge{align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px;white-space:nowrap}.type-badge:before{background-color:currentColor;border-radius:50%;content:"";height:5px;opacity:.6;width:5px}.board-table .post-title{color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;transition:color .15s ease}.board-table tbody tr:hover .post-title{color:var(--primary-text)}.comment-count{margin-left:8px;vertical-align:middle}.comment-count,.mobile-comment-count{align-items:center;background:var(--taegeuk-blue-light);border-radius:10px;color:var(--cat-생활정보);display:inline-flex;padding:1px 6px}.mobile-comment-count{font-size:.75rem;font-weight:500;gap:2px;margin-left:6px}.mobile-comment-count:before{background:currentColor;content:"";display:inline-block;height:12px;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6l-4 3V3a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6l-4 3V3a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;opacity:.5;width:12px}.board-table .post-author{color:var(--color-text-secondary);font-size:13px;font-weight:500}.board-table .post-region{color:var(--color-text-secondary);font-size:13px;font-weight:400}.board-table .post-date,.board-table .post-views{color:var(--color-text-tertiary);font-size:13px;font-weight:400}.board-list-container .user-controls{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding:10px 0}.board-list-container .user-info{align-items:center;align-self:flex-start;color:var(--color-text-secondary);display:flex;font-family:var(--font-family);font-size:var(--font-size-sm);gap:20px}.board-list-container .user-info span{color:var(--color-text-secondary);cursor:pointer;font-weight:500}.board-list-container .user-info .admin-link{color:var(--taegeuk-blue);font-weight:600;text-decoration:none;transition:color .2s ease}.board-list-container .user-info .admin-link:hover{color:var(--taegeuk-blue-hover);text-decoration:underline}.board-list-container .user-info .logout-text{color:var(--taegeuk-red);cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s ease}.board-list-container .user-info .logout-text:hover{color:var(--taegeuk-red-hover);text-decoration:underline}.board-list-container .user-info .login-link{color:var(--taegeuk-blue);font-weight:500;text-decoration:none;transition:color .2s ease}.board-list-container .user-info .login-link:hover{color:var(--taegeuk-blue-hover);text-decoration:underline}.pagination-btn{background-color:var(--white);border:1px solid var(--border-color);border-radius:var(--btn-radius);color:var(--primary-text);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;min-width:40px;padding:10px 14px}.pagination-btn:hover:not(:disabled){background-color:var(--taegeuk-blue);border-color:var(--taegeuk-blue);color:var(--color-text-inverse);transform:translateY(-1px)}.pagination-btn:focus:not(:disabled){outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.pagination-btn.active{background-color:var(--taegeuk-blue);border-color:var(--taegeuk-blue)}.loading-container{align-items:center;color:var(--secondary-text);display:flex;flex-direction:column;font-size:var(--font-size-base);justify-content:center;padding:40px 20px}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-blue);height:40px;margin-bottom:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{background-color:#dc26261a;border:1px solid #dc262633;border-radius:12px;color:var(--accent-red);margin:20px 0;padding:40px 20px}.empty-state,.error-container{font-size:var(--font-size-base);text-align:center}.empty-state{color:var(--secondary-text);padding:60px 20px}.empty-state-icon{font-size:3rem;margin-bottom:15px;opacity:.5}.mobile-card-view{display:none;max-width:100%;width:100%}.mobile-card{background-color:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;color:inherit;cursor:pointer;display:block;margin-bottom:12px;margin-left:16px;margin-right:16px;overflow:hidden;padding:16px;position:relative;text-decoration:none;transition:all .2s ease;width:calc(100% - 32px)}.mobile-card[data-post-type=\ACF5\C9C0]{background-color:var(--taegeuk-red-light);border-left:4px solid var(--taegeuk-red)}.mobile-card:hover{border-color:var(--taegeuk-blue-light);box-shadow:0 8px 24px #00000014,0 4px 8px #0000000a;box-shadow:0 6px 20px #00000014,0 2px 8px #0000000a;transform:translateY(-3px);transform:translateY(-2px)}.mobile-card[data-post-type=\ACF5\C9C0]:hover{border-color:var(--taegeuk-red);box-shadow:0 6px 20px #cd2e3a1a,0 2px 8px #cd2e3a0d}.mobile-card:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.mobile-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;position:relative;width:100%}.mobile-card-left{align-items:center;display:flex;gap:8px}.mobile-card-category{align-items:center;background-color:var(--gray-50);border:1px solid #0000;border-color:var(--gray-200);border-radius:12px;color:var(--gray-600);display:inline-flex;font-size:.7rem;font-weight:500;gap:4px;letter-spacing:.02em;margin-right:8px;padding:3px 10px;text-transform:uppercase;transition:all .2s ease}.mobile-card-category:before{background-color:currentColor;border-radius:50%;content:"";height:5px;opacity:.6;width:5px}.mobile-card[data-post-type=\ACF5\C9C0] .mobile-card-category{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.mobile-card[data-post-type=\C0AC\ACE0\D314\ACE0] .mobile-card-category{background-color:#fff7ed;border:1px solid #fed7aa;color:#ea580c}.mobile-card[data-post-type=\BD80\B3D9\C0B0] .mobile-card-category{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.mobile-card[data-post-type=\C0DD\D65C\C815\BCF4] .mobile-card-category{background-color:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.mobile-card[data-post-type=\BAA8\C784] .mobile-card-category{background-color:#f5f3ff;border:1px solid #ddd6fe;color:#7c3aed}.mobile-card[data-post-type=\CDE8\C5C5] .mobile-card-category{background-color:#eef2ff;border:1px solid #c7d2fe;color:#4f46e5}.mobile-card[data-post-type=\AE30\D0C0] .mobile-card-category,.mobile-card[data-post-type=\C77C\BC18] .mobile-card-category{background-color:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}.mobile-card[data-post-type=\ACF5\C9C0] .mobile-card-category{animation:pulse 2s ease-in-out infinite;font-weight:600}.mobile-card:hover .mobile-card-category{box-shadow:0 2px 4px #0000000d;transform:translateY(-1px);transition:all .2s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.mobile-card-number{color:var(--gray-500);display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:-.01em;margin-left:0;min-width:auto;padding:2px 0;text-align:left}.mobile-card[data-post-type=\ACF5\C9C0] .mobile-card-number{color:var(--taegeuk-red);font-weight:700}.mobile-card-views{align-items:center;color:var(--gray-500);display:flex;font-size:.75rem;font-weight:400;gap:3px}.mobile-card-views:before{content:"조회";font-size:.7rem;margin-right:2px}.mobile-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--gray-900);display:-webkit-box;font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.5;margin-bottom:12px;overflow:hidden;padding:0;text-align:left;width:100%;word-break:keep-all}.mobile-card-footer{align-items:center;color:var(--gray-600);display:flex;font-size:.8rem;justify-content:space-between;margin-top:0;padding-top:8px;width:100%}.mobile-card-info{align-items:center;display:flex;flex:1 1;gap:16px}.mobile-card .user-menu-container{display:inline-block}.mobile-card .user-menu-trigger{background:none;border:none;font-size:.9rem;padding:2px 4px}.mobile-card-author{color:var(--gray-700);display:inline-block;flex:0 0 auto;font-weight:500;padding-left:16px;position:relative;text-align:center}.mobile-card-author:before{background-color:var(--gray-400);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.mobile-card-region{align-items:center;color:var(--gray-600);display:inline-flex;flex:0 0 auto;font-size:.85rem;font-weight:400;gap:4px;text-align:left}.mobile-card-region:before{background-color:var(--gray-400);border-radius:50%;content:"";display:inline-block;height:4px;width:4px}.mobile-card-date{color:var(--gray-500);display:inline-block;flex:0 0 auto;font-size:.85rem;font-weight:400;text-align:right}.mobile-card:hover .mobile-card-title{color:var(--gray-900)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-card{animation:fadeInUp .4s ease-out;animation-fill-mode:both}.mobile-card:first-child{animation-delay:.05s}.mobile-card:nth-child(2){animation-delay:.1s}.mobile-card:nth-child(3){animation-delay:.15s}.mobile-card:nth-child(4){animation-delay:.2s}.mobile-card:nth-child(5){animation-delay:.25s}.mobile-card:nth-child(6){animation-delay:.3s}.mobile-card:nth-child(7){animation-delay:.35s}.mobile-card:nth-child(8){animation-delay:.4s}.mobile-card:nth-child(9){animation-delay:.45s}.mobile-card:nth-child(10){animation-delay:.5s}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-contrast:high){:root{--border-color:#000;--text-primary:#000;--text-secondary:#333}.board-table tbody tr:hover{background-color:#000;color:#fff}}@media (max-width:768px){.table-responsive{display:none}.mobile-card-view{display:block;padding:0;width:100%}.user-info{align-items:flex-end;flex-direction:column;gap:8px}.pagination{flex-wrap:wrap;gap:5px}.pagination-btn{font-size:.8rem;min-width:35px;padding:8px 12px}.mobile-card{margin-bottom:10px;padding:14px;width:100%}.mobile-card-title{font-size:1rem;line-height:1.3;padding:0}.mobile-card-header{margin-bottom:10px}.mobile-card-footer{margin-top:10px;padding:6px 0}}@media (max-width:480px){.mobile-card{margin-bottom:8px;padding:12px;width:100%}.mobile-card-title{font-size:.95rem;padding:0;width:100%}.mobile-card-number{font-size:.85rem;padding:4px 8px}.mobile-card-views{font-size:.8rem}.mobile-card-author,.mobile-card-date,.mobile-card-region{font-size:.85rem}}@media (hover:none) and (pointer:coarse){.mobile-card{min-height:60px}.mobile-card:active{background-color:#2563eb0d;transform:scale(.98)}.pagination-btn{min-height:44px;min-width:44px}}.pagination-ellipsis{align-items:center;color:var(--gray-400);display:inline-flex;font-size:14px;justify-content:center;min-width:36px;padding:8px 4px;-webkit-user-select:none;user-select:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-cell{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:4px}.skeleton-table{display:block}.skeleton-row{border-bottom:1px solid var(--gray-100);display:flex;gap:12px;padding:16px 12px}.skeleton-cell--type{height:16px;width:8%}.skeleton-cell--title{height:16px;width:45%}.skeleton-cell--author,.skeleton-cell--region{height:16px;width:12%}.skeleton-cell--date{height:16px;width:13%}.skeleton-cell--views{height:16px;width:10%}.skeleton-cards{display:none}.skeleton-card{border:1px solid var(--gray-200);border-radius:12px;margin-bottom:12px;padding:16px}.skeleton-card-header{display:flex;gap:8px;margin-bottom:12px}.skeleton-cell--badge{border-radius:12px;height:20px;width:60px}.skeleton-cell--number{height:16px;width:40px}.skeleton-cell--card-title{height:18px;margin-bottom:12px;width:80%}.skeleton-card-footer{display:flex;gap:16px;padding-top:8px}.skeleton-cell--meta{height:14px;width:60px}.skeleton-cell--meta-short{height:14px;width:40px}@media (max-width:768px){.skeleton-table{display:none}.skeleton-cards{display:block;padding:0 14px}}@media (prefers-color-scheme:dark){.mobile-card[data-post-type=\ACF5\C9C0] .mobile-card-category{background-color:#dc262626;border-color:#dc26264d;color:#fca5a5}.mobile-card[data-post-type=\C0AC\ACE0\D314\ACE0] .mobile-card-category{background-color:#ea580c26;border-color:#ea580c4d;color:#fdba74}.mobile-card[data-post-type=\BD80\B3D9\C0B0] .mobile-card-category{background-color:#16a34a26;border-color:#16a34a4d;color:#86efac}.mobile-card[data-post-type=\C0DD\D65C\C815\BCF4] .mobile-card-category{background-color:#2563eb26;border-color:#2563eb4d;color:#93c5fd}.mobile-card[data-post-type=\BAA8\C784] .mobile-card-category{background-color:#7c3aed26;border-color:#7c3aed4d;color:#c4b5fd}.mobile-card[data-post-type=\CDE8\C5C5] .mobile-card-category{background-color:#4f46e526;border-color:#4f46e54d;color:#a5b4fc}.mobile-card[data-post-type=\AE30\D0C0] .mobile-card-category,.mobile-card[data-post-type=\C77C\BC18] .mobile-card-category{background-color:#6b728026;border-color:#6b72804d;color:#d1d5db}}.floating-action-container{bottom:24px;left:24px;opacity:0;pointer-events:none;position:fixed;transform:translateY(100px);transition:all var(--transition-base);z-index:999}.floating-action-container.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.fab-main{align-items:center;background-color:var(--color-primary);border:none;border-radius:50%;box-shadow:var(--shadow-lg);color:var(--color-text-inverse);cursor:pointer;display:flex;font-size:24px;height:56px;justify-content:center;position:relative;transition:all var(--transition-fast);width:56px;z-index:10}.fab-main:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-xl);transform:scale(1.1)}.fab-main:active{transform:scale(.95)}.fab-icon{transition:transform var(--transition-fast)}.fab-icon.close{transform:rotate(90deg)}.fab-actions{bottom:70px;display:flex;flex-direction:column-reverse;gap:12px;left:0;opacity:0;pointer-events:none;position:absolute;transform:scale(.8) translateY(20px);transition:all var(--transition-fast)}.fab-actions.expanded{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.fab-action{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;position:relative;transition:all var(--transition-fast);width:48px}.fab-action:hover{background-color:var(--color-background);box-shadow:var(--shadow-lg);transform:scale(1.1)}.fab-action:disabled{cursor:not-allowed;opacity:.5}.fab-scrap.active{background-color:var(--taegeuk-red);border-color:var(--taegeuk-red);color:var(--taegeuk-white)}.fab-scrap.active:hover{background-color:var(--taegeuk-red-hover)}.fab-edit{background-color:var(--taegeuk-blue-light);border-color:var(--taegeuk-blue);color:var(--taegeuk-blue)}.fab-edit:hover{background-color:var(--taegeuk-blue);color:var(--taegeuk-white)}.fab-delete{background-color:var(--taegeuk-red-light);border-color:var(--taegeuk-red);color:var(--taegeuk-red)}.fab-delete:hover{background-color:var(--taegeuk-red);color:var(--taegeuk-white)}.fab-tooltip{background-color:var(--color-text-primary);border-radius:4px;color:var(--color-text-inverse);font-size:12px;left:60px;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity var(--transition-fast);white-space:nowrap}.fab-action:hover .fab-tooltip{opacity:1}.fab-tooltip:after{border:4px solid #0000;border-right:4px solid var(--color-text-primary);content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%)}@media (max-width:768px){.floating-action-container{bottom:16px;left:16px}.fab-main{font-size:20px;height:48px;width:48px}.fab-actions{bottom:60px;gap:8px}.fab-action{font-size:16px;height:40px;width:40px}.fab-tooltip{display:none}}@media (prefers-color-scheme:dark){.fab-main{background-color:var(--color-primary)}.fab-action{background-color:var(--color-surface);border-color:var(--color-border-strong)}}.fab-actions.expanded .fab-action:first-child{transition-delay:.05s}.fab-actions.expanded .fab-action:nth-child(2){transition-delay:.1s}.fab-actions.expanded .fab-action:nth-child(3){transition-delay:.15s}.fab-actions.expanded .fab-action:nth-child(4){transition-delay:.2s}.fab-actions.expanded .fab-action:nth-child(5){transition-delay:.25s}@supports (padding:max(0px)){.floating-action-container{bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right))}}@media (max-width:768px){.post-action-bar{display:none}}.post-action-bar{background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--spacing-3xl);padding:var(--spacing-lg) 0}.action-bar-container{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:0 var(--spacing-xl);width:100%}.action-bar-center,.action-bar-left,.action-bar-right{align-items:center;display:flex;gap:var(--spacing-md)}.action-bar-button{align-items:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.action-bar-button:hover{background-color:var(--color-background);border-color:var(--color-border-strong);color:var(--color-text-primary);transform:translateY(-1px)}.action-bar-button:active{transform:translateY(0)}.action-bar-button:disabled{cursor:not-allowed;opacity:.5}.action-bar-button.danger{border-color:var(--color-danger);color:var(--color-danger)}.action-bar-button.danger:hover{background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.action-bar-button.scrap.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.action-bar-button.scrap.active:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.action-label{font-size:var(--font-size-sm)}@supports (padding:max(0px)){.action-bar-container{padding-left:max(var(--spacing-xl),env(safe-area-inset-left));padding-right:max(var(--spacing-xl),env(safe-area-inset-right))}}.post-container{background:var(--color-background);box-sizing:border-box;font-family:var(--font-family);margin:0 auto;max-width:var(--max-width);overflow-x:hidden;padding:calc(var(--spacing-xl) + 20px) var(--spacing-xl) var(--spacing-3xl);width:100%}.post-header{align-items:flex-start;display:flex;gap:var(--spacing-xl);justify-content:space-between;margin-bottom:var(--spacing-xl)}.post-title{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.3;margin:0;word-break:keep-all}.post-actions-minimal{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xl);margin-left:auto}.minimal-action-button{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);position:relative;transition:all var(--transition-fast)}.minimal-action-button:hover{background-color:var(--color-background);color:var(--color-text-primary)}.minimal-action-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.minimal-action-button:disabled{cursor:not-allowed;opacity:.5}.minimal-action-button.active{background-color:var(--color-primary-light);color:var(--color-primary)}.minimal-action-button.active:hover{background-color:var(--color-primary-light);color:var(--color-primary-hover)}.action-icon{font-size:var(--font-size-base)}.action-text{font-size:var(--font-size-sm)}.minimal-action-button.text-only{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none}.minimal-action-button.text-only:hover{background:none;text-decoration:underline}.minimal-action-button.text-only.danger{color:var(--color-danger)}.minimal-action-button.text-only.danger:hover{color:var(--color-danger-hover)}.action-divider{color:var(--color-text-tertiary);font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.admin-actions,.modify-actions{align-items:center;display:flex;gap:var(--spacing-xs)}.minimal-action-button.approve{border:1px solid var(--color-success);color:var(--color-success);padding:var(--spacing-xs) var(--spacing-lg)}.minimal-action-button.approve:hover{background-color:var(--color-success);color:var(--color-text-inverse)}.minimal-action-button.reject{border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--spacing-xs) var(--spacing-lg)}.minimal-action-button.reject:hover{background-color:var(--color-danger);color:var(--color-text-inverse)}.scrap-indicator{align-items:center;background-color:var(--color-primary-light);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md)}.scrap-icon{font-size:var(--font-size-base)}.scrap-text{font-size:var(--font-size-sm)}.comment-submit-wrapper{margin-top:var(--spacing-md);position:relative;width:100%}.comment-form-container{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000a;padding:var(--spacing-xs);transition:all var(--transition-fast)}.comment-form-container:focus-within{box-shadow:0 4px 16px #00000014}.login-message{background:var(--color-surface);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xl);padding:var(--spacing-2xl);text-align:center}.mobile-only{display:none}@media (min-width:769px){.post-actions-minimal .modify-actions,.post-actions-minimal>.minimal-action-button:not(.approve):not(.reject){display:none}.post-actions-minimal:has(.admin-actions){justify-content:flex-end}}@media (max-width:768px){.mobile-only{display:block}}.post-content{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl)}.post-content img{border-radius:8px;box-shadow:0 4px 12px #0000001a;display:inline-block;height:auto;margin:16px 0;max-height:600px;max-width:100%;object-fit:contain;transition:all .3s ease;vertical-align:bottom;width:auto}.post-content .ql-align-center img{display:block;margin:16px auto}.post-content .ql-align-right img{display:block;margin:16px 0 16px auto}.post-content img:hover{box-shadow:0 8px 24px #00000026;transform:scale(1.02)}.post-content div,.post-content p{margin-bottom:16px;margin-top:0}.post-content div:last-child,.post-content p:last-child{margin-bottom:0}.post-content ol,.post-content ul{margin-bottom:16px;margin-top:0;padding-left:24px}.post-content li{margin-bottom:8px}.post-content li:last-child{margin-bottom:0}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--primary-text);font-weight:700;margin-bottom:16px;margin-top:24px}.post-content h1:first-child,.post-content h2:first-child,.post-content h3:first-child,.post-content h4:first-child,.post-content h5:first-child,.post-content h6:first-child{margin-top:0}.post-content blockquote{background:var(--gray-50);border-left:4px solid var(--primary-blue);border-radius:0 4px 4px 0;margin:16px 0;padding:12px 16px}.post-content hr{background:var(--gray-200);border:none;height:1px;margin:24px 0}.post-content strong{color:var(--primary-text);font-weight:700}.post-content em{color:var(--secondary-text);font-style:italic}.post-content code{background:var(--gray-100);border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:2px 6px}.post-content pre{background:var(--gray-100);border-radius:8px;margin:16px 0;overflow-x:auto;padding:16px}.post-content pre code{background:none;padding:0}.post-content .bot-disclaimer{border-top:1px solid #ddd;color:#666;font-size:.9em;font-style:italic;margin-top:20px;padding-top:10px}.post-content-html{font-family:var(--font-family);white-space:pre-wrap}.post-content .ql-align-center{text-align:center}.post-content .ql-align-right{text-align:right}.post-content .ql-align-justify{text-align:justify}.post-content .ql-indent-1{padding-left:3em}.post-content .ql-indent-2{padding-left:6em}.post-content .ql-indent-3{padding-left:9em}.post-content .ql-indent-4{padding-left:12em}.post-content .ql-indent-5{padding-left:15em}.post-content .ql-indent-6{padding-left:18em}.post-content .ql-indent-7{padding-left:21em}.post-content .ql-indent-8{padding-left:24em}.post-content table{border-collapse:collapse;display:block;font-size:var(--font-size-sm);margin:16px 0;max-width:100%;overflow-x:auto;width:100%}.post-content td,.post-content th{border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);padding:8px 12px;text-align:left;vertical-align:top;word-break:break-word}.post-content th{font-weight:600}.post-content th,.post-content tr:nth-child(2n) td{background:#f8f9fa;background:var(--color-surface,#f8f9fa)}.post-meta{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;font-family:var(--font-family);gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.post-author,.post-date,.post-views,.update-date{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:1.5}.post-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.post-tags,.tag{align-items:center}.tag{border-radius:var(--radius-sm);display:inline-flex;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.type-tag{background-color:#e5f0ff;color:#0043bb}.region-tag{background-color:#fff1f1;color:#a2191f}.subcategory-tag{background-color:#f6f2ff;color:#6929c4}.comment-section{box-sizing:border-box;margin-top:var(--spacing-3xl);max-width:100%;overflow-x:hidden;width:100%}.comment-section h3{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.comment-form{margin-top:var(--spacing-xl);position:relative;width:100%}.comment-textarea{background:var(--color-surface);border:none;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000d;box-sizing:border-box;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);min-height:80px;outline:none;padding:var(--spacing-lg);padding-right:60px;resize:none;transition:all var(--transition-fast);width:100%}.comment-textarea:focus{background:var(--color-background);box-shadow:0 0 0 2px var(--color-primary),0 4px 12px #0062ff1a;transform:translateY(-1px)}.comment-textarea::placeholder{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.minimal-submit-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:var(--spacing-sm);box-shadow:0 4px 15px #667eea66;color:var(--color-text-inverse);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:0;font-weight:var(--font-weight-semibold);height:40px;justify-content:center;overflow:hidden;padding:0;position:absolute;right:var(--spacing-sm);transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.minimal-submit-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.minimal-submit-button:active:before{height:120px;width:120px}.minimal-submit-button:after{color:#fff;content:"→";font-size:20px;transform:translateX(0);transition:transform .3s ease}.comment-form:has(.comment-textarea:not(:placeholder-shown)) .minimal-submit-button{animation:bounceIn .5s ease}.comment-form:has(.comment-textarea:placeholder-shown) .minimal-submit-button{opacity:0;pointer-events:none;transform:scale(0) rotate(180deg)}.comment-form:has(.comment-textarea:focus:not(:placeholder-shown)) .minimal-submit-button{opacity:1;pointer-events:auto;transform:scale(1) rotate(0deg)}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.minimal-submit-button.style-capsule{background:var(--color-text-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);gap:var(--spacing-xs);height:auto;padding:var(--spacing-xs) var(--spacing-lg);width:auto}.minimal-submit-button.style-capsule:after{content:"전송";font-size:var(--font-size-sm);margin-right:var(--spacing-xs);transform:none}.minimal-submit-button.style-capsule:before{display:none}.minimal-submit-button.style-capsule:hover{background:var(--color-primary);transform:translateY(-2px)}.minimal-submit-button.style-text{background:none;border-bottom:2px solid #0000;border-radius:0;box-shadow:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:auto;padding:var(--spacing-sm);position:relative;transition:all .3s ease;width:auto}.minimal-submit-button.style-text:after{color:var(--color-primary);content:"전송";font-size:var(--font-size-sm);transform:none}.minimal-submit-button.style-text:before{display:none}.minimal-submit-button.style-text:hover{border-bottom-color:var(--color-primary);color:var(--color-primary-hover);transform:none}.minimal-submit-button.style-text:hover:after{color:var(--color-primary-hover)}.minimal-submit-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;transform:scale(1.1) rotate(90deg)}.minimal-submit-button:hover:after{transform:translateX(2px)}.minimal-submit-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.minimal-submit-button:disabled{background:linear-gradient(135deg,#e0e0e0,#ccc);box-shadow:none;cursor:not-allowed;opacity:.3;transform:scale(.9)}.comment-actions-minimal{align-items:center;display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.minimal-comment-action{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);padding:var(--spacing-xs);transition:all var(--transition-fast)}.minimal-comment-action:hover{color:var(--color-text-primary);text-decoration:underline}.minimal-comment-action.danger{color:var(--color-danger)}.minimal-comment-action.danger:hover{color:var(--color-danger-hover)}.minimal-comment-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-lg);transition:all var(--transition-fast)}.minimal-comment-button:hover{background-color:var(--color-background);border-color:var(--color-border-strong)}.minimal-comment-button.primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.minimal-comment-button.primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.minimal-comment-button:disabled{cursor:not-allowed;opacity:.5}.comment-divider{background:var(--color-border);border:none;height:1px;margin:var(--spacing-xl) 0}.comment-list{margin-bottom:var(--spacing-xl)}.comment-item,.comment-list{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.comment-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-lg);transition:all var(--transition-normal)}.comment-item:hover{box-shadow:var(--shadow-sm)}.comment-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.comment-action-button{background-color:initial;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.comment-action-button:hover{background-color:var(--color-surface);color:var(--color-text-primary)}.comment-action-button.edit-button{color:var(--color-primary)}.comment-action-button.edit-button:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.comment-action-button.delete-button{color:var(--color-danger)}.comment-action-button.delete-button:hover{background-color:var(--color-danger);color:var(--color-text-inverse)}.comment-edit-form{margin-top:var(--spacing-md)}.comment-edit-textarea{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-family);font-size:var(--font-size-sm);min-height:60px;overflow-x:hidden;padding:var(--spacing-sm) var(--spacing-md);resize:vertical;transition:all var(--transition-fast);white-space:pre-wrap;width:100%;word-break:break-word}.comment-edit-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #0062ff1a;outline:none}.comment-edit-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.comment-edit-button{background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text-inverse);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.comment-edit-button:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.comment-cancel-button{background-color:initial;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.comment-cancel-button:hover{background-color:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-primary)}.comment-content-wrapper{align-items:flex-start;box-sizing:border-box;display:flex;gap:var(--spacing-lg);max-width:100%;overflow-x:hidden;width:100%}.comment-author-info{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;min-width:120px}.comment-author-id{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);word-break:break-word}.comment-date{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:1.4}.comment-divider-vertical{align-self:stretch;background:var(--color-border);min-height:60px;width:1px}.comment-main{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);min-width:0}.comment-main,.comment-text{max-width:100%;overflow-x:hidden}.comment-text{word-wrap:break-word;color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word}.comment-text p{margin-bottom:12px;margin-top:0}.comment-text p:last-child{margin-bottom:0}.comment-text ol,.comment-text ul{margin-bottom:12px;margin-top:0;padding-left:20px}.comment-text li{margin-bottom:4px}.comment-text li:last-child{margin-bottom:0}.comment-text strong{color:var(--primary-text);font-weight:700}.comment-text em{font-style:italic}.comment-text code{background:var(--gray-100);border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:2px 4px}@media (max-width:768px){.post-container{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-2xl)}.post-header{flex-direction:column;gap:var(--spacing-md)}.post-title{font-size:var(--font-size-xl)}.post-actions-minimal{gap:var(--spacing-lg);justify-content:flex-end;margin-left:0;width:100%}.post-actions-minimal .modify-actions,.post-actions-minimal>.minimal-action-button:not(.approve):not(.reject){display:none}.minimal-action-button.approve,.minimal-action-button.reject{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.post-meta{gap:var(--spacing-sm)}.comment-item{padding:var(--spacing-md)}.minimal-submit-button{font-size:var(--font-size-xs);min-height:40px;padding:var(--spacing-xs) var(--spacing-md)}.comment-textarea{font-size:var(--font-size-sm);min-height:60px;padding:var(--spacing-md)}.post-content td,.post-content th{font-size:var(--font-size-xs);padding:6px 8px}.comment-form-container{padding:var(--spacing-2xs)}.comment-content-wrapper{flex-direction:column;gap:var(--spacing-md)}.comment-author-info{align-items:center;flex-direction:row;justify-content:space-between;min-width:100%}.comment-divider-vertical{display:none}.comment-main{width:100%}.comment-actions{flex-wrap:wrap}}@media (prefers-color-scheme:dark){.post-content td,.post-content th{border-color:#555;border-color:var(--gray-600,#555)}.post-content th{background:#3a3a3a;background:var(--gray-700,#3a3a3a)}.post-content tr:nth-child(2n) td{background:#2a2a2a;background:var(--gray-800,#2a2a2a)}.type-tag{background-color:#0043bb33;color:#6ea8fe}.region-tag{background-color:#a2191f33;color:#f4a0a4}.subcategory-tag{background-color:#6929c433;color:#c4a8ff}}.profile-container{background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;margin:0 auto;max-width:600px;padding:24px}.profile-header{align-items:center;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7);display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px}.back-button{align-items:center;background:#0000;border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;color:#3f3f46;color:var(--gray-700,#3f3f46);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;padding:8px 16px;text-decoration:none;transition:all .15s ease}.back-button:hover{background:#fafafa;background:var(--gray-50,#fafafa);border-color:#d4d4d8;border-color:var(--gray-300,#d4d4d8)}.back-button:focus{outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:2px}.profile-title{color:#18181b;color:var(--gray-900,#18181b);flex:1 1;font-size:20px;font-weight:600;margin:0;text-align:center}.profile-content{margin-top:24px}.profile-info{display:flex;flex-direction:column;gap:16px}.info-group{align-items:center;background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;display:flex;justify-content:space-between;padding:12px 16px}.info-group label{color:#52525b;color:var(--gray-600,#52525b);font-size:13px;font-weight:500}.info-group span{color:#18181b;color:var(--gray-900,#18181b);font-size:14px;font-weight:500}.profile-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.password-change-form,.profile-edit-form{background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;display:flex;flex-direction:column;gap:16px;padding:16px}.form-group{margin-bottom:0}.form-actions{justify-content:center;margin-top:16px}.message{border-radius:6px;font-size:13px;font-weight:500;margin-top:16px;padding:12px 16px;text-align:center}.message.success{border:1px solid #16a34a;border:1px solid var(--success,#16a34a);color:#16a34a;color:var(--success,#16a34a)}.message.error,.message.success{background:#fafafa;background:var(--gray-50,#fafafa)}.message.error{border:1px solid #dc2626;border:1px solid var(--error,#dc2626);color:#dc2626;color:var(--error,#dc2626)}.loading{color:#52525b;color:var(--gray-600,#52525b)}.error,.loading{font-size:14px;font-weight:500;padding:32px;text-align:center}.error{color:#dc2626;color:var(--error,#dc2626)}@media (max-width:768px){.profile-layout-container{padding:10px}.profile-layout-container .profile-header{margin-bottom:20px;padding:15px}.profile-tabs{flex-wrap:wrap;gap:5px;padding:5px}.profile-tabs button{font-size:13px;padding:8px 12px}.tab-icon{font-size:16px}.profile-container{border-radius:0;margin:10px;padding:20px 16px}.profile-title{font-size:16px}.info-group{align-items:flex-start;gap:8px}.form-actions,.info-group,.profile-actions{flex-direction:column}}.scraps-container{max-width:100%;padding:0;width:100%}.scraps-header{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7);margin-bottom:24px;padding-bottom:16px}.scraps-header h2{color:#18181b;color:var(--gray-900,#18181b);font-size:20px;font-weight:600;margin-bottom:8px}.scraps-stats{color:#52525b;color:var(--gray-600,#52525b);font-size:13px}.scraps-controls{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.search-box{flex:1 1;max-width:400px;position:relative}.search-input{border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;font-size:14px;padding:8px 40px 8px 12px;transition:all .15s ease;width:100%}.search-input:focus{border-color:#2563eb;border-color:var(--primary,#2563eb);outline:2px solid #2563eb;outline:2px solid var(--primary,#2563eb);outline-offset:2px}.search-icon{color:#a1a1aa;color:var(--gray-400,#a1a1aa);font-size:14px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.sort-controls{display:flex;gap:8px}.sort-btn{background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;color:#3f3f46;color:var(--gray-700,#3f3f46);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s ease;white-space:nowrap}.sort-btn:hover{background:#fafafa;background:var(--gray-50,#fafafa);border-color:#d4d4d8;border-color:var(--gray-300,#d4d4d8)}.sort-btn.active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background)}.empty-scraps{background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;padding:48px 16px;text-align:center}.empty-icon{display:block;font-size:48px;margin-bottom:16px;opacity:.6}.empty-scraps p{color:#52525b;color:var(--gray-600,#52525b);font-size:14px;margin:8px 0}.empty-subtitle{color:#71717a!important;color:var(--gray-500,#71717a)!important;font-size:13px!important}.scraps-table{background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;margin-bottom:24px;overflow:hidden}.scraps-table table{border-collapse:collapse;width:100%}.scraps-table th{background:#fafafa;background:var(--gray-50,#fafafa);border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7);color:#52525b;color:var(--gray-600,#52525b);font-size:13px;font-weight:500;letter-spacing:.05em;padding:12px;text-align:left;text-transform:uppercase}.scraps-table td{border-bottom:1px solid #f4f4f5;border-bottom:1px solid var(--gray-100,#f4f4f5);font-size:13px;padding:12px}.scraps-table tr:last-child td{border-bottom:none}.scraps-table tr:hover{background:#fafafa;background:var(--gray-50,#fafafa)}.post-link{align-items:center;color:#18181b;color:var(--gray-900,#18181b);display:inline-flex;font-weight:500;gap:4px;text-decoration:none;transition:color .15s ease}.post-link:hover{color:#3f3f46;color:var(--gray-700,#3f3f46);text-decoration:underline}.comment-count{color:#52525b;color:var(--gray-600,#52525b);font-size:12px;font-weight:500}.tag-badge{background:#f4f4f5;background:var(--gray-100,#f4f4f5);border-radius:4px;color:#3f3f46;color:var(--gray-700,#3f3f46);display:inline-block;font-size:11px;font-weight:500;padding:4px 8px}.user-info{display:flex;flex-direction:column;gap:2px}.user-id{font-size:13px}.user-email{font-size:11px}.pagination{gap:8px;margin-top:24px}.pagination-btn{background-color:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;color:#3f3f46;color:var(--gray-700,#3f3f46);font-size:13px;font-weight:500;text-align:center;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background-color:#f4f4f5;background-color:var(--gray-100,#f4f4f5);border-color:#d4d4d8;border-color:var(--gray-300,#d4d4d8)}.pagination-btn.active{background-color:var(--color-primary);font-weight:600}.pagination span{color:#71717a;color:var(--gray-500,#71717a);font-size:13px}.error-message{background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #dc2626;border:1px solid var(--error,#dc2626);border-radius:6px;color:#dc2626;color:var(--error,#dc2626);font-size:14px;padding:12px 16px;text-align:center}@media (max-width:768px){.scraps-container{padding:0}.scraps-controls{align-items:stretch;flex-direction:column}.search-box{max-width:100%}.sort-controls{flex-wrap:wrap;justify-content:center}.scraps-table{overflow-x:auto}.scraps-table table{min-width:600px}.pagination-btn{font-size:12px;min-width:32px;padding:6px 10px}}.pagination{flex-wrap:wrap;gap:5px;margin-top:20px}.pagination,.pagination-btn{align-items:center;display:flex;justify-content:center}.pagination-btn{background:var(--color-surface);border:1px solid #ddd;border:1px solid var(--gray-200,#ddd);border-radius:4px;color:var(--color-text-primary);cursor:pointer;font-size:14px;height:36px;min-width:36px;padding:8px 12px;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:#aaa;border-color:var(--gray-400,#aaa)}.pagination-btn:disabled{background:#f5f5f5;background:var(--gray-100,#f5f5f5);cursor:not-allowed;opacity:.5}.pagination-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);font-weight:700}.pagination-btn.active:hover{background:var(--color-primary-hover)}@media (max-width:768px){.pagination{box-sizing:border-box;gap:3px;margin-left:16px;margin-right:16px;width:calc(100% - 32px)}.pagination-btn{font-size:13px;height:32px;min-width:32px;padding:6px 10px}}.message-loading{color:#52525b;color:var(--gray-600,#52525b);font-size:14px;padding:32px;text-align:center}.delete-link{background:none;border:none;cursor:pointer;font-size:13px;padding:4px 8px;text-decoration:none;transition:all .15s ease}.delete-link,.delete-link:hover{color:#dc2626;color:var(--error,#dc2626)}.delete-link:hover{opacity:.8;text-decoration:underline}.delete-link:focus{border-radius:4px;outline:2px solid #dc2626;outline:2px solid var(--error,#dc2626);outline-offset:2px}.message-error{color:#dc2626;color:var(--error,#dc2626);font-size:14px;padding:32px;text-align:center}.message-empty{padding:48px 16px;text-align:center}.message-empty p{color:#52525b;color:var(--gray-600,#52525b);font-size:14px;margin-bottom:16px}.message-list-container{width:100%}.message-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.message-list-header h3{color:#18181b;color:var(--gray-900,#18181b);font-size:18px;font-weight:600;margin:0}.unread-badge{background:var(--color-text-primary);border-radius:6px;color:var(--color-background);font-size:12px;font-weight:600;padding:4px 10px}.message-actions{background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;gap:12px;margin-bottom:16px;padding:12px}.message-actions,.select-all{align-items:center;display:flex}.select-all{color:#3f3f46;color:var(--gray-700,#3f3f46);font-size:13px;gap:6px;margin-right:auto}.select-all,.select-all input[type=checkbox]{cursor:pointer}.message-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;overflow-x:auto}.message-table,.message-table-wrapper{background:var(--color-surface);width:100%}.message-table{border-collapse:collapse;min-width:600px}.message-table thead{background:#fafafa;background:var(--gray-50,#fafafa);border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7)}.message-table th{color:#52525b;color:var(--gray-600,#52525b);font-size:13px;font-weight:500;letter-spacing:.05em;padding:12px;text-align:left;text-transform:uppercase}.message-table tbody tr{border-bottom:1px solid #f4f4f5;border-bottom:1px solid var(--gray-100,#f4f4f5);transition:background-color .15s ease}.message-table tbody tr.unread,.message-table tbody tr:hover{background-color:#fafafa;background-color:var(--gray-50,#fafafa)}.message-table tbody tr.unread{font-weight:500}.message-table tbody tr.unread:hover{background-color:#f4f4f5;background-color:var(--gray-100,#f4f4f5)}.message-table td{color:#3f3f46;color:var(--gray-700,#3f3f46);font-size:13px;padding:12px}.message-content-preview{color:#18181b;color:var(--gray-900,#18181b);cursor:pointer;max-width:400px;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease;white-space:nowrap}.message-content-preview:hover{color:#3f3f46;color:var(--gray-700,#3f3f46);text-decoration:underline}.new-badge{background:var(--color-text-primary);border-radius:4px;color:var(--color-background);display:inline-block;font-size:10px;font-weight:600;margin-left:8px;padding:2px 6px;text-transform:uppercase}.message-compose-container{background:#fff;border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;margin:0 auto;max-width:800px;padding:16px}.message-compose-header{margin-bottom:24px}.message-compose-header h3{color:#18181b;color:var(--gray-900,#18181b);font-size:18px;font-weight:600;margin:0}.message-compose-form .form-group{margin-bottom:16px;position:relative}.message-compose-form label{color:#3f3f46;color:var(--gray-700,#3f3f46);display:block;font-size:13px;font-weight:500;margin-bottom:8px}.receiver-input-wrapper{position:relative}.searching-indicator{color:#52525b;color:var(--gray-600,#52525b);font-size:12px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.user-search-results{background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;left:0;list-style:none;margin:4px 0 0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:10}.user-search-item{border-bottom:1px solid #f4f4f5;border-bottom:1px solid var(--gray-100,#f4f4f5);cursor:pointer;font-size:13px;padding:8px 12px}.user-search-item:hover{background:#fafafa;background:var(--gray-50,#fafafa)}.user-search-item:last-child{border-bottom:none}.user-id{color:#18181b;color:var(--gray-900,#18181b);font-weight:500}.user-email{color:#52525b;color:var(--gray-600,#52525b);font-size:12px;margin-left:8px}.char-count{bottom:-20px;color:#71717a;color:var(--gray-500,#71717a);font-size:11px;position:absolute;right:0}.form-actions{display:flex;gap:12px;margin-top:24px}.message-detail-container{background:#fff;border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;margin:0 auto;max-width:800px;padding:16px}.message-detail-header{align-items:center;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.message-detail-header h3{color:#18181b;color:var(--gray-900,#18181b);font-size:18px;font-weight:600;margin:0}.message-detail-header .message-actions{margin-bottom:0}.message-info{background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;margin-bottom:16px;padding:16px}.info-row{display:flex;margin-bottom:10px}.info-row:last-child{margin-bottom:0}.info-row label{color:#52525b;color:var(--gray-600,#52525b);font-size:13px;font-weight:500;width:100px}.info-row span{flex:1 1;font-size:13px}.info-row span,.message-subject h4{color:#18181b;color:var(--gray-900,#18181b)}.message-subject h4{font-size:16px;font-weight:600;margin:0 0 16px}.message-body{background:#fafafa;background:var(--gray-50,#fafafa);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;min-height:200px;padding:16px}.message-body pre{word-wrap:break-word;color:#18181b;color:var(--gray-900,#18181b);font-family:inherit;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.message-not-found{padding:48px 16px;text-align:center}.message-not-found p{color:#52525b;color:var(--gray-600,#52525b);font-size:14px;margin-bottom:16px}@media (max-width:768px){.message-table-wrapper{border-radius:0;margin:0 -15px}.message-table{min-width:500px}.message-table td:first-child,.message-table th:first-child{display:none}.message-table th:nth-child(2){width:80px!important}.message-table th:nth-child(4){width:60px!important}.message-table th:nth-child(5){width:70px!important}.message-table th:nth-child(6){width:50px!important}.message-list-header{align-items:flex-start;flex-direction:column;gap:10px}.message-actions{flex-wrap:wrap}.message-table{font-size:14px}.message-table td,.message-table th{padding:8px}.message-detail-header{align-items:flex-start;flex-direction:column;gap:15px}.info-row{flex-direction:column}.info-row label{margin-bottom:4px;width:auto}}@media (max-width:480px){.message-table-wrapper{font-size:12px}.message-table{min-width:400px}.message-table td,.message-table th{font-size:12px;padding:6px 4px}.message-table td:nth-child(2),.message-table th:nth-child(2){display:none}.message-content-preview{max-width:150px}.delete-link{font-size:11px;padding:2px 4px}.message-actions{font-size:12px;padding:10px}.select-all{font-size:12px}}.messages-container{background-color:initial;max-width:100%;min-height:auto;padding:0;width:100%}.messages-header{align-items:center;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.messages-title{color:#18181b;color:var(--gray-900,#18181b);font-size:20px;font-weight:600;margin:0}.messages-actions{display:flex;gap:10px}.messages-compose-btn{align-items:center;background:var(--color-text-primary);border:none;border-radius:6px;box-shadow:none;color:var(--color-background);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .15s ease}.messages-compose-btn:hover{background:#27272a;background:var(--gray-800,#27272a);box-shadow:none;transform:scale(1.02)}.messages-tabs{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--gray-200,#e4e4e7);display:flex;gap:16px;margin-bottom:16px}.messages-tab{background:none;border:none;border-bottom:2px solid #0000;color:#52525b;color:var(--gray-600,#52525b);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-1px;padding:12px 16px;position:relative;transition:all .15s ease}.messages-tab:hover{color:#27272a;color:var(--gray-800,#27272a)}.messages-tab.active{border-bottom-color:#18181b;border-bottom-color:var(--gray-900,#18181b);color:#18181b;color:var(--gray-900,#18181b);font-weight:600}.messages-content{background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--gray-200,#e4e4e7);border-radius:6px;box-shadow:none;padding:16px}@media (max-width:768px){.messages-container{padding:0}.messages-header{align-items:flex-start;flex-direction:column;gap:15px}.messages-title{font-size:18px}.messages-compose-btn{justify-content:center;padding:10px 16px;width:100%}.messages-tabs{-webkit-overflow-scrolling:touch;gap:10px;overflow-x:auto}.messages-tab{font-size:13px;padding:8px 12px;white-space:nowrap}.messages-content{border-radius:0;padding:12px}}.read-status{color:#71717a;color:var(--gray-500,#71717a);font-size:12px;font-weight:400}.unread-status{color:#18181b;color:var(--gray-900,#18181b);font-size:12px}.unread td,.unread-status{font-weight:600}@media (max-width:480px){.messages-container{padding:0}.messages-title{font-size:16px}.messages-compose-btn{font-size:13px;padding:10px 16px}.messages-tab{font-size:13px;padding:8px 12px}.messages-content{padding:10px}}.not-found-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.not-found-content{background:var(--color-surface);border-radius:12px;box-shadow:0 20px 60px #00000026;max-width:500px;padding:3rem;text-align:center}.not-found-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#667eea;font-size:6rem;font-weight:700;line-height:1;margin:0}.not-found-subtitle{color:#333;font-size:1.5rem;font-weight:600;margin:1rem 0}.not-found-description{color:#666;line-height:1.6;margin:1.5rem 0 2rem}.not-found-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.not-found-button{border-radius:6px;display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.not-found-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.not-found-button.primary:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.not-found-button.secondary{background:#f3f4f6;color:#4b5563}.not-found-button.secondary:hover{background:#e5e7eb}@media (max-width:768px){.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.25rem}.not-found-content{padding:2rem}.not-found-actions{flex-direction:column}.not-found-button{text-align:center;width:100%}}.site-footer{background-color:var(--gray-900);color:var(--gray-400);font-family:var(--font-family);font-size:var(--font-size-sm);margin-top:auto;padding:var(--space-10) 0 var(--space-6)}.footer-inner{box-sizing:border-box;gap:var(--space-6);margin:0 auto;max-width:var(--max-width);padding:0 var(--content-padding);text-align:center;width:100%}.footer-brand,.footer-inner{align-items:center;display:flex;flex-direction:column}.footer-brand{gap:var(--space-2)}.footer-logo{font-size:22px;font-weight:800;letter-spacing:-.02em}.footer-logo .logo-li{color:var(--taegeuk-red)}.footer-logo .logo-korea{color:var(--taegeuk-blue);margin-left:6px}.footer-tagline{color:var(--gray-500);font-size:var(--font-size-xs);margin:0}.footer-nav{display:flex;gap:var(--space-6)}.footer-nav a{color:var(--gray-400);font-weight:500;text-decoration:none;transition:color .15s ease}.footer-nav a:hover{color:var(--taegeuk-blue-light)}.footer-copyright{color:var(--gray-600);font-size:var(--font-size-xs);margin:0}.footer-version{margin-left:var(--space-2);opacity:.6}@media (prefers-color-scheme:dark){.site-footer{background-color:#111113;color:#a1a1aa}.footer-tagline{color:#71717a}.footer-nav a{color:#a1a1aa}.footer-copyright{color:#52525b}}@media (max-width:768px){.site-footer{padding:var(--space-8) 0 var(--space-4)}.footer-nav{gap:var(--space-4)}}*{box-sizing:border-box}body{font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Arial,sans-serif;margin:0;overflow-x:hidden;padding:0;width:100%}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media (max-width:768px){body{-webkit-overflow-scrolling:touch}::-webkit-scrollbar{background:#0000;width:0}}
/*# sourceMappingURL=main.a08a52a4.css.map*/