:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#e2e1dc}#root{height:100dvh;display:flex;flex-direction:column;background:#e2e1dc}.container{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;height:100%;min-height:0;overflow:hidden}:root{--button-gray-light: linear-gradient(135deg, #d8d8d8, #c8c8c8);--button-gray: linear-gradient(135deg, #989898, #888888);--button-beige: linear-gradient(135deg, #d5cec2, #c5beb2);--button-orange: linear-gradient(135deg, #ff7b54, #ef6b44);--button-brown: linear-gradient(135deg, #8b7355, #7b6345);--button-black: linear-gradient(135deg, #464646, #363636);--button-hole-size: 66px;--button-face-size: 60px;--button-shadow-color: rgba(0, 0, 0, .1);--button-hole-gradient: radial-gradient( circle at 30% 30%, #555, #3a3a3a 40%, #2b2b2b 80%, #1b1b1b );--button-pressed-gradient: radial-gradient( circle at var(--button-light-position, 50%) 30%, #ffd466, #e6a23c 30%, #454545 50%, #353535 )}.button-bar{flex:0 0 auto;width:100%;position:relative;z-index:2;box-sizing:border-box;margin-top:-10px;border-top:1px solid rgba(255,255,255,.7);background:#e2e1dc;box-shadow:0 -1px #1111113d,0 -4px 8px #11111124,inset 0 1px 2px #ffffff61}.button-row{width:100%;overflow-x:auto;box-sizing:border-box;padding:40px 32px 62px;scrollbar-width:thin}.button-bar-toggle{width:32px;height:32px;position:absolute;z-index:3;top:5px;right:12px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#111111b8;cursor:pointer}.button-bar-toggle span{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.button-bar.is-minimized .button-bar-toggle span{transform:translateY(2px) rotate(225deg)}.button-bar-toggle:hover{color:#111111f2}.button-bar-toggle:focus-visible{outline:none;color:#111}.button-bar-toggle:focus-visible span{filter:drop-shadow(0 0 1px rgba(17,17,17,.8))}.button-bar.is-minimized{height:38px}.button-bar.is-minimized .button-row{display:none}.button-row-inner{width:-moz-max-content;width:max-content;min-width:100%;display:grid;grid-template-columns:repeat(6,auto);gap:36px;justify-content:center}.button-group{display:flex;flex-direction:column;align-items:center;gap:28px}.button-label{color:#111111d9;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;text-shadow:1px 1px 1px rgba(255,255,255,.15),-1px -1px 1px rgba(0,0,0,.05);-webkit-font-smoothing:antialiased}.button-hole{width:var(--button-hole-size);height:var(--button-hole-size);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--button-hole-gradient);box-shadow:inset 0 2px 8px #ffffff1a,inset 0 -4px 12px #000c,0 2px 4px var(--button-shadow-color)}.button-hole.is-pressed{background:var(--button-pressed-gradient);box-shadow:inset 0 0 10px #ffdc6633,inset 0 0 20px #ffc84d26,inset 0 -4px 12px #000c,0 2px 4px #0000004d,0 0 30px #ffa6001a,0 0 50px #ffa60014,0 0 70px #ff8c000d}.category-filter{width:var(--button-face-size);height:var(--button-face-size);position:relative;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.category-filter:focus-visible{outline:3px solid rgba(17,17,17,.75);outline-offset:6px}.button-face,.button-shaft{width:var(--button-face-size);height:var(--button-face-size);position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:50%;background:var(--button-color)}.button-face{z-index:1;transform:translate(var(--button-protrusion-x)) translateY(8px);transition:transform .1s cubic-bezier(.1,0,.2,1);background:radial-gradient(circle at 45% 45%,rgba(0,0,0,.15) 0%,rgba(0,0,0,.1) 30%,transparent 60%,rgba(255,255,255,.4) 100%),var(--button-color);box-shadow:inset 2px 1px 3px #ffffff4d,inset 1px -2px 3px #0003}.button-hole.is-pressed .button-face{transform:translate(var(--button-pressed-x)) translateY(3px)}.category-filter:active .button-face{transform:translate(var(--button-pressed-x)) translateY(1px)}.button-shaft{top:1px;filter:brightness(.9);box-shadow:8px 0 6px var(--button-shadow-color),16px 0 12px var(--button-shadow-color),32px 0 24px var(--button-shadow-color),64px 0 48px var(--button-shadow-color)}.button-color-gray-light{--button-color: var(--button-gray-light)}.button-color-gray{--button-color: var(--button-gray)}.button-color-beige{--button-color: var(--button-beige)}.button-color-orange{--button-color: var(--button-orange)}.button-color-brown{--button-color: var(--button-brown)}.button-color-black{--button-color: var(--button-black)}.button-position-0{--button-protrusion-x: -6px;--button-pressed-x: -1px;--button-light-position: 70%}.button-position-1{--button-protrusion-x: -4px;--button-pressed-x: -.75px;--button-light-position: 62%}.button-position-2{--button-protrusion-x: -2px;--button-pressed-x: -.25px;--button-light-position: 54%}.button-position-3{--button-protrusion-x: 2px;--button-pressed-x: .25px;--button-light-position: 46%}.button-position-4{--button-protrusion-x: 4px;--button-pressed-x: .75px;--button-light-position: 38%}.button-position-5{--button-protrusion-x: 6px;--button-pressed-x: 1px;--button-light-position: 30%}@media (max-width: 700px){.button-row{--button-hole-size: 42px;--button-face-size: 38px;overflow-x:hidden;padding:44px 4px 54px}.button-row-inner{width:100%;min-width:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;justify-content:stretch}.button-group{min-width:0;gap:16px}.button-label{font-size:8px;letter-spacing:.4px;white-space:nowrap}.button-shaft{box-shadow:4px 0 4px var(--button-shadow-color),8px 0 8px var(--button-shadow-color),16px 0 16px var(--button-shadow-color)}.button-position-0{--button-protrusion-x: -3px}.button-position-1{--button-protrusion-x: -2px}.button-position-2{--button-protrusion-x: -1px}.button-position-3{--button-protrusion-x: 1px}.button-position-4{--button-protrusion-x: 2px}.button-position-5{--button-protrusion-x: 3px}}@media (prefers-reduced-motion: reduce){.button-face{transition:none}}.publications-browser{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.publication-window{flex:1 1 auto;min-height:0;width:100%;position:relative;z-index:0;isolation:isolate;overflow:hidden;background:#e2e1dc}.timeline{height:100%;width:100%;box-sizing:border-box;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:rgba(17,17,17,.35) rgba(17,17,17,.08)}.timeline-content{width:100%;max-width:920px;min-height:100%;margin:0 auto;display:flex;flex-direction:column;gap:38px;padding:88px 10px 96px;box-sizing:border-box;position:relative}.timeline-content:after{content:"";position:absolute;z-index:1;top:0;bottom:0;left:50%;width:100vw;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(17,17,17,.018) 0,rgba(17,17,17,.018) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply;transform:translate(-50%)}.timeline::-webkit-scrollbar{width:7px}.timeline::-webkit-scrollbar-track{background:#11111114}.timeline::-webkit-scrollbar-thumb{border-radius:999px;background:#11111159}.timeline:focus-visible{outline:2px solid rgba(17,17,17,.65);outline-offset:-4px}.timeline-content:before{content:"";position:absolute;left:180px;top:16px;bottom:0;width:2px;background:#333}.row{display:flex;flex-direction:row;gap:32px;position:relative;min-width:0}.date-group{position:relative;flex-shrink:0;width:206px;display:flex;flex-direction:row;align-items:center;gap:10px}.year,.month,.day,.title{text-shadow:1px 1px 1px rgba(255,255,255,.15),-1px -1px 1px rgba(0,0,0,.05);-webkit-font-smoothing:antialiased}.year{position:absolute;font-weight:700;font-size:1.2em;left:0;width:60px;text-align:right;top:-2px;letter-spacing:1px;color:#111111d9}.month{position:absolute;left:60px;font-weight:500;width:101px;top:1px;text-align:right;letter-spacing:1px;color:#424242d9}.day{position:absolute;left:186px;width:20px;top:2px;text-align:right;letter-spacing:1px;color:#424242d9}.day:before{content:"";position:absolute;right:30px;top:50%;width:5px;height:2px;background:#333;transform:translateY(-50%)}.pub{display:flex;flex-direction:row;gap:20px;min-height:24px;text-decoration:none;color:inherit;cursor:pointer;transition:opacity .2s ease;width:100%;min-width:0}.pub:hover{opacity:.7}.title{font-weight:500;color:#111111f2}.description{font-size:.9em;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.url{font-size:.8em;color:#888;margin-top:-2px}.content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mobile-date{display:none;color:#666;font-size:.8em;letter-spacing:.04em}.thumbnail{flex-shrink:0;width:178px;height:100px;background:#f5f5f5;overflow:hidden;position:relative;border-radius:4px;box-shadow:1px 1px .5px #ffffff84,-.5px -.25px 1px #00000038}.thumbnail:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,transparent 60%,rgba(0,0,0,.2) 100%);z-index:2;pointer-events:none;mix-blend-mode:multiply}.thumbnail:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 1px 3px #000000e6,inset -.5px -1px 2px #fff6;z-index:3;background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0px,rgba(0,0,0,.05) 1px,transparent 1px,transparent 2px)}.thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;position:relative;z-index:1;filter:brightness(1.1);transition:all .3s ease}.pub:hover .thumbnail img{transform:scale(1.02)}.category{font-size:.7em;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:2px;color:#e2e1dc;-webkit-font-smoothing:antialiased;width:13px;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;padding:4px 0 4px 1px;box-shadow:.5px .5px .5px #ffffff84,-.5px -.125px 1px #00000038;background:#808080f2}.category.article{background:#dc4a3af2}.category.talk{background:#347483f2}.category.video{background:#facc4cf2}.category.book{background:#57943ef2}.category.paper{background:#e29324f2}.category.podcast{background:#aa518ef2}@media (max-width: 1024px){.timeline-content:before,.date-group{display:none}.timeline{max-width:none}.timeline-content{max-width:720px;padding-inline:20px}.mobile-date{display:block}}@media (max-width: 768px){.thumbnail{width:150px}}@media (max-width: 560px){.timeline-content{gap:32px;padding:56px 16px 88px}.thumbnail{width:72px;height:88px}.pub{gap:10px}}
