html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font:inherit;vertical-align:baseline;border:0;margin:0;padding:0;font-size:100%}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}
@font-face{font-family:NotoColorEmoji-flagsonly;unicode-range:U+1F1E6-1F1FF;src:url(../media/NotoColorEmoji-flagsonly.35fh1crr85aoe.ttf)format("truetype")}@font-face{font-family:Gentium;src:url(../media/Gentium-Regular.1cixdsmcx87x9.woff2)format("woff2"),url(../media/Gentium-Regular.20ad-9jyt-xtb.woff)format("woff"),url(../media/Gentium-Regular.0y83knah_xgvy.ttf)format("truetype");font-weight:400;font-style:normal}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-app:#91521d;--color-bg-page:#fff8eb;--color-bg-panel:#f7ebd4;--color-text-primary:#2f241b;--color-text-secondary:#624e3b;--color-heading-primary:#8a431b;--color-heading-secondary:#68381f;--color-link:#70401b;--color-tech:#57642f;--color-cta:#854017;--color-cta-hover:#683016;--color-badge-bg:#75431d;--color-badge-text:#fff8eb;--color-achievement:#4e642d;--color-border:#d8be94;--color-highlight:#80500b;--color-hover-surface:#f2e1c1;--color-focus-ring:#a46114;--color-page-shadow:#41250f2e;--color-panel-shadow:#41250f1a;--color-panel-shadow-strong:#41250f29;--color-elevated-shadow:#41250f38;--color-glow:#cf912829;--color-github:#24292e;--color-github-hover:#1a1e22;--color-linkedin:#0077b5;--color-linkedin-hover:#006399;--gradient-app:radial-gradient(ellipse at top, #f4c256a6 0%, #f4c25600 55%), linear-gradient(165deg, #b97a26 0%, #91521d 48%, #5d351d 100%);--gradient-panel:linear-gradient(180deg, #fff8eb 0%, #f7ebd4 100%);--gradient-cta:linear-gradient(18deg, #854017 0%, #683016 100%);--gradient-cta-hover:linear-gradient(18deg, #995022 0%, #854017 100%);--gradient-header:linear-gradient(180deg, #cf912829 0%, #cf91280a 100%)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-app:#17120d;--color-bg-page:#231c15;--color-bg-panel:#2d2318;--color-text-primary:#f5ead7;--color-text-secondary:#c4b398;--color-heading-primary:#edb960;--color-heading-secondary:#e7c69a;--color-link:#e7c69a;--color-tech:#bbc88e;--color-cta:#965024;--color-cta-hover:#9f5525;--color-badge-bg:#63371d;--color-badge-text:#fff8eb;--color-achievement:#bbc88e;--color-border:#685139;--color-highlight:#e5b65e;--color-hover-surface:#382c1e;--color-focus-ring:#edb960;--color-page-shadow:#00000073;--color-panel-shadow:#00000059;--color-panel-shadow-strong:#00000080;--color-elevated-shadow:#00000080;--color-glow:#cf912833;--gradient-app:radial-gradient(ellipse at top, #b97a2638 0%, #b97a2600 55%), linear-gradient(180deg, #17120d 0%, #26190f 100%);--gradient-panel:linear-gradient(180deg, #2d2318 0%, #261e16 100%);--gradient-cta:linear-gradient(18deg, #965024 0%, #75401f 100%);--gradient-cta-hover:linear-gradient(18deg, #9f5525 0%, #965024 100%);--gradient-header:linear-gradient(180deg, #edb9601a 0%, #edb96005 100%)}html{scrollbar-gutter:stable}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-bg-app);background-image:var(--gradient-app);color:var(--color-text-primary);min-height:100vh;margin:0;padding:20px 0;font-family:NotoColorEmoji-flagsonly,Gentium,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:12px;line-height:1.2}.page{background:var(--color-bg-page);box-shadow:0 0 0 1px var(--color-border), 0 18px 40px var(--color-page-shadow);box-sizing:border-box;width:95%;max-width:1200px;min-height:calc(100vh - 40px);margin:0 auto;padding:20px 40px;position:relative;overflow:visible}@media screen and (max-width:1024px){.page{width:100%;max-width:100%;box-shadow:none;margin:0;padding:15px 25px}}@media screen and (max-width:768px){body{font-size:18px}.page{padding:10px 15px}.about-text{font-size:16px;padding:0 10px!important}.social-links{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:0!important;width:100%!important;display:flex!important}.header .social-links .social-link{justify-content:center!important;align-items:center!important;width:auto!important;min-width:250px!important;max-width:90%!important;margin:0 auto 15px!important;padding:12px 24px!important;font-size:18px!important;line-height:1.4!important;display:inline-flex!important}.header .social-links .social-link:last-child{margin-bottom:0!important}.social-link svg{width:24px!important;height:24px!important}.theme-toggle-fab{width:36px!important;height:36px!important;font-size:16px!important;top:12px!important;right:12px!important}.language-switcher{direction:ltr!important;unicode-bidi:isolate!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:0!important;max-width:100%!important;margin:5px auto!important;padding:0 5px!important;display:flex!important}.language-switcher-row{display:contents!important}.language-switcher a{letter-spacing:-.15px!important;text-align:center!important;box-sizing:border-box!important;flex:0 0 6.66667%!important;max-width:6.66667%!important;margin:0!important;padding:1px!important;font-size:15px!important;line-height:1.1!important}.main-content{grid-template-columns:1fr!important;gap:20px!important}.details-section{max-height:none!important;position:relative!important;top:auto!important}.details-panel{padding:20px!important}.details-title{font-size:22px!important}.details-company{font-size:24px!important}.details-position{font-size:19px!important}.details-content,.achievements-list li{font-size:18px!important}.tech-badge{padding:10px 16px!important;font-size:18px!important}}.scroll-to-top{background:var(--gradient-cta);width:50px;height:50px;color:var(--color-badge-text);cursor:pointer;box-shadow:0 4px 12px var(--color-elevated-shadow), 0 0 24px var(--color-glow);z-index:9999;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,box-shadow .3s;display:flex;position:fixed;bottom:30px;right:30px}.scroll-to-top:hover{box-shadow:0 6px 16px var(--color-elevated-shadow), 0 0 28px var(--color-glow);transform:scale(1.1)}.scroll-to-top:active{transform:scale(.95)}.scroll-to-top svg{width:24px;height:24px}@page{margin:5mm;size:A4}@media print{:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-app:#fff;--color-bg-page:#fff;--color-bg-panel:#fff;--color-text-primary:#111;--color-text-secondary:#444;--color-heading-primary:#222;--color-heading-secondary:#222;--color-link:#222;--color-tech:#222;--color-cta:#222;--color-cta-hover:#222;--color-badge-bg:#eee;--color-badge-text:#222;--color-achievement:#222;--color-border:#ccc;--color-highlight:#444;--color-hover-surface:transparent;--color-focus-ring:transparent;--color-page-shadow:transparent;--color-panel-shadow:transparent;--color-panel-shadow-strong:transparent;--color-elevated-shadow:transparent;--color-glow:transparent;--gradient-app:none;--gradient-panel:none;--gradient-cta:none;--gradient-cta-hover:none}body{width:210mm;margin:0;padding:0;background:#fff!important}.page{border:initial;border-radius:initial;box-shadow:initial;min-height:initial;page-break-after:avoid;margin:0;padding:3mm 15mm 0;background:#fff!important;width:210mm!important;max-width:210mm!important}.details-section{visibility:hidden!important;width:0!important;height:0!important;display:none!important;position:absolute!important;overflow:hidden!important}.language-switcher,.theme-toggle-fab,.scroll-to-top,.about-text,.social-links{display:none!important}#photo{width:70px!important;margin:3px auto 8px!important}.header{margin-bottom:4mm!important;padding:3px 0!important}.header p{margin:2px 0!important;padding:1px!important}.header .name{margin:3px 0!important;padding:3px!important;font-size:22px!important}span{padding:1px!important;font-size:11px!important}.main-content{grid-template-columns:unset!important;gap:0!important;width:100%!important;display:block!important}.timeline-section{text-align:left!important;float:none!important;width:150mm!important;max-width:150mm!important;margin:0 auto!important;display:block!important}.timeline-container{width:150mm!important;max-width:150mm!important;margin:0 auto!important;padding-left:0!important}.position-item{page-break-inside:avoid;box-sizing:border-box!important;background-color:#0000!important;width:100%!important;margin-bottom:3px!important;padding:1px 5px!important;transform:none!important}.timeline-marker{display:none!important}.position-content{width:100%!important}.position{word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;margin-bottom:2px!important;padding:0 5px!important;font-size:14px!important}.period{width:100%!important;margin-bottom:2px!important;padding:0 5px!important;font-size:12px!important}.description{word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;margin-bottom:0!important;padding:0 5px 4px!important;font-size:13px!important;line-height:1.5!important}.footer{margin-top:1mm!important;padding:2px 0!important}}p{padding:5px}a{color:var(--color-link);text-decoration:none}.ltr{direction:ltr;unicode-bidi:isolate}span{padding:5px;font-size:16px;font-weight:700}.header{box-shadow:none;text-align:center;background:0 0;border:none;border-radius:0;width:100%;margin-bottom:30px;padding:28px 22px}.header p{margin:10px 0}.header .name{letter-spacing:1px;color:var(--color-heading-primary);margin:15px 0;font-size:24px;font-weight:700}.about-text{color:color-mix(in srgb, var(--color-text-secondary) 78%, var(--color-heading-secondary) 22%);text-align:center;max-width:900px;font-size:18px;font-style:italic;line-height:1.6;margin:20px auto!important;padding:0 20px!important}html[lang^=zh] .about-text,html[lang^=ja] .about-text,html[lang^=ko] .about-text{font-style:normal}.social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin:25px 0;display:flex}.social-links .social-link{box-shadow:0 4px 14px var(--color-panel-shadow);border-radius:25px;align-items:center;gap:10px;padding:10px 20px;font-size:16px;font-weight:600;line-height:1;text-decoration:none;transition:all .3s;display:inline-flex}.social-links .social-link:hover{box-shadow:0 4px 12px var(--color-panel-shadow-strong), 0 0 24px var(--color-glow);transform:translateY(-8px)}.social-links .social-link.github{background:var(--color-github);color:#fff}.social-links .social-link.github:hover{background:var(--color-github-hover)}.social-links .social-link.linkedin{background:var(--color-linkedin);color:#fff}.social-links .social-link.linkedin:hover{background:var(--color-linkedin-hover)}.social-links .social-link.download-cv{background:var(--gradient-cta);color:var(--color-badge-text)}.social-links .social-link.download-cv:hover{background:var(--gradient-cta-hover)}.social-links .social-link svg{vertical-align:bottom;flex-shrink:0;width:20px;height:20px;display:inline-block}.theme-toggle-fab{background:var(--gradient-cta);width:40px;height:40px;color:var(--color-badge-text);cursor:pointer;box-shadow:0 6px 18px var(--color-elevated-shadow), 0 0 18px var(--color-glow);z-index:9999;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:transform .2s,box-shadow .2s,background .2s;display:flex;position:fixed;top:20px;right:20px}.theme-toggle-fab:hover{box-shadow:0 8px 22px var(--color-elevated-shadow), 0 0 24px var(--color-glow);transform:scale(1.08)}.theme-toggle-fab:active{transform:scale(.94)}.theme-toggle-fab:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring), 0 6px 18px var(--color-elevated-shadow);outline:none}.theme-toggle-fab-icon{line-height:1;display:inline-block}.language-switcher{direction:ltr;unicode-bidi:isolate;margin:5px 0;display:inline-block}.language-switcher-row{display:block}.language-switcher a{margin:0 2px;font-size:16px;line-height:1;transition:transform .2s;display:inline-block}.language-switcher a:hover{transform:scale(1.2)}.main-content{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:20px;display:grid}.timeline-section{position:relative}.timeline-container{padding-left:0;position:relative}.position-item{cursor:pointer;border-radius:0;outline:none;margin-bottom:25px;padding:10px 15px;transition:background-color .3s,transform .2s;position:relative}.position-item:hover,.position-item:focus,.position-item.active{background-color:var(--color-hover-surface);transform:translate(5px)}.position-item:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring)}.timeline-marker{display:none}.position-content{position:relative}.details-section{height:fit-content;max-height:calc(100vh - 40px);position:sticky;top:20px;overflow-y:auto}.details-panel{background:var(--gradient-panel);border:1px solid var(--color-border);box-shadow:0 10px 24px var(--color-panel-shadow), 0 0 24px var(--color-glow);border-radius:0;min-height:auto;padding:25px}.details-title{color:var(--color-heading-primary);border-bottom:2px solid var(--color-border);margin-bottom:15px;padding-bottom:10px;font-size:20px;font-weight:700}.details-title-container{border-bottom:2px solid var(--color-border);margin-bottom:15px;padding-bottom:10px}.details-company{color:var(--color-heading-primary);margin-bottom:5px;font-size:22px;font-weight:700;line-height:1.3}.details-position{color:var(--color-heading-primary);font-size:17px;font-weight:600;line-height:1.3}.details-content{color:var(--color-text-primary);font-size:16px;line-height:1.6}.details-placeholder{color:var(--color-text-secondary);text-align:center;padding:50px 20px;font-size:18px;font-style:italic}.achievements-section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:15px}.achievements-section h4,.achievements-title{color:var(--color-achievement);letter-spacing:.3px;margin-bottom:10px;font-size:16px;font-weight:700}.achievements-list{margin:0;padding-left:0;list-style:none}.achievements-list li{margin-bottom:8px;padding-left:20px;font-size:16px;line-height:1.7;position:relative}.achievements-list li:before{content:"✓";color:var(--color-achievement);font-size:16px;font-weight:700;position:absolute;left:0}.technologies-section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:15px}.technologies-section h4{color:var(--color-tech);letter-spacing:.3px;margin-bottom:20px;font-size:16px;font-weight:700}.technologies-title{color:var(--color-tech);letter-spacing:.3px;margin-bottom:10px;font-size:16px;font-weight:700}.tech-badges,.technologies-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tech-badge{background:linear-gradient(18deg, color-mix(in srgb, var(--color-badge-bg) 84%, var(--color-heading-primary) 16%) 0%, var(--color-badge-bg) 100%);color:var(--color-badge-text);border:1px solid var(--color-border);box-shadow:0 2px 4px var(--color-panel-shadow);border-radius:18px;padding:8px 14px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-block}.tech-badge:hover{box-shadow:0 4px 10px var(--color-panel-shadow-strong), 0 0 18px var(--color-glow);transform:translateY(-2px)}.footer{text-align:center;width:100%;padding:20px 0}.copy-toast{background:var(--gradient-cta);color:var(--color-badge-text);box-shadow:0 4px 12px var(--color-elevated-shadow), 0 0 24px var(--color-glow);z-index:10000;border-radius:8px;padding:16px 24px;font-size:16px;font-weight:600;animation:.3s ease-out slideInRight,.3s ease-in 1.7s forwards fadeOut;position:fixed;top:20px;right:20px}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media screen and (max-width:768px){.copy-toast{text-align:center;font-size:18px;top:10px;left:10px;right:10px}}#photo{width:120px;box-shadow:0 8px 20px var(--color-panel-shadow), 0 0 24px var(--color-glow);border-radius:10px;margin:10px 5px 15px}#work{display:none}.icon{height:13px}.uppercase{text-transform:uppercase}.name{letter-spacing:4px;color:var(--color-heading-primary);padding:10px;font-family:Gentium,Helvetica Narrow,Arial Narrow;font-size:35px;font-weight:700;position:relative;transform:scaleX(.85)scaleY(1.2)}.name:after{content:"";background:linear-gradient(90deg, var(--color-heading-primary) 0%, var(--color-tech) 100%);border-radius:2px;width:120px;height:3px;margin:14px auto 0;display:block}@media print{.name:after{display:none}}.info,.work{letter-spacing:0;color:var(--color-heading-secondary);font-family:Gentium,Helvetica Narrow,Arial Narrow;font-size:20px;font-weight:700}.position{color:var(--color-heading-secondary);margin-bottom:5px;padding:0 5px;font-size:16px;font-weight:700}.period{color:var(--color-text-secondary);margin-bottom:5px;padding:0 5px;font-size:14px}.description{color:var(--color-text-secondary);padding:0 5px;font-size:14px;line-height:1.5}strong,.details-content strong,.description strong{color:var(--color-heading-secondary);font-weight:600}.position strong{color:var(--color-heading-primary);font-weight:700}.avatar-chat{background:var(--gradient-panel);border:1px solid var(--color-border);box-shadow:0 6px 16px var(--color-panel-shadow);border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:900px;margin:18px auto 28px;padding:14px 18px 16px;display:flex}.avatar-chat-header{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding-bottom:8px;display:flex}.avatar-chat-title{color:var(--color-heading-secondary);letter-spacing:.3px;font-family:Gentium,Helvetica Narrow,Arial Narrow;font-size:17px;font-weight:700}.avatar-chat-status{color:var(--color-text-secondary);text-transform:lowercase;letter-spacing:.3px;background:color-mix(in srgb, var(--color-bg-panel) 80%, var(--color-text-secondary) 20%);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:12px}.avatar-chat-status-available{color:var(--color-achievement);background:color-mix(in srgb, var(--color-achievement) 12%, var(--color-bg-panel))}.avatar-chat-status-downloading,.avatar-chat-status-downloadable{color:var(--color-highlight);background:color-mix(in srgb, var(--color-highlight) 14%, var(--color-bg-panel))}.avatar-chat-status-unavailable,.avatar-chat-status-unsupported{color:var(--color-text-secondary)}.avatar-chat-reset{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;line-height:1;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.avatar-chat-reset:hover{background:var(--color-hover-surface);color:var(--color-heading-secondary);transform:rotate(-45deg)}.avatar-chat-suggestions{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.avatar-chat-suggestion{color:var(--color-tech);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:14px;padding:4px 12px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.avatar-chat-suggestion:hover{background:var(--color-hover-surface);border-color:var(--color-tech)}.avatar-chat-messages{scroll-behavior:smooth;flex-direction:column;gap:8px;max-height:280px;padding:4px 2px;display:flex;overflow-y:auto}.avatar-chat-message{white-space:pre-wrap;word-wrap:break-word;border-radius:10px;max-width:85%;padding:8px 12px;font-size:14px;line-height:1.45}.avatar-chat-message-user{background:var(--gradient-cta);color:var(--color-badge-text);border-bottom-right-radius:2px;align-self:flex-end}.avatar-chat-message-assistant{background:var(--color-bg-page);color:var(--color-text-primary);border:1px solid var(--color-border);border-bottom-left-radius:2px;align-self:flex-start}.avatar-chat-streaming:after{content:"▍";color:var(--color-text-secondary);margin-left:1px;animation:1s steps(2,start) infinite avatar-chat-blink;display:inline-block}@keyframes avatar-chat-blink{to{visibility:hidden}}.avatar-chat-form{align-items:stretch;gap:8px;display:flex}.avatar-chat-input{background:var(--color-bg-page);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.avatar-chat-input:focus{border-color:var(--color-tech);box-shadow:0 0 0 3px var(--color-focus-ring)}.avatar-chat-input:disabled{opacity:.6;cursor:not-allowed}.avatar-chat-submit{background:var(--gradient-cta);color:var(--color-badge-text);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;min-width:44px;padding:0 14px;font-size:16px;font-weight:700;transition:background .15s,transform .1s}.avatar-chat-submit:hover:not(:disabled){background:var(--gradient-cta-hover)}.avatar-chat-submit:active:not(:disabled){transform:scale(.97)}.avatar-chat-submit:disabled{opacity:.5;cursor:not-allowed}@media screen and (max-width:768px){.avatar-chat{display:none!important}}@media print{.avatar-chat{display:none!important}}
@media screen{:root[data-weather=sunny]{--color-bg-app:#aa822e;--color-bg-page:#fffbef;--color-bg-panel:#f7eed2;--color-heading-primary:#805318;--color-heading-secondary:#684c23;--color-link:#6c5126;--color-tech:#50662f;--color-cta:#805318;--color-cta-hover:#644013;--color-badge-bg:#785123;--color-badge-text:#fffaec;--color-achievement:#50662f;--color-border:#d6c38c;--color-hover-surface:#f1e6c6;--color-glow:#e5ba3a2e;--gradient-app:radial-gradient(ellipse at top, #ffe27db3, transparent 60%), linear-gradient(160deg, #d8b251, #a7802f 55%, #74511e);--gradient-panel:linear-gradient(180deg, #fffbef, #f7eed2);--gradient-cta:linear-gradient(18deg, #805318, #644013);--gradient-cta-hover:linear-gradient(18deg, #946123, #805318);--gradient-header:linear-gradient(180deg, #e5ba3a29, transparent)}:root[data-theme=dark][data-weather=sunny]{--color-bg-app:#17190f;--color-bg-page:#252418;--color-bg-panel:#30301e;--color-text-primary:#f8eed8;--color-text-secondary:#c7bc99;--color-heading-primary:#ebcb7d;--color-heading-secondary:#e8dab5;--color-link:#e8dab5;--color-tech:#bccb91;--color-cta:#79521d;--color-cta-hover:#8b6123;--color-badge-bg:#634916;--color-achievement:#bccb91;--color-border:#686344;--color-highlight:#ebcb7d;--color-hover-surface:#3a3823;--color-focus-ring:#ebcb7d;--gradient-app:radial-gradient(ellipse at top, #e5ba3a24, transparent 60%), linear-gradient(180deg, #17190f, #232317);--gradient-panel:linear-gradient(180deg, #30301e, #29291b);--gradient-cta:linear-gradient(18deg, #79521d, #634916);--gradient-cta-hover:linear-gradient(18deg, #8b6123, #79521d)}:root:is([data-weather=rain],[data-weather=storm],[data-weather=snow],[data-weather=frost],[data-weather=cloudy],[data-weather=fog]){--color-bg-app:#3e5c6f;--color-bg-page:#f3f8fc;--color-bg-panel:#e8f1f8;--color-text-primary:#243a47;--color-text-secondary:#445766;--color-heading-primary:#2b5768;--color-heading-secondary:#294b5d;--color-link:#2d596b;--color-tech:#32656f;--color-cta:#315969;--color-cta-hover:#203d4f;--color-badge-bg:#315969;--color-badge-text:#f8fbfe;--color-achievement:#32656f;--color-border:#afbec7;--color-highlight:#405d75;--color-hover-surface:#dce7ef;--color-focus-ring:#3d6a81;--color-page-shadow:#0a1f2b2e;--color-panel-shadow:#0a1f2b1a;--color-panel-shadow-strong:#0a1f2b29;--color-elevated-shadow:#0a1f2b38;--color-glow:#73b2cf2e;--gradient-app:radial-gradient(ellipse at top, #a3cbe159, transparent 60%), linear-gradient(165deg, #607f93, #3e5c6f 55%, #253f50);--gradient-panel:linear-gradient(180deg, #f3f8fc, #e8f1f8);--gradient-cta:linear-gradient(18deg, #315969, #203d4f);--gradient-cta-hover:linear-gradient(18deg, #3f697b, #315969);--gradient-header:linear-gradient(180deg, #73b2cf29, transparent)}:root[data-theme=dark]:is([data-weather=rain],[data-weather=storm],[data-weather=snow],[data-weather=frost],[data-weather=cloudy],[data-weather=fog]){--color-bg-app:#091922;--color-bg-page:#132530;--color-bg-panel:#1a2f3d;--color-text-primary:#eaf2f8;--color-text-secondary:#a6c0cd;--color-heading-primary:#b3ddf2;--color-heading-secondary:#cbdde6;--color-link:#cbdde6;--color-tech:#9ad6c7;--color-cta:#315969;--color-cta-hover:#3f697b;--color-badge-bg:#284957;--color-achievement:#9ad6c7;--color-border:#526e7e;--color-highlight:#b3ddf2;--color-hover-surface:#243d4e;--color-focus-ring:#b3ddf2;--color-page-shadow:#00000073;--color-panel-shadow:#00000059;--color-panel-shadow-strong:#00000080;--color-elevated-shadow:#00000080;--gradient-app:radial-gradient(ellipse at top, #73b2cf29, transparent 60%), linear-gradient(180deg, #091922, #132734);--gradient-panel:linear-gradient(180deg, #1a2f3d, #172a35);--gradient-cta:linear-gradient(18deg, #315969, #284957);--gradient-cta-hover:linear-gradient(18deg, #3f697b, #315969)}:root:is([data-weather=snow],[data-weather=frost]){--gradient-app:radial-gradient(ellipse at top, #edf7ff8c, transparent 65%), linear-gradient(165deg, #9fbfd3, #628da7 60%, #456a84)}:root:is([data-weather=cloudy],[data-weather=fog]){--gradient-app:radial-gradient(ellipse at top, #dfe5e866, transparent 65%), linear-gradient(165deg, #82929b, #586f7d 60%, #3d515e)}:root[data-weather=storm]{--gradient-app:radial-gradient(ellipse at top, #84a0b540, transparent 65%), linear-gradient(165deg, #4e6379, #2c4358 60%, #1a2d3f)}:root[data-theme=dark]:is([data-weather=snow],[data-weather=frost],[data-weather=cloudy],[data-weather=fog],[data-weather=storm]){--gradient-app:radial-gradient(ellipse at top, #a3cbe11f, transparent 65%), linear-gradient(165deg, #142632, #0d1d29 60%, #09141f)}}.weather-atmosphere{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;position:fixed;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000,#00000059 16%,#0000 32% 68%,#00000059 84%,#000);mask-image:linear-gradient(90deg,#000,#00000059 16%,#0000 32% 68%,#00000059 84%,#000)}.weather-particle{animation-duration:var(--fall-duration);animation-delay:var(--fall-delay);animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-40px}.weather-atmosphere[data-effect=rain] .weather-particle{background:linear-gradient(#0000,#abd6f0bf);width:1.5px;height:28px;animation-name:weather-rain}.weather-atmosphere[data-effect=snow] .weather-particle{background:#fff;border-radius:50%;width:7px;height:7px;animation-name:weather-drift;box-shadow:0 0 3px #476c834d}.weather-atmosphere[data-effect=leaves] .weather-particle{width:26px;height:30px;color:var(--leaf-color);animation-name:weather-drift}.weather-leaf{width:100%;height:100%;animation:weather-leaf-turn calc(var(--fall-duration) * .7) ease-in-out var(--fall-delay) infinite alternate}.weather-motion-toggle{z-index:9999;border:1px solid var(--color-border);background:var(--color-bg-page);width:40px;height:40px;color:var(--color-heading-secondary);box-shadow:0 4px 12px var(--color-panel-shadow);cursor:pointer;border-radius:50%;place-items:center;padding:10px;display:grid;position:fixed;top:70px;right:20px}.weather-motion-toggle svg{width:18px;height:18px}.weather-motion-toggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px}@keyframes weather-rain{0%{opacity:0;transform:translateY(-40px)rotate(12deg)}8%,88%{opacity:.55}to{opacity:0;transform:translate(-100px,calc(100vh + 80px))rotate(12deg)}}@keyframes weather-drift{0%{transform:translate3d(0, -40px, 0) scale(var(--particle-scale));opacity:0}8%,88%{opacity:.7}to{transform:translate3d(var(--drift), calc(100vh + 80px), 0) scale(var(--particle-scale));opacity:0}}@keyframes weather-leaf-turn{0%{transform:rotate(-30deg)rotateY(0)}to{transform:rotate(var(--spin)) rotateY(55deg)}}@media screen and (max-width:768px){.weather-motion-toggle{top:60px;right:10px}.weather-particle:nth-child(n+17){display:none}}@media (prefers-reduced-motion:reduce),print{.weather-atmosphere,.weather-motion-toggle{display:none!important}.weather-particle,.weather-leaf{animation:none!important}}
