:root{--paper:#f3f0e8;--ink:#181816;--coral:#f15d41;--line:rgba(24,24,22,.18);--muted:#706f68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#d9d5cb;color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif}.grain{position:fixed;inset:0;opacity:.055;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}main{width:min(100%,520px);margin:0 auto;background:var(--paper);min-height:100vh;box-shadow:0 20px 80px #77746c55;overflow:hidden}nav{height:72px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-weight:900;font-size:23px;text-decoration:none;color:inherit}.wordmark span{color:var(--coral)}.availability{font-size:10px;letter-spacing:.12em}.availability i,.chat header span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4aa56a;margin-right:7px}.icon-button{border:0;background:var(--ink);color:white;border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer}.hero{padding:28px 22px 42px}.portrait{height:225px;background:#171a1b;position:relative;overflow:hidden}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 43%}.portrait-tag{position:absolute;right:10px;bottom:10px;background:var(--paper);font-size:9px;letter-spacing:.12em;padding:7px 9px}.kicker{font-size:9px;letter-spacing:.16em;margin:24px 0 15px;color:var(--muted)}h1{font-size:41px;line-height:1.13;letter-spacing:-.055em;margin:0;font-weight:900}h1 span{color:var(--coral)}.intro{font-size:15px;line-height:1.8;margin:24px 0;color:#4d4c47}.hero-actions{display:flex;gap:10px}.primary,.secondary{height:48px;padding:0 18px;border:1px solid var(--ink);font:600 13px inherit;display:inline-flex;align-items:center;justify-content:space-between;text-decoration:none;cursor:pointer}.primary{background:var(--ink);color:white;flex:1}.primary b{font-size:20px}.secondary{color:var(--ink);background:transparent}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics div{padding:25px 14px;border-right:1px solid var(--line)}.metrics div:last-child{border:0}.metrics strong{font-size:31px;display:block}.metrics sup{color:var(--coral)}.metrics span{font-size:10px;color:var(--muted)}.section{padding:48px 22px;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:28px}.section-head span{font-size:10px;color:var(--coral);margin-right:10px}.section-head h2{font-size:22px;margin:0}.section-head em{margin-left:auto;font-size:9px;font-style:normal;letter-spacing:.15em;color:var(--muted)}.job{display:grid;grid-template-columns:85px 1fr;gap:12px;padding:0 0 30px;margin:0 0 28px;border-bottom:1px solid var(--line)}.job:last-child{border:0;margin:0;padding:0}.job-date{font-size:9px;letter-spacing:.08em;color:var(--coral);padding-top:5px}.job h3{font-size:18px;margin:0 0 5px}.job p,.job li{font-size:12px;line-height:1.75;color:#56554f}.job .company{font-size:9px;letter-spacing:.1em;color:var(--muted);margin:0 0 12px}.job ul{padding-left:16px}.project-card{height:300px;padding:20px;margin-bottom:14px;position:relative;overflow:hidden}.project-card h3{font-size:27px;line-height:1.25;margin:60px 0 8px;position:relative;z-index:1}.project-card p,.project-index{font-size:9px;letter-spacing:.12em}.coral{background:var(--coral);color:#181816}.ink{background:#20211f;color:var(--paper)}.project-shape{position:absolute;right:-10px;bottom:-45px;font-size:180px;line-height:1;opacity:.18}.skill-list{display:flex;flex-wrap:wrap;gap:8px}.skill-list span{border:1px solid var(--line);border-radius:99px;padding:10px 15px;font-size:12px;background:#ffffff40}footer{background:var(--ink);color:var(--paper);padding:48px 22px 30px}footer p{font-size:13px;color:#aaa89f}footer a{font-size:25px;font-weight:600;color:var(--paper);text-decoration:none;letter-spacing:-.04em}footer small{display:block;margin-top:55px;color:#77756e;font-size:9px;letter-spacing:.12em}.desktop-card{display:none}.chat-backdrop{position:fixed;inset:0;background:#1118;opacity:0;visibility:hidden;transition:.25s;z-index:30}.chat-backdrop.open{opacity:1;visibility:visible}.chat{position:fixed;z-index:31;left:50%;bottom:0;transform:translate(-50%,105%);width:min(100%,520px);height:min(78vh,650px);background:#faf8f2;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1);border-radius:20px 20px 0 0;overflow:hidden}.chat.open{transform:translate(-50%,0)}.chat header{padding:16px 18px;display:flex;gap:11px;align-items:center;border-bottom:1px solid var(--line)}.bot-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--coral);font-size:20px}.chat header strong{font-size:13px;display:block}.chat header span{font-size:9px;color:var(--muted)}.chat header button{margin-left:auto;border:0;background:none;font-size:28px;cursor:pointer}.messages{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:10px}.message{max-width:82%;padding:12px 14px;font-size:13px;line-height:1.6;border-radius:14px}.message.bot{background:#e9e5db;border-bottom-left-radius:3px}.message.user{background:var(--ink);color:white;align-self:flex-end;border-bottom-right-radius:3px}.suggestions{display:flex;gap:7px;padding:10px 14px;overflow:auto}.suggestions button{white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:8px 11px;background:white;font:11px inherit;cursor:pointer}.chat form{display:flex;padding:12px 14px 20px;gap:8px;border-top:1px solid var(--line)}.chat input{flex:1;border:1px solid var(--line);background:white;padding:0 15px;font:13px inherit;outline:none}.chat form button{width:46px;height:46px;border:0;background:var(--coral);font-size:20px;cursor:pointer}
@media(min-width:900px){body{padding:42px 0}.desktop-card{display:block;position:fixed;left:calc(50% - 510px);top:50%;transform:translateY(-50%);width:250px}.desktop-card .eyebrow{font-size:9px;letter-spacing:.15em}.desktop-card h2{font-size:25px;line-height:1.25;margin:12px 0 24px}.desktop-card p{font-size:10px;line-height:1.7}#qr{width:152px;height:152px;background:white;padding:10px}#qr img{width:130px;height:130px}.chat{left:calc(50% + 240px);bottom:30px;width:400px;height:620px;border-radius:18px;box-shadow:0 24px 80px #2226}}

/* AI / FUTURE CITY THEME */
:root{--paper:#071317;--ink:#eafaff;--coral:#ff7a35;--cyan:#3ce8f3;--panel:#0c2026;--line:rgba(60,232,243,.2);--muted:#86a8af}body{background:#03090c;color:var(--ink)}body:before{content:'';position:fixed;inset:0;background:radial-gradient(circle at 18% 18%,rgba(21,160,180,.16),transparent 28%),radial-gradient(circle at 82% 75%,rgba(255,104,40,.12),transparent 30%);pointer-events:none}.ambient-grid{position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(60,232,243,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(60,232,243,.07) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 80%)}main{background:rgba(7,19,23,.97);box-shadow:0 0 80px rgba(28,220,239,.12);border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative}nav{background:rgba(5,17,21,.86);backdrop-filter:blur(12px);position:relative;z-index:2}.wordmark{font-family:monospace;letter-spacing:-.08em;text-shadow:0 0 18px rgba(60,232,243,.45)}.wordmark span,h1 span{color:var(--coral)}.availability{font-family:monospace;color:var(--cyan)}.availability i,.chat header span i{background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 1.8s infinite}.icon-button{background:transparent;color:var(--cyan);border:1px solid var(--cyan);box-shadow:inset 0 0 14px rgba(60,232,243,.1),0 0 14px rgba(60,232,243,.12)}.hero{position:relative}.hero:before{content:'// IDENTITY_NODE_01';display:block;color:var(--cyan);font:9px monospace;letter-spacing:.14em;margin-bottom:10px}.portrait{height:265px;border:1px solid rgba(60,232,243,.4);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));box-shadow:inset 0 0 30px rgba(60,232,243,.18)}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(5,30,35,.18),transparent 52%,rgba(255,114,47,.08));pointer-events:none}.portrait img{filter:saturate(.9) contrast(1.08);object-position:center 44%}.portrait-code{position:absolute;left:12px;top:12px;z-index:2;padding:5px 7px;background:#061216c7;border-left:2px solid var(--cyan);color:var(--cyan);font:8px monospace;letter-spacing:.12em}.portrait-tag{z-index:2;background:#071317db;color:var(--ink);border:1px solid var(--line);font-family:monospace}.scan-line{position:absolute;z-index:3;left:0;right:0;height:1px;top:0;background:var(--cyan);box-shadow:0 0 12px 2px var(--cyan);opacity:.6;animation:scan 4s linear infinite}.kicker,.section-head em,.project-index{color:var(--cyan);font-family:monospace}.kicker:before{content:'[ ';}.kicker:after{content:' ]';}h1{text-shadow:0 2px 30px rgba(0,0,0,.5)}.intro{color:#a9c1c6}.primary,.secondary{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}.primary{background:linear-gradient(100deg,#ec642d,var(--coral));border-color:var(--coral);color:#101617;box-shadow:0 0 24px rgba(255,122,53,.17)}.secondary{color:var(--cyan);border-color:rgba(60,232,243,.5);background:rgba(60,232,243,.04)}.metrics{background:rgba(12,32,38,.55)}.metrics strong{font-family:monospace;color:var(--ink);text-shadow:0 0 16px rgba(60,232,243,.28)}.metrics span,.job p,.job li{color:#91afb5}.section{position:relative;background:linear-gradient(180deg,transparent,rgba(12,32,38,.18))}.section:before{content:'';position:absolute;left:0;top:47px;width:3px;height:31px;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.section-head{border-color:rgba(60,232,243,.42)}.section-head span,.job-date{color:var(--coral);font-family:monospace}.section-head h2{letter-spacing:.04em}.job{border-color:var(--line)}.job h3{color:#eafaff}.job .company{color:var(--cyan);font-family:monospace}.project-card{border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}.project-card.coral{background:radial-gradient(circle at 82% 80%,rgba(255,122,53,.4),transparent 35%),linear-gradient(135deg,#102a31,#0a1c21);color:var(--ink);border-color:rgba(255,122,53,.45)}.project-card.ink{background:radial-gradient(circle at 82% 80%,rgba(60,232,243,.25),transparent 38%),linear-gradient(135deg,#09181d,#102930)}.project-card h3{font-family:'Noto Sans SC',sans-serif}.project-card p{color:#aac3c8}.project-shape{color:var(--cyan);opacity:.15}.skill-list span{color:#bde7ea;border-color:rgba(60,232,243,.28);background:rgba(60,232,243,.045);font-family:monospace}.skill-list span:hover{color:#071317;background:var(--cyan)}footer{background:linear-gradient(145deg,#061115,#0c2228);border-top:1px solid var(--cyan)}footer a{color:var(--cyan);text-shadow:0 0 18px rgba(60,232,243,.2)}.chat{background:#07171c;border:1px solid rgba(60,232,243,.35);box-shadow:0 24px 90px #000b,0 0 40px rgba(60,232,243,.1)}.chat header{background:#0a2026}.bot-avatar{background:linear-gradient(135deg,var(--coral),#ffb14a);color:#101617}.message.bot{background:#102a31;color:#c9e5e8;border:1px solid var(--line)}.message.user{background:var(--cyan);color:#061216}.suggestions button{background:#0b2228;color:#9edce1;border-color:var(--line)}.chat input{background:#091a1f;color:var(--ink);border-color:var(--line)}.chat form button{background:var(--coral);color:#071317}.desktop-card{color:var(--ink)}.desktop-card .eyebrow{color:var(--cyan)!important;font-family:monospace}.desktop-card p{color:#86a8af!important}#qr{border:1px solid var(--cyan);box-shadow:0 0 24px rgba(60,232,243,.18)}
@keyframes scan{0%{transform:translateY(0);opacity:0}8%{opacity:.7}90%{opacity:.5}100%{transform:translateY(263px);opacity:0}}@keyframes pulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:420px){h1{font-size:37px}.portrait{height:245px}@keyframes scan{100%{transform:translateY(243px)}}}

.wechat-backdrop{position:fixed;inset:0;background:rgba(0,5,8,.78);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.25s;z-index:40}.wechat-backdrop.open{opacity:1;visibility:visible}.wechat-modal{position:fixed;z-index:41;left:50%;top:50%;width:min(calc(100% - 36px),370px);transform:translate(-50%,-46%) scale(.96);padding:32px 28px 28px;background:linear-gradient(145deg,#0c242b,#071419);border:1px solid rgba(60,232,243,.42);box-shadow:0 30px 100px #000d,0 0 35px rgba(60,232,243,.12);text-align:center;opacity:0;visibility:hidden;transition:.25s;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.wechat-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.wechat-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#99bbc0;font-size:27px;cursor:pointer}.wechat-label{font:9px monospace;letter-spacing:.16em;color:var(--cyan)}.wechat-modal h2{font-size:23px;margin:10px 0 7px}.wechat-modal p{font-size:11px;color:#8fadb3;margin:0 0 18px}.wechat-code{width:230px;height:230px;margin:0 auto 13px;padding:8px;background:white;border:1px solid var(--cyan);box-shadow:0 0 25px rgba(60,232,243,.18)}.wechat-code img{display:block;width:100%;height:100%;object-fit:contain}.wechat-modal small{color:#78959b;font-size:10px}.secondary{cursor:pointer}
.typing{color:var(--cyan)!important;animation:pulse 1.2s infinite}
.reveal-phone{border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}
.chat,.messages{overflow-x:hidden}.messages{scrollbar-width:thin;scrollbar-color:rgba(60,232,243,.5) rgba(8,27,32,.65)}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:rgba(8,27,32,.65)}.messages::-webkit-scrollbar-thumb{background:linear-gradient(var(--cyan),#168e9b);border-radius:99px}.messages::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.message{overflow-wrap:anywhere;word-break:break-word}.suggestions{flex-wrap:wrap;overflow-x:hidden;scrollbar-width:none}.suggestions::-webkit-scrollbar{display:none}.suggestions button{white-space:normal;text-align:left;line-height:1.35;flex:0 1 auto}
@media(min-width:900px){.suggestions{padding:10px 14px 12px}.suggestions button{font-size:10px;padding:7px 10px}}
.bot-avatar{padding:0;overflow:hidden;border:1px solid rgba(60,232,243,.65);box-shadow:0 0 14px rgba(60,232,243,.2);flex:0 0 44px;width:44px;height:44px;background:url('assets/li-yao-avatar-small.jpg') 53% 37% / 225% auto no-repeat}.bot-avatar img{opacity:0;width:100%;height:100%}
@media(min-width:900px){main{transition:margin .35s cubic-bezier(.2,.8,.2,1)}body.chat-active main{margin-left:16px;margin-right:auto}.chat{left:auto;right:16px;width:320px;transform:translateY(110%)}.chat.open{transform:translateY(0)}.chat-backdrop{display:none}}
@media(min-width:1400px){body.chat-active main{margin-left:auto;margin-right:auto}.chat{right:max(20px,calc(50% - 700px));width:380px}}

/* DESKTOP HORIZONTAL DASHBOARD */
@media(min-width:1100px){body{padding:28px 0}.desktop-card{left:26px;top:50%;width:170px}.desktop-card h2{font-size:20px}.desktop-card p{font-size:9px}#qr{width:142px;height:142px}#qr img{width:120px!important;height:120px!important}main,body.chat-active main{width:auto;max-width:none;margin:0 38px 0 220px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));transition:margin-right .35s cubic-bezier(.2,.8,.2,1);overflow:visible}body.chat-active main{margin-left:220px;margin-right:430px}nav{grid-column:1/-1}.hero{grid-column:1/-1;display:grid;grid-template-columns:minmax(350px,.9fr) minmax(460px,1.1fr);grid-template-rows:auto auto auto 1fr auto;column-gap:clamp(36px,5vw,90px);padding:42px clamp(34px,4vw,70px) 48px;align-items:start}.hero:before{grid-column:2;grid-row:1;margin:0 0 12px}.portrait{grid-column:1;grid-row:1/6;height:100%;min-height:460px}.kicker{grid-column:2;grid-row:2;margin:0 0 20px}.hero h1{grid-column:2;grid-row:3;font-size:clamp(44px,4.2vw,70px);max-width:760px}.intro{grid-column:2;grid-row:4;font-size:16px;max-width:700px;margin:28px 0}.hero-actions{grid-column:2;grid-row:5;max-width:480px}.metrics{grid-column:1/-1}.metrics div{padding:30px clamp(20px,3vw,48px)}.metrics strong{font-size:38px}.metrics span{font-size:11px}.section{padding:48px clamp(26px,3vw,48px)}#experience{grid-column:1/8;border-right:1px solid var(--line)}.projects{grid-column:8/-1}.projects .project-card{height:250px}.projects .project-card h3{margin-top:38px;font-size:25px}.skills{grid-column:1/7;border-right:1px solid var(--line)}.skills+.section{grid-column:7/-1}footer{grid-column:1/-1;padding:52px clamp(34px,4vw,70px)}footer a{font-size:32px}.chat{left:auto;right:24px;width:380px;height:calc(100vh - 56px);bottom:28px;transform:translateY(110%)}.chat.open{transform:translateY(0)}}
@media(min-width:1100px) and (max-width:1499px){body.chat-active main{margin-left:220px;margin-right:374px}.chat{right:14px;width:340px}.hero{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);column-gap:34px}.hero h1{font-size:43px}body.chat-active .hero{grid-template-columns:1fr}.chat-active .portrait{display:none}.chat-active .hero:before,.chat-active .kicker,.chat-active .hero h1,.chat-active .intro,.chat-active .hero-actions{grid-column:1}.chat-active #experience,.chat-active .projects,.chat-active .skills,.chat-active .skills+.section{grid-column:1/-1;border-right:0}}

/* Resume metadata readability */
.job-date{font-size:11px;line-height:1.45;font-weight:600}.job .company{font-size:11px;line-height:1.55;font-weight:500}.project-index{font-size:11px;font-weight:600}.project-card p{font-size:11px;line-height:1.6}.section:last-of-type .job .company{font-size:12px;color:#b8d9dc}
@media(min-width:1100px){.job-date{font-size:13px}.job .company{font-size:13px}.project-index{font-size:12px}.project-card p{font-size:12px}.section:last-of-type .job .company{font-size:14px}}
.project-card h3,.project-card.ink h3,.project-card.coral h3{color:#f1fdff;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.icon-button{padding:0;overflow:hidden;background:url('assets/li-yao-avatar-small.jpg') 53% 37% / 225% auto no-repeat}.icon-button img{opacity:0;width:100%;height:100%}
main{overflow:clip}nav{position:sticky;top:0;z-index:25;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.nav-actions{display:flex;align-items:center;gap:9px}.theme-toggle{height:36px;padding:0 12px;border:1px solid rgba(60,232,243,.4);background:rgba(60,232,243,.05);color:var(--cyan);font:10px monospace;letter-spacing:.06em;cursor:pointer;transition:.2s}.theme-toggle:hover{background:rgba(60,232,243,.13)}.theme-toggle span{font-size:14px;margin-right:4px}

/* LIGHT EDITORIAL THEME */
body[data-theme="editorial"]{--paper:#f4f0e7;--ink:#132638;--coral:#e95f38;--cyan:#176b83;--panel:#e7e1d5;--line:rgba(19,38,56,.19);--muted:#66747a;background:#d8d3c8;color:var(--ink)}body[data-theme="editorial"]:before{background:radial-gradient(circle at 14% 12%,rgba(233,95,56,.11),transparent 25%),radial-gradient(circle at 85% 78%,rgba(23,107,131,.1),transparent 28%)}body[data-theme="editorial"] .ambient-grid{opacity:.1;background-size:60px 60px;background-image:linear-gradient(rgba(19,38,56,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(19,38,56,.13) 1px,transparent 1px)}body[data-theme="editorial"] main{background:rgba(244,240,231,.98);box-shadow:0 18px 70px rgba(36,42,43,.16);border-color:rgba(19,38,56,.15)}body[data-theme="editorial"] nav{background:rgba(244,240,231,.9);box-shadow:0 8px 22px rgba(50,48,42,.09)}body[data-theme="editorial"] .wordmark{font-family:'DM Sans',sans-serif;text-shadow:none;letter-spacing:-.07em}body[data-theme="editorial"] .availability{color:#176b83}body[data-theme="editorial"] .availability i,body[data-theme="editorial"] .chat header span i{background:#36a06a;box-shadow:none}body[data-theme="editorial"] .theme-toggle{border-color:rgba(19,38,56,.24);background:#fff8;color:#29495a;font-family:'DM Sans',sans-serif}body[data-theme="editorial"] .icon-button{border-color:#173b4d;box-shadow:none}body[data-theme="editorial"] .hero:before{color:#176b83;content:'PROFILE / PRODUCT & AI'}body[data-theme="editorial"] .portrait{border-color:rgba(19,38,56,.25);clip-path:none;box-shadow:12px 12px 0 #e1d9ca}body[data-theme="editorial"] .portrait:after{background:linear-gradient(120deg,rgba(233,95,56,.08),transparent 46%)}body[data-theme="editorial"] .portrait img{filter:saturate(.82) contrast(1.02)}body[data-theme="editorial"] .scan-line{display:none}body[data-theme="editorial"] .portrait-code{background:#f4f0e7e8;color:#173b4d;border-color:var(--coral)}body[data-theme="editorial"] .portrait-tag{background:#f4f0e7e8;color:#173b4d}body[data-theme="editorial"] .kicker,body[data-theme="editorial"] .section-head em,body[data-theme="editorial"] .project-index{color:#176b83}body[data-theme="editorial"] h1{text-shadow:none}body[data-theme="editorial"] .intro{color:#52626a}body[data-theme="editorial"] .primary{background:#173b4d;border-color:#173b4d;color:#fff;box-shadow:none}body[data-theme="editorial"] .secondary{color:#173b4d;border-color:#173b4d;background:transparent}body[data-theme="editorial"] .metrics{background:#e9e3d8}body[data-theme="editorial"] .metrics strong{color:#173b4d;text-shadow:none}body[data-theme="editorial"] .metrics span,body[data-theme="editorial"] .job p,body[data-theme="editorial"] .job li{color:#5c686c}body[data-theme="editorial"] .section{background:transparent}body[data-theme="editorial"] .section:before{background:var(--coral);box-shadow:none}body[data-theme="editorial"] .section-head{border-color:#173b4d}body[data-theme="editorial"] .job h3{color:#172f3d}body[data-theme="editorial"] .job .company{color:#176b83}body[data-theme="editorial"] .project-card{clip-path:none;border-color:rgba(19,38,56,.18);box-shadow:0 10px 24px rgba(34,42,44,.08)}body[data-theme="editorial"] .project-card.coral{background:#e96d48;color:#fff;border-color:#e96d48}body[data-theme="editorial"] .project-card.ink{background:#183c4d;color:#fff}body[data-theme="editorial"] .project-card h3{color:#fff;text-shadow:none}body[data-theme="editorial"] .project-card p{color:#f5eee8}body[data-theme="editorial"] .project-index{color:#fff;opacity:.78}body[data-theme="editorial"] .project-shape{color:#fff}body[data-theme="editorial"] .skill-list span{color:#294a59;border-color:rgba(23,59,77,.25);background:#fff7;font-family:'DM Sans','Noto Sans SC',sans-serif}body[data-theme="editorial"] footer{background:#173b4d;border-color:var(--coral)}body[data-theme="editorial"] footer a{color:#fff;text-shadow:none}body[data-theme="editorial"] .desktop-card{color:#173b4d}body[data-theme="editorial"] .desktop-card .eyebrow{color:#e95f38!important}body[data-theme="editorial"] .desktop-card p{color:#68757a!important}body[data-theme="editorial"] #qr{border-color:#173b4d;box-shadow:8px 8px 0 rgba(23,59,77,.12)}body[data-theme="editorial"] .chat{background:#f4f0e7;border-color:rgba(23,59,77,.3);box-shadow:0 24px 80px #26323844}body[data-theme="editorial"] .chat header{background:#e8e2d7}body[data-theme="editorial"] .chat header strong{color:#173b4d}body[data-theme="editorial"] .message.bot{background:#e2ddd2;color:#29444f;border-color:rgba(23,59,77,.12)}body[data-theme="editorial"] .message.user{background:#173b4d;color:#fff}body[data-theme="editorial"] .suggestions button{background:#fff9;color:#315361;border-color:rgba(23,59,77,.2)}body[data-theme="editorial"] .chat input{background:#fff;color:#173b4d;border-color:rgba(23,59,77,.25)}body[data-theme="editorial"] .chat form button{background:#e95f38;color:#fff}body[data-theme="editorial"] .messages{scrollbar-color:rgba(23,107,131,.5) rgba(221,215,203,.65)}body[data-theme="editorial"] .wechat-modal{background:#f4f0e7;color:#173b4d;border-color:rgba(23,59,77,.35)}body[data-theme="editorial"] .wechat-modal p,body[data-theme="editorial"] .wechat-modal small{color:#6a777b}
@media(max-width:420px){.theme-toggle{width:36px;padding:0;font-size:0}.theme-toggle span{font-size:15px;margin:0}.nav-actions{gap:7px}}
@media(max-width:899px){.chat input{font-size:16px}.chat form{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
