:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,sans-serif;font-synthesis:none;font-size:14px;line-height:1.5;--bg: #f6f7f9;--surface: #ffffff;--inset: #f6f7f9;--track: #eceef2;--fg: #141a22;--fg-2: #374151;--muted: #4b5563;--subtle: #6b7280;--line: rgba(20, 30, 40, .07);--line-strong: rgba(20, 30, 40, .12);--hover: rgba(20, 30, 40, .04);--ink: #141a22;--on-ink: #ffffff;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .1);--link: #1d4ed8;--header: rgba(255, 255, 255, .82);--official: #eef3ff;--official-line: rgba(37, 99, 235, .18);--hero-shadow: 0 12px 40px rgba(20, 30, 40, .08);--card-shadow: 0 1px 2px rgba(20, 30, 40, .04);--warning-soft: rgba(180, 120, 0, .1);--warning-fg: #8a5a00;--success: #16a34a;--success-soft: rgba(22, 163, 74, .1);--success-fg: #166534;--violet: #7c3aed;--violet-soft: rgba(124, 58, 237, .1);--violet-fg: #6d28d9;--destructive: #b91c1c;--destructive-soft: rgba(220, 38, 38, .08);--mark: rgba(250, 204, 21, .38);color-scheme:light;color:var(--fg);background:var(--bg)}:root[data-theme=dark]{--bg: #0b0f14;--surface: #141a22;--inset: #1a212b;--track: #202832;--fg: #f4f7fb;--fg-2: #dce2ea;--muted: #a7b0bc;--subtle: #8b95a3;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .12);--hover: rgba(255, 255, 255, .05);--ink: #f8fafc;--on-ink: #0b0f14;--accent: #2563eb;--accent-soft: rgba(96, 150, 255, .16);--link: #8ab2ff;--header: rgba(11, 15, 20, .82);--official: rgba(37, 99, 235, .12);--official-line: rgba(96, 150, 255, .28);--hero-shadow: 0 12px 40px rgba(0, 0, 0, .35);--card-shadow: none;--warning-soft: rgba(255, 200, 87, .14);--warning-fg: #ffc857;--success: #59d499;--success-soft: rgba(89, 212, 153, .14);--success-fg: #59d499;--violet: #a78bfa;--violet-soft: rgba(167, 139, 250, .16);--violet-fg: #c4b5fd;--destructive: #f87171;--destructive-soft: rgba(248, 113, 113, .12);--mark: rgba(255, 200, 87, .26);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}button,input,textarea,select{font:inherit;letter-spacing:0;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a,label,summary{touch-action:manipulation}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s}button:hover,.button:hover{background:var(--inset);text-decoration:none}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}button.primary:hover:not(:disabled),.button.primary:hover{opacity:.88;background:var(--ink)}button.accent{background:var(--accent);border-color:var(--accent);color:#fff}button.accent:hover:not(:disabled){background:#1d4ed8}button.small{height:34px}button.full{width:100%}button.selected{background:var(--accent-soft);border-color:transparent;color:var(--link)}.icon-button{width:34px;height:34px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--hover);color:var(--fg)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}html{scroll-padding-top:calc(var(--header-h, 0px) + 12px)}.site-header{position:sticky;top:0;z-index:10;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}@media(max-width:900px){.site-header{transition:transform .22s ease}.site-header[data-tucked]:not(:focus-within){transform:translateY(-100%)}}@media(max-width:900px)and (prefers-reduced-motion:reduce){.site-header{transition:none}}.site-header-inner{max-width:1152px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--fg);font-weight:600;font-size:15px;flex-shrink:0}.brand:hover{text-decoration:none}.brand img{width:28px;height:28px;border-radius:8px}.brand-sub{color:var(--muted);font-weight:500}.site-nav{display:flex;gap:4px;flex:1;min-width:0}.site-nav a{padding:6px 12px;border-radius:9999px;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap}.site-nav a:hover{background:var(--hover);color:var(--fg);text-decoration:none}.site-nav a.active,[data-section=home] [data-shell] .site-nav a[href="/"],[data-section=features] [data-shell] .site-nav a[href="/features"],[data-section=issues] [data-shell] .site-nav a[href="/issues"],[data-section=roadmap] [data-shell] .site-nav a[href="/roadmap"],[data-section=completed] [data-shell] .site-nav a[href="/completed"]{background:var(--ink);color:var(--on-ink)}.site-nav a.active.parent{background:var(--hover);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--fg)}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.header-link{color:var(--muted);font-size:13px;padding:0 8px}.avatar{width:34px;height:34px;flex-shrink:0;border-radius:10px;background:var(--track);color:var(--fg-2);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}img.avatar{object-fit:cover;border-radius:50%}.user-menu{position:relative;margin-left:4px}.user-trigger{position:relative;width:38px;height:38px;padding:2px;border:0;border-radius:50%;background:transparent;transition:box-shadow .15s ease,transform .1s ease}.user-trigger:hover,.user-trigger.open{background:transparent;box-shadow:0 0 0 3px var(--accent-soft)}.user-trigger:active{transform:scale(.94)}.user-trigger .avatar{width:34px;height:34px;border-radius:50%}.user-pending{display:block;padding:2px}.user-pending .sk{width:34px;height:34px;border-radius:50%}.unread-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.user-trigger .unread-dot{position:absolute;top:1px;right:1px;width:10px;height:10px;margin:0;box-shadow:0 0 0 2px var(--surface)}.menu-badge,.new-replies{padding:0 7px;border-radius:9999px;background:var(--accent-soft);color:var(--link);font-size:11px;font-weight:600;line-height:18px}.menu-badge{margin-left:auto}.menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:260px;padding:6px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);box-shadow:0 16px 48px #0000002e;animation:menu-in .14s ease-out;transform-origin:top right}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}.menu-head{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}.menu-head>div{min-width:0}.menu-head strong{display:flex;align-items:center;gap:6px;font-size:13px}.menu-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.menu-head .avatar{width:36px;height:36px;border-radius:50%}.menu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--fg);font-size:13px;font-weight:450;text-align:left;justify-content:flex-start}.menu [role=menuitem] svg{color:var(--muted)}.menu [role=menuitem]:hover,.menu [role=menuitem]:focus-visible{background:var(--hover);text-decoration:none;outline:none}.menu hr{margin:4px 6px;border:0;border-top:1px solid var(--line)}.activity-tabs{margin-bottom:16px}.meta-author{display:inline-flex;align-items:center;gap:6px}.meta-author .avatar{width:20px;height:20px;font-size:9px;border-radius:6px}.meta-author img.avatar{border-radius:50%}.mention{padding:0 3px;border-radius:4px;background:var(--accent-soft);color:var(--link);font-weight:500}.article-body a,.comment-main .comment-text a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.reactions{display:flex;flex-wrap:wrap;gap:6px}.reaction{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:var(--track);font-size:13px;line-height:1}a.reaction{color:inherit;transition:border-color .15s ease,transform .1s ease}a.reaction:hover{border-color:var(--line-strong);text-decoration:none}a.reaction:active{transform:scale(.94)}.emoji-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.reaction img{width:16px;height:16px;object-fit:contain}.reaction b{font-weight:600;font-size:12px;color:var(--fg-2)}.op-badge{font-size:11px;padding:1px 6px;border-radius:6px;background:var(--accent-soft);color:var(--link);font-weight:600}.reply-context{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--subtle)}.reply-context svg{flex-shrink:0}.reply-context strong{color:var(--fg-2);font-weight:600;flex-shrink:0}.reply-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.reply-context{display:flex;justify-content:flex-start;max-width:100%;height:auto;margin:-5px 0;padding:5px 0;border:0;border-radius:6px;background:none;color:var(--subtle);font-size:12px;font-weight:400;text-align:left}button.reply-context:hover,button.reply-context:focus-visible{background:none;color:var(--fg-2)}button.reply-context:hover span,button.reply-context:focus-visible span{text-decoration:underline;text-underline-offset:2px}.comment:focus{outline:none}.comment:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}.page{max-width:1152px;margin:0 auto;padding:32px 16px 56px}.hero+.page{padding-top:0}.center{display:flex;justify-content:center;margin-top:18px}.muted{color:var(--subtle)}.error{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:var(--destructive-soft);color:var(--destructive);font-size:13px}.error.with-retry{display:flex;align-items:center;justify-content:space-between;gap:12px}.error.with-retry button{flex-shrink:0;height:30px;padding:0 10px;font-size:13px}.success{margin:0;color:var(--success-fg);font-size:13px}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:var(--subtle);font-size:13px}.shell-loading{animation:sk-fade .2s ease both .8s}[data-shell] .header-actions{min-height:34px}@media(max-width:900px){[data-section] [data-shell] .site-nav{scroll-snap-type:x mandatory}[data-section=home] [data-shell] .site-nav a[href="/"],[data-section=features] [data-shell] .site-nav a[href="/features"],[data-section=issues] [data-shell] .site-nav a[href="/issues"],[data-section=roadmap] [data-shell] .site-nav a[href="/roadmap"],[data-section=completed] [data-shell] .site-nav a[href="/completed"]{scroll-snap-align:center}}.hero{padding:72px 16px 56px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.hero-pill{font-size:12px;font-weight:500;color:var(--link);background:var(--accent-soft);padding:4px 10px;border-radius:9999px}.hero h1{margin:0;font-size:40px;line-height:46px;font-weight:650;max-width:720px}.hero>p{margin:0;color:var(--muted);max-width:520px;font-size:15px;line-height:23px}.hero-search-wrap{position:relative;width:100%;max-width:680px;margin-top:10px}.hero-search{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--hero-shadow);color:var(--subtle)}.hero-search:focus-within{border-color:#2563eb73}.hero-search input{flex:1;min-width:0;height:40px;border:0;outline:none;background:transparent;font-size:15px;color:var(--fg)}.hero-search input::-webkit-search-cancel-button{-webkit-appearance:none;width:18px;height:18px;margin-left:8px;cursor:pointer;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm3.7 12.3a1 1 0 0 1-1.4 1.4L12 13.4l-2.3 2.3a1 1 0 0 1-1.4-1.4l2.3-2.3-2.3-2.3a1 1 0 0 1 1.4-1.4l2.3 2.3 2.3-2.3a1 1 0 0 1 1.4 1.4L13.4 12Z'/%3E%3C/svg%3E") center / contain no-repeat}.hero-search button{height:40px;padding:0 18px;border-radius:12px}.hero-results{margin-top:8px;padding:6px;border-radius:18px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--hero-shadow);text-align:left;display:flex;flex-direction:column;gap:2px}.hero-results-note{display:flex;align-items:center;gap:8px;padding:8px 10px 6px;font-size:12px;color:var(--subtle)}.hero-results-note button{flex-shrink:0;margin-left:auto;height:28px;padding:0 10px;font-size:12px}.hero-result{position:relative;display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:12px}.hero-result:hover{background:var(--inset)}.hero-result a{flex:1;min-width:0;color:var(--fg);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-result a:after{content:"";position:absolute;inset:0;border-radius:12px}.hero-result a:hover{text-decoration:none}@media(max-width:480px){.hero-result a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;line-height:1.35}}.hero-result .vote{position:relative;z-index:1}.hero-result:has(a:active){background:var(--hover)}.hero-result:has(a:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.hero-result a:focus-visible{outline:none}.hero-kinds{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.hero-kinds button{height:30px;padding:0 12px;border-radius:9999px;font-size:12px;color:var(--fg-2);border-color:var(--line)}.section{margin-bottom:48px}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.section-head h2{margin:0;font-size:18px;font-weight:600;flex:1 0 auto}.section-head>a{display:inline-flex;align-items:center;gap:4px;font-size:13px}.segmented{display:inline-flex;padding:3px;border-radius:12px;background:var(--track)}.segmented button{height:28px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px}.segmented button:hover{background:transparent;color:var(--fg)}@media(max-width:360px){.segmented button{padding:0 9px}}.segmented button.selected{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #00000014}.lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.lane{border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}.lane .loading{padding:16px 0}.lane-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:2px}.lane-head small{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted)}.dot{width:8px;height:8px;border-radius:4px;background:var(--subtle);flex-shrink:0}.dot-under_review{background:#d4a017}.dot-planned{background:var(--accent)}.dot-in_progress{background:var(--violet)}.dot-completed{background:var(--success)}.lane-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--inset);color:var(--fg);font-size:13px}.lane-item:hover{text-decoration:none;background:var(--track)}.lane-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-item small{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--subtle);flex-shrink:0}.lane-empty{margin:0;padding:12px 10px;border-radius:10px;border:1px dashed var(--line-strong);color:var(--subtle);font-size:12px}.pill{display:inline-flex;align-items:center;padding:1px 8px;border-radius:9999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--track);color:var(--muted)}.pill-under_review{background:var(--warning-soft);color:var(--warning-fg)}.pill-planned{background:var(--accent-soft);color:var(--link)}.pill-in_progress{background:var(--violet-soft);color:var(--violet-fg)}.pill-completed{background:var(--success-soft);color:var(--success-fg)}.pill-declined,.pill-hidden{background:var(--destructive-soft);color:var(--destructive)}.vote{flex-direction:column;gap:2px;flex-shrink:0;padding:0;font-weight:600}.vote-box{width:48px;height:56px;border-radius:13px;background:var(--inset);border-color:var(--line);color:var(--fg-2)}.vote-chip{flex-direction:row;height:24px;min-width:46px;padding:0 8px;gap:3px;border-radius:8px;font-size:12px;background:var(--inset);border-color:var(--line);color:var(--fg-2)}.vote:hover:not(:disabled){border-color:#2563eb73;color:var(--link);background:var(--inset)}.vote{transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.vote:active:not(:disabled){transform:scale(.92)}.vote.pop svg{animation:vote-pop .32s ease-out}.vote-count{display:inline-block}.vote-count.bump{animation:vote-count .22s ease-out}@keyframes vote-pop{40%{transform:translateY(-3px) scale(1.15)}}@keyframes vote-count{0%{opacity:.2;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.vote.pop svg,.vote-count.bump{animation:none}}.vote.voted,.vote.voted:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.came-from{animation:came-from 1.8s ease-out}@keyframes came-from{0%,40%{outline:2px solid var(--accent);outline-offset:2px}to{outline:2px solid transparent;outline-offset:2px}}.post-card{position:relative;display:flex;gap:14px;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);transition:border-color .15s,box-shadow .15s;min-width:0}.post-card:hover{border-color:var(--line-strong);box-shadow:0 6px 20px #141e280f}.post-card.is-hidden{opacity:.6}.post-card .vote{position:relative;z-index:1}.post-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.post-card-title{color:var(--fg);font-size:15px;font-weight:600;line-height:21px;overflow-wrap:anywhere}.post-card-title:after{content:"";position:absolute;inset:0;border-radius:18px}.post-card-title:hover{text-decoration:none}.post-card-body{margin:0;font-size:13px;line-height:19px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}mark{background:var(--mark);color:inherit;border-radius:3px}.post-card-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--subtle);margin-top:2px}.comment-count{display:inline-flex;align-items:center;gap:4px}.empty-state{padding:48px 24px;border-radius:18px;border:1px dashed var(--line-strong);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state :is(h1,h2,h3){margin:0;font-size:16px;font-weight:600;text-wrap:balance;overflow-wrap:anywhere}.empty-state p{margin:0 0 8px;color:var(--muted)}.cta{border-radius:28px;background:#141a22;color:#f4f7fb;padding:28px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}:root[data-theme=dark] .cta{background:var(--surface);border:1px solid var(--line)}.cta>div{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px}.cta h2{margin:0;font-size:18px;font-weight:600}.cta p{margin:0;color:#a7b0bc}.cta a{height:40px;padding:0 16px;border-radius:10px;background:#f8fafc;color:#0b0f14;font-weight:500;display:inline-flex;align-items:center;gap:6px}.cta a:hover{text-decoration:none;opacity:.9}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-heading h1{margin:0 0 6px;font-size:28px;line-height:34px;font-weight:650;display:flex;align-items:center;gap:10px}.page-heading h1 span{font-size:13px;line-height:18px;font-weight:500;color:var(--muted);background:var(--track);padding:2px 9px;border-radius:9999px}.page-heading p{margin:0;color:var(--muted);max-width:560px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.search{flex:1 1 260px;display:flex;align-items:center;gap:8px;height:38px;padding:0 6px 0 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line-strong);color:var(--subtle)}.search:focus-within{border-color:#2563eb73}.search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--fg)}.search-key{display:none;margin-right:6px;padding:1px 6px;border:1px solid currentColor;border-radius:5px;font:inherit;font-size:11px;opacity:.6}@media(hover:hover)and (pointer:fine){.search:not(:focus-within) .search-key{display:inline-block}}.clear-search{width:26px;height:26px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--subtle)}.select-control{position:relative;display:inline-flex;align-items:center;color:var(--subtle)}.select-control select{appearance:none;height:38px;padding:0 32px 0 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font-size:13px;cursor:pointer}.select-control svg{position:absolute;right:12px;pointer-events:none}@media(max-width:640px){.toolbar .search{flex-basis:100%}.toolbar .select-control{flex:1 1 0;min-width:0}.toolbar .select-control select{width:100%;text-overflow:ellipsis}}@media(max-width:640px){@supports (field-sizing: content){.toolbar .select-control:has(+.select-control){flex:0 1 auto}.toolbar .select-control:has(+.select-control) select{field-sizing:content}}}.select-control select:hover{background:var(--inset)}.select-control select:active{background:var(--inset);border-color:var(--subtle)}.load-more{min-width:180px}.load-more-row{flex-direction:column;align-items:center;gap:10px}.roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;align-items:start}.roadmap-lane{background:var(--track);border-color:transparent;box-shadow:none;padding:12px}:root[data-theme=dark] .roadmap-lane{background:#141a2299;border-color:var(--line)}.roadmap-lane .lane-head{padding:4px 4px 2px}.roadmap-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:13px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow)}.roadmap-card>a{color:var(--fg);font-size:13px;font-weight:500;line-height:18px;overflow-wrap:anywhere}.roadmap-card>a:after{content:"";position:absolute;inset:0;border-radius:13px}.roadmap-card>a:hover{text-decoration:none}.roadmap-card:hover{border-color:var(--line-strong)}.roadmap-card .vote{position:relative;z-index:1}.roadmap-card>div{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--subtle)}.roadmap-card-date{margin-left:auto;white-space:nowrap}.roadmap-lane .lane-empty{background:transparent}.detail{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}.detail-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}.detail-main>.error{margin:0}.back-link{align-self:flex-start;height:28px;padding:0 4px;border:0;background:transparent;color:var(--muted);font-weight:400;gap:6px}.back-link:hover{background:transparent;color:var(--fg)}.article{border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);padding:28px;display:flex;flex-direction:column;gap:14px}.article-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--subtle)}.article h1{margin:0;font-size:28px;line-height:34px;font-weight:650;overflow-wrap:anywhere}.article-body{font-size:15px;line-height:25px;color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere}.attachments{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.attachments a{display:inline-flex;align-items:center;gap:6px;font-size:13px}.attachments a.shot{justify-content:center;flex-direction:column;width:252px;max-width:100%;height:168px;border-radius:12px;border:1px solid var(--line);overflow:hidden;background:var(--inset);color:var(--subtle);font-size:12px;position:relative;transition:border-color .15s ease}.attachments a.shot:hover{border-color:var(--line-strong)}.attachments a.shot:not(.shot-ready):not(.shot-error){background:linear-gradient(90deg,var(--sk-base) 25%,var(--sk-shine) 45%,var(--sk-base) 65%) 0 0 / 300% 100%;animation:sk-shimmer 1.4s ease-in-out infinite}.attachments img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.attachments a.shot:not(.shot-ready) img{opacity:0}@media(max-width:640px){.attachments:has(>a.shot+a.shot) a.shot{width:calc(50% - 4px);height:auto;aspect-ratio:3 / 2}}.comments-head{display:flex;align-items:center;margin-top:8px}.comments-head h2{margin:0;font-size:16px;font-weight:600}.latest-jump{margin-left:auto;height:30px;padding:0 10px;gap:6px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:500}.latest-jump:hover{background:var(--track);color:var(--fg)}.comment-form{border-radius:18px;background:var(--surface);border:1px solid var(--line-strong);padding:12px;display:flex;flex-direction:column;gap:8px}.comment-form:focus-within{border-color:#2563eb73}.comment-form textarea{border:0;outline:none;resize:vertical;font-size:14px;background:transparent;color:var(--fg);padding:4px}.comment-form>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-form small{color:var(--subtle);font-size:12px}.comment-form button{height:34px}.comment-form .count{margin-right:8px;font-variant-numeric:tabular-nums;color:var(--fg-2)}.comment-form .count.full{color:var(--destructive);font-weight:600}.join-conversation{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.join-conversation p{margin:0;flex:1}.comments-empty{margin:0;padding:0 4px}.new-divider{display:flex;align-items:center;gap:10px;padding:0 18px;color:var(--link);font-size:12px;font-weight:600}.new-divider:after{content:"";flex:1;height:1px;background:var(--accent);opacity:.35}.comment{display:flex;gap:14px;padding:0 18px}.comment-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}.comment-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--subtle)}.comment-meta strong{color:var(--fg)}.comment-main .comment-text{margin:0;font-size:14px;line-height:22px;color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere}.comment.official{padding:18px;border-radius:18px;background:var(--official);border:1px solid var(--official-line)}.comment.official .comment-main{padding-bottom:0;border-bottom:0}.comment.official .avatar{background:transparent}.official-badge{font-size:11px;padding:1px 7px;border-radius:6px;background:var(--accent);color:#fff;font-weight:500}.detail-aside{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:14px;padding-top:46px;position:sticky;top:72px}.side-card{border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);padding:20px;display:flex;flex-direction:column;gap:12px}.side-card h3{margin:0;font-size:13px;font-weight:600}.side-card small{color:var(--subtle);font-size:12px}.vote-total{display:flex;align-items:baseline;gap:8px}.vote-total strong{font-size:32px;line-height:36px;font-weight:650}.vote-total span{color:var(--subtle);font-size:13px}.vote-source{margin:-2px 0 0;color:var(--muted);font-size:12px}.vote-button{height:44px;border-radius:12px;background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.vote-button:hover:not(:disabled){background:var(--ink);opacity:.88}.vote-button.voted,.vote-button.voted:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff;opacity:1}.article-vote{display:none;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.article-vote .vote-button{padding:0 18px}.side-link{flex-direction:row;align-items:center;gap:10px;padding:14px 16px;border-radius:18px;color:var(--fg);font-size:13px}.side-link span{flex:1}.side-link svg{color:var(--subtle)}.side-link:hover{text-decoration:none;border-color:var(--line-strong)}button.side-link{height:auto;justify-content:flex-start;text-align:left;font-weight:400;white-space:normal}button.side-link.copied svg{color:var(--success-fg)}button.side-link.failed span{color:var(--destructive)}.admin-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.admin-card select{height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface)}.progress{list-style:none;margin:0;padding:0}.progress li{display:flex;gap:12px}.progress-rail{display:flex;flex-direction:column;align-items:center}.progress-dot{width:14px;height:14px;margin-top:4px;border-radius:7px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);box-shadow:inset 0 0 0 2px var(--line-strong);color:var(--on-ink)}.progress-line{width:2px;flex:1;min-height:14px;background:var(--line-strong)}.step-done .progress-dot{background:var(--ink);box-shadow:none}.step-done .progress-line{background:var(--ink)}.step-now .progress-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.progress-text{display:flex;flex-direction:column;padding-bottom:14px;font-size:14px;color:var(--subtle)}.step-done .progress-text,.step-now .progress-text{color:var(--fg);font-weight:500}.progress-text small{font-weight:400}.site-footer{border-top:1px solid var(--line)}.site-footer>div{max-width:1152px;margin:0 auto;padding:20px 16px 28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--subtle)}.site-footer>div>span{flex:1}.site-footer a{color:var(--muted);display:inline-flex;align-items:center;gap:3px}.analytics-switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.analytics-switch input{accent-color:var(--accent)}.analytics-switch:hover,.site-footer a:hover{color:var(--fg)}@media(pointer:coarse){.site-footer a,.analytics-switch{min-height:40px}.analytics-switch input{width:18px;height:18px}}.modal{width:min(480px,calc(100vw - 32px));top:var(--vv-top, 0px);bottom:var(--vv-bottom, 0px);max-height:calc(var(--vv-h, 100dvh) - 32px);overflow-y:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--fg);box-shadow:0 24px 80px #00000040}.modal.wide{width:min(640px,calc(100vw - 32px))}.modal::backdrop{background:#0b0f1473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal h2{margin:0;font-size:18px;font-weight:600}.modal>p.muted{margin:0 0 16px;color:var(--muted)}form[data-dropping]{position:relative}form[data-dropping]:after{content:"Drop images to attach";position:absolute;inset:-8px;z-index:3;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:18px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--accent);font-size:15px;font-weight:600;pointer-events:none}.comment-form[data-dropping]:after{inset:-1px}.modal form,.edit-post{display:flex;flex-direction:column;gap:14px}.modal label,.edit-post label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}.modal label input,.modal label select,.modal label textarea,.edit-post input,.edit-post textarea{padding:10px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--inset);color:var(--fg);font-size:14px;font-weight:400;outline:none}.modal label textarea,.edit-post textarea{resize:vertical}.modal label input:focus,.modal label textarea:focus,.edit-post input:focus,.edit-post textarea:focus{border-color:#2563eb8c;background:var(--surface)}.modal form footer,.edit-post footer{display:flex;justify-content:flex-end;gap:8px}.modal footer.pinned{position:sticky;bottom:-24px;z-index:2;margin:-12px -24px -24px;padding:12px 24px 24px;background:var(--surface)}.modal:has(footer.pinned){scroll-padding-bottom:76px}@supports (animation-timeline: scroll()){.modal footer.pinned{animation:pinned-edge linear both;animation-timeline:scroll(nearest block)}}@keyframes pinned-edge{0%,98%{box-shadow:0 -1px 0 var(--line)}to{box-shadow:0 -1px 0 transparent}}@media(max-height:500px){.modal footer.pinned{position:static;animation:none}.modal:has(footer.pinned){scroll-padding-bottom:0}}.fine{margin:0;font-size:12px;color:var(--subtle)}.modal>.fine{margin-top:16px}.fine a{display:inline-flex;align-items:center;gap:2px}.type-picker{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:13px;background:var(--track)}.type-picker button{height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted)}.type-picker button:hover{background:transparent;color:var(--fg)}.type-picker button.selected{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #00000014}.similar{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:14px;background:var(--official);border:1px solid var(--official-line);font-size:12px;color:var(--muted)}.similar>span{padding:0 4px 4px}.similar-row{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 6px;border-radius:10px;background:var(--surface)}.similar-row a{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:32px;padding:2px 6px;border-radius:8px;color:var(--fg);font-size:13px;transition:background-color .15s,transform .1s}.similar-row a:hover{text-decoration:none;background:var(--hover)}.similar-row a:hover .similar-open{opacity:1}.similar-row a:active{transform:scale(.98)}.similar-open{flex-shrink:0;opacity:.5;color:var(--muted)}.similar-row a>span:not(.pill):not(.sr-only){flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:400!important}.checkbox-label input{accent-color:var(--accent)}.integration-state{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--inset);margin-bottom:14px}.integration-state>div{flex:1}.integration-state p{margin:2px 0 0;font-size:12px;color:var(--subtle)}.connection-dot{width:10px;height:10px;border-radius:5px;background:#d4a017;flex-shrink:0}.connection-dot.connected{background:var(--success)}.setup-note{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:var(--warning-soft);color:var(--warning-fg);font-size:13px}.usage{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.usage h3{margin:0 0 10px;font-size:13px;font-weight:600}.usage>div{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;text-transform:capitalize}@media(max-width:900px){.site-header-inner{flex-wrap:wrap;gap:10px 16px}.site-nav{order:3;flex-basis:100%;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.site-nav::-webkit-scrollbar{display:none}.site-nav{--fade-start: 0px;--fade-end: 40px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent)}.site-nav.scrolled{--fade-start: 40px}.site-nav.at-end{--fade-end: 0px}.header-actions{margin-left:auto}.detail-aside{position:static;padding-top:0}.article-vote{display:flex}.detail-aside .vote-card{display:none}}@media(max-width:640px){.hero{padding:44px 16px 40px}.hero h1{font-size:30px;line-height:36px}.card-grid{grid-template-columns:minmax(0,1fr)}.post-card{padding:14px;gap:12px}.article{padding:20px}.article h1,.page-heading h1{font-size:24px;line-height:30px}.comment{padding:0 4px}.comment.official{padding:14px}.comment-form>div{flex-direction:column;align-items:stretch}.header-link,.brand-sub{display:none}}.button.full{width:100%}.button.google{height:42px;font-size:14px;color:var(--fg)}.or{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:12px;color:var(--subtle)}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line-strong)}.label-row{display:flex;justify-content:space-between;align-items:baseline}.label-row a{font-size:12px;font-weight:400}.password-field{position:relative;display:flex}.password-field input{flex:1;min-width:0;padding-right:46px}.reveal-password{position:absolute;display:grid;place-items:center;top:50%;right:4px;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);transform:translateY(-50%)}@media(hover:hover){.reveal-password:hover{background:var(--hover);color:var(--fg)}}.reveal-password:active{transform:translateY(-50%) scale(.92)}.reveal-password[aria-pressed=true]{color:var(--fg)}button.link{height:auto;padding:0;border:0;background:none;color:var(--link);font-size:12px;font-weight:500}button.link:hover{background:none;text-decoration:underline}.fine.center{text-align:center}.modal>.fine+.fine{margin-top:6px}.auth-sent{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px;padding:14px 16px;border-radius:12px;background:var(--official);border:1px solid var(--official-line);color:var(--fg-2)}.auth-sent svg{flex:none;color:var(--accent);margin-top:2px}.auth-sent p{margin:0}.meta-author .official-badge{margin-left:2px}.toast{position:fixed;inset:auto auto auto 50%;margin:0;border:0;overflow:visible;bottom:calc(24px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(480px,calc(100vw - 32px));padding:10px 10px 10px 16px;border-radius:12px;background:var(--ink);color:var(--on-ink);font-size:13px;box-shadow:0 12px 40px #00000040;transform:translate(-50%);animation:toast-in .18s ease-out}dialog .toast{bottom:auto;top:calc(16px + env(safe-area-inset-top))}:root:has(.vote-dock.show) .toast{bottom:calc(92px + env(safe-area-inset-bottom))}.toast button{width:26px;height:26px;padding:0;border:0;border-radius:7px;background:transparent;color:inherit;opacity:.7;flex-shrink:0}.toast button:hover{background:#ffffff24;opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.lane-more{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px;border-radius:12px;color:var(--link);font-size:13px;font-weight:500}.lane-more:hover{background:var(--hover);text-decoration:none}.sk{display:block;height:13px;border-radius:6px;background:linear-gradient(90deg,var(--sk-base) 25%,var(--sk-shine) 45%,var(--sk-base) 65%) 0 0 / 300% 100%;animation:sk-shimmer 1.4s ease-in-out infinite}:root{--sk-base: rgba(15, 23, 42, .07);--sk-shine: rgba(15, 23, 42, .13)}:root[data-theme=dark]{--sk-base: rgba(255, 255, 255, .06);--sk-shine: rgba(255, 255, 255, .12)}.sk-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}.sk-circle{width:22px;height:22px;border-radius:50%;flex:none}.sk-avatar{width:34px;height:34px}.sk-title{height:26px;margin-bottom:10px;border-radius:8px}.sk-title+.sk:not(.sk-title){margin-top:18px}.article .sk:not(.sk-title)+.sk,.comment-main .sk+.sk{margin-top:10px}.sk-heading{width:120px;height:18px;margin:30px 0 18px}.sk-button{height:42px;border-radius:10px;margin-top:16px}.detail-aside .side-card .sk+.sk:not(.sk-button){margin-top:14px}.detail-skeleton .comment{display:flex;gap:14px}.detail-skeleton .comment-main{flex:1}.detail-skeleton{animation:sk-fade .2s ease both .12s}@keyframes sk-fade{0%{opacity:0}}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.sk,.attachments a.shot{animation:none!important}}.board-skeleton{animation:sk-fade .2s ease both .12s}.board-skeleton .post-card:hover{border-color:var(--line);box-shadow:var(--card-shadow)}.sk-vote{width:44px;height:52px;border-radius:12px;flex:none}.sk-card-title{height:17px;margin-bottom:4px}.sk-meta{width:34%;height:11px;margin-top:6px}.lane-sk{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:13px;background:var(--inset)}.roadmap .lane-sk{gap:10px;border:1px solid transparent}.roadmap .lane-sk>.sk:first-child{height:14px;margin:2px 0}.roadmap .lane-sk>.sk-meta{height:24px;margin:0;border-radius:8px}.lane-sk-row{flex-direction:row;align-items:center;gap:10px;padding:8px 10px;border-radius:10px}.lane-sk-row .sk{height:12px;margin:4px 0}.lane-sk-row .sk-tail{width:28px;flex:none;margin-left:auto}.page[aria-busy=true] :is(.card-grid,.roadmap):not(.board-skeleton){opacity:.55;transition:opacity .15s ease .15s}.page :is(.card-grid,.roadmap){transition:opacity .15s ease}.viewer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:56px 16px;background:#080a0fdb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:viewer-in .16s ease both;transition:background-color .2s ease;touch-action:pinch-zoom}.viewer img{max-width:min(100%,1400px);max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px #00000073;animation:viewer-img .2s ease both}.viewer button{position:absolute;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;color:#fff;background:#ffffff1f;cursor:pointer}.viewer button:hover{background:#ffffff38}.viewer-close{top:12px;right:12px}.viewer-nav{top:50%;transform:translateY(-50%)}.viewer-nav.prev{left:12px}.viewer-nav.next{right:12px}.viewer-count,.viewer-open{position:absolute;bottom:18px;font-size:13px;color:#ffffffbf}.viewer-count{left:18px}.viewer-open{right:18px;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.viewer-open:hover{color:#fff}.attachments a.shot{cursor:zoom-in}.viewer img.loading{opacity:0;animation:none}.viewer>img{grid-area:1 / 1}.viewer img.viewer-preview{width:min(100%,1400px);height:100%;border-radius:0;box-shadow:none;pointer-events:none}.viewer img.can-zoom{cursor:zoom-in}.viewer.zoomed{display:block;overflow:auto;padding:0;overscroll-behavior:contain;touch-action:auto}.viewer.zoomed img{display:block;margin:auto;max-width:none;max-height:none;border-radius:0;cursor:zoom-out;animation:none}.viewer.zoomed img:active{cursor:grabbing}.viewer.zoomed{-webkit-backdrop-filter:none;backdrop-filter:none}.viewer.zoomed>:not(img){position:fixed}.viewer.zoomed>button{background:#080a0fb3}.viewer.zoomed>:is(.viewer-count,.viewer-open){padding:4px 10px;border-radius:999px;background:#080a0fb3;color:#fff}.viewer-status{position:absolute;inset:0;display:grid;place-items:center;color:#fffc;pointer-events:none}.viewer-failed{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;color:#ffffffd9;font-size:14px;text-align:center}.viewer-failed a{color:#fff;text-decoration:underline}@keyframes viewer-in{0%{opacity:0}}@keyframes viewer-img{0%{opacity:0;transform:scale(.97)}}.viewer img.enter-next{animation-name:viewer-next}.viewer img.enter-prev{animation-name:viewer-prev}@keyframes viewer-next{0%{opacity:0;transform:translate(48px)}}@keyframes viewer-prev{0%{opacity:0;transform:translate(-48px)}}.comment.fresh{animation:comment-fresh 2.4s ease;border-radius:12px}@keyframes comment-fresh{0%,40%{background:color-mix(in srgb,var(--accent, #3b82f6) 12%,transparent)}}kbd.shortcut{display:none;margin-left:-2px;padding:0 5px;border:1px solid currentColor;border-radius:5px;font:inherit;font-size:11px;line-height:16px;opacity:.6}@media(hover:hover)and (pointer:fine)and (min-width:641px){kbd.shortcut{display:inline-block}}@media(prefers-reduced-motion:reduce){.viewer,.viewer img,.viewer img:is(.enter-next,.enter-prev),.comment.fresh{animation:none}}.draft-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:8px 8px 8px 12px;border-radius:10px;font-size:13px;color:var(--accent);background:var(--accent-soft)}.draft-note button{padding:4px 10px;border:0;border-radius:7px;font:inherit;font-size:12px;color:inherit;background:transparent;cursor:pointer}.draft-note button:hover{background:var(--accent-soft)}.post-card:has(.post-card-title:focus-visible),.roadmap-card:has(>a:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.post-card-title:focus-visible,.roadmap-card>a:focus-visible{outline:none}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.auth-sent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.auth-sent-actions button{justify-content:center}.auth-sent+.button.full{margin-bottom:0}.email-typo{display:block;margin-top:6px;font-size:12px;font-weight:400;color:var(--muted)}.email-typo .link{font-size:inherit}.google[aria-busy=true]{pointer-events:none;opacity:.8}@media(max-width:420px){.auth-sent-actions{grid-template-columns:1fr}}.section[aria-busy=true] .card-grid{opacity:.55;transition:opacity .15s ease .1s}.segmented button .spin{margin-left:6px;vertical-align:-1px}@media(max-width:640px){.lane:has(>.lane-empty){flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px 16px}.lane:has(>.lane-empty) .lane-head{margin:0;flex:1 0 100%}.lane>.lane-empty{border:0;padding:0 0 0 16px}}.tab-count{margin-left:6px;padding:0 6px;border-radius:9999px;background:var(--track);color:var(--subtle);font-size:11px;font-weight:500}.segmented button.selected .tab-count{color:var(--muted)}.toolbar[hidden]{display:none}.result-count{margin:-6px 2px 12px;font-size:13px;color:var(--subtle);overflow-wrap:anywhere}.result-count:empty{display:none}.comment-reply{margin-left:auto;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:var(--subtle);font-size:12px;opacity:0;transition:opacity .12s ease}.comment:hover .comment-reply,.comment-reply:focus-visible{opacity:1}.comment-reply:hover{background:var(--track);color:var(--fg)}@media(hover:none){.comment-reply{opacity:1}}.comment-tools{margin-left:auto;display:inline-flex;align-items:center;gap:2px}.comment-who{flex:1 1 140px;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}.comment-meta:has(.comment-who){align-items:flex-start}.comment-who>strong{line-height:24px}.comment-tools .comment-reply{margin-left:0}.comment-tools:has(.comment-confirm) .comment-reply{opacity:1}.comment-confirm{font-size:12px;color:var(--muted);margin-right:4px}.comment-reply.danger{color:var(--destructive)}.comment-reply.danger:hover{background:var(--destructive-soft);color:var(--destructive)}.comment-edited{color:var(--subtle);font-size:12px}.comment-time{color:inherit;display:inline-flex;align-items:center;gap:4px}.comment-time:hover{color:var(--fg-2)}.comment-time.linked{color:var(--success-fg);text-decoration:none}.comment-edit{margin:6px 0 0}.arrived-pill{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:21;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border:0;border-radius:9999px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;box-shadow:0 10px 30px #0003;transform:translate(-50%);animation:toast-in .18s ease-out;transition:filter .15s ease,scale .1s ease}.arrived-pill:hover{filter:brightness(1.08)}.arrived-pill:active{scale:.96}:root:has(.vote-dock.show) .arrived-pill{bottom:calc(92px + env(safe-area-inset-bottom))}.vote-dock{display:none}@media(max-width:900px){.vote-dock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;display:flex;gap:8px;padding:8px;border-radius:16px;border:1px solid var(--line-strong);background:var(--header);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);box-shadow:0 10px 30px #00000024;transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .18s ease}.vote-dock.show{transform:none;opacity:1;pointer-events:auto}.vote-dock>button{flex:1;height:42px;justify-content:center}.vote-dock .vote-button{flex:0 0 auto;padding:0 16px}.vote-dock>button{min-width:0}.vote-dock>.vote-dock-share{flex:0 0 42px;padding:0}.vote-dock-narrow{display:none}.vote-dock-share.copied svg{color:var(--success-fg)}.vote-dock-share.failed svg{color:var(--destructive)}.vote-dock-count{margin-left:4px;padding:0 7px;border-radius:9999px;background:color-mix(in srgb,currentColor 16%,transparent);font-size:12px}:root:has(#reply:focus) .vote-dock{display:none}:root:has(.vote-dock) .site-footer{padding-bottom:88px}}@media(max-width:389px){.vote-dock-wide{display:none}.vote-dock-narrow{display:inline}.vote-dock .vote-button{padding:0 12px}.vote-dock>button{padding:0 10px}}@media(prefers-reduced-motion:reduce){.vote-dock{transition:none}}@media(max-width:640px){.site-footer>div{gap:10px 16px}.site-footer>div>span{flex-basis:100%}}.card-grid,.roadmap{transition:opacity .2s ease}.card-grid.refreshing,.roadmap.refreshing{opacity:.5;pointer-events:none;transition-delay:.15s}.card-grid.stale,.roadmap.stale{opacity:.55}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important}}.code-block{margin:8px 0;padding:12px 14px;border-radius:12px;background:var(--inset);border:1px solid var(--line-strong);overflow-x:auto;white-space:pre;overflow-wrap:normal;font:13px/20px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg)}.code-wrap{position:relative;white-space:normal}.code-wrap .code-block{padding-right:48px}.code-copy{position:absolute;top:7px;right:7px;gap:4px;height:28px;min-width:28px;padding:0 7px;border-radius:8px;color:var(--subtle);font-size:12px;opacity:0;transition:opacity .12s ease,background .15s}.code-wrap:hover .code-copy,.code-copy:focus-visible,.code-copy.copied{opacity:1}.code-copy:hover{color:var(--fg)}.code-copy.copied{color:var(--success-fg)}@media(hover:none){.code-copy{opacity:1}}.code-inline{padding:1px 5px;border-radius:6px;background:var(--track);font:.88em ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fg)}.comment-form .error{margin:0}.offline-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;background:var(--warning-soft);color:var(--warning-fg);font-size:13px;text-align:center}.offline-bar svg{flex-shrink:0}h1[tabindex="-1"]:focus{outline:none}.not-found .empty-state{margin-top:24px}.not-found .empty-state h1{margin:0;font-size:20px;font-weight:600}.meta-group{display:inline-flex;align-items:center;gap:8px}.meta-group.line-start>[aria-hidden]{display:none}:is(button,.button):not(.vote,.link):active:not(:disabled){background:var(--inset)}button.link:active:not(:disabled){opacity:.6}:is(button,.button).primary:active:not(:disabled){background:var(--ink);opacity:.78}button.accent:active:not(:disabled){background:#1d4ed8}:is(.icon-button,.comment-reply):active:not(:disabled),.site-nav a:not(.active):active,:is(.lane-more,.lane-item):active{background:var(--hover);color:var(--fg)}.site-nav a.active:active{opacity:.85}.post-card:has(.post-card-title:active){border-color:var(--line-strong);background:var(--inset)}.roadmap-card:has(>a:active){background:var(--inset)}@media(prefers-reduced-motion:no-preference){:is(button,.button):not(.vote,.link){transition-property:background,border-color,opacity,transform}:is(button,.button):not(.vote,.link):active:not(:disabled){transform:scale(.97)}.post-card{transition-property:border-color,box-shadow,background,transform}.post-card:has(.post-card-title:active),.roadmap-card:has(>a:active){transform:scale(.99)}}@media(max-width:900px)and (max-height:500px)and (orientation:landscape){.site-header-inner{flex-wrap:nowrap;padding-top:6px;padding-bottom:6px}.site-nav{order:0;flex:1 1 auto;min-width:0;margin:0;padding:0}.brand-sub,.header-link{display:none}.header-actions{margin-left:0}}.roadmap.sparse{display:flex;flex-wrap:wrap;align-items:stretch}.roadmap.sparse>.roadmap-lane{flex:1 1 200px}.roadmap.sparse .roadmap-lane:not(.filled) .lane-empty{border:0;padding:0 4px 2px}.roadmap.sparse .roadmap-lane.filled{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.roadmap.sparse .roadmap-lane.filled>:is(.lane-head,.lane-more,.lane-empty){grid-column:1 / -1}@media(max-width:560px){.roadmap.sparse>.roadmap-lane:not(.filled){flex:1 1 auto;padding:6px 8px;border-radius:12px}.roadmap.sparse>.roadmap-lane:not(.filled) .lane-head{margin:0;gap:6px}.roadmap.sparse>.roadmap-lane:not(.filled) .lane-head small{margin-left:6px}.roadmap.sparse>.roadmap-lane:not(.filled) .lane-empty{display:none}.roadmap.sparse{gap:8px}}.lanes.sparse{display:flex;flex-wrap:wrap}.lanes.sparse>.lane{flex:1 1 200px}.lanes.sparse>.lane:not(.filled) .lane-empty{border:0;padding:0}.lanes.sparse>.lane.filled{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:8px}.lanes.sparse>.lane.filled>:is(.lane-head,.lane-more){grid-column:1 / -1}@media(max-width:560px){.lanes.sparse{gap:8px}.lanes.sparse>.lane:not(.filled){flex:1 1 auto;padding:6px 8px;border-radius:12px}.lanes.sparse>.lane:not(.filled) .lane-head{margin:0;gap:6px}.lanes.sparse>.lane:not(.filled) .lane-head small{margin-left:6px}.lanes.sparse>.lane:not(.filled) .lane-empty{display:none}}.empty-state .elsewhere{margin:4px 0 8px;border-color:var(--official-line);background:var(--accent-soft);color:var(--link);font-weight:500}.empty-state .elsewhere:hover{background:var(--official)}.related{width:100%;max-width:560px;display:flex;flex-direction:column;gap:6px;margin:0 0 12px;text-align:left}.related>span{font-size:12px;color:var(--subtle)}.admin-card .mod-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.admin-card .mod-note.ok{color:var(--success)}.admin-card .mod-note.fail{color:var(--destructive)}.emoji-inline{display:inline-block;width:1.375em;height:1.375em;margin:0 .05em;vertical-align:-.3em;object-fit:contain}.edit-post{margin:4px 0 16px}.edit-post textarea{font:inherit;font-size:14px;line-height:1.6}.meta-edit{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.meta-edit:hover{color:var(--fg);border-color:var(--line-strong)}.shots{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.shot{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--inset)}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot .shot-open{position:static;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:none;cursor:zoom-in}.shot .shot-open:active:not(:disabled){background:none;opacity:.8}.viewer-layer{max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;background:none}.viewer-layer::backdrop{background:none}.shot.uploading img{opacity:.45}.shot.failed{border-color:var(--destructive)}.shot .shot-retry{cursor:pointer}.shot.failed img{opacity:.6}.shot .shot-retry span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--destructive);font-size:11px;font-weight:600;background:color-mix(in srgb,var(--surface) 72%,transparent)}.shot>.spin{position:absolute;inset:0;margin:auto;color:var(--fg)}.shot button{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:none;border-radius:999px;background:#0009;color:#fff;cursor:pointer}.shot-add{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:1px dashed var(--line-strong);background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.shot-add:hover{color:var(--fg);border-color:var(--fg)}@media(pointer:coarse){.shot button:not(.shot-open):before{content:"";position:absolute;inset:-4px -4px -12px -12px}}.shots.compact .shot{width:56px;height:56px}.shots.compact .shot .shot-retry span{justify-content:flex-end;padding-bottom:6px}.shots.compact .shot .shot-retry svg{display:none}.comment-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.comment-form .icon-button{display:grid;place-items:center;width:34px;padding:0;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.comment-form .icon-button:hover{color:var(--fg);background:var(--inset)}.comment-form>.shots{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px}.comment-actions{justify-content:flex-end}.load-failed{flex-direction:column;align-items:center;gap:10px;padding:18px 0}.load-failed p{margin:0}.load-earlier{flex-direction:column;align-items:center;gap:8px}.load-earlier .error{margin:0;text-align:center}@media(pointer:coarse){.comment-reply,.comment-time,.vote-chip,a.reaction,.section-head>a{position:relative}.comment-reply:before,.comment-time:before,.vote-chip:before,a.reaction:before,.section-head>a:before{content:"";position:absolute;inset:-8px 0}.hero-kinds button{height:36px;padding:0 14px;font-size:13px}.segmented button{height:32px}}
