:root{--primary-red: #9b111e;--dark-red: #620b13;--accent: #e3c46a;--accent-strong: #f0d999;--accent-soft: rgba(227, 196, 106, .55);--light-cream: #f5f1e8;--dark-bg: #1a1a1a;--text-light: #ffffff;--text-muted: rgba(255, 255, 255, .72);--text-faint: rgba(255, 255, 255, .5);--surface: rgba(255, 255, 255, .055);--surface-hover: rgba(255, 255, 255, .1);--surface-solid: rgba(255, 255, 255, .075);--border: rgba(255, 255, 255, .11);--border-strong: rgba(255, 255, 255, .2);--nav-bg: rgba(112, 15, 24, .72);--glow: rgba(0, 0, 0, .2);--on-accent: #2a1206;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .12);--shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 8px 24px rgba(0, 0, 0, .22);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .2), 0 18px 48px rgba(0, 0, 0, .34);--font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Work Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Playfair Display", "New York", Georgia, serif;--content-w: 1120px;--measure: 68ch;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-pill: 980px;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .28s;--dur-slow: .5s}:root[data-theme=elmo]{--primary-red: #0a0a0a;--dark-red: #000000;--accent: #ff2d2d;--accent-strong: #ff6b6b;--accent-soft: rgba(255, 45, 45, .7);--light-cream: #1a1a1a;--dark-bg: #000000;--text-muted: rgba(255, 255, 255, .62);--text-faint: rgba(255, 255, 255, .42);--surface: rgba(255, 45, 45, .09);--surface-hover: rgba(255, 45, 45, .18);--surface-solid: rgba(255, 45, 45, .1);--border: rgba(255, 45, 45, .26);--border-strong: rgba(255, 45, 45, .4);--nav-bg: rgba(0, 0, 0, .72);--glow: rgba(255, 45, 45, .28);--on-accent: #0a0000;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(255, 45, 45, .1);--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 8px 24px rgba(255, 45, 45, .16);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .5), 0 18px 48px rgba(255, 45, 45, .24)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:16px;background:linear-gradient(150deg,var(--primary-red) 0%,var(--dark-red) 100%);background-attachment:fixed;color:var(--text-light);line-height:1.6;min-height:100vh;position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none;transition:background var(--dur-slow) ease}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--accent) 10%,transparent) 0%,transparent 46%),radial-gradient(circle at 84% 82%,var(--glow) 0%,transparent 52%);pointer-events:none;z-index:0;transition:background var(--dur-slow) ease}::selection{background:var(--accent);color:var(--on-accent)}img{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.container{max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-6) var(--sp-7);position:relative;z-index:1}.tab-bar{position:sticky;top:0;z-index:100;margin:0 calc(var(--sp-6) * -1);padding:0 var(--sp-6);background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);transition:background var(--dur-slow) ease,border-color var(--dur-slow) ease}.tabs{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:.55rem 0;list-style:none;justify-content:center}.tab{display:inline-block;padding:.4rem .9rem;border-radius:var(--r-pill);background:transparent;border:1px solid transparent;cursor:pointer;font-weight:500;font-size:.83rem;letter-spacing:.01em;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.tab:hover{background:var(--surface-hover);color:var(--text-light)}.tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm)}h1{font-family:var(--font-display);font-size:clamp(2.1rem,3.6vw,3.1rem);font-weight:900;line-height:1.08;text-align:center;margin:var(--sp-6) 0 var(--sp-5);background:linear-gradient(135deg,var(--text-light) 20%,var(--accent) 110%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.022em;transition:background var(--dur-slow) ease}:root[data-theme=elmo] h1{background:linear-gradient(135deg,#ff2d2d,#c4a484);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h2{font-family:var(--font-display);font-size:1.6rem;line-height:1.2;margin:var(--sp-6) 0 var(--sp-4);color:var(--accent);font-weight:700;letter-spacing:-.012em;transition:color var(--dur-slow) ease}h3{font-size:1.12rem;line-height:1.3;margin:var(--sp-5) 0 var(--sp-3);color:var(--accent);font-weight:600;letter-spacing:-.008em;transition:color var(--dur-slow) ease}.eyebrow{display:block;font-size:.74rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-3)}.page-intro{max-width:var(--measure);margin:-.4rem auto var(--sp-5);text-align:center;color:var(--text-muted);font-size:1rem}a{color:var(--accent)}.content-card{background:var(--surface);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6) 2.25rem;margin:var(--sp-5) 0;box-shadow:var(--shadow);transition:background var(--dur-slow) ease,border-color var(--dur-slow) ease,box-shadow var(--dur-slow) ease}.content-card>*:first-child{margin-top:0}.content-card>*:last-child{margin-bottom:0}.intro-text{font-size:1.02rem;line-height:1.72;max-width:var(--measure);margin-bottom:var(--sp-4);color:var(--text-muted)}.intro-text:last-child{margin-bottom:0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.planesend-plane,.planesend-trail{display:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.route-enter{animation:fadeIn .42s var(--ease)}ul.bullet-list{list-style:none;margin:var(--sp-3) 0}ul.bullet-list>li{padding:.4rem 0 .4rem 1.15rem;position:relative;font-size:.97rem;line-height:1.55}ul.bullet-list>li:before{content:"";position:absolute;left:0;top:.95em;width:5px;height:5px;border-radius:50%;background:var(--accent);transition:background var(--dur-slow) ease}ul.sub-bullet{margin:var(--sp-2) 0 var(--sp-2) 1.1rem;list-style:none}ul.sub-bullet li{padding:.2rem 0 .2rem .95rem;position:relative;font-size:.9rem;line-height:1.5;color:var(--text-muted)}ul.sub-bullet li:before{content:"";position:absolute;left:0;top:.85em;width:4px;height:1px;background:var(--accent-soft)}@media(max-width:900px){.container{padding:0 var(--sp-4) var(--sp-6)}.tab-bar{margin:0 calc(var(--sp-4) * -1);padding:0 var(--sp-4)}.content-card{padding:var(--sp-5)}}@media(max-width:768px){.tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:.45rem var(--sp-4);margin:0 calc(var(--sp-4) * -1);scroll-padding:0 var(--sp-4)}.tabs::-webkit-scrollbar{display:none}.tab{padding:.35rem .8rem;font-size:.8rem;scroll-snap-align:start}h1{margin:var(--sp-5) 0 var(--sp-4)}h2{font-size:1.4rem}}.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:4rem;align-items:center;min-height:calc(100vh - 8.5rem);padding:var(--sp-6) 0 var(--sp-4)}.hero-copy{min-width:0}.hero h1{text-align:left;margin:0 0 var(--sp-4);font-size:clamp(2.4rem,4.4vw,3.4rem)}.hero-lede{font-size:1.14rem;line-height:1.6;max-width:34em;color:var(--text-light);margin-bottom:var(--sp-4)}.hero-sub{font-size:.97rem;line-height:1.68;max-width:36em;color:var(--text-muted);margin-bottom:var(--sp-5)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--sp-5);list-style:none;margin:0 0 var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border)}.hero-stats li{display:flex;flex-direction:column;gap:.15rem}.hero-stats strong{font-size:.98rem;font-weight:650;letter-spacing:-.01em;color:var(--accent);transition:color var(--dur-slow) ease}.hero-stats span{font-size:.78rem;line-height:1.45;color:var(--text-faint)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.hero-portrait{justify-self:center}@media(max-width:940px){.hero{grid-template-columns:1fr;gap:var(--sp-6);min-height:0;text-align:center}.hero h1{text-align:center}.hero-lede,.hero-sub{max-width:100%}.hero-actions{justify-content:center}.hero-portrait{order:-1}}@media(max-width:620px){.hero-stats{grid-template-columns:1fr;gap:var(--sp-3)}.hero-stats li{flex-direction:row;align-items:baseline;gap:var(--sp-2)}.hero-stats span{text-align:left}}.profile-section{display:flex;justify-content:center;align-items:center;margin:var(--sp-6) 0}.profile-container{position:relative;width:268px;height:268px;margin:0 auto;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.profile-image,.decoy-image{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;border:1px solid var(--accent-soft);outline:6px solid color-mix(in srgb,var(--accent) 14%,transparent);outline-offset:4px;box-shadow:var(--shadow-lg);transition:opacity .35s var(--ease),transform var(--dur) var(--ease),border-color var(--dur-slow) ease,outline-color var(--dur-slow) ease;-webkit-user-drag:none}.profile-container:hover .profile-image,.profile-container:hover .decoy-image{transform:scale(1.03)}.profile-hint{display:block;text-align:center;margin-top:1.6rem;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);opacity:.55;transition:opacity var(--dur) var(--ease)}.profile-container:hover+.profile-hint{opacity:.95}@media(max-width:620px){.profile-container{width:210px;height:210px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.3rem;border-radius:var(--r-pill);border:1px solid var(--accent-soft);background:transparent;color:var(--accent);font:inherit;font-size:.9rem;font-weight:550;letter-spacing:-.005em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .18s var(--ease),box-shadow var(--dur) var(--ease)}.btn:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn-solid:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);box-shadow:var(--shadow)}.btn-quiet{border-color:transparent;color:var(--text-muted)}.btn-quiet:hover{background:var(--surface-hover);border-color:transparent;color:var(--text-light)}.resume-frame{display:flex;justify-content:center;margin:var(--sp-5) 0 0}.resume-placeholder{display:grid;place-items:center;width:100%;max-width:860px;aspect-ratio:8.5 / 11;border-radius:var(--r-sm);background:#ffffff0f;color:var(--text-faint);font-size:.9rem}@font-face{font-family:GM LM Roman;src:url(/fonts/lm/lmroman10-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GM LM Roman;src:url(/fonts/lm/lmroman10-bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:GM LM Roman;src:url(/fonts/lm/lmroman10-italic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:GM LM Caps;src:url(/fonts/lm/lmromancaps10-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}.tailor{--paper: #fbf8f1;--ink: #2a1206;margin-top:var(--sp-5)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tailor-stage{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.06),transparent 60%),#0000003d;box-shadow:inset 0 -30px 60px #00000040;overflow:hidden}.tailor-field{position:absolute;z-index:3;top:30px;left:50%;transform:translate(-50%);width:min(640px,calc(100% - 32px));background:var(--paper);border-radius:22px;box-shadow:var(--shadow-lg);transition:box-shadow var(--dur) var(--ease)}.tailor-field:focus-within{box-shadow:var(--shadow-lg),0 0 0 3px var(--accent-soft)}.tailor-field textarea{display:block;width:100%;padding:1rem 3rem 1rem 1.35rem;border:0;outline:0;resize:none;background:transparent;color:var(--ink);font:500 1.3rem/1.35 var(--font-ui);letter-spacing:-.01em}.tailor-field textarea::placeholder{color:#2a12066b}.tailor-clear{position:absolute;top:.7rem;right:.7rem;width:2rem;height:2rem;border:0;border-radius:50%;background:transparent;color:#2a120680;font-size:1.4rem;line-height:1;cursor:pointer}.tailor-clear:hover{background:#2a120614;color:var(--ink)}.tailor-examples{position:absolute;z-index:3;left:16px;right:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}.tailor-examples button{padding:.3rem .8rem;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted);font:inherit;font-size:.82rem;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tailor-examples button:hover{background:var(--surface-hover);color:var(--text-light)}.glyph-pile{position:relative;pointer-events:none}.glyph{position:absolute;top:0;left:0;white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:GM LM Roman,Georgia,serif;line-height:1.15;transform-origin:50% 50%;transition:transform .9s var(--ease),box-shadow var(--dur) var(--ease);will-change:transform}.glyph-skill{padding:.3rem .75rem;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-size:15px;box-shadow:0 1px #0000004d,0 5px 12px #00000047}.glyph-number{padding:.3rem .8rem;border-radius:46% 54% 52% 48%/58% 44% 56% 42%;background:var(--accent);color:var(--on-accent);font-size:16px;font-style:italic;box-shadow:0 1px #0000004d,0 5px 12px #00000047}.glyph-glyph{font-size:34px;line-height:1;padding:0 .08em;color:#f5f1e8b8;text-shadow:0 3px 8px rgba(0,0,0,.45)}.glyph.is-lifted{z-index:2;box-shadow:0 0 0 2px var(--accent),0 10px 24px #00000059}.tailor-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);max-width:860px;min-height:2.75rem;margin:var(--sp-4) auto 0}.tailor-bar p{margin:0;color:var(--text-muted);font-size:.92rem}.tailor-kept{max-width:860px;margin:var(--sp-2) auto 0;color:var(--text-muted);font-size:.85rem}.tailor-kept summary{cursor:pointer}.tailor-kept ul{margin:var(--sp-2) 0 0;padding-left:1.2rem}.resume-paper{display:block;width:100%;max-width:860px;height:auto;border-radius:var(--r-sm);box-shadow:var(--shadow-lg);font-kerning:none;font-variant-ligatures:none;text-rendering:geometricPrecision}.resume-paper text{fill:#000;white-space:pre}.resume-paper .paper-move{transition:transform .45s var(--ease)}.resume-paper a:hover text{fill:var(--primary-red)}.tailor.is-side{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,var(--page-w));gap:var(--sp-5);padding:var(--sp-4);border-radius:36px;background:radial-gradient(70% 55% at 28% 18%,rgba(255,255,255,.055),transparent 70%),radial-gradient(75% 80% at 50% 55%,rgba(0,0,0,.3),rgba(0,0,0,.16) 58%,transparent 100%)}.tailor.is-side .tailor-main{display:flex;flex-direction:column;min-width:0;min-height:0}.tailor.is-side .tailor-stage{flex:1;min-height:0;border:0;border-radius:0;background:none;box-shadow:none}.tailor.is-side .glyph-pile.is-fill{position:absolute;inset:0;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,#000 88%,transparent);mask-composite:intersect}.tailor.is-side .tailor-bar{max-width:none;margin:var(--sp-3) 0 0;padding:0 var(--sp-2);flex-wrap:wrap}.tailor.is-side .tailor-kept{max-width:none;max-height:9rem;overflow:auto;margin:var(--sp-2) 0 0;padding:0 var(--sp-2)}.tailor.is-side .resume-frame{margin:0;min-height:0;align-items:flex-start}.tailor.is-side .resume-paper{border:0;border-radius:8px;box-shadow:0 1px #ffffff0f inset,0 2px 6px #00000040,0 28px 60px -18px #0009}.tailor.is-side .resume-placeholder,.tailor.is-side .resume-paper{width:auto;height:100%;max-width:100%}@media(max-width:620px){.tailor-field textarea{font-size:1.08rem;padding:.85rem 2.8rem .85rem 1.1rem}.tailor-examples{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.tailor-examples button{flex:none}.glyph-skill{font-size:13px;padding:.25rem .6rem}.glyph-number{font-size:14px}.glyph-glyph{font-size:26px}.tailor-bar{flex-direction:column;align-items:stretch;text-align:center}}@media(prefers-reduced-motion:reduce){.glyph,.resume-paper .paper-move{transition:none}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--sp-5);margin:var(--sp-5) 0 0}.skills-grid>*{display:flex}.skills-grid>.is-wide{grid-column:1 / -1}.is-wide .skill-card{display:flex;align-items:baseline;gap:var(--sp-5)}.is-wide .skill-card h3{margin:0;flex:none}.is-wide .skill-card p{margin:0}.skill-card{flex:1;background:var(--surface);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);padding:var(--sp-5) 1.6rem;border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .24s var(--ease),box-shadow var(--dur) var(--ease)}.skill-card:hover{transform:translateY(-3px);background:var(--surface-hover);border-color:var(--accent-soft);box-shadow:var(--shadow)}.skill-card h3{margin:0 0 var(--sp-3);font-size:.76rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.skill-card p{color:var(--text-muted);font-size:.95rem;line-height:1.65}.skill-card ul.bullet-list{margin:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:var(--sp-4);align-items:stretch;margin-top:var(--sp-5)}.project-grid>*{display:flex}.project-item{flex:1;display:flex;flex-direction:column;background:var(--surface);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);padding:1.6rem;border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .24s var(--ease),box-shadow var(--dur) var(--ease)}.project-item:hover{background:var(--surface-hover);border-color:var(--accent-soft);transform:translateY(-3px);box-shadow:var(--shadow)}.project-head{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.project-item a{color:var(--accent);text-decoration:none;font-size:1.05rem;font-weight:600;letter-spacing:-.012em;transition:color var(--dur) var(--ease)}.project-item a:hover{color:var(--accent-strong);text-decoration:underline}.project-title{color:var(--text-light);font-size:1.05rem;font-weight:600;letter-spacing:-.012em}.project-years{color:var(--text-faint);font-size:.8rem;font-variant-numeric:tabular-nums}.project-item p{margin:.6rem 0 0;color:var(--text-muted);font-size:.93rem;line-height:1.62}.project-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:var(--sp-4)}.section-heading{text-align:center;margin-top:var(--sp-6)}.pub-authors{margin:.7rem 0 0;color:var(--text-muted);font-size:.86rem;line-height:1.5}.pub-authors strong{color:var(--text-light);font-weight:700}.pub-venue{margin:.2rem 0 0;color:var(--text-faint);font-size:.82rem;font-style:italic}.pub-item>p:last-of-type{margin-top:.85rem}.pub-links{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:.9rem}.pub-links a,.pub-links button{font-size:.82rem;font-weight:600;color:var(--accent);background:none;border:0;padding:0;font-family:inherit;cursor:pointer;transition:color var(--dur) var(--ease)}.pub-links a:hover,.pub-links button:hover{color:var(--accent-strong);text-decoration:underline}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:var(--sp-4)}.tag{padding:.28rem .75rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font:inherit;font-size:.76rem;letter-spacing:0;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.tag:hover{border-color:var(--accent-soft);color:var(--text-light)}.tag.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.tag-static{cursor:default;font-size:.7rem;color:var(--text-faint)}.tag-static:hover{border-color:var(--border);color:var(--text-faint)}.empty-note{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--sp-7) 0}.timeline{position:relative;margin-top:var(--sp-5);padding-left:1.9rem}.timeline:before{content:"";position:absolute;left:5px;top:.9rem;bottom:.9rem;width:1px;background:linear-gradient(var(--accent-soft),transparent)}.experience-item{position:relative;margin-bottom:var(--sp-4);padding:var(--sp-5) 1.6rem;background:var(--surface);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .24s var(--ease),box-shadow var(--dur) var(--ease)}.timeline>*:last-child .experience-item{margin-bottom:0}.experience-item:hover{background:var(--surface-hover);border-color:var(--accent-soft);transform:translate(4px);box-shadow:var(--shadow)}.experience-item:before{content:"";position:absolute;left:-1.9rem;top:1.85rem;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);transition:background var(--dur-slow) ease,box-shadow var(--dur-slow) ease}.experience-item h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-light);letter-spacing:-.012em}.experience-item h3 u{color:var(--accent);text-decoration:none;transition:color var(--dur-slow) ease}.experience-date{display:block;margin:.3rem 0 var(--sp-3);font-size:.79rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-faint)}.experience-item p{margin:0;color:var(--text-muted);font-size:.93rem;line-height:1.68;max-width:78ch}@media(max-width:620px){.timeline{padding-left:1.4rem}.timeline:before{left:3px}.experience-item:before{left:-1.4rem;width:9px;height:9px}}.degree-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--sp-4);margin-top:var(--sp-5)}.degree-card{padding:var(--sp-5) 1.6rem;background:var(--surface);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.degree-card h2{margin:0 0 .35rem;font-family:var(--font-ui);font-size:1.02rem;font-weight:600;color:var(--text-light);letter-spacing:-.012em}.degree-card .degree-name{margin:0;color:var(--accent);font-size:.93rem;font-weight:550}.degree-card .degree-date{margin:.3rem 0 0;color:var(--text-faint);font-size:.79rem;font-variant-numeric:tabular-nums}.degree-card .degree-note{margin:.6rem 0 0;padding-top:.6rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem;line-height:1.5}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:0 var(--sp-6);margin:0}.course-grid>li{break-inside:avoid}.course-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--sp-4) var(--sp-6)}.course-groups h3{margin:0 0 .35rem;font-family:var(--font-ui);font-size:.83rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.course-groups p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.65}.section-head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin:var(--sp-6) 0 var(--sp-4)}.section-head h2{margin:0}.section-head span{color:var(--text-faint);font-size:.85rem}.shop-tagline{display:block;margin-top:var(--sp-2);color:var(--accent);font-weight:600;font-size:.9rem;letter-spacing:.01em}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-5);margin:var(--sp-5) 0 0}.product{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;cursor:pointer;padding:0;text-align:left;color:inherit;font:inherit;box-shadow:var(--shadow-sm);transition:transform .26s var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.product:hover{transform:translateY(-4px);border-color:var(--accent-soft);box-shadow:var(--shadow-lg)}.product-frame{position:relative;width:100%;aspect-ratio:1 / 1;background:#00000040;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(40%) brightness(.76);transition:filter .35s var(--ease),transform .45s var(--ease)}.product:hover .product-frame img{filter:grayscale(0%) brightness(.94);transform:scale(1.05)}.product-frame img.img-missing{opacity:0}.sold-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);background:color-mix(in srgb,var(--primary-red) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-light);font-family:var(--font-display);font-weight:900;font-size:1.15rem;letter-spacing:.12em;padding:.4rem 1.1rem;border:2px solid var(--accent);border-radius:var(--r-sm);box-shadow:var(--shadow);pointer-events:none}:root[data-theme=elmo] .sold-badge{color:var(--accent)}.product-info{padding:1rem 1.15rem 1.15rem}.product-info h3{margin:0 0 .25rem;font-size:.95rem;color:var(--text-light);font-weight:600}.product-info .price{margin:0;color:var(--text-faint);font-size:.88rem;font-variant-numeric:tabular-nums}.product-info .price s{color:var(--text-faint)}@media(max-width:560px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.product-info{padding:.7rem .8rem .85rem}.product-info h3{font-size:.83rem}.sold-badge{font-size:.72rem;padding:.25rem .6rem;border-width:1px}}.modal-overlay{position:fixed;inset:0;background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);animation:fadeIn .3s var(--ease)}.modal-box{position:relative;background:linear-gradient(150deg,var(--primary-red),var(--dark-red));border:1px solid var(--accent-soft);border-radius:var(--r-lg);padding:var(--sp-6);max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.modal-eyebrow{font-size:2rem;margin:0 0 var(--sp-3);color:var(--accent);font-family:var(--font-display)}.modal-gif{width:100%;max-width:240px;border-radius:var(--r-sm);border:1px solid var(--border-strong);margin:0 auto var(--sp-4);display:block}.modal-gif.img-missing{display:none}.modal-msg{font-size:1.3rem;font-weight:700;font-family:var(--font-display);margin:0 0 var(--sp-2);color:var(--text-light)}.modal-sub{margin:0;color:var(--text-muted);font-size:.92rem;font-style:italic}.modal-close{position:absolute;top:.6rem;right:.9rem;font-size:1.6rem;line-height:1;color:var(--text-faint);cursor:pointer;background:none;border:none;transition:color var(--dur) var(--ease)}.modal-close:hover{color:var(--accent)}.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--sp-5);align-items:start;margin-top:var(--sp-5)}@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}.contact-grid .content-card,.contact-info dl{margin:0}.contact-info dt{font-size:.72rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-top:var(--sp-4)}.contact-info dt:first-of-type{margin-top:0}.contact-info dd{margin:.15rem 0 0;font-size:.98rem}.contact-info a{color:var(--accent);text-decoration:none;transition:color var(--dur) var(--ease)}.contact-info a:hover{color:var(--accent-strong);text-decoration:underline}.card-title{margin:0 0 var(--sp-4);font-size:.76rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.form-field{display:block;margin-bottom:var(--sp-4)}.form-field span{display:block;margin-bottom:.35rem;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.form-field input,.form-field textarea{width:100%;padding:.7rem .9rem;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:#00000038;color:var(--text-light);font:inherit;font-size:.95rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.form-field input::placeholder,.form-field textarea::placeholder{color:#ffffff4d}.form-field input:focus,.form-field textarea:focus{outline:none;background:#0000004d;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.form-field textarea{resize:vertical;min-height:128px}.form-status{margin-top:var(--sp-3);font-size:.9rem}.form-status.ok{color:var(--accent)}.form-status.err{color:#ff9a9a}.field-error{color:#ff9a9a;font-size:.8rem;margin-top:.3rem;display:block}.btn-plane{position:relative}.plane-origin{position:absolute;left:50%;top:50%;height:100%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent);visibility:hidden;pointer-events:none}.plane-card-proxy{position:fixed;left:-9999px;top:0;width:1px;height:1px;visibility:hidden;pointer-events:none}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.audio-bar{position:fixed;bottom:1.2rem;left:1.2rem;z-index:600;display:flex;align-items:center;gap:.65rem;background:#00000080;border:1px solid var(--border);border-radius:var(--r-pill);padding:.45rem .95rem;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--shadow);animation:fadeIn .4s var(--ease);transition:border-color var(--dur-slow) ease,box-shadow var(--dur-slow) ease}.audio-bar button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:1.15rem;line-height:1;padding:0;transition:color var(--dur) var(--ease),transform .18s var(--ease)}.audio-bar button:hover{transform:scale(1.14)}.audio-bar button.muted{color:var(--text-faint)}.audio-bar input[type=range]{width:84px;accent-color:var(--accent);cursor:pointer}.experience-item[id],.project-item[id]{scroll-margin-top:5.5rem}.is-target{animation:cardFlash 2.4s var(--ease)}@keyframes cardFlash{0%,12%{box-shadow:0 0 0 2px var(--accent),0 0 44px color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 0 transparent,0 0 0 transparent}}@media(max-height:830px){.deck-pile{transform:scale(.93)}}@media(max-height:745px){.deck-pile{transform:scale(.86)}}@media(max-height:660px){.deck-pile{transform:scale(.76)}}@media(prefers-reduced-motion:reduce){.is-target{animation:none;box-shadow:0 0 0 2px var(--accent)}}.chat-fab{position:fixed;bottom:1.2rem;right:1.2rem;z-index:620;width:54px;height:54px;border-radius:50%;border:1px solid var(--accent-soft);background:#0000008c;color:var(--accent);display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 20px var(--glow);animation:fadeIn .4s ease;transition:transform .2s ease,border-color .5s ease,box-shadow .5s ease}.chat-fab:hover{transform:scale(1.08)}.chat-badge{position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;font-size:.72rem;font-weight:700;background:var(--dark-bg);color:var(--accent);border:1px solid var(--accent-soft);box-shadow:0 0 0 2px #0000008c}.chat-badge.is-count{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.chat-panel{position:fixed;bottom:5.4rem;right:1.2rem;z-index:620;display:flex;flex-direction:column;width:min(380px,calc(100vw - 2.4rem));height:min(540px,calc(100vh - 8rem));border:1px solid var(--accent-soft);border-radius:16px;background:#000000d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 50px #00000073;overflow:hidden;animation:fadeIn .25s ease}.chat-head{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.chat-head strong{display:block;font-size:.95rem}.chat-head small{display:block;font-size:.72rem;color:var(--text-muted);line-height:1.4}.chat-head>button{margin-left:auto;display:grid;place-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s ease}.chat-head>button svg{width:16px;height:16px}.chat-head>button:hover{color:var(--accent)}.chat-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#45d17a;box-shadow:0 0 8px #45d17ab3}.chat-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.65rem;scroll-behavior:smooth}.chat-msg{max-width:85%;padding:.6rem .85rem;border-radius:14px;font-size:.9rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg.bot{align-self:flex-start;background:var(--surface-solid);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-msg.me{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.chat-inline-link{display:inline;margin:0;padding:0;border:none;background:none;font:inherit;color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:2px;cursor:pointer;transition:text-decoration-color .2s ease}.chat-inline-link:hover{text-decoration-color:var(--accent)}.chat-typing{display:inline-flex;gap:4px;padding:.15rem 0}.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:chatBlink 1.2s infinite ease-in-out}.chat-typing i:nth-child(2){animation-delay:.18s}.chat-typing i:nth-child(3){animation-delay:.36s}@keyframes chatBlink{0%,60%,to{opacity:.25}30%{opacity:1}}.chat-row{display:flex;flex-direction:column;gap:.45rem}.chat-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-self:flex-start}.chat-row.me .chat-chips{align-self:flex-end}.chat-chip{display:inline-block;border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);border-radius:20px;padding:.35rem .8rem;font:inherit;font-size:.8rem;line-height:1.4;text-decoration:none;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.chat-chip:hover{color:var(--accent);border-color:var(--accent)}.chat-chip.solid{color:var(--accent);border-color:var(--accent-soft);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:500}.chat-chip.solid:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.chat-error{font-size:.82rem;color:#ff8a8a;align-self:center;text-align:center}.chat-jd-note{display:flex;align-items:center;gap:.5rem;margin:0 .7rem;padding:.5rem .75rem;border-radius:10px;border:1px solid var(--accent-soft);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-muted);font-size:.78rem;line-height:1.45}.chat-jd-note button{margin-left:auto;flex:none;display:grid;place-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer}.chat-jd-note button svg{width:14px;height:14px}.chat-jd-note button:hover{color:var(--accent)}.chat-input{display:flex;align-items:flex-end;gap:.5rem;padding:.7rem;border-top:1px solid var(--border);background:var(--surface)}.chat-mode{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;display:grid;place-items:center;color:var(--text-muted);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.chat-mode:hover{color:var(--accent);border-color:var(--accent-soft)}.chat-mode.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.chat-input textarea{flex:1;resize:none;max-height:120px;padding:.55rem .75rem;border-radius:12px;border:1px solid var(--border-strong);background:#00000059;color:var(--text-light);font:inherit;font-size:.9rem;line-height:1.45}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.chat-input button[type=submit]{flex:none;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.chat-input button[type=submit]:hover:not(:disabled){transform:scale(1.08)}.chat-input button[type=submit]:disabled{opacity:.35;cursor:default}@media(max-width:560px){.chat-panel{inset:auto .6rem 5rem;width:auto;height:min(70vh,calc(100vh - 7rem))}}@media(prefers-reduced-motion:reduce){.chat-panel,.chat-fab{animation:none}.chat-typing i{animation:none;opacity:.6}.chat-log{scroll-behavior:auto}}.tag-more{border-style:dashed;color:var(--text-faint)}.tag-more:hover{border-style:dashed;color:var(--accent);border-color:var(--accent-soft)}.pet,.pet-fx{position:fixed;top:0;left:0;width:0;height:0;z-index:590;transform-origin:0 0;will-change:transform}.pet{cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pet:active{cursor:grabbing}.pet.is-leaving,.pet.is-leaving:active{cursor:default}.pet-fx{pointer-events:none;z-index:589}.pet-frame,.pet-fx img{position:absolute;display:block;-webkit-user-drag:none;pointer-events:none}.pet-hit{position:absolute;display:block;pointer-events:auto}.pet-video{position:absolute;display:block;pointer-events:none;opacity:0;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));transition-property:opacity;transition-timing-function:var(--ease)}.pet-video.is-shown{opacity:1}.pet-video.is-fading{opacity:0}.pet-frame{image-rendering:-webkit-optimize-contrast;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));transition:width .19s var(--ease),height .19s var(--ease),left .19s var(--ease),top .19s var(--ease)}.pet-fx img{animation:petFxPop .28s var(--ease) both}@keyframes petFxPop{0%{opacity:0;transform:scale(.6) rotate(-8deg)}to{opacity:1;transform:none}}.pet-fx-shake{display:block;animation:petFxQuake .13s steps(1,end) infinite}@keyframes petFxQuake{0%{transform:translate(0)}25%{transform:translate(-1.5px,1px)}50%{transform:translate(1.5px,-1.5px)}75%{transform:translate(-1px,-1px)}to{transform:translate(1px,1.5px)}}.pet.is-peek{z-index:90}.pet.is-peek .pet-frame{animation:petPeek 3.4s ease-in-out infinite}@keyframes petPeek{0%,to{transform:translate(0) rotate(-3deg)}50%{transform:translate(-4px,7px) rotate(3deg)}}.pet-hole{position:fixed;left:0;z-index:591;width:30px;border-radius:0 100% 100% 0/0 50% 50% 0;background:radial-gradient(ellipse at left center,rgba(0,0,0,.8) 0%,rgba(0,0,0,.5) 55%,transparent 100%);box-shadow:inset -1px 0 0 var(--accent-soft);pointer-events:none;animation:fadeIn .3s var(--ease)}.pet-dust{position:absolute;left:100%;top:50%;width:var(--s);height:var(--s);margin:calc(var(--s) / -2);border-radius:50%;background:var(--accent);opacity:0;animation:petSuck var(--dur) linear var(--delay) infinite}.pet-hole.is-closing{animation:petHoleClose 2.4s var(--ease) forwards}@keyframes petHoleClose{0%{opacity:1}70%{opacity:.35}to{opacity:0}}@keyframes petSuck{0%{transform:translate(var(--px),var(--py)) scale(1);opacity:0}18%{opacity:.9}85%{opacity:.5}to{transform:translate(0) scale(.1);opacity:0}}.pet-counter{position:fixed;left:50%;bottom:8px;transform:translate(-50%);z-index:588;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.72rem;letter-spacing:.08em;text-transform:lowercase;white-space:nowrap;color:var(--text-light);opacity:.18;animation:petCounterIn 1.2s var(--ease) both}.pet-counter-n{font-weight:600;font-variant-numeric:tabular-nums}:root[data-theme=elmo] .pet-counter{color:var(--accent);opacity:.28}@keyframes petCounterIn{0%{opacity:0}to{opacity:.18}}.pet-dissolve{position:fixed;top:0;left:0;width:0;height:0;transform-origin:0 0;z-index:589;pointer-events:none}.pet-ash{position:absolute;will-change:transform,opacity,filter;animation-name:petAsh;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}@keyframes petAsh{0%{transform:translateZ(0) rotate(0);opacity:1;filter:blur(0)}to{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot));opacity:0;filter:blur(var(--blur))}}@media(prefers-reduced-motion:reduce){.pet-counter,.pet.is-peek .pet-frame,.pet-fx img,.pet-fx-shake,.pet-hole,.pet-hole.is-closing{animation:none}.pet-dust{animation:none;opacity:0}.pet-frame{transition:none}.pet-ash{animation:none;opacity:0}}.deck-scroller{--deck-step: 120px;--deck-stage-h: clamp(430px, calc(100vh - 17rem) , 660px);position:relative;width:100vw;margin-left:calc(50% - 50vw)}.deck-pinned{position:sticky;top:3.5rem;height:calc(100vh - 4.5rem);display:flex;flex-direction:column;align-items:stretch}.deck-heading{flex:none;padding-top:var(--sp-5)}.deck-heading h1{margin-bottom:var(--sp-3)}.deck-heading .page-intro{margin-bottom:0}.deck-anchor{position:absolute;left:0;width:1px;height:1px}.deck-stage{position:relative;flex:1;min-height:var(--deck-stage-h);isolation:isolate;overflow:hidden}.deck-cracks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.deck-cracks path{stroke:none}.deck-crack-core{fill:#150407}.deck-crack-shadow{fill:#0009;transform:translate(-.5px,-.6px)}.deck-crack-lip{fill:#ffd6c64d;transform:translate(.9px,1.1px)}:root[data-theme=elmo] .deck-crack-core{fill:#0d0405}.deck-depression{position:absolute;left:50%;top:50%;width:min(1180px,92%);height:min(880px,130%);transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(ellipse 30% 36% at center,rgba(0,0,0,.3) 0%,rgba(0,0,0,.14) 60%,transparent 100%),radial-gradient(ellipse at center,rgba(0,0,0,.34) 0%,rgba(0,0,0,.26) 34%,rgba(0,0,0,.12) 62%,transparent 78%)}.deck-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch' result='n'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 0 0 0 1.2' result='d'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2.4 0 0 0 -1.2' result='l'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='l'/%3E%3C/feMerge%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.32;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}.deck-pile{position:absolute;left:50%;top:50%;width:0;height:0;perspective:1500px}.deck-card{position:absolute;left:0;top:0;display:flex;flex-direction:column;width:clamp(420px,40vw,560px);height:clamp(440px,52vh,470px);box-sizing:border-box;padding:var(--sp-5) var(--sp-6) 1.6rem;background-color:#232323;background-image:linear-gradient(180deg,#ffffff0a,#fff0 45%,#0000001a);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:inset 0 1px #ffffff12,0 1px 2px #000000b3,0 8px 16px -4px #0000008c,var(--shadow-lg);translate:-50% -50%;transform-origin:50% 50%;transition:transform .44s var(--ease),opacity .34s var(--ease);will-change:transform}:root[data-theme=elmo] .deck-card{background-color:#1c1414}.deck-card.is-face{border-color:var(--accent-soft);transition:transform .34s cubic-bezier(.2,1.45,.4,1),opacity .2s linear}.deck-dust,.deck-shock{position:absolute;left:0;top:0;opacity:0;pointer-events:none;transform:translate(-50%,-50%)}.deck-dust{width:calc(clamp(420px,40vw,560px)*1.34);height:calc(clamp(440px,52vh,470px)*1.34);--puff: rgba(255, 228, 214, .5);background:radial-gradient(closest-side,var(--puff),transparent) 0 100% / 30% 30% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 100% 100% / 30% 30% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 50% 100% / 44% 24% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 22% 100% / 30% 22% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 78% 100% / 30% 22% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 0 0 / 26% 24% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 100% 0 / 26% 24% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 0 55% / 18% 36% no-repeat,radial-gradient(closest-side,var(--puff),transparent) 100% 50% / 18% 36% no-repeat;filter:blur(10px)}.deck-shock{width:clamp(420px,40vw,560px);height:calc(clamp(420px,40vw,560px)*.66);border-radius:50%;box-shadow:0 0 0 2px #ffe8da66,0 0 26px 6px #ffe8da42,inset 0 0 26px 6px #ffe8da29;filter:blur(1.5px)}.deck-veil{position:absolute;inset:0;border-radius:var(--r-md);background:#0d0d0d;pointer-events:none;transition:opacity .44s var(--ease)}.deck-logos{display:flex;align-items:center;gap:.7rem;min-height:90px;margin-bottom:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.deck-logo{display:flex;align-items:center;justify-content:center;padding:.6rem .8rem;background:var(--light-cream);border-radius:var(--r-sm)}.deck-logo img{height:58px;width:auto;max-width:170px;object-fit:contain}.deck-logos-1 .deck-logo{padding:.55rem .9rem}.deck-logos-1 .deck-logo img{height:70px;max-width:250px}.deck-logo.img-missing{display:none}.deck-wordmark{font-family:var(--font-display);font-size:1.5rem;line-height:1.15;letter-spacing:-.015em;color:var(--accent)}.deck-org{margin:0 0 .2rem;font-size:.82rem;font-weight:500;letter-spacing:.03em;color:var(--accent)}.deck-title{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;line-height:1.22;letter-spacing:-.015em;color:var(--text-light)}.deck-date{margin:0 0 var(--sp-3);font-size:.8rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-faint)}.deck-tagline{margin:0 0 var(--sp-3);font-family:var(--font-display);font-size:1.06rem;line-height:1.4;color:var(--text-light)}.deck-points{flex:1;margin:0;padding:0;list-style:none}.deck-points li{position:relative;margin-bottom:.5rem;padding-left:.9rem;font-size:.87rem;line-height:1.58;color:var(--text-muted)}.deck-points li:last-child{margin-bottom:0}.deck-points li:before{content:"";position:absolute;left:0;top:.58em;width:4px;height:4px;border-radius:50%;background:var(--accent-soft)}.deck-rail{position:absolute;right:max(var(--sp-6),calc(50vw - 540px));top:50%;transform:translateY(-50%);z-index:50}.deck-rail ul{margin:0;padding:0;list-style:none}.deck-rail button{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;width:100%;padding:.3rem 0;background:none;border:0;font:inherit;font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease)}.deck-rail button:hover{color:var(--text-light)}.deck-rail-year{font-variant-numeric:tabular-nums;letter-spacing:.04em}.deck-rail-tick{width:18px;height:2px;border-radius:2px;background:var(--border-strong);transition:width var(--dur) var(--ease),background var(--dur) var(--ease)}.deck-rail-name{position:absolute;right:calc(100% + .6rem);white-space:nowrap;font-size:.72rem;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.deck-rail button:hover .deck-rail-name,.deck-rail button:focus-visible .deck-rail-name{opacity:1}.deck-rail button[aria-current=true]{color:var(--accent)}.deck-rail button[aria-current=true] .deck-rail-tick{width:28px;background:var(--accent)}@media(prefers-reduced-motion:reduce){.deck-card,.deck-veil{transition:none}.deck-cracks>g{animation:none!important}}
