@font-face{font-family:Alte Haas Grotesk;src:url(/assets/AlteHaasGroteskBold-DCuBJgsO.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--font-display:"Alte Haas Grotesk", "Helvetica Neue", Arial, sans-serif;--font-body:"EB Garamond", Georgia, "Times New Roman", serif;--bg:#fff;--fg:#111;--muted:#6f6f6f;--soft:#f4f4f5;--hairline:#e7e7e9;--shadow-sm:0 1px 2px #0000000f, 0 2px 8px #0000000f;--shadow-lg:0 1px 3px #0000000f, 0 12px 40px #0000001f;--ease-out:cubic-bezier(.16, 1, .3, 1);font-family:var(--font-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);overflow:hidden}.app{position:fixed;inset:0}.status{color:var(--muted);margin:0;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.panel{background:var(--bg);border:1px solid var(--hairline);height:calc(50% - 24px);box-shadow:var(--shadow-lg);z-index:20;animation:panel-in .48s var(--ease-out);transition:height .42s var(--ease-out);border-radius:20px;flex-direction:column;display:flex;position:fixed;bottom:16px;left:max(16px,50% - 480px);right:max(16px,50% - 480px);overflow:hidden}.panel--expanded{height:calc(100% - 32px)}@keyframes panel-in{0%{opacity:0;transform:translateY(calc(100% + 16px))}to{opacity:1;transform:translateY(0)}}.panel__actions{z-index:1;gap:6px;display:flex;position:absolute;top:14px;right:14px}.panel__icon-button{background:var(--soft);width:34px;height:34px;color:var(--fg);font-family:var(--font-display);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;transition:background .2s;display:grid}.panel__icon-button:hover{background:var(--hairline)}.panel__content{flex:1;padding:28px 32px 36px;overflow-y:auto}.panel__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 128px 8px 0;font-size:26px;font-weight:700}.panel__meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel__date{color:var(--muted);font-size:16px}.panel__tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{background:var(--soft);font-family:var(--font-display);letter-spacing:.03em;text-transform:lowercase;color:#3a3a3a;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.panel__body{color:#2b2b2b;font-size:18px;line-height:1.55}.panel__body p,.panel__body ul,.panel__body ol,.panel__body blockquote{margin:0 0 12px}.panel__body h1,.panel__body h2,.panel__body h3{font-family:var(--font-display);margin:20px 0 8px;font-size:18px}.panel__body a{color:inherit;text-underline-offset:3px}.panel__body img{border-radius:10px;max-width:100%}.image-row{align-items:flex-start;gap:8px;margin:28px 0 32px;display:flex}.image-row img{flex:1 1 0;width:100%;min-width:0;height:auto;display:block}@media (width<=640px){.image-row{flex-wrap:wrap}.image-row img:first-child{flex-basis:100%}}.panel__credits{color:var(--muted);margin:28px 0 14px;font-size:13px;line-height:1.45}.panel__credits-label{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.panel__credits-list{margin:0;padding-left:18px}.panel__body blockquote{border-left:2px solid var(--hairline);color:var(--muted);padding-left:14px}.panel__divider{border:0;border-top:1px solid var(--hairline);margin:22px 0}.panel__authors{color:#2b2b2b;flex-wrap:wrap;align-items:baseline;gap:8px;margin:14px 0 0;font-size:16px;display:flex}.panel__authors-names{font-family:var(--font-display);font-size:14px;font-weight:700}.panel__authors-label{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.site-title{font-family:var(--font-display);z-index:20;letter-spacing:-.01em;pointer-events:none;margin:0;font-size:17px;font-weight:600;position:fixed;top:18px;left:20px}.top-nav{z-index:20;width:168px;animation:fade-in .3s var(--ease-out);flex-direction:column;align-items:stretch;gap:8px;display:flex;position:fixed;top:14px;right:16px}.feed-toggle{border:1px solid var(--hairline);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:14px;flex-direction:column;gap:2px;padding:4px;display:flex}.feed-toggle__option{color:var(--muted);font-family:var(--font-display);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:700;transition:background .2s,color .2s}.feed-toggle__option:hover{background:var(--soft);color:var(--fg)}.feed-toggle__option--active,.feed-toggle__option--active:hover{background:var(--fg);color:var(--bg)}.tag-search{position:relative}.tag-search__input{border:1px solid var(--hairline);width:100%;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:14px;padding:9px 34px 9px 14px;font-size:16px;transition:border-color .2s}.tag-search__input::placeholder{color:#9a9aa0}.tag-search__input:focus{border-color:#cfcfd3;outline:none}.tag-search__clear{background:var(--soft);width:22px;height:22px;font-family:var(--font-display);cursor:pointer;border:0;border-radius:50%;font-size:14px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tag-search__options{border:1px solid var(--hairline);background:var(--bg);box-shadow:var(--shadow-lg);animation:fade-in .16s var(--ease-out);border-radius:14px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0}.tag-search__option{width:100%;font-family:var(--font-display);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:baseline;padding:7px 10px;font-size:13px;font-weight:700;display:flex}.tag-search__option:hover,.tag-search__option[aria-selected=true]{background:var(--soft)}.tag-search__count{color:var(--muted);font-size:12px}.tag-search__empty{color:var(--muted);padding:7px 10px;font-size:15px}@keyframes arrows-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.upvote{font-family:var(--font-display);border:1px solid var(--hairline);background:var(--bg);color:var(--fg);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;margin-top:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.upvote:hover{border-color:#cfcfd3}.upvote:active{transform:scale(.96)}.upvote--active{background:var(--fg);border-color:var(--fg);color:var(--bg)}.upvote:disabled{cursor:progress}.comments__heading{font-family:var(--font-display);margin:0 0 12px;font-size:15px;font-weight:600}.comments__form{gap:8px;margin-bottom:12px;display:flex}.comments__input{background:var(--soft);border:1px solid #0000;border-radius:999px;flex:1;min-width:0;padding:10px 16px;font-size:17px;transition:border-color .2s,background .2s}.comments__input:focus{background:var(--bg);border-color:#cfcfd3;outline:none}.comments__submit{font-family:var(--font-display);background:var(--fg);color:var(--bg);cursor:pointer;border:0;border-radius:999px;padding:0 20px;font-weight:600;transition:opacity .2s}.comments__submit:disabled{background:var(--soft);color:#a3a3a8;cursor:default}.comments__status,.comments__error{color:var(--muted);margin:8px 0;font-size:14px}.comments__error{color:#b42318}.comments__list{margin:0;padding:0;list-style:none}.comment{border-bottom:1px solid var(--hairline);padding:12px 0}.comment:last-child{border-bottom:0}.comment__author{font-family:var(--font-display);font-size:13px;font-weight:700}.comment__text{color:#2b2b2b;margin:3px 0 0;font-size:17px;line-height:1.5}.nav-arrow{z-index:20;color:#8a8a8a;opacity:.55;cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;padding:0;transition:opacity .2s,color .2s;display:grid;position:fixed}.nav-arrow:hover{color:#555;opacity:1}.nav-arrows{--image-w:160px;--image-h:110px;--arrow-gap:40px;--arrow-size:32px;animation:.3s ease-out .75s both arrows-in}.nav-arrow--left{left:calc(50% - var(--image-w) / 2 - var(--arrow-gap) - var(--arrow-size));top:25%;transform:translateY(-50%)}.nav-arrow--right{left:calc(50% + var(--image-w) / 2 + var(--arrow-gap));top:25%;transform:translateY(-50%)}.nav-arrow--up{top:calc(25% - var(--image-h) / 2 - var(--arrow-gap) - var(--arrow-size));left:50%;transform:translate(-50%)}.nav-arrow--down{top:calc(25% + var(--image-h) / 2 + var(--arrow-gap));left:50%;transform:translate(-50%)}.node-image{background:var(--soft);width:160px;height:110px;box-shadow:var(--shadow-lg);opacity:0;animation:node-image-in .42s var(--ease-out) .12s forwards;border-radius:14px;overflow:hidden;transform:translate(-50%,-50%)scale(.6)}.node-image img{object-fit:cover;width:100%;height:100%;display:block}.node-image__fallback{background:#dcdce0;width:100%;height:100%}@keyframes node-image-in{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.node-label{font-family:var(--font-display);white-space:nowrap;text-shadow:0 0 3px #fff,0 0 6px #fff;animation:label-in .25s var(--ease-out) both;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;transition:background .2s,box-shadow .2s;transform:translate(22px,-50%)}.node-label--hovered{text-shadow:none;background:#ffffffe6;box-shadow:0 1px 6px #00000014}.node-label--leaving{animation:.25s ease-in both label-out}@keyframes label-in{0%{opacity:0}to{opacity:1}}@keyframes label-out{0%{opacity:1}to{opacity:0}}
