.task-card{height:100%;color:inherit;background:var(--s-raise);border:1px solid var(--l-panel);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);content-visibility:auto;contain-intrinsic-size:auto 176px;border-radius:4px;padding:16px;text-decoration:none;display:block}a.task-card:focus-visible{outline:2px solid var(--a-act);outline-offset:2px}a.task-card:hover{border-color:var(--l-edge);transform:translateY(-2px);box-shadow:0 14px 40px #00000059}.task-card h3{font-family:var(--body,var(--font-body,"IBM Plex Sans", system-ui, sans-serif));margin:0 0 6px;font-size:1.02rem;font-weight:600;line-height:1.2}.task-summary{color:var(--t-mid);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.task-footer{flex-direction:column;gap:6px;min-width:0;margin-top:10px;display:flex}.task-meta{font-family:var(--mono,var(--font-mono,"JetBrains Mono", ui-monospace, monospace));color:var(--t-low);white-space:nowrap;font-size:.76rem;line-height:1.4}.task-meta-hard:before{content:"";background:var(--st-warn);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.task-tags{flex-wrap:nowrap;gap:6px;min-width:0;line-height:1.4;list-style:none;display:flex;overflow:hidden}.task-tags li{font-family:var(--mono,var(--font-mono,"JetBrains Mono", ui-monospace, monospace));color:var(--t-mid);border:1px solid var(--l-hair);white-space:nowrap;border-radius:3px;flex-shrink:0;padding:2px 7px;font-size:.72rem}.task-tags-more{color:var(--t-low);flex-shrink:0}.task-card-community{font-family:var(--mono,var(--font-mono,"JetBrains Mono", ui-monospace, monospace));color:var(--a-act);border:1px solid var(--a-act);border-radius:3px;margin-bottom:6px;padding:2px 7px;font-size:.7rem;line-height:1.4;display:inline-block}.task-stats{border-top:1px solid var(--l-hair);font-family:var(--mono,var(--font-mono,"JetBrains Mono", ui-monospace, monospace));color:var(--t-low);gap:12px;margin-top:6px;padding-top:8px;font-size:.74rem;line-height:1.4;display:flex}:root{--toolbar-h:72px}.catalog-head{padding:8px 0 6px}.catalog-head h1{font-family:var(--body);letter-spacing:-.01em;margin-bottom:2px;font-size:clamp(1.4rem,2.2vw,1.7rem);font-weight:600;line-height:1.2}.catalog-head .section-kicker{margin-bottom:4px}.catalog-head .section-sub{max-width:60ch;margin-top:4px;line-height:1.5}.catalog-section{padding:0 0 56px}.catalog-section h2{margin-bottom:22px}.catalog-bar{z-index:20;background:linear-gradient(to bottom, var(--bg) 0, var(--bg) 8px, transparent 8px);padding:8px 0 6px;position:sticky;top:0}.filter-bar{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:4px;align-items:center;gap:8px;min-height:48px;padding:0 8px;display:flex;position:relative;box-shadow:0 10px 30px #00000073}.filter-bar:has(.filter-bar-input:focus-visible){outline:2px solid var(--act);outline-offset:2px}.filter-bar-input{min-width:0;min-height:44px;color:inherit;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:0 4px;font-size:.92rem}.filter-bar-submit{font-family:var(--mono);border:1px solid var(--line);min-height:44px;color:inherit;cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:0 16px;font-size:.8rem}.filter-picker{flex-shrink:0}.filter-picker>summary{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:var(--mono);color:var(--text-dim);border:1px solid var(--line);min-height:32px;transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);border-radius:3px;align-items:center;padding:0 12px;font-size:.78rem;list-style:none;display:inline-flex}.filter-picker>summary::-webkit-details-marker{display:none}.filter-picker>summary::marker{content:""}.filter-picker[open]>summary,.filter-picker>summary:hover{border-color:var(--line-bright);color:inherit}.filter-picker-panel{z-index:21;background:var(--bg-raise);border:1px solid var(--l-panel);border-radius:4px;flex-direction:column;gap:20px;min-width:300px;max-width:min(480px,100vw - 48px);padding:20px;display:flex;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 18px 48px #0006}.filter-axis{border:0;margin:0;padding:0}.filter-axis legend{font-family:var(--mono);color:var(--mono-dim);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:.74rem;line-height:1.5}.filter-axis-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-tokens{flex-wrap:wrap;gap:6px;min-width:0;list-style:none;display:flex}.filter-token{font-family:var(--mono);color:var(--text-dim);border:1px solid var(--line);white-space:nowrap;min-height:32px;transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);border-radius:3px;flex-shrink:0;align-items:center;padding:0 10px;font-size:.76rem;text-decoration:none;display:inline-flex}.filter-token:hover{border-color:var(--line-bright);color:inherit}.filter-chip{font-family:var(--mono);color:var(--text-dim);border:1px solid var(--line);min-height:44px;transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);border-radius:3px;flex-shrink:0;align-items:center;padding:0 12px;font-size:.78rem;text-decoration:none;display:inline-flex}.filter-chip:hover{border-color:var(--line-bright);color:inherit}.filter-chip--active{color:var(--act);border-color:var(--act);background:0 0}.filter-chip:focus-visible,.filter-picker>summary:focus-visible,.filter-token:focus-visible{outline:2px solid var(--act);outline-offset:2px}.filter-count{font-family:var(--mono);color:var(--mono-dim);margin:0;font-size:.82rem;line-height:1.5}.catalog-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:4px;margin-bottom:10px;display:flex}.filter-reset{color:var(--act);text-decoration:none}.filter-reset:hover{text-decoration:underline}.filter-empty{text-align:center;border:1px solid var(--l-panel);background:var(--bg-raise);border-radius:4px;padding:40px 24px}.filter-empty p{color:var(--text-dim);margin-bottom:16px;line-height:1.7}.task-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;list-style:none;display:grid}.task-grid .task-card{scroll-margin-top:calc(var(--toolbar-h) + 8px)}.sort-toggle{align-items:center;min-width:0;display:flex}.sort-toggle legend{float:left;margin:0 12px 0 0}.sort-toggle .filter-chip{min-height:32px}.task-start{margin-top:26px}.task-start .btn-primary{width:auto;text-decoration:none;display:inline-block}.task-page{max-width:980px;margin:0 auto;padding:40px 24px 80px}.breadcrumbs{font-family:var(--mono);color:var(--mono-dim);margin-bottom:24px;font-size:.78rem;line-height:1.5}.breadcrumbs a{color:var(--act);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.task-page h1{font-family:var(--body);letter-spacing:-.01em;font-size:clamp(1.6rem,4vw,2.3rem);font-weight:600;line-height:1.25}.task-community-byline{font-family:var(--mono);color:var(--act);margin:-8px 0 18px;font-size:.82rem}.task-pending-notice{border:1px solid var(--amber);color:var(--amber);background:#f0b05c1f;border-radius:4px;margin:18px 0;padding:12px 16px;font-size:.92rem}.task-complaint{margin-top:28px;font-size:.85rem}.task-complaint a{color:var(--mono-dim);text-decoration:none}.task-complaint a:hover{text-decoration:underline}.task-block{padding:40px 0 0}.task-block h2{margin-bottom:16px;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.3}.task-block p{color:var(--text-dim);max-width:68ch;line-height:1.75}.task-brief p+p{margin-top:1.1em}.task-brief code{font-family:var(--mono);color:var(--text);background:var(--bg-raise);border:1px solid var(--line);overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 .3em;font-size:.84em}.task-brief p.task-brief-env{color:var(--mono-dim);border-top:1px solid var(--line);padding-top:.8em;font-size:.9em}.checkpoints{gap:12px;list-style:none;display:grid}.checkpoints li{color:var(--text-dim);padding-left:26px;line-height:1.7;position:relative}.checkpoints li:before{content:"○";color:var(--green);font-family:var(--mono);position:absolute;left:0}.task-cta{background:var(--bg-raise);border:0;border-radius:4px;flex-direction:column;gap:12px;margin:56px 0 0;padding:24px;display:flex}.task-cta>*{margin:0}.task-cta p{color:var(--text-dim);line-height:1.7}.task-cta-actions{flex-wrap:wrap;gap:12px;display:flex}.task-cta-actions .btn-primary{width:auto;text-decoration:none;display:inline-block}.btn-secondary{font-family:var(--mono);color:var(--text);border:1px solid var(--line-bright);text-align:center;transition:border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);border-radius:3px;padding:14px 26px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-block}.btn-secondary:hover{color:var(--green);border-color:var(--green);background:var(--green-soft)}.vote-widget{flex-wrap:wrap;align-items:center;gap:14px;margin:28px 0;display:flex}.vote-form{gap:8px;display:flex}.vote-btn{font-family:var(--mono);color:var(--text-dim);border:1px solid var(--line);cursor:pointer;min-height:40px;transition:border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);background:0 0;border-radius:4px;padding:0 14px;font-size:.88rem}.vote-btn:hover{border-color:var(--line-bright);color:inherit}.vote-btn:focus-visible{outline:2px solid var(--act);outline-offset:2px}.vote-btn[disabled]{opacity:.6;cursor:wait}.vote-btn-active{color:var(--act);border-color:var(--act);background:#9d8cff24}.vote-rating{font-family:var(--mono);color:var(--mono-dim);font-size:.82rem}.vote-guest{position:relative}.vote-guest .vote-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.vote-guest .vote-btn[aria-disabled=true]:hover{border-color:var(--line);color:var(--text-dim)}.vote-tip{z-index:5;width:max-content;max-width:260px;color:var(--text);visibility:hidden;opacity:0;transition:opacity var(--dur-1) var(--ease-out), visibility var(--dur-1) var(--ease-out);padding-top:8px;font-size:.8rem;position:absolute;top:100%;left:0}.vote-tip span{background:var(--bg-raise);border:1px solid var(--line-bright);border-radius:4px;padding:8px 12px;display:block}.vote-tip a{color:var(--act)}.vote-guest:hover .vote-tip,.vote-guest:focus-within .vote-tip{visibility:visible;opacity:1}.mutation-error{color:var(--red);border-left:2px solid var(--red);margin-top:10px;padding-left:8px;font-size:.82rem}.comments{border-top:1px solid var(--line);margin-top:56px;padding-top:40px}.comment-form{flex-direction:column;gap:12px;max-width:560px;margin:20px 0 32px;display:flex}.comment-form label{color:var(--text-dim);font-size:.85rem;line-height:1.5}.comment-form textarea{background:var(--bg-raise);border:1px solid var(--line-bright);color:inherit;line-height:1.6;font:inherit;resize:vertical;border-radius:4px;padding:12px 14px}.comment-form textarea:focus-visible{outline:2px solid var(--act);outline-offset:2px}.comment-form button{align-self:flex-start}.comments-guest-cta{color:var(--text-dim);margin:16px 0 28px}.comments-guest-cta a{color:var(--act);text-decoration:none}.comments-guest-cta a:hover{text-decoration:underline}.comments-list{gap:28px;list-style:none;display:grid}.comments-empty{color:var(--mono-dim);font-size:.9rem}.comment{padding:0}.comment-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px;line-height:1.5;display:flex}.comment-author{font-weight:600}.comment-date{font-family:var(--mono);color:var(--mono-dim);font-size:.76rem}.comment-body{color:var(--text-dim);white-space:pre-wrap;word-break:break-word;line-height:1.7}.comment-delete-form{margin-top:6px}.comment-delete-btn{font-family:var(--mono);color:var(--mono-dim);cursor:pointer;background:0 0;border:0;min-height:32px;margin-left:-10px;padding:8px 10px;font-size:.8rem;text-decoration:underline}.comment-delete-btn:hover{color:var(--red)}.comment-delete-btn[disabled]{opacity:.5;cursor:wait}.comments-more{color:var(--act);font-family:var(--mono);margin-top:8px;font-size:.84rem;text-decoration:none;display:inline-block}.comments-more:hover{text-decoration:underline}.task-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:48px;margin-top:32px;display:grid}.task-content{min-width:0}.task-content>.task-block:first-child{padding-top:0}.task-sidebar{flex-direction:column;gap:24px;display:flex}.task-sidebar>*{margin:0}.task-sidebar .task-tags{flex-wrap:wrap;overflow:visible}@media (width<=760px){.task-layout{grid-template-columns:1fr;gap:28px}.task-content{order:2}.task-sidebar{order:1}}@media (width<=560px){:root{--toolbar-h:136px}.filter-bar{flex-wrap:wrap;padding:6px 8px}.filter-bar-input{flex-basis:100%}.filter-tokens{flex-wrap:nowrap;flex:1;min-width:0;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.filter-token,.filter-picker>summary,.sort-toggle .filter-chip{min-height:44px}.task-grid{grid-template-columns:1fr}.task-page{padding:28px 18px 60px}}
