:root{--paper:#f6efe2;--paper2:#fbf7ee;--card:#fffdf7;--ink:#2f251c;--ink2:#5f4e3f;--ink3:#8a7764;--line:#ddd0b9;--line2:#e9dfcc;--wood:#b98552;--woodD:#8a5a33;--woodL:#d4a26f;--ochre:#c98a1b;--ochreL:#f3e3c0;--purple:#8e3f8c;--sage:#486344;--sageL:#c3d4bc;--steel:#dce5ef;--blue:#3266c5;--night:#18222a;--ink-art:#241b14;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN","STSong","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC","Hiragino Sans GB",system-ui,sans-serif;--spring:cubic-bezier(.34,1.56,.64,1);--soft:cubic-bezier(.22,.85,.25,1);--shadow-paper:0 1px 0 rgba(255,255,255,.7) inset,0 1px 2px rgba(60,40,20,.08),0 10px 24px -12px rgba(60,40,20,.28);--shadow-lift:0 1px 0 rgba(255,255,255,.7) inset,0 2px 4px rgba(60,40,20,.08),0 26px 40px -18px rgba(60,40,20,.38)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;background:radial-gradient(1200px 600px at 85% -10%,rgba(255,236,196,.75),transparent 60%),radial-gradient(900px 500px at -10% 30%,rgba(255,246,228,.9),transparent 60%),var(--paper);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .35  0 0 0 0 .22  0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}main,header,footer{position:relative;z-index:1}a{color:inherit}:focus-visible{outline:3px solid var(--ochre);outline-offset:3px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:10px;text-decoration:none;transition:top .2s}.skip:focus{top:12px}main:focus{outline:none}.top{display:flex;align-items:center;gap:24px;max-width:1240px;margin:0 auto;padding:22px 32px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.06em}.brand-mark{width:30px;height:30px;color:var(--ink)}.brand-liquid{fill:var(--ochre);transform-origin:32px 48px;animation:slosh 5s ease-in-out infinite}@keyframes slosh{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg) translateY(.5px)}}.nav{display:flex;gap:6px;margin-left:auto}.nav a{text-decoration:none;color:var(--ink2);padding:6px 12px;border-radius:999px;font-size:15px;transition:background .2s,color .2s}.nav a:hover{background:#c98a1b1f;color:var(--ink)}.motion-toggle{font:inherit;font-size:14px;color:var(--ink2);background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;display:flex;gap:6px;align-items:center;transition:all .2s}.motion-toggle:hover{border-color:var(--ink3);color:var(--ink)}.motion-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero{max-width:1240px;margin:0 auto;padding:28px 32px 72px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;font-size:14px;letter-spacing:.2em;color:var(--ink2)}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 4px #c98a1b2e}h1{font-family:var(--serif);font-weight:900;font-size:clamp(60px,8.4vw,116px);line-height:1;letter-spacing:.04em;margin:0 0 22px}h1 .h1-who{display:block;font-size:.42em;letter-spacing:.12em;margin:0 0 .12em .04em;color:var(--ink2)}h1 .h1-break{display:inline-block;position:relative}h1 .h1-break:after{content:"";position:absolute;left:4%;right:2%;bottom:.04em;height:.2em;background:var(--ochreL);z-index:-1;border-radius:3px;transform:skew(-8deg) scaleX(var(--hl,1));transform-origin:left;transition:transform .9s var(--soft) .5s}.lede{text-wrap:balance;font-family:var(--serif);font-size:clamp(21px,2.1vw,27px);line-height:1.5;margin:0 0 14px;font-weight:600}.sub{color:var(--ink2);margin:0 0 30px;max-width:32em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;border-radius:12px;padding:12px 20px;transition:transform .25s var(--spring),box-shadow .25s,background .2s}.btn-ink{background:var(--ink);color:var(--paper);box-shadow:0 6px 0 -2px #120d08,0 14px 22px -12px #1e140a99}.btn-ink:hover{transform:translateY(-2px)}.btn-ink:active{transform:translateY(2px);box-shadow:0 2px 0 -1px #120d08}.btn-ghost{border:1.5px solid var(--ink);color:var(--ink)}.btn-ghost:hover{background:#2f251c0f}.desk-wrap{position:relative}.desk{position:relative;aspect-ratio:16/11;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#f6eedd 0%,#f1e6d0 60%,transparent 60%);border:2px solid rgba(36,27,20,.78);box-shadow:0 30px 60px -30px #462d1473;--lx:62%;--ly:30%}.window-light{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 18%,rgba(255,250,235,.55) 18% 30%,transparent 30% 36%,rgba(255,250,235,.45) 36% 46%,transparent 46%);mix-blend-mode:screen;opacity:.4;animation:daylight 14s ease-in-out infinite alternate}@keyframes daylight{0%{transform:translate(-3%)}to{transform:translate(3%)}}.lamp{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background:radial-gradient(300px 220px at var(--lx) var(--ly),rgba(255,226,160,.42),transparent 70%);mix-blend-mode:soft-light;transition:background .1s}.chalk-note{position:absolute;left:6%;top:9%;font-family:var(--serif);font-size:clamp(12px,1.3vw,16px);line-height:1.5;color:var(--ink);background:#fff7d8;padding:12px 14px 14px;border-radius:2px;border:1.6px solid rgba(36,27,20,.75);transform:rotate(-4deg);box-shadow:0 8px 14px -8px #50371466}.chalk-note:before{content:"";position:absolute;top:-8px;left:50%;width:46px;height:16px;margin-left:-23px;background:#c98a1b59;transform:rotate(3deg)}.desk-top{position:absolute;left:0;right:0;top:60%;bottom:0;z-index:0;border-top:2.5px solid var(--ink-art);background:linear-gradient(180deg,transparent 91%,#a8743f 91%),repeating-linear-gradient(179deg,transparent 0 13px,rgba(140,90,45,.16) 13px 14px,transparent 14px 23px,rgba(255,236,200,.18) 23px 24px),linear-gradient(180deg,#e2bd88,#d2a267)}.desk-top:after{content:"";position:absolute;left:0;right:0;bottom:9%;border-top:2.5px solid var(--ink-art)}.obj{position:absolute;z-index:2;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;transform-origin:50% 100%;animation:drop .9s var(--spring) both;animation-delay:calc(.15s + var(--i) * .12s);transition:transform .35s var(--spring),filter .3s}.obj svg{display:block;width:100%;height:auto;overflow:visible}.obj .shadow{fill:#3c1e0a47;transition:transform .35s var(--spring),opacity .3s;transform-origin:center;transform-box:fill-box}.obj:hover,.obj:focus-visible{transform:translateY(-10px) rotate(var(--rot,0deg))}.obj:hover .shadow,.obj:focus-visible .shadow{transform:scale(.8);opacity:.6}.obj:active{transform:translateY(-4px) scale(.98)}.obj .tag{position:absolute;left:50%;top:-14px;transform:translate(-50%,6px);white-space:nowrap;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--line);color:var(--ink);padding:4px 10px;border-radius:999px;box-shadow:0 6px 12px -6px #3c281459;opacity:0;transition:opacity .2s,transform .3s var(--spring);pointer-events:none}.obj:hover .tag,.obj:focus-visible .tag{opacity:1;transform:translate(-50%,-4px)}@keyframes drop{0%{opacity:0;transform:translateY(-36px) scale(.96)}60%{opacity:1}to{opacity:1;transform:none}}.obj-micro{left:1.5%;bottom:14%;width:27%;--rot:-2deg}.obj-keys{left:28%;bottom:15%;width:25%;--rot:2deg}.obj-dna{left:53.5%;bottom:14%;width:20%;--rot:-3deg}.obj-pulley{left:75.5%;bottom:14%;width:22%;--rot:1deg}.obj .lbl{position:absolute;left:50%;bottom:-1.9em;transform:translate(-50%);white-space:nowrap;font:700 clamp(11px,1.15vw,14px)/1 var(--sans);color:var(--ink-art);letter-spacing:.04em;pointer-events:none}.art-sym{font:700 20px var(--serif);fill:var(--ink-art)}.art-num{font:700 8px var(--sans);fill:var(--ink-art);opacity:.75}.art-cn{font:700 8.5px var(--sans);fill:var(--ink-art)}.art-tag{font:700 8px var(--sans);fill:var(--ink-art)}.art-note{font:600 9px var(--sans);fill:var(--ink2)}.art-note.b{font:700 11px var(--sans);fill:var(--ink-art)}.obj-keys .kc{transition:transform .25s var(--spring)}.obj-keys:hover .kc,.obj-keys:focus-visible .kc{transform:translateY(-4px) rotate(-3deg);transform-box:fill-box;transform-origin:50% 100%}.mini-helix{transform-box:fill-box;transform-origin:50% 50%;transition:transform .6s var(--spring)}.obj-dna:hover .mini-helix,.obj-dna:focus-visible .mini-helix{transform:scaleX(-1)}.mini-load{transition:transform .6s var(--spring)}.obj-pulley:hover .mini-load,.obj-pulley:focus-visible .mini-load{transform:translateY(-14px)}.desk-hint{margin:12px 4px 0;font-size:13px;color:var(--ink3);text-align:right}.section-head{display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-items:baseline;margin-bottom:34px}.section-no{grid-row:span 2;margin:0;font-family:var(--serif);font-size:15px;color:var(--ochre);font-weight:700;letter-spacing:.1em;border-top:2px solid var(--ochre);padding-top:6px}h2{font-family:var(--serif);font-size:clamp(32px,3.6vw,46px);margin:0;letter-spacing:.04em;line-height:1.2}.section-desc{margin:8px 0 0;color:var(--ink2)}.filters{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{font:inherit;font-size:15px;border:1.5px solid var(--line);background:var(--paper2);color:var(--ink2);border-radius:999px;padding:6px 14px;cursor:pointer;transition:all .25s var(--spring)}.chip span{font-size:12px;color:var(--ink3);margin-left:2px}.chip:hover{border-color:var(--ink3);transform:translateY(-1px)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip[aria-pressed=true] span{color:var(--ochreL)}.tools,.use{max-width:1240px;margin:0 auto;padding:40px 32px 64px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.card{position:relative;background:var(--card);border-radius:18px;box-shadow:var(--shadow-paper);transform:rotate(var(--tilt));transition:transform .45s var(--spring),box-shadow .35s,opacity .35s;display:flex;flex-direction:column}.card:hover,.card:focus-within{transform:rotate(0) translateY(-6px);box-shadow:var(--shadow-lift)}.card.is-hidden{display:none}.card.flash{animation:flash 1.2s ease}@keyframes flash{0%,to{box-shadow:var(--shadow-paper)}30%{box-shadow:0 0 0 4px #c98a1b8c,var(--shadow-lift)}}.tape{position:absolute;top:-11px;left:50%;width:96px;height:24px;margin-left:-48px;z-index:4;background:#f3e3c0d1;transform:rotate(calc(var(--tilt) * -3));box-shadow:0 1px 2px #50371426;-webkit-mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent 0)}.card-periodic .tape{background:#c3d4bccc}.card-physics .tape{background:#dce5efe6}.card-gene .tape{background:#f0b35b8c}.preview{position:relative;margin:14px 14px 0;border-radius:12px;overflow:hidden;border:1.6px solid rgba(36,27,20,.6);background:#f6eedd;min-height:300px;display:flex;flex-direction:column}.pv-label{position:absolute;top:10px;left:12px;font-size:12px;color:var(--ink2);letter-spacing:.05em;z-index:2}.card-body{padding:22px 26px 26px;display:flex;flex-direction:column;flex:1}.subject{margin:0 0 4px;font-size:13px;letter-spacing:.16em;color:var(--ink3)}.card h3{font-family:var(--serif);font-size:25px;margin:0 0 8px;line-height:1.3}.card-body p{margin:0 0 12px;color:var(--ink2)}.card-body .quote{font-family:var(--serif);color:var(--ink);font-size:18px}.feats{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.feats li{font-size:13px;padding:2px 10px;border-radius:6px;background:var(--paper);border:1px solid var(--line2);color:var(--ink2)}.open{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;padding:10px 18px;border-radius:12px;background:var(--ink);color:var(--paper);box-shadow:0 5px 0 -2px #120d08;transition:transform .25s var(--spring),box-shadow .2s,background .2s}.open .arr{display:inline-block;transition:transform .3s var(--spring)}.open:hover{transform:translateY(-2px)}.open:hover .arr{transform:translate(3px,-3px)}.open:active{transform:translateY(2px);box-shadow:0 1px 0 -1px #120d08}.card-plasmo .open{background:#5a2758;box-shadow:0 5px 0 -2px #33122f}.card-gene .open{background:#1d2a33;box-shadow:0 5px 0 -2px #0b1116}.card-periodic .open{background:#33472f;box-shadow:0 5px 0 -2px #1a2618}.card-physics .open{background:#244f9e;box-shadow:0 5px 0 -2px #13306a}.pv-plasmo{padding-bottom:10px;min-height:0}.scene{position:relative;aspect-ratio:340/200;width:100%}.scene-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.cw{fill:#f7f0e1;stroke:var(--ink-art);stroke-width:1.6;transition:fill 1.6s ease}.pv-plasmo[data-state=sep] .cw{fill:#f3dca4}.proto{transform-box:fill-box;transform-origin:50% 50%;transition:transform 2.2s var(--soft)}.membrane{fill:#f1d9e4;stroke:#6e2f6b;stroke-width:1.3;transition:rx 2.2s var(--soft)}.vacuole{transition:filter 2.2s ease}.pv-plasmo[data-state=sep] .proto{transform:scale(.7,.62)}.pv-plasmo[data-state=sep] .vacuole{filter:saturate(1.25) brightness(.74)}.pv-plasmo[data-state=sep] .membrane{rx:12px}.lead{stroke:var(--ink-art);stroke-width:1.1;fill:none;transition:d 2.2s var(--soft)}.pv-plasmo[data-state=sep] #leadMem{d:path("M267 92 L304 166")}.sc-note{font:600 7.5px var(--sans);fill:var(--ink2)}.sc-note.b{font:700 9px var(--sans);fill:var(--ink-art);paint-order:stroke;stroke:#f6eedd;stroke-width:3px;stroke-linejoin:round}.bottles{position:absolute;left:2%;bottom:15%;width:26%;display:flex;justify-content:space-between;align-items:flex-end;gap:2%}.bottle{font:inherit;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 2px 0;border-radius:10px;color:var(--ink-art);flex:1;transition:background .2s}.bottle:hover{background:#c98a1b1f}.bottle[aria-pressed=true]{background:#8e3f8c1f}.b-art{width:62%;height:auto;overflow:visible;transform-origin:50% 90%;transition:transform .45s var(--spring)}.bottle:hover .b-art{transform:translateY(-3px)}.bottle.tip .b-art{transform:rotate(-24deg) translate(6px,-8px)}.b-name{font:700 clamp(9px,1.15vw,12px)/1.25 var(--sans);text-align:center}.pv-status{text-align:center;margin:8px 12px 0;font-size:14px;color:var(--ink2);min-height:1.5em}.drop{position:absolute;width:7px;height:10px;border-radius:50%/60% 60% 40% 40%;border:1.2px solid var(--ink-art);z-index:3;pointer-events:none;animation:fall .7s cubic-bezier(.5,0,.9,.5) forwards}@keyframes fall{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateY(44px) scaleY(.7);opacity:0}}.pv-gene{padding:12px;gap:10px}.frame{position:relative;border-radius:4px;background:#fffaf0;border:1.6px solid rgba(36,27,20,.7);box-shadow:0 10px 18px -12px #46280f80;height:196px;overflow:hidden;margin-top:24px;transform:rotate(-.4deg)}#helix{filter:url(#hand)}#helix{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px)}.codons{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.codon{padding:3px 6px;border-radius:4px;background:#fffaf0;border:1.5px solid rgba(36,27,20,.35);color:var(--ink3);letter-spacing:.06em;transition:all .3s var(--spring)}.codon.read{color:var(--ink);border-color:var(--ink-art)}.codon.now{background:#efc56d;color:#2a1b08;border-color:var(--ink-art);transform:translateY(-3px);box-shadow:0 3px #241b1440}.codon.start.read{box-shadow:0 0 0 2px #79bba9b3}.codon.stop.read{background:#e7dccb;text-decoration:line-through}.peptide{display:flex;align-items:center;gap:10px;justify-content:center;font-size:15px;min-height:30px}.pp-k{font-size:12px;color:var(--ink3);letter-spacing:.1em}.pp-v{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.aa{display:inline-block;padding:1px 9px;border-radius:999px;background:#a9d4c7;border:1.6px solid var(--ink-art);color:var(--ink-art);font-weight:700;font-size:13px;animation:pop .45s var(--spring)}.aa-sep{color:var(--ink3)}.stop-tag{font-size:12px;color:var(--ink2);padding:2px 8px;border:1px dashed var(--ink3);border-radius:999px}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}.scrub{display:block;padding:0 6px}.scrub input{width:100%;accent-color:#c98a1b;height:28px;cursor:grab}.pv-periodic{padding:16px;gap:14px;justify-content:space-between;color:var(--ink)}.spec-card{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;background:#fffaf0;border:1.6px solid rgba(36,27,20,.7);border-radius:6px;padding:8px 14px 8px 8px;box-shadow:0 10px 18px -12px #46280f80;transform:rotate(-.6deg);margin-top:16px}.specimen{width:96px;height:96px;overflow:visible}.readout{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:end;min-height:84px}.ro-num{grid-column:1 / span 2;font-size:13px;color:var(--ink2);align-self:start}.ro-sym{grid-column:1;grid-row:2 / span 2;font:700 50px/1 var(--serif);color:var(--ink-art);transition:transform .3s var(--spring)}.ro-name{grid-column:2;grid-row:2;font-family:var(--serif);font-size:22px;font-weight:700}.ro-mass{grid-column:2;grid-row:3;font-size:13px;color:var(--ink2)}.readout.bump .ro-sym{animation:bump .4s var(--spring)}@keyframes bump{0%{transform:translateY(6px) scale(.92);opacity:.4}}.tray{background:linear-gradient(180deg,#e2bd88,#d2a267);border:2.2px solid var(--ink-art);border-radius:10px;padding:12px 12px 16px;box-shadow:inset 0 -7px #a8743f,inset 0 -9.5px 0 var(--ink-art),0 14px 18px -12px #46280f8c}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-bottom:4px}.key{--top:#c6dabb;--edge:#93b087;font:inherit;position:relative;border:2.2px solid var(--ink-art);cursor:pointer;aspect-ratio:1/.9;border-radius:7px;padding:0;background:var(--edge);box-shadow:0 8px 10px -6px #3c1e0a80;transition:transform .12s ease}.key .face{position:absolute;top:0;right:0;bottom:7px;left:0;border-radius:5px 5px 4px 4px;border-bottom:2px solid var(--ink-art);background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.45),transparent 55%),var(--top);color:var(--ink-art);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .18s var(--spring)}.key .k-n{position:absolute;top:4px;left:6px;font-size:10px;font-weight:700;opacity:.75}.key .k-s{font:700 clamp(18px,2vw,24px)/1 var(--serif)}.key .k-c{font-size:11px;font-weight:700;opacity:.8;margin-top:3px}.key:hover .face{transform:translateY(-1px)}.key.down .face,.key:active .face{transform:translateY(4px)}.key[aria-pressed=true]{outline:3px solid #f3d27a;outline-offset:2px}.key.cat-nonmetal{--top:#c6dabb;--edge:#93b087}.key.cat-noble{--top:#c4d4e3;--edge:#8fa5bd}.key.cat-alkali{--top:#f0d28a;--edge:#c9a24f}.key.cat-metal{--top:#d6dbdc;--edge:#9ea6a8}.key.cat-transition{--top:#e2bb9e;--edge:#b5805d}.key.breathe .face{animation:breathe 1.6s ease}@keyframes breathe{40%{transform:translateY(3px)}}.pv-physics{min-height:330px}.pv-physics:after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;border-top:2.2px solid var(--ink-art);z-index:0;background:linear-gradient(180deg,transparent 33px,var(--ink-art) 33px 35px,#a8743f 35px),repeating-linear-gradient(179deg,transparent 0 9px,rgba(140,90,45,.16) 9px 10px),linear-gradient(180deg,#e2bd88,#d2a267)}.pulley-svg{position:absolute;left:0;right:0;top:30px;bottom:24px;width:100%;height:calc(100% - 54px);z-index:1;overflow:visible}.rim{fill:url(#gBrass);stroke:var(--ink-art);stroke-width:2.4}.rim-back{fill:#9a6c2a;stroke:var(--ink-art);stroke-width:2.2}.groove{fill:none;stroke:var(--ink-art);stroke-width:1;opacity:.5}.spoke{stroke:var(--ink-art);stroke-width:1.8;stroke-linecap:round}.strap{fill:url(#gSilver);stroke:var(--ink-art);stroke-width:1.8}.hub{fill:#3a312a;stroke:var(--ink-art);stroke-width:1.2}.axle{stroke:var(--ink-art);stroke-width:3;stroke-linecap:round}.rope,.rope-arc{stroke:#4a3524;stroke-width:2.6;fill:none;stroke-linecap:round}.handle{fill:url(#gWood);stroke:var(--ink-art);stroke-width:2}.weight{fill:url(#gBrass);stroke:var(--ink-art);stroke-width:2;stroke-linejoin:round}.weight-top{fill:#f3dc9c;stroke:var(--ink-art);stroke-width:2}.part{transition:transform .7s var(--spring),opacity .4s}.part-tag{font:700 12px var(--sans);fill:var(--ink-art);opacity:0;transition:opacity .3s .15s;paint-order:stroke;stroke:#f6eedd;stroke-width:3px}.pv-physics.split .part-tag{opacity:1}.pv-physics.split #ropes{opacity:.3}.pv-physics.split .rim{stroke-dasharray:4 3}.pv-actions{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;gap:8px}.mini-btn{font:inherit;font-size:14px;font-weight:700;border:2px solid var(--ink-art);background:#fffaf0;color:var(--ink-art);border-radius:999px;padding:3px 14px;cursor:pointer;box-shadow:0 3px 0 var(--ink-art);transition:transform .2s var(--spring),background .2s,box-shadow .2s}.mini-btn:hover{transform:translateY(-1px)}.mini-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink-art)}.mini-btn[aria-pressed=true]{background:#f3d27a}.notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.note-card{position:relative;background:#fff9e6;padding:30px 26px 26px;border-radius:4px;transform:rotate(var(--r));box-shadow:0 14px 24px -16px #50371473;transition:transform .4s var(--spring)}.note-card:nth-child(2){background:#f2f6ec}.note-card:nth-child(3){background:#f6eef4}.note-card:hover{transform:rotate(0) translateY(-4px)}.note-card h3{font-family:var(--serif);font-size:22px;margin:0 0 8px}.note-card p{margin:0;color:var(--ink2)}.pin{position:absolute;top:10px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f5c56a,#b9770f);box-shadow:0 3px 4px #3c1e0059}.foot{margin-top:40px;border-top:1px solid var(--line);background:#fbf7eeb3}.foot-inner{max-width:1240px;margin:0 auto;padding:36px 32px 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;color:var(--ink2);font-size:15px}.foot-brand{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--ink);margin:0 0 6px}.foot-inner p{margin:0}.foot-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.foot-links a{text-decoration:none;border-bottom:1px solid var(--line)}.foot-links a:hover{border-color:var(--ochre);color:var(--ink)}.card.reveal,.note-card.reveal{opacity:0;translate:0 26px;transition:opacity .7s var(--soft),translate .9s var(--spring),transform .45s var(--spring),box-shadow .35s}.card.reveal.in,.note-card.reveal.in{opacity:1;translate:0 0}@media (max-width:960px){.hero{grid-template-columns:1fr;gap:28px;padding-bottom:48px}.grid,.notes{grid-template-columns:1fr}}@media (max-width:620px){body{font-size:16px}.top{padding:14px 18px;gap:10px;flex-wrap:wrap}.nav{order:3;width:100%;margin:0;justify-content:space-between}.motion-toggle{margin-left:auto}.motion-toggle .mt-label{font-size:13px}.hero,.tools,.use{padding-left:18px;padding-right:18px}.section-head{grid-template-columns:1fr}.section-no{grid-row:auto;justify-self:start}.filters{grid-column:1}.card-body{padding:18px}.keys{gap:7px}.foot-inner{grid-template-columns:1fr;padding:28px 18px}.chalk-note{display:none}.obj .tag{font-size:11px}}@media (prefers-reduced-motion: reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}html[data-motion=reduce]{scroll-behavior:auto}.pv-physics.split #moving{transform:translate(-30px,-8px)}.pv-physics.split #load{transform:translate(34px,4px)}.pv-physics.split #fixedP{transform:translate(30px,-6px)}@media (hover:none){.desk-hint{display:none}}
