
:root{--bg:#f7f7f5;--ink:#252725;--muted:#8b8d87;--line:#dedfd9;--paper:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif;transition:background .4s,color .4s}body.dark{--bg:#1d211f;--ink:#ecece3;--muted:#a2aaa1;--line:#414a43;--paper:#282e29}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #7362cc;outline-offset:7px}header{padding:32px 5%;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:var(--ink);font-size:17px;letter-spacing:3px}.brand span{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;color:var(--muted)}.head-right{display:flex;gap:32px;align-items:center}.edition,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}header button{border:1px solid var(--line);border-radius:4px;padding:10px 14px;background:transparent;color:var(--ink);font-size:11px}main{max-width:1360px;margin:auto;padding:0 5%}.intro{margin:54px 0 70px}.intro h1{font-size:clamp(24px,3vw,38px);font-weight:400;letter-spacing:3px;margin:17px 0}.intro p{color:var(--muted);font-size:13px;letter-spacing:1px}.library{padding:0 10px;perspective:1200px}.books{height:330px;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:0 25px}.book{position:relative;flex:1;max-width:100px;min-width:0;height:var(--height);padding:0;border:1px solid #0002;border-radius:3px 4px 0 0;background:var(--color);color:var(--text);box-shadow:inset 3px 0 3px #fff3,inset -3px 0 4px #0002,2px 0 3px #0001;transform-origin:bottom center;transform:translateY(var(--lift,0px)) rotate(var(--rotate,0deg));transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s;will-change:transform}.book:after{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 2px,#fff3 2px 3px)}.book:hover,.book:focus-visible{--lift:-18px;z-index:3;box-shadow:inset 3px 0 3px #fff3,inset -3px 0 4px #0002,8px 12px 16px #0002}.number{position:absolute;top:17px;left:0;width:100%;font-size:9px;font-family:Georgia,serif}.rule{position:absolute;top:38px;left:8%;right:8%;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.3}.spine{position:absolute;top:65px;bottom:27px;left:0;width:100%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-size:clamp(13px,1.5vw,20px);letter-spacing:2px;font-weight:500}.book:first-child .spine{font-size:29px;font-weight:bold;letter-spacing:5px}.book-foot{position:absolute;bottom:12px;width:100%;left:0;font-size:7px;letter-spacing:1px;opacity:.7}.shelf{height:5px;background:var(--line);box-shadow:0 3px 4px #0000000c;margin:0 -10px;border-radius:1px}.selection{display:flex;align-items:flex-start;justify-content:space-between;padding-top:38px;min-height:180px}.counter{font-size:11px;color:var(--muted);width:100px;padding-top:5px}.selected{display:flex;gap:24px;min-width:400px}.mini{width:69px;height:94px;background:#7764c3;color:white;box-shadow:inset 4px 0 #ffffff25;flex-shrink:0;padding:17px 12px;font-family:Georgia,serif;font-size:12px}.mini span{display:block;font-size:32px;font-style:italic;margin-top:15px}.selected h2{font-size:23px;font-weight:400;margin:9px 0}.selected p{font-size:12px;color:var(--muted);margin:0 0 17px}.text-link{border:0;padding:0;background:none;color:#8877bb;font-size:12px}.hint{font-size:9px;color:var(--muted);line-height:2.1;text-align:right;padding-top:8px}footer{margin:50px 5% 25px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:1px}dialog{border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:min(820px,94vw);max-height:90vh;padding:0;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#20241f66;backdrop-filter:blur(7px)}.reader-top{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1px}.reader-top button{border:0;background:none;color:var(--ink);font-size:12px}.paper{margin:25px;padding:35px;background:var(--paper)}.paper h2{font-size:34px;font-weight:400;margin:15px 0}.paper h3{font-size:15px;margin-top:28px;border-bottom:1px solid var(--line);padding-bottom:10px}.paper p{font-size:13px;line-height:1.9;color:var(--muted)}.badge{font-size:11px;color:#897448;background:#cdbb7b20;padding:7px 10px;display:inline-block}.download{display:inline-block;background:#7461b5;color:white;padding:12px 18px;text-decoration:none;border-radius:3px;font-size:12px;margin-top:20px}@media(max-width:700px){header{padding-top:23px}.edition{display:none}.intro{margin:42px 0 40px}.intro h1{letter-spacing:1px}.library{overflow-x:auto;padding-top:25px;padding-bottom:15px}.books{min-width:700px;height:300px;padding:0 12px;gap:6px}.shelf{min-width:730px}.book{height:calc(var(--height)*.9)}.spine{font-size:16px}.selection{padding-top:22px;gap:12px}.counter{width:auto;font-size:9px}.selected{min-width:0;gap:14px}.selected h2{font-size:20px}.selected p{font-size:11px;max-width:220px;line-height:1.7}.hint{display:none}.mini{width:55px;height:85px}.selected .eyebrow{font-size:8px}footer{gap:20px;line-height:1.8;margin-top:45px}.paper{margin:12px;padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.book:hover{--lift:-4px}}

.resume-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.resume-heading h2{font-size:28px;margin:10px 0}.resume-heading .download{margin:0}.resume-fallback a{color:#8877bb}.resume-viewer{display:block;width:100%;height:65vh;min-height:360px;border:1px solid var(--line);background:white}#paper:has(.resume-viewer){padding:22px;margin:16px}#reader:has(.resume-viewer){width:min(1050px,96vw)}@media(max-width:700px){#paper:has(.resume-viewer){padding:12px;margin:8px}.resume-heading h2{font-size:23px}.resume-viewer{height:58vh}}
