:root{--color-primary: #7C3AED;--color-primary-hover: #6D28D9;--color-primary-active: #5B21B6;--color-primary-light: #F5F3FF;--color-primary-light-hover: #EDE9FE;--color-primary-fg: #FFFFFF;--color-accent: #4CAF50;--color-accent-hover: #43A047;--color-accent-light: #E8F5E9;--color-accent-fg: #FFFFFF;--color-danger: #EF4444;--color-danger-hover: #DC2626;--color-danger-light: #FEE2E2;--color-danger-fg: #FFFFFF;--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-info: #3B82F6;--color-info-light: #DBEAFE;--color-bg: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #F3F4F6;--color-fg: #140E1B;--color-fg-secondary: #4B5563;--color-fg-tertiary: #9CA3AF;--color-muted: #9CA3AF;--color-border: #E5E7EB;--color-border-light: #F3F4F6;--color-border-dark: #D1D5DB;--color-nav-active-bg: var(--color-primary-light);--color-nav-active-fg: var(--color-primary);--btn-radius: 8px;--btn-padding-sm: 6px 10px;--btn-padding-md: 10px 16px;--btn-padding-lg: 14px 24px;--header-h: 64px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Arial,"Apple Color Emoji","Segoe UI Emoji"}.material-symbols-outlined{font-family:Material Symbols Outlined,Material Symbols Rounded,Material Symbols Sharp,Material Icons Outlined,Material Icons,sans-serif;font-weight:400;font-style:normal;font-size:inherit;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.container{max-width:1200px;margin:0 auto;padding:var(--space-4)}.app-header{position:sticky;top:0;z-index:10;height:var(--header-h);display:flex;align-items:center;gap:16px;padding:0 var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.nav-item:hover{background:var(--color-primary-light)!important}.full{min-height:calc(100vh - var(--header-h))}.full-padded{min-height:calc(100vh - var(--header-h));padding:var(--space-4)}.grid{display:grid;gap:var(--space-4)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);background:#fff}.card h3{margin:0 0 var(--space-2);font-size:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--btn-radius);font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1.2}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-primary, var(--color-primary))!important;color:var(--color-primary-fg, #FFFFFF)!important}.btn-primary:not(:disabled):hover{background-color:var(--color-primary-hover, #5B21B6)!important;color:var(--color-primary-fg, #FFFFFF)!important}.btn-primary:not(:disabled):active{background-color:var(--color-primary-active, #4C1D95)!important}.btn-accent{background-color:var(--color-accent);color:var(--color-accent-fg)}.btn-accent:not(:disabled):hover{background-color:var(--color-accent-hover)}.btn-danger{background-color:var(--color-danger);color:var(--color-danger-fg)}.btn-danger:not(:disabled):hover{background-color:var(--color-danger-hover)}.btn-outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:not(:disabled):hover{background-color:var(--color-primary-light)}.btn-ghost{background-color:transparent;color:var(--color-text-main);font-weight:500}.btn-ghost:not(:disabled):hover{background-color:var(--color-bg-tertiary)}.btn-sm{padding:var(--btn-padding-sm);font-size:13px}.btn-md{padding:var(--btn-padding-md);font-size:15px}.btn-lg{padding:var(--btn-padding-lg);font-size:17px}.btn-loading{position:relative;color:transparent!important}.btn-spinner{position:absolute;top:50%;left:50%;width:1em;height:1em;margin-top:-.5em;margin-left:-.5em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;color:var(--color-fg)}.btn-primary .btn-spinner,.btn-accent .btn-spinner,.btn-danger .btn-spinner{color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.btn.primary{background-color:var(--color-primary);color:var(--color-primary-fg)}.field{display:grid;gap:6px}.field label{font-size:13px;color:var(--color-muted)}.input,.select,.textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff}.textarea{min-height:120px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.tab{padding:10px 12px;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;cursor:pointer}.tab.active{border-color:var(--color-border);background:#fff}.app-header-mobile-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);cursor:pointer;margin-left:12px}.app-header-divider{width:1px;height:24px;background:var(--color-border);margin-left:16px;margin-right:8px}.mobile-nav-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:stretch;justify-content:center}.mobile-nav-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a8c;border:none}.mobile-nav-sheet-panel{position:relative;width:100%;max-width:100%;height:100%;background:linear-gradient(180deg,#ffffff 0%,var(--color-primary-light) 100%);padding:32px 24px;display:flex;flex-direction:column;gap:32px;overflow-y:auto;box-shadow:0 32px 80px -24px #0f172a40}.mobile-nav-sheet-header{display:flex;align-items:center;justify-content:space-between}.mobile-nav-sheet-header h1{margin:0;font-size:28px;font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.mobile-nav-close-btn{border:none;background:transparent;cursor:pointer;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:background-color .2s ease,color .2s ease}.mobile-nav-close-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-primary-active)}.mobile-nav-sheet-body{display:flex;flex-direction:column;gap:28px}.mobile-nav-primary-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:16px;border-radius:14px;background-color:var(--color-primary);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 16px 32px -20px var(--color-primary-light-hover);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.mobile-nav-primary-btn:hover{transform:translateY(-1px);opacity:.95;box-shadow:0 18px 36px -18px var(--color-primary-light-hover)}.mobile-nav-profile{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;background:var(--color-primary-light);border:1px solid var(--color-primary-light-hover)}.mobile-nav-profile-avatar{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#ede9fe,#e0e7ff);display:grid;place-items:center;font-weight:700;color:var(--color-primary);font-size:18px;overflow:hidden;text-transform:uppercase}.mobile-nav-profile-info{display:flex;flex-direction:column;gap:6px;min-width:0}.mobile-nav-profile-name{font-size:18px;font-weight:700;color:#1f2937}.mobile-nav-profile-email{font-size:14px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-profile-actions{display:flex;gap:12px;flex-wrap:wrap}.mobile-nav-profile-actions a{font-size:13px;font-weight:600;color:var(--color-primary);text-decoration:none;padding:6px 10px;border-radius:999px;background:var(--color-primary-light);transition:background-color .2s ease,transform .2s ease}.mobile-nav-profile-actions a:hover{background:var(--color-primary-light-hover);transform:translateY(-1px)}.mobile-nav-sheet-links{display:flex;flex-direction:column;gap:12px}.mobile-nav-sheet-links a{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:#fff;text-decoration:none;color:#1f2937;font-weight:600;letter-spacing:-.01em;border:1px solid var(--color-primary-light);box-shadow:0 12px 32px -28px var(--color-primary-light-hover);transition:background-color .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease}.mobile-nav-sheet-links a:hover{background:#f4f2ff;transform:translate(4px);border-color:var(--color-primary-light-hover);box-shadow:0 18px 40px -32px var(--color-primary-light-hover)}.mobile-nav-sheet-links a.active{border-color:var(--color-nav-active-bg);background:var(--color-nav-active-bg);color:var(--color-primary)}.mobile-nav-link-icon{font-size:24px;color:var(--color-primary)}.mobile-nav-link-chevron{margin-left:auto;font-size:20px;color:#c7c9d9}.mobile-nav-sheet-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(148,163,184,.25);display:flex;gap:20px;font-size:14px;color:#6b7280}.mobile-nav-sheet-footer a,.mobile-nav-sheet-footer button{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;text-decoration:none;transition:color .2s ease}.mobile-nav-sheet-footer a:hover,.mobile-nav-sheet-footer button:hover{color:var(--color-primary)}@media (max-width: 1024px){.app-header-nav{display:none!important}.app-header-spacer{flex:1}.app-header-divider{display:none}.app-header-mobile-menu-btn{display:inline-flex}}@media (max-width: 768px){.app-header{justify-content:space-between;gap:12px}.app-header .btn{display:none}.app-header-mobile-menu-btn{margin-left:auto}}:where(button,[role=button],a,input:not([type=hidden]),textarea,select,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px;border-radius:4px}.footer{position:fixed;bottom:0;left:0;right:0;background-color:#f9fafb;border-top:1px solid var(--color-border);z-index:1000;transition:transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(calc(100% - 40px))}.footer.expanded{transform:translateY(0);box-shadow:0 -10px 30px #0000001a}.footer-handle{height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;border-bottom:1px solid var(--color-border-light)}.footer-handle-content{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-muted);font-weight:500}.footer-handle-icon{font-size:20px;transition:transform .3s ease}.footer.expanded .footer-handle-icon{transform:rotate(180deg)}.footer-main-content{padding:32px 0;background-color:#f9fafb}.footer-layout{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.footer-left,.footer-right{flex:1}.footer-left{display:block}.footer-center{flex:2;text-align:center}.footer-center-links{margin-bottom:12px;display:flex;justify-content:center;gap:16px}.footer-link{color:var(--color-fg);text-decoration:none;font-weight:600;font-size:14px}.footer-link:hover{color:var(--color-primary)}.footer-divider{color:#eee}.footer-info{line-height:1.6;font-size:13px;color:var(--color-fg-secondary)}.footer-copyright{margin-top:8px;color:var(--color-muted);font-size:12px}.footer-right{display:flex;gap:12px}.footer-badge-img{height:44px;width:auto}@media (max-width: 768px){.footer-layout{flex-direction:column;gap:24px}.footer-handle{height:48px}.footer-right{justify-content:center}.footer-badge-img{height:40px}}.publloo-suspense-fallback{display:flex;justify-content:center;align-items:center;min-height:240px;padding:40px 16px;color:var(--text-muted, #666);font-size:14px}.publloo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2100}.publloo-modal-overlay[data-state=open]{animation:publloo-modal-overlay-in .16s ease-out}.publloo-modal-overlay[data-state=closed]{animation:publloo-modal-overlay-out .12s ease-in}.publloo-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000002e;z-index:2101;display:flex;flex-direction:column;overflow:hidden}.publloo-modal-content[data-state=open]{animation:publloo-modal-content-in .18s ease-out}.publloo-modal-content[data-state=closed]{animation:publloo-modal-content-out .14s ease-in}.publloo-modal-content:focus{outline:none}.publloo-modal-title{margin:0;padding:18px 48px 12px 20px;font-size:18px;font-weight:600;color:inherit}.publloo-modal-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:grid;place-items:center;color:inherit}.publloo-modal-close:hover{background:#0000000f}.publloo-modal-close:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.publloo-modal-close .material-symbols-outlined{font-size:22px}.publloo-modal-body{padding:12px 20px 20px;overflow-y:auto}.publloo-modal-content[data-no-title] .publloo-modal-body{padding-top:52px}@media (max-width: 768px){.publloo-modal-content{top:0;left:0;transform:none;width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}}@keyframes publloo-modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes publloo-modal-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes publloo-modal-content-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes publloo-modal-content-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.96)}}@media (max-width: 768px){@keyframes publloo-modal-content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes publloo-modal-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}}@media (prefers-reduced-motion: reduce){.publloo-modal-overlay,.publloo-modal-content{animation:none!important}}.publloo-sidepanel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:2000}.publloo-sidepanel-overlay[data-state=open]{animation:publloo-sidepanel-overlay-in .2s ease-out}.publloo-sidepanel-overlay[data-state=closed]{animation:publloo-sidepanel-overlay-out .16s ease-in}.publloo-sidepanel-content{position:fixed;top:0;bottom:0;width:var(--publloo-sidepanel-width);background:#fff;box-shadow:-10px 0 30px #0000001f;z-index:2001;display:flex;flex-direction:column;overflow:hidden}.publloo-sidepanel-content:focus{outline:none}.publloo-sidepanel-side-right{right:0}.publloo-sidepanel-side-right[data-state=open]{animation:publloo-sidepanel-slide-in-right .24s ease-out}.publloo-sidepanel-side-right[data-state=closed]{animation:publloo-sidepanel-slide-out-right .2s ease-in}.publloo-sidepanel-title{margin:0;padding:18px 56px 12px 20px;font-size:18px;font-weight:600;color:inherit}.publloo-sidepanel-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:grid;place-items:center;color:inherit}.publloo-sidepanel-close:hover{background:#0000000f}.publloo-sidepanel-close:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.publloo-sidepanel-close .material-symbols-outlined{font-size:22px}.publloo-sidepanel-body{padding:12px 20px 20px;overflow-y:auto;flex:1}.publloo-sidepanel-content[data-no-title] .publloo-sidepanel-body{padding-top:52px}@media (max-width: 768px){.publloo-sidepanel-content{width:min(90vw,var(--publloo-sidepanel-width))}}@keyframes publloo-sidepanel-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes publloo-sidepanel-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes publloo-sidepanel-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes publloo-sidepanel-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.publloo-sidepanel-overlay,.publloo-sidepanel-content{animation:none!important}}.publloo-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center;color:var(--color-text, #1f2937);gap:8px}.publloo-empty-state-icon{display:grid;place-items:center;margin-bottom:4px;color:var(--color-text-muted, #9ca3af)}.publloo-empty-state-icon .material-symbols-outlined{font-size:48px}.publloo-empty-state-title{margin:0;font-size:16px;font-weight:600}.publloo-empty-state-description{margin:0;font-size:14px;color:var(--color-text-muted, #6b7280);line-height:1.5}.publloo-empty-state-cta{margin-top:12px;display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px solid var(--color-primary, #2563eb);background:var(--color-primary, #2563eb);color:#fff;font-weight:500;font-size:14px;text-decoration:none;cursor:pointer}.publloo-empty-state-cta:hover{filter:brightness(.95)}.publloo-empty-state-cta:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.publloo-loo-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;text-align:left;cursor:default;padding:0;font:inherit;width:100%}a.publloo-loo-card,button.publloo-loo-card{cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}a.publloo-loo-card:hover,button.publloo-loo-card:hover{box-shadow:0 6px 18px #00000014;transform:translateY(-1px)}a.publloo-loo-card:focus-visible,button.publloo-loo-card:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.publloo-loo-card-image-wrap{width:100%;aspect-ratio:16 / 9;background:var(--color-primary-light, #f3f4f6);overflow:hidden}.publloo-loo-card-image{width:100%;height:100%;object-fit:cover;display:block}.publloo-loo-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}.publloo-loo-card-title{margin:0;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.publloo-loo-card-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--color-text-muted, #6b7280)}.publloo-loo-card-distance,.publloo-loo-card-rating{display:inline-flex;align-items:center;gap:3px}.publloo-loo-card-meta .material-symbols-outlined{font-size:16px}.publloo-loo-card-rating-count{color:var(--color-text-muted, #9ca3af);font-size:12px;margin-left:2px}.publloo-loo-card-amenities{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 0;padding:0;list-style:none}.publloo-loo-card-amenity{background:var(--color-primary-light, #eff6ff);color:var(--color-primary, #2563eb);font-size:11px;font-weight:500;padding:3px 8px;border-radius:999px}.step-indicator{width:100%}.step-indicator__list{list-style:none;margin:0;padding:0;display:flex;gap:0}.step-indicator__item{position:relative;display:flex;align-items:center;flex:1}.step-indicator__btn{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:8px 0;cursor:default;color:var(--color-text-muted, #666);text-align:left;font:inherit}.step-indicator__btn:not(:disabled){cursor:pointer}.step-indicator__num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border, #ddd);background:#fff;color:var(--color-text-muted, #666);font-weight:600;font-size:13px;flex-shrink:0}.step-indicator__label{font-size:14px;font-weight:500;white-space:nowrap}.step-indicator__item.is-active .step-indicator__num{background:var(--color-primary, #FF9500);border-color:var(--color-primary, #FF9500);color:#fff}.step-indicator__item.is-active .step-indicator__btn{color:var(--color-text, #111)}.step-indicator__item.is-active .step-indicator__label{font-weight:700}.step-indicator__item.is-completed .step-indicator__num{background:var(--color-primary, #FF9500);border-color:var(--color-primary, #FF9500);color:#fff}.step-indicator__item.is-completed .step-indicator__btn{color:var(--color-text, #111)}.step-indicator__connector{flex:1;height:2px;background:var(--color-border, #ddd);margin:0 8px}.step-indicator__item.is-completed+.step-indicator__item .step-indicator__connector,.step-indicator__item.is-completed .step-indicator__connector{background:var(--color-primary, #FF9500)}@media (min-width: 769px){.step-indicator__list{flex-direction:column;gap:4px}.step-indicator__item{flex-direction:column;align-items:stretch;flex:0 0 auto}.step-indicator__btn{width:100%;padding:12px;border-radius:8px}.step-indicator__item.is-active .step-indicator__btn{background:var(--color-primary-light, rgba(255, 149, 0, .08))}.step-indicator__connector{display:block;width:2px;height:16px;margin:0 0 0 25px}}@media (max-width: 768px){.step-indicator__list{flex-direction:row;align-items:center}.step-indicator__item{flex:1;flex-direction:column;text-align:center;align-items:center;min-width:0}.step-indicator__btn{flex-direction:column;align-items:center;gap:4px;padding:4px 0;width:100%}.step-indicator__label{font-size:12px}.step-indicator__connector{position:absolute;top:22px;left:50%;right:-50%;margin:0;height:2px;z-index:0}.step-indicator__item:last-child .step-indicator__connector{display:none}.step-indicator__num{position:relative;z-index:1}}.photo-dropzone{display:flex;flex-direction:column;gap:12px}.photo-dropzone__zone{display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-border, #ddd);border-radius:12px;padding:32px 16px;background:#fafafa;cursor:pointer;transition:background .15s,border-color .15s;outline:none}.photo-dropzone__zone:hover{border-color:var(--color-primary, #FF9500);background:#fff}.photo-dropzone__zone:focus-visible{border-color:var(--color-primary, #FF9500);box-shadow:0 0 0 3px #ff950033}.photo-dropzone__zone.is-drag{border-color:var(--color-primary, #FF9500);background:#ff95000f}.photo-dropzone__zone.is-disabled{cursor:not-allowed;opacity:.6;background:#f0f0f0}.photo-dropzone__zone-text{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.photo-dropzone__zone-text strong{font-size:14px}.photo-dropzone__count{font-size:12px;margin-top:4px}.photo-dropzone__errors{list-style:none;margin:0;padding:8px 12px;background:#fdecea;border:1px solid #f5c6c0;border-radius:6px;color:#c0392b;font-size:13px;display:flex;flex-direction:column;gap:2px}.photo-dropzone__errors li{margin:0}.photo-dropzone__thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.photo-dropzone__thumb{position:relative;background:#fff;border:1px solid var(--color-border, #ddd);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.photo-dropzone__thumb.is-cover{border-color:var(--color-primary, #FF9500);box-shadow:0 0 0 1px var(--color-primary, #FF9500)}.photo-dropzone__thumb img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.photo-dropzone__cover-badge{position:absolute;top:8px;left:8px;background:var(--color-primary, #FF9500);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.photo-dropzone__thumb-actions{display:flex;gap:4px;padding:6px;border-top:1px solid var(--color-border, #eee);background:#fafafa}.photo-dropzone__thumb-actions button{flex:1;background:#fff;border:1px solid var(--color-border, #ddd);border-radius:4px;padding:4px 6px;cursor:pointer;font-size:12px;color:var(--color-text, #111)}.photo-dropzone__thumb-actions button:hover{background:#f5f5f5}.photo-dropzone__thumb-actions button.is-danger{color:#c0392b}.photo-dropzone__thumb-actions button.is-danger:hover{background:#fdecea;border-color:#f5c6c0}@media (max-width: 480px){.photo-dropzone__thumbs{grid-template-columns:repeat(2,1fr)}.photo-dropzone__zone{padding:24px 12px}}.publloo-rating-input{display:inline-flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.publloo-rating-input[aria-disabled=true]{opacity:.5;cursor:not-allowed}.publloo-rating-input__star{cursor:pointer;line-height:1;transition:color .12s ease,transform .12s ease;color:#e4e5e9;outline:none}.publloo-rating-input[aria-disabled=true] .publloo-rating-input__star{cursor:not-allowed}.publloo-rating-input__star--filled{color:#ffc107}.publloo-rating-input__star--empty{color:#e4e5e9}.publloo-rating-input__star:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px;border-radius:2px}.publloo-rating-input__star:active{transform:scale(.92)}.publloo-rating-input--sm .publloo-rating-input__star{font-size:16px}.publloo-rating-input--md .publloo-rating-input__star{font-size:24px}.publloo-rating-input--lg .publloo-rating-input__star{font-size:32px}@media (prefers-reduced-motion: reduce){.publloo-rating-input__star{transition:none}.publloo-rating-input__star:active{transform:none}}.publloo-review-write-modal__body{display:flex;flex-direction:column;gap:16px;padding-top:8px}.publloo-review-write-modal__loo-name{font-size:13px;margin-top:-4px}.publloo-review-write-modal__rating-row{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;border-radius:8px;background:#f9fafb}.publloo-review-write-modal__rating-label{font-size:13px;font-weight:600;color:#374151}.publloo-review-write-modal__rating-hint{font-size:13px;min-height:18px}.publloo-review-write-modal__text-row{display:flex;flex-direction:column;gap:6px}.publloo-review-write-modal__text-label{font-size:13px;font-weight:600;color:#374151}.publloo-review-write-modal__textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;font:inherit;font-size:14px;line-height:1.5;resize:vertical;min-height:96px;background:#fff;color:inherit}.publloo-review-write-modal__textarea:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:1px;border-color:var(--color-primary, #2563eb)}.publloo-review-write-modal__textarea:disabled{background:#f3f4f6;cursor:not-allowed}.publloo-review-write-modal__counter{font-size:12px;text-align:right;margin-top:-10px}.publloo-review-write-modal__submit{height:44px;border-radius:10px;border:0;background:var(--color-primary, #2563eb);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .12s ease,opacity .12s ease}.publloo-review-write-modal__submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.publloo-review-write-modal__submit:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.publloo-review-write-modal__submit{transition:none}}.publloo-report-modal__body{display:flex;flex-direction:column;gap:16px;padding:4px 0}.publloo-report-modal__reasons{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.publloo-report-modal__legend{font-size:13px;font-weight:600;color:var(--color-text, #1a1a1a);margin-bottom:6px;padding:0}.publloo-report-modal__reason-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px;transition:background-color .12s ease}.publloo-report-modal__reason-option:hover{background:var(--color-surface-hover, #f5f5f5)}.publloo-report-modal__reason-option input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--color-primary, #2e7d32)}.publloo-report-modal__error{font-size:12px;color:#d33;margin-top:4px;padding-left:4px}.publloo-report-modal__detail-row{display:flex;flex-direction:column;gap:6px}.publloo-report-modal__detail-label{font-size:13px;font-weight:600;color:var(--color-text, #1a1a1a)}.publloo-report-modal__detail{width:100%;min-height:80px;padding:10px 12px;border:1px solid var(--color-border, #ddd);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}.publloo-report-modal__detail:focus{outline:none;border-color:var(--color-primary, #2e7d32);box-shadow:0 0 0 3px #2e7d3226}.publloo-report-modal__counter{font-size:11px;text-align:right;color:#888;margin-top:-8px}.publloo-report-modal__submit{margin-top:4px;padding:12px 16px;background:var(--color-primary, #2e7d32);color:#fff;border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .12s ease}.publloo-report-modal__submit:hover:not(:disabled){opacity:.9}.publloo-report-modal__submit:disabled{opacity:.55;cursor:not-allowed}.loo-detail-panel{display:flex;flex-direction:column;background:#fff;overflow:hidden;box-sizing:border-box}.loo-detail-panel--desktop{height:100%;width:100%;border-radius:var(--radius, 12px);border:1px solid var(--color-border, #e5e7eb)}.loo-detail-panel--mobile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;animation:loo-detail-panel-slide-up .22s ease-out}@keyframes loo-detail-panel-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.loo-detail-panel--mobile{animation:none}}.loo-detail-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.loo-detail-panel__header-text{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.loo-detail-panel__title{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loo-detail-panel__type-badge{display:inline-block;padding:2px 8px;background:#e0f2fe;color:#0369a1;border-radius:999px;font-size:11px;font-weight:600;flex-shrink:0}.loo-detail-panel__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.loo-detail-panel__fav-btn{width:36px;height:36px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:#fff;cursor:pointer;font-size:18px;line-height:1;color:#888;display:grid;place-items:center}.loo-detail-panel__fav-btn:hover{background:#0000000a}.loo-detail-panel__fav-btn:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.loo-detail-panel__fav-btn:disabled{opacity:.55;cursor:wait}.loo-detail-panel__fav-btn--active{color:#f59e0b;border-color:#f59e0b;background:#fffbeb}.loo-detail-panel__edit-btn{height:32px;padding:0 12px;border:1px solid var(--color-primary, #2563eb);background:#fff;color:var(--color-primary, #2563eb);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.loo-detail-panel__edit-btn:hover{background:#2563eb0d}.loo-detail-panel__edit-btn:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.loo-detail-panel__close{width:32px;height:32px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:grid;place-items:center;font-size:22px;color:#555;flex-shrink:0}.loo-detail-panel__close:hover{background:#0000000f}.loo-detail-panel__close:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.loo-detail-panel__body{padding:14px 16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.loo-detail-panel__meta{display:flex;flex-direction:column;gap:6px}.loo-detail-panel__meta-row{font-size:14px;color:#444;display:flex;align-items:center;gap:6px}.loo-detail-panel__rating{display:inline-flex;align-items:center}.loo-detail-panel__distance{color:#666;margin-left:4px}.loo-detail-panel__author{font-size:12px;color:#888}.loo-detail-panel__carousel{position:relative;width:100%;height:240px;border-radius:10px;overflow:hidden;background:#f3f4f6}.loo-detail-panel--mobile .loo-detail-panel__carousel{height:280px}.loo-detail-panel__carousel-img{width:100%;height:100%;object-fit:cover;display:block}.loo-detail-panel__carousel-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#9ca3af}.loo-detail-panel__carousel-empty .material-symbols-outlined{font-size:48px}.loo-detail-panel__carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:#ffffffd9;color:#333;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 6px #0000001f}.loo-detail-panel__carousel-nav:hover{background:#fff}.loo-detail-panel__carousel-nav:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.loo-detail-panel__carousel-nav:disabled{opacity:.4;cursor:not-allowed}.loo-detail-panel__carousel-nav--prev{left:8px}.loo-detail-panel__carousel-nav--next{right:8px}.loo-detail-panel__carousel-counter{position:absolute;bottom:8px;right:8px;padding:3px 8px;background:#0009;color:#fff;font-size:12px;border-radius:999px}.loo-detail-panel__loo-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.loo-detail-panel__loo-tab{flex-shrink:0;padding:6px 12px;border:1px solid var(--color-border, #e5e7eb);background:#fff;border-radius:999px;font-size:13px;cursor:pointer;white-space:nowrap}.loo-detail-panel__loo-tab--active{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.loo-detail-panel__badges{display:flex;flex-wrap:wrap;gap:6px}.loo-detail-panel__badge{display:inline-block;padding:4px 10px;border:1px solid #e5e7eb;border-radius:999px;font-size:12px;color:#374151;background:#f9fafb}.loo-detail-panel__extra-meta{display:flex;flex-direction:column;gap:4px}.loo-detail-panel__reviews-section{display:flex;flex-direction:column;gap:8px}.loo-detail-panel__reviews-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.loo-detail-panel__reviews-header h4{margin:0;font-size:14px;font-weight:600}.loo-detail-panel__review-write-btn{height:30px;padding:0 12px;border:1px solid var(--color-border, #e5e7eb);background:#f3f4f6;color:#9ca3af;border-radius:8px;cursor:not-allowed;font-size:13px;font-weight:600}.loo-detail-panel__review-write-btn:not(:disabled){background:#fff;color:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);cursor:pointer}.loo-detail-panel__review-write-btn:not(:disabled):hover{background:var(--color-primary, #2563eb);color:#fff}.loo-detail-panel__review-edit-btn{margin-left:auto;height:22px;padding:0 8px;background:transparent;color:var(--color-primary, #2563eb);border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.loo-detail-panel__review-edit-btn:hover{background:#2563eb14;border-color:#2563eb40}.loo-detail-panel__review-edit-btn:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:1px}.loo-detail-panel__review-delete-btn{height:22px;padding:0 8px;background:transparent;color:#c1372f;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.loo-detail-panel__review-delete-btn:hover{background:#c1372f14;border-color:#c1372f40}.loo-detail-panel__review-delete-btn:focus-visible{outline:2px solid #c1372f;outline-offset:1px}.loo-detail-panel__review-report-btn{margin-left:auto;height:22px;padding:0 8px;background:transparent;color:#666;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.loo-detail-panel__review-report-btn:hover{background:#0000000a;color:#c1372f;border-color:#c1372f33}.loo-detail-panel__review-report-btn:focus-visible{outline:2px solid #888;outline-offset:1px}.loo-detail-panel__confirm-body{display:flex;flex-direction:column;gap:16px;padding:4px 0 0}.loo-detail-panel__confirm-text{margin:0;font-size:14px;line-height:1.55;color:#333}.loo-detail-panel__confirm-actions{display:flex;justify-content:flex-end;gap:8px}.loo-detail-panel__confirm-cancel{padding:8px 14px;background:transparent;border:1px solid var(--color-border, #ddd);color:#333;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.loo-detail-panel__confirm-cancel:hover:not(:disabled){background:#f5f5f5}.loo-detail-panel__confirm-cancel:disabled{opacity:.55;cursor:not-allowed}.loo-detail-panel__confirm-destructive{padding:8px 14px;background:#c1372f;border:1px solid #c1372f;color:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.loo-detail-panel__confirm-destructive:hover:not(:disabled){background:#a82d27;border-color:#a82d27}.loo-detail-panel__confirm-destructive:disabled{opacity:.6;cursor:not-allowed}.loo-detail-panel__reviews-empty{font-size:13px;padding:8px 0}.loo-detail-panel__reviews{display:flex;flex-direction:column;gap:10px}.loo-detail-panel__review{border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px;background:#fff}.loo-detail-panel__review-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.loo-detail-panel__review-user{font-size:13px;font-weight:600}.loo-detail-panel__review-text{font-size:13px;color:#374151;line-height:1.5;white-space:pre-wrap;word-break:break-word}.loo-detail-panel__review-date{font-size:11px;margin-top:6px}.loo-detail-panel__loading,.loo-detail-panel__error{text-align:center;font-size:13px;padding:8px 0}.loo-detail-panel__error{color:#dc2626}.loo-detail-panel__cta{margin-top:auto;padding:12px 16px;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.loo-detail-panel__cta:hover{filter:brightness(1.05)}.loo-detail-panel__cta:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.loo-search-container{position:relative;height:calc(100vh - var(--header-h, 64px) - var(--footer-collapsed-h, 40px));overflow:hidden}.kakao-map-controls{position:absolute;right:12px;top:12px;z-index:5;display:flex;flex-direction:column;gap:8px}.kakao-map-btn{width:36px;height:36px;border:1px solid #e2e2e2;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000026;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.kakao-map-fab-locate{position:absolute;right:16px;bottom:24px;width:48px;height:48px;border-radius:9999px;border:1px solid #e2e2e2;background:#fff url(/icons/locate_control.png) center/22px 22px no-repeat;box-shadow:0 4px 12px #00000026;cursor:pointer;z-index:50;transition:transform .15s ease,box-shadow .15s ease,bottom .25s ease}.kakao-map-fab-locate--lifted{bottom:180px}.kakao-map-fab-locate:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000002e}.kakao-map-fab-locate:active{transform:translateY(0);box-shadow:0 2px 6px #0000001f}.kakao-map-fab-locate:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:0 2px 6px #00000014}.loc-permission-banner{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff8e1;border:1px solid #F4C95D;border-radius:8px;box-shadow:0 2px 6px #00000014;font-size:13px;color:#6b4f00;z-index:51}.loc-permission-banner__msg{flex:1;min-width:0}.loc-permission-banner__retry{flex-shrink:0;padding:6px 12px;border:1px solid #C99A2A;border-radius:6px;background:#fff;color:#6b4f00;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.loc-permission-banner__retry:hover:not(:disabled){background:#ffefc2}.loc-permission-banner__retry:disabled{opacity:.5;cursor:not-allowed}.loc-permission-banner--mobile{top:80px}.kakao-map-btn.zoom-in:after{content:"+";font-size:18px;line-height:1}.kakao-map-btn.zoom-out:after{content:"−";font-size:18px;line-height:1}.my-location-dot{width:10px;height:10px;border-radius:9999px;background:#34c759;box-shadow:0 0 0 2px #34c75940;position:relative;z-index:1}.my-location-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:9999px;border:2px solid rgba(52,199,89,.4);animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.8}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}.loo-marker-wrapper{position:absolute;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.loo-marker-wrapper:hover,.loo-marker-wrapper.active{z-index:1000!important}.loo-marker-circle{width:22px;height:22px;border-radius:50%;box-sizing:border-box;box-shadow:0 2px 6px #00000040;transition:all .2s ease-out;border:2px solid #fff}.loo-marker-circle.lock-open{background:#10b981;border:2px solid #fff}.loo-marker-circle.lock-password{background:#f97316;border:2px solid #fff}.loo-marker-circle.lock-key{background:#f59e0b;border:2px solid #fff}.loo-marker-circle.lock-unknown,.loo-marker-circle.blue{background:#9ca3af;border:2px solid #fff}.loo-marker-circle.orange,.loo-marker-wrapper.active .loo-marker-circle{width:26px;height:26px;background:#fff;border:3px solid #7C3AED;box-shadow:0 4px 10px #7c3aed66;position:relative}.loo-marker-wrapper.active .loo-marker-circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#10b981}.loo-marker-wrapper.active .loo-marker-circle.lock-password:after{background:#f97316}.loo-marker-wrapper.active .loo-marker-circle.lock-key:after{background:#f59e0b}.loo-marker-wrapper.active .loo-marker-circle.lock-unknown:after{background:#9ca3af}.loo-marker-wrapper.active{transform:scale(1.1)}.custom-overlay .overlay-box{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0003;overflow:hidden;border:1px solid #eee}.overlay-header{padding:10px 14px;background:#f8f9fa;border-bottom:1px solid #efefef;display:flex;align-items:center;justify-content:space-between}.overlay-title{font-size:15px;font-weight:700;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.overlay-close-btn{background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:0 4px;line-height:1}.overlay-close-btn:hover{color:#333}.overlay-body{padding:12px 14px}.overlay-desc-compact{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.overlay-addr{font-size:13px;color:#666;line-height:1.4}.overlay-stats{font-size:13px;color:#333}.overlay-stats strong{color:#ff9500}.overlay-footer-compact{border-top:1px solid #f0f0f0;padding-top:10px;text-align:right}.overlay-detail-btn-compact{display:inline-block;padding:6px 14px;background:#ff9500;color:#fff;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s}.overlay-detail-btn-compact:hover{background:var(--color-primary-dark)}.overlay-wrap{position:absolute;bottom:45px;font-family:Pretendard,-apple-system,sans-serif}.custom-overlay .overlay-rating,.custom-overlay .overlay-count{font-size:13px;color:var(--color-fg)}.custom-overlay .overlay-tags{margin-top:4px;line-height:1.6}.custom-overlay .overlay-tag{background:var(--color-primary-light);color:var(--color-primary);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:4px;display:inline-block}.custom-overlay .overlay-loos-section{border-top:1px solid var(--color-border-light);padding-top:12px;margin-top:12px}.custom-overlay .overlay-loos-title{font-weight:700;font-size:13px;margin-bottom:8px;color:var(--color-fg)}.custom-overlay .overlay-loo-item{padding:8px;border-radius:6px;background:var(--color-bg-secondary);margin-bottom:8px}.custom-overlay .overlay-loo-item:last-child{margin-bottom:0}.custom-overlay .overlay-loo-name{font-weight:600;font-size:13px;margin-bottom:4px;color:var(--color-fg)}.custom-overlay .overlay-loo-type{font-weight:400;color:var(--color-muted);font-size:12px}.custom-overlay .overlay-loo-info{font-size:12px;color:var(--color-fg-secondary);margin-bottom:2px}.custom-overlay .overlay-more-loos{text-align:center;font-size:12px;color:var(--color-muted);margin-top:8px}.custom-overlay .overlay-footer{margin-top:16px;text-align:center}.custom-overlay .overlay-detail-btn{display:inline-block;background:var(--color-primary);color:#fff;padding:8px 24px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;transition:background .2s}.custom-overlay .overlay-detail-btn:hover{background:var(--color-primary-hover)}.PlaceInfoWindow .body{border-color:var(--color-border)}.PlaceInfoWindow .detail{color:var(--color-primary)}.loo-search-layout{display:grid;grid-template-columns:1fr 420px;gap:16px;height:100%}.loo-search-desktop{display:grid;grid-template-columns:360px 1fr;gap:16px;height:100%}.loo-search-desktop.loo-search-desktop--3col{grid-template-columns:360px 1fr 420px}@media (max-width: 1024px){.loo-search-desktop,.loo-search-desktop.loo-search-desktop--3col{grid-template-columns:1fr}.loo-search-desktop>.card:nth-of-type(2){grid-row:1;min-height:420px}.loo-search-desktop>.card.loo-search-list-pane{grid-row:2;max-height:320px;height:auto}.loo-search-desktop>.card.loo-detail-placeholder{grid-row:3}}.loo-list-empty,.loo-list-end-marker{padding:16px 12px;color:#6b7280;font-size:13px;text-align:center}.loo-list-sentinel{width:100%;height:1px;flex-shrink:0}.loo-detail-placeholder{padding:16px;display:flex;flex-direction:column;gap:12px;height:100%;overflow:auto}.loo-detail-placeholder__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.loo-detail-placeholder__title{font-size:16px;font-weight:700;color:var(--color-text, #111827)}.loo-detail-placeholder__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;font-size:22px;line-height:1;color:#6b7280;cursor:pointer;border-radius:6px}.loo-detail-placeholder__close:hover{background:#f3f4f6;color:#111827}.loo-detail-placeholder__meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151}.loo-detail-placeholder__cta{padding:10px 14px;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.loo-detail-placeholder__cta:hover{filter:brightness(1.05)}.loo-detail-placeholder__note{margin-top:auto;padding:10px 12px;background:#f9fafb;border-radius:8px;font-size:12px;color:#6b7280;line-height:1.4}.loo-search-mobile{display:none}@media (max-width: 768px){.loo-search-container{height:calc(90vh - var(--footer-collapsed-h-mobile, 48px))}.loo-search-desktop{display:none}.loo-search-mobile{display:flex;flex-direction:column;position:relative;height:calc(100vh - var(--footer-collapsed-h-mobile, 48px));height:calc(100dvh - var(--footer-collapsed-h-mobile, 48px));width:100%;max-width:100%;overflow:hidden;background-color:#f5f5f7;touch-action:manipulation}.loo-search-mobile-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-color:var(--color-primary-light);touch-action:none}.loo-search-mobile-search{position:absolute;top:0;left:0;right:0;z-index:5;padding:16px}.loo-search-mobile-search-bar{display:flex;align-items:center;gap:8px}.loo-search-mobile-search-input-wrapper{flex:1;display:flex;align-items:center;height:48px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:0 12px}.loo-search-mobile-search-icon{display:flex;align-items:center;justify-content:center;color:#666;flex-shrink:0}.loo-search-mobile-search-input{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:#333;padding:0 8px;height:100%}.loo-search-mobile-search-input::placeholder{color:#666}.loo-search-mobile-filter-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#fff;border:none;border-radius:8px;box-shadow:0 4px 12px #0000001a;color:var(--color-primary);cursor:pointer;flex-shrink:0;position:relative}.loo-search-mobile-filter-btn .material-symbols-outlined{font-size:24px}.loo-search-mobile-filter-btn-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 5px}.loo-search-mobile-filter-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end}.loo-search-mobile-filter-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;border:none;cursor:pointer;outline:none}.loo-search-mobile-filter-panel{position:relative;background:#fff;border-radius:20px 20px 0 0;padding:24px;box-shadow:0 -10px 32px #0000002e;max-height:85vh;overflow-y:auto}.loo-search-mobile-filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.loo-search-mobile-filter-panel-header h3{margin:0;font-size:18px;font-weight:700;color:#2f2f36}.loo-search-mobile-filter-close{width:36px;height:36px;border-radius:50%;border:none;background:#f4f4f8;color:#555;display:flex;align-items:center;justify-content:center;cursor:pointer}.loo-search-mobile-filter-close .material-symbols-outlined{font-size:22px}.loo-search-mobile-filter-section{margin-bottom:22px}.loo-search-mobile-filter-section h4{margin:0 0 12px;font-size:15px;font-weight:600;color:#3f3f45}.loo-search-mobile-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.loo-search-mobile-filter-toggle-list{display:flex;flex-direction:column;gap:12px}.loo-search-mobile-filter-toggle{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid #dcdcee;background:#f8f8fb;color:#30303a;font-size:14px;cursor:pointer;transition:all .2s ease}.loo-search-mobile-filter-toggle .material-symbols-outlined{font-size:20px;color:#9ca3af}.loo-search-mobile-filter-toggle.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.loo-search-mobile-filter-toggle.active .material-symbols-outlined{color:var(--color-primary)}.loo-search-mobile-filter-actions{display:flex;gap:12px;margin-top:8px}.loo-search-mobile-filter-reset,.loo-search-mobile-filter-apply{flex:1;height:44px;border-radius:12px;border:none;font-size:15px;font-weight:600;cursor:pointer}.loo-search-mobile-filter-reset{background:#f2f2f6;color:#545460}.loo-search-mobile-filter-apply{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px var(--color-primary-light-hover)}.loo-search-mobile-filter-apply:active{background:var(--color-primary-active)}.loo-search-mobile-map-controls{position:absolute;bottom:calc(var(--bottom-sheet-height, 35%) + 8px);right:16px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:8px;transition:bottom .3s ease}.loo-search-mobile-zoom-controls{display:flex;flex-direction:column;gap:0;box-shadow:0 4px 12px #0000001a;border-radius:8px;overflow:hidden}.loo-search-mobile-zoom-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:none;color:#333;cursor:pointer;transition:all .2s ease}.loo-search-mobile-zoom-btn:first-child{border-radius:8px 8px 0 0}.loo-search-mobile-zoom-btn:last-child{border-radius:0 0 8px 8px}.loo-search-mobile-zoom-btn:hover{background-color:#f5f5f5}.loo-search-mobile-zoom-btn .material-symbols-outlined{font-size:20px}.loo-search-mobile-location-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:none;border-radius:8px;box-shadow:0 4px 12px #0000001a;color:#333;cursor:pointer;transition:all .2s ease}.loo-search-mobile-location-btn:hover:not(:disabled){background-color:#f5f5f5}.loo-search-mobile-location-btn:disabled{opacity:.45;cursor:not-allowed}.loo-search-mobile-location-btn .material-symbols-outlined{font-size:20px}.loo-search-mobile-info-card{position:absolute;bottom:calc(var(--bottom-sheet-height, 35%) + 8px);left:16px;right:auto;max-width:calc(100% - 80px);z-index:6;animation:slide-up .5s ease-out forwards;animation-delay:.2s;opacity:0;transition:bottom .3s ease}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.loo-search-mobile-info-card-content{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #00000026}.loo-search-mobile-info-card-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.loo-search-mobile-info-card-title{font-size:14px;font-weight:700;color:#333;margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loo-search-mobile-info-card-meta{font-size:12px;color:#666;margin:0}.loo-search-mobile-info-card-btn{flex-shrink:0;height:30px;padding:0 12px;font-size:12px;font-weight:500;color:#fff;background-color:var(--color-primary);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.loo-search-mobile-info-card-btn:hover{background-color:var(--color-primary-hover)}.loo-search-mobile-list{position:absolute;bottom:0;left:0;right:0;z-index:10;height:35%;background-color:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 12px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:height .3s ease}.loo-search-mobile-list.expanded{height:calc(100% - 80px)}.loo-search-mobile-list-header{flex-shrink:0;padding:0 16px 12px}.loo-search-mobile-list-handle{display:flex;justify-content:center;padding:10px 0 6px;cursor:pointer}.loo-search-mobile-list-handle-bar{width:36px;height:4px;background-color:#d1d5db;border-radius:2px}.loo-search-mobile-list-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f5f5f7;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0}.loo-search-mobile-list-toggle:hover{background:#e5e5e7}.loo-search-mobile-list-toggle .material-symbols-outlined{font-size:20px;color:#666}.loo-search-mobile-list-title{font-size:18px;font-weight:700;color:#333;margin:0;letter-spacing:-.015em}.loo-search-mobile-list-content{flex:1;overflow-y:auto;padding:0 16px 80px}.loo-search-mobile-list-items{display:flex;flex-direction:column;gap:12px}.loo-search-mobile-list-item{display:flex;align-items:stretch;justify-content:space-between;gap:12px;padding:12px;background-color:#f5f5f7;border-radius:8px;cursor:pointer;transition:all .2s ease}.loo-search-mobile-list-item:hover{background-color:#eee}.loo-search-mobile-list-item-content{flex:2;display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-width:0}.loo-search-mobile-list-item-title{font-size:16px;font-weight:700;color:#333;margin:0;line-height:1.4}.loo-search-mobile-list-item-meta{font-size:14px;color:#666;margin:0}.loo-search-mobile-list-item-tags{font-size:14px;color:var(--color-primary);margin:0}}@media (max-width: 600px){.loo-search-mobile-search{padding:12px}.loo-search-mobile-search-bar{gap:6px}.loo-search-mobile-search-input-wrapper{height:44px;padding:0 10px}.loo-search-mobile-search-input{font-size:15px}.loo-search-mobile-filter-btn{width:44px;height:44px}.loo-search-mobile-info-card{left:12px;right:12px}.loo-search-mobile-info-card-content{padding:10px 12px;gap:12px}.loo-search-mobile-info-card-title{font-size:15px}.loo-search-mobile-info-card-meta{font-size:13px}.loo-search-mobile-list{height:34%}.loo-search-mobile-list-content{padding:0 12px 12px}.loo-search-mobile-list-item{flex-direction:column;align-items:flex-start}.loo-search-mobile-filter-panel{padding:20px 18px}.loo-search-mobile-filter-actions{flex-direction:column}.loo-search-mobile-filter-reset,.loo-search-mobile-filter-apply{width:100%}}.pr-marker-circle{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #9CA3AF;box-shadow:0 2px 6px #00000040;transition:all .2s ease-out;box-sizing:border-box}.pr-marker-circle.gov-data{border-color:#9ca3af}.pr-marker-circle.via-kakao{border-color:#10b981}.loo-marker-wrapper.active .pr-marker-circle.gov-data{width:26px;height:26px;background:#9ca3af;border:3px solid #7C3AED;box-shadow:0 4px 10px #7c3aed66}.loo-marker-wrapper.active .pr-marker-circle.via-kakao{width:26px;height:26px;background:#10b981;border:3px solid #7C3AED;box-shadow:0 4px 10px #7c3aed66}.loo-marker-cluster{min-width:36px;height:36px;border-radius:50%;background:#fbbf24;color:#1f2937;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;padding:0 8px;box-shadow:0 4px 12px #0000004d;border:2px solid #fff;cursor:pointer;transition:transform .15s ease-out;box-sizing:border-box}.loo-marker-cluster:hover{transform:scale(1.08)}.loo-marker-cluster .count{line-height:1}.loo-search-no-results{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:6px;padding:12px 14px;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 18px #00000014;color:#6b7280;font-size:13px;text-align:center}.loo-filter-trigger{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text, #111827);font-size:14px;cursor:pointer;position:relative}.loo-filter-trigger:hover{background:#f9fafb}.loo-filter-trigger__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;background:var(--color-primary, #2563eb);color:#fff;border-radius:9px;font-size:11px;font-weight:700;line-height:1}.loo-filter-dropdown{width:320px;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 10px 30px #0000001f;padding:14px 16px 12px;z-index:60}.loo-filter-dropdown__header{font-size:15px;font-weight:700;margin-bottom:10px}.loo-filter-dropdown__section{padding:8px 0;border-top:1px solid var(--color-border)}.loo-filter-dropdown__section:first-of-type{border-top:none}.loo-filter-dropdown__section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#374151}.loo-filter-dropdown__check{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:14px}.loo-filter-dropdown__check input{width:16px;height:16px;cursor:pointer}.loo-filter-dropdown__chips{display:flex;flex-wrap:wrap;gap:6px}.loo-filter-dropdown__footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--color-border);margin-top:6px}.loo-filter-dropdown__reset,.loo-filter-dropdown__apply{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--color-border);background:#fff}.loo-filter-dropdown__apply{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.loo-filter-dropdown__apply:hover{filter:brightness(1.05)}.loo-active-filter-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}.loo-active-filter-chips--floating{position:absolute;top:12px;left:12px;right:80px;padding:0;z-index:5}.loo-active-filter-chips--mobile{padding:8px 0 0}.loo-active-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:#2563eb1a;color:var(--color-primary, #2563eb);border:1px solid var(--color-primary, #2563eb);border-radius:16px;font-size:12px;font-weight:600}.loo-active-filter-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;padding:0;background:transparent;border:none;color:inherit;font-size:14px;line-height:1;cursor:pointer;border-radius:8px}.loo-active-filter-chip__remove:hover{background:#2563eb33}.loo-detail-container{position:relative;min-height:calc(100vh - var(--header-h, 64px));overflow-y:auto}.loo-detail-desktop{display:block}.loo-detail-mobile{display:none}@media (max-width: 768px){.loo-detail-desktop{display:none}.loo-detail-container{padding:0;background-color:#fff;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.loo-detail-mobile{display:flex;flex-direction:column;flex:1;overflow-y:auto}.loo-detail-mobile-header-image{position:relative;width:100%;aspect-ratio:1;background-size:cover;background-position:center;background-color:#e5e5e5}.loo-detail-mobile-header-image:before{content:"";position:absolute;bottom:0;left:0;right:0;height:25%;background:linear-gradient(0deg,#0006,#0000)}.loo-detail-mobile-image-indicators{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.loo-detail-mobile-image-indicator{width:8px;height:8px;border-radius:50%;background-color:#ffffff80;transition:all .2s ease}.loo-detail-mobile-image-indicator.active{background-color:#fff}.loo-detail-mobile-main{flex:1;padding:16px;display:flex;flex-direction:column;gap:24px}.loo-detail-mobile-heading{display:flex;flex-direction:column;gap:8px}.loo-detail-mobile-title{font-size:24px;font-weight:900;color:#333;margin:0;letter-spacing:-.02em;line-height:1.3}.loo-detail-mobile-address{font-size:16px;color:#888;margin:0}.loo-detail-mobile-chips{display:flex;gap:8px;flex-wrap:wrap}.loo-detail-mobile-chip{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;background-color:#f5f5f5;border-radius:9999px}.loo-detail-mobile-chip-icon{font-size:18px;color:var(--color-primary)}.loo-detail-mobile-chip-text{font-size:14px;font-weight:500;color:#333}.loo-detail-mobile-divider{height:1px;background-color:#e0e0e0;margin:0;border:none}.loo-detail-mobile-body{display:flex;flex-direction:column;gap:16px}.loo-detail-mobile-description{font-size:16px;line-height:1.75;color:#333;margin:0}.loo-detail-mobile-map{width:100%;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background-size:cover;background-position:center;background-color:#e5e5e5}.loo-detail-mobile-comments{display:flex;flex-direction:column;gap:16px}.loo-detail-mobile-comments-title{font-size:20px;font-weight:700;color:#333;margin:0}.loo-detail-mobile-comment-input-wrapper{display:flex;flex-direction:column;align-items:stretch;gap:12px}.loo-detail-mobile-comment-input{flex:1;min-height:96px;padding:12px 16px;font-size:16px;color:#333;background-color:#f5f5f5;border:1px solid #E0E0E0;border-radius:8px;outline:none;transition:all .2s ease;line-height:1.5;resize:vertical}.loo-detail-mobile-comment-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #6d28d91a;background-color:#fff}.loo-detail-mobile-comment-input::placeholder{color:#888}.loo-detail-mobile-comment-submit{flex-shrink:0;height:48px;padding:0 24px;font-size:14px;font-weight:700;color:#fff;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.loo-detail-mobile-comment-submit:hover{background-color:#6d28d9e6}.loo-detail-mobile-comments-list{display:flex;flex-direction:column;gap:20px;padding-top:8px}.loo-detail-mobile-comment-item{display:flex;gap:12px}.loo-detail-mobile-comment-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;background-size:cover;background-position:center;background-color:#e5e5e5}.loo-detail-mobile-comment-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.loo-detail-mobile-comment-header{display:flex;align-items:baseline;gap:8px}.loo-detail-mobile-comment-author{font-size:14px;font-weight:700;color:#333;margin:0}.loo-detail-mobile-comment-time{font-size:12px;color:#888;margin:0}.loo-detail-mobile-comment-text{font-size:16px;color:#333;margin:4px 0 0;line-height:1.5}.loo-detail-mobile-comment-actions{display:flex;align-items:center;gap:4px;margin-top:8px;color:#888}.loo-detail-mobile-comment-like-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;color:inherit}.loo-detail-mobile-comment-like-btn:hover{background-color:#f5f5f5}.loo-detail-mobile-comment-like-btn.liked{color:var(--color-primary)}.loo-detail-mobile-comment-like-btn .material-symbols-outlined{font-size:18px}.loo-detail-mobile-comment-like-count{font-size:14px;margin-left:4px}.loo-detail-mobile-comment-like-count.liked{color:var(--color-primary);font-weight:500}}.board-list-container{min-height:calc(100vh - var(--header-h, 64px));background-color:#f7f6f8;padding:32px 16px}.board-list-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:200px 1fr 300px;gap:24px}.board-sidebar-left{position:sticky;top:96px;height:fit-content}.sidebar-title{padding:0 16px 8px;font-size:14px;font-weight:600;color:#6b7280;margin:0}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:16px;font-weight:500;color:#374151;text-decoration:none;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.sidebar-nav-item:hover{background-color:#e5e7eb}.sidebar-nav-item.active{background-color:#f0e6ff;color:var(--color-primary);font-weight:700}.sidebar-nav-item .material-symbols-outlined{font-size:20px}.board-main-content{display:flex;flex-direction:column;gap:24px}.board-filters{display:flex;align-items:center;justify-content:flex-start}.filter-buttons{display:flex;align-items:center;gap:2px;padding:4px;background-color:#f3f4f6;border-radius:8px}.filter-btn{padding:6px 16px;font-size:14px;font-weight:500;color:#6b7280;background-color:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.filter-btn:hover{color:#111827}.filter-btn.active{background-color:#fff;color:var(--color-primary);font-weight:600;box-shadow:0 1px 3px #0000001a}.board-posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.board-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;border:1px dashed #d0d5dd;border-radius:16px;background-color:#f9fafb;text-align:center;color:#4b5563;gap:16px}.board-empty-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#6d28d91a;color:#7b24e7}.board-empty-badge .material-symbols-outlined{font-size:36px}.board-empty-title{font-size:20px;font-weight:700;color:#1f2937;margin:0}.board-empty-description{font-size:15px;line-height:1.6;color:#6b7280;margin:0}.board-empty-button{display:inline-flex;align-items:center;justify-content:center;padding:0 20px;height:44px;border-radius:999px;border:1px solid var(--color-btn-primary-border);background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-fg);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.board-empty-button:hover{background-color:var(--color-btn-primary-hover);border-color:var(--color-primary);color:var(--color-primary)}@media (max-width: 768px){.board-empty-state{width:calc(100% - 32px);margin:24px auto;padding:48px 20px}}.post-card-link{text-decoration:none;color:inherit}.post-card-link.post-card-featured{grid-column:1 / -1}.post-card{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;height:100%}.post-card-link.post-card-featured .post-card{flex-direction:row}.post-card:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-2px)}.post-card-image{width:100%;height:160px;object-fit:cover;background-color:#e5e7eb}.post-card-link.post-card-featured .post-card-image{width:40%;height:auto;min-height:200px;flex-shrink:0}.post-card-content{padding:20px;display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}.post-card-link.post-card-featured .post-card-content{flex:1;justify-content:center}.post-card-title{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px;line-height:1.4;transition:color .2s ease}.post-card-link:hover .post-card-title{color:var(--color-primary)}.post-card-excerpt{font-size:14px;color:#6b7280;line-height:1.6;margin:8px 0;flex-grow:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card-link.post-card-featured .post-card-excerpt{-webkit-line-clamp:3}.post-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:12px;color:#6b7280}.post-card-author{font-size:12px;color:#6b7280}.post-card-stats{display:flex;align-items:center;gap:16px}.post-card-stat{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.post-card-stat .material-symbols-outlined{font-size:16px}.board-sidebar-right{position:sticky;top:96px;height:fit-content}.btn-create-post{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 16px;background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-fg);font-size:16px;font-weight:700;border:1px solid var(--color-btn-primary-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;margin-bottom:24px}.btn-create-post .material-symbols-outlined{font-size:20px}.sidebar-box{background-color:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.sidebar-box-title{font-size:16px;font-weight:700;color:#111827;margin:0 0 16px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:6px 12px;background-color:var(--color-tag-bg);color:var(--color-tag-fg);font-size:13px;font-weight:500;border:1px solid var(--color-tag-border);border-radius:16px;text-decoration:none;cursor:pointer;transition:all .2s ease}.tag:hover{background-color:var(--color-tag-hover-bg);border-color:var(--color-tag-active-border);transform:translateY(-1px)}.tag.active{background-color:var(--color-tag-active-bg);color:var(--color-tag-active-fg);border-color:var(--color-tag-active-bg)}.tag.active:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.tag.tag-clear{background-color:#f0f0f0;color:#666;border:1px solid #ddd;font-size:12px}.tag.tag-clear:hover{background-color:#e0e0e0;border-color:#ccc}.board-links{display:flex;flex-direction:column;gap:4px}.board-link{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:8px;text-decoration:none;color:#374151;font-size:14px;font-weight:500;transition:all .2s ease}.board-link:hover{background-color:#f3f4f6}.board-link .material-symbols-outlined{font-size:16px;color:#9ca3af}.board-mobile-category-bar,.board-mobile-list,.board-mobile-fab{display:none}@media (max-width: 1024px){.board-list-grid{grid-template-columns:1fr;gap:16px}.board-sidebar-left{position:static;order:2}.board-main-content{order:1}.board-sidebar-right{position:static;order:3}.board-posts-grid{grid-template-columns:1fr}.post-card-link.post-card-featured .post-card{flex-direction:column}.post-card-link.post-card-featured .post-card-image{width:100%}}@media (max-width: 768px){.board-list-grid,.board-sidebar-left,.board-sidebar-right,.board-filters,.board-posts-grid{display:none}.board-mobile-category-bar{display:block;position:sticky;top:var(--header-h, 64px);z-index:9;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,231,235,.9);padding:12px 16px 8px}.board-mobile-category-scroll{display:flex;gap:12px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.board-mobile-category-scroll::-webkit-scrollbar{display:none}.board-mobile-category{flex:0 0 auto;padding:8px 18px;border-radius:999px;border:1px solid transparent;background-color:transparent;color:#6b7280;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.board-mobile-category.active{background-color:var(--color-primary);color:#fff;border-color:transparent;box-shadow:0 10px 30px #6d28d933}.board-mobile-list{display:flex;flex-direction:column;padding-bottom:96px}.board-mobile-card{display:flex;padding:16px;border-bottom:1px solid #dee2e6;background-color:#fff;text-decoration:none;color:inherit;transition:background-color .2s ease}.board-mobile-card:hover{background-color:#f8f9fa}.board-mobile-card-content{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%}.board-mobile-card-text{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.board-mobile-card-category{font-size:12px;font-weight:600;color:#868e96;margin:0;line-height:1}.board-mobile-card-category.primary{color:var(--color-primary)}.board-mobile-card-title{font-size:16px;font-weight:700;color:#212529;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-mobile-card-excerpt{font-size:14px;color:#868e96;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-mobile-card-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#868e96;margin-top:4px}.board-mobile-card-meta .material-symbols-outlined{font-size:16px}.board-mobile-card-divider{color:#adb5bd}.board-mobile-card-stat{display:flex;align-items:center;gap:2px}.board-mobile-card-stat .material-symbols-outlined{font-size:12px}.board-mobile-card-image{width:80px;height:80px;flex-shrink:0;border-radius:8px;background-color:#e9ecef;background-size:cover;background-position:center}.board-mobile-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:#fff;border-radius:50%;box-shadow:0 4px 12px #6d28d94d;text-decoration:none;z-index:20;transition:all .2s ease}.board-mobile-fab:hover{background-color:#6d28d9e6;transform:scale(1.05);box-shadow:0 6px 16px #6d28d966}.board-mobile-fab .material-symbols-outlined{font-size:28px}.board-list-container{padding:0;background-color:#f8f9fa;min-height:92vh}.board-main-content{background-color:#f8f9fa}}.board-sidebar-left{position:sticky;top:96px;height:fit-content;width:200px;flex-shrink:0}.sidebar-section{background-color:transparent}.sidebar-title{padding:0 16px 8px;font-size:14px;font-weight:600;color:#734e97;margin:0 0 8px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.sidebar-nav-item:hover{background-color:var(--color-nav-hover-bg);color:var(--color-nav-hover-fg)}.sidebar-nav-item.active{background-color:var(--color-active-bg);color:var(--color-active-fg);font-weight:700}.sidebar-nav-item .material-symbols-outlined{font-size:18px}.sidebar-action-section{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #E5E5EA}.btn-create-post{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;padding:0 16px;font-size:14px;font-weight:600;color:var(--color-btn-primary-fg);background-color:var(--color-btn-primary-bg);border:1px solid var(--color-btn-primary-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-create-post:hover{background-color:var(--color-btn-primary-hover);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #a166ea33}.btn-create-post .material-symbols-outlined{font-size:18px}.btn-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;padding:0 16px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action.btn-cancel{color:#636366;background-color:#f2f2f7;border:1px solid #E5E5EA}.btn-action.btn-cancel:hover:not(:disabled){background-color:#e5e5ea;border-color:#d1d1d6}.btn-action.btn-primary{color:var(--color-btn-primary-fg);background-color:var(--color-btn-primary-bg);border:1px solid var(--color-btn-primary-border)}.btn-action.btn-primary:hover:not(:disabled){background-color:var(--color-btn-primary-hover);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #a166ea33}.btn-action.btn-danger{color:var(--color-btn-danger-fg);background-color:var(--color-btn-danger-bg)}.btn-action.btn-danger:hover:not(:disabled){background-color:var(--color-btn-danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-action.btn-scrap{color:#734e97;background-color:#6d28d91a;border-color:#6d28d933}.btn-action.btn-scrap:hover:not(:disabled){background-color:#6d28d933;border-color:var(--color-primary);color:var(--color-primary)}.btn-action.btn-scrap.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-action.btn-scrap.active:hover:not(:disabled){background-color:#6a1ebf;border-color:#6a1ebf}.sidebar-share-section{margin-top:24px;padding-top:24px;border-top:1px solid #dbd0e7}.sidebar-share-title{font-size:14px;font-weight:600;color:#734e97;padding:0 8px 12px;margin:0 0 12px}.share-buttons{display:flex;gap:8px;justify-content:center}.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font-size:18px;color:#734e97;background-color:#6d28d91a;border:1px solid rgba(109,40,217,.2);border-radius:8px;cursor:pointer;transition:all .2s ease}.share-btn:hover{background-color:#6d28d933;border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.share-btn .material-symbols-outlined{font-size:20px}@media (max-width: 768px){.board-sidebar-left{display:none}}.board-detail-container{min-height:calc(100vh - var(--header-h, 64px));background-color:#f9f8fc;padding:32px 16px}.board-detail-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:200px 1fr 300px;gap:32px}.board-detail-sidebar-left{position:sticky;top:96px;height:fit-content}.sidebar-nav{background-color:transparent}.sidebar-title{font-size:14px;font-weight:700;color:#636366;margin:0 0 16px}.sidebar-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.sidebar-nav-item{display:flex;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;color:#636366;text-decoration:none;border:none;background-color:transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.sidebar-nav-item:hover{background-color:#6d28d91a;color:var(--color-primary)}.sidebar-nav-item.active{background-color:#6d28d91a;color:var(--color-primary);font-weight:700}.board-detail-main{display:flex;flex-direction:column}.board-detail-tabs{display:flex;gap:32px;border-bottom:1px solid #E5E5EA;margin-bottom:32px;padding-bottom:16px}.board-detail-tab{padding:8px 4px;font-size:14px;font-weight:500;color:#636366;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap}.board-detail-tab:hover{color:var(--color-primary);border-bottom-color:#6d28d980}.board-detail-tab.active{color:var(--color-primary);font-weight:700;border-bottom-color:var(--color-primary)}.board-detail-article{background-color:#fff;padding:24px;border:1px solid #E5E5EA;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px}.article-header{margin-bottom:32px}.article-title{font-size:36px;font-weight:800;line-height:1.3;color:#1c1c1e;margin:0 0 16px;letter-spacing:-.5px}.article-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:#636366}.article-author{display:flex;align-items:center;gap:12px}.author-avatar{width:40px;height:40px;border-radius:50%;background-color:#e5e7eb;background-size:cover;background-position:center;flex-shrink:0}.author-name{font-weight:700;color:#1c1c1e}.article-info{display:flex;align-items:center;gap:16px;font-size:12px}.article-date,.article-views,.article-likes{color:#636366}.article-likes{margin-left:12px}.article-report-btn{margin-left:auto;padding:4px 10px;background:transparent;border:1px solid transparent;color:#888;font-size:12px;font-weight:600;border-radius:4px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.article-report-btn:hover{background:#c1372f0f;color:#c1372f;border-color:#c1372f33}.article-report-btn:focus-visible{outline:2px solid #c1372f;outline-offset:1px}.article-report-btn--mobile{margin-left:auto;flex-shrink:0}.article-content{font-size:16px;line-height:1.75;color:#1c1c1e;margin-bottom:40px}.article-content p{margin:0 0 24px}.article-content img,.article-content-body img{max-width:100%;height:auto;display:block;margin:16px auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.article-image{margin:32px 0}.article-image img{width:100%;border-radius:12px;box-shadow:0 4px 12px #0000001a}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid #E5E5EA}.article-tag{display:inline-flex;align-items:center;padding:6px 12px;font-size:13px;font-weight:500;color:var(--color-tag-fg);background-color:var(--color-tag-bg);border:1px solid var(--color-tag-border);border-radius:16px;cursor:pointer;transition:all .2s ease}.article-tag:hover{background-color:var(--color-tag-hover-bg);border-color:var(--color-tag-active-border);color:var(--color-tag-fg)}.article-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"act-list act-like" "act-edit act-delete";gap:16px;padding-top:32px;border-top:1px solid #E5E5EA;margin:32px auto;max-width:520px}.board-detail-mobile-footer{display:none}.board-detail-mobile-footer-content{display:flex;align-items:flex-end;gap:12px}.board-detail-mobile-footer-input{flex:1;min-height:64px;padding:12px;border:1px solid #D0D5DD;border-radius:12px;background-color:#fff;font-size:14px;line-height:1.5;resize:vertical}.board-detail-mobile-footer-submit{height:42px;min-width:72px;padding:0 14px;border-radius:10px;border:1px solid var(--color-btn-primary-border);background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-fg);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.board-detail-mobile-footer-submit:disabled{opacity:.7;cursor:not-allowed}.board-detail-mobile-footer-submit:hover:not(:disabled){background-color:var(--color-btn-primary-hover);border-color:var(--color-primary);color:var(--color-primary)}.board-detail-mobile-footer-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 18px;height:44px;border-radius:999px;border:1px solid #D0D5DD;background-color:#fff;color:#1f2937;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s ease;flex:1}.board-detail-mobile-footer-btn:hover{background-color:#f4f6f8;border-color:#cbd2dc}.board-detail-mobile-footer-btn-danger{border-color:#fca5a5;background-color:#fee2e2;color:#b91c1c}.board-detail-mobile-footer-btn-danger:hover{background-color:#fecaca;border-color:#f87171;color:#991b1b}.board-detail-mobile-footer-btn:disabled{opacity:.75;cursor:not-allowed}.article-actions-left,.article-action-buttons{display:contents}.article-actions-left>a{grid-area:act-list}.article-actions-left>button{grid-area:act-like}.article-action-buttons>button:first-child{grid-area:act-edit}.article-action-buttons>button:last-child{grid-area:act-delete}.btn-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;min-height:48px;padding:0 24px;font-size:15px;font-weight:600;border-radius:12px;background-color:#f8f9fa;border:1px solid #E5E7EB;color:#3f3f46;transition:all .2s ease;width:100%;min-width:160px}.btn-action:hover{background-color:#eff1f5;border-color:#d0d5dd;color:#1f2937}.btn-action .material-symbols-outlined{font-size:18px}.btn-like{background-color:#6d28d91a;border-color:#6d28d940;color:var(--color-primary)}.btn-like:hover:not(:disabled){background-color:#6d28d933;border-color:#6d28d959;color:#6c1fd3}.btn-action.btn-danger{background-color:#fee2e2;border-color:#fca5a5;color:#b91c1c}.btn-action.btn-danger:hover{background-color:#fecaca;border-color:#f87171;color:#991b1b}.btn-action:disabled{opacity:.75;cursor:not-allowed}@media (max-width: 768px){.article-actions{display:none}.board-detail-mobile-footer{display:block;position:sticky;bottom:0;left:0;right:0;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(229,231,235,.9);box-shadow:0 -6px 18px #0f172a14;z-index:30}}@media (min-width: 769px){.board-detail-mobile-footer{display:none}}.comments-section{padding-top:32px;padding-bottom:32px;border-top:1px solid #E5E5EA}.comments-title{font-size:20px;font-weight:700;color:#1c1c1e;margin:0 0 24px}.comments-count{color:var(--color-primary)}.comment-form{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #E5E5EA;border-radius:12px;margin-bottom:32px}.comment-input{width:100%;min-height:100px;padding:12px;font-size:14px;line-height:1.5;color:#1c1c1e;background-color:#fff;border:1px solid #E5E5EA;border-radius:6px;resize:none;transition:all .2s ease}.comment-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6d28d91a}.comment-input::placeholder{color:#636366}.comment-form-actions{display:flex;justify-content:flex-end}.btn-primary{display:flex;align-items:center;justify-content:center;min-width:100px;height:40px;padding:0 16px;font-size:14px;font-weight:700;color:var(--color-btn-primary-fg);background-color:var(--color-btn-primary-bg);border:1px solid var(--color-btn-primary-border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.btn-primary:hover{background-color:var(--color-btn-primary-hover);border-color:var(--color-primary);color:var(--color-primary)}.comments-list{display:flex;flex-direction:column;gap:0}.comment-item{display:flex;gap:16px;min-height:92px;padding:16px;background-color:#fff;border:1px solid #E5E5EA;border-radius:8px;margin-bottom:12px}.comment-item:last-child{margin-bottom:0}.comment-avatar{width:40px;height:40px;border-radius:50%;background-color:#e5e7eb;background-size:cover;background-position:center;flex-shrink:0}.comment-content{flex:1}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.comment-author-info{display:flex;align-items:center;gap:8px}.comment-author{font-size:14px;font-weight:700;color:#1c1c1e}.comment-date{font-size:12px;color:#636366}.comment-text{font-size:16px;line-height:1.6;color:#1c1c1e;margin:8px 0 0}.comment-actions{display:flex;align-items:center}.comment-action-btn{padding:4px 12px;font-size:13px;font-weight:500;color:var(--color-muted-light);background-color:var(--color-btn-secondary-bg);border:1px solid var(--color-btn-secondary-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.comment-action-btn:hover{color:var(--color-danger);border-color:var(--color-danger-border);background-color:var(--color-danger-light)}.comment-like{display:flex;align-items:center;gap:4px;margin-top:12px;padding:0;font-size:14px;font-weight:500;color:#636366;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.comment-like:hover{color:var(--color-primary)}.comment-like.liked{color:var(--color-primary);font-weight:700}.comment-like .material-symbols-outlined{font-size:20px;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20}.comment-like.liked .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}.board-detail-sidebar-right{position:sticky;top:96px;height:fit-content}.sidebar-sticky{display:flex;flex-direction:column;gap:32px}.sidebar-box{padding:20px;border:1px solid #E5E5EA;border-radius:12px;background-color:#fff}.sidebar-box-title{font-size:14px;font-weight:700;color:#636366;margin:0 0 16px}.author-box{display:flex;align-items:center;gap:16px;margin-bottom:16px}.author-avatar-large{width:48px;height:48px;border-radius:50%;background-color:#e5e7eb;background-size:cover;background-position:center;flex-shrink:0}.author-info{flex:1}.author-name-large{font-weight:700;color:#1c1c1e;margin-bottom:4px}.author-role{font-size:14px;color:#636366;margin:0}.btn-profile{width:100%;padding:8px 16px;font-size:14px;font-weight:700;color:var(--color-primary);background-color:transparent;border:1px solid rgba(109,40,217,.5);border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-profile:hover{background-color:#6d28d91a}.share-buttons{display:flex;justify-content:space-around}.share-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:#636366;background-color:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.share-btn:hover{background-color:#6d28d91a;color:var(--color-primary)}.share-btn .material-symbols-outlined{font-size:24px}.related-posts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.related-post-link{display:block;text-decoration:none;color:inherit;transition:color .2s ease}.related-post-link:hover .related-post-title{color:var(--color-primary)}.related-post-title{font-size:14px;font-weight:500;color:#1c1c1e;margin:0 0 4px;transition:color .2s ease}.related-post-views{font-size:12px;color:#636366;margin:0}@media (max-width: 1024px){.board-detail-grid{grid-template-columns:1fr;gap:24px}.board-detail-sidebar-left{position:static;order:2}.board-detail-main{order:1}.board-detail-sidebar-right{position:static;order:3}.board-detail-tabs{gap:16px}}.article-mobile-header{display:none}.article-photo-list{display:flex;flex-direction:column;gap:24px;margin:24px 0}.article-photo img{width:100%;height:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a}.comment-actions-mobile{display:none}@media (max-width: 768px){.board-detail-grid{display:block}.board-detail-sidebar-left,.board-detail-sidebar-right,.board-detail-tabs,.article-header,.article-image,.comment-form-desktop{display:none}.board-detail-container{padding:0;background-color:#fff;min-height:100vh;max-width:100%}.board-detail-main{width:100%;max-width:100%;padding:0}.board-detail-article{width:100%;padding:0;background-color:#fff;border:none;border-radius:0;margin:0;box-shadow:none;min-height:calc(100vh - var(--header-h, 64px))}.article-mobile-header{display:block;padding:16px 20px}.article-mobile-meta,.article-mobile-author{display:flex;align-items:center;gap:12px}.article-mobile-avatar{width:48px;height:48px;border-radius:50%;background-size:cover;background-position:center;background-color:#e9ecef;flex-shrink:0}.article-mobile-author-info{display:flex;flex-direction:column;gap:4px}.article-mobile-author-name{font-size:16px;font-weight:600;color:#212529}.article-mobile-time{font-size:13px;color:#868e96}.article-content{padding:0 20px;font-size:16px;line-height:1.75;color:#212529}.article-content p{margin:16px 0}.article-photo-list{margin:24px 0 32px;gap:16px;padding:0 20px}.article-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:32px 20px 20px;border-top:1px solid #E5E5EA;margin-top:24px}.article-actions:before{display:none}.article-actions-left,.article-action-buttons{display:contents}.comments-section{padding:0 20px 72px;border-top:none}.comments-title{font-size:18px;font-weight:700;color:#212529;margin:24px 0 16px}}.article-mobile-title{font-size:24px;font-weight:700;color:#212529;margin:0;line-height:1.4}.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - var(--header-h, 64px));padding:32px 16px;background-color:#f8f9fb}.login-content{width:100%;max-width:480px}.login-header{text-align:center;margin-bottom:32px}.login-title{font-size:32px;font-weight:700;color:#111827;margin-bottom:12px}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:24px}.login-form{display:flex;flex-direction:column;gap:24px}.form-input{width:100%;padding:12px 16px;font-size:16px;color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;transition:all .2s ease}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6d28d91a}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;color:#9ca3af;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-login{width:100%;padding:14px;font-size:16px;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;box-shadow:0 1px 2px #0000000d}.btn-login:hover{background-color:#6a1fc7}.btn-login:focus{outline:none;box-shadow:0 0 0 3px #6d28d933}.login-links{display:flex;justify-content:center;align-items:center;gap:12px;font-size:14px;text-align:center;color:#6b7280}.login-links-desktop{flex-direction:column;border-top:1px solid #f1f5f9;padding-top:20px;margin-top:12px;gap:8px}.login-link{font-weight:500;color:inherit;text-decoration:none;transition:color .2s ease;background:none;border:none;padding:0;cursor:pointer}.login-link:hover{color:var(--color-primary)}.login-link-action{font-family:inherit}.login-link-separator{color:#cbd5f5;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.login-links-mobile{width:100%;display:none;margin-top:12px;gap:10px;justify-content:center;align-items:center}.social-login-top-divider{width:100%;height:1px;background-color:#e5e7eb;margin:16px 0 12px}.social-login{display:flex;justify-content:center}.btn-kakao{display:flex;align-items:center;justify-content:center;width:auto;max-width:384px;padding:4px 0;background-color:transparent;border:none;cursor:pointer;transition:opacity .2s ease}.btn-kakao:hover{opacity:.9}.btn-kakao:active{opacity:.85}.btn-kakao:focus{outline:none;box-shadow:0 0 0 3px #fee50033}.kakao-login-image{display:block;max-width:100%;height:auto;border-radius:12px}@media (prefers-color-scheme: dark){.login-container{background-color:#111827}.login-card{background-color:#1f2937;border-color:#374151;box-shadow:0 1px 2px #0f172a99}.login-title{color:#f9fafb}.login-subtitle{color:#9ca3af}.form-label{color:#d1d5db}.form-input{background-color:#374151;border-color:#4b5563;color:#f9fafb}.form-input::placeholder{color:#9ca3af}.login-links{color:#d1d5db}.divider-line,.social-login-top-divider,.password-toggle:hover{background-color:#374151}}@media (max-width: 768px){.login-container{padding:24px 16px}.login-title{font-size:28px}.login-subtitle{font-size:15px}.login-card{padding:28px 24px}.login-links-desktop{display:none}.login-links-mobile{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px}}@media (max-width: 480px){.login-card{padding:24px;border-radius:10px}.login-links{flex-direction:column;gap:6px}}.signup-container{min-height:calc(100vh - var(--header-h, 64px));display:flex;align-items:center;justify-content:center;padding:48px 16px;background-color:#f8f9fa}.signup-content{width:100%;max-width:480px}.signup-header{text-align:center;margin-bottom:32px}.signup-title{font-size:36px;font-weight:700;color:#111827;margin:0 0 12px;letter-spacing:-.02em}.signup-subtitle{font-size:14px;color:#6b7280;margin:0}.signup-card{background-color:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.signup-form{display:flex;flex-direction:column;gap:24px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151}.form-input{width:100%;padding:10px 12px;font-size:14px;color:#111827;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;outline:none;transition:all .2s ease;box-sizing:border-box}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6d28d91a;background-color:#fff}.form-input:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-input::placeholder{color:#9ca3af}.email-input-wrapper{display:flex;gap:8px;align-items:stretch}.email-input-wrapper .form-input{flex:1}.btn-send-code{padding:10px 16px;font-size:14px;font-weight:500;color:var(--color-primary);background-color:#fff;border:1px solid var(--color-primary);border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.btn-send-code:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-send-code:disabled{background-color:#f3f4f6;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.user-id-input-wrapper{display:flex;gap:8px;align-items:stretch}.user-id-input-wrapper .form-input{flex:1}.btn-check-user-id{padding:10px 16px;font-size:14px;font-weight:500;color:var(--color-primary);background-color:#fff;border:1px solid var(--color-primary);border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.btn-check-user-id:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-check-user-id:disabled{background-color:#f3f4f6;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.verification-code-wrapper{display:flex;gap:8px;align-items:stretch}.verification-code-wrapper .form-input{flex:1}.btn-verify-code{padding:10px 16px;font-size:14px;font-weight:500;color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.btn-verify-code:hover:not(:disabled){background-color:#6d28d9e6}.btn-verify-code:disabled{background-color:#f3f4f6;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.verification-success{font-size:14px;color:#10b981;margin:4px 0 0;font-weight:500}.error-message{font-size:14px;color:#ef4444;margin:4px 0 0}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:#9ca3af;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.password-toggle:hover{color:#6b7280;background-color:#f3f4f6}.btn-signup{width:100%;padding:12px 16px;font-size:14px;font-weight:700;color:#fff;background-color:var(--color-primary);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.btn-signup:hover:not(:disabled){background-color:#6d28d9e6}.btn-signup:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.btn-signup:focus{outline:none;box-shadow:0 0 0 3px #6d28d933}.signup-links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:14px}.signup-link{font-weight:500;color:#6b7280;text-decoration:none;transition:color .2s ease}.signup-link:hover{color:var(--color-primary)}.signup-logo-mobile,.signup-links-mobile{display:none}@media (max-width: 768px){.signup-container{min-height:100vh;padding:0;background-color:#f7f6f8;align-items:flex-start}.signup-content{max-width:320px;padding:0 16px;display:flex;flex-direction:column;align-items:center;min-height:100vh;justify-content:center}.signup-header-desktop{display:none}.signup-logo-mobile{display:flex;justify-content:center;padding:40px 0}.signup-logo-text{font-size:36px;font-weight:700;color:#140e1b;margin:0;font-family:"Noto Serif",serif;letter-spacing:-.02em}.signup-card{width:100%;max-width:320px;padding:0;background-color:transparent;box-shadow:none;border:none}.form-group{margin-bottom:16px}.form-label{font-size:14px;font-weight:500;color:#140e1b;margin-bottom:8px}.form-input{height:56px;padding:15px;font-size:16px;background-color:#f7f6f8;border:1px solid #dbd0e7;border-radius:8px;color:#140e1b}.form-input:focus{border-color:var(--color-primary);background-color:#f7f6f8;box-shadow:0 0 0 2px #8727e740}.form-input:disabled{background-color:#f3f4f6;color:#9ca3af}.form-input-password{padding-right:48px}.email-input-wrapper{flex-direction:column;gap:8px}.email-input-wrapper .form-input{height:56px}.btn-send-code{height:56px;font-size:16px}.user-id-input-wrapper{flex-direction:column;gap:8px}.user-id-input-wrapper .form-input{height:56px}.btn-check-user-id{height:56px;font-size:16px}.verification-code-wrapper{flex-direction:column;gap:8px}.verification-code-wrapper .form-input{height:56px}.btn-verify-code{height:56px;font-size:16px}.password-toggle{right:16px;color:#868e96}.password-toggle .material-symbols-outlined{font-size:24px}.btn-signup{height:56px;font-size:16px;font-weight:700;background-color:var(--color-primary);border-radius:8px;margin-top:24px}.signup-links-desktop{display:none}.signup-links-mobile{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px;padding:32px 0}.signup-links-mobile .signup-link{font-size:14px;font-weight:500;color:#868e96}.signup-links-mobile .signup-link:hover{color:var(--color-primary)}}@media (prefers-color-scheme: dark){.signup-container{background-color:#121212}.signup-card{background-color:#1f2937;border-color:#374151}.signup-title{color:#fff}.signup-subtitle{color:#9ca3af}.form-label{color:#d1d5db}.form-input{background-color:#374151;border-color:#4b5563;color:#fff}.form-input:focus{background-color:#4b5563}.form-input:disabled{background-color:#1f2937;color:#6b7280}.form-input::placeholder{color:#6b7280}.btn-send-code{background-color:#1f2937;border-color:var(--color-primary);color:var(--color-primary)}.btn-send-code:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-send-code:disabled{background-color:#1f2937;color:#6b7280;border-color:#4b5563}.btn-check-user-id{background-color:#1f2937;border-color:var(--color-primary);color:var(--color-primary)}.btn-check-user-id:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-check-user-id:disabled{background-color:#1f2937;color:#6b7280;border-color:#4b5563}.signup-link{color:#9ca3af}.password-toggle:hover{background-color:#374151}}.forgot-password-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:20px}.forgot-password-content{width:100%;max-width:480px}.forgot-password-header{text-align:center;margin-bottom:32px}.forgot-password-title{font-size:32px;font-weight:700;color:#111827;margin-bottom:12px}.forgot-password-subtitle{font-size:16px;color:#6b7280;line-height:1.6}.forgot-password-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.forgot-password-form{display:flex;flex-direction:column;gap:24px}.forgot-password-links{display:flex;justify-content:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.forgot-password-link{color:var(--color-primary);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.forgot-password-link:hover{color:#6a1fc7;text-decoration:underline}.success-note{font-size:14px;color:#6b7280;text-align:left;margin-top:16px}@media (max-width: 640px){.forgot-password-container{min-height:calc(100vh - 150px);padding:16px}.forgot-password-title{font-size:24px}.forgot-password-subtitle{font-size:14px}.forgot-password-card{padding:24px}}.reset-password-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:20px}.reset-password-content{width:100%;max-width:480px}.reset-password-header{text-align:center;margin-bottom:32px}.reset-password-title{font-size:32px;font-weight:700;color:#111827;margin-bottom:12px}.reset-password-subtitle{font-size:16px;color:#6b7280;line-height:1.6}.reset-password-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.reset-password-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#374151}.password-input-wrapper{position:relative;display:flex;align-items:center}.form-input{width:100%;padding:12px 16px;font-size:16px;border:1px solid #d1d5db;border-radius:8px;transition:border-color .2s}.form-input-password{padding-right:48px}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6d28d91a}.form-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:color .2s}.password-toggle:hover{color:#374151}.password-toggle .material-symbols-outlined{font-size:20px}.btn-submit{width:100%;padding:14px;font-size:16px;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-submit:hover:not(:disabled){background-color:#6a1fc7}.btn-submit:disabled{background-color:#9ca3af;cursor:not-allowed}.reset-password-links{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.reset-password-link{color:var(--color-primary);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.reset-password-link:hover{color:#6a1fc7;text-decoration:underline}.success-message{text-align:center;padding:24px 0}.success-message p{font-size:16px;color:#111827;margin-bottom:16px;line-height:1.6}.success-note{font-size:14px;color:#6b7280;margin-top:16px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:24px}.error-message p{color:#dc2626;font-size:14px;margin:0;line-height:1.5}@media (max-width: 640px){.reset-password-container{min-height:calc(100vh - 150px);padding:16px}.reset-password-title{font-size:24px}.reset-password-subtitle{font-size:14px}.reset-password-card{padding:24px}}.notifications-container{min-height:calc(100vh - var(--header-h, 64px));background-color:#f7f6f8;padding:20px 16px}.notifications-content{max-width:960px;margin:0 auto}.notifications-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-bottom:16px}.notifications-title{font-size:36px;font-weight:900;color:#111827;margin:0;letter-spacing:-.03em;min-width:288px}.notifications-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-action{min-width:84px;max-width:480px;height:40px;padding:0 16px;font-size:14px;font-weight:700;color:#111827;background-color:#e2e8f0;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-action:hover{background-color:#cbd5e1}.notifications-list{display:flex;flex-direction:column;border-top:1px solid #e2e8f0}.notification-item{display:flex;gap:16px;padding:20px 16px;background-color:#f7f6f8;border-bottom:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease;position:relative;justify-content:space-between}.notification-item:hover{background-color:#f1f5f9}.notification-item.unread{border-left:4px solid var(--color-primary);background-color:#fff}.notification-item.important.unread{border-left:4px solid var(--color-primary)}.notification-content{display:flex;align-items:flex-start;gap:16px;flex:1}.notification-icon-wrapper{flex-shrink:0}.notification-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#e2e8f0;color:#111827}.notification-icon.primary{background-color:#8727e733;color:var(--color-primary)}.notification-icon .material-symbols-outlined{font-size:24px}.notification-text{display:flex;flex-direction:column;gap:4px;flex:1}.notification-title{font-size:16px;font-weight:700;color:#111827;margin:0}.notification-content-text{font-size:14px;color:#475569;margin:0;line-height:1.5}.notification-time{font-size:14px;color:#64748b;margin:0}.notification-indicator{flex-shrink:0;display:flex;width:28px;height:28px;align-items:center;justify-content:center}.unread-dot{width:10px;height:10px;border-radius:50%;background-color:var(--color-primary)}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px}.empty-icon{font-size:64px;color:#94a3b8;margin-bottom:16px}.empty-title{font-size:20px;font-weight:700;color:#475569;margin:0 0 8px}.empty-subtitle{font-size:14px;color:#64748b;margin:0}@media (prefers-color-scheme: dark){.notifications-container{background-color:#191121}.notifications-title{color:#f1f5f9}.btn-action{background-color:#334155;color:#f1f5f9}.btn-action:hover{background-color:#475569}.notifications-list{border-top-color:#334155}.notification-item{background-color:#191121;border-bottom-color:#334155}.notification-item:hover{background-color:#1e293b}.notification-item.unread{background-color:#0f172a}.notification-icon{background-color:#334155;color:#f1f5f9}.notification-title{color:#f1f5f9}.notification-content-text{color:#94a3b8}.notification-time{color:#64748b}.empty-icon{color:#475569}.empty-title{color:#cbd5e1}.empty-subtitle{color:#94a3b8}}.notifications-mobile-header,.notification-mobile-unread-dot,.notification-mobile-link{display:none}@media (max-width: 768px){.notifications-header-desktop,.notification-indicator-desktop{display:none}.notifications-container{padding:0;background-color:#f9f9f9;min-height:100vh}.notifications-content{max-width:100%;margin:0}.notifications-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:var(--header-h, 64px);z-index:5}.notifications-mobile-header-left{display:flex;align-items:center;gap:8px}.notifications-mobile-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;background:transparent;border:none;color:#333;cursor:pointer}.notifications-mobile-back .material-symbols-outlined{font-size:24px}.notifications-mobile-title{font-size:20px;font-weight:700;color:#333;margin:0}.notifications-mobile-header-actions{display:flex;align-items:center;gap:8px}.notifications-mobile-mark-all{height:36px;padding:0 12px;font-size:14px;font-weight:700;color:var(--color-primary);background-color:#6d28d91a;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.notifications-mobile-mark-all:hover{background-color:#6d28d933}.notifications-mobile-settings{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:#333;cursor:pointer;padding:0}.notifications-mobile-settings .material-symbols-outlined{font-size:24px}.notifications-list{border-top:none}.notification-item{position:relative;padding:16px;background-color:#fff;border-bottom:1px solid #e5e7eb;border-left:none}.notification-item.unread{border-left:4px solid var(--color-primary);background-color:#fff}.notification-item:last-child{border-bottom:none}.notification-item:not(.unread){background-color:#f9f9f980}.notification-mobile-unread-dot{position:absolute;left:16px;top:20px;width:10px;height:10px;border-radius:50%;background-color:var(--color-primary);display:block}.notification-content{margin-left:28px;gap:12px}.notification-icon{width:48px;height:48px;border-radius:50%;background-color:#6d28d91a}.notification-icon.primary{background-color:#6d28d91a;color:var(--color-primary)}.notification-icon .material-symbols-outlined{font-size:24px}.notification-title{font-size:16px;font-weight:500;color:#333}.notification-mobile-link{display:block;font-size:14px;color:var(--color-primary);margin:4px 0}.notification-content-text,.notification-time{font-size:14px;color:#888;margin:0}.notifications-empty{padding:80px 20px}.empty-icon{font-size:80px;color:#88888880;margin-bottom:16px}.empty-title{font-size:18px;font-weight:700;color:#333}.empty-subtitle{font-size:14px;color:#888}}.notifications-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center}.notifications-settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;border:none}.notifications-settings-panel{position:relative;width:420px;max-width:calc(100% - 40px);background:#fff;border-radius:20px;padding:28px 32px;display:flex;flex-direction:column;gap:24px;box-shadow:0 32px 80px -24px #0f172a59}.notifications-settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.notifications-settings-header h2{margin:0;font-size:22px;font-weight:700;color:#1f2937}.notifications-settings-close{border:none;background:transparent;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:background-color .2s ease}.notifications-settings-close:hover:not(:disabled){background-color:#7c48e21f}.notifications-settings-body{display:flex;flex-direction:column;gap:16px}.notifications-settings-loading{font-size:14px;color:#6b7280;text-align:center;padding:32px 0}.notifications-settings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.notifications-settings-item{display:flex;align-items:center;gap:16px;justify-content:space-between}.notifications-settings-item-text{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.notifications-settings-item-title{margin:0;font-size:16px;font-weight:600;color:#1f2937}.notifications-settings-item-description{margin:0;font-size:13px;color:#6b7280;line-height:1.5}.notifications-settings-toggle{border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;color:#94a3b8;transition:color .2s ease}.notifications-settings-toggle .material-symbols-outlined{font-size:36px}.notifications-settings-toggle.active{color:var(--color-primary)}.notifications-settings-actions{display:flex;justify-content:flex-end;gap:12px}.notifications-settings-button{min-width:96px;height:42px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.notifications-settings-button.primary{background-color:var(--color-primary);color:#fff}.notifications-settings-button.secondary{background-color:#e5e5ea;color:#1c1c1e}.notifications-settings-button:disabled{opacity:.6;cursor:not-allowed}.notifications-settings-button.primary:hover:not(:disabled){transform:translateY(-1px)}@media (max-width: 768px){.notifications-settings-panel{width:92%;max-width:420px;margin:0 auto;border-radius:20px 20px 0 0;padding:24px 20px 20px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.notifications-settings-actions{flex-direction:column}.notifications-settings-button{width:100%}}.diary-page{min-height:calc(100vh - var(--header-h, 64px));background:#f8f9fb;padding:16px;display:flex;flex-direction:column}.diary-layout{display:grid;grid-template-columns:420px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"calendar quick" "timeline timeline";gap:16px;height:calc(100vh - var(--header-h, 64px));min-height:0}.diary-card{border-radius:20px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.diary-card-body{flex:1;display:flex;flex-direction:column;padding:20px;gap:16px;overflow:auto;min-height:0}.diary-calendar{grid-area:calendar}.diary-quick-entry{grid-area:quick}.diary-timeline{grid-area:timeline;min-height:0}.diary-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.diary-nav-btn{border:none;background:transparent;color:var(--color-primary);font-size:20px;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .2s ease}.diary-nav-btn:hover{background:#6d28d914}.diary-calendar-title{margin:0;font-size:18px;font-weight:700}.diary-today-chip{background:var(--color-primary-light);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;color:var(--color-primary)}.diary-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.diary-weekday{font-weight:600;font-size:13px}.diary-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.diary-calendar-cell{position:relative;display:grid;align-content:start;gap:6px;padding:10px;border:1px solid var(--color-border);border-radius:14px;background:#fff;height:76px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.diary-calendar-cell.is-outside{opacity:.3;cursor:default}.diary-calendar-cell.is-selected{border:2px solid var(--color-accent, #6c5ce7);transform:translateY(-2px)}.diary-calendar-cell:disabled{cursor:default}.diary-calendar-day{font-size:15px;font-weight:600;color:var(--color-fg)}.diary-calendar-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent, #6c5ce7);margin-top:auto}.diary-calendar-count{position:absolute;right:8px;bottom:8px;min-width:20px;height:20px;border-radius:12px;background:var(--color-primary);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.diary-calendar-count.is-today{background:var(--color-accent, #6c5ce7)}.diary-section-title{margin:0;font-size:18px;font-weight:700;color:var(--color-fg)}.diary-record-toggle{display:flex;gap:8px;flex-wrap:wrap}.diary-toggle-btn{flex:1;min-width:140px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);background:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.diary-toggle-btn.active{border:2px solid var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.diary-toggle-btn:not(.active):hover{border-color:#6d28d966}.diary-quick-form{display:grid;gap:16px}.diary-inline-fields{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,.75fr));gap:8px;align-items:end}.diary-inline-fields .field{min-width:0}.diary-inline-fields .field label{margin-bottom:3px;font-size:12px}.diary-inline-fields .input{width:100%;padding:6px 10px;min-height:34px;font-size:14px}.diary-bristol-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.diary-bristol-btn{border:1px solid var(--color-border);border-radius:12px;padding:10px;background:transparent;display:grid;gap:6px;justify-items:center;align-content:start;cursor:pointer;transition:all .2s ease}.diary-bristol-btn.active{border:2px solid var(--color-primary);background:var(--color-primary-light)}.diary-bristol-btn img{width:100%;max-width:72px;border-radius:6px;border:1px solid var(--color-border)}.diary-bristol-btn strong{font-size:14px;color:var(--color-fg)}.diary-bristol-btn span{font-size:11px;text-align:center;line-height:1.35;color:var(--color-muted)}.diary-rating{display:flex;align-items:center;gap:6px}.diary-rating-star{border:none;background:transparent;font-size:24px;cursor:pointer;line-height:1;transition:color .2s ease;color:var(--color-border)}.diary-rating-star.active{color:#f5a623}.diary-rating-text{font-size:13px}.diary-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.diary-photo-grid img{width:100%;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border);cursor:pointer}.diary-photo-thumb{padding:4px}.diary-photo-thumb img{width:100%;height:64px;object-fit:cover;border-radius:6px}.diary-photo-grid--blur img{filter:blur(8px);transition:filter .2s ease}.diary-photo-blur{position:relative;display:grid;place-items:center}.diary-photo-blur span{position:absolute;font-size:24px}.diary-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.diary-selected-date{font-weight:700;color:var(--color-accent, #6c5ce7);min-width:80px;text-align:right}.diary-timeline-list{display:grid;gap:16px;overflow:auto}.diary-timeline-item{display:grid;grid-template-columns:90px 2px 1fr;gap:16px;align-items:start}.diary-timeline-time{display:grid;justify-items:end}.diary-timeline-time span{background:#fff;padding:4px 8px;border-radius:8px;border:1px solid var(--color-border);font-weight:700;color:var(--color-accent, #6c5ce7)}.diary-timeline-divider{width:2px;background:var(--color-border);border-radius:999px;margin-top:6px}.diary-timeline-content{display:grid;gap:10px}.diary-timeline-card{padding:16px;display:grid;gap:12px}.diary-timeline-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.diary-timeline-card-title{display:flex;align-items:center;gap:8px}.diary-timeline-card-title strong{color:var(--color-accent, #6c5ce7)}.diary-timeline-card-actions{display:flex;gap:8px}.diary-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:grid;place-items:center;z-index:2000;padding:24px}.diary-modal{max-width:420px;width:100%;padding:24px;display:grid;gap:16px}.diary-modal-actions{display:flex;justify-content:flex-end;gap:8px}.diary-modal-confirm{background:var(--color-primary);color:#fff;border:none}.diary-modal-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:12px;box-shadow:0 12px 32px #00000059}@media (max-width: 1280px){.diary-layout{grid-template-columns:360px 1fr}}@media (max-width: 1024px){.diary-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));grid-template-areas:"calendar" "quick" "timeline";height:auto}.diary-card{max-height:none}.diary-card-body{max-height:60vh}}@media (max-width: 768px){.diary-page{padding:12px}.diary-layout{display:flex;flex-direction:column;gap:16px;height:auto}.diary-card-body{padding:18px;max-height:none}.diary-calendar .diary-card-body{padding:16px;gap:14px;max-height:360px}.diary-calendar-header{padding-bottom:4px}.diary-calendar-title{font-size:16px}.diary-today-chip{padding:8px 12px;font-size:13px}.diary-calendar-grid,.diary-weekdays{gap:6px}.diary-weekday{font-size:12px}.diary-calendar-cell{height:64px;padding:8px;border-radius:12px}.diary-calendar-day{font-size:13px}.diary-inline-fields{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,.7fr));gap:6px}.diary-bristol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diary-timeline-item{grid-template-columns:70px 2px 1fr;gap:12px}.diary-timeline-list{max-height:none}}@media (max-width: 540px){.diary-page{padding:8px;background:#fff}.diary-card{border-radius:16px}.diary-calendar .diary-card-body{padding:14px;gap:12px;max-height:320px}.diary-inline-fields{grid-template-columns:minmax(0,.95fr) repeat(2,minmax(0,.65fr));gap:6px}.diary-bristol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-calendar-cell{height:56px;padding:6px;border-radius:10px}.diary-calendar-day{font-size:12px}.diary-calendar-count{min-width:18px;height:18px;font-size:11px;right:6px;bottom:6px}.diary-timeline-item{grid-template-columns:1fr;gap:8px}.diary-timeline-time{justify-items:start}.diary-timeline-divider{display:none}}
