:root{--bg:#fbfaf7;--surface:#fff;--surface-2:#f4f2ed;--text:#1c1d1f;--muted:#5f6368;--border:#e4e1da;--accent:#0f6e5a;--accent-ink:#fff;--accent-soft:#e3f1ec;--like:#0f6e5a;--dislike:#b42318;--focus:#2563eb;--lvl-beginner:#e6f4ea;--lvl-beginner-ink:#1e6b34;--lvl-intermediate:#e8f0fe;--lvl-intermediate-ink:#1d4ed8;--lvl-advanced:#f3e8fd;--lvl-advanced-ink:#7e22ce;--shadow:0 1px 2px #0000000a, 0 2px 8px #0000000a;--serif:"Iowan Old Style", "Charter", "Palatino Linotype", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius:10px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121416;--surface:#1a1d20;--surface-2:#22262a;--text:#e8e6e1;--muted:#a0a4a8;--border:#2f3439;--accent:#4fbf9f;--accent-ink:#0b1f19;--accent-soft:#17332b;--like:#4fbf9f;--dislike:#f07167;--focus:#60a5fa;--lvl-beginner:#173323;--lvl-beginner-ink:#86d9a0;--lvl-intermediate:#1a2a4a;--lvl-intermediate-ink:#93b4fb;--lvl-advanced:#2d1d40;--lvl-advanced-ink:#d1a6f7;--shadow:none;color-scheme:dark}}:root[data-theme=dark]{--bg:#121416;--surface:#1a1d20;--surface-2:#22262a;--text:#e8e6e1;--muted:#a0a4a8;--border:#2f3439;--accent:#4fbf9f;--accent-ink:#0b1f19;--accent-soft:#17332b;--like:#4fbf9f;--dislike:#f07167;--focus:#60a5fa;--lvl-beginner:#173323;--lvl-beginner-ink:#86d9a0;--lvl-intermediate:#1a2a4a;--lvl-intermediate-ink:#93b4fb;--lvl-advanced:#2d1d40;--lvl-advanced-ink:#d1a6f7;--shadow:none;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;font-weight:600;line-height:1.25}h1{margin:0 0 .5rem;font-size:clamp(1.7rem,4vw,2.4rem)}h2{margin:2rem 0 .75rem;font-size:1.4rem}h3{margin:0 0 .25rem;font-size:1.1rem}a{color:var(--accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}p{margin:0 0 1rem}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.small{font-size:.875rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-row{align-items:center;gap:16px;height:60px;display:flex}.brand{font-family:var(--serif);color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:8px;place-items:center;font-size:1.05rem;display:grid}.nav{gap:4px;display:flex}.nav a{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 10px;font-weight:500;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:var(--surface-2)}.header-search{flex:1;max-width:340px;margin-left:auto;position:relative}.header-search input{padding-right:34px}.kbd{font:12px var(--mono);color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.header-actions{align-items:center;gap:6px;display:flex}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu a,.menu button{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;text-decoration:none}.menu a:hover,.menu button:hover{background:var(--surface-2)}.menu .menu-email{color:var(--muted);border-bottom:1px solid var(--border);text-overflow:ellipsis;margin-bottom:4px;padding:8px 10px;font-size:.85rem;overflow:hidden}@media (width<=860px){.header-row{flex-wrap:wrap;gap:10px;height:auto;padding-top:10px;padding-bottom:10px}.header-search{flex-basis:100%;order:3;max-width:none}.header-actions{margin-left:auto}.nav{scrollbar-width:none;flex-basis:100%;order:4;overflow-x:auto}.kbd{display:none}}input[type=text],input[type=search],input[type=email],input[type=url],select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px}textarea{resize:vertical;min-height:96px}input::placeholder,textarea::placeholder{color:var(--muted)}label{font-weight:500}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 88%, black)}.btn-danger{color:var(--dislike);border-color:color-mix(in srgb, var(--dislike) 40%, var(--border))}.btn-sm{padding:4px 10px;font-size:.875rem}.btn[disabled]{opacity:.55;cursor:not-allowed}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.8rem;text-decoration:none;display:inline-flex}a.chip:hover{color:var(--text);border-color:var(--muted)}.chip .count{color:var(--muted);font-variant-numeric:tabular-nums}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:6px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-beginner{background:var(--lvl-beginner);color:var(--lvl-beginner-ink)}.badge-intermediate{background:var(--lvl-intermediate);color:var(--lvl-intermediate-ink)}.badge-advanced{background:var(--lvl-advanced);color:var(--lvl-advanced-ink)}.badge-free{background:var(--accent-soft);color:var(--accent)}.badge-testable{background:var(--accent);color:var(--accent-ink)}.card-list{gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.paper-card h3 a{color:var(--text);text-decoration:none}.paper-card h3 a:hover{color:var(--accent)}.paper-meta{color:var(--muted);margin-bottom:6px;font-size:.875rem}.paper-badges{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.paper-tldr{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 10px;display:-webkit-box;overflow:hidden}.paper-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.paper-actions .spacer{flex:1}.data-line{color:var(--muted);font-size:.8rem}.vote{gap:4px;display:inline-flex}.vote button,.save-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:.85rem;display:inline-flex}.vote button:hover,.save-btn:hover{color:var(--text);border-color:var(--muted)}.vote button[data-dir="1"][aria-pressed=true]{color:var(--like);border-color:var(--like);background:var(--accent-soft)}.vote button[data-dir="-1"][aria-pressed=true]{color:var(--dislike);border-color:var(--dislike);background:color-mix(in srgb, var(--dislike) 10%, var(--surface))}.save-btn[data-status=saved],.save-btn[data-status=read]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.reasons{flex-wrap:wrap;align-items:center;gap:6px;width:100%;font-size:.85rem;display:flex}.reasons button{padding:2px 8px;font-size:.8rem}.page-head{padding:28px 0 8px}.browse{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:28px;padding-bottom:48px;display:grid}.filters{max-height:calc(100vh - 92px);padding-right:6px;position:sticky;top:76px;overflow-y:auto}.filters fieldset{border:0;margin:0 0 18px;padding:0}.filters legend{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-size:.85rem;font-weight:600}.check{cursor:pointer;align-items:center;gap:8px;padding:2px 0;font-size:.92rem;font-weight:400;display:flex}.check input{accent-color:var(--accent);width:16px;height:16px;margin:0}.check .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8rem}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar .search{flex:260px}.toolbar select{width:auto}.result-count{color:var(--muted);font-size:.9rem}.mydata-box{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:var(--radius);margin-bottom:18px;padding:10px 12px;font-size:.9rem}.filter-toggle{display:none}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:48px 16px}.filter-close{display:none}@media (width<=860px){.browse{grid-template-columns:1fr}.filter-toggle{display:inline-flex}.filters{display:none}.filters.open{z-index:40;background:var(--bg);max-height:none;padding:16px 16px 88px;display:block;position:fixed;inset:0;overflow-y:auto}.filters.open .filter-close{z-index:41;display:flex;position:fixed;bottom:16px;left:16px;right:16px}}.hero{padding:48px 0 24px}.hero p.lead{color:var(--muted);max-width:640px;font-size:1.15rem}.hero-search{gap:8px;max-width:560px;margin:20px 0 12px;display:flex}.stats-row{color:var(--muted);flex-wrap:wrap;gap:20px;font-size:.9rem;display:flex}.stats-row strong{color:var(--text);font-size:1.1rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);padding:14px 16px;text-decoration:none;display:block}.tile:hover{border-color:var(--accent)}.tile .tile-title{font-family:var(--serif);font-size:1.05rem;font-weight:600}.tile .tile-sub{color:var(--muted);font-size:.85rem}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-head a{font-size:.9rem}.paper-layout{grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding-top:28px;padding-bottom:56px;display:grid}.paper-layout aside .card{margin-bottom:14px}.breadcrumbs{color:var(--muted);margin-bottom:8px;font-size:.875rem}.breadcrumbs a{color:var(--muted)}.tldr-box{border-left:3px solid var(--accent);margin:18px 0;padding:4px 0 4px 16px;font-size:1.08rem}.cta-row{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.facts{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:.92rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}pre.cite{white-space:pre-wrap;word-break:break-word;font:.8rem/1.5 var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:10px}.tabs{gap:4px;margin-bottom:4px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:.85rem}.tabs button[aria-selected=true]{background:var(--surface-2);color:var(--text);font-weight:600}.path-nav{font-size:.9rem}.path-nav .path-title{font-weight:600}.path-nav .steps{justify-content:space-between;gap:10px;margin-top:6px;display:flex}details.report summary{cursor:pointer;color:var(--muted);font-size:.9rem}details.report form{gap:8px;margin-top:8px;display:grid}@media (width<=860px){.paper-layout{grid-template-columns:1fr}}.path-steps{counter-reset:step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.path-steps li{counter-increment:step;grid-template-columns:36px minmax(0,1fr);gap:12px;display:grid}.path-steps li:before{content:counter(step);border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;font-weight:600;display:grid}.path-steps li.done:before{content:"✓";background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.progress{background:var(--surface-2);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.progress>span{background:var(--accent);width:0;height:100%;transition:width .3s;display:block}.narrow{max-width:720px;padding-top:28px;padding-bottom:56px}.stack{gap:14px;display:grid}.form-row{gap:6px;display:grid}.notice{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:.92rem}.notice.warn{border-color:#d97706}.provider-btns{gap:10px;max-width:380px;display:grid}.divider{color:var(--muted);align-items:center;gap:10px;max-width:380px;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.prose{max-width:720px}.prose h2{margin-top:1.8rem}.prose ul{padding-left:1.2rem}.issue{margin-bottom:36px}.issue-date{color:var(--muted);font-size:.9rem}.issue-item{border-bottom:1px solid var(--border);padding:12px 0}.issue-item:last-child{border-bottom:0}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:24px 0 40px;font-size:.875rem}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.footer-links{flex-wrap:wrap;gap:16px;display:flex}.footer-links a{color:var(--muted)}.toast{background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);z-index:50;border-radius:8px;padding:10px 16px;font-size:.92rem;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0003}.toast a{color:inherit;font-weight:600}.skip:focus{clip:auto;background:var(--surface);z-index:100;width:auto;height:auto;padding:8px 12px;position:fixed;top:12px;left:12px}
