/* Field Notes styles. One rule per selector and context: a selector appears again only as part of a shared rule
   (the corners of a card, the skeleton shapes, table cells) or inside a media query. No !important but for [hidden],
   the screen-reader text and motion switched off. Edit rules in place; do not append override blocks. */
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.fn-wrap{margin:0 auto;padding:0 var(--pad);max-width:calc(720px + 2*var(--pad))}
main.fn-wrap{min-height:60vh;padding-bottom:clamp(72px,8vw,112px)}
.fn-logo{display:inline-flex;align-items:center;font-family:var(--display);font-stretch:125%;font-weight:600;letter-spacing:.08em;font-size:15px;white-space:nowrap;justify-self:start;flex:1 1 auto;min-width:0;gap:10px}
.fn-mark{width:17px;height:17px;flex:none}
.fn-crumb{line-height:1.2;justify-self:center;font-size:19px;font-style:italic;font-weight:500;letter-spacing:-.01em}
.fn-code{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;font-size:14px;color:var(--muted)}
.rd{display:inline-block;width:calc(var(--n) * .52em);max-width:100%;height:.92em;vertical-align:-.1em;border-radius:2px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 22%,var(--bg)) 0 6px,color-mix(in srgb,var(--text) 18%,var(--bg)) 6px 7px)}
.fn-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:9px 16px;border:1px solid var(--text);border-radius:10px;background:transparent;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}
.fn-btn:hover{background:var(--text);color:var(--bg)}
.fn-ar{transition:transform .25s ease}
a:hover .fn-ar{transform:translateX(4px)}
.fn-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.fn-filter button{font-size:14px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);cursor:pointer}
.fn-filter button[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.fn-card h2 a{transition:color .15s}
.fn-card h2 a:hover{color:var(--muted)}
.fn-lede{margin-top:10px;color:var(--muted);font-size:clamp(16px,1.3vw,18px);line-height:1.5;max-width:40em}
.fn-by{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:16px;font-size:14px}
.fn-by a{font-weight:500;border-bottom:1px solid var(--line)}
.fn-by a:hover{border-color:var(--text)}
.fn-by-r{color:var(--muted)}
.fn-invite{margin-top:clamp(56px,6vw,80px);padding:clamp(24px,3vw,40px);background:var(--paper);border:1px solid var(--line);border-radius:20px;display:grid;gap:20px;justify-items:start}
.fn-invite p{font-size:clamp(17px,1.4vw,19px);line-height:1.5;max-width:34em}
.fn-sub{margin:clamp(56px,6vw,80px) 0 clamp(72px,8vw,112px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.fn-sub h2{margin-top:10px;font-weight:400;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em}
.fn-sub-f{display:block;width:100%;max-width:480px;height:52px;margin-top:18px;border:0;background:transparent}
.fn-in{font-size:16px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%;min-width:0;outline:0;transition:border-color .15s;resize:vertical}
.fn-in::placeholder{color:var(--soft)}
.fn-in:focus{border-color:var(--text)}
.fn-art-h h1{margin-top:18px;font-weight:600;letter-spacing:-.025em;font-size:clamp(32px,4.2vw,46px);line-height:1.12;max-width:none}
.fn-art-h .fn-lede{margin-top:clamp(18px,2vw,26px);font-size:clamp(18px,1.6vw,22px);color:var(--muted);max-width:none}
.fn-body{padding-top:clamp(28px,3vw,40px);font-family:var(--serif);font-size:20px;line-height:1.6;letter-spacing:-.003em;color:var(--read)}
.fn-body h3{line-height:1.3;margin-top:1.6em;font-weight:600;font-size:20px;font-family:var(--font);color:var(--text)}
.fn-body a{border-bottom:1px solid var(--soft)}
.fn-body a:hover{border-color:var(--text)}
.fn-body ul,.fn-body ol{padding-left:1.3em}
.fn-body li + li{margin-top:.45em}
.fn-body table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;font-family:var(--font)}
.fn-body th,.fn-body td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.fn-body th{font-weight:500;border-bottom-color:var(--text);font-size:13px;color:var(--muted);font-family:var(--font);letter-spacing:0}
.fn-body code{font-family:var(--mono);font-size:.88em;background:var(--paper);border-radius:4px;padding:1px 5px}
.fn-body figure img{display:block;max-width:100%;height:auto;border-radius:12px}
.fn-body figcaption{margin-top:10px;color:var(--muted);font-size:13px;font-family:var(--font);letter-spacing:0}
.fn-body .admonition.differently{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,2.4vw,28px)}
.fn-body .admonition-title{margin-bottom:.6em;font-size:14px;font-weight:500;color:var(--text);font-family:var(--font);letter-spacing:0}
.fn-body .admonition > * + *{margin-top:.8em}
.fn-body sup a{border:0;font-size:.75em;color:var(--muted)}
.fn-body .footnotes{margin-top:2.4em;font-size:14px;color:var(--muted);line-height:1.5}
.fn-body .footnotes hr{border:0;border-top:1px solid var(--line);margin-bottom:1em}
.fn-body .footnotes a{border:0}
.fn-ed{margin-top:clamp(36px,4vw,52px);font-size:14px;color:var(--muted);font-style:italic}
.fn-resp{margin-top:clamp(36px,4vw,52px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--line)}
.fn-resp ul{list-style:none;margin-top:16px}
.fn-resp li{padding:18px 0;border-bottom:1px solid var(--line)}
.fn-resp li p + p{margin-top:6px}
.fn-r-who{font-size:14px;color:var(--muted)}
.fn-r-who b{color:var(--text);font-weight:500}
.fn-conv-who{display:flex;align-items:center;gap:8px;margin:14px 0 18px;font-size:24px;font-weight:600}
.fn-practice{margin-top:clamp(28px,3vw,40px);color:var(--muted)}
.fn-practice a{color:var(--text);display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.fn-au{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(20px,3vw,40px);padding:clamp(56px,8vw,104px) 0 clamp(36px,4vw,52px);align-items:start}
.fn-ph{width:120px;height:120px;border-radius:50%;object-fit:cover;background:var(--surface);filter:grayscale(1)}
.fn-ini{display:grid;place-items:center;font-size:36px;font-weight:300;color:var(--muted)}
.fn-au h1{margin-top:14px;font-size:clamp(36px,4.4vw,56px);font-weight:400;letter-spacing:-.03em;line-height:1.05}
.fn-role{margin-top:8px;font-size:clamp(17px,1.4vw,19px)}
.fn-bio{margin-top:14px;color:var(--muted);max-width:36em}
.fn-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fn-tags li{padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px}
.fn-li{margin-top:18px;font-size:15px}
.fn-li a{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
@media (max-width:560px){
  .fn-au{grid-template-columns:1fr}
  .fn-ph{width:88px;height:88px}
}
.fn-foot{border-top:1px solid var(--line);padding:28px 0 36px;font-size:13px;color:var(--muted);padding-bottom:calc(36px + 58px + env(safe-area-inset-bottom))}
.fn-foot-how{display:block;margin:0;padding:0;border:0;background:none;font:inherit;font-size:14px;color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fn-pf-how{align-self:center;font-size:14px}
.fn-meta time,.fn-code time{white-space:nowrap}
.fn-k{font-size:12px;color:var(--muted)}
.fn-fdfe{display:inline-block;margin-left:6px;font-size:11px;font-weight:500;letter-spacing:.04em;padding:1px 6px;border:1px solid var(--text);border-radius:4px;line-height:1.4;vertical-align:1px}
.fn-by .fn-fdfe{margin-left:-6px}
.fn-pen{position:fixed;z-index:30;right:max(20px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--text);color:var(--bg);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12),0 10px 24px rgba(0,0,0,.14);opacity:0;transform:scale(.85);pointer-events:none;transition:opacity .22s,transform .22s}
.fn-pen:hover{transform:translateY(-2px)}
html.fn-sheet-on .fn-pen{opacity:0;pointer-events:none}
.fn-sheet{position:fixed;inset:auto 0 0 0;margin:0 auto;width:min(720px,100%);max-width:none;max-height:85vh;border:0;padding:0;z-index:40;background:var(--bg);color:var(--text);border-radius:20px 20px 0 0;box-shadow:0 -1px 0 var(--line),0 -12px 40px rgba(0,0,0,.12);overflow:auto}
.fn-sheet[open]{animation:fnUp .28s cubic-bezier(.2,.7,.2,1)}
@keyframes fnUp{from{transform:translateY(24px);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .fn-sheet[open]{animation:none}
}
.fn-sheet-in{padding:14px clamp(20px,4vw,32px) calc(22px + env(safe-area-inset-bottom))}
.fn-sheet-top{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);min-height:40px}
.fn-sheet-why{margin:4px 0 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.fn-sheet-why .fn-ad-link{font-size:14px;color:var(--text)}
.fn-saved{color:var(--soft)}
.fn-sheet-x{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer}
.fn-sheet-x:hover{color:var(--text)}
.fn-sheet-b{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;outline:0;resize:none;color:var(--text);font:inherit;overflow:hidden;box-sizing:border-box;margin-top:12px;line-height:1.55;padding:0 0 12px;font-family:var(--serif);font-size:18px}
.fn-sheet-t{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;outline:0;resize:none;color:var(--text);font:inherit;overflow:hidden;box-sizing:border-box;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;line-height:1.2;padding:4px 0 12px}
.fn-sheet-t::placeholder,.fn-sheet-b::placeholder{color:var(--soft)}
.fn-sheet-t:focus,.fn-sheet-b:focus{border-color:var(--text)}
.fn-sheet-f{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fn-sheet-f label{position:relative;cursor:pointer}
.fn-sheet-f input{position:absolute;opacity:0;pointer-events:none}
.fn-sheet-f span{display:inline-block;font-size:14px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;transition:background .15s,color .15s,border-color .15s}
.fn-sheet-f input:checked + span{background:var(--text);color:var(--bg);border-color:var(--text)}
.fn-sheet-f input:focus-visible + span{outline:2px solid var(--text);outline-offset:2px}
.fn-sheet-a{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.fn-sheet-save{border-color:var(--line)}
.fn-sheet-send:disabled{opacity:.35;cursor:default}
.fn-sheet-send:disabled:hover{background:transparent;color:var(--text)}
.fn-sheet-how{margin-left:auto;color:var(--muted);border:0;background:none;padding:0;cursor:pointer;font:inherit;font-size:14px}
.fn-sheet-how:hover{color:var(--text)}
.fn-name{font-weight:500}
.fn-acc{display:flex;align-items:center;font-size:14px;justify-self:end;gap:14px}
.fn-si{width:min(440px,calc(100% - 32px));border:0;border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.18);color:var(--text);margin:auto;position:fixed;inset:0;height:fit-content;max-height:calc(100% - 32px);overflow:auto;background:var(--bg)}
.fn-si .fn-sheet-x{position:absolute;top:10px;right:10px}
.fn-si h2{font-weight:400;font-size:24px;letter-spacing:-.02em;margin-top:0}
.fn-si-n{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.5}
.fn-si-f{display:grid;gap:10px;margin-top:18px}
.fn-si-f .fn-btn{justify-self:start;margin-top:4px}
.fn-si-s{margin-top:18px;font-size:12.5px;color:var(--soft);line-height:1.5}
.fn-resp h2{font-weight:500;font-size:17px;letter-spacing:-.01em}
.fn-r-form{margin-top:18px;display:grid;gap:10px}
.fn-r-in{min-height:84px;resize:none;line-height:1.55}
.fn-r-act{display:flex;justify-content:flex-end}
.fn-qa-why{margin:8px 0 0;font-size:13px;color:var(--soft)}
.fn-r-cta{width:100%;text-align:left;font-size:16px;color:var(--soft);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:12px 18px;cursor:pointer}
.fn-r-cta:hover{color:var(--muted)}
.fn-r-list{list-style:none;margin-top:8px}
.fn-r{padding:20px 0;border-bottom:1px solid var(--line)}
.fn-r .fn-r-who{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);align-items:center}
.fn-r .fn-r-who b{color:var(--text);font-weight:500}
.fn-r .fn-r-who a{color:var(--text);font-weight:500;border-bottom:1px solid var(--line)}
.fn-r-body{margin-top:8px;font-size:16px;line-height:1.6}
.fn-r-body p + p{margin-top:.7em}
.fn-r-del{margin-top:8px;border:0;background:none;padding:0;font-size:13px;color:var(--soft);cursor:pointer}
.fn-ld{margin-left:8px;font-size:12px;font-weight:400;font-style:normal;text-transform:none;letter-spacing:0;color:var(--muted)}
.fn-r-form .fn-r-who{display:flex;gap:8px;font-size:14px;align-items:center}
.fn-r-form .fn-r-who b{font-weight:500}
.fn-shell{min-height:40vh;padding-bottom:80px}
.fn-shell > section + section{margin-top:48px}
.fn-shell h2{font-weight:400;font-size:24px;letter-spacing:-.02em;margin-bottom:14px}
[hidden]{display:none!important}
.fn-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fn-list{border-top:0}
.fn-list .fn-card:first-child{padding-top:clamp(12px,1.6vw,20px)}
.fn-bar{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;height:76px;gap:16px}
.fn-logo .fn-mark{width:20px;height:20px}
.fn-av{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--bg);display:grid;place-items:center;cursor:pointer;color:var(--muted);font-size:14px;font-weight:500;padding:0;transition:border-color .15s,color .15s}
.fn-av:hover{border-color:var(--text);color:var(--text)}
.fn-av.is-in{background:var(--text);border-color:var(--text);color:var(--bg)}
.fn-av.is-in:hover{color:var(--bg)}
.fn-av.has-face{border:0;padding:0;background:none;overflow:hidden}
.fn-av.has-face .fn-face{width:100%;height:100%}
@media (max-width:960px){
  .fn-bar{height:64px}
  .fn-logo .fn-mark{width:17px;height:17px}
  .fn-crumb{font-size:17px}
}
@view-transition {navigation:auto}
.fn-top{position:sticky;top:0;z-index:10;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);view-transition-name:fn-top;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
.fn-splash{display:none}
@keyframes fnSplIn{to{opacity:1;transform:none}}
@keyframes fnSplOut{to{opacity:0;visibility:hidden}}
.fn-card{border-bottom:1px solid var(--line);padding:clamp(22px,2.6vw,30px) 0}
.fn-card .fn-by{margin-top:0;gap:4px 10px;font-size:14px}
.fn-dt{color:var(--soft)}
.fn-dt::before{content:"·";margin-right:10px;color:var(--soft)}
.fn-card h2{margin-top:10px;font-weight:600;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;line-height:1.2;max-width:none}
.fn-card .fn-lede{margin-top:8px;font-size:16px;max-width:46em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fn-cover{display:block;width:100%;max-height:440px;object-fit:cover;margin-top:16px;border-radius:14px;border:1px solid var(--line)}
.fn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:16px;font-size:13px;color:var(--soft)}
.fn-cnt{display:inline-flex;align-items:center;gap:6px;color:var(--muted);transition:color .15s}
.fn-cnt:hover{color:var(--text)}
.fn-cnt span:empty::after{content:"0"}
.fn-art-cover{display:block;width:100%;margin-top:28px;border-radius:14px;border:1px solid var(--line)}
.fn-body > * + *{margin-top:1.4em}
.fn-body h2{font-weight:600;font-size:24px;line-height:1.25;letter-spacing:-.015em;margin-top:1.9em;font-family:var(--font);color:var(--text)}
.fn-body h2 + *,.fn-body h3 + *{margin-top:.55em}
.fn-body blockquote{font-style:italic;font-size:1em;line-height:1.6;border-left:3px solid var(--text);padding-left:20px}
.fn-body mark,.fn-r-body mark{color:inherit;padding:.05em 0;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:var(--mark)}
@media (max-width:700px){
  .fn-body h2{font-size:22px}
}
.fn-practice button{border:0;background:none;padding:0;font:inherit;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.fn-practice button:hover{border-color:var(--text)}
.fn-practice button:hover .fn-ar{transform:translateX(4px)}
.fn-tools{display:flex;gap:4px;margin-top:10px}
.fn-tools button{min-width:34px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:none;color:var(--muted);font-size:15px;cursor:pointer;font-family:var(--serif)}
.fn-tools button:hover{border-color:var(--line);color:var(--text)}
.fn-hl{padding:0 3px;color:var(--text);background:var(--mark)}
.fn-page{max-width:680px;padding:clamp(32px,4vw,56px) 0 clamp(56px,6vw,96px)}
.fn-rules h2{font-weight:600;font-size:clamp(26px,2.6vw,32px);letter-spacing:-.02em}
.fn-rules h3{font-weight:600;font-size:17px;margin-top:28px}
.fn-rules p,.fn-rules li{font-size:16px;line-height:1.6;color:var(--muted)}
.fn-rules > p{margin-top:12px}
.fn-rules ul,.fn-rules ol{margin-top:8px;padding-left:1.2em;display:grid;gap:6px}
.fn-rules b{color:var(--text);font-weight:500}
.fn-page-a{margin-top:28px}
.fn-rd{width:min(640px,calc(100% - 32px));max-height:calc(100% - 32px);margin:auto;position:fixed;inset:0;height:fit-content;overflow:auto;border:0;border-radius:18px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.18);color:var(--text);background:var(--bg)}
/* behind any dialog or sheet: the page dimmed and frosted, so what is written stands apart */
::backdrop{background:rgba(30,33,39,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fn-rd .fn-sheet-x{position:absolute;top:10px;right:10px}
.fn-me section{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:96px}
.fn-me section h2{font-weight:600;font-size:19px;letter-spacing:-.01em;margin-bottom:12px}
.fn-tg{display:flex;align-items:flex-start;gap:12px;padding:8px 0;font-size:16px;cursor:pointer}
.fn-tg input{margin-top:5px;width:16px;height:16px;accent-color:var(--text)}
.fn-tg small{display:block;color:var(--soft);font-size:13px}
.fn-links{display:flex;flex-wrap:wrap;gap:10px}
.fn-th{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
.fn-th b{font-weight:500}
.fn-th p{color:var(--muted);font-size:14px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-th .fn-new{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--flash);margin-left:8px;vertical-align:2px}
.fn-msg{max-width:78%;margin-top:10px;padding:10px 14px;border-radius:14px;background:var(--surface);font-size:15px;line-height:1.5}
.fn-msg.mine{margin-left:auto;background:var(--text);color:var(--bg)}
.fn-msg small{display:block;margin-top:4px;font-size:12px;opacity:.6}
.fn-msgs{display:flex;flex-direction:column;margin-bottom:16px}
.fn-au-a{margin-top:16px}
main > :last-child{margin-bottom:0}
html.fn-splash-on .fn-splash{display:flex;position:fixed;inset:0;z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;animation:fnSplOut .3s ease .95s forwards;background:#111111}
.fn-splash-w{font-size:clamp(44px,8vw,96px);font-style:italic;font-weight:500;letter-spacing:-.035em;line-height:1;color:#fff}
.fn-splash-l{font-size:clamp(16px,1.6vw,20px);opacity:0;transform:translateY(6px);animation:fnSplIn .4s ease .12s forwards;color:rgba(255,255,255,.62)}
:root{--slate:#1B1E23;--flash:#C8362F;--font:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;--display:"Archivo","Helvetica Neue",Arial,sans-serif;--mono:"Geist Mono",ui-monospace,Menlo,Consolas,monospace;--pad:clamp(20px,5vw,72px);--serif:"Source Serif 4","Source Serif Pro",Georgia,Cambria,"Times New Roman",serif;color-scheme:light;--bg:#FFFFFF;--surface:#EFEEEA;--paper:#F4F3EF;--text:#22221F;--muted:#5F5E59;--soft:#8F8E88;--line:#E1E0DB;--card:var(--bg);--card-line:#E5E5E5;--card-bw:0px;--card-edge:#D9D9D9;--read:#2B2A26;--mark:#E2EFDD;--err:#B3261E;--fs-h:clamp(26px,8vw,34px);--glass:color-mix(in srgb,var(--bg) 62%,transparent);--glass-blur:blur(20px) saturate(170%)}
:root[data-theme=dark]{color-scheme:dark;--slate:#AEB8D3;--bg:#141619;--surface:#262930;--paper:#22252A;--text:#EEEFF1;--muted:#A4A7AD;--soft:#7B7F86;--line:#363940;--card:#22252A;--card-line:#363940;--card-bw:1px;--card-edge:transparent;--read:#E4E5E7;--mark:rgba(126,196,136,.24);--err:#F08A80}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){color-scheme:dark;--slate:#AEB8D3;--bg:#141619;--surface:#262930;--paper:#22252A;--text:#EEEFF1;--muted:#A4A7AD;--soft:#7B7F86;--line:#363940;--card:#22252A;--card-line:#363940;--card-bw:1px;--card-edge:transparent;--read:#E4E5E7;--mark:rgba(126,196,136,.24);--err:#F08A80}
}
.fn-si-e{font-size:14px;min-height:0;color:var(--err)}
.fn-r-del:hover{color:var(--err)}
.fn-seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:12px;gap:2px}
.fn-seg button{border:0;background:none;padding:7px 14px;border-radius:9px;font-size:14px;color:var(--muted);cursor:pointer}
.fn-seg button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
.fn-si-tabs{margin-bottom:18px}
.fn-code-in{font-size:22px;letter-spacing:.3em;text-align:center;max-width:220px}
.fn-si-back{justify-self:start;border:0;background:none;padding:0;font-size:13px;color:var(--soft);cursor:pointer;border-bottom:1px solid var(--line)}
.fn-code-in::placeholder{letter-spacing:0;font-size:16px}
@media (hover:hover) and (pointer:fine){
  html{scrollbar-gutter:stable}
}
.fn-art-h{padding:clamp(36px,5vw,64px) 0 clamp(24px,3vw,32px);border-bottom:1px solid var(--line)}
.fn-art-by{margin-top:22px}
.fn-art-by .fn-dt:first-of-type{margin-left:2px}
.fn-foot .fn-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.fn-foot p{margin:0;line-height:1.6}
.fn-foot-id{font-size:14px;color:var(--text)}
.fn-code .fn-dt{color:inherit}
.fn-syn{border-left:2px solid var(--flash);padding-left:18px}
@media (max-width:760px){
  .fn-syn{padding-left:14px}
}
.fn-syn-w{position:relative;margin-top:12px;border-left:2px solid var(--flash);padding-left:14px}
.fn-sheet-s{display:block;width:100%;border:0;background:transparent;outline:0;resize:none;color:var(--text);font:inherit;font-size:17px;line-height:1.45;padding:2px 28px 2px 0;overflow:hidden;box-sizing:border-box}
.fn-sheet-s::placeholder{color:var(--soft)}
.fn-syn-x{position:absolute;top:0;right:0;width:28px;height:28px;display:grid;place-items:center;border:0;background:none;color:var(--soft);cursor:pointer}
.fn-syn-x:hover{color:var(--text)}
.fn-syn-add{margin-top:10px;border:0;background:none;padding:0;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}
.fn-syn-add:hover{color:var(--text)}
/* Questions | Cases: two words on one baseline, from the left; the chosen one large and dark in front, the other small behind */
/* the head of a page: one place, one height for its title or its tabs, an action at the right */
.fn-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding-top:clamp(20px,2.4vw,32px);margin:0 0 20px}
.fn-hd + .fn-page{padding-top:0}
.fn-sw{display:flex;align-items:baseline;gap:16px;min-width:0}
.fn-sw [role=tab]{position:relative;border:0;background:none;padding:0;white-space:nowrap;font:inherit;font-size:17px;font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--soft);cursor:pointer;transition:color .2s}
.fn-sw [role=tab][aria-selected="true"]{color:var(--text);font-size:var(--fs-h);letter-spacing:-.03em}
/* whose notes: a quiet filter beside the title, unlike the tabs between sections */
.fn-flt{display:flex;gap:16px}
.fn-flt [role=tab]{border:0;border-bottom:1.5px solid transparent;background:none;padding:4px 0;font:inherit;font-size:15px;font-weight:500;color:var(--soft);cursor:pointer;transition:color .2s,border-color .2s}
.fn-flt [role=tab][aria-selected="true"]{color:var(--text);border-bottom-color:currentColor}
/* Private Desk: apart from the tabs, at the right; on a phone the lock alone */
.fn-desk-b{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:none;font:inherit;font-size:13.5px;color:var(--muted);cursor:pointer}
@media (max-width:480px){.fn-desk-b{padding:8px}.fn-desk-b span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Community | Network: the pill switch on Notes */
.fn-panel{padding-top:clamp(18px,2.4vw,28px)}
.fn-q-h{display:flex;align-items:flex-start;gap:10px;font-size:14px}
.fn-q-who{display:grid;min-width:0;line-height:1.3;padding-top:2px}
.fn-q-hl{font-size:12.5px;color:var(--soft);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fn-q-to{margin:10px 0 0;font-size:12.5px;color:var(--soft)}
.fn-to{margin:4px 0 8px}
.fn-to-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0 10px;border-bottom:1px solid var(--line);cursor:text}
.fn-to-l{font-size:14px;color:var(--muted);margin-right:2px}
.fn-to-c{display:contents}
.fn-to-p{display:inline-flex;align-items:center;gap:6px;max-width:180px;color:var(--text)}
.fn-to-p span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fn-to-p svg{flex:none;width:9px;height:9px;color:var(--soft)}
.fn-to-in{flex:1;min-width:110px;border:0;background:none;outline:0;padding:4px 0;font:inherit;font-size:15px;color:var(--text)}
.fn-to-in::placeholder{color:var(--soft)}
.fn-to-all{flex:none;display:grid;place-items:center;width:32px;height:32px;margin-left:auto;border:1px solid var(--line);border-radius:50%;background:none;color:var(--muted);cursor:pointer}
.fn-to-all svg{transition:transform .2s}
.fn-to-all[aria-expanded=true] svg{transform:rotate(45deg)}
.fn-to-s{max-height:min(304px,42vh);overflow-y:auto;padding:4px 0;border-bottom:1px solid var(--line)}
.fn-to-s[hidden]{display:none}
.fn-to-s .fn-send-p{width:100%;padding:8px 0}
.fn-to-h{margin:0;padding:6px 0;font-size:12.5px;color:var(--soft)}
.fn-q-h b{font-weight:600}
.fn-q-h time{margin-left:auto;padding-top:3px;color:var(--soft);font-size:13px}
.fn-q-h .fn-fdfe{margin-left:-2px}
.fn-q-b p + p{margin-top:.6em}
.fn-q-more:hover{color:var(--text)}
.fn-q-f{display:flex;align-items:center;gap:14px;margin-top:12px}
/* views of a case: at the end of the card line; in the article byline, among the details */
.fn-views{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:13.5px;color:var(--soft)}
.fn-views[hidden]{display:none}
.fn-art-by .fn-views{margin-left:0}
.fn-plus span:empty{display:none}
.fn-plus:hover{border-color:var(--text);color:var(--muted)}
@keyframes plusPop{40%{transform:scale(1.5) rotate(90deg)}}
.fn-q-f .fn-r-del{margin:0 0 0 auto}
.fn-q-empty{color:var(--muted);font-size:15px;padding:24px 0}
.fn-q-older{justify-self:center;margin-top:8px}
.fn-panel .fn-invite{margin-top:clamp(40px,5vw,64px)}
#fn-inbox .fn-invite{margin-top:28px}
/* what to write: round buttons fanning out over the pen, a question or a note; cases are written from the Cases page */
.fn-pick{z-index:31;position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:56px;height:56px;pointer-events:none}
.fn-pick[hidden]{display:none}
.fn-pick button{position:absolute;display:grid;place-items:center;padding:0;border-radius:50%;background:var(--bg);border:1px solid var(--line);box-shadow:0 2px 6px rgba(0,0,0,.08),0 8px 20px rgba(0,0,0,.10);font:inherit;font-weight:600;color:var(--text);cursor:pointer;pointer-events:auto;animation:fnFan .22s cubic-bezier(.2,.7,.2,1) both}
.fn-pick button:nth-child(2){animation-delay:.03s}
.fn-pick button:nth-child(3){animation-delay:.06s}
.fn-pick button:hover,.fn-pick button:focus-visible{background:var(--surface)}
.fn-pick [data-pick=question]{width:64px;height:64px;font-size:14.5px;right:86px;bottom:0}
.fn-pick [data-pick=note]{width:64px;height:64px;font-size:14.5px;right:14px;bottom:72px}
.fn-pick.from-bar{right:auto;left:calc(50% - 28px);bottom:calc(70px + env(safe-area-inset-bottom))}
.fn-pick.from-bar [data-pick=question]{right:auto;left:-42px;bottom:0}
.fn-pick.from-bar [data-pick=note]{right:auto;left:30px;bottom:0}
.fn-q-in{display:block;width:100%;min-height:120px;border:0;background:transparent;outline:0;resize:none;color:var(--text);font:inherit;font-size:17px;line-height:1.55;padding:6px 0 12px;border-bottom:1px solid var(--line)}
.fn-q-in:focus{border-color:var(--text)}
.fn-q-in::placeholder{color:var(--soft)}
.fn-qsheet .fn-sheet-a{justify-content:space-between;align-items:flex-start;flex-wrap:nowrap}
.fn-q-as{margin:2px 0 0;min-width:0;font-size:13.5px;color:var(--muted)}
.fn-qsheet .fn-sheet-why{margin:14px 0 0}
.fn-q-send:disabled{opacity:.35;cursor:default}
.fn-q-send:disabled:hover{background:transparent;color:var(--text)}
.fn-q-more{position:absolute;right:10px;bottom:8px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:none;padding:0;color:var(--muted);cursor:pointer}
.fn-q-more .fn-chev{margin:0;width:8px;height:8px}
.fn-q-more[hidden]{display:none}
@keyframes fnFan{from{opacity:0;transform:translateY(14px) scale(.85)}}
.fn-pen.is-picking{background:var(--soft);box-shadow:none}
@media (prefers-reduced-motion:reduce){
  .fn-pick button{animation:none}
}
.fn-face{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden}
.fn-face svg{width:100%;height:100%;display:block}
.fn-face-member{background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}
.fn-r .fn-face,.fn-r-form .fn-face{width:26px;height:26px;font-size:11px}
.fn-back{display:inline-flex;align-items:center;margin:0 0 18px -2px;padding:6px 6px 6px 2px;color:var(--muted);transition:color .2s ease,transform .2s ease}
.fn-back:hover{color:var(--text);transform:translateX(-3px)}
.fn-q-b{margin-top:10px;font-size:16.5px;line-height:1.55;color:var(--text);-webkit-box-orient:vertical;white-space:pre-line;-webkit-line-clamp:unset;display:block;max-height:calc(1.55em * 4);overflow:hidden}
.fn-q-b.can-open{cursor:pointer;-webkit-mask-image:linear-gradient(#000 calc(100% - 1.55em),transparent);mask-image:linear-gradient(#000 calc(100% - 1.55em),transparent)}
.fn-q-b.open{display:block;-webkit-line-clamp:unset;max-height:none;-webkit-mask-image:none;mask-image:none}
.fn-ld-word{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;font-family:var(--display);font-stretch:125%;font-weight:600;font-size:15px;letter-spacing:1.2px;line-height:1;color:var(--text);user-select:none;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 92px,rgba(0,0,0,.35) 150px,transparent 226px);mask-image:linear-gradient(90deg,#000 0,#000 92px,rgba(0,0,0,.35) 150px,transparent 226px)}
.fn-brand{justify-self:stretch;display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;padding-right:clamp(24px,4vw,56px)}
@media (max-width:960px){
  .fn-brand{padding-right:10px}
  .fn-ld-word{font-size:13px;letter-spacing:1px;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 48%,rgba(0,0,0,.3) 78%,rgba(0,0,0,.07) 92%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 48%,rgba(0,0,0,.3) 78%,rgba(0,0,0,.07) 92%,transparent 100%)}
}
.fn-hback{display:none}
/* the bottom bar is the navigation on every screen; on wide screens its items keep to the middle */
.fn-tb{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;z-index:29;left:0;right:0;bottom:0;height:calc(58px + env(safe-area-inset-bottom));padding:0 max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--line);transition:transform .28s cubic-bezier(.2,.7,.2,1);padding-left:max(8px,env(safe-area-inset-left),calc(50% - 230px));padding-right:max(8px,env(safe-area-inset-right),calc(50% - 230px));view-transition-name:fn-tb}
.fn-tb-i{position:relative;display:grid;justify-items:center;gap:3px;padding:6px 0 4px;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--soft);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .15s}
.fn-tb-i svg{width:26px;height:26px}
.fn-tb-i[aria-current]{color:var(--text);font-weight:600}
.fn-tb-i[aria-current] svg{stroke-width:2}
.fn-tb-i .fn-badge{top:4px;left:calc(50% + 5px)}
.fn-tb-pen{justify-self:center;width:56px;height:40px;border:0;border-radius:12px;background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .2s;-webkit-tap-highlight-color:transparent}
.fn-tb-pen.is-picking{background:var(--line)}
/* the round pen keeps its place between pages only while it is shown; hidden, it is not carried over (it flashed as a white square) */
html.fn-tb-off .fn-pen{view-transition-name:fn-pen}
/* on phones a page swaps at once, with no fade: the old page stays on screen until the new one is drawn, and the header and the bar stay put */
@media (max-width:760px){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
.fn-badge{position:absolute;top:4px;left:calc(50% + 3px);display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--flash);color:#fff;font-family:inherit;font-size:9.5px;font-weight:600;font-style:normal;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 1.5px var(--bg)}
.fn-act-h{margin:0;font-size:var(--fs-h);font-weight:600;line-height:1.1;letter-spacing:-.03em}
.fn-ai{display:flex;gap:12px;align-items:flex-start;padding:14px 12px;margin:0 -12px 6px;border-radius:14px;color:inherit;text-decoration:none;transition:background .15s}
@media (hover:hover) and (pointer:fine){a.fn-ai:hover{background:var(--surface)}}
.fn-ai>div{min-width:0;flex:1}
.fn-ai-h{margin:2px 0 4px;font-size:15px;line-height:1.4;color:var(--muted)}
.fn-ai-h b{color:var(--text);font-weight:600}
.fn-ai-h em{color:var(--text);font-style:italic}
.fn-ai-h time{margin-left:8px;font-size:13px}
.fn-ai-t{font-size:15px;line-height:1.5}
.fn-ai-t p{margin:0 0 6px}
.fn-face-plus{background:var(--surface);color:var(--text);font-size:17px;border:1px solid var(--line)}
.fn-ask{display:grid;gap:10px;margin-top:12px}
.fn-ask select{justify-self:start}
@media (max-width:760px){
  /* reading down: the top and the bottom bars step aside; scrolling up brings both back */
  html.fn-tb-off .fn-tb,html.fn-sheet-on .fn-tb{transform:translateY(100%)}
  html.fn-tb-off .fn-top{transform:translateY(-100%)}
  html.fn-tb-off .fn-pen{opacity:1;transform:none;pointer-events:auto}
  html.fn-sheet-on .fn-pen{opacity:0;pointer-events:none}
  .fn-art .fn-back,.fn-brand.has-back .fn-logo{display:none}
  .fn-hback{display:inline-flex;align-items:center;margin-left:-8px;padding:10px 8px;color:var(--text)}
}
.fn-q-lang{margin:8px 0 0;padding:10px 14px;border-radius:12px;background:var(--surface);font-size:14px;line-height:1.45;color:var(--text);animation:fnUp .2s cubic-bezier(.2,.7,.2,1)}
.fn-q-as small{display:block;font-size:12.5px;color:var(--soft);margin-top:2px}
@media (hover:hover) and (pointer:fine){
  .fn-plus:hover{color:var(--text)}
}
.fn-q{border-radius:16px;background:var(--card);border:var(--card-bw) solid var(--card-line);position:relative;padding:16px 20px 16px}
/* light theme: only the four corners are drawn, each fading out along its edges */
.fn-q::before,.fn-q::after{content:"";position:absolute;left:0;right:0;height:44px;border:1px solid var(--card-edge);pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,#000,transparent 72px,transparent calc(100% - 72px),#000),linear-gradient(var(--fade));-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,#000,transparent 72px,transparent calc(100% - 72px),#000),linear-gradient(var(--fade));mask-composite:intersect}
.fn-q::before{top:0;border-bottom:0;border-radius:16px 16px 0 0;--fade:#000,transparent}
.fn-q::after{bottom:0;border-top:0;border-radius:0 0 16px 16px;--fade:transparent,#000}
.fn-q.has-x .fn-q-h time{margin-right:14px}
.fn-q-x{position:absolute;top:8px;right:8px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--soft);cursor:pointer;padding:0}
.fn-q-x svg{width:9px;height:9px}
@media (hover:hover) and (pointer:fine){
  .fn-q-x:hover{color:var(--err);background:var(--surface)}
}
.fn-qw .fn-q-f{margin:2px 0 10px 12px;gap:4px}
.fn-plus{display:inline-flex;align-items:center;font:inherit;cursor:pointer;transition:border-color .15s,color .15s,background .15s;margin-left:-8px;border:0;border-radius:8px;background:none;font-size:13px;font-weight:400;height:32px;padding:0 8px;gap:4px;color:var(--muted)}
.fn-plus svg{display:block;transition:transform .2s}
.fn-plus.pop svg{animation:plusPop .35s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){
  .fn-plus.pop svg{animation:none}
}
.fn-q-x svg path{stroke-width:1.6}
.fn-plus[aria-pressed="true"]{margin-left:-8px;border:0;border-radius:8px;background:none;font-size:13px;font-weight:400;height:32px;padding:0 8px;gap:4px;color:var(--text)}
.fn-plus[aria-pressed="true"] svg path{fill:none;stroke-width:1.8}
.fn-q-list{display:grid;gap:6px;max-width:600px}
@media (max-width:760px){
  .fn-q-list{margin-left:auto;margin-right:auto}
}
.fn-cm{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
@media (hover:hover) and (pointer:fine){
  .fn-cm:hover{color:var(--text)}
}
.fn-cm svg{display:block}
.fn-cm[aria-expanded="true"]{color:var(--text)}
.fn-cms{margin:0 0 14px 20px;padding-left:16px;border-left:1px solid var(--line)}
.fn-cms[hidden]{display:none}
.fn-c{position:relative;display:flex;gap:10px;align-items:flex-start;padding:8px 28px 8px 0}
.fn-c .fn-face{width:24px;height:24px;font-size:10px}
.fn-c>div{min-width:0;flex:1}
.fn-c-h{display:flex;align-items:baseline;gap:8px;margin:2px 0 2px;font-size:13.5px}
.fn-c-h b{font-weight:600}
.fn-c-h time{color:var(--soft);font-size:12.5px}
.fn-c-b{font-size:15px;line-height:1.5;white-space:pre-line}
.fn-c-b p{margin:0}
.fn-c-b p+p{margin-top:.5em}
.fn-c .fn-q-x{top:4px;right:0}
.fn-c-form{margin-top:6px}
.fn-c-row{display:flex;gap:8px;align-items:flex-end}
.fn-c-in{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:15px;line-height:1.45;padding:8px 12px;resize:none;outline:0;max-height:40vh}
.fn-c-in:focus{border-color:var(--soft)}
.fn-c-send{padding:7px 14px;font-size:14px}
.fn-c-send:disabled{opacity:.35;cursor:default}
.fn-c-out{margin-top:4px;border:0;background:none;padding:6px 0;font:inherit;font-size:14px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
@media (max-width:760px){
  .fn-cms{margin-left:14px;padding-left:12px}
}
.fn-qw{scroll-margin-top:96px}
.fn-chev{width:6px;height:6px;margin-left:2px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.fn-chev[hidden]{display:none}
.fn-cm[aria-expanded="true"] .fn-chev{transform:translateY(1px) rotate(-135deg)}
.fn-sw [data-cases].has-new,.fn-tb [data-tb=cases].has-new{position:relative}
.fn-sw [data-cases].has-new::after{content:"";position:absolute;top:2px;right:-10px;width:6px;height:6px;border-radius:50%;background:var(--flash)}
.fn-tb [data-tb=cases].has-new::after{content:"";position:absolute;top:5px;left:calc(50% + 9px);width:7px;height:7px;border-radius:50%;background:var(--flash);border:2px solid var(--bg)}
.fn-new-tag{display:inline-block;margin-left:8px;font-size:9.5px;font-weight:600;letter-spacing:.1em;line-height:1;vertical-align:.4em;text-transform:uppercase;color:var(--flash)}
.fn-ad-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:4px 0 22px}
.fn-ad-tabs::-webkit-scrollbar{display:none}
.fn-ad-tabs button{flex:none;border:0;background:none;border-radius:999px;padding:8px 16px;font:inherit;font-size:14.5px;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap}
.fn-ad-tabs button[aria-selected="true"]{background:var(--bg);color:var(--text);box-shadow:0 0 0 1px var(--line),0 1px 3px rgba(0,0,0,.06)}
.fn-ad-pane{display:grid;gap:12px}
.fn-ad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fn-ad-tile small{font-size:12.5px;color:var(--muted)}
.fn-ad-tile b{font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fn-ad-tile span{font-size:12.5px;color:var(--soft)}
.fn-ad-todo{display:flex;flex-wrap:wrap;gap:8px}
.fn-ad-flag{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;color:var(--text);cursor:pointer}
.fn-ad-flag::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--flash);vertical-align:.1em}
.fn-ad-list h3{font-size:15px;font-weight:600;margin:14px 0 6px}
.fn-ad-row{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-size:14.5px;margin:0}
.fn-ad-row span{color:var(--muted);font-size:13px}
.fn-ad-row time{margin-left:auto;color:var(--soft);font-size:13px}
.fn-ad-filter{display:flex;gap:8px;flex-wrap:wrap}
.fn-ad-filter .fn-in{flex:1 1 180px;width:auto;padding:9px 12px;font-size:15px}
.fn-ad-people,.fn-ad-content{display:grid;gap:8px}
.fn-ad-card{padding:14px 16px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}
.fn-ad-card h3{font-size:17px;font-weight:600;margin:4px 0 6px}
.fn-ad-card.is-done{opacity:.6}
.fn-ad-meta{margin:2px 0;font-size:13px;color:var(--muted)}
.fn-ad-who{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:0 0 2px}
.fn-ad-who b{font-size:16px;font-weight:600}
.fn-ad-real{font-size:13px;color:var(--soft)}
.fn-ad-tags{font-size:12.5px;color:var(--muted);text-transform:lowercase}
.fn-ad-text{font-size:15px;line-height:1.5}
.fn-ad-text p{margin:0 0 .5em}
.fn-ad-form{display:grid;gap:8px;margin-top:10px}
.fn-ad-form .fn-in{padding:9px 12px;font-size:15px}
.fn-ad-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 0;font-size:14px}
.fn-ad-act .fn-in{width:auto}
.fn-ad-link,.fn-ad-hide{border:0;background:none;padding:0;font:inherit;font-size:14px;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.fn-ad-act a{color:var(--muted)}
.fn-btn-q,.fn-btn.is-on{border-color:var(--line);color:var(--muted)}
.fn-ad-item{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}
.fn-ad-item>div{min-width:0;flex:1}
.fn-ad-item .fn-face{width:26px;height:26px;font-size:10px}
.fn-ad-kind{font-size:12.5px;color:var(--soft)}
.fn-ad-item .fn-c-h time{margin-left:auto}
.is-hidden.fn-ad-item,.is-hidden.fn-ad-card{opacity:.5}
.fn-ad-card details summary{cursor:pointer;color:var(--muted);font-size:14px;margin:4px 0}
.fn-ad-tile{display:grid;gap:2px;padding:14px 16px;border-radius:14px;background:var(--paper);border:1px solid var(--line);align-content:start}
.fn-si-h{margin:-4px 0 2px;font-size:12.5px;line-height:1.4;color:var(--soft)}
.fn-si-name{display:flex;gap:8px;align-items:stretch}
.fn-si-name[hidden]{display:none}
.fn-si-name .fn-in{flex:1;min-width:0}
.fn-si-again{flex:none;width:48px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
@media (hover:hover) and (pointer:fine){
  .fn-si-again:hover{color:var(--text);border-color:var(--soft)}
}
/* share a case; the small notice after copying a link */
.fn-share{display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}
@media (hover:hover) and (pointer:fine){.fn-share:hover{color:var(--text);background:var(--surface)}}
.fn-art-by .fn-share{margin-left:auto;align-self:center;margin-top:-8px;margin-bottom:-8px}
.fn-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;transform:translate(-50%,8px);padding:9px 16px;border-radius:999px;background:var(--text);color:var(--bg);font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fn-toast.on{opacity:1;transform:translate(-50%,0)}
/* why Note is closed to members */
.fn-ask-d h3{margin:0 32px 10px 0;font-size:19px;line-height:1.3;font-weight:600}
.fn-ask-d p{font-size:16px;line-height:1.55}
.fn-ask-d .fn-page-a{display:flex;flex-wrap:wrap;gap:10px}
.fn-c.is-arrived{animation:fnUp .35s cubic-bezier(.2,.7,.2,1)}
.fn-older-cases{display:flex;margin:4px auto 28px}
/* fold in the profile: a chevron beside the title, as Terms on the main site */
.fn-fold h2{margin:0}
.fn-fold-h{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.fn-fold-ch{flex:none;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.fn-fold.is-open .fn-fold-ch{transform:rotate(180deg)}
@media (hover:hover) and (pointer:fine){.fn-fold-h:hover .fn-fold-ch{transform:translateY(2px)}.fn-fold.is-open .fn-fold-h:hover .fn-fold-ch{transform:rotate(180deg) translateY(2px)}}
.fn-fold-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.fn-fold.is-open .fn-fold-b{grid-template-rows:1fr}
.fn-fold-in{overflow:hidden;min-height:0}
.fn-fold-c{padding-top:14px}
@media (prefers-reduced-motion:reduce){.fn-fold-b,.fn-fold-ch{transition:none}}
.fn-ask-s{margin-top:14px}
/* response field under a case: a single line that opens when tapped */
.fn-rr{position:relative;display:flex;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:24px;transition:border-color .15s,border-radius .2s}
.fn-rr.is-on{border-color:var(--soft);border-radius:16px}
.fn-rr-in{flex:1;min-width:0;min-height:48px;max-height:50vh;padding:12px 6px 12px 18px;border:0;background:none;outline:0;resize:none;font:inherit;font-size:16px;line-height:1.5;color:var(--text)}
.fn-rr-in::placeholder{color:var(--soft)}
.fn-rr.is-on .fn-rr-in{min-height:96px}
.fn-rr-send{flex:none;display:grid;place-items:center;width:36px;height:36px;margin:0 6px 6px 0;border:0;border-radius:50%;background:var(--text);color:var(--bg);cursor:pointer;opacity:0;transform:scale(.8);pointer-events:none;transition:opacity .15s,transform .15s}
.fn-rr.is-on .fn-rr-send{opacity:.25;transform:none}
.fn-rr.is-on .fn-rr-send:not(:disabled){opacity:1;pointer-events:auto}
/* one-line start of a note above the feed */
/* no box: it lines up with the content inside the cards, a divider under it, like the start of a thread */
.fn-q-new{display:flex;align-items:center;gap:12px;width:calc(100% - 40px);max-width:350px;margin:16px 20px 18px;padding:0 0 3px;border:0;border-bottom:1px solid var(--slate);background:none;font:inherit;font-size:15.5px;color:var(--slate);text-align:left;cursor:text}
.fn-q-new-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.fn-q-new-go{flex:none;color:var(--soft);opacity:.7;transition:opacity .15s}
@media (hover:hover) and (pointer:fine){.fn-q-new:hover .fn-q-new-go{opacity:1}}
@media (max-width:760px){.fn-q-new{max-width:560px;margin-left:auto;margin-right:auto}}
/* the request to write notes, framed so it does not read as a case */
.fn-ask-card{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.fn-ask-card h3{margin:0 0 4px;font-size:16px;font-weight:600}
.fn-ask-l{margin:6px 0 -4px;font-size:13px;color:var(--muted)}
.fn-ask-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:4px}
.fn-ask-f small{flex:1 1 220px;font-size:13px;line-height:1.45;color:var(--soft)}
/* status of a case sent to the editor */
.fn-ad-st{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--muted)}
.fn-ad-st.is-new{border-color:var(--flash);color:var(--flash)}
.fn-ad-st.is-in-edit{border-color:var(--text);color:var(--text)}
.fn-ad-st.is-published{background:var(--text);border-color:var(--text);color:var(--bg)}
/* pen names and the term itself in service texts; the editor's own words under a notice */
.fn-pn{font-style:italic;text-transform:uppercase;letter-spacing:.03em}
.fn-ai-note{font-style:italic;color:var(--muted)}
.fn-ai-cta{margin-top:10px;padding:7px 14px;font-size:13.5px}
/* what someone wrote shows as a two-line preview, like other notification lists; the row opens the full text */
.fn-ai-t.is-clip{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted)}
.fn-ai-t.is-clip p{display:inline;margin:0}
.fn-ai-t.is-clip p+p::before{content:" "}
/* share a note; invite a colleague */
.fn-q-share{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}
@media (hover:hover) and (pointer:fine){.fn-q-share:hover{color:var(--text)}}
.fn-inv-f{display:flex;flex-wrap:wrap;gap:10px}
.fn-inv-f .fn-in{flex:1 1 220px;width:auto}
/* a profile: pen name large, a status line, the person's writing in tabs */
.fn-pf{margin:clamp(8px,2vw,20px) 0 18px}
.fn-pf-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.fn-pf-name{margin:0;font-size:clamp(26px,5vw,34px);font-weight:600;line-height:1.15}
.fn-pf-meta{margin:6px 0 0;font-size:14px;color:var(--muted)}
.fn-pf-c{margin:14px 0 0;font-size:14.5px;color:var(--soft)}
.fn-pf-hl{margin:8px 0 0;font-size:16px;line-height:1.45;color:var(--text)}
.fn-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.fn-chip{padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:none;font:inherit;font-size:13px;color:var(--muted)}
button.fn-chip{cursor:pointer}
button.fn-chip[aria-pressed=true]{border-color:var(--text);color:var(--text)}
/* questions: the list, one question and its answers */
.fn-qs{display:grid;gap:0}
.fn-qs-why{margin:0 0 16px;font-size:15px;line-height:1.5;color:var(--muted)}
.fn-qs-why .fn-ad-link{font-size:15px;color:var(--text)}
.fn-qs-ask{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 8px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--soft);font:inherit;font-size:16px;text-align:left;cursor:pointer;transition:border-color .15s}
.fn-qs-ask .fn-face{width:36px;height:36px}
@media (hover:hover) and (pointer:fine){.fn-qs-ask:hover{border-color:var(--soft)}}
.fn-ql{display:block;padding:16px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.fn-ql h3{margin:0;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.fn-ql p{margin:6px 0 0;font-size:13.5px;color:var(--soft)}
.fn-ql-a{display:block;margin:0 0 4px;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}
.fn-qa .fn-ql-a{margin-top:clamp(8px,2vw,20px)}
@media (hover:hover) and (pointer:fine){.fn-ql:hover h3{text-decoration:underline;text-underline-offset:3px}}
.fn-qa-t{font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.2;letter-spacing:-.02em;margin:clamp(8px,2vw,20px) 0 10px}
.fn-ql-a + .fn-qa-t{margin-top:0}
.fn-qa-m{margin:0;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fn-qa-b{margin-top:18px;font-size:17px;line-height:1.6}
.fn-qa-h{margin:32px 0 6px;font-size:15px;font-weight:600;color:var(--muted)}
.fn-qa-as{display:grid;gap:4px}
.fn-qa-f{display:grid;gap:10px;margin-top:22px}
/* a dialog with a few fields: asking, Private Desk */
.fn-fd form{display:grid;gap:10px}
.fn-fd-why{margin:4px 0 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.fn-members{display:grid;justify-items:start;gap:14px}
.fn-members p{margin:0;color:var(--text);font-size:16px;line-height:1.5}
/* skeletons: grey shapes where content is coming, with a slow shimmer */
.fn-sk{display:grid;gap:12px}
.fn-sk-l,.fn-sk-c{display:block;border-radius:6px;background:linear-gradient(90deg,var(--surface) 0,color-mix(in srgb,var(--surface) 45%,var(--bg)) 50%,var(--surface) 100%) 0 0/200% 100%;animation:fnSk 1.4s linear infinite}
.fn-sk-l{height:12px;margin:8px 0}
.fn-sk-l.is-t{height:16px}
.fn-sk-l.is-h{height:26px;margin:10px 0}
.fn-sk-c{flex:none;width:30px;height:30px;border-radius:50%}
.fn-sk-l.w30{width:30%}.fn-sk-l.w40{width:40%}.fn-sk-l.w50{width:50%}.fn-sk-l.w60{width:60%}.fn-sk-l.w70{width:70%}.fn-sk-l.w80{width:80%}.fn-sk-l.w90{width:90%}
.fn-sk-row{display:flex;align-items:center;gap:10px}
.fn-sk-row>div{flex:1}
.fn-sk-card{padding:16px 20px;border:1px solid var(--line);border-radius:16px}
.fn-sk-card .fn-sk-row .fn-sk-l{margin:0}
.fn-sk-item{padding:10px 0;border-bottom:1px solid var(--line)}
.fn-sk-pf{padding:8px 0 16px}
@keyframes fnSk{from{background-position:150% 0}to{background-position:-50% 0}}
@media (prefers-reduced-motion:reduce){.fn-sk-l,.fn-sk-c{animation:none}}
/* everyone in Field Notes */
.fn-pl{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.fn-pl>div{flex:1;min-width:0}
.fn-pl b{font-weight:600;font-size:15px}
.fn-pl p{margin:2px 0 0;font-size:13.5px;color:var(--soft);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fn-pl-f{flex:none;padding:6px 14px;border:1px solid var(--text);border-radius:999px;background:var(--text);color:var(--bg);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.fn-pl-f.is-on{background:none;color:var(--muted);border-color:var(--line)}
.fn-pf-a{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.fn-pf-gear{display:grid;place-items:center;flex:none;width:40px;height:40px;margin:-4px -8px 0 0;border:0;border-radius:50%;background:none;color:var(--text);cursor:pointer}
@media (hover:hover) and (pointer:fine){.fn-pf-gear:hover{background:var(--surface)}}
.fn-pf-tabs{margin:6px 0 16px}
.fn-pf-tabs button{padding:8px 13px}
.fn-pf-list{display:grid;gap:6px}
.fn-pf-row{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.fn-pf-row b{font-weight:600}
.fn-pf-row small{font-size:13px;color:var(--soft)}
.fn-pf-t{font-size:15.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fn-q-name{font-weight:600;color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){.fn-q-name:hover{text-decoration:underline;text-underline-offset:3px}}
/* settings sheet and the send sheet */
/* settings: the title and the close button stay at the top while the sections scroll */
.fn-set-top{position:sticky;top:-32px;z-index:2;margin:-32px -32px 0;padding:32px 32px 12px;background:var(--bg)}
.fn-set-top .fn-sheet-x{top:22px}
.fn-set-h{margin:0 32px 2px 0;font-size:22px;font-weight:600}
.fn-set-who{margin:0 0 8px;font-size:13.5px;color:var(--muted)}
.fn-send h3{margin:0 32px 12px 0;font-size:18px;font-weight:600}
.fn-send-l{display:grid;gap:2px;max-height:50vh;overflow:auto}
.fn-send-p{display:flex;align-items:center;gap:12px;padding:10px 6px;border:0;border-radius:12px;background:none;font:inherit;font-size:15.5px;color:var(--text);text-align:left;cursor:pointer}
.fn-send-p .fn-face{width:32px;height:32px;font-size:11px}
@media (hover:hover) and (pointer:fine){.fn-send-p:hover{background:var(--surface)}}
.fn-send-out{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.fn-msg a{color:inherit;text-decoration:underline;text-underline-offset:3px;word-break:break-all}
/* the profile opens the account page without a rule above it; settings sections read as a list */
.fn-me .fn-pf{margin-top:0;padding-top:0;border-top:0}
.fn-set section{margin-top:0;padding:16px 0;border-top:1px solid var(--line)}
.fn-set section h2{font-size:16px;font-weight:600;margin:0}
.fn-set .fn-fold-h{width:100%;justify-content:space-between}
.fn-set-out{padding-top:22px}
.fn-set-note{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--muted)}
.fn-set .fn-chips{margin-top:0}
#about .fn-in{margin-bottom:14px}
.fn-set-save{display:flex;align-items:center;gap:12px;margin:16px 0 0}
.fn-pf-next{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:var(--surface);font-size:14.5px;line-height:1.5;color:var(--muted)}
.fn-pf-next .fn-ad-link{font-size:14.5px;color:var(--text)}
