:root{--cream: #FAF6F1;--cream-dark: #F0EAE2;--terracotta: #C4764E;--terracotta-light: #E8967D;--terracotta-pale: #F5DDD3;--sage: #8A9A7E;--sage-light: #C5D1BE;--charcoal: #2D2926;--charcoal-light: #5A5550;--warm-grey: #9B9590;--font-display: "LXGW WenKai", "Crimson Pro", serif;--font-body: "LXGW WenKai", -apple-system, "PingFang SC", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);background-color:var(--cream);color:var(--charcoal);line-height:1.8;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{max-width:480px;margin:0 auto;position:relative}.app:before{content:"";position:fixed;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none;z-index:999}.hero{position:relative;padding:0 0 2rem;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;right:0;height:320px;background:linear-gradient(165deg,#3d3530,#2d2926 40%,#1e1b19);z-index:0}.hero-bg:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(--cream))}.avatar-wrapper{position:relative;z-index:1;display:flex;justify-content:center;padding-top:2.5rem}.avatar-frame{position:relative;width:200px;height:260px}.avatar-frame:before{content:"";position:absolute;inset:-4px;border:1.5px solid var(--terracotta);border-radius:120px 120px 24px 24px;opacity:.5;transform:rotate(-2deg)}.avatar-img{width:100%;height:100%;object-fit:cover;object-position:center 15%;border-radius:120px 120px 20px 20px;filter:brightness(1.02) contrast(1.03)}.hero-info{position:relative;z-index:1;text-align:center;padding:1.5rem 2rem 0}.hero-name{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:.15em;color:var(--charcoal);margin-bottom:.25rem}.hero-tagline{font-family:Crimson Pro,serif;font-size:.85rem;font-style:italic;color:var(--warm-grey);letter-spacing:.08em;margin-bottom:1rem}.hero-tags{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.hero-tag{font-size:.75rem;padding:.25rem .75rem;border-radius:100px;background:var(--cream-dark);color:var(--charcoal-light);letter-spacing:.04em;border:1px solid transparent;transition:all .3s ease}.hero-tag:nth-child(1){border-color:var(--terracotta-pale);color:var(--terracotta)}.section{padding:1.5rem 1.75rem;opacity:0;transform:translateY(20px);animation:fadeUp .6s ease forwards}.section:nth-child(2){animation-delay:.1s}.section:nth-child(3){animation-delay:.2s}.section:nth-child(4){animation-delay:.3s}.section:nth-child(5){animation-delay:.4s}.section:nth-child(6){animation-delay:.5s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.section-label{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta);margin-bottom:1rem}.section-label:before{content:"";width:16px;height:1px;background:var(--terracotta)}.divider{border:none;height:1px;background:linear-gradient(to right,transparent,var(--cream-dark),transparent);margin:0 1.75rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--cream-dark);border-radius:16px;overflow:hidden;border:1px solid var(--cream-dark)}.stat-card{background:var(--cream);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.15rem}.stat-card:first-child{border-top-left-radius:15px}.stat-card:nth-child(2){border-top-right-radius:15px}.stat-card:nth-last-child(2){border-bottom-left-radius:15px}.stat-card:last-child{border-bottom-right-radius:15px}.stat-label{font-size:.65rem;color:var(--warm-grey);letter-spacing:.12em;text-transform:uppercase}.stat-value{font-family:var(--font-display);font-size:.95rem;font-weight:400;color:var(--charcoal)}.stat-value.accent{color:var(--terracotta)}.about-text{font-size:.9rem;line-height:2;color:var(--charcoal-light)}.about-text .highlight{color:var(--charcoal);font-weight:400;background:linear-gradient(to top,var(--terracotta-pale) 30%,transparent 30%);padding:0 2px}.career-card{background:#fff;border-radius:16px;padding:1.25rem;border:1px solid rgba(45,41,38,.04);box-shadow:0 1px 4px #2d29260d}.career-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.career-role{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--charcoal)}.career-tag{font-size:.6rem;padding:.15rem .5rem;border-radius:4px;background:var(--terracotta-pale);color:var(--terracotta);letter-spacing:.05em;font-weight:400}.career-desc{font-size:.85rem;color:var(--charcoal-light);line-height:1.7;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--cream-dark)}.career-highlights{display:flex;flex-direction:column;gap:.85rem}.career-highlight{display:flex;align-items:flex-start;gap:.75rem}.career-highlight-icon{font-size:1.2rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--cream);border-radius:10px;flex-shrink:0}.career-highlight-title{display:block;font-size:.85rem;font-weight:400;color:var(--charcoal)}.career-highlight-desc{display:block;font-size:.72rem;color:var(--warm-grey);margin-top:.1rem}.hobbies-list{display:flex;flex-wrap:wrap;gap:.75rem}.hobby-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;background:#fff;border-radius:100px;font-size:.85rem;color:var(--charcoal);box-shadow:0 1px 3px #2d29260f;border:1px solid rgba(45,41,38,.04);transition:all .3s ease}.hobby-pill:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c4764e1f;border-color:var(--terracotta-pale)}.hobby-icon{font-size:1.1rem;line-height:1}.hobby-level{font-size:.6rem;padding:.1rem .4rem;background:var(--terracotta);color:#fff;border-radius:4px;margin-left:-.1rem}.audio-player{margin-top:1.15rem;display:flex;align-items:center;gap:.85rem;padding:1rem 1.15rem;background:#fff;border-radius:14px;border:1px solid rgba(45,41,38,.04);box-shadow:0 1px 3px #2d29260d}.play-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--charcoal);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .25s ease}.play-btn:hover{background:var(--terracotta);transform:scale(1.05)}.play-btn.playing{background:var(--terracotta)}.audio-info{flex:1;min-width:0}.audio-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--charcoal);margin-bottom:.4rem}.audio-badge{font-size:.58rem;padding:.1rem .4rem;background:var(--sage-light);color:var(--sage);border-radius:4px;letter-spacing:.03em;font-weight:400}.audio-progress{width:100%;height:4px;background:var(--cream-dark);border-radius:2px;cursor:pointer;overflow:hidden}.audio-progress-bar{height:100%;background:var(--terracotta);border-radius:2px;transition:width .1s linear}.audio-time{display:flex;justify-content:space-between;font-size:.62rem;color:var(--warm-grey);margin-top:.25rem}.hobby-detail-card{margin-top:.85rem;padding:1rem 1.15rem;background:#fff;border-radius:14px;border:1px solid rgba(45,41,38,.04);box-shadow:0 1px 3px #2d29260d}.hobby-detail-header{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:400;color:var(--charcoal);margin-bottom:.4rem}.hobby-detail-text{font-size:.82rem;color:var(--charcoal-light);line-height:1.7}.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.qa-item{background:#fff;border-radius:12px;padding:.85rem .95rem;border:1px solid rgba(45,41,38,.04);box-shadow:0 1px 3px #2d29260a;display:flex;flex-direction:column;gap:.3rem;transition:all .3s ease}.qa-item:hover{transform:translateY(-1px);box-shadow:0 3px 10px #2d292614}.qa-q{font-size:.7rem;color:var(--warm-grey);letter-spacing:.02em}.qa-a{font-size:.82rem;color:var(--charcoal);font-family:var(--font-display);line-height:1.5}.date-ideas{display:flex;flex-direction:column;gap:0}.date-idea{display:flex;align-items:center;gap:.85rem;padding:.85rem 0;font-size:.88rem;color:var(--charcoal-light);border-bottom:1px solid var(--cream-dark)}.date-idea:last-child{border-bottom:none;padding-bottom:0}.date-idea:first-child{padding-top:0}.date-idea-icon{font-size:1.2rem;width:32px;text-align:center;flex-shrink:0}.wish-list{list-style:none;display:flex;flex-direction:column;gap:.85rem}.wish-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;line-height:1.7;color:var(--charcoal-light)}.wish-bullet{flex-shrink:0;width:6px;height:6px;margin-top:.55rem;border-radius:50%;background:var(--sage)}.property-cards{display:flex;flex-direction:column;gap:.75rem}.property-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;background:#fff;border-radius:14px;border:1px solid rgba(45,41,38,.04);box-shadow:0 1px 3px #2d29260d}.property-icon{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--cream-dark);border-radius:12px;flex-shrink:0}.property-info{display:flex;flex-direction:column;gap:.05rem}.property-title{font-size:.88rem;font-weight:400;color:var(--charcoal)}.property-desc{font-size:.72rem;color:var(--warm-grey)}.footer{text-align:center;padding:2rem 1.75rem 3.5rem;opacity:0;animation:fadeUp .6s ease .6s forwards}.footer-line{font-family:Crimson Pro,serif;font-style:italic;font-size:.85rem;color:var(--warm-grey);margin-bottom:.5rem}.footer-zodiac{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--terracotta-light);letter-spacing:.08em}.footer-zodiac:before,.footer-zodiac:after{content:"";width:20px;height:1px;background:var(--terracotta-pale)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.reveal.visible{opacity:1;transform:translateY(0)}.hero-info{opacity:0;animation:fadeUp .8s ease .3s forwards}.avatar-wrapper{opacity:0;animation:fadeUp .8s ease .1s forwards}@media(min-width:481px){#root{padding:1rem 0}.app{border-radius:24px;overflow:hidden;box-shadow:0 4px 40px #2d292614;margin:1rem auto}.hero-bg{border-radius:24px 24px 0 0}}
