@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/fonts/pretendard.woff2) format("woff2-variations")}:root{--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--color-canvas: #fafafa;--color-text: #1a1a1a;--color-text-muted: #6b7280;--space-page-x-mobile: 16px;--space-page-x-tablet: 32px;--space-page-x-desktop: 48px;--page-max-width: 1200px;--page-max-width-content: 760px;--tile-radius: 16px;--tile-shadow: 0 1px 2px rgba(0, 0, 0, .04);--tile-shadow-hover: 0 8px 24px rgba(0, 0, 0, .1);--transition-tile: transform .2s ease-out, box-shadow .2s ease-out}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.01em;overflow-wrap:break-word;word-break:keep-all}html{scroll-behavior:smooth;overflow-x:hidden}body{overflow-x:hidden}:target,[id]{scroll-margin-top:72px}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}.launch-board{display:flex;flex-direction:column;gap:24px}.launch-board-nav{display:flex;align-items:center;gap:16px}.launch-nav-btn{appearance:none;background:transparent;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--color-text);transition:background .15s ease-out,border-color .15s ease-out}.launch-nav-btn:hover:not(:disabled){background:#0000000a}.launch-nav-btn:disabled{opacity:.35;cursor:default}.launch-board-date{font-size:14px;font-weight:700;letter-spacing:-.02em;flex:1;text-align:center}.launch-loading{color:var(--color-text-muted);font-size:14px;text-align:center;padding:48px 0}.launch-empty{text-align:center;padding:48px 0;color:var(--color-text-muted);font-size:15px;display:flex;flex-direction:column;align-items:center;gap:16px}.launch-cta{display:inline-flex;align-items:center;padding:10px 20px;border-radius:999px;background:var(--color-text);color:#fff;font-size:14px;font-weight:600;transition:opacity .15s ease-out}.launch-cta:hover{opacity:.82}.launch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.launch-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:var(--tile-radius);box-shadow:var(--tile-shadow);transition:var(--transition-tile)}.launch-card:hover{box-shadow:var(--tile-shadow-hover);transform:translateY(-1px)}.launch-rank{font-size:13px;font-weight:700;color:var(--color-text-muted);min-width:28px;text-align:center;flex-shrink:0}.launch-logo-link{flex-shrink:0}.launch-logo{width:48px;height:48px;border-radius:12px;object-fit:cover}.launch-logo-placeholder{width:48px;height:48px;border-radius:12px;background:#0000000f;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--color-text-muted)}.launch-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.launch-name{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.launch-name:hover{opacity:.7}.launch-tagline{font-size:13px;color:var(--color-text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.launch-maker{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);margin-top:2px}.launch-maker:hover{color:var(--color-text)}.launch-maker-photo{width:16px;height:16px;border-radius:50%;object-fit:cover}.launch-vote{appearance:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:10px;border:1.5px solid rgba(0,0,0,.12);background:transparent;cursor:pointer;font-family:inherit;color:var(--color-text-muted);transition:border-color .15s ease-out,color .15s ease-out,background .15s ease-out;flex-shrink:0}.launch-vote:hover:not(:disabled){border-color:var(--color-text);color:var(--color-text)}.launch-vote--voted{border-color:var(--color-text);background:var(--color-text);color:#fff;cursor:default}.launch-vote-icon{font-size:12px;line-height:1}.launch-vote-count{font-size:12px;font-weight:700;line-height:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.btn-claim{font-size:12px;padding:4px 10px;border:1px solid var(--color-text);border-radius:4px;background:transparent;cursor:pointer;opacity:.7}.btn-claim:hover{opacity:1}.claim-requested{font-size:12px;opacity:.5}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-bg, #fff);border:1px solid var(--color-border, #ddd);border-radius:8px;padding:24px;max-width:480px;width:90%}.modal h3{margin:0 0 8px;font-size:16px}.modal p{margin:0 0 12px;font-size:14px}.modal textarea{width:100%;box-sizing:border-box;padding:8px;font-size:14px;resize:vertical}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.claim-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.claim-item{border:1px solid var(--color-border, #ddd);border-radius:6px;padding:12px}.claim-product{font-weight:600;margin-bottom:4px}.claim-message{font-size:13px;color:var(--color-text-muted, #666);margin-bottom:6px}.claim-status{display:inline-block;font-size:11px;padding:2px 6px;border-radius:3px;margin-bottom:4px;background:#f0f0f0}.claim-status--approved{background:#d4edda;color:#155724}.claim-status--rejected{background:#f8d7da;color:#721c24}.claim-status--pending{background:#fff3cd;color:#856404}.admin-subtabs,.admin-filter{display:flex;gap:8px;margin-bottom:16px}.admin-subtabs button,.admin-filter button{padding:6px 14px;border:1px solid var(--color-border, #ddd);border-radius:4px;background:transparent;cursor:pointer;font-size:13px}.admin-subtabs button.active,.admin-filter button.active{background:var(--color-text);color:var(--color-bg, #fff);border-color:var(--color-text)}.admin-register-form{display:flex;flex-direction:column;gap:12px;max-width:480px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12px;font-weight:600}.form-field input,.form-field select{padding:8px;border:1px solid var(--color-border, #ddd);border-radius:4px;font-size:14px}.form-error{color:#c00;font-size:13px;margin:0}.form-success{color:#080;font-size:13px;margin:0}.btn-primary{padding:10px 20px;background:var(--color-text);color:var(--color-bg, #fff);border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.admin-list-item{border:1px solid var(--color-border, #ddd);border-radius:6px;padding:12px}.admin-list-empty{padding:16px;text-align:center;opacity:.5;font-size:13px}.admin-item-name{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.admin-item-meta{font-size:12px;opacity:.6;margin-bottom:4px}.admin-item-url{font-size:12px;opacity:.6;word-break:break-all;display:block;margin-bottom:4px}.admin-item-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-item-owner{font-size:12px;opacity:.5}.admin-item-actions{display:flex;gap:6px;margin-top:8px}.admin-item-actions button{padding:4px 12px;border:1px solid var(--color-border, #ddd);border-radius:4px;cursor:pointer;font-size:12px}.badge-claimed{font-size:11px;padding:2px 6px;border-radius:3px;background:#d4edda;color:#155724}.admin-claim-message{margin:8px 0;padding:8px 12px;border-left:3px solid var(--color-border, #ddd);font-size:13px;opacity:.8}.claim-date{font-size:11px;opacity:.5}.url-meta-fetcher{display:flex;flex-direction:column;gap:6px}.url-meta-label{font-size:13px;font-weight:600;color:#374151}.url-meta-row{display:flex;gap:8px}.url-meta-input{flex:1;min-width:0;font-size:15px;font-family:inherit;padding:10px 14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f9fafb;color:#1a1a1a;outline:none;transition:border-color .15s}.url-meta-input:focus{border-color:#0000004d;background:#fff}.url-meta-input::placeholder{color:#9ca3af}.url-meta-btn{flex-shrink:0;appearance:none;padding:0 16px;height:44px;background:#1a1a1a;color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:opacity .15s}.url-meta-btn:hover:not(:disabled){opacity:.82}.url-meta-btn:disabled{opacity:.4;cursor:not-allowed}.url-meta-error{margin:0;font-size:12px;color:#dc2626}.emoji-picker-wrap{position:relative;display:inline-block}.emoji-trigger-btn{appearance:none;background:transparent;border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:4px 8px;font-size:16px;cursor:pointer;line-height:1;transition:background .15s}.emoji-trigger-btn:hover:not(:disabled){background:#0000000a}.emoji-trigger-btn:disabled{opacity:.4;cursor:not-allowed}.emoji-picker-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:8px;box-shadow:0 4px 16px #0000001f;z-index:100}.emoji-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.emoji-option{appearance:none;background:transparent;border:none;border-radius:6px;font-size:20px;padding:4px;cursor:pointer;line-height:1;transition:background .1s}.emoji-option:hover{background:#0000000f}.reactions-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.reaction-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:transparent;font-size:14px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.reaction-chip:hover:not(:disabled){background:#0000000a}.reaction-chip--active{background:#f0f9ff;border-color:#93c5fd}.reaction-chip-count{font-size:12px;font-weight:600;color:#6b7280}.comment-section{margin-top:40px;padding-top:32px;border-top:1px solid rgba(0,0,0,.07)}.comment-section-title{font-size:16px;font-weight:700;margin:0 0 20px}.comment-list{display:flex;flex-direction:column;gap:16px}.comment-item{display:flex;flex-direction:column;gap:8px}.comment-item--reply{margin-left:32px}.comment-header{display:flex;align-items:center;gap:8px}.comment-author{font-size:13px;font-weight:600}.comment-date{font-size:12px;color:#9ca3af}.comment-body{font-size:14px;line-height:1.7;color:#374151;margin:0}.comment-body--deleted{color:#9ca3af;font-style:italic}.comment-actions{display:flex;align-items:center;gap:8px}.comment-upvote-btn{appearance:none;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:3px;transition:background .15s,border-color .15s}.comment-upvote-btn:hover:not(:disabled){background:#0000000a}.comment-upvote-btn--active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.comment-reply-btn{appearance:none;background:transparent;border:none;padding:0;font-size:12px;color:#9ca3af;cursor:pointer;font-family:inherit}.comment-reply-btn:hover{color:#374151}.comment-delete-btn{appearance:none;background:transparent;border:none;padding:0;font-size:12px;color:#ef4444;cursor:pointer;font-family:inherit}.comment-form{display:flex;flex-direction:column;gap:8px}.comment-textarea{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;min-height:72px;background:#f9fafb;outline:none;transition:border-color .15s}.comment-textarea:focus{border-color:#0000004d;background:#fff}.comment-submit-btn{align-self:flex-end;padding:8px 18px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s}.comment-submit-btn:disabled{opacity:.4;cursor:not-allowed}.comment-login-prompt{padding:16px;background:#f9fafb;border-radius:10px;text-align:center;font-size:14px;color:#6b7280}.gnb[data-astro-cid-tzhtzwao]{position:sticky;top:0;z-index:50;background:#fafafad9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}.inner[data-astro-cid-tzhtzwao]{height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--space-page-x-mobile);max-width:var(--page-max-width);margin:0 auto;position:relative}.brand-wrap[data-astro-cid-tzhtzwao]{display:flex;align-items:baseline;gap:8px;min-width:0}.brand[data-astro-cid-tzhtzwao]{font-weight:800;font-size:20px;letter-spacing:-.03em;color:var(--color-text);flex-shrink:0}.brand-sub[data-astro-cid-tzhtzwao]{font-size:12px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden}.nav[data-astro-cid-tzhtzwao]{display:flex;align-items:center;gap:8px}.cta-submit[data-astro-cid-tzhtzwao]{display:inline-flex;align-items:center;padding:7px 16px;border-radius:999px;background:var(--color-text);color:#fff;font-size:13px;font-weight:600;letter-spacing:-.01em;transition:opacity .15s ease-out;white-space:nowrap}.cta-submit[data-astro-cid-tzhtzwao]:hover,.cta-submit[data-astro-cid-tzhtzwao]:focus-visible{opacity:.82}.lang-toggle[data-astro-cid-tzhtzwao]{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--color-text-muted);border:1px solid rgba(0,0,0,.1);transition:color .15s ease-out,border-color .15s ease-out}.lang-toggle[data-astro-cid-tzhtzwao]:hover,.lang-toggle[data-astro-cid-tzhtzwao]:focus-visible{color:var(--color-text);border-color:#00000040}.nav-list[data-astro-cid-tzhtzwao]{list-style:none;margin:0;padding:0}.nav-list[data-astro-cid-tzhtzwao] a[data-astro-cid-tzhtzwao]{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:14px;color:var(--color-text-muted);transition:color .2s ease-out,background .2s ease-out}.nav-list[data-astro-cid-tzhtzwao] a[data-astro-cid-tzhtzwao]:hover,.nav-list[data-astro-cid-tzhtzwao] a[data-astro-cid-tzhtzwao]:focus-visible{color:var(--color-text);background:#0000000a}.nav-list[data-astro-cid-tzhtzwao] a[data-astro-cid-tzhtzwao].active{color:var(--color-text);font-weight:600}.hamburger[data-astro-cid-tzhtzwao]{appearance:none;background:transparent;border:0;width:36px;height:36px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;cursor:pointer;border-radius:999px;transition:background .2s ease-out}.hamburger[data-astro-cid-tzhtzwao]:hover,.hamburger[data-astro-cid-tzhtzwao]:focus-visible{background:#0000000a}.hamburger[data-astro-cid-tzhtzwao] span[data-astro-cid-tzhtzwao]{display:block;width:18px;height:2px;background:var(--color-text);border-radius:1px;transition:transform .2s ease-out,opacity .2s ease-out}.hamburger[data-astro-cid-tzhtzwao][aria-expanded=true] span[data-astro-cid-tzhtzwao]:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger[data-astro-cid-tzhtzwao][aria-expanded=true] span[data-astro-cid-tzhtzwao]:nth-child(2){opacity:0}.hamburger[data-astro-cid-tzhtzwao][aria-expanded=true] span[data-astro-cid-tzhtzwao]:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(max-width:767px){.nav-list[data-astro-cid-tzhtzwao]{display:none!important}.hamburger[data-astro-cid-tzhtzwao]{display:none}}@media(min-width:768px){.inner[data-astro-cid-tzhtzwao]{padding:0 var(--space-page-x-tablet);height:60px;gap:24px}.nav-list[data-astro-cid-tzhtzwao]{display:flex;gap:4px;align-items:center}.hamburger[data-astro-cid-tzhtzwao]{display:none}}@media(min-width:1024px){.inner[data-astro-cid-tzhtzwao]{padding:0 var(--space-page-x-desktop);height:64px}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid rgba(0,0,0,.06);color:var(--color-text-muted)}.inner[data-astro-cid-sz7xmlte]{padding:48px var(--space-page-x-mobile) 40px;max-width:var(--page-max-width);margin:0 auto;padding-bottom:112px}.row[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:32px}.brand-col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:4px}.brand[data-astro-cid-sz7xmlte]{font-weight:800;font-size:18px;color:var(--color-text);letter-spacing:-.03em}.tagline[data-astro-cid-sz7xmlte]{font-size:13px;margin-top:4px;color:var(--color-text-muted)}.nav-groups[data-astro-cid-sz7xmlte]{display:flex;gap:40px;flex-wrap:wrap}.nav-group[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:10px}.group-label[data-astro-cid-sz7xmlte]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text);margin-bottom:2px}.nav-group[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:14px;color:var(--color-text-muted);transition:color .2s ease-out}.nav-group[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover,.nav-group[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:focus-visible{color:var(--color-text)}.meta[data-astro-cid-sz7xmlte]{margin-top:40px;font-size:12px}.version[data-astro-cid-sz7xmlte]{display:block;margin-top:4px;font-family:monospace;opacity:.5}@media(min-width:768px){.inner[data-astro-cid-sz7xmlte]{padding:64px var(--space-page-x-tablet) 56px}.row[data-astro-cid-sz7xmlte]{flex-direction:row;justify-content:space-between;align-items:flex-start}.meta[data-astro-cid-sz7xmlte]{margin-top:32px}}@media(min-width:1024px){.inner[data-astro-cid-sz7xmlte]{padding:72px var(--space-page-x-desktop) 64px}}.bottom-nav[data-astro-cid-ltxpr5xc]{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fafafaeb;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid rgba(0,0,0,.07);padding-bottom:env(safe-area-inset-bottom)}.tab[data-astro-cid-ltxpr5xc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 4px 8px;color:var(--color-text-muted);transition:color .15s ease-out;-webkit-tap-highlight-color:transparent}.tab[data-astro-cid-ltxpr5xc].active{color:var(--color-text)}.icon[data-astro-cid-ltxpr5xc]{display:flex;align-items:center;justify-content:center}.icon[data-astro-cid-ltxpr5xc] svg[data-astro-cid-ltxpr5xc]{width:22px;height:22px;display:block}.tab[data-astro-cid-ltxpr5xc].active .icon[data-astro-cid-ltxpr5xc] svg[data-astro-cid-ltxpr5xc]{stroke-width:2.2}.label[data-astro-cid-ltxpr5xc]{font-size:10px;font-weight:500;letter-spacing:-.01em;line-height:1;white-space:nowrap}.tab[data-astro-cid-ltxpr5xc].active .label[data-astro-cid-ltxpr5xc]{font-weight:700}@media(min-width:768px){.bottom-nav[data-astro-cid-ltxpr5xc]{display:none}}
