.zine-wrapper.svelte-7q56br{display:flex;flex-direction:column;gap:var(--spacing-sm)}.zine.svelte-7q56br{position:relative;height:80vh;max-height:700px;background:var(--color-ink);border:1px solid var(--color-ash);overflow:hidden;transition:transform .05s ease}.zine.shaking.svelte-7q56br{animation:svelte-7q56br-shake .3s ease}@keyframes svelte-7q56br-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-4px) rotate(-.5deg)}40%{transform:translate(4px) rotate(.5deg)}60%{transform:translate(-3px) rotate(-.3deg)}80%{transform:translate(3px) rotate(.3deg)}}.controls.svelte-7q56br{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) 0}.control-buttons.svelte-7q56br{display:flex;gap:var(--spacing-xs)}.control-btn.svelte-7q56br{background:var(--color-soot);border:1px solid var(--color-ash);color:var(--color-fog);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:all .15s ease;letter-spacing:.1em}.control-btn.svelte-7q56br:hover{border-color:var(--color-rust);color:var(--color-rust)}.hint.svelte-7q56br{color:var(--color-stone);font-size:.625rem}.physics-item.svelte-7q56br{position:absolute;left:0;top:0;cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;transition:box-shadow .15s ease}.physics-item.svelte-7q56br:active{cursor:grabbing}.name-main.svelte-7q56br{font-family:var(--font-display);font-size:clamp(3rem,10vw,5rem);line-height:.8;color:var(--color-paper);white-space:nowrap}.sticker.svelte-7q56br{background:var(--color-rust);color:var(--color-paper);font-family:var(--font-mono);font-size:.875rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);box-shadow:2px 2px #0000004d}.stamp.svelte-7q56br{font-family:var(--font-display);font-size:1rem;letter-spacing:.1em;color:var(--color-rust);border:2px solid var(--color-rust);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-ink)}.tape-label.svelte-7q56br{background:#f5f2ebe6;color:var(--color-void);font-family:var(--font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;padding:var(--spacing-xs) var(--spacing-lg)}.badge-circle.svelte-7q56br{width:60px;height:60px;border:2px solid var(--color-paper);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-ink)}.badge-number.svelte-7q56br{font-family:var(--font-display);font-size:1.5rem;color:var(--color-paper);line-height:1}.badge-text.svelte-7q56br{font-family:var(--font-mono);font-size:.5rem;color:var(--color-smoke);letter-spacing:.1em}.cutout.svelte-7q56br{font-family:var(--font-display);background:var(--color-paper);color:var(--color-void);padding:2px var(--spacing-sm);font-size:.875rem;letter-spacing:.05em}.tech-tag.svelte-7q56br{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.05em;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-soot);border:1px solid var(--color-ash);color:var(--color-fog)}.tech-tag.accent.svelte-7q56br{background:var(--color-rust-dark);border-color:var(--color-rust);color:var(--color-paper)}.marker-x.svelte-7q56br{font-size:2rem;color:var(--color-rust);opacity:.7}.marker-star.svelte-7q56br{font-size:1.5rem;color:var(--color-paper)}.marker-arrow.svelte-7q56br{font-family:var(--font-display);font-size:2rem;color:var(--color-fog)}.annotation.svelte-7q56br{font-family:var(--font-serif);font-style:italic;font-size:.875rem;color:var(--color-fog);white-space:nowrap}.scribble.svelte-7q56br{font-family:var(--font-mono);font-size:1rem;color:var(--color-stone);letter-spacing:.2em}.cutout.dark.svelte-7q56br{background:var(--color-void);color:var(--color-paper);border:1px solid var(--color-ash)}.mini-sticker.svelte-7q56br{font-family:var(--font-mono);font-size:.625rem;font-weight:700;padding:4px 8px;background:var(--color-paper);color:var(--color-void);border-radius:2px}.mini-sticker.rust.svelte-7q56br{background:var(--color-rust);color:var(--color-paper)}.work-page.svelte-oqsuc6{width:100%}.page-header.svelte-oqsuc6{margin-bottom:var(--spacing-3xl)}.work-layout.svelte-oqsuc6{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:start}.about-sidebar.svelte-oqsuc6{position:sticky;top:var(--spacing-xl)}.projects-grid.svelte-oqsuc6{display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-card.svelte-oqsuc6{background:var(--color-ink);border:1px solid var(--color-ash);padding:var(--spacing-xl);text-decoration:none;display:flex;flex-direction:column;gap:var(--spacing-sm);opacity:0;transition:border-color .15s ease,transform .15s ease}.project-card.svelte-oqsuc6:hover{border-color:var(--color-rust)}.project-card.featured.svelte-oqsuc6{border-left:3px solid var(--color-rust);padding:var(--spacing-2xl);gap:var(--spacing-md)}.project-card.featured.svelte-oqsuc6:hover{transform:translate(4px)}.card-header.svelte-oqsuc6{display:flex;justify-content:space-between;align-items:center}.project-index.svelte-oqsuc6{color:var(--color-stone);transition:color .15s ease}.project-card.svelte-oqsuc6:hover .project-index:where(.svelte-oqsuc6){color:var(--color-rust)}.project-year.svelte-oqsuc6{color:var(--color-smoke)}.project-title.svelte-oqsuc6{color:var(--color-paper);transition:color .15s ease}.project-card.svelte-oqsuc6:hover .project-title:where(.svelte-oqsuc6){color:var(--color-rust)}.project-tagline.svelte-oqsuc6{color:var(--color-fog)}.featured.svelte-oqsuc6 .project-tagline:where(.svelte-oqsuc6){color:var(--color-bone)}.project-stack.svelte-oqsuc6{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.tech-tag.svelte-oqsuc6{background:var(--color-soot);border:1px solid var(--color-ash);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-smoke);font-size:.625rem;text-transform:uppercase;letter-spacing:.05em}.tech-tag.more.svelte-oqsuc6{background:transparent;border-style:dashed;color:var(--color-stone)}@media(max-width:1024px){.work-layout.svelte-oqsuc6{grid-template-columns:1fr}.about-sidebar.svelte-oqsuc6{position:relative;top:0;order:-1;margin-bottom:var(--spacing-xl)}}@media(max-width:640px){.project-card.featured.svelte-oqsuc6{padding:var(--spacing-xl)}}
