@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css";:root{--paper:#fafaf7;--paper-2:#fff;--paper-muted:#f5f4ef;--ink:#0b1220;--ink-2:#3b4457;--ink-3:#6b7280;--line:#e5e7eb;--accent:#0f3d5c;--accent-hover-:#0a2d46;--accent-soft:#0f3d5c14;--signal-up:#126e3b;--signal-down:#9b1c1c;--signal-live:#c8661d;--radius-sm:4px;--radius-md:8px;--radius-pill:999px;--shadow-hairline:0 0 0 1px var(--line);--shadow-overlay:0 8px 24px #0b122014;--container-max:1200px;--bg-primary:var(--paper-2);--bg-secondary:var(--paper);--bg-accent:var(--paper-muted);--text-primary:var(--ink);--text-secondary:var(--ink-2);--text-muted:var(--ink-3);--card-bg:var(--paper-2);--border-color:var(--line);--border-subtle:var(--line);--surface-card:var(--paper-2);--surface-muted:var(--paper-muted);--accent-color:var(--accent);--accent-hover:var(--accent-hover-);--accent-orange:var(--signal-live);--accent-orange-hover:#a5571a;--navy:var(--accent);--navy-900:#061b2d;--navy-700:var(--accent-hover-);--navy-200:#d5dee8;--navy-50:var(--paper-muted);--shadow-sm:var(--shadow-hairline);--shadow-md:var(--shadow-hairline);--shadow-lg:var(--shadow-overlay);--shadow-card:var(--shadow-hairline);--admin-surface:var(--paper-2);--admin-surface-muted:var(--paper-muted);--admin-border:var(--line);--admin-muted:var(--ink-3);--admin-accent:var(--accent);--admin-accent-hover:var(--accent-hover-);--admin-accent-soft:var(--accent-soft);--admin-stat-icon:var(--accent);--admin-shadow:var(--shadow-hairline)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;line-height:1.55;overflow-x:hidden}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.015em;font-family:inherit;font-weight:700;line-height:1.25}.container{flex-direction:column;flex-grow:1;display:flex}@keyframes ticker-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-wrap{background-color:var(--navy);border-bottom:1px solid #ffffff14;align-items:center;width:100%;min-height:36px;margin-bottom:0;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -1px #0003}.live-badge{background:var(--accent-orange);color:#fff;letter-spacing:.12em;z-index:2;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:800;display:inline-flex;position:relative;box-shadow:2px 0 6px #00000040}.live-badge:before{content:"";background:#fff;border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 #ffffffb3}50%{opacity:.6;box-shadow:0 0 0 5px #fff0}}.ticker-viewport{flex:1;align-items:center;height:36px;display:flex;position:relative;overflow:hidden}.ticker-content{white-space:nowrap;will-change:transform;color:#f8fafc;align-items:center;gap:28px;padding-left:28px;font-size:12.5px;font-weight:600;animation:60s linear infinite ticker-marquee;display:inline-flex}.ticker-content:hover{animation-play-state:paused}.ticker-item{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.ticker-item .ticker-label{color:#94a3b8;letter-spacing:.02em;font-size:11.5px;font-weight:600}.ticker-item .ticker-value{color:#fff;font-variant-numeric:tabular-nums;font-weight:700}.ticker-change{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.ticker-change.up{color:var(--signal-up)}.ticker-change.down{color:var(--signal-down)}.ticker-time{color:#cbd5e1;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}header{z-index:1000;border-bottom:1px solid var(--border-color);width:100%;height:85px;box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:0 4rem;display:flex;position:sticky;top:0}header .logo-container{cursor:pointer;border-right:1px solid #f1f5f9;align-items:center;gap:.75rem;padding-right:2rem;display:flex}header .logo-text{color:var(--text-primary);letter-spacing:-1px;font-family:inherit;font-size:1.5rem;font-weight:800}.top-nav-menu{flex:1;gap:2.5rem;padding-left:2rem;list-style:none;display:flex}.top-nav-item{color:var(--text-primary);cursor:pointer;align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:color .2s;display:flex}.top-nav-item:hover{color:var(--accent-color)}.nav-dropdown{position:relative}.nav-dropdown-menu{border:1px solid var(--border-color);z-index:2000;background:#fff;border-radius:.75rem;min-width:220px;margin-top:.75rem;padding:.5rem 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 10px 40px #0000001f}.nav-dropdown-menu:before{content:"";width:100%;height:.75rem;position:absolute;top:-.75rem;left:0}.nav-dropdown:hover .nav-dropdown-menu{display:block}.nav-dropdown-item{color:var(--text-primary);padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .15s;display:block}.nav-dropdown-item:hover{background:var(--bg-accent);color:var(--accent-color)}.nav-dropdown-item.has-ko{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.nav-dropdown-item.has-ko .item-ko{color:#94a3b8;white-space:nowrap;font-size:.8em;transition:color .15s}.nav-dropdown-item.has-ko:hover .item-ko{color:var(--accent-color)}.header-right{align-items:center;gap:1.5rem;display:flex}.search-icon-btn,.global-icon-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;transition:color .2s;display:flex}.search-icon-btn:hover,.global-icon-btn:hover{color:var(--accent-color)}.header-search-wrapper{align-items:center;display:flex;position:relative}.header-search-input{opacity:0;width:0;color:var(--text-primary);background:0 0;border:1.5px solid #0000;border-radius:.625rem;outline:none;padding:0;font-family:inherit;font-size:.9rem;transition:all .3s}.header-search-input.open{border-color:var(--text-primary);opacity:1;width:200px;margin-right:.25rem;padding:.5rem 1rem}.header-search-input::placeholder{color:var(--text-secondary)}.btn-demo{background:var(--accent-color);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:.9rem;font-weight:700;transition:background .2s}.btn-demo:hover{background:var(--accent-hover)}.btn-login-outline{border:1.5px solid var(--text-primary);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:.625rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.btn-login-outline:hover{background:var(--text-primary);color:#fff}main{width:100%;max-width:var(--container-max);margin:0 auto;padding:3rem 4rem}.header-clock{color:var(--text-muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-family:inherit;font-size:.78rem;font-weight:600}.header-admin-btn{letter-spacing:.04em;color:#fff;background:var(--navy);border:1px solid var(--navy);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:.55rem .95rem;font-family:inherit;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.header-admin-btn:hover{background:var(--navy-700)}.header-admin-btn svg{flex-shrink:0}.header-auth-btn{letter-spacing:.02em;color:var(--navy);border:1px solid var(--navy-200);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:.55rem .95rem;font-family:inherit;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.header-auth-btn svg{flex-shrink:0}.header-auth-btn:hover{background:var(--navy-50);border-color:var(--navy);color:var(--navy)}.header-auth-btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.header-auth-btn.primary:hover{background:var(--navy-700);border-color:var(--navy-700);color:#fff}.header-auth-btn.ghost{color:var(--text-muted);border-color:var(--border-subtle);background:0 0}.header-auth-btn.ghost:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.portal-search-wrap{width:100%;max-width:var(--container-max);margin:0 auto;padding:2rem 4rem 1.25rem}.portal-search-form{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:0;width:100%;padding:.5rem .5rem .5rem 1.1rem;transition:border-color .15s;display:flex}.portal-search-form:focus-within{border-color:var(--accent)}.portal-search-icon{color:var(--text-muted);flex-shrink:0}.portal-search-input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:.9rem .85rem;font-family:inherit;font-size:.95rem}.portal-search-input::placeholder{color:var(--text-muted)}.portal-search-btn{color:#fff;background:var(--navy);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:.75rem 1.75rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:background .15s}.portal-search-btn:hover{background:var(--navy-700)}.portal-hero-wrap{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 4rem 1.75rem}.hero-banners{aspect-ratio:6;cursor:pointer;border:1px solid #e3e5e8;border-radius:8px;position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity .8s ease-in-out;position:absolute;inset:0}.hero-slide.active{opacity:1;z-index:2}.hero-slide img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.hero-banners:hover img{transform:scale(1.02)}.banner-overlay{pointer-events:none;background:linear-gradient(90deg,#000000b3 0%,#0000001a 100%);flex-direction:column;justify-content:center;padding:40px;display:flex;position:absolute;inset:0}.b-tag-wrap{margin-bottom:12px;display:flex}.b-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;letter-spacing:.5px;background:#ffffff4d;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700}.b-title{color:#fff;text-shadow:0 2px 4px #0000004d;font-size:24px;font-weight:700;line-height:1.3}.hero-dummy{color:#fff;text-align:center;background:linear-gradient(135deg,#185fa5,#0c2340);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.hd-title{letter-spacing:1px;margin-bottom:8px;font-size:40px;font-weight:800}.hd-sub{opacity:.9;font-size:16px;font-weight:500}@media (width<=900px){.portal-search-wrap,.portal-hero-wrap{padding-left:1rem;padding-right:1rem}}@media (width<=600px){.b-title{font-size:20px}.hd-title{font-size:24px}.hero-banners{aspect-ratio:16/5}}.market-section{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:2rem;padding:1.25rem 0 1.5rem}.market-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.95rem;padding-bottom:.85rem;display:flex}.market-title{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;align-items:baseline;gap:.6rem;margin:0;font-family:inherit;font-size:.95rem;font-weight:700;display:inline-flex}.market-title-badge{letter-spacing:.1em;color:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-sm);text-transform:uppercase;background:0 0;padding:2px 7px;font-family:inherit;font-size:.62rem;font-weight:600;display:inline-block}.market-more{color:var(--text-muted);white-space:nowrap;font-size:.76rem;font-weight:600;text-decoration:none;transition:color .15s}.market-more:hover{color:var(--accent-orange)}.market-loading,.market-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.86rem}.market-grid{grid-template-columns:repeat(4,1fr);gap:.85rem;display:grid}.market-card{color:inherit;background:var(--surface-card);border:1px solid var(--border-subtle);cursor:pointer;border-radius:10px;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.market-card.no-link{cursor:default}.market-hover{background:var(--ink);color:#fff;opacity:0;pointer-events:none;flex-direction:column;gap:8px;padding:18px;transition:opacity .18s ease-in-out;display:flex;position:absolute;inset:0}.market-card:hover .market-hover{opacity:1}.market-hover-title{-webkit-line-clamp:2;line-clamp:2;border-bottom:1px solid #ffffff24;-webkit-box-orient:vertical;margin-bottom:6px;padding-bottom:8px;font-size:.92rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.market-hover-dl{flex-direction:column;gap:6px;margin:0;display:flex}.market-hover-row{justify-content:space-between;align-items:baseline;gap:10px;font-size:.78rem;display:flex}.market-hover-row dt{color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-size:.7rem;font-weight:500}.market-hover-row dd{color:#fff;text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.market-card:hover{border-color:var(--line);box-shadow:var(--shadow-hairline);transform:none}.market-thumb{aspect-ratio:4/3;background:var(--surface-muted);width:100%;position:relative;overflow:hidden}.market-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.market-card:hover .market-thumb img{transform:scale(1.04)}.market-thumb-placeholder{width:100%;height:100%;color:var(--navy-200);background:linear-gradient(135deg, var(--navy-50) 0%, var(--surface-muted) 100%);justify-content:center;align-items:center;display:flex}.market-meta{flex-direction:column;flex:1;gap:3px;padding:.7rem .8rem .85rem;display:flex}.market-cat{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-family:inherit;font-size:.66rem;font-weight:700}.market-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.82rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.market-price{color:var(--navy);font-variant-numeric:tabular-nums;margin-top:auto;padding-top:6px;font-family:inherit;font-size:.88rem;font-weight:800}@media (width<=1100px){.market-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.market-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.market-name{font-size:.78rem}}.post-notice-badge{letter-spacing:.06em;color:#fff;background:var(--accent-orange);vertical-align:middle;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;margin-right:6px;padding:2px 8px;font-family:inherit;font-size:.66rem;font-weight:800;display:inline-flex}.gallery-row.is-notice{background:#fff7ed}.gallery-row.is-notice:hover{background:#ffedd5}.gallery-row.is-notice .col-no{text-align:center}.post-notice-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 14px;display:inline-flex}.post-notice-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-orange);cursor:pointer}.post-notice-label{color:#9a3412;font-size:.86rem;font-weight:600}.hub-popular-section{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:2rem;padding:1.25rem 0 .25rem}.hub-popular-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:0;padding-bottom:.85rem;display:flex}.hub-popular-title{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;align-items:baseline;gap:.5rem;margin:0;font-family:inherit;font-size:.95rem;font-weight:700;display:inline-flex}.hub-popular-more{color:var(--ink-3);white-space:nowrap;font-size:.76rem;font-weight:500;text-decoration:none;transition:color .15s}.hub-popular-more:hover{color:var(--accent)}.hub-popular-loading,.hub-popular-empty{text-align:center;color:var(--text-muted);padding:1.6rem 1rem;font-size:.86rem}.hub-popular-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hub-popular-item{border-bottom:1px solid var(--border-subtle)}.hub-popular-item:last-child{border-bottom:none}.hub-popular-item{border-top:1px solid var(--line)}.hub-popular-link{color:inherit;grid-template-columns:130px minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding:.85rem .1rem;text-decoration:none;transition:background .15s;display:grid}.hub-popular-link:hover{background:var(--paper-muted)}.hub-popular-link:hover .hub-popular-name{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.hub-popular-tag{min-width:0;max-width:130px;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:0;flex-shrink:0;padding:0;font-family:inherit;font-size:.68rem;font-weight:600;display:inline-block;overflow:hidden}.hub-popular-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:600;line-height:1.45;transition:color .15s;overflow:hidden}.hub-popular-stats{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:.85rem;font-size:.74rem;font-weight:600;display:inline-flex}.hub-popular-stat{align-items:center;gap:4px;display:inline-flex}.hub-popular-stat svg{opacity:.8}@media (width<=720px){.hub-popular-link{flex-wrap:wrap;gap:.5rem .7rem}.hub-popular-name{white-space:normal;flex-basis:100%;order:3}.hub-popular-stats{order:2}}.featured-news-section{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:2rem;padding:1.25rem 0 .25rem}.featured-news-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:0;padding-bottom:.85rem;display:flex}.featured-news-title{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;align-items:baseline;gap:.5rem;margin:0;font-family:inherit;font-size:.95rem;font-weight:700;display:inline-flex}.featured-news-title svg{display:none}.featured-news-more{color:var(--ink-3);white-space:nowrap;font-size:.76rem;font-weight:500;text-decoration:none;transition:color .15s}.featured-news-more:hover{color:var(--accent)}.featured-news-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.featured-news-item{border-top:1px solid var(--line)}.featured-news-item:last-child{border-bottom:none}.featured-news-link{color:inherit;grid-template-columns:88px minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding:.85rem .1rem;text-decoration:none;transition:background .15s;display:grid}.featured-news-link:hover{background:var(--paper-muted)}.featured-news-link:hover .featured-news-headline{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.featured-news-tag{color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;border-radius:0;flex-shrink:0;padding:0;font-family:inherit;font-size:.68rem;font-weight:600;display:inline-block}.featured-news-headline{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:600;line-height:1.45;transition:color .15s;overflow:hidden}.featured-news-time{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;font-size:.78rem;font-weight:500}@media (width<=720px){.featured-news-link{flex-wrap:wrap;gap:.5rem .7rem}.featured-news-headline{white-space:normal;flex-basis:100%;order:3}.featured-news-time{order:2}}.portal-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:2rem;display:grid}.portal-main{min-width:0}.portal-sidebar{flex-direction:column;gap:1.25rem;display:flex;position:sticky;top:105px}.sidebar-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1rem 1.1rem}.sidebar-card-title{color:var(--navy);align-items:center;gap:.4rem;margin-bottom:.75rem;font-family:inherit;font-size:.95rem;font-weight:700;display:flex}.sidebar-card-placeholder{color:var(--text-muted);text-align:center;padding:.75rem 0;font-size:.82rem}.sidebar-login-card .sidebar-login-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.sidebar-login-card .sidebar-login-header .sidebar-card-title{margin-bottom:0}.sidebar-login-signup{color:var(--text-muted);align-items:center;gap:2px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.sidebar-login-signup:hover{color:var(--accent-orange)}.sidebar-login-form{flex-direction:column;gap:.5rem;display:flex}.sidebar-login-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;color:var(--text-primary);outline:none;padding:.55rem .7rem;font-family:inherit;font-size:.82rem;transition:border-color .15s}.sidebar-login-input:focus{border-color:var(--navy);background:#fff}.sidebar-login-btn{color:#fff;background:var(--navy);border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;margin-top:.25rem;padding:.6rem .7rem;font-family:inherit;font-size:.82rem;font-weight:700;transition:background .15s}.sidebar-login-btn:hover:not(:disabled){background:var(--navy-700)}.sidebar-login-btn:disabled{opacity:.6;cursor:not-allowed}.sidebar-login-error{color:#dc2626;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:.45rem .6rem;font-size:.72rem}.sidebar-login-links{justify-content:center;gap:.5rem;margin-top:.75rem;font-size:.72rem;display:flex}.sidebar-login-links a{color:var(--text-muted);text-decoration:none}.sidebar-login-links a:hover{color:var(--navy)}.sidebar-user-card .sidebar-user-top{align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.sidebar-user-avatar{background:var(--navy-50);width:40px;height:40px;color:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-meta{min-width:0}.sidebar-user-name{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-family:inherit;font-size:.92rem;font-weight:700;overflow:hidden}.sidebar-user-role{color:var(--text-muted);font-size:.72rem}.sidebar-user-actions{gap:.5rem;display:flex}.sidebar-user-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:.5rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.sidebar-user-btn.primary{background:var(--navy);color:#fff}.sidebar-user-btn.primary:hover{background:var(--navy-700)}.sidebar-user-btn.ghost{border-color:var(--border-subtle);color:var(--text-muted);background:0 0}.sidebar-user-btn.ghost:hover{border-color:var(--navy);color:var(--navy)}.sidebar-partner-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-partner-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-muted);transition:border-color .15s,background .15s}.sidebar-partner-item:hover{border-color:var(--navy-200);background:#fff}.sidebar-partner-link{color:inherit;align-items:center;gap:10px;padding:.6rem .75rem;text-decoration:none;display:flex}.sidebar-partner-logo{object-fit:contain;border:1px solid var(--border-subtle);background:#fff;border-radius:4px;flex-shrink:0;width:56px;height:36px}.sidebar-partner-text{flex:1;min-width:0}.sidebar-partner-name{color:var(--navy);align-items:center;gap:4px;font-size:.84rem;font-weight:700;display:inline-flex}.sidebar-partner-name svg{opacity:.5}.sidebar-partner-desc{color:var(--text-muted);margin-top:2px;font-size:.72rem;line-height:1.4}.sidebar-weather-card{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-900) 100%);border-color:var(--navy-900);color:#e2e8f0}.sidebar-weather-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:.85rem;display:flex}.sidebar-weather-port{color:#fff;align-items:center;gap:4px;min-width:0;font-size:.78rem;font-weight:700;display:inline-flex}.sidebar-weather-select{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;max-width:150px;font-family:inherit;font-size:.78rem;font-weight:700}.sidebar-weather-select option{color:var(--text-primary);background:#fff}.sidebar-weather-updated{color:#94a3b8;white-space:nowrap;font-size:.66rem}.sidebar-weather-main{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.sidebar-weather-temp{color:#fff;font-family:inherit;font-size:1.8rem;font-weight:700;line-height:1.1}.sidebar-weather-desc{color:#cbd5e1;font-size:.72rem}.sidebar-weather-icon{font-size:2rem;line-height:1}.sidebar-weather-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.sidebar-weather-source{color:#ffffff73;border-top:1px solid #ffffff14;margin-top:.55rem;padding-top:.55rem;font-size:.68rem;line-height:1.4}.sidebar-weather-source a{color:#ffffffb3;border-bottom:1px dotted #ffffff4d;text-decoration:none}.sidebar-weather-source a:hover{color:#fffffff2;border-bottom-color:#ffffffb3}.sidebar-weather-cell{border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff14;padding:.45rem .55rem}.sidebar-weather-label{color:#94a3b8;align-items:center;gap:3px;margin-bottom:2px;font-size:.64rem;display:inline-flex}.sidebar-weather-value{color:#fff;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}@media (width<=1100px){.portal-grid{grid-template-columns:1fr;gap:1.5rem}.portal-sidebar{flex-flow:wrap;position:static}.portal-sidebar .sidebar-card{flex:280px}}.section-title{align-items:center;gap:.75rem;margin-bottom:2rem;font-size:1.75rem;font-weight:800;display:flex}.top-news-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.news-card{background:var(--paper-2);border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:none;flex-direction:column;height:100%;transition:border-color .2s;display:flex;overflow:hidden}.news-card:hover{box-shadow:none;border-color:var(--ink-3);transform:none}.card-image-wrapper{border-bottom:1px solid var(--line);width:100%;height:200px;position:relative;overflow:hidden}.card-image{object-fit:cover;filter:saturate(.92);width:100%;height:100%;transition:transform .4s}.news-card:hover .card-image{filter:saturate();transform:none}.category-tag{color:#fff;text-transform:uppercase;letter-spacing:.14em;-webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:0 1px 3px #0009;background:0 0;border-radius:0;padding:0;font-size:.68rem;font-weight:600;position:absolute;top:1rem;left:1rem}.card-content{flex-grow:1;padding:1.25rem 1.25rem 1.5rem}.card-title{color:var(--ink);margin-bottom:.75rem;font-size:1.1rem;font-weight:600;line-height:1.4}.card-summary{color:var(--ink-2);margin-bottom:1.25rem;font-size:.9rem;line-height:1.55}.news-list{flex-direction:column;gap:0;display:flex}.list-item{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;gap:2rem;padding:1.25rem .25rem;transition:background .15s;display:flex}.list-item:first-child{border-top:0}.list-item:hover{border-color:var(--line);box-shadow:none;background:var(--paper-muted)}.list-image{object-fit:cover;border-radius:.75rem;width:240px;height:140px}.list-content h3{margin-bottom:.75rem;font-size:1.25rem}.list-content p{color:var(--text-secondary);line-height:1.5}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0f1e3a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{box-shadow:var(--shadow-lg);background:#fff;border-radius:1.5rem;width:100%;max-width:500px;padding:3rem;position:relative}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}@media (width<=1024px){header{height:70px;padding:0 1.5rem}header .logo-container{border:none;padding-right:1rem}header .logo-text{font-size:1.25rem}.top-nav-menu,.header-right{display:none}.top-nav-menu.mobile-open{z-index:1001;background:#fff;flex-direction:column;gap:1.5rem;width:100%;height:calc(100vh - 70px);padding:2rem;display:flex;position:fixed;top:70px;left:0;overflow-y:auto}.header-right.mobile-open{background:var(--bg-accent);border-top:1px solid var(--border-color);z-index:1002;flex-direction:column;gap:1rem;width:100%;padding:1.5rem;display:flex;position:fixed;bottom:0;left:0}.mobile-open .top-nav-item{border-bottom:1px solid var(--bg-accent);padding:.5rem 0;font-size:1.1rem}.mobile-menu-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}main{padding:1.5rem 1rem}.section-title{margin-bottom:1.5rem;font-size:1.5rem}.top-news-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.list-item{flex-direction:column;gap:1rem;padding:1rem}.list-image{width:100%;height:200px}.news-list .ml-auto{justify-content:flex-end;width:100%;margin-top:.5rem;margin-left:0}.modal-content{width:calc(100% - 2rem);margin:1rem;padding:2rem 1.5rem}.user-info-container{flex-direction:column;align-items:flex-start;width:100%}.user-info-container .btn-login-outline{justify-content:center;width:100%}}@media (width>=1025px){.mobile-menu-toggle{display:none}}.admin-login-page{background:linear-gradient(135deg,#0f1e3a 0%,#1a2d5a 50%,#0f1e3a 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.admin-login-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:44px 36px 32px;box-shadow:0 20px 60px #0000004d}.admin-login-logo{text-align:center;margin-bottom:28px}.admin-login-logo h1{color:var(--text-primary);letter-spacing:-.015em;margin-top:14px;font-family:inherit;font-size:1.5rem}.admin-login-form{flex-direction:column;gap:14px;display:flex}.admin-input-group label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.admin-input-group input{border:1.5px solid var(--border-color);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:13px 16px;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.admin-input-group input:focus{border-color:var(--admin-accent);box-shadow:0 0 0 4px #042c531a}.admin-login-error{color:#ef4444;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:.82rem}.admin-login-btn{background:var(--admin-accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:10px;padding:14px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s,box-shadow .15s}.admin-login-btn:hover{background:var(--admin-accent-hover)}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-back-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;margin-top:22px;font-family:inherit;font-size:.82rem;transition:color .15s;display:flex}.admin-back-link:focus-visible{outline:2px solid var(--admin-accent);outline-offset:3px;border-radius:4px}.admin-page{--admin-accent:#0b1220;--admin-accent-hover:#000;--admin-accent-soft:#e2e8f0;--admin-stat-icon:#0b1220;--navy:#0b1220;--navy-900:#000;--navy-700:#0b1220;--navy-200:#cbd5e1;--navy-50:#f1f5f9;background:var(--bg-secondary);min-height:100vh;font-family:inherit}.admin-header{border-bottom:1px solid var(--border-color);z-index:100;box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.admin-header-left{align-items:center;gap:14px;min-width:0;display:flex}.admin-header-brand{align-items:center;display:flex}.admin-header-left h1{color:var(--text-primary);white-space:nowrap;font-family:inherit;font-size:1.15rem;font-weight:700}.admin-header-divider{background:var(--admin-border);flex-shrink:0;width:1px;height:28px}.admin-header-title-group{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-header-title{color:var(--text-primary);white-space:nowrap;font-family:inherit;font-size:1.05rem;font-weight:700;line-height:1.2}.admin-header-subtitle{color:var(--admin-muted);white-space:nowrap;text-overflow:ellipsis;max-width:60ch;font-size:.76rem;line-height:1.3;overflow:hidden}.admin-header-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.admin-header-clock{color:var(--admin-muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-family:inherit;font-size:.76rem;font-weight:600}.admin-user-email{color:var(--text-secondary);background:var(--admin-surface-muted);border:1px solid var(--admin-border);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.8rem}@media (width<=1100px){.admin-sidebar{width:72px!important;min-width:72px!important}.admin-sidebar-tab{justify-content:center;padding:12px 6px}.admin-sidebar-tab span,.admin-sidebar-group-title,.admin-header-subtitle{display:none}.admin-header-title{font-size:.95rem}}@media (width<=760px){.admin-header{flex-wrap:wrap;gap:8px;padding:12px 16px}.admin-header-divider,.admin-header-title-group{display:none}.admin-header-right{gap:8px}.admin-header-clock{display:none}.admin-sidebar{width:64px!important;min-width:64px!important}}.admin-btn-outline{border:1.5px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.admin-btn-outline:hover{border-color:var(--admin-accent);color:var(--admin-accent)}.admin-btn-danger{color:#ef4444;cursor:pointer;background:#fef2f2;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.admin-btn-danger:hover{color:#fff;background:#ef4444}.admin-btn-primary{background:var(--admin-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:background .2s;display:flex}.admin-btn-primary:hover{background:var(--admin-accent-hover)}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:none;padding:24px 32px 12px;display:grid}.admin-stat-card{background:var(--admin-surface);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);border-radius:6px;align-items:center;gap:14px;padding:18px 22px;transition:border-color .15s,transform .15s;display:flex}.admin-stat-card:hover{border-color:var(--navy-200)}.admin-stat-number{color:var(--text-primary);letter-spacing:-.02em;font-family:inherit;font-size:1.85rem;font-weight:800;line-height:1;display:block}.admin-stat-label{color:var(--admin-muted);margin-top:6px;font-size:.76rem;font-weight:500;display:block}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 32px 16px;display:flex}.admin-search-box{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:10px;align-items:center;gap:10px;width:320px;max-width:100%;padding:9px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.admin-search-box svg{color:var(--admin-muted);flex-shrink:0}.admin-search-box input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.86rem}.admin-search-box input::placeholder{color:var(--admin-muted)}.admin-table-wrap{background:var(--admin-surface);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);border-radius:14px;max-height:calc(100vh - 280px);margin:0 32px 24px;overflow:auto}.admin-table{border-collapse:separate;border-spacing:0;width:100%}.admin-table thead{background:var(--admin-surface-muted);z-index:2;position:sticky;top:0}.admin-table thead th{background:var(--admin-surface-muted);text-align:left;color:var(--admin-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--admin-border);white-space:nowrap;padding:12px 14px;font-family:inherit;font-size:.7rem;font-weight:700}.admin-table tbody td{border-bottom:1px solid var(--admin-border);color:var(--text-primary);white-space:nowrap;vertical-align:middle;padding:13px 14px;font-size:.83rem}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table td.num,.admin-table td.admin-td-num,.admin-table td.count{font-variant-numeric:tabular-nums;text-align:right}.admin-table td.tnum{font-variant-numeric:tabular-nums}.admin-td-center{text-align:center}.admin-td-muted{color:var(--admin-muted);font-size:.8rem}.admin-table td .admin-cell-truncate,.admin-table td .admin-url{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:260px;display:inline-block;overflow:hidden}.admin-table td .admin-url{color:var(--admin-muted);font-family:JetBrains Mono,Consolas,monospace;font-size:.72rem}.admin-title-cell{align-items:center;gap:12px;display:flex}.admin-thumb{object-fit:cover;border:1px solid var(--admin-border);border-radius:8px;flex-shrink:0;width:72px;height:42px}.admin-title-text{text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-weight:500;line-height:1.3;display:block;overflow:hidden}.admin-link-small{color:var(--admin-accent);align-items:center;gap:4px;margin-top:2px;font-size:.75rem;text-decoration:none;display:inline-flex}.admin-badge{color:#334155;letter-spacing:.02em;white-space:nowrap;background:#f1f5f9;border-radius:3px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-block}.admin-badge.success,.admin-badge.warn{color:#334155;background:#f1f5f9}.admin-badge.danger{color:#0b1220;background:#e2e8f0}.admin-badge.muted{color:#94a3b8;background:#f8fafc}.admin-page .add-btn{background:var(--admin-accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 16px;font-family:inherit;font-size:.82rem;font-weight:700;transition:background .15s,box-shadow .15s;display:inline-flex}.admin-page .add-btn:hover{background:var(--admin-accent-hover);box-shadow:none}.admin-row-actions{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.admin-row-btn{letter-spacing:.02em;color:var(--text-primary);background:var(--admin-surface);border:1px solid var(--admin-border);cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:.72rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex}.admin-row-btn svg{flex-shrink:0;width:13px;height:13px}.admin-row-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #081e3e14}.admin-row-btn.edit{color:var(--admin-accent);border-color:var(--navy-200);background:var(--admin-accent-soft)}.admin-row-btn.edit:hover{background:var(--admin-accent);color:#fff;border-color:var(--admin-accent)}.admin-row-btn.delete{color:#0b1220;border-color:var(--admin-border);background:#fff}.admin-row-btn.delete:hover{color:#fff;background:#0b1220;border-color:#0b1220}.admin-row-btn.success{color:#334155;border-color:var(--admin-border);background:#f1f5f9}.admin-row-btn.success:hover{color:#fff;background:#334155;border-color:#334155}.admin-row-btn.muted{color:var(--admin-muted);border-color:var(--admin-border);background:var(--admin-surface)}.admin-row-btn.muted:hover{color:var(--text-primary);border-color:var(--navy-200);background:var(--admin-surface-muted)}.admin-inline-input{width:100%;color:var(--text-primary);background:var(--admin-surface);border:1px solid var(--admin-border);box-sizing:border-box;border-radius:6px;outline:none;padding:5px 8px;font-family:inherit;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.admin-inline-input:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px #042c531a}.admin-actions{gap:6px;display:flex}.admin-action-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.admin-loading,.admin-empty{color:var(--admin-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:220px;padding:72px 24px;display:flex}.admin-empty svg{background:var(--admin-accent-soft);width:60px;height:60px;color:var(--admin-accent);opacity:.9;border-radius:50%;padding:14px}.admin-empty p{text-align:center;max-width:360px;color:var(--admin-muted);margin:0;font-size:.86rem;line-height:1.5}.admin-spinner,.admin-loading-spinner{border:2.5px solid var(--admin-border);border-top-color:var(--admin-accent);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite admin-spin}.admin-loading-spinner{margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-content::-webkit-scrollbar{width:8px;height:8px}.admin-sidebar::-webkit-scrollbar{width:8px;height:8px}.admin-table-wrap::-webkit-scrollbar{width:8px;height:8px}.admin-body::-webkit-scrollbar{width:8px;height:8px}.admin-content::-webkit-scrollbar-track{background:var(--admin-surface-muted)}.admin-sidebar::-webkit-scrollbar-track{background:var(--admin-surface-muted)}.admin-table-wrap::-webkit-scrollbar-track{background:var(--admin-surface-muted)}.admin-body::-webkit-scrollbar-track{background:var(--admin-surface-muted)}.admin-content::-webkit-scrollbar-thumb{background:var(--navy-200);border:2px solid var(--admin-surface-muted);border-radius:6px}.admin-sidebar::-webkit-scrollbar-thumb{background:var(--navy-200);border:2px solid var(--admin-surface-muted);border-radius:6px}.admin-table-wrap::-webkit-scrollbar-thumb{background:var(--navy-200);border:2px solid var(--admin-surface-muted);border-radius:6px}.admin-body::-webkit-scrollbar-thumb{background:var(--navy-200);border:2px solid var(--admin-surface-muted);border-radius:6px}.admin-content::-webkit-scrollbar-thumb:hover{background:var(--navy-700)}.admin-sidebar::-webkit-scrollbar-thumb:hover{background:var(--navy-700)}.admin-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--navy-700)}.admin-body::-webkit-scrollbar-thumb:hover{background:var(--navy-700)}.admin-page button:focus-visible,.admin-page a:focus-visible,.admin-page input:focus-visible,.admin-page select:focus-visible,.admin-page textarea:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px;border-radius:6px}.admin-modal-overlay{z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.admin-modal{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:12px;width:100%;max-width:640px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 30px 80px #042c5347,0 10px 30px #081e3e1f}.admin-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.admin-modal-header h2{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:10px;font-family:inherit;font-size:1.1rem;font-weight:700;display:flex}.admin-modal-header .admin-modal-icon{background:var(--admin-accent-soft);width:36px;height:36px;color:var(--admin-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:inline-flex}.admin-modal-header .admin-modal-icon.danger{color:#b91c1c;background:#fef2f2}.admin-modal-header .admin-modal-icon.warn{color:#b45309;background:#fffbeb}.admin-modal-close{color:var(--admin-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:background .15s,color .15s}.admin-modal-close:hover{background:var(--admin-surface-muted);color:var(--admin-accent)}.admin-modal-body{flex-direction:column;gap:16px;padding:24px 28px;display:flex}.admin-form-row label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.admin-form-row input,.admin-form-row textarea,.admin-form-row select{border:1.5px solid var(--border-color);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.admin-form-row input:focus,.admin-form-row textarea:focus{border-color:var(--admin-accent)}.admin-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.market-admin-toolbar{border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;align-items:center;gap:10px;margin-bottom:18px;padding:14px 18px;display:flex}.market-admin-toolbar .toolbar-icon{background:var(--admin-accent-soft);width:32px;height:32px;color:var(--admin-accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.market-admin-toolbar label{color:var(--text-secondary);white-space:nowrap;margin:0;font-size:12.5px;font-weight:600}.market-admin-toolbar input{border:1px solid var(--border-color);background:#fff;border-radius:8px;flex:1;padding:9px 12px;font-family:inherit;font-size:13px}.market-admin-toolbar input:focus{border-color:var(--admin-accent);outline:none}.market-admin-toolbar button{border-radius:8px;padding:9px 16px;font-size:12.5px;font-weight:600}.market-form-card{border:1px solid var(--border-color);background:#fff;border-radius:14px;margin-bottom:22px;padding:22px 24px;box-shadow:0 1px 2px #0f172a0a}.market-form-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;display:flex}.market-form-header h3{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:700;display:flex}.market-form-header .badge{color:var(--admin-accent);background:var(--admin-accent-soft);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.market-form-section{margin-bottom:20px}.market-form-section:last-of-type{margin-bottom:0}.market-form-section-title{color:var(--admin-accent);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.market-form-section-title:after{content:"";background:var(--border-color);flex:1;height:1px}.market-form-grid{gap:14px 16px;display:grid}.market-form-grid.cols-2{grid-template-columns:1fr 1fr}.market-form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.market-form-grid.cols-2-1{grid-template-columns:1fr 1fr 140px}.market-field{flex-direction:column;gap:6px;min-width:0;display:flex}.market-field label{color:var(--text-secondary);font-size:12px;font-weight:600}.market-field label .required{color:#dc2626;margin-left:2px}.market-field input{border:1px solid var(--border-color);color:var(--text-primary);background:#fff;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px}.market-field input:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px var(--admin-accent-soft);outline:none}.market-field input::placeholder{color:#cbd5e1}.market-image-row{grid-template-columns:200px 1fr;align-items:stretch;gap:16px;display:grid}.market-image-preview{aspect-ratio:4/3;border:1px dashed var(--border-color);color:#94a3b8;background:#f8fafc;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.market-image-preview img{object-fit:cover;width:100%;height:100%}.market-image-preview .empty-label{text-align:center;padding:0 16px;font-size:12px;font-weight:600;line-height:1.5}.market-image-actions{flex-direction:column;justify-content:center;gap:10px;display:flex}.market-image-actions .hint{color:var(--text-secondary);font-size:11.5px;line-height:1.5}.market-image-actions label.upload-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.market-image-actions label.upload-btn:hover{border-color:var(--admin-accent);background:var(--admin-accent-soft)}.market-image-actions .clear-btn{border:1px solid var(--border-color);color:#dc2626;cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600}.market-image-actions .clear-btn:hover{background:#fef2f2;border-color:#fca5a5}.market-form-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.market-form-footer .cancel-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600}.market-form-footer .cancel-btn:hover{color:var(--text-primary);background:#f8fafc}.market-form-footer .save-btn{border-radius:8px;padding:10px 22px;font-size:13px;font-weight:700}@media (width<=768px){.market-form-grid.cols-2,.market-form-grid.cols-3,.market-form-grid.cols-2-1,.market-image-row{grid-template-columns:1fr}.market-admin-toolbar{flex-wrap:wrap}}.admin-checkbox-row{padding-top:4px}.admin-checkbox-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-weight:500;display:flex}.admin-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--admin-accent)}.admin-preview-img{border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.admin-preview-img img{object-fit:cover;width:100%;max-height:200px}.admin-modal-footer{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.admin-body{min-height:calc(100vh - 65px);display:flex}.admin-sidebar{border-right:1px solid var(--border-color);background:#fff;flex-direction:column;justify-content:space-between;width:220px;min-width:220px;height:calc(100vh - 65px);display:flex;position:sticky;top:65px;overflow-y:auto}.admin-sidebar-nav{flex-direction:column;gap:14px;padding:14px 10px;display:flex}.admin-sidebar-group{flex-direction:column;gap:2px;display:flex}.admin-sidebar-group-title{letter-spacing:.14em;text-transform:uppercase;color:var(--admin-muted);opacity:.75;padding:4px 14px 6px;font-family:inherit;font-size:.66rem;font-weight:800}.admin-sidebar-footer{border-top:1px solid var(--admin-border);background:var(--admin-surface);flex-direction:column;gap:6px;padding:16px 10px;display:flex}.admin-sidebar-footer .admin-sidebar-tab{color:var(--admin-muted)}.admin-sidebar-footer .admin-sidebar-tab:hover{color:var(--admin-accent);background:var(--admin-accent-soft)}.admin-sidebar-tab{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:12px 16px;font-family:inherit;font-size:.88rem;font-weight:500;transition:all .2s;display:flex}.admin-sidebar-tab svg{flex-shrink:0}.admin-sidebar-tab:hover{color:var(--text-primary);background:var(--bg-accent)}.admin-sidebar-tab.active{color:var(--admin-accent);background:var(--admin-accent-soft);font-weight:600}.admin-sidebar-tab.active svg{color:var(--admin-accent)}.admin-sidebar-tab.logout{color:#64748b}.admin-sidebar-tab.logout:hover{color:#0b1220;background:#f1f5f9}.admin-content{flex:1;min-width:0;overflow-y:auto}.admin-menu-section{background:var(--admin-surface);border:1px solid var(--admin-border);box-shadow:var(--admin-shadow);border-radius:6px;margin:0 32px 24px;overflow:hidden}.admin-menu-header{border-bottom:1px solid var(--admin-border);background:var(--admin-surface);justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.admin-menu-header h2{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 2px;font-family:inherit;font-size:.98rem;font-weight:700;display:flex}.admin-menu-header h2 svg{color:var(--admin-accent)}.admin-menu-header p{color:var(--admin-muted);margin:0;font-size:.76rem;line-height:1.45}.admin-menu-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.admin-menu-msg{border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:500;animation:.3s ease-out fadeIn}.admin-menu-msg.success{color:#334155;background:#f1f5f9}.admin-menu-msg.error{color:#0b1220;background:#e2e8f0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-menu-list{flex-direction:column;gap:16px;padding:20px 28px;display:flex}.admin-menu-item{background:var(--bg-accent);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:20px;padding:18px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.admin-menu-item:hover{border-color:var(--admin-accent);box-shadow:0 2px 12px var(--admin-accent-soft)}.admin-menu-item-info{flex-shrink:0;align-items:center;gap:12px;min-width:180px;display:flex}.admin-menu-icon{background:var(--admin-accent-soft);width:40px;height:40px;color:var(--admin-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-menu-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.admin-menu-input-wrap{flex:1;position:relative}.admin-menu-input-icon{color:var(--text-secondary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.admin-menu-input{border:1.5px solid var(--border-color);box-sizing:border-box;background:#fff;border-radius:8px;outline:none;width:100%;padding:10px 14px 10px 36px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.admin-menu-input:focus{border-color:var(--admin-accent)}@media (width<=768px){.admin-header{flex-wrap:wrap;gap:8px;padding:12px 16px}.admin-body{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;width:100%;min-width:100%;height:auto;position:static;overflow-x:auto}.admin-sidebar-nav{flex-direction:row;flex:1;gap:4px;padding:8px}.admin-sidebar-tab{white-space:nowrap;padding:10px 14px;font-size:.82rem}.admin-sidebar-tab span{display:inline}.admin-sidebar-footer{border-top:none;border-left:1px solid var(--border-color);flex-direction:row;gap:4px;padding:8px}.admin-stats{grid-template-columns:1fr;padding:16px}.admin-toolbar{flex-direction:column;gap:12px;padding:0 16px 16px}.admin-search-box{width:100%}.admin-table-wrap{margin:0 16px 16px;overflow-x:auto}.admin-form-grid{grid-template-columns:1fr}.admin-user-email{display:none}.admin-menu-section{margin:0 16px 16px}.admin-menu-header{flex-direction:column;gap:12px;padding:16px 20px}.admin-menu-list{padding:16px 20px}.admin-menu-item{flex-direction:column;align-items:stretch;gap:12px}.admin-menu-item-info{min-width:auto}.admin-cat-add-inner{flex-direction:column}.admin-cat-view-row{flex-direction:column;align-items:flex-start;gap:12px}.admin-cat-edit-row{flex-direction:column}}.admin-cat-add{border-bottom:1px solid var(--border-color);background:#fff;padding:20px 28px}.admin-cat-add-inner{align-items:center;gap:12px;display:flex}.admin-cat-add-icon{color:var(--admin-accent);flex-shrink:0}.admin-cat-add-input{border:1.5px solid var(--border-color);box-sizing:border-box;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.admin-cat-add-input:focus{border-color:var(--admin-accent)}.admin-cat-list{flex-direction:column;gap:10px;padding:20px 28px;display:flex}.admin-cat-item{background:var(--bg-accent);border:1px solid var(--border-color);border-radius:4px;padding:14px 18px;transition:border-color .15s}.admin-cat-item:hover{border-color:var(--admin-accent)}.admin-cat-view-row{justify-content:space-between;align-items:center;display:flex}.admin-cat-info{align-items:center;gap:12px;display:flex}.admin-cat-id{color:var(--text-secondary);background:#0000000a;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:.75rem}.admin-cat-edit-row{align-items:center;gap:12px;display:flex}.admin-cat-edit-input{border:2px solid var(--admin-accent);background:#fff;border-radius:8px;outline:none;flex:1;padding:8px 14px;font-family:inherit;font-size:.9rem}.auth-page{background:linear-gradient(135deg,#0f1e3a 0%,#1a2d5a 50%,#0f1e3a 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-card{background:#fff;border-radius:20px;width:100%;max-width:460px;padding:48px 40px;position:relative;box-shadow:0 24px 80px #0000004d}.auth-card-wide{max-width:580px}.auth-back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:28px;font-size:.85rem;transition:color .2s;display:flex}.auth-back-btn:hover{color:var(--accent-color)}.auth-logo-section{align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-logo-text{color:var(--text-primary);letter-spacing:-1px;font-family:inherit;font-size:1.4rem;font-weight:800}.auth-title{color:var(--text-primary);margin-bottom:8px;font-family:inherit;font-size:1.75rem;font-weight:800}.auth-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:.95rem;line-height:1.6}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:.85rem;display:flex}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);margin-top:8px;padding-bottom:4px;font-size:.8rem;font-weight:700}.auth-password-hint{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:6px;margin-top:-4px;padding:8px 14px;font-size:.78rem;display:flex}.auth-pw-rules{flex-wrap:wrap;gap:8px;margin-top:-4px;margin-bottom:4px;display:flex}.auth-pw-rule{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .2s;display:flex}.auth-pw-rule.ok{color:#16a34a;background:#f0fdf4}.auth-pw-rule.fail{color:#dc2626;background:#fef2f2}.auth-pw-match{align-items:center;gap:4px;margin:4px 0 0;font-size:.78rem;font-weight:600;display:flex}.auth-pw-match.ok{color:#16a34a}.auth-pw-match.fail{color:#dc2626}.auth-pw-toggle{cursor:pointer;color:#94a3b8;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-pw-toggle:hover{color:#1e40af}.signup-steps{justify-content:center;align-items:center;gap:12px;margin:16px 0 20px;display:flex}.signup-step{color:#94a3b8;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.signup-step.active{color:var(--text-primary)}.signup-step.done{color:#22c55e}.signup-step-num{color:#64748b;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex}.signup-step.active .signup-step-num{color:#fff;background:#1e40af}.signup-step.done .signup-step-num{color:#fff;background:#22c55e}.signup-step-line{background:#e2e8f0;width:40px;height:2px}.auth-email-verify-row{align-items:stretch;gap:8px;display:flex}.auth-verify-btn{cursor:pointer;white-space:nowrap;color:#fff;background:#1e40af;border:none;border-radius:10px;align-items:center;gap:6px;padding:0 16px;font-size:.82rem;font-weight:600;transition:background .2s,transform .15s;display:flex}.auth-verify-btn:hover:not(:disabled){background:#1e3a8a;transform:translateY(-1px)}.auth-verify-btn:disabled{opacity:.5;cursor:not-allowed}.auth-verify-btn.verified{background:#22c55e}.auth-verify-btn.confirm{background:#f59e0b}.auth-verify-btn.confirm:hover:not(:disabled){background:#d97706}.auth-code-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;animation:.3s fadeInCard}.auth-code-timer{color:#64748b;margin:8px 0 0;font-size:.78rem}.auth-code-timer strong{color:#dc2626}.auth-verified-email{color:var(--text-primary);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:12px 16px;font-size:.9rem;display:flex}.auth-verified-badge{color:#22c55e;margin-left:auto;font-size:.75rem;font-weight:700}.auth-email-verified-tag{color:#16a34a;white-space:nowrap;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;align-items:center;gap:6px;padding:0 16px;font-size:.82rem;font-weight:700;animation:.3s fadeInCard;display:flex}.auth-input-group{flex:1}.auth-input-group label{color:var(--text-primary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.auth-input-wrapper{border:1.5px solid var(--border-color);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.auth-input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #ff80311a}.auth-input-wrapper svg{color:var(--text-secondary);flex-shrink:0}.auth-input-wrapper input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:.9rem}.auth-input-wrapper input::placeholder{color:#94a3b8}.auth-input-row{gap:12px;display:flex}.auth-terms-row{flex-direction:column;gap:8px;margin-top:8px;display:flex}.auth-terms-btn{background:var(--navy-50);width:100%;color:var(--navy);border:1.5px dashed var(--navy-200);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 16px;font-family:inherit;font-size:.92rem;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.auth-terms-btn:hover{border-color:var(--navy);background:#e8eff8}.auth-terms-btn.agreed{color:#166534;background:#ecfdf5;border-style:solid;border-color:#bbf7d0}.auth-terms-btn.agreed:hover{background:#d1fae5;border-color:#86efac}.auth-terms-notice{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:6px;padding:10px 12px;font-size:.82rem;font-weight:500;display:flex}.auth-terms-modal-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);background:#042c538c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-terms-modal{border:1px solid var(--border-subtle);background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:560px;max-height:86vh;display:flex;overflow:hidden;box-shadow:0 30px 80px #042c5359,0 10px 30px #081e3e26}.auth-terms-modal-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-muted);padding:18px 22px 14px}.auth-terms-modal-header h3{color:var(--navy);letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-family:inherit;font-size:1.08rem;font-weight:800;display:flex}.auth-terms-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;gap:0;display:flex}.auth-terms-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 10px;font-size:.88rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.auth-terms-tab:hover{color:var(--navy);background:#eef2f7}.auth-terms-tab.active{color:var(--navy);border-bottom-color:var(--navy);background:#fff}.auth-terms-modal-body{color:var(--text-primary);padding:18px 22px;font-size:.86rem;line-height:1.6;overflow-y:auto}.auth-terms-modal-body h4{color:var(--navy);margin:14px 0 6px;font-family:inherit;font-size:.95rem;font-weight:800}.auth-terms-modal-body h4:first-child{margin-top:0}.auth-terms-modal-body p{color:#374151;margin:0 0 4px}.auth-terms-modal-foot{border-top:1px dashed var(--border-subtle);padding-top:14px;font-weight:600;color:var(--navy)!important;margin-top:18px!important}.auth-terms-modal-agree{border-top:1px solid var(--border-subtle);background:var(--surface-muted);padding:14px 22px}.auth-terms-modal-agree label{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.auth-terms-modal-agree input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy);cursor:pointer}.auth-terms-modal-actions{border-top:1px solid var(--border-subtle);gap:10px;padding:14px 22px 18px;display:flex}.auth-terms-cancel,.auth-terms-confirm{cursor:pointer;border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:.9rem;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s}.auth-terms-cancel{color:var(--text-muted);border:1px solid var(--border-subtle);background:#fff}.auth-terms-cancel:hover{background:var(--surface-muted);color:var(--text-primary);border-color:var(--navy-200)}.auth-terms-confirm{background:var(--navy);color:#fff;border:1px solid var(--navy)}.auth-terms-confirm:hover:not(:disabled){background:var(--navy-700);box-shadow:0 6px 16px #042c533d}.auth-terms-confirm:disabled{opacity:.5;cursor:not-allowed}.auth-btn-primary{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:8px;padding:14px;font-family:inherit;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.auth-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:.9rem}.auth-footer a{color:var(--accent-color);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-success-icon{justify-content:center;margin-bottom:24px;display:flex}.auth-hint{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:.85rem}@media (width<=640px){.auth-card{padding:32px 24px}.auth-card-wide{max-width:100%}.auth-input-row{flex-direction:column;gap:16px}.auth-title{font-size:1.5rem}}.news-category-page{background:var(--bg-primary);min-height:100vh}.news-cat-banner{border-bottom:1px solid var(--line);background:0 0;padding:48px 0 32px}.news-cat-banner-inner{max-width:var(--container-max);align-items:flex-end;gap:24px;margin:0 auto;padding:0 24px;display:flex}.news-cat-back{border:1px solid var(--line);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:4px;margin-bottom:4px;padding:6px 12px;font-size:.8rem;transition:border-color .15s,color .15s;display:flex}.news-cat-back:hover{border-color:var(--ink-3);color:var(--ink)}.news-cat-title{color:var(--ink);letter-spacing:-.015em;margin:0;font-family:inherit;font-size:2.25rem;font-weight:700;line-height:1.15}.news-cat-subtitle{color:var(--ink-2);max-width:640px;margin:8px 0 0;font-size:.95rem;line-height:1.5}.news-cat-content{max-width:var(--container-max);margin:0 auto;padding:40px 24px 80px}.news-cat-loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:16px;padding:80px 0;display:flex}.news-cat-spinner{animation:1s linear infinite spin}.news-cat-empty{text-align:center;color:var(--text-secondary);padding:80px 0}.news-cat-empty-hint{opacity:.7;margin-top:8px;font-size:.85rem}.news-cat-tabs-wrapper{border-bottom:1px solid var(--border-color);z-index:10;background:#fff;position:sticky;top:0}.news-cat-tabs{gap:4px;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.news-cat-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:14px 20px;font-size:.9rem;font-weight:500;transition:color .2s,border-color .2s;display:flex}.news-cat-tab:hover{color:var(--text-primary)}.news-cat-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.news-cat-section-title{color:var(--ink);border-bottom:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;padding-bottom:10px;font-family:inherit;font-size:.95rem;font-weight:700}.news-cat-featured{margin-bottom:48px}.news-cat-featured-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.news-cat-card{border:1px solid var(--border-color);color:inherit;background:#fff;border-radius:14px;text-decoration:none;transition:transform .2s,box-shadow .2s;overflow:hidden}.news-cat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.news-cat-card-img{height:180px;position:relative;overflow:hidden}.news-cat-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.news-cat-card:hover .news-cat-card-img img{transform:scale(1.05)}.news-cat-card-badge{color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:700;position:absolute;top:12px;left:12px}.news-cat-card-body{padding:18px}.news-cat-card-body h3{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:1rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.news-cat-card-body p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:.83rem;line-height:1.5;display:-webkit-box;overflow:hidden}.news-cat-card-meta{color:var(--text-secondary);justify-content:space-between;font-size:.75rem;display:flex}.news-cat-card-meta span{align-items:center;gap:4px;display:flex}.news-cat-list-section{margin-top:16px}.news-cat-table-wrapper{overflow-x:auto}.news-index-main{width:100%;max-width:var(--container-max);margin:0 auto;padding:3rem 4rem}.news-index-header{margin-bottom:24px}.news-index-header h1{color:var(--ink);letter-spacing:-.015em;align-items:center;gap:12px;margin:12px 0 6px;font-size:1.8rem;font-weight:700;display:flex}.news-index-header p{color:var(--ink-2);margin:0;font-size:.95rem}.news-back{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.news-back:hover{border-color:var(--ink-3);color:var(--ink)}.news-index-cat-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:14px;display:flex}.news-index-cat{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;letter-spacing:.02em;background:0 0;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.news-index-cat:hover{border-color:var(--ink-3);color:var(--ink)}.news-index-cat.active{background:var(--ink);border-color:var(--ink);color:var(--paper-2)}.news-index-table tr:hover{background:var(--paper-muted)}.news-index-featured{margin-bottom:40px}.news-index-featured-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:10px;display:flex}.news-index-featured-header h2{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:700;display:flex}.news-index-featured-header h2 svg{display:none}.news-index-featured-header span{color:var(--ink-3);font-size:12px}.news-index-all-title{color:var(--ink);border-bottom:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;padding-bottom:10px;font-size:.95rem;font-weight:700}.news-cat-table{border-collapse:collapse;width:100%;font-size:.9rem}.news-cat-table thead{background:var(--bg-accent)}.news-cat-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border-color);padding:12px 16px;font-size:.8rem;font-weight:600}.news-cat-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:14px 16px}.news-cat-row{cursor:pointer;transition:background .15s}.news-cat-row:hover{background:var(--paper-muted)}.news-cat-row-title{font-weight:500}.news-cat-link-icon{opacity:0;vertical-align:middle;margin-left:6px;transition:opacity .2s}.news-cat-row:hover .news-cat-link-icon{opacity:.5}.col-no{text-align:center;width:60px;color:var(--text-secondary)}.col-author{width:140px}.col-date{width:110px;color:var(--text-secondary);white-space:nowrap}.col-views{width:90px;color:var(--text-secondary);white-space:nowrap}.col-comments,.col-likes{width:80px;color:var(--text-secondary);white-space:nowrap}.col-views svg{vertical-align:middle;margin-right:3px}.related-sites-count{color:var(--text-secondary);background:var(--bg-accent);border-radius:20px;padding:4px 12px;font-size:.85rem;font-weight:500}.related-sites-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px;display:grid}.related-site-card{background:var(--paper-2);border-radius:var(--radius-md);border:1px solid var(--line);color:inherit;animation:.4s both fadeInCard;animation-delay:var(--card-delay,0s);text-decoration:none;transition:border-color .2s;overflow:hidden}@keyframes fadeInCard{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.related-site-card:hover{box-shadow:none;border-color:var(--ink-3);transform:none}.related-site-preview{background:var(--paper-muted);border-bottom:1px solid var(--line);height:200px;position:relative;overflow:hidden}.related-site-preview img{object-fit:cover;object-position:top center;filter:saturate(.9);width:100%;height:100%;transition:filter .3s}.related-site-card:hover .related-site-preview img{filter:saturate();transform:none}.related-site-preview-fallback{color:var(--ink-3);background:var(--paper-muted);letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex;position:absolute;inset:0}.related-site-overlay{background:var(--ink);color:#fff;opacity:0;letter-spacing:.06em;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.82rem;font-weight:500;transition:opacity .2s;display:flex;position:absolute;inset:0}.related-site-card:hover .related-site-overlay{opacity:.88}.related-site-info{padding:18px 20px 20px}.related-site-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.related-site-favicon{border-radius:6px;flex-shrink:0;width:24px;height:24px}.related-site-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:inherit;font-size:1.05rem;font-weight:700;line-height:1.3;overflow:hidden}.related-site-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 14px;font-size:.84rem;line-height:1.6;display:-webkit-box;overflow:hidden}.related-site-url{color:var(--accent-color,#0ea5e9);background:#0ea5e90f;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.76rem;font-weight:500;transition:background .2s;display:inline-flex}.related-site-card:hover .related-site-url{background:#0ea5e91f}@media (width<=900px){.news-cat-featured-grid{grid-template-columns:1fr}.news-cat-title{font-size:1.8rem}.news-cat-banner-inner{flex-direction:column;align-items:flex-start;gap:16px}.col-author,.col-views{display:none}.related-sites-grid{grid-template-columns:1fr;gap:16px}.related-site-preview{height:160px}}@media (width>=901px) and (width<=1100px){.related-sites-grid{grid-template-columns:repeat(2,1fr)}}.whoweare-page{background:var(--bg-primary);min-height:100vh}.wwa-hero{text-align:center;background:url(https://images.unsplash.com/photo-1544256718-3bcf237f3974?q=80&w=1920&auto=format&fit=crop) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:480px;padding:120px 24px 80px;display:flex;position:relative}.wwa-hero-overlay{background:linear-gradient(#0f1e3ad9 0%,#0f1e3ab3 100%);position:absolute;inset:0}.wwa-hero-content{z-index:1;max-width:720px;position:relative}.wwa-hero-badge{color:#ff8031;letter-spacing:.1em;text-transform:uppercase;background:#ff803133;border-radius:20px;margin-bottom:24px;padding:6px 18px;font-size:.8rem;font-weight:700;display:inline-block}.wwa-hero-title{color:#fff;margin:0 0 20px;font-family:inherit;font-size:3rem;font-weight:800;line-height:1.2}.wwa-hero-desc{color:#ffffffbf;font-size:1.05rem;line-height:1.7}.wwa-section{padding:80px 24px}.wwa-section-dark{background:#f8fafc}.wwa-container{max-width:1100px;margin:0 auto}.wwa-label{color:var(--accent-color);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:700;display:inline-block}.wwa-heading{color:var(--text-primary);margin:0 0 24px;font-family:inherit;font-size:2rem;font-weight:800;line-height:1.3}.wwa-center-header{text-align:center;margin-bottom:48px}.wwa-mission-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.wwa-mission-card{border:1px solid var(--border-color);text-align:center;background:#fff;border-radius:16px;padding:36px 28px;transition:transform .2s,box-shadow .2s}.wwa-mission-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.wwa-mission-icon{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:inline-flex}.wwa-mission-card h3{color:var(--text-primary);margin:0 0 12px;font-family:inherit;font-size:1.2rem;font-weight:700}.wwa-mission-card p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.65}.wwa-about-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;display:grid}.wwa-about-text p{color:var(--text-secondary);margin:0 0 16px;font-size:.95rem;line-height:1.75}.wwa-about-text strong{color:var(--accent-color)}.wwa-about-stats{grid-template-columns:1fr 1fr;gap:24px;display:grid}.wwa-stat{text-align:center;border:1px solid var(--border-color);background:#fff;border-radius:14px;padding:28px 20px;transition:transform .2s}.wwa-stat:hover{transform:translateY(-2px)}.wwa-stat-number{color:var(--accent-color);margin-bottom:4px;font-family:inherit;font-size:2rem;font-weight:800;display:block}.wwa-stat-label{color:var(--text-secondary);font-size:.82rem;font-weight:500}.wwa-services-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.wwa-service-card{border:1px solid var(--border-color);background:#fff;border-radius:14px;padding:32px 24px;transition:transform .2s,box-shadow .2s}.wwa-service-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #00000014}.wwa-service-icon{color:var(--accent-color);margin-bottom:16px}.wwa-service-card h4{color:var(--text-primary);margin:0 0 10px;font-family:inherit;font-size:1.05rem;font-weight:700}.wwa-service-card p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.6}.wwa-cta{text-align:center;background:linear-gradient(135deg,#0f1e3a 0%,#1a2d5a 60%,#ff8031 160%);padding:80px 24px}.wwa-cta h2{color:#fff;margin:0 0 12px;font-family:inherit;font-size:2rem;font-weight:800}.wwa-cta p{color:#ffffffb3;margin:0 0 32px;font-size:1rem}.wwa-cta-btn{background:var(--accent-color);color:#fff;border-radius:10px;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,transform .1s;display:inline-flex}.wwa-cta-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}.wwa-footer{text-align:center;background:#0a1628;padding:24px}.wwa-footer p{color:#fff6;margin:0;font-size:.82rem}@media (width<=900px){.wwa-hero-title{font-size:2rem}.wwa-hero{min-height:360px;padding:100px 20px 60px}.wwa-mission-grid{grid-template-columns:1fr}.wwa-about-grid{grid-template-columns:1fr;gap:40px}.wwa-services-grid{grid-template-columns:1fr 1fr}.wwa-heading{font-size:1.5rem}}@media (width<=600px){.wwa-services-grid{grid-template-columns:1fr}.wwa-about-stats{grid-template-columns:1fr 1fr;gap:16px}}.news-cat-section-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;display:flex}.news-cat-section-header .news-cat-section-title{border-bottom:none;margin-bottom:0;padding-bottom:0}.news-cat-write-btn{background:var(--accent-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:4px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .2s;display:inline-flex}.news-cat-write-btn:hover{background:var(--accent-hover)}.post-detail-page,.post-write-page{background:var(--bg-primary);min-height:100vh}.post-detail-container{max-width:800px;margin:0 auto;padding:100px 24px 80px}.post-detail-loading{text-align:center;color:var(--text-secondary);padding:120px 0}.post-detail-back{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:4px;margin-bottom:24px;padding:8px 14px;font-size:.85rem;transition:border-color .2s;display:inline-flex}.post-detail-back:hover{border-color:var(--text-primary);color:var(--text-primary)}.post-detail-type-badge{background:var(--accent-color);color:#fff;border-radius:6px;margin-bottom:12px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.post-detail-title{color:var(--text-primary);margin:0 0 16px;font-family:inherit;font-size:1.8rem;font-weight:800;line-height:1.35}.post-detail-meta{color:var(--text-secondary);border-bottom:1px solid var(--border-color);gap:20px;margin-bottom:20px;padding-bottom:20px;font-size:.85rem;display:flex}.post-detail-meta span{align-items:center;gap:5px;display:flex}.post-detail-actions{gap:8px;margin-bottom:24px;display:flex}.post-action-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:.82rem;transition:all .15s;display:inline-flex}.post-action-btn.edit:hover{border-color:var(--accent-color);color:var(--accent-color)}.post-action-btn.delete{color:#dc3545}.post-action-btn.delete:hover{background:#fff5f5;border-color:#dc3545}.post-detail-content{color:var(--text-primary);word-break:keep-all;font-size:1rem;line-height:1.85}.post-write-heading{color:var(--text-primary);margin:0 0 28px;font-family:inherit;font-size:1.5rem;font-weight:700}.post-write-form{flex-direction:column;gap:20px;display:flex}.post-write-field label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.post-write-field input,.post-write-field textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;background:#fff;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.post-write-field input:focus,.post-write-field textarea:focus{border-color:var(--accent-color);outline:none}.post-write-field textarea{resize:vertical;min-height:300px}.post-write-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.post-write-cancel{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;padding:10px 24px;font-size:.9rem;transition:border-color .2s}.post-write-cancel:hover{border-color:var(--text-primary)}.post-write-submit{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 28px;font-size:.9rem;font-weight:600;transition:background .2s;display:inline-flex}.post-write-submit:hover{background:var(--accent-hover)}.post-write-submit:disabled{opacity:.6;cursor:not-allowed}.rte-wrapper{border:1px solid var(--border-color);background:#fff;border-radius:10px;transition:border-color .2s;overflow:hidden}.rte-wrapper:focus-within{border-color:var(--accent-color)}.rte-toolbar{border-bottom:1px solid var(--border-color);background:#f8fafc;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;display:flex}.rte-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.rte-btn:hover{color:var(--text-primary);background:#e2e8f0}.rte-sep{background:var(--border-color);width:1px;height:20px;margin:0 4px}.rte-editor{min-height:350px;color:var(--text-primary);outline:none;padding:16px 18px;font-size:.95rem;line-height:1.75;overflow-y:auto}.rte-editor:empty:before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.rte-editor h2{color:var(--text-primary);margin:16px 0 8px;font-size:1.4rem;font-weight:700}.rte-editor h3{color:var(--text-primary);margin:14px 0 6px;font-size:1.15rem;font-weight:600}.rte-editor blockquote{border-left:3px solid var(--accent-color);color:#92400e;background:#fff7ed;border-radius:0 8px 8px 0;margin:12px 0;padding:8px 16px}.rte-editor ul,.rte-editor ol{margin:8px 0;padding-left:24px}.rte-editor img{border-radius:8px;max-width:100%;height:auto;margin:12px 0}.rte-editor a{color:var(--accent-color);text-decoration:underline}.post-detail-content h2{margin:20px 0 10px;font-size:1.4rem;font-weight:700}.post-detail-content h3{margin:16px 0 8px;font-size:1.15rem;font-weight:600}.post-detail-content blockquote{border-left:3px solid var(--accent-color);color:#92400e;background:#fff7ed;border-radius:0 8px 8px 0;margin:12px 0;padding:8px 16px}.post-detail-content ul,.post-detail-content ol{margin:8px 0;padding-left:24px}.post-detail-content img{border-radius:8px;max-width:100%;height:auto;margin:12px 0}.post-detail-content a{color:var(--accent-color);text-decoration:underline}.comment-section{border-top:2px solid var(--border-color);margin-top:48px;padding-top:32px}.comment-section-title{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 24px;font-family:inherit;font-size:1.2rem;font-weight:700;display:flex}.comment-count{background:var(--accent-color);color:#fff;text-align:center;border-radius:10px;min-width:20px;padding:2px 8px;font-size:.75rem;font-weight:700}.comment-list{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.comment-empty{text-align:center;color:var(--text-secondary);padding:24px 0;font-size:.9rem}.comment-item{border:1px solid var(--border-color);background:#f8fafc;border-radius:12px;padding:16px 20px;transition:border-color .2s}.comment-item:hover{border-color:#cbd5e1}.comment-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.comment-nickname{color:var(--text-primary);align-items:center;gap:5px;font-size:.88rem;font-weight:600;display:flex}.comment-date{color:var(--text-secondary);font-size:.78rem}.comment-content{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.92rem;line-height:1.65}.comment-actions-row{justify-content:flex-end;margin-top:10px;display:flex}.comment-action-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.78rem;transition:color .2s}.comment-action-link:hover{color:#ef4444}.comment-delete-confirm{align-items:center;gap:6px;display:flex}.comment-delete-input{border:1px solid var(--border-color);border-radius:6px;width:140px;padding:4px 10px;font-size:.82rem}.comment-delete-btn{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:.78rem;transition:background .2s}.comment-delete-btn.confirm{color:#fff;background:#ef4444}.comment-delete-btn.confirm:hover{background:#dc2626}.comment-delete-btn.cancel{color:var(--text-secondary);background:#e2e8f0;align-items:center;display:flex}.comment-delete-btn.cancel:hover{background:#cbd5e1}.comment-form{border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:20px}.comment-form-row{gap:10px;margin-bottom:12px;display:flex}.comment-input{border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.88rem;transition:border-color .2s}.comment-input:focus{border-color:var(--accent-color);outline:none}.comment-input.nickname{flex:1}.comment-input.nickname.logged-in{color:var(--primary-color);cursor:default;border-color:var(--primary-color);opacity:.85;background:#f0f4ff;font-weight:600}.comment-input.password{flex:0 0 140px;max-width:140px;padding-right:36px}.comment-pw-wrapper{flex:0 0 140px;align-items:center;max-width:140px;display:flex;position:relative}.comment-pw-wrapper .comment-input.password{width:100%}.comment-pw-toggle{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.comment-pw-toggle:hover{color:var(--text-primary)}.comment-delete-confirm .comment-pw-wrapper{flex:1}.comment-delete-confirm .comment-pw-wrapper .comment-delete-input{width:100%;padding-right:30px}.comment-textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.88rem;transition:border-color .2s}.comment-textarea:focus{border-color:var(--accent-color);outline:none}.comment-error{color:#ef4444;margin:0 0 8px;font-size:.82rem}.comment-form-actions{justify-content:flex-end;display:flex}.comment-submit-btn{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:.88rem;font-weight:600;transition:background .2s,transform .1s;display:inline-flex}.comment-submit-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width<=600px){.comment-form-row{flex-direction:column}}.file-upload-area{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-upload-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;font-weight:500;transition:all .2s;display:inline-flex}.file-upload-btn:hover{color:#1e293b;background:#e2e8f0;border-color:#64748b}.file-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.file-remove-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;transition:all .2s;display:inline-flex}.file-remove-btn:hover{background:#fef2f2}.pagination-wrapper{justify-content:center;align-items:center;gap:4px;margin:1.5rem 0 .5rem;padding:8px 0;display:flex}.pagination-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:.88rem;font-weight:500;transition:all .2s;display:inline-flex}.pagination-btn:hover:not(:disabled):not(.active){background:#f1f5f9;border-color:#94a3b8}.pagination-btn.active{background:var(--ink);color:var(--paper-2);border-color:var(--ink);font-weight:700}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-dots{color:#94a3b8;justify-content:center;align-items:center;width:28px;font-size:.85rem;display:inline-flex}.hub-page{background:var(--paper);min-height:100vh}.hub-banner{border-bottom:1px solid var(--line);background:0 0;padding:48px 0 32px}.hub-banner-inner{max-width:var(--container-max);align-items:flex-end;gap:24px;margin:0 auto;padding:0 24px;display:flex}.hub-banner-back{border:1px solid var(--line);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:4px;margin-bottom:4px;padding:6px 12px;font-size:.8rem;transition:border-color .15s,color .15s;display:flex}.hub-banner-back:hover{border-color:var(--ink-3);color:var(--ink)}.hub-title{color:var(--ink);letter-spacing:-.015em;margin:0;font-family:inherit;font-size:2.25rem;font-weight:700;line-height:1.15}.hub-subtitle{color:var(--ink-2);max-width:640px;margin:8px 0 0;font-size:.95rem;line-height:1.5}.hub-content{max-width:1280px;margin:0 auto;padding:32px 24px 60px}.hub-content-with-chat{grid-template-columns:3fr 2fr;align-items:start;gap:24px;max-width:1480px;display:grid}.hub-content-main{min-width:0}@media (width<=1024px){.hub-content-with-chat{grid-template-columns:1fr}}.hub-chat-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;height:calc(100vh - 100px);min-height:480px;display:flex;position:sticky;top:16px;overflow:hidden;box-shadow:0 4px 16px #0f172a0a}.hub-chat-header{color:#0f172a;background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:14px 16px;font-weight:700;display:flex}.hub-chat-status{border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.75rem;font-weight:500}.hub-chat-status.on{color:#15803d;background:#dcfce7}.hub-chat-status.off{color:#b45309;background:#fef3c7}.hub-chat-banner{color:var(--ink-3);background:var(--paper-muted);border-bottom:1px solid var(--line);padding:8px 14px;font-size:.78rem;line-height:1.4}.hub-chat-list{flex-direction:column;flex:1;gap:10px;padding:14px 14px 6px;display:flex;overflow-y:auto}.hub-chat-empty{color:#94a3b8;text-align:center;padding:40px 0;font-size:.9rem}.hub-chat-msg{flex-direction:column;gap:2px;max-width:85%;display:flex}.hub-chat-msg.mine{align-self:flex-end;align-items:flex-end}.hub-chat-meta{align-items:baseline;gap:6px;font-size:.72rem;display:flex}.hub-chat-nick{color:#1e293b;font-weight:700}.hub-chat-time{color:#94a3b8}.hub-chat-delete{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;line-height:0;transition:color .15s,background .15s}.hub-chat-delete:hover{color:#ef4444;background:#fee2e2}.hub-chat-bubble{color:#0f172a;word-break:break-word;white-space:pre-wrap;background:#f1f5f9;border-radius:10px;padding:8px 12px;font-size:.92rem;line-height:1.4}.hub-chat-msg.mine .hub-chat-bubble{color:#fff;background:#2563eb}.hub-chat-form{background:#fff;border-top:1px solid #e2e8f0;padding:10px 12px}.hub-chat-nickname{border:1px solid #e2e8f0;border-radius:8px;width:100%;margin-bottom:6px;padding:8px 10px;font-size:.85rem}.hub-chat-notice{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:8px;padding:6px 8px;font-size:.72rem;line-height:1.4}.hub-chat-notice b{color:#0f172a}.hub-chat-input-row{gap:8px;display:flex}.hub-chat-input{border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:10px 12px;font-size:.92rem}.hub-chat-input:focus{border-color:#2563eb;outline:none}.hub-chat-send{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;display:inline-flex}.hub-chat-send:disabled{cursor:not-allowed;background:#94a3b8}.hub-top-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.hub-section-title{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.95rem;font-weight:700}.hub-create-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s;display:flex}.hub-create-btn:hover{background:var(--accent-hover-);border-color:var(--accent-hover-)}.hub-featured-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px;display:grid}.hub-featured-card{background:var(--paper-2);border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:none;animation:.5s forwards fadeInUp;animation-delay:var(--card-delay,0s);opacity:0;cursor:pointer;transition:border-color .2s;overflow:hidden}.hub-featured-card:hover{box-shadow:none;border-color:var(--ink-3);transform:none}.hub-featured-image{border-bottom:1px solid var(--line);width:100%;height:160px;overflow:hidden}.hub-featured-image img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .3s}.hub-featured-card:hover .hub-featured-image img{filter:saturate();transform:none}.hub-featured-placeholder{width:100%;height:100%;color:var(--ink-3);background:var(--paper-muted);justify-content:center;align-items:center;display:flex}.hub-featured-info{padding:18px}.hub-featured-info h3{color:var(--ink);margin:0 0 6px;font-size:1rem;font-weight:600}.hub-featured-desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.hub-featured-meta{color:var(--ink-3);font-variant-numeric:tabular-nums;gap:16px;font-size:.78rem;display:flex}.hub-featured-meta span{align-items:center;gap:4px;display:flex}.hub-empty-featured{text-align:center;color:var(--ink-3);border:1px dashed var(--line);background:0 0;border-radius:0;grid-column:1/-1;padding:48px 20px}.hub-all-section{margin-top:8px}.hub-all-section .hub-section-title{margin-bottom:20px}.hub-all-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.hub-card{background:var(--paper-2);border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:none;animation:.4s forwards fadeInUp;animation-delay:var(--card-delay,0s);opacity:0;cursor:pointer;transition:border-color .2s;position:relative;overflow:hidden}.hub-card:hover{box-shadow:none;border-color:var(--ink-3);transform:none}.hub-card-image{border-bottom:1px solid var(--line);width:100%;height:90px;position:relative;overflow:hidden}.hub-card-image img{object-fit:cover;filter:saturate(.9);width:100%;height:100%}.hub-card-placeholder{width:100%;height:100%;color:var(--ink-3);background:var(--paper-muted);justify-content:center;align-items:center;display:flex}.hub-card-badge{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;font-size:.62rem;font-weight:600;position:absolute;top:6px;right:6px}.hub-card-info{padding:12px 14px}.hub-card-info h4{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:.92rem;font-weight:600;overflow:hidden}.hub-card-info p{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px;font-size:.78rem;line-height:1.4;overflow:hidden}.hub-card-meta{color:var(--ink-3);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.72rem;display:flex}.hub-card-meta span{align-items:center;gap:3px;display:flex}.hub-card-hover{background:var(--ink);color:#fff;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;gap:10px;padding:16px 18px;transition:opacity .18s ease-in-out;display:flex;position:absolute;inset:0}.hub-card:hover .hub-card-hover{opacity:1}.hub-card-hover h5{color:#fff;letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.hub-card-hover p{color:#ffffffeb;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.55;display:-webkit-box;overflow:hidden}.hub-card-hover-meta{color:#ffffffd9;gap:14px;margin-top:auto;font-size:.75rem;display:flex}.hub-card-hover-meta span{align-items:center;gap:4px;display:inline-flex}.hub-card-featured{border:1px solid var(--line)}.hub-empty-all{text-align:center;color:#94a3b8;background:#fff;border:2px dashed #e2e8f0;border-radius:16px;grid-column:1/-1;padding:80px 20px}.hub-empty-all p{margin:16px 0 0;line-height:1.7}.hub-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.hub-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;animation:.3s fadeInUp;box-shadow:0 16px 48px #0003}.hub-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.hub-modal-header h3{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.hub-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .2s}.hub-modal-close:hover{color:#475569;background:#f1f5f9}.hub-modal form{padding:24px}.hub-modal-field{margin-bottom:20px}.hub-modal-field label{color:#374151;margin-bottom:6px;font-size:.88rem;font-weight:600;display:block}.hub-modal-field input[type=text]{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.hub-modal-field input[type=text]:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.hub-modal-field textarea{resize:vertical;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:.92rem;transition:border-color .2s}.hub-modal-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.hub-modal-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.hub-modal-cancel{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:10px 24px;font-weight:600;transition:all .2s}.hub-modal-cancel:hover{background:#e2e8f0}.hub-modal-submit{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:10px 28px;font-weight:600;transition:background .15s,border-color .15s}.hub-modal-submit:hover{background:var(--accent-hover-);border-color:var(--accent-hover-)}.hub-modal-submit:disabled{opacity:.6;cursor:not-allowed}@media (width<=1100px){.hub-all-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hub-featured-grid{grid-template-columns:1fr}.hub-all-grid{grid-template-columns:repeat(2,1fr)}.hub-top-bar{flex-wrap:wrap;gap:12px}}@media (width<=500px){.hub-all-grid{grid-template-columns:1fr}}.hub-login-alert{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:420px;padding:48px 40px 36px;animation:.3s fadeInUp;position:relative;box-shadow:0 20px 60px #0003}.hub-login-alert-icon{color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;display:flex}.hub-login-alert h3{color:#1e293b;margin:0 0 8px;font-size:1.25rem;font-weight:700}.hub-login-alert p{color:#64748b;margin:0 0 28px;font-size:.92rem}.hub-login-alert-actions{justify-content:center;gap:10px;display:flex}.hub-login-alert-actions .hub-modal-submit{align-items:center;gap:6px;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hub-detail-page{background:var(--paper);min-height:100vh}.gallery-header{border-bottom:1px solid var(--line);background:0 0;padding:48px 0 28px}.gallery-header-inner{max-width:var(--container-max);margin:0 auto;padding:0 24px}.gallery-back{border:1px solid var(--line);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;font-size:.8rem;transition:border-color .15s,color .15s;display:inline-flex}.gallery-back:hover{border-color:var(--ink-3);color:var(--ink)}.gallery-title-row{color:var(--ink);align-items:center;gap:14px;display:flex}.gallery-title-row h1{color:var(--ink);letter-spacing:-.015em;margin:0;font-family:inherit;font-size:2rem;font-weight:700;line-height:1.15}.gallery-desc{color:var(--ink-2);margin:6px 0 0;font-size:.92rem;line-height:1.5}.gallery-meta{color:var(--ink-3);align-items:center;gap:16px;margin-top:14px;font-size:.82rem;display:flex}.gallery-meta span{align-items:center;gap:4px;display:flex}.gallery-admin-badge{border-radius:var(--radius-sm);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;font-weight:600;background:var(--ink)!important;color:var(--paper-2)!important;display:inline-flex!important}.gallery-body{max-width:var(--container-max);margin:0 auto;padding:30px 24px 80px}.gallery-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.gallery-toolbar-info{color:var(--ink-3);font-size:.85rem;font-weight:500}.gallery-write-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.gallery-write-btn:hover{background:var(--accent-hover-);border-color:var(--accent-hover-)}.gallery-write-btn.disabled{background:var(--ink-3);border-color:var(--ink-3);cursor:pointer;opacity:.7}.gallery-table-wrap{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;border-radius:0;overflow:hidden}.gallery-table{border-collapse:collapse;width:100%;font-size:.88rem}.gallery-table thead{border-bottom:1px solid var(--line);background:0 0}.gallery-table th{color:var(--ink-3);text-align:center;-webkit-user-select:none;user-select:none;letter-spacing:.12em;text-transform:uppercase;padding:10px 12px;font-size:.7rem;font-weight:600}.gallery-table .col-no{width:60px}.gallery-table .col-title{text-align:left}.gallery-table .col-author{width:100px}.gallery-table .col-date{width:120px}.gallery-table .col-views{width:60px}.gallery-row{border-top:1px solid var(--line);cursor:pointer;transition:background .15s}.gallery-row:hover{background:var(--paper-muted)}.gallery-row td{text-align:center;color:var(--ink-2);padding:12px;font-size:.88rem}.gallery-row .col-title{text-align:left}.gallery-post-title{color:var(--ink);font-weight:500;transition:color .2s}.gallery-row:hover .gallery-post-title{color:var(--accent)}.gallery-author{color:var(--ink-3);align-items:center;gap:3px;font-size:.82rem;display:inline-flex}.gallery-author.is-admin{color:var(--accent);font-weight:600}.gallery-loading,.gallery-empty{text-align:center;color:#94a3b8;padding:60px 20px!important}.gallery-empty p{margin:0;line-height:1.7}.gallery-pagination{justify-content:center;gap:4px;margin-top:16px;display:flex}.gallery-pagination button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;min-width:34px;height:34px;font-size:.85rem;transition:all .2s;display:inline-flex}.gallery-pagination button:hover:not(:disabled):not(.active){background:#f1f5f9;border-color:#94a3b8}.gallery-pagination button.active{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}.gallery-pagination button:disabled{opacity:.4;cursor:not-allowed}.gallery-bottom-bar{justify-content:flex-end;margin-top:12px;display:flex}.gallery-modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.gallery-modal{background:#fff;border-radius:12px;width:100%;max-height:90vh;animation:.3s fadeInUp;overflow-y:auto;box-shadow:0 20px 60px #00000040}.gallery-modal.write-modal{max-width:720px}.gallery-modal.post-modal{max-width:800px}.gallery-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.gallery-modal-header h3{color:#1e293b;align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:700;display:flex}.gallery-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .2s}.gallery-modal-close:hover{color:#475569;background:#f1f5f9}.gallery-modal form,.gallery-edit-form{padding:24px}.gallery-write-title{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;margin-bottom:16px;padding:12px 16px;font-size:1rem;font-weight:600;transition:border-color .2s}.gallery-write-title:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.gallery-write-content{resize:vertical;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:240px;margin-bottom:16px;padding:14px 16px;font-family:inherit;font-size:.92rem;line-height:1.7;transition:border-color .2s}.gallery-write-content:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.gallery-write-actions{justify-content:flex-end;gap:10px;display:flex}.gallery-cancel-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:10px 24px;font-weight:600;transition:all .2s}.gallery-cancel-btn:hover{background:#e2e8f0}.gallery-submit-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 28px;font-weight:700;transition:all .2s}.gallery-submit-btn:hover{background:#1d4ed8}.gallery-submit-btn:disabled{opacity:.6;cursor:not-allowed}.hub-post-page{background:#f8fafc;min-height:100vh;padding-top:80px}.hub-post-container{max-width:800px;margin:0 auto;padding:40px 20px}.hub-post-nav,.hub-post-bottom-nav{margin-bottom:24px}.hub-post-bottom-nav{margin-top:24px;margin-bottom:60px}.hub-post-back{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin-left:-12px;padding:8px 12px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.hub-post-back:hover{color:#1e293b;background:#f1f5f9}.hub-post-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px #0000000a}.hub-post-card-header{border-bottom:1px solid #f1f5f9;padding:32px 32px 24px}.hub-post-card-header h2{color:#1e293b;margin:0 0 16px;font-size:1.5rem;font-weight:700;line-height:1.4}.hub-post-info-row{color:#64748b;flex-wrap:wrap;align-items:center;gap:20px;font-size:.85rem;display:flex}.hub-post-info-row span{align-items:center;gap:6px;display:inline-flex}.hub-post-author{color:#475569;font-weight:600}.hub-post-author.is-admin{color:var(--accent)}.hub-post-body{color:#334155;word-break:break-word;min-height:300px;padding:36px 32px;font-size:1rem;line-height:1.8}.hub-post-footer{justify-content:flex-end;gap:12px;padding:16px 32px 24px;display:flex}.hub-post-btn{cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.hub-post-btn.edit:hover{color:#2563eb;background:#eff6ff;border-color:#2563eb}.hub-post-btn.delete:hover{color:#ef4444;background:#fef2f2;border-color:#ef4444}.hub-post-edit-form{padding:32px}.hub-post-edit-title{color:#1e293b;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;margin-bottom:20px;padding:14px 16px;font-size:1.1rem;font-weight:600;transition:all .2s}.hub-post-edit-title:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.hub-post-edit-content{color:#334155;box-sizing:border-box;resize:vertical;border:1px solid #e2e8f0;border-radius:8px;width:100%;margin-bottom:24px;padding:16px;font-family:inherit;font-size:1rem;line-height:1.7;transition:all .2s}.hub-post-edit-content:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.hub-post-edit-actions{justify-content:flex-end;gap:12px;display:flex}.hub-post-btn-cancel{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:12px 24px;font-weight:600;transition:background .2s}.hub-post-btn-cancel:hover{background:#e2e8f0}.hub-post-btn-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:12px 32px;font-weight:600;transition:background .2s}.hub-post-btn-submit:hover{background:#1d4ed8}.hub-post-not-found,.hub-post-loading{text-align:center;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:800px;margin:100px auto;padding:60px 20px}.hub-post-not-found button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;margin-top:20px;padding:10px 20px}.hub-post-comments-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:24px;overflow:hidden;box-shadow:0 4px 24px #0000000a}.hub-post-comments-section h3{color:#1e293b;border-bottom:1px solid #f1f5f9;margin:0;padding:24px 32px;font-size:1.1rem;font-weight:700}.hub-post-comments-list{padding:0}.no-comments{text-align:center;color:#94a3b8;padding:32px;font-size:.95rem}.hub-post-comment{border-bottom:1px solid #f1f5f9;padding:24px 32px;position:relative}.hub-post-comment-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.hub-post-comment-author{color:#475569;align-items:center;gap:4px;font-size:.95rem;font-weight:600;display:inline-flex}.hub-post-comment-author.is-admin{color:var(--accent)}.hub-post-comment-date{color:#94a3b8;font-size:.8rem}.hub-post-comment-content{color:#334155;word-break:break-all;font-size:.95rem;line-height:1.6}.hub-post-comment-delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem;transition:all .2s;position:absolute;top:24px;right:32px}.hub-post-comment-delete:hover{color:#ef4444;background:#fee2e2}.hub-post-comment-write{background:#f8fafc;padding:24px 32px}.hub-post-comment-login-prompt{text-align:center;color:#64748b;padding:16px 0;font-size:.95rem}.hub-post-comment-login-prompt button{color:#2563eb;cursor:pointer;background:0 0;border:none;font-weight:600;text-decoration:underline}.hub-post-guest-inputs{gap:12px;margin-bottom:4px;display:flex}.hub-post-guest-inputs input{color:#334155;border:1px solid #cbd5e1;border-radius:6px;flex:1;padding:10px 14px;font-size:.9rem;transition:all .2s}.hub-post-guest-inputs input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.hub-post-comment-form{flex-direction:column;gap:12px;display:flex}.hub-post-comment-input-wrap{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.hub-post-comment-user{color:#475569;padding:12px 16px 8px;font-size:.9rem;font-weight:600}.hub-post-comment-input-wrap textarea{resize:vertical;color:#334155;box-sizing:border-box;border:none;width:100%;min-height:80px;padding:0 16px 16px;font-family:inherit;font-size:.95rem}.hub-post-comment-input-wrap textarea:focus{outline:none}.hub-post-comment-form button[type=submit]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-self:flex-end;padding:10px 24px;font-weight:600;transition:all .2s}.hub-post-comment-form button[type=submit]:hover:not(:disabled){background:#1d4ed8}.hub-post-comment-form button[type=submit]:disabled{cursor:not-allowed;background:#94a3b8}@media (width<=768px){.gallery-table .col-no,.gallery-table .col-views{display:none}.gallery-table .col-date{width:80px;font-size:.75rem}.gallery-table .col-author{width:70px}.gallery-title-row h1{font-size:1.2rem}.gallery-modal{margin:10px}}.about-page{background:var(--paper);min-height:100vh}.about-hero{border-bottom:1px solid var(--line);padding:48px 0}.about-hero-image{background-position:50% 42%;background-repeat:no-repeat;background-size:cover;border-bottom:0;padding:120px 0 104px;position:relative;overflow:hidden}.about-hero-scrim{pointer-events:none;background:linear-gradient(#08162a4d 0%,#08162a9e 55%,#08162ac7 100%);position:absolute;inset:0}.about-hero-content{max-width:var(--container-max);flex-direction:column;align-items:flex-start;gap:18px;margin:0 auto;padding:0 24px;display:flex}.about-hero-image .about-hero-content{z-index:1;position:relative}.about-back-btn{border:1px solid var(--line);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;transition:border-color .15s,color .15s;display:inline-flex}.about-back-btn:hover{border-color:var(--ink-3);color:var(--ink)}.about-hero-image .about-back-btn{color:#ffffffe6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08162a40;border-color:#ffffff73}.about-hero-image .about-back-btn:hover{color:#fff;border-color:#ffffffe6}.about-hero-title{color:var(--ink);letter-spacing:-.015em;max-width:640px;margin:0;font-family:inherit;font-size:2.25rem;font-weight:700;line-height:1.2}.about-hero-image .about-hero-title{color:#fff;text-shadow:0 2px 24px #00000040;font-size:2.6rem}.about-hero-desc{color:var(--ink-2);max-width:640px;margin:0;font-size:1rem;line-height:1.6}.about-hero-image .about-hero-desc{color:#ffffffe0;text-shadow:0 1px 12px #00000059;font-size:1.05rem}.about-section{border-bottom:1px solid var(--line);padding:56px 24px}.about-section:last-of-type{border-bottom:0}.about-section-alt{background:0 0}.about-container{max-width:var(--container-max);margin:0 auto}.about-label{display:none}.about-heading{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);margin:0 0 28px;padding-bottom:12px;font-family:inherit;font-size:1.2rem;font-weight:800;line-height:1.3}.about-center-header{text-align:left;margin-bottom:0}.about-intro-grid{display:block}.about-intro-text p{color:var(--ink-2);max-width:720px;margin:0 0 16px;font-size:1rem;line-height:1.75}.about-intro-text p:last-child{margin-bottom:0}.about-intro-text strong{color:var(--ink);font-weight:700}.about-values-list,.about-services-list{grid-template-columns:180px 1fr;gap:0;margin:0;padding:0;display:grid}.about-value-item,.about-service-item{display:contents}.about-value-item dt,.about-service-item dt{border-top:1px solid var(--line);color:var(--ink);letter-spacing:-.005em;grid-column:1;padding:20px 24px 20px 0;font-size:1rem;font-weight:600;transition:color .15s}.about-value-item dd,.about-service-item dd{border-top:1px solid var(--line);color:var(--ink-2);grid-column:2;max-width:720px;margin:0;padding:20px 0;font-size:.95rem;line-height:1.7}.about-value-item:first-child dt,.about-value-item:first-child dd,.about-service-item:first-child dt,.about-service-item:first-child dd{border-top:0;padding-top:0}.about-service-item{cursor:pointer}.about-service-item dd{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.about-service-item:hover dt{color:var(--accent)}.about-service-item:hover .about-service-link{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.about-service-link-pending{color:var(--ink-3);font-style:italic}.about-service-item:has(.about-service-link-pending){cursor:default}.about-service-item:has(.about-service-link-pending):hover dt{color:var(--ink)}.about-service-item:has(.about-service-link-pending):hover .about-service-link{text-decoration:none}.about-values-grid,.about-services-grid{display:contents}.about-value-card,.about-service-card{text-align:left;background:0 0;border:0;border-radius:0;padding:0;transition:none}.about-value-card:hover,.about-service-card:hover{box-shadow:none;transform:none}.about-value-icon{display:none}.about-value-card h3{color:var(--text-primary);margin:0 0 12px;font-family:inherit;font-size:1.2rem;font-weight:700}.about-value-card p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.7}.about-services-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.about-service-card{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:16px;padding:36px 28px 28px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.about-service-card:hover{border-color:#0f4c81;transform:translateY(-6px);box-shadow:0 16px 48px #0f4c811f}.about-service-number{color:#0f4c810f;font-family:inherit;font-size:2.5rem;font-weight:800;line-height:1;position:absolute;top:16px;right:20px}.about-service-icon{color:#0f4c81;margin-bottom:16px}.about-service-card h4{color:var(--text-primary);margin:0 0 12px;font-family:inherit;font-size:1.1rem;font-weight:700}.about-service-card p{color:var(--text-secondary);margin:0 0 20px;font-size:.88rem;line-height:1.7}.about-service-link{color:var(--accent);letter-spacing:.02em;align-items:center;gap:4px;font-size:.82rem;font-weight:500;transition:color .15s;display:inline-flex}.about-cta{text-align:left;border-top:1px solid var(--line);background:var(--paper-muted);padding:64px 24px}.about-cta-bg,.about-cta-bg:before{display:none}.about-cta h2{color:var(--ink);letter-spacing:-.01em;max-width:640px;margin:0 0 10px;font-family:inherit;font-size:1.6rem;font-weight:700;line-height:1.3}.about-cta p{color:var(--ink-2);max-width:640px;margin:0 0 28px;font-size:.95rem;line-height:1.6}.about-cta-buttons{flex-wrap:wrap;justify-content:flex-start;gap:12px;display:flex}.about-cta-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:10px 22px;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.about-cta-btn.primary{background:var(--accent);color:var(--paper-2);border-color:var(--accent);box-shadow:none}.about-cta-btn.primary:hover{background:var(--accent-hover-);border-color:var(--accent-hover-);box-shadow:none;transform:none}.about-cta-btn.secondary{color:var(--ink);border:1px solid var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.about-cta-btn.secondary:hover{background:var(--ink);color:var(--paper-2);transform:none}@media (width<=900px){.about-hero-title{font-size:1.75rem}.about-hero-image{padding:80px 0 72px}.about-hero-image .about-hero-title{font-size:2rem}.about-hero-image .about-hero-desc{font-size:.98rem}.about-values-list,.about-services-list{grid-template-columns:1fr;gap:0}.about-value-item dt,.about-service-item dt{padding:20px 0 6px}.about-value-item dd,.about-service-item dd{border-top:0;padding:0 0 20px}.about-value-item:first-child dt,.about-service-item:first-child dt{padding-top:0}}@media (width<=600px){.about-cta h2{font-size:1.35rem}.about-cta-buttons{flex-direction:column;align-items:stretch}}.partner-marquee-wrap{background-color:#0000;border-bottom:1px solid #e2e8f0;align-items:center;width:100%;margin-bottom:3.5rem;padding:0 0 1.25rem;display:flex;overflow:hidden}.partner-marquee-content{white-space:nowrap;will-change:transform;align-items:center;gap:2rem;padding:0 24px;animation:20s linear infinite ticker-marquee;display:flex}.partner-marquee-content:hover{animation-play-state:paused}.partner-link{color:var(--ink);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.partner-link:hover{color:var(--accent)}.partner-link img{filter:grayscale();opacity:.7;transition:filter .25s,opacity .25s}.partner-link:hover img{filter:grayscale(.25);opacity:1}.footer-contact-link{color:var(--ink-3);font-weight:500;text-decoration:none;transition:color .2s}.footer-contact-link:hover{color:var(--accent)}.nav-dropdown:hover .nav-dropdown-menu.multi-column{grid-template-rows:repeat(5,auto);grid-auto-columns:max-content;grid-auto-flow:column;display:grid}.nav-dropdown-menu.multi-column .nav-dropdown-item{white-space:nowrap}.admin-login-page{position:relative;overflow:hidden;background:linear-gradient(135deg,#061227 0%,#0d1e38 50%,#061227 100%)!important}.admin-login-page:before{content:"";filter:blur(90px);z-index:0;background:radial-gradient(circle,#0a3a6b73 0%,#0000 70%);width:55vw;height:55vw;position:absolute;top:-25%;left:-12%}.admin-login-page:after{content:"";filter:blur(90px);z-index:0;background:radial-gradient(circle,#ff80311f 0%,#0000 70%);width:50vw;height:50vw;position:absolute;bottom:-25%;right:-12%}.admin-login-card{z-index:10;-webkit-backdrop-filter:blur(28px)!important;backdrop-filter:blur(28px)!important;background:#ffffff0a!important;border:1px solid #ffffff14!important;border-radius:20px!important;padding:44px 36px 32px!important;box-shadow:0 40px 100px #0000008c,inset 0 1px #ffffff0f!important}.admin-login-page .admin-input-group input:-webkit-autofill{transition:background-color 9999s ease-in-out;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1f!important;border-radius:10px!important;-webkit-box-shadow:inset 0 0 0 1000px #00000052!important}.admin-login-page .admin-input-group input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1f!important;border-radius:10px!important;-webkit-box-shadow:inset 0 0 0 1000px #00000052!important}.admin-login-page .admin-input-group input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1f!important;border-radius:10px!important;-webkit-box-shadow:inset 0 0 0 1000px #00000052!important}.admin-login-page .admin-input-group input:-webkit-autofill:active{transition:background-color 9999s ease-in-out;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1f!important;border-radius:10px!important;-webkit-box-shadow:inset 0 0 0 1000px #00000052!important}.admin-login-logo img{filter:drop-shadow(0 4px 10px #042c5380)}.admin-login-logo h1{color:#fff!important;letter-spacing:-.015em!important;font-weight:700!important}.admin-input-group label{color:#94a3b8!important;letter-spacing:.04em!important;text-transform:uppercase!important;font-size:.68rem!important;font-weight:600!important}.admin-input-group input{color:#fff!important;background:#00000047!important;border:1px solid #ffffff1f!important;border-radius:10px!important;padding:13px 16px!important;font-size:.92rem!important}.admin-input-group input::placeholder{color:#94a3b8b3!important}.admin-input-group input:focus{background:#0000006b!important;border-color:#94a3cc8c!important;box-shadow:0 0 0 4px #0a3a6b59!important}.admin-login-btn{letter-spacing:.03em!important;background:linear-gradient(135deg,#0a3a6b 0%,#042c53 100%)!important;border-radius:10px!important;font-family:inherit!important;font-weight:700!important;box-shadow:0 4px 14px #042c5373,inset 0 1px #ffffff14!important}.admin-login-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #042c538c,inset 0 1px #ffffff1f!important}.admin-login-error{color:#fecaca!important;background:#ef44441f!important;border:1px solid #ef444440!important;font-size:.8rem!important}.admin-back-link{color:#cbd5e1b3!important}.admin-back-link:hover{color:#fff!important}.admin-page{color:#1e293b!important;background:#f1f5f9!important}.admin-header{background:var(--admin-surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:1px solid var(--admin-border)!important;box-shadow:none!important}.admin-header-left h1{color:#0f172a!important;letter-spacing:-.01em!important}.admin-user-email{color:var(--admin-muted)!important;background:0 0!important;border:none!important;border-radius:0!important;padding:6px 0!important;font-weight:500!important}.admin-sidebar{background:var(--admin-surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-right:1px solid var(--admin-border)!important}.admin-sidebar-tab{border-radius:4px!important;font-weight:600!important}.admin-sidebar-tab:hover{background:#f1f5f9!important}.admin-sidebar-tab.active{background:var(--admin-accent-soft)!important;color:var(--admin-accent)!important;box-shadow:inset 3px 0 0 var(--admin-accent)!important}.admin-stat-card{border:1px solid var(--admin-border)!important;box-shadow:var(--admin-shadow)!important;border-radius:6px!important;gap:14px!important;padding:18px 22px!important;transition:border-color .15s,transform .15s!important}.admin-stat-card:hover{border-color:var(--navy-200)!important;box-shadow:var(--admin-shadow)!important}.admin-stat-card>svg{width:22px!important;height:22px!important;color:var(--admin-muted)!important;stroke-width:1.75px!important;background:0 0!important;border-radius:0!important;flex-shrink:0!important;padding:0!important}.admin-stat-card.featured>svg{color:var(--admin-accent)!important;background:0 0!important}.admin-stat-number{color:var(--text-primary)!important;letter-spacing:-.02em!important;font-family:inherit!important;font-size:1.85rem!important;font-weight:800!important;line-height:1!important}.admin-stat-label{color:var(--admin-muted)!important;margin-top:6px!important;font-size:.76rem!important;font-weight:500!important}.admin-menu-section,.admin-table-wrap{border:1px solid var(--admin-border)!important;box-shadow:var(--admin-shadow)!important;border-radius:6px!important}.admin-menu-header{background:var(--admin-surface)!important;border-bottom:1px solid var(--admin-border)!important;align-items:center!important;padding:16px 22px!important}.admin-menu-header h2{letter-spacing:-.01em!important;margin-bottom:2px!important;font-size:.98rem!important}.admin-menu-header p{color:var(--admin-muted)!important;font-size:.76rem!important;line-height:1.45!important}.admin-table thead{background:var(--admin-surface-muted)!important;border-bottom:1px solid var(--admin-border)!important;z-index:2!important;position:sticky!important;top:0!important}.admin-table thead th{background:var(--admin-surface-muted)!important;color:var(--admin-muted)!important;text-transform:uppercase!important;letter-spacing:.06em!important;padding:12px 14px!important;font-family:inherit!important;font-size:.7rem!important;font-weight:700!important}.admin-table tbody td{padding:13px 14px!important;font-size:.83rem!important}.admin-table tbody tr:nth-child(2n) td{background:#fafbfd!important}.admin-table tbody tr:hover td{background:var(--admin-accent-soft)!important}.admin-thumb{border:1px solid var(--admin-border)!important;border-radius:8px!important;width:72px!important;height:42px!important}.admin-action-btn{border-radius:4px!important}.admin-action-btn.edit{background:var(--admin-accent-soft)!important;color:var(--admin-accent)!important}.admin-action-btn.edit:hover{background:var(--admin-accent)!important;color:#fff!important}.admin-action-btn.delete{color:#334155!important;background:0 0!important;border:1px solid #0000!important}.admin-action-btn.delete:hover{color:#0b1220!important;border-color:var(--admin-border)!important;background:#e2e8f0!important}.admin-btn-primary{background:linear-gradient(135deg,#0a3a6b 0%,#042c53 100%)!important;border-radius:10px!important;box-shadow:0 4px 12px #042c5338!important}.admin-btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 6px 16px #042c534d!important}.admin-search-box{border-radius:12px!important;box-shadow:0 2px 6px #00000005!important}.admin-search-box:focus-within{border-color:var(--admin-accent)!important;box-shadow:0 0 0 4px #042c531f!important}.directory-table{border-collapse:collapse;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;font-size:.9rem}.directory-table thead th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);background:0 0;padding:.85rem .75rem;font-size:.7rem;font-weight:600}.directory-col-name{width:22%}.directory-col-desc{width:auto}.directory-col-domain{white-space:nowrap;width:18%}.directory-col-link{width:40px}.directory-row{border-top:1px solid var(--line)}.directory-row:first-child{border-top:0}.directory-row:hover{background:var(--paper-muted)}.directory-name{color:var(--ink);text-align:left;padding:.95rem .75rem;font-size:1rem;font-weight:600}.directory-name a{color:inherit;text-decoration:none;transition:color .15s}.directory-name a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.directory-desc{color:var(--ink-2);padding:.95rem .75rem;line-height:1.5}.directory-desc-empty{color:var(--ink-3);opacity:.6}.directory-domain{color:var(--ink-3);white-space:nowrap;padding:.95rem .75rem;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.directory-link{text-align:right;padding:.95rem .75rem}.directory-link a{color:var(--ink-3);padding:4px;transition:color .15s;display:inline-flex}.directory-link a:hover{color:var(--accent)}.directory-state{text-align:center;color:var(--ink-3);padding:3rem 1rem}.directory-state p{color:var(--ink-3);margin-top:12px}.directory-state-empty{color:var(--ink-3)}@media (width<=720px){.directory-col-domain,.directory-domain{display:none}.directory-desc{font-size:.85rem}}.post-action-btn{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.95rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:flex}.post-action-btn:hover{border-color:var(--ink-3);color:var(--ink)}.post-action-btn.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.post-action-btn.is-active:hover{border-color:var(--accent-hover-);color:var(--accent-hover-)}.admin-banner-form{border:1px solid var(--admin-border);background:var(--admin-surface-muted);border-radius:12px;margin-bottom:20px;padding:22px 24px}.admin-banner-form-title{color:var(--ink);margin:0 0 18px;font-size:.95rem;font-weight:700}.admin-banner-form-row{margin-bottom:14px}.admin-banner-form-label{color:var(--ink-2);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.admin-banner-preview-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.admin-banner-preview{aspect-ratio:6;object-fit:cover;border:1px solid var(--admin-border);background:var(--paper-2);border-radius:8px;width:100%;max-width:480px;height:80px}.admin-banner-reselect-btn,.admin-banner-pick-btn{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:96px;height:38px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.admin-banner-reselect-btn{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--admin-border)}.admin-banner-reselect-btn:hover{background:var(--paper-muted);border-color:var(--ink-3);color:var(--ink)}.admin-banner-pick-btn{background:var(--admin-accent);color:var(--paper-2);border:1px solid var(--admin-accent)}.admin-banner-pick-btn:hover{background:var(--admin-accent-hover);border-color:var(--admin-accent-hover)}.admin-banner-form-grid{grid-template-columns:140px 1fr 1.4fr;gap:10px;margin-bottom:12px;display:grid}.admin-banner-input{border:1px solid var(--admin-border);background:var(--paper-2);color:var(--ink);box-sizing:border-box;border-radius:8px;width:100%;height:40px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.admin-banner-input:focus{border-color:var(--admin-accent);outline:none}.admin-banner-input-full{width:100%}.admin-banner-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.admin-banner-btn-ghost{border:1px solid var(--admin-border);background:var(--paper-2);color:var(--ink-2);cursor:pointer;border-radius:8px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.admin-banner-btn-ghost:hover{border-color:var(--ink-3);color:var(--ink)}.admin-banner-btn-save{font-size:13px;border-radius:8px!important;padding:10px 20px!important}@media (width<=720px){.admin-banner-form-grid{grid-template-columns:1fr}.admin-banner-preview{max-width:100%;height:auto}}.mypage-wrapper{background-color:var(--bg-secondary);min-height:100vh}.mypage-main{max-width:1100px;margin:0 auto;padding:4rem 2rem}.mypage-title{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:2rem;font-family:inherit;font-size:2.25rem;font-weight:800}.mypage-layout{flex-direction:column;gap:2rem;display:flex}@media (width>=768px){.mypage-layout{flex-direction:row}}.mypage-sidebar{flex-shrink:0;width:100%}@media (width>=768px){.mypage-sidebar{width:260px}}.mypage-sidebar-card{box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#fff;border-radius:12px;overflow:hidden}.mypage-sidebar-header{background-color:var(--text-primary);color:#fff;padding:1.5rem}.mypage-sidebar-header p:first-child{opacity:.8;margin-bottom:.25rem;font-size:.85rem}.mypage-sidebar-header p:last-child{font-size:1.25rem;font-weight:700}.mypage-nav{flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.mypage-nav-btn{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:1rem 1.25rem;font-size:.95rem;transition:all .2s;display:flex}.mypage-nav-btn span{opacity:.6;margin-right:.75rem}.mypage-nav-btn:hover{background:var(--bg-accent);color:var(--text-primary)}.mypage-nav-btn.active{background:var(--accent-color);color:#fff;font-weight:600}.mypage-nav-btn.active span{opacity:1}.mypage-content{flex-grow:1;min-width:0}.mypage-card{box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#fff;border-radius:12px;padding:2rem}.mypage-card.security{max-width:450px;margin:2rem auto}.mypage-card.danger{background-color:#fef2f2;border-color:#fca5a5}.mypage-card-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.25rem;font-weight:700;display:flex}.mypage-card-title span{color:var(--text-secondary);margin-right:.5rem}.mypage-form-group{margin-bottom:1.25rem}.mypage-form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.mypage-form-group input,.mypage-form-group textarea{border:1px solid var(--border-color);border-radius:8px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.mypage-form-group input:focus,.mypage-form-group textarea:focus{border-color:var(--accent-color);outline:none}.mypage-btn{cursor:pointer;border:none;border-radius:8px;width:100%;padding:.85rem;font-size:.95rem;font-weight:600;transition:background-color .2s}.mypage-btn-primary{background-color:var(--text-primary);color:#fff}.mypage-btn-primary:hover{background-color:#1a2d5a}.mypage-btn-accent{background-color:var(--accent-color);color:#fff}.mypage-btn-accent:hover{background-color:var(--accent-hover)}.mypage-btn-danger{color:#fff;background-color:#ef4444}.mypage-btn-danger:hover{background-color:#dc2626}.mypage-btn-secondary{color:#64748b;background-color:#fff;border:1px solid #e2e8f0}.mypage-btn-secondary:hover{color:#0f1e3a;background-color:#f8fafc;border-color:#cbd5e1}.mypage-card.withdrawal-survey{background:#fff8f8;border:1px solid #fecaca}.withdrawal-survey-section{margin-top:1.25rem}.withdrawal-survey-label{color:#991b1b;letter-spacing:-.01em;margin-bottom:.6rem;font-family:inherit;font-size:.85rem;font-weight:700}.withdrawal-reasons-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}@media (width<=640px){.withdrawal-reasons-grid{grid-template-columns:1fr}}.withdrawal-reason-chip{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:.86rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.withdrawal-reason-chip:hover{background:#fff0f0;border-color:#fca5a5}.withdrawal-reason-chip input[type=checkbox]{accent-color:#dc2626;cursor:pointer;flex-shrink:0;width:16px;height:16px}.withdrawal-reason-chip.checked{color:#991b1b;background:#fef2f2;border-color:#dc2626;font-weight:600}.withdrawal-feedback-input{color:#0f1e3a;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #fecaca;border-radius:8px;outline:none;width:100%;min-height:110px;padding:12px 14px;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.withdrawal-feedback-input:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.withdrawal-feedback-count{text-align:right;color:#94a3b8;font-variant-numeric:tabular-nums;margin-top:4px;font-size:.72rem}.withdrawal-survey-actions{gap:10px;margin-top:1.5rem;display:flex}.withdrawal-survey-actions .mypage-btn{flex:1;width:auto}.withdrawal-summary{background:#fff7f7;border:1px solid #fecaca;border-radius:10px;margin-top:1rem;padding:1rem 1.1rem}.withdrawal-summary-title{color:#991b1b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;font-family:inherit;font-size:.78rem;font-weight:700}.withdrawal-summary-row{grid-template-columns:80px 1fr;gap:8px;padding:6px 0;font-size:.84rem;line-height:1.5;display:grid}.withdrawal-summary-row+.withdrawal-summary-row{border-top:1px dashed #fecaca;margin-top:6px;padding-top:10px}.withdrawal-summary-label{color:#991b1b;font-weight:600}.withdrawal-summary-value{color:#374151;word-break:break-word;white-space:pre-wrap}.mypage-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=640px){.mypage-grid{grid-template-columns:1fr 1fr}}.mypage-table-wrap{margin-top:1rem}.mypage-table{border-collapse:collapse;table-layout:fixed;word-break:keep-all;width:100%;font-size:.82rem}.mypage-table th:first-child,.mypage-table td:first-child{text-align:center;width:46px}.mypage-table th:nth-child(2),.mypage-table td:nth-child(2){width:68px}.mypage-table th:nth-child(3),.mypage-table td:nth-child(3){width:118px}.mypage-table th:nth-child(4),.mypage-table td:nth-child(4){width:74px}.mypage-table th:nth-child(6),.mypage-table td:nth-child(6){width:64px}.mypage-table th:nth-child(7),.mypage-table td:nth-child(7){width:82px}.mypage-table th:nth-child(8),.mypage-table td:nth-child(8){width:52px}.mypage-table th:nth-child(9),.mypage-table td:nth-child(9),.mypage-table th:nth-child(10),.mypage-table td:nth-child(10),.mypage-table th:nth-child(11),.mypage-table td:nth-child(11){text-align:center;width:52px}.mypage-table th{background:var(--bg-accent);color:var(--text-primary);text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.55rem .4rem;font-size:.8rem;font-weight:600}.mypage-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;padding:.55rem .4rem}.mypage-table td:nth-child(5){text-overflow:ellipsis;overflow:hidden}.mypage-table td:nth-child(5) a{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mypage-table tr:hover{background-color:var(--bg-secondary)}.mypage-table a{color:var(--accent-color);font-weight:500;text-decoration:none}.mypage-table a:hover{text-decoration:underline}.mypage-message{color:#ef4444;margin-bottom:1rem;font-size:.85rem}.mypage-info-text{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.5}
