/* One continuous scrolling canvas, with restrained procedural texture. */
html{background:#241735!important}
body{position:relative!important;isolation:isolate;background:linear-gradient(165deg,#332044 0%,#292446 22%,#183e49 43%,#34305b 64%,#4b284c 83%,#29213f 100%)!important}
#siteWallpaper{display:none!important}
body:before,body.custom-background:before{content:''!important;display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;opacity:1!important;pointer-events:none!important;transform:none!important;background-image:linear-gradient(#e4bcff08 1px,transparent 1px),linear-gradient(90deg,#e4bcff08 1px,transparent 1px),repeating-linear-gradient(135deg,transparent 0 13px,#e0c1f904 13px 15px),radial-gradient(ellipse at 0% 14%,#d15baf22,transparent 28%),radial-gradient(ellipse at 100% 54%,#6cc9d825,transparent 30%),radial-gradient(ellipse at 0% 88%,#b17be022,transparent 25%)!important;background-size:64px 64px,64px 64px,180px 180px,100% 100%,100% 100%,100% 100%!important;background-repeat:repeat,repeat,repeat,no-repeat,no-repeat,no-repeat!important;background-attachment:scroll!important;mask-image:none!important}
body:after{content:''!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='860' viewBox='0 0 640 860'%3E%3Cg fill='none' stroke='%23edd4ff' stroke-opacity='.07'%3E%3Cpath d='M55 80l7 19 19 7-19 7-7 19-7-19-19-7 19-7zM550 560l10 26 26 10-26 10-10 26-10-26-26-10 26-10z'/%3E%3Ccircle cx='590' cy='200' r='40'/%3E%3Ccircle cx='590' cy='200' r='32'/%3E%3Crect x='100' y='660' width='28' height='28' rx='5' transform='rotate(15 114 674)'/%3E%3C/g%3E%3C/svg%3E")!important;background-size:640px 860px!important;background-repeat:repeat!important;mask-image:none!important;opacity:1!important}
.sec{--frame:#a5dce2;--frame-deep:#4c9da9;--frame-pop:#b58cf2;--frame-tint:#18363e}
#about{--frame:#efb5d3;--frame-deep:#ad658e;--frame-pop:#d0a6ed;--frame-tint:#40293e}
#skills{--frame:#c6a6fa;--frame-deep:#8e68bc;--frame-pop:#9de6e3;--frame-tint:#33294d}
#experience{--frame:#f1b7cb;--frame-deep:#b86d91;--frame-pop:#ffe49b;--frame-tint:#42283f}
#portfolio{--frame:#9dcaf3;--frame-deep:#648ec1;--frame-pop:#efadd7;--frame-tint:#26374e}
#participatedProjects{--frame:#ead294;--frame-deep:#b49858;--frame-pop:#c3a6f2;--frame-tint:#3e3542}
#circleChallenge{--frame:#b4afea;--frame-deep:#7d77b3;--frame-pop:#a3ebce;--frame-tint:#302b4b}
#contact{--frame:#eba8d5;--frame-deep:#aa6398;--frame-pop:#a7e0eb;--frame-tint:#402840}
.sec>.wrap{border:2px solid var(--frame)!important;border-radius:18px!important;background:linear-gradient(140deg,color-mix(in srgb,var(--frame-tint) 96%,white),var(--frame-tint))!important;box-shadow:inset 0 0 0 5px #ffffff0a,inset 0 2px 2px #ffffffb3,0 4px 0 var(--frame-deep),0 12px 28px #0f0c252e!important;padding:0 24px 26px!important;overflow:visible}
.sec-head{position:relative;border-radius:14px 14px 0 0!important;margin:3px -21px 24px!important;padding:12px 16px!important;min-height:52px!important;background:linear-gradient(180deg,#ffffff9c 0%,#ffffff1a 15%,transparent 60%),linear-gradient(105deg,var(--frame),color-mix(in srgb,var(--frame) 70%,var(--frame-pop)))!important;border-bottom:2px solid var(--frame-deep)!important;box-shadow:inset 0 1px #fff9!important}
.sec-head h2,.sec-head>.ico{color:#302e4e!important;text-shadow:0 1px #ffffff80!important}
.sec-no{background:#ffffff80!important;color:#514468!important;border:1px solid #ffffffa0!important;border-radius:5px!important}
.window-controls{gap:7px!important}
.sec-head .window-controls button{width:26px!important;height:26px!important;border-radius:6px!important;background:linear-gradient(#ffffffb0,#ffffff20),var(--frame-pop)!important;border:1px solid #ffffffb0!important;color:#55456f!important;box-shadow:inset 1px 1px #fff9,0 2px 0 #40375944!important}
.about-card,.fact,.skill-card,.tag-box,.tl-card,.contact-box,.participated-card{border-radius:11px!important;border-color:color-mix(in srgb,var(--frame) 50%,#493659)!important;background:linear-gradient(135deg,#ffffff06,#ffffff00),color-mix(in srgb,var(--frame-tint) 85%,#271b3b)!important;box-shadow:inset 0 1px #ffffff17,0 3px 8px #090a181c!important}
.fact svg{border-radius:7px!important;background:color-mix(in srgb,var(--frame) 22%,transparent)!important;border-color:color-mix(in srgb,var(--frame) 45%,transparent)!important;color:var(--frame)!important}
.sec .px-btn,.sec .px-mini{border-radius:8px!important;border-color:var(--frame)!important;box-shadow:inset 1px 2px #ffffffa0,0 3px 0 var(--frame-deep)!important}
.sec .sec-desc{color:#dfd2e8!important}
@media(max-width:700px){.sec>.wrap{padding:0 15px 20px!important;border-radius:13px!important}.sec-head{margin:3px -12px 18px!important;border-radius:10px 10px 0 0!important;padding:10px!important}}
@media print{body:before,body:after{display:none!important}}
/* Scalloped header trim: matched to each section's own palette. */
.sec-head{isolation:isolate;margin-bottom:34px!important;border-bottom:0!important;background:linear-gradient(180deg,#ffffff70,transparent 36%),linear-gradient(105deg,var(--frame),color-mix(in srgb,var(--frame) 70%,var(--frame-pop)))!important}
.sec-head:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:.34;background-image:radial-gradient(circle,#fff9 1.2px,transparent 1.8px),repeating-linear-gradient(125deg,transparent 0 14px,#44345b18 14px 16px);background-size:12px 12px,44px 44px}
.sec-head:after{content:'';position:absolute;left:0;right:0;bottom:-12px;height:15px;pointer-events:none;background:radial-gradient(ellipse at 50% 0,var(--frame) 0 62%,#ffffffb0 64% 69%,var(--frame-deep) 72% 78%,transparent 81%) 0 0/42px 16px repeat-x;filter:drop-shadow(0 2px 1px #0e0a252a)}
@media(max-width:700px){.sec-head{margin-bottom:28px!important}.sec-head:after{background-size:32px 14px;height:14px;bottom:-11px}}
/* The scallop belongs to the page navigation, not the individual windows. */
.sec-head:after{display:none!important}
.sec-head{margin-bottom:24px!important;border-bottom:2px solid var(--frame-deep)!important}
.nav{isolation:isolate;overflow:visible!important;border-bottom:0!important;background:linear-gradient(180deg,#ffffff40,transparent 45%),linear-gradient(100deg,#925aa8,#9f629f 50%,#6e70aa)!important;box-shadow:inset 0 1px #f9d5ff88!important}
.nav:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#fff3 1px,transparent 1.7px),repeating-linear-gradient(130deg,transparent 0 15px,#29194616 15px 18px);background-size:13px 13px,52px 52px;opacity:.5}
.nav:after{content:'';position:absolute;left:0;right:0;bottom:-13px;height:16px;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#9470ad 0 60%,#e7c6f5 63% 68%,#674779 71% 78%,transparent 81%) 0 0/44px 17px repeat-x;filter:drop-shadow(0 2px 1px #170f302e)}
.nav .nav-logo{color:#fff0bd!important;text-shadow:1px 2px #614375!important}
.nav .nav-link{color:#fff0fb!important;text-shadow:0 1px #51366070}
.nav .nav-link.on{background:#f6c1e8!important;color:#623d7a!important;box-shadow:inset 0 1px #fff9,0 2px 0 #674778!important;border-radius:6px!important}
/* Molded outer rim, inner rebate, pearlescent highlight and dimensional base. */
.sec>.wrap{border:7px solid var(--frame)!important;border-radius:22px!important;padding:0 22px 27px!important;box-shadow:inset 2px 2px 0 #ffffffac,inset -3px -3px 0 var(--frame-deep),0 0 0 1px var(--frame-deep),0 -2px 0 #ffffffd9,3px 6px 0 var(--frame-deep),6px 10px 15px #100b2445!important;background:linear-gradient(135deg,#ffffff0b,transparent 50%),var(--frame-tint)!important}
.sec-head{border-radius:13px 13px 0 0!important;margin:0 -22px 24px!important;padding:13px 17px!important;box-shadow:inset 0 3px 3px #ffffffa0,inset 0 -3px #ffffff26,0 2px 0 #160e2b35!important;min-height:58px!important}
.sec-head .window-controls button{border-width:2px!important;box-shadow:inset 1px 2px #ffffffd9,inset -1px -2px #6c51863d,1px 3px 0 #45385870!important}
.about-card,.fact,.skill-card,.tag-box,.tl-card,.contact-box{border-width:2px!important;box-shadow:inset 1px 2px 0 #ffffff22,inset -1px -2px 0 #080c212e,0 1px 0 #ffffff26!important}
@media(max-width:700px){.sec>.wrap{border-width:5px!important;border-radius:16px!important;padding:0 13px 20px!important}.sec-head{margin:0 -13px 20px!important;border-radius:9px 9px 0 0!important;padding:10px!important}.nav:after{background-size:34px 16px}}
/* Broad continuous wave, with the same gradient painted through the trim. */
.nav{background:linear-gradient(105deg,#ed9ed0 0%,#c7b2f2 52%,#a3c9f1 100%)!important;box-shadow:inset 0 2px #fff8!important;filter:drop-shadow(0 3px 0 #9479bd66)}
.nav .nav-in{padding-top:20px!important;padding-bottom:20px!important}
.nav:before{background-image:radial-gradient(circle,#fff8 1px,transparent 1.6px),repeating-linear-gradient(130deg,transparent 0 26px,#ffffff16 26px 28px)!important;background-size:22px 22px,80px 80px!important;opacity:.32!important}
.nav:after{bottom:-19px!important;height:22px!important;background:linear-gradient(105deg,#ed9ed0 0%,#c7b2f2 52%,#a3c9f1 100%)!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='22' viewBox='0 0 180 22'%3E%3Cpath d='M0 0H180V4C150 4 150 22 120 22S90 4 60 4S30 22 0 22Z' fill='black'/%3E%3C/svg%3E")!important;mask-size:180px 22px!important;mask-repeat:repeat-x!important;filter:none!important}
.nav .nav-logo{color:#fff6dc!important;text-shadow:1px 2px #9b73b5!important}
.nav .nav-link{color:#584b82!important;text-shadow:none!important}
.nav .nav-link.on{background:#fff2fc!important;color:#89518f!important;box-shadow:inset 0 1px #fff,0 2px 0 #ba95cd!important}
html{scroll-padding-top:122px!important}
html:not(.hx-paint-only) #about{padding-top:132px!important}
@media(max-width:700px){.nav .nav-in{padding-top:17px!important;padding-bottom:17px!important}.nav:after{mask-size:140px 22px!important}}
.nav:after{bottom:-24px!important;height:27px!important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='27' viewBox='0 0 100 27'%3E%3Cpath d='M0 0H100V3C94 31 6 31 0 3Z' fill='black'/%3E%3C/svg%3E")!important;mask-size:100px 27px!important;mask-repeat:repeat-x!important;background:linear-gradient(105deg,#ed9ed0 0%,#c7b2f2 52%,#a3c9f1 100%)!important}
@media(max-width:700px){.nav:after{mask-size:84px 27px!important}}
/* Molded scallop: shadow lip, broad pink rim, inset highlight, soft bevel. */
.nav{background:linear-gradient(180deg,#ffd0e8 0%,#fbb5db 18%,#f5a2ce 100%)!important;filter:none!important;box-shadow:inset 0 2px #ffe4f3!important}
.nav:before{opacity:.45!important;background-image:radial-gradient(circle,#fff6 1px,transparent 1.8px),repeating-linear-gradient(130deg,transparent 0 23px,#e46eab15 23px 26px)!important}
.nav:after{height:37px!important;bottom:-32px!important;mask:none!important;-webkit-mask:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='37' viewBox='0 0 100 37'%3E%3Cdefs%3E%3ClinearGradient id='g' x2='0' y2='1'%3E%3Cstop stop-color='%23f5a2ce'/%3E%3Cstop offset='1' stop-color='%23f195c4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0H100V5Q85 32 50 32T0 5Z' fill='url(%23g)'/%3E%3Cpath d='M0 7C14 35 86 35 100 7' fill='none' stroke='%234e294a' stroke-opacity='.22' stroke-width='8'/%3E%3Cpath d='M0 5C14 33 86 33 100 5' fill='none' stroke='%23ba608e' stroke-width='7'/%3E%3Cpath d='M0 3C14 31 86 31 100 3' fill='none' stroke='%23f28aba' stroke-width='7'/%3E%3Cpath d='M0 2C14 30 86 30 100 2' fill='none' stroke='%23ffd4e8' stroke-width='3'/%3E%3Cpath d='M0 0C14 28 86 28 100 0' fill='none' stroke='%23f8b5d8' stroke-width='2'/%3E%3C/svg%3E")!important;background-color:transparent!important;background-size:100px 37px!important;background-repeat:repeat-x!important;filter:drop-shadow(0 2px 1px #261b2e26)!important}
.nav .nav-link{color:#754567!important}.nav .nav-link.on{background:#fff0f8!important;color:#a34b80!important;box-shadow:inset 0 2px #fff,0 2px 0 #cf7fa8!important}
@media(max-width:700px){.nav:after{background-size:100px 37px!important}}
.nav{filter:drop-shadow(0 7px 4px #140d263d) drop-shadow(0 2px 1px #21122c33)!important}
.nav:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='37' viewBox='0 0 100 37'%3E%3Cdefs%3E%3ClinearGradient id='g' x2='0' y2='1'%3E%3Cstop stop-color='%23f5a2ce'/%3E%3Cstop offset='1' stop-color='%23f195c4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0H100V4C86 32 14 32 0 4Z' fill='url(%23g)'/%3E%3Cpath d='M0 4C14 32 86 32 100 4' fill='none' stroke='%23c879a5' stroke-width='4'/%3E%3Cpath d='M0 3C14 31 86 31 100 3' fill='none' stroke='%23ffd3e7' stroke-width='2.5'/%3E%3C/svg%3E")!important;filter:none!important}
.nav{background:linear-gradient(180deg,#bca5d7 0%,#9e83bd 24%,#80649d 100%)!important;box-shadow:inset 0 2px #e8d5f380!important}
.nav:before{background-image:radial-gradient(circle,#ecdbff45 1px,transparent 1.7px),repeating-linear-gradient(130deg,transparent 0 23px,#3120430c 23px 26px)!important;opacity:.4!important}
.nav:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='37' viewBox='0 0 100 37'%3E%3Cdefs%3E%3ClinearGradient id='g' x2='0' y2='1'%3E%3Cstop stop-color='%2380649d'/%3E%3Cstop offset='1' stop-color='%23765b94'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0H100V4C86 32 14 32 0 4Z' fill='url(%23g)'/%3E%3Cpath d='M0 4C14 32 86 32 100 4' fill='none' stroke='%23553d72' stroke-width='4'/%3E%3Cpath d='M0 3C14 31 86 31 100 3' fill='none' stroke='%23c7addb' stroke-width='2.5'/%3E%3C/svg%3E")!important}
.nav .nav-link{color:#f6e9fa!important;text-shadow:0 1px #4b305e44!important}
.nav .nav-link.on{color:#684275!important;background:#f1cde5!important;box-shadow:inset 0 2px #fff6,0 2px 0 #775286!important;text-shadow:none!important}
.nav .nav-logo{color:#ffe8b7!important;text-shadow:1px 2px #68427d!important}
/* Gallery shares the molded pink window treatment with the profile. */
#catModal{--gallery-rim:#efb5d3;--gallery-depth:#ad658e;--gallery-body:#40293e}
#catModal>.modal{border:6px solid var(--gallery-rim)!important;border-radius:20px!important;overflow:hidden;background:var(--gallery-body)!important;box-shadow:inset 2px 2px #ffffffa0,inset -3px -3px var(--gallery-depth),0 0 0 1px var(--gallery-depth),3px 6px 0 var(--gallery-depth),6px 12px 30px #100b2470!important}
#catModal .modal-bar{position:relative;isolation:isolate;min-height:58px;padding:12px 18px!important;background:linear-gradient(180deg,#ffffff80,transparent 45%),linear-gradient(105deg,#efb5d3,#d6a6e8)!important;color:#49304d!important;border-bottom:2px solid var(--gallery-depth)!important;box-shadow:inset 0 2px 2px #ffffffaa,inset 0 -2px #ffffff30}
#catModal .modal-bar:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.32;background-image:radial-gradient(circle,#ffffffa0 1px,transparent 1.6px),repeating-linear-gradient(125deg,transparent 0 14px,#60345b18 14px 16px);background-size:12px 12px,44px 44px}
#catModal .modal-bar b{text-shadow:0 1px #ffffff88}
#catModal .modal-body{background:linear-gradient(135deg,#ffffff08,transparent 50%),var(--gallery-body)!important}
#catModal .cat-tile{border:2px solid #b381a3!important;border-radius:11px!important;overflow:hidden;background:#38243b!important;box-shadow:inset 1px 2px #ffffff22,inset -1px -2px #160d272e,0 4px 8px #160d2730!important}
#catModal .cat-tile figcaption{background:linear-gradient(135deg,#ffffff07,transparent),#4a3049!important}
@media(max-width:700px){#catModal>.modal{border-width:4px!important;border-radius:13px!important}#catModal .modal-bar{min-height:52px;padding:10px 12px!important}}