.site-shell{margin:0 auto;max-width:1500px;min-height:100vh;padding-bottom:48px;position:relative}.page-glow{border-radius:999px;filter:blur(70px);pointer-events:none;position:fixed;z-index:0}.page-glow-left{background:#ffabd547;height:360px;left:-90px;top:120px;width:360px}.page-glow-right{background:#95c4ff3d;height:420px;right:-120px;top:40px;width:420px}body .sakura{position:fixed;z-index:0;pointer-events:none}.topbar,.hero,.section{padding-left:40px;padding-right:40px;position:relative;z-index:1}.topbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffbff8a;border:1px solid rgba(255,255,255,.62);border-radius:999px;display:flex;justify-content:space-between;margin:22px auto 0;max-width:calc(100% - 80px);padding-bottom:14px;padding-top:14px;position:sticky;top:14px;z-index:40}.brand,.nav a,.button,.contact-card{text-decoration:none}.brand{color:var(--text-strong);font-size:1.05rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nav{display:flex;gap:20px}.nav a{color:var(--muted);font-size:.92rem;font-weight:700;transition:color .18s ease,transform .18s ease}.nav a:hover,.nav a.active,.nav a:focus-visible{color:var(--text-strong);transform:translateY(-1px)}.hero{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr);min-height:calc(100vh - 130px);padding-top:40px}.hero-main,.intro-card,.floating-note,.story-card,.project-card,.panel,.contact-layout{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#ffffffbf,#f5f7ffb3);border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 80px #8495c724}.hero-main{border-radius:36px;overflow:hidden;padding:44px;position:relative}.hero-main-grid{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.7fr)}.hero-copy-block{min-width:0}.hero-main:before{background:radial-gradient(circle at 0% 0%,rgba(255,188,223,.48),transparent 32%),radial-gradient(circle at 100% 14%,rgba(170,210,255,.42),transparent 34%);content:"";top:0;right:0;bottom:0;left:0;position:absolute}.hero-main>*{position:relative;z-index:1}.eyebrow,.section-header p,.project-tag,.contact-card span,.intro-chip{color:var(--accent-strong);font-size:.78rem;font-weight:800;letter-spacing:.14em;margin:0;text-transform:uppercase}.hero h1,.section-header h2,.contact-intro h2{color:var(--text-strong);line-height:.98;margin:16px 0 0}.hero h1{font-size:clamp(3rem,7vw,6.2rem);max-width:880px}.hero-text,.hero-subtext,.section-header span,.intro-card p,.floating-note p,.story-card p,.about-panel p,.resume-card p,.project-card p,.experience-summary,.contact-intro p{color:var(--muted);line-height:1.8}.hero-text{font-size:1.05rem;margin:24px 0 0;max-width:760px}.hero-subtext{margin:18px 0 0;max-width:720px}.hero-actions,.resume-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;min-height:48px;padding:0 22px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,#ffb9d8,#9bc9ff);box-shadow:0 18px 40px #b5a3ff33;color:#2d2746}.button.secondary{background:#ffffff85;border:1px solid rgba(178,199,255,.6);color:var(--text-strong)}.hero-stats{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}.highlight-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.highlight-strip a{background:#fff9;border:1px solid rgba(191,211,255,.72);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.86rem;font-weight:700;padding:10px 14px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.highlight-strip a:hover,.highlight-strip a:focus-visible{background:#ffffffd1;box-shadow:0 10px 24px #b5a3ff24;transform:translateY(-1px)}.stat-card{background:#ffffff85;border:1px solid rgba(255,255,255,.72);border-radius:24px;min-height:120px;padding:18px}.stat-card strong{color:var(--text-strong);display:block;font-size:clamp(1.8rem,5vw,2.7rem);line-height:1}.stat-card span{color:var(--muted);display:block;margin-top:12px}.hero-side{display:grid;gap:18px}.portrait-card,.intro-card,.assistant-card,.floating-note,.story-card,.project-card,.panel{border-radius:30px;padding:28px}.portrait-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border:0;box-shadow:none;overflow:hidden;padding:0}.portrait-image{border-radius:28px;display:block;height:520px;object-fit:cover;object-position:center top;width:100%}.hero-portrait-card{align-self:start;margin-top:6px}.intro-chip{background:#ffffff9e;border:1px solid rgba(255,194,226,.72);border-radius:999px;display:inline-flex;padding:8px 12px}.intro-card h3,.assistant-card h3,.story-card h3,.resume-card h3,.project-card h3,.skill-card h3,.experience-card h3{color:var(--text-strong);margin:14px 0 0}.intro-card ul,.experience-card ul{color:var(--muted);margin:18px 0 0;padding-left:18px}.intro-card li,.experience-card li{margin:10px 0}.assistant-card{display:grid;gap:14px}.assistant-copy{color:var(--muted);line-height:1.75;margin:0}.chat-window{background:linear-gradient(180deg,#fff7fce0,#f4f8ffd6),#fffc;border-radius:24px;display:grid;gap:12px;max-height:320px;min-height:220px;overflow-y:auto;padding:18px}.chat-bubble{border-radius:20px;line-height:1.65;max-width:100%;padding:12px 14px;word-break:break-word}.chat-bubble.assistant{background:#ffffffe0;color:var(--text-strong);justify-self:start}.chat-bubble.user{background:linear-gradient(135deg,#ffbfdfd1,#a7ceffd1);color:#2d2746;justify-self:end}.chat-error{color:#c25586;font-size:.92rem;line-height:1.6;margin:0}.chat-input{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.chat-input input{background:#ffffffb3;border:1px solid rgba(201,214,255,.72);border-radius:999px;color:var(--text-strong);min-width:0;outline:none;padding:14px 18px}.chat-input input:focus{border-color:#c979b1b8;box-shadow:0 0 0 4px #ffc4e238}.chat-input button{background:linear-gradient(135deg,#ffb9d8,#9bc9ff);border:0;border-radius:999px;color:#2d2746;cursor:pointer;font-weight:800;min-width:96px;padding:0 18px}.chat-input button:disabled{cursor:not-allowed;opacity:.55}.home-extra-grid{align-items:stretch;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-extra-grid{margin-top:24px}.home-photo-card,.home-map-card{display:flex;flex-direction:column;min-height:100%;min-width:0;overflow:hidden;padding:0}.home-photo-content,.home-map-content{padding:22px 24px 24px}.home-photo-media{background-position:center 18%;background-repeat:no-repeat;background-size:cover;height:392px;position:relative}.home-photo-media:after{background:linear-gradient(180deg,#ffffff05,#f5f8ff24);content:"";top:0;right:0;bottom:0;left:0;position:absolute}.home-map-card iframe{border:0;display:block;height:392px;width:100%}.home-photo-content,.home-map-content{display:flex;flex:1;flex-direction:column}.home-photo-card h3,.home-map-card h3{font-size:1.08rem;margin:10px 0 0}.home-card-copy{color:var(--muted);line-height:1.75;margin:12px 0 0}.home-photo-card .button,.home-map-card .button{align-self:flex-start;height:54px;margin-top:auto;justify-content:center;min-width:188px;width:188px}.home-photo-card .eyebrow,.home-map-card .eyebrow{margin-top:0}.photo-gallery-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.photo-feature-card,.photo-note-card{min-width:0}.photo-feature-card{overflow:hidden;padding:0}.photo-feature-media{background:radial-gradient(circle at 14% 12%,rgba(255,206,228,.18),transparent 30%),radial-gradient(circle at 86% 16%,rgba(169,207,255,.18),transparent 28%);padding:26px 26px 0}.photo-feature-media img{border-radius:28px;display:block;height:auto;max-height:min(74vh,780px);object-fit:contain;object-position:center top;width:100%}.photo-feature-copy,.photo-note-card{padding:26px 28px 28px}.photo-feature-copy p:last-child,.photo-note-card p:last-child{color:var(--muted);line-height:1.8;margin:14px 0 0}.floating-note{margin-left:34px;transform:rotate(-3deg)}.section{padding-top:28px}.page-section{min-height:calc(100vh - 160px)}.story-grid,.skills-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid.expanded{gap:22px;grid-template-columns:1fr;min-width:0}.story-card{background:linear-gradient(180deg,#fff4fac2,#f0f5ffcc),#ffffffc2}.about-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.8fr)}.about-side{display:grid;gap:18px}.section-header{display:grid;gap:10px;margin-bottom:24px;max-width:820px}.section-header h2{font-size:clamp(2rem,5vw,4rem)}.about-panels{display:grid;gap:18px}.about-panel.large{min-height:100%}.about-panel p{margin:0}.about-panel p+p{margin-top:16px}.about-panel.quote{background:linear-gradient(180deg,#f2f8ffeb,#fff1f9db),#ffffffd1}.resume-card{position:sticky;top:108px}.resume-page{display:grid;gap:20px}.resume-overview-grid{display:grid;gap:18px;grid-template-columns:1.15fr .85fr}.resume-page-card{max-width:none;min-height:100%;position:static}.resume-summary-card{display:grid;gap:10px}.resume-summary-card span{color:var(--muted)}.resume-summary-card.awards{grid-column:1 / -1}.resume-summary-card ul,.awards-panel ul{color:var(--muted);margin:0;padding-left:18px}.resume-summary-card li,.awards-panel li{margin:10px 0}.fact-stack{display:grid;gap:8px}.fact-stack span{color:var(--muted)}.project-showcase{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-height:250px}.project-meta{color:var(--accent-strong);font-size:.9rem;font-weight:700;margin-top:12px}.project-bullets{color:var(--muted);margin:18px 0 0;padding-left:18px}.project-bullets li{margin:10px 0}.project-tag{background:#ffffff8f;border:1px solid rgba(189,211,255,.72);border-radius:999px;display:inline-flex;padding:8px 12px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.chips span{background:#ffffff94;border:1px solid rgba(192,208,255,.72);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:.9rem;font-weight:700;padding:10px 14px}.skill-card{border-radius:34px;min-width:0;overflow:hidden;padding:30px 32px 32px;border:0}.skill-card-header{align-items:start;display:grid;gap:14px;grid-template-columns:1fr;min-width:0}.skill-card-copy{color:var(--muted);font-size:1rem;line-height:1.72;margin:16px 0 0;max-width:780px;min-width:0}.skill-marquee{background:linear-gradient(145deg,#fff2f8b8,#eff5ffbd),#ffffff94;border:0;border-radius:22px;margin-top:24px;min-width:0;max-width:100%;overflow:hidden;padding:20px 0;position:relative;width:100%}.skill-marquee:before,.skill-marquee:after{content:"";height:100%;pointer-events:none;position:absolute;top:0;width:64px;z-index:1}.skill-marquee:before{background:linear-gradient(90deg,rgba(246,247,255,1),transparent);left:0}.skill-marquee:after{background:linear-gradient(270deg,rgba(246,247,255,1),transparent);right:0}.skill-marquee-track{animation:skillScroll 30s linear infinite;display:flex;gap:16px;min-width:max-content;width:max-content}.skill-card:nth-child(2) .skill-marquee-track{animation-duration:33s}.skill-card:nth-child(3) .skill-marquee-track{animation-duration:38s}.skill-card:nth-child(4) .skill-marquee-track{animation-duration:42s}.skill-marquee:hover .skill-marquee-track{animation-play-state:paused}.skill-badge{align-items:center;background:linear-gradient(145deg,#ffcde36b,#c4dcff47),#ffffffeb;border:0;border-radius:999px;color:var(--text-strong);display:inline-flex;flex:0 0 auto;font-size:.94rem;font-weight:800;gap:10px;justify-content:center;min-width:136px;padding:16px 20px;text-align:center;text-decoration:none;box-shadow:0 10px 22px #bbc6e91f;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.skill-badge img{display:block;flex:0 0 auto;height:24px;width:24px}.skill-badge.has-logo{min-width:154px}.skill-badge:hover,.skill-badge:focus-visible{background:linear-gradient(145deg,#ffd7e994,#cce3ff6b),#fffffffa;box-shadow:0 14px 28px #bbc6e92e;transform:translateY(-2px)}@keyframes skillScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.experience-list{display:grid;gap:18px}.experience-item{display:grid;gap:20px;grid-template-columns:180px minmax(0,1fr)}.experience-period{color:var(--accent-strong);font-size:.82rem;font-weight:800;letter-spacing:.14em;padding-top:28px;text-transform:uppercase}.experience-org{color:var(--text-strong);font-size:.98rem;font-weight:700;margin:10px 0 0}.experience-location{color:var(--muted);margin:6px 0 0}.contact-layout{border-radius:36px;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(300px,.95fr);padding:34px}.contact-grid{display:grid;gap:14px}.contact-card{background:#ffffff8f;border:1px solid rgba(255,255,255,.78);border-radius:24px;color:inherit;padding:20px}.contact-card strong{color:var(--text-strong);display:block;margin-top:8px;word-break:break-word}.contact-note{display:grid;gap:6px;margin-top:20px}.contact-note strong{color:var(--text-strong)}.contact-note span{color:var(--muted)}@media (max-width: 1080px){.hero,.about-layout,.contact-layout,.experience-item,.story-grid,.project-showcase,.resume-overview-grid,.skills-grid,.photo-gallery-layout,.home-extra-grid,.hero-main-grid,.hero-stats{grid-template-columns:1fr}.floating-note{margin-left:0;transform:none}.resume-card{position:static}.experience-period{padding-top:0}}@media (max-width: 720px){.topbar,.hero,.section{padding-left:18px;padding-right:18px}.topbar{align-items:flex-start;border-radius:28px;flex-direction:column;gap:12px;margin-left:18px;margin-right:18px;max-width:none}.nav{flex-wrap:wrap;gap:10px 16px}.hero{min-height:auto;padding-top:22px}.hero-main,.portrait-card,.intro-card,.assistant-card,.floating-note,.story-card,.project-card,.panel,.contact-layout{border-radius:24px;padding:22px}.hero-actions,.resume-actions{flex-direction:column}.button{width:100%}.chat-input{grid-template-columns:1fr}.chat-input button{min-height:48px;width:100%}.skill-card{padding:22px}.skill-card-header{grid-template-columns:1fr}}:root{--accent-strong: #cc6ea4;--bg: #f5f7ff;--muted: #6f7595;--surface: #ffffff;--text-strong: #2f3258;color:var(--text-strong);font-family:Trebuchet MS,Aptos,Segoe UI,system-ui,sans-serif;font-synthesis:none;font-weight:400;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:radial-gradient(circle at 0% 0%,rgba(255,190,224,.55),transparent 30%),radial-gradient(circle at 100% 10%,rgba(170,213,255,.46),transparent 30%),linear-gradient(180deg,#fff8fc,#f3f7ff 45%,#f7fbff);scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea,select,a{font:inherit}a{color:inherit}#root{margin:0 auto;min-height:100vh}::selection{background:#f291c640}
