:root{font-family:-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#241d29;background:#faf6f9;font-synthesis:none;-webkit-font-smoothing:antialiased;--accent: #aa477b;--muted: #756579;--border: #e9dfe7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #b15a89;outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p{margin:0}::selection{background:#edd2e2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-shell{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);background:radial-gradient(ellipse at 100% 0,#f2e0ee88,transparent 55%),#faf6f9}.site-navigation,.portfolio-stage,.site-footer{width:calc(100% - 88px);max-width:1240px;margin-inline:auto}.site-navigation{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-shrink:0}.vb-logo{font:24px/1 Georgia,Times New Roman,serif;letter-spacing:-.075em;color:#786273;display:inline-block}.menu-toggle{display:none}.site-navigation nav{display:flex;gap:12px clamp(12px,2vw,24px);align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0}.site-navigation nav a{position:relative;font-size:14px;font-weight:500;padding:12px 0;color:#756579;transition:color .2s}.site-navigation nav a:after{position:absolute;content:"";height:2px;left:0;right:0;bottom:5px;background:#b65e91;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}.site-navigation nav a:hover,.site-navigation nav a[aria-current=page]{color:#87355f}.site-navigation nav a[aria-current=page]:after,.site-navigation nav a:hover:after{transform:scaleX(1)}.portfolio-stage{display:flex;flex-direction:column;gap:30px;padding-block:5px 20px;flex:1}.profile-panel{max-width:840px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:60px;align-items:center}.profile-photo{width:100%;height:auto;order:2;border-radius:4px;box-shadow:0 6px 24px #40223808;transition:transform .45s cubic-bezier(.22,1,.36,1)}.profile-photo:hover{transform:rotate(-1.5deg)}.profile-identity{min-width:0}.profile-identity h1{font-size:40px;line-height:1.05;letter-spacing:-.04em;font-weight:650;color:#58434f;white-space:nowrap}.profile-identity h1>br{display:none}.profile-title{margin:24px 0 0;color:#775368;font-size:18px;font-weight:550;line-height:1.45;letter-spacing:-.025em}.profile-quip{margin:6px 0 0;max-width:36ch;color:#8a7584;font-size:13px;font-style:italic;line-height:1.55}.profile-identity h1>span{color:#a46c88;font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em;letter-spacing:inherit}.profile-identity h1>span:before{content:" "}.workspace{outline:none;min-width:0;padding-bottom:8px}.workspace-page{min-width:0}.section-heading,.detail-page>h2{margin-bottom:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:36px}.section-heading h2,.detail-page>h2{font-size:23px;line-height:1.2;font-weight:550;letter-spacing:-.045em;color:#332336}.project-list{list-style:none;margin:0;padding:0}.project-entry{border-top:1px solid #e2d2df;padding:28px 0}.project-entry-inner{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(0,1.5fr);gap:64px;align-items:center}.project-stage{min-width:0;overflow:hidden;margin:-16px;padding:16px}.project-heading{min-width:0}.project-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;border:0;background:none;padding:17px 1px}.project-button h3{font-size:28px;line-height:1.15;font-weight:500;letter-spacing:-.045em;color:#867085;transition:color .25s,transform .4s cubic-bezier(.22,1,.36,1)}.project-button h3>span{position:relative;display:inline-block}.project-button h3>span:after{content:"";position:absolute;left:0;bottom:-7px;height:2px;width:100%;background:linear-gradient(90deg,#bd6a99,#e6bfd7);transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-entry:hover .project-button h3,.project-entry:focus-within .project-button h3{color:#a34578;transform:translate(7px)}.project-entry:hover .project-button h3>span:after,.project-entry:focus-within .project-button h3>span:after{transform:scaleX(.45)}.project-open{width:25px;height:25px;color:#a8879d;margin-right:6px;transform:rotate(0);transition:transform .4s cubic-bezier(.22,1,.36,1),color .2s}.project-open svg{display:block;width:100%;height:100%}.project-open path{stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.project-entry:hover .project-open,.project-entry:focus-within .project-open{color:#aa477b;transform:rotate(45deg) translate(3px)}.project-preview{display:grid;grid-template-columns:minmax(0,1fr) 216px;gap:24px;align-items:center;padding:0}.project-description p{font-size:14px;line-height:1.85;color:#756579;max-width:35ch}.hanging-computer{width:210px;height:273px;position:relative;overflow:visible;mix-blend-mode:normal;margin:0 0 0 auto;cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent;user-select:none;outline-offset:4px}.hanging-computer:focus-visible{outline:1px solid #a34578}.hanging-computer[data-dragging=true]{cursor:grabbing}.hanging-computer[data-paused=true] *{animation-play-state:paused!important}.pendant-scene{width:200px;height:260px;position:relative;transform:scale(1.05);transform-origin:0 0}.pendant-cord{position:absolute;inset:0;width:200px;height:260px;overflow:visible;pointer-events:none}.pendant-cord path{fill:none;stroke-width:1.15;stroke-linecap:round}.pendant-cord circle{fill:#a48e9e}.pendant-body{position:absolute;top:8px;left:0;width:200px;height:241.54px;transform-origin:51.6% 19.46%;will-change:transform}.pendant-body>img{width:100%;height:auto;clip-path:polygon(0 0,49% 0,49% 19.5%,55% 19.5%,55% 0,100% 0,100% 100%,0 100%);filter:drop-shadow(0 5px 6px #54334b10);user-select:none}.pendant-body .mac-display{position:absolute;left:19.84%;top:20.62%;width:70.7%;height:40%;transform-origin:0 0;transform:matrix(.982,.188,-.156,.988,0,0);border-radius:2px;overflow:hidden;background:#faf7fa;color:#302436;box-shadow:inset 0 0 0 1px #1b1421;font-family:Inter,sans-serif}.site-footer{display:flex;align-items:center;gap:28px;padding:14px 0 18px;flex-shrink:0;border-top:1px solid #e8dce5}.site-footer .vb-logo{margin-right:auto}.privacy-links{display:flex;gap:20px;align-items:center;font-size:10px;color:#796574}.privacy-links button{background:none;border:0;padding:4px 0;font:inherit;color:inherit}.privacy-links button:hover{color:#9b3b70}.skip-link{position:fixed;z-index:200;top:-80px;left:20px;padding:12px 20px;background:#fff;border:1px solid var(--border);border-radius:10px;font-size:12px}.skip-link:focus{top:15px}.text-link{font-size:11px;color:#aa4a80;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px}.soft-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d1a7c0;border-radius:9px;background:#f4e7f0;color:#87345f;padding:12px 23px;font-size:12px;min-height:42px}.privacy-overlay{position:fixed;inset:0;z-index:90;background:#32213255;backdrop-filter:blur(5px)}.consent-card{position:fixed;z-index:80;bottom:20px;right:20px;width:min(350px,calc(100vw - 32px));padding:23px;border:1px solid #e4d3df;border-radius:14px;box-shadow:0 15px 55px #41203712;background:#fffcfe;color:#756579}.consent-card h2{font-size:16px;font-weight:550;letter-spacing:-.02em;color:#63374f;margin-bottom:12px}.consent-card p{font-size:11px;line-height:1.85;margin:10px 0}.consent-card .text-link{font-size:10px}.consent-close{position:absolute;right:12px;top:9px;background:none;border:0;color:#a08598;font-size:22px;line-height:1;padding:5px}.consent-actions{display:flex;gap:10px;margin-top:18px}.consent-actions button{flex:1;border:1px solid #d5b4c9;border-radius:8px;color:#87486d;background:#f6edf3;font-size:11px;padding:10px 12px}.consent-actions button:hover{background:#eedde8}.privacy-dialog{position:fixed;z-index:100;top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 32px));max-height:84dvh;overflow:auto;padding:30px;border:1px solid #e1cdda;border-radius:16px;background:#fffbfd;box-shadow:0 20px 80px #45203525;color:#756579;font-size:12px;line-height:1.8}.privacy-dialog h2{font-size:25px;letter-spacing:-.045em;font-weight:550;color:#63374f;margin:0 0 24px}.privacy-dialog h3{font-size:12px;font-weight:600;color:#70465f;margin:22px 0 7px}.privacy-dialog p{margin:7px 0}.privacy-dialog a{text-decoration:underline;text-underline-offset:3px}.privacy-controller{overflow-wrap:anywhere}.privacy-details{margin-top:20px;padding-top:13px;border-top:1px solid #e4d3de}.privacy-details summary{cursor:pointer;color:#70465f;font-weight:500;padding-block:5px}.privacy-details summary:focus-visible{outline:2px solid #b15a89;outline-offset:3px}.privacy-details[open] summary{margin-bottom:12px}.privacy-updated{font-size:10px;color:#ad8d9f;margin-top:22px!important}.privacy-dialog .soft-button{margin-top:14px}.privacy-notice{position:fixed;z-index:120;bottom:18px;left:18px;max-width:calc(100vw - 36px);background:#fffafd;border:1px solid #dec5d6;border-radius:10px;padding:17px;font-size:12px;color:#88627a}.privacy-notice button{border:0;background:none;margin-left:18px}.poster-viewer{position:fixed;z-index:100;inset:0;overflow:auto;padding:60px 25px 30px;background:#f8f0f5f2}.poster-viewer>img{max-width:min(100%,1100px);height:auto;margin:auto}.poster-close{position:fixed;z-index:110;right:20px;top:16px;background:#fff9fc;border:1px solid #d7b6cb;width:36px;height:36px;border-radius:50%;font-size:24px;color:#8d5e79}@media(min-width:1500px){.portfolio-stage{gap:48px;padding-top:20px}}@media(max-width:1120px){.site-navigation,.portfolio-stage,.site-footer{width:calc(100% - 64px)}.profile-panel{grid-template-columns:minmax(0,1fr) 200px;gap:38px}.project-entry-inner{grid-template-columns:minmax(220px,.85fr) minmax(0,1.5fr);gap:38px}.project-preview{grid-template-columns:minmax(0,1fr) 175px;gap:16px}.hanging-computer{width:168px;height:218px}.pendant-scene{transform:scale(.84)}}@media(max-width:820px){.site-navigation{min-height:80px;gap:20px}.site-navigation nav{gap:12px}.site-navigation nav a{font-size:12px}.profile-panel{grid-template-columns:minmax(0,1fr) 180px;gap:24px}.profile-identity h1{font-size:36px}.project-entry-inner{grid-template-columns:minmax(185px,.8fr) minmax(0,1.5fr);gap:24px}.project-button h3{font-size:25px}.project-preview{grid-template-columns:minmax(0,1fr) 145px;gap:12px}.project-description p{font-size:12px;line-height:1.8}.hanging-computer{width:143px;height:186px}.pendant-scene{transform:scale(.715)}}@media(max-width:620px){.site-navigation,.portfolio-stage,.site-footer{width:calc(100% - 40px)}.site-navigation{position:relative;height:auto;min-height:64px;flex-wrap:nowrap}.vb-logo{font-size:21px}.menu-toggle{display:grid;align-content:center;gap:5px;width:44px;height:44px;margin-right:-10px;padding:0 10px;border:0;background:none;cursor:pointer}.menu-toggle span{display:block;height:2px;border-radius:2px;background:#6f475e;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-navigation nav{display:none}.site-navigation nav.is-open{position:absolute;top:100%;left:-20px;right:-20px;display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 64px);overflow-y:auto;padding:4px 0 10px;border-top:1px solid #ecdde6;background:#faf6f9;box-shadow:0 18px 30px #4b303e1f;animation:menu-open .3s cubic-bezier(.22,1,.36,1)}@keyframes menu-open{0%{opacity:0;transform:translateY(-6px)}}.site-navigation nav.is-open a{padding:15px 20px;font-size:16px}.site-navigation nav.is-open a:after{display:none}.site-navigation nav.is-open a[aria-current=page]{background:#f3e5ed}.portfolio-stage{gap:30px;padding:3px 0 22px}.profile-panel{grid-template-columns:120px minmax(0,1fr);gap:22px}.profile-photo{order:0;border-radius:3px}.profile-identity h1{font-size:30px;line-height:1.1;white-space:normal}.profile-identity h1>br{display:initial}.profile-identity h1>span:before{content:none}.project-entry{padding:22px 0 30px}.project-entry-inner{grid-template-columns:1fr;gap:10px}.project-button{padding:5px 0 15px;gap:10px}.project-button h3{font-size:23px;letter-spacing:-.04em}.project-open{width:20px;height:20px;margin-right:3px}.project-preview{grid-template-columns:minmax(0,1fr) 124px;gap:22px;min-height:165px}.hanging-computer{width:121px;height:158px}.pendant-scene{transform:scale(.605)}.project-description p{font-size:12px;line-height:1.85}.section-heading{min-height:29px;margin-bottom:16px}.section-heading h2{font-size:20px}.site-footer{gap:19px;padding:17px 0 20px}.privacy-links{gap:16px;font-size:9px}.privacy-dialog{padding:26px 22px}.consent-card{right:16px;bottom:12px}}@media(max-width:360px){.profile-panel{grid-template-columns:104px minmax(0,1fr);gap:17px}.profile-identity h1{font-size:28px}.project-preview{grid-template-columns:minmax(0,1fr) 112px;gap:15px}.hanging-computer{width:110px;height:143px}.pendant-scene{transform:scale(.55)}}.portfolio-stage.is-about{gap:15px}.is-about .profile-panel{padding-bottom:24px;border-bottom:1px solid #e0cedb}@media(max-width:620px){.portfolio-stage.is-about{gap:18px}.profile-title{margin-top:16px}}@media(prefers-reduced-motion:reduce){.site-navigation nav.is-open{animation:none}.menu-toggle span{transition:none}*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.site-header{position:sticky;top:0;z-index:60;background:#faf6f9f2;backdrop-filter:blur(12px);flex-shrink:0}.line-arrow{display:block;width:22px;height:22px;flex-shrink:0}.line-arrow path{stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.detail-page{padding:5px 0 35px;min-height:340px;max-width:960px}.detail-page>h2,.work-projects .section-heading h2{margin:0 0 27px;font-size:32px;line-height:1.3;font-weight:650;letter-spacing:-.035em;color:#473342}.detail-page h3{margin:0 0 14px;font-size:22px;font-weight:600;line-height:1.45;letter-spacing:-.025em;color:#66465c}.work-projects .section-heading h2{margin:0}.detail-page p{margin:0 0 19px;color:#655b65;font-size:16px;line-height:1.8}.about-page{max-width:840px}.about-page p{font-size:15px;line-height:1.75;margin-bottom:17px;text-align:justify;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:7 3 3}.about-personal{margin-top:24px;padding-top:20px;border-top:1px solid #e0cedb}.detail-page.about-page>h2,.about-page .about-personal h3{margin:0 0 14px;color:#775368;font-size:18px;font-weight:550}.about-page .about-statement strong{color:#775368;font-weight:550}.about-page .about-aside{margin:15px 0 0;font-size:12px;line-height:1.65;color:#877381}.editorial-link{display:inline-flex;gap:13px;align-items:center;font-size:15px;color:#8e416b;padding:10px 0}.editorial-link .line-arrow{width:18px;height:18px;transition:transform .35s cubic-bezier(.22,1,.36,1)}.editorial-link:hover .line-arrow{transform:translate(3px,-3px)}.recognition-list{list-style:none;margin:0;padding:0;max-width:880px}.recognition-list li{padding:22px 0;border-bottom:1px solid #e0cedb}.recognition-list li:first-child{padding-top:0}.recognition-list h3{font-size:20px;margin-bottom:5px}.recognition-entry{display:grid;grid-template-columns:80px minmax(0,1fr);gap:26px;align-items:start}.issuer-image{padding-top:2px}.issuer-image img{width:80px;height:60px;object-fit:contain}.issuer-image img[src="/assets/28digital.svg"]{filter:brightness(0) opacity(.8)}.recognition-copy p{font-size:14px;margin-bottom:4px;line-height:1.7}.recognition-copy .recognition-issuer{color:#775368}.research-composition{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:70px;align-items:start;padding:0 10px 20px 0}.research-copy{max-width:600px}.research-paper{position:relative;width:100%;margin:3px auto 0;perspective:1000px}.paper-tilt{position:relative;transform-style:preserve-3d}.publication-poster{display:block;width:100%;border:0;padding:0;background:none;text-align:left;cursor:zoom-in}.publication-poster img{display:block;width:100%;height:auto;border:1px solid #dac7d4;box-shadow:0 8px 22px #59304b10}.contact-page{max-width:820px}.contact-list{list-style:none;padding:0;margin:24px 0 0}.contact-list li{border-bottom:1px solid #d4b7ca}.contact-list a{display:grid;grid-template-columns:24px 100px minmax(0,1fr) 20px;gap:20px;align-items:center;min-height:64px;padding:14px 10px 14px 0;line-height:1.5;color:#775368;transition:color .2s}.contact-symbol{display:block;width:22px;height:22px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}.contact-list a:hover .contact-symbol{transform:translateY(-2px)}.contact-label{font-size:15px;font-weight:600}.contact-value{font-size:15px;overflow-wrap:anywhere}.contact-list a:hover{color:#a43f74}.contact-list .line-arrow{width:20px;height:20px;transition:transform .3s}.contact-list a:hover .line-arrow{transform:translate(3px,-3px)}@media(max-width:820px){.detail-page>h2,.work-projects .section-heading h2{font-size:30px}.detail-page p{font-size:15px}.about-page p{font-size:14px;line-height:1.7;margin-bottom:14px}.research-composition{grid-template-columns:minmax(0,1fr) 190px;gap:40px}}@media(max-width:620px){.detail-page{padding-top:2px;padding-bottom:20px;min-height:300px}.detail-page>h2,.work-projects .section-heading h2{font-size:27px;margin-bottom:23px}.detail-page h3{font-size:20px}.detail-page p{font-size:14px;line-height:1.8;margin-bottom:17px}.recognition-entry{grid-template-columns:56px minmax(0,1fr);gap:18px}.issuer-image img{width:56px;height:48px}.recognition-list h3{font-size:18px}.recognition-copy p{font-size:13px;margin-bottom:4px}.research-composition{grid-template-columns:1fr;gap:25px;padding:0 0 20px}.research-paper{width:180px;margin:0 auto}.editorial-link{font-size:14px}.contact-list a{grid-template-columns:20px 65px minmax(0,1fr) 16px;gap:10px;min-height:68px;padding-right:4px}.contact-label,.contact-value{font-size:13px}.contact-symbol{width:18px;height:18px}.contact-list .line-arrow{width:16px;height:16px}}.mac-display{position:absolute;left:19.84%;top:20.62%;width:70.7%;height:40%;transform-origin:0 0;transform:matrix(.982,.188,-.156,.988,0,0);border-radius:2px;overflow:hidden;background:#faf7fa;color:#302436;box-shadow:inset 0 0 0 1px #1b1421;font-family:Inter,sans-serif}.mac-menu{height:10%;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:0 5%;font-size:4px;white-space:nowrap;background:#ede2ec}.mac-display>div:nth-child(2){position:relative;height:90%;padding:7%;overflow:hidden}.mac-display small{display:block;font-size:4px;letter-spacing:.12em;font-weight:500;margin-bottom:9px}.mac-display b{font-size:8px}.demo-record{background:#fff;border:1px solid #e6dce6;margin-bottom:7px;padding:5px;border-radius:4px;position:relative;overflow:hidden}.demo-record span{font-size:4px;display:block;color:#a1879b}.demo-record b{font-size:6px;display:block}.demo-record i{height:2px;background:#b57cab;position:absolute;bottom:0;left:0;right:0;transform-origin:left;animation:screen-scan 2.8s infinite}.demo-records small{margin-bottom:6px}.demo-board{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:68%;margin:auto}.demo-board i{aspect-ratio:1;background:#c09a6e;border-radius:2px;animation:tile-light 3s infinite}.demo-board i:nth-child(3n){background:#ae769a}.demo-label{display:block;text-align:center;font-size:4px;letter-spacing:.15em;margin-top:8px}.demo-mesos{background:#faf2df}.demo-drone{background:linear-gradient(135deg,#f5f7fc,#e2e5f5)}.demo-building{position:absolute;width:42%;height:48%;left:28%;top:28%;border:1px solid #a098bf;transform:skewY(-14deg);background:repeating-linear-gradient(90deg,transparent 0 11px,#a098bf44 11px 12px),repeating-linear-gradient(0deg,transparent 0 11px,#a098bf44 11px 12px)}.demo-drone>i{position:absolute;width:5px;height:5px;border-radius:50%;background:#ae6d99;animation:drone-flight 6s linear infinite}.demo-drone>i:nth-child(2n){background:#7799b1}.demo-spikes{background:#211c29;color:#e5c1dc}.demo-spikes>i{position:absolute;bottom:15%;width:1px;background:#d49bbd;animation:spikes 1.8s ease-in-out infinite alternate}.demo-search>div{border:1px solid #dbc7d8;border-radius:10px;padding:5px;font-size:6px;margin-bottom:8px}.demo-search p{border-bottom:1px solid #e7dce5;padding:5px;font-size:6px;animation:rank 3s infinite alternate}.demo-search p i{display:block;width:80%;height:3px;background:#e0c8da;margin-top:3px}.demo-cursor{animation:cursor 1s steps(1) infinite}.demo-donut{width:54px;height:54px;border:10px solid #bb80a7;border-right-color:#e3c9dd;border-bottom-color:#f1e2ed;border-radius:50%;margin:4px auto;animation:donut 9s linear infinite}.demo-bars{position:absolute;bottom:9%;left:10%;right:10%;height:20%;display:flex;align-items:end;gap:6px}.demo-bars i{flex:1;background:#c18cad;transform-origin:bottom;animation:spikes 2s infinite alternate}.demo-risk{background:#f3eaf5}.demo-risk p{font-size:5px;margin:5px 0}.demo-risk p i{height:5px;display:block;margin-top:3px;background:linear-gradient(90deg,#ba80ac,#dac5e0);transform-origin:left;animation:screen-scan 3s infinite}.demo-binary{background:#292331;color:#e8cae2}.demo-binary>div{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.demo-binary i{font:8px monospace;text-align:center;font-style:normal;animation:bits 2s steps(1) infinite}.demo-eco{background:#e8f0df}.demo-eco i{position:absolute;width:6px;height:6px;border-radius:50%;background:#779c6a;animation:wander 6s ease-in-out infinite alternate}.demo-eco i:nth-child(3n){background:#8e748c;width:4px;height:4px}.demo-network svg{width:100%;height:85%}.demo-network path{stroke:#b995b1;stroke-width:1;fill:none}.demo-network circle{fill:#ac739d;animation:node-pulse 2.5s infinite}@keyframes screen-scan{0%{transform:scaleX(.1)}70%,to{transform:scaleX(1)}}@keyframes tile-light{50%{opacity:.4;transform:scale(.9)}}@keyframes drone-flight{0%,to{left:18%;top:52%}25%{left:48%;top:20%}50%{left:80%;top:55%}75%{left:48%;top:85%}}@keyframes spikes{to{transform:scaleY(.5)}}@keyframes rank{to{transform:translate(4px)}}@keyframes cursor{50%{opacity:0}}@keyframes donut{to{transform:rotate(360deg)}}@keyframes bits{50%{color:#b67ca3;opacity:.25}}@keyframes wander{to{transform:translate(15px,-10px)}}@keyframes node-pulse{50%{opacity:.4;r:5}}.education-library,.experience-archive{max-width:none}.education-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px;margin:45px 14px 50px 0;padding:0;list-style:none}.education-volume{perspective:1200px;min-width:0;padding:0 5px}.closed-book{--thesis-height: 310px;position:relative;display:block;width:min(100%,calc(var(--thesis-height) * 210 / 297));height:var(--thesis-height);margin-inline:auto;padding:0;border:0;background:none;perspective:1200px;transform:rotate(-3deg);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.22,1,.36,1);outline-offset:16px}.education-volume:nth-child(2n) .closed-book{transform:rotate(2deg)}.book-page-block{position:absolute;inset:4px -4px -4px 5px;border:1px solid #bd8195;border-radius:1px;background:repeating-linear-gradient(0deg,#f3e9db 0px 1px,#d6c7ba 2px,#f9f0e5 3px);box-shadow:5px 9px 15px #59354520,1px 2px 2px #79575a40}.book-cover-face{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:30px 24px 22px 30px;border:1px solid #eec5ce;border-radius:1px 2px 2px 1px;background:linear-gradient(90deg,#a9647e44,transparent 9%,#f7d7e633 15%,transparent 20%,#e3b3c3aa),url(/assets/book-linen.webp);background-size:auto,260px;box-shadow:inset 3px 0 3px #8b526442,inset 7px 0 1px #f5d5df80,inset -1px 1px 2px #ffedf5,3px 5px 6px #a5768540;transform-origin:3px 50%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .65s}.book-cover-face:before{content:"";position:absolute;inset:0 auto 0 10px;width:1px;background:#a36b7b44;box-shadow:1px 0 1px #fae1e7aa}.book-embossed-title{font:23px/1.18 Georgia,serif;text-align:center;color:#8e4d62;text-shadow:0 1px 0 #ffe7ed,0 -1px 0 #9c5f7040;max-width:190px}.book-logos{display:flex;align-items:center;gap:12px;width:210px;max-width:100%;height:48px;margin-bottom:20px;color:#a45b72}.book-logo-mark{display:block;width:100%;height:100%;min-width:0;background-color:currentColor;-webkit-mask:var(--logo-image) left center / contain no-repeat;mask:var(--logo-image) left center / contain no-repeat}.book-cover-logos{height:36px;width:86px;margin:24px 0 0;color:#8e4d62;filter:drop-shadow(0 1px 0 #ffe7ed80)}.book-cover-logos .book-logo-mark{-webkit-mask-position:center;mask-position:center}.book-logos-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.book-cover-logos.book-logos-group{width:106px;gap:8px}.closed-book:hover,.education-volume:nth-child(2n) .closed-book:hover,.closed-book:focus-visible{transform:translateY(-10px) rotate(-1deg)}.closed-book:hover .book-cover-face,.closed-book:focus-visible .book-cover-face{transform:rotateY(-20deg);box-shadow:inset 3px 0 3px #8b526442,inset 7px 0 1px #f5d5df80,12px 9px 16px #80506125}.study-motif{width:140px;height:80px;stroke:#a4627d;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.motif-trace{stroke-dasharray:5 5;animation:study-flow 6s linear infinite}.motif-neuron{fill:#edd1dc;animation:study-neuron 3s ease-in-out infinite}@keyframes study-flow{to{stroke-dashoffset:-60}}@keyframes study-neuron{50%{fill:#b77b96}}.book-overlay{position:fixed;inset:0;z-index:100;background:#3f263c60;backdrop-filter:blur(7px);animation:book-overlay-in .25s ease}.book-overlay[data-state=closed]{animation:book-overlay-out .45s ease forwards}.book-dialog{position:fixed;z-index:101;top:50%;left:50%;width:min(960px,calc(100vw - 64px));max-height:calc(100dvh - 40px);padding:30px 5px 20px;transform:translate(-50%,-50%);overflow:auto;outline:none;animation:book-dialog-in .35s ease}.book-dialog[data-state=closed]{animation:book-dialog-out .45s ease forwards}.book-close{position:absolute;right:5px;top:0;border:0;background:#fff5f8;color:#8e526c;width:30px;height:30px;border-radius:50%;font:24px/1 Georgia,serif;z-index:20}.book-spread{position:relative;height:550px;margin:9px 4px;perspective:1900px;transform-style:preserve-3d}.book-under-cover{position:absolute;inset:-5px;background:#d396ab url(/assets/book-linen.webp) center/260px;border-radius:2px;box-shadow:0 18px 35px #3e213338,inset 0 0 0 2px #c08a9d;animation:book-base-unfold 1s ease both}.book-page{position:absolute;top:0;width:50%;height:100%;padding:30px 34px;background:#fff8ef;border:1px solid #ebded2;border-radius:3px 8px 8px 3px;color:#725663}.book-right-page{right:0;background:linear-gradient(90deg,#d8c6b8 0,#eee1d5 1%,#fff8ef 7% 96%,#f2e7dc);box-shadow:2px 3px #e1d1c2,4px 5px #fbf1e5,6px 7px 1px #dbbbaa;display:flex;flex-direction:column;align-items:flex-start}.book-turning-cover{position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:left center;transform-style:preserve-3d;transform:rotateY(-180deg);animation:book-unfold 1s cubic-bezier(.22,.7,.23,1) both;z-index:3}.book-front-surface,.book-left-page{position:absolute;inset:0;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.book-front-surface .book-cover-face{border-radius:1px 2px 2px 1px}.book-front-surface .book-embossed-title{font-size:31px;max-width:270px}.book-front-surface .book-cover-logos{width:115px;height:44px}.book-left-page{transform:rotateY(180deg);border-radius:8px 3px 3px 8px;background:linear-gradient(90deg,#fff8ef 0 92%,#f0e3d7 98%,#d5c1b2);box-shadow:-2px 3px #e1d1c2,-4px 5px #fbf1e5,-6px 7px 1px #dbbbaa}.book-left-page h3{font:27px/1.13 Georgia,serif;margin:0 0 15px;color:#a45b72;max-width:310px}.book-institution{font-size:13px;line-height:1.55;margin:0 0 20px;color:#95677b}.book-meta{display:flex;flex-direction:column;gap:5px;margin:0 0 20px;font-size:12px;color:#856e71}.book-summary{font-size:13px;line-height:1.75;margin:0 0 20px}.book-programme-link{display:inline-flex;gap:10px;align-items:center;font-size:12px;padding:12px 0;color:#9a536e}.book-programme-link .line-arrow{width:16px;height:16px;transition:transform .25s}.book-programme-link:hover .line-arrow{transform:translate(3px,-3px)}.book-photograph{margin:0;width:100%;max-width:330px;align-self:center;flex-shrink:0;padding:8px 8px 5px;background:#fffdf8;box-shadow:1px 3px 7px #76584325;transform:rotate(-3deg)}.study-photo{display:block;aspect-ratio:1.5;width:100%;background-image:url(/assets/study-editorial.webp);background-size:200% 200%}.study-photo-0{background-position:0 0}.study-photo-1{background-position:100% 0}.study-photo-2{background-position:0 100%}.study-photo-3{background-position:100% 100%}.book-right-page>.study-motif{flex-shrink:0;align-self:center;margin:4px 0;height:78px}.book-right-page h4{font-size:11px;font-weight:500;letter-spacing:.04em;color:#a26078;margin:7px 0 8px}.book-subjects{margin:0;padding-left:14px;font-size:12px;line-height:1.85}.book-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#a78d7830;pointer-events:none;z-index:4}.book-dialog[data-state=closed] .book-turning-cover{animation:book-fold .45s ease both}@keyframes book-unfold{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes book-fold{0%{transform:rotateY(-180deg)}to{transform:rotateY(0)}}@keyframes book-base-unfold{0%{clip-path:inset(0 0 0 50%)}to{clip-path:inset(0)}}@keyframes book-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes book-overlay-out{to{opacity:0}}@keyframes book-dialog-in{0%{opacity:.5}to{opacity:1}}@keyframes book-dialog-out{80%{opacity:1}to{opacity:0}}.career-folder{position:relative;max-width:860px;height:380px;margin:0 auto;perspective:1500px;isolation:isolate;transition:transform .55s cubic-bezier(.22,1,.36,1),height .55s cubic-bezier(.22,1,.36,1)}.career-folder[data-open=true]{height:520px;transform:translateY(-7px)}.folder-back,.folder-stack-layer{position:absolute;bottom:25px;left:50%;width:min(520px,82%);height:295px;transform:translate(-50%);border:1px solid #e5b1c2;border-radius:9px;background:linear-gradient(120deg,#e9bac8,#d899ad);box-shadow:0 15px 25px #79505e20}.folder-stack-layer{transform:translate(-50%) rotate(-4deg) translate(-10px,-5px);background:#e6b6c7;opacity:.65;z-index:-1}.folder-back:before{content:"";position:absolute;width:120px;height:28px;top:-25px;left:0;background:#e7b4c5;border:1px solid #e5b1c2;border-bottom:0;border-radius:10px 14px 0 0}.folder-back>span{position:absolute;top:-18px;left:16px;font-size:10px;color:#9e5d76}.folder-document-clip{position:absolute;inset:-40px -12px 25px;overflow:hidden;z-index:1;pointer-events:none}.folder-documents{position:absolute;inset:40px 12px -25px;pointer-events:none}.folder-sheet{position:absolute;width:40%;height:340px;top:110px;padding:25px;background:linear-gradient(110deg,#fffaf2,#f5e9de);border:1px solid #fffdf6;border-radius:3px;box-shadow:0 5px 12px #6f42552a;color:#7c606c;transform:translateY(135px) rotate(-4deg) scale(.96);transition:transform .5s cubic-bezier(.22,1,.36,1),visibility 0s linear .5s;visibility:hidden}.sheet-role{left:8%}.sheet-work{right:8%;transform:translateY(140px) rotate(5deg) scale(.96)}.career-folder[data-open=true] .folder-sheet{transform:translateY(-105px) rotate(-4deg);visibility:visible;pointer-events:auto;transition:transform .65s cubic-bezier(.22,1,.36,1),visibility 0s}.career-folder[data-open=true] .sheet-work{transform:translateY(-118px) rotate(5deg);transition-delay:.04s,0s}.folder-company-logo{display:block;width:150px;height:38px;color:#a45b72;margin-bottom:16px}.folder-sheet h3{font:23px/1.2 Georgia,serif;color:#a6647d;margin:0 0 12px}.folder-sheet p{font-size:12px;line-height:1.65;margin:0 0 12px;color:#806974}.folder-sheet .folder-institution{font-size:11px;color:#ab788e;margin-bottom:10px}.folder-sheet .folder-meta{font-size:10px;line-height:1.5}.folder-sheet ul{padding-left:13px;margin:0 0 13px;font-size:12px;line-height:1.8}.folder-sheet a{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#9c5876;padding:5px 0}.folder-sheet a .line-arrow{width:14px;height:14px}.folder-research-photo{float:right;height:95px;width:75px;background:#fffdf7;padding:5px;transform:rotate(5deg);box-shadow:1px 2px 5px #6b495526;margin:0 4px 0 10px}.folder-research-photo img{width:100%;height:100%;object-fit:contain}.folder-front{position:absolute;z-index:2;bottom:12px;left:50%;height:280px;width:min(520px,86%);transform:translate(-50%);border:1px solid #edc5d2;border-radius:10px;background:linear-gradient(120deg,#f3c8d4aa,#d995aeaa),url(/assets/book-linen.webp) center/360px;box-shadow:inset 0 2px 2px #ffe4eb,0 8px 15px #73495733;transform-origin:center bottom;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s;color:#a1687e;display:flex;flex-direction:column;align-items:center;justify-content:center}.career-folder[data-open=true] .folder-front{transform:translate(-50%) rotateX(-62deg);box-shadow:inset 0 2px 2px #ffe4eb,0 15px 18px #73495726}.folder-cover-logo{display:block;width:72%;max-width:330px;height:85px;color:#8e4d62;filter:drop-shadow(0 1px 0 #ffe7ed80)}.folder-company-logo,.folder-cover-logo{background-color:currentColor;-webkit-mask:url(/assets/issuers/int-mask.svg) center / contain no-repeat;mask:url(/assets/issuers/int-mask.svg) center / contain no-repeat}@media(max-width:1120px){.education-books{gap:30px}.closed-book{--thesis-height: 280px}.book-cover-face{padding-inline:23px 16px}.book-embossed-title{font-size:21px}}@media(max-width:820px){.education-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 55px;max-width:620px;margin-inline:auto;padding-right:10px}.closed-book{--thesis-height: 310px}.book-embossed-title{font-size:23px}.book-page{padding:25px}.book-left-page h3{font-size:24px}.folder-sheet{padding:22px}}@media(max-width:620px){.education-books{gap:32px 24px;margin-top:32px;padding-right:6px}.closed-book{--thesis-height: 240px}.book-cover-face{padding:22px 12px 15px 20px}.book-embossed-title{font-size:18px}.book-cover-logos{height:28px;width:66px;margin-top:18px;max-width:84px}.book-logos-group{gap:6px}.book-dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 16px);padding-top:31px}.book-spread{height:490px;margin-inline:1px}.book-page{padding:19px 13px}.book-logos:not(.book-cover-logos){width:130px;max-width:100%;height:35px;margin-bottom:17px}.book-left-page h3{font-size:19px;margin-bottom:12px}.book-institution{font-size:11px;margin-bottom:14px;line-height:1.5}.book-meta{font-size:10px;gap:5px;margin-bottom:16px}.book-summary{font-size:11px;line-height:1.65;margin-bottom:14px}.book-programme-link{font-size:10px;gap:5px;line-height:1.4}.book-programme-link .line-arrow{width:13px;height:13px}.book-front-surface .book-embossed-title{font-size:22px}.book-front-surface .book-cover-logos{width:78px;height:30px}.book-photograph{padding:5px 5px 4px;margin-top:5px}.study-photo{aspect-ratio:1.25}.book-right-page>.study-motif{height:72px;width:100%;margin:16px 0 7px}.book-right-page h4{font-size:10px}.book-subjects{font-size:10px;line-height:1.8;padding-left:11px}.career-folder{height:330px;margin-top:-25px}.career-folder[data-open=true]{height:690px}.folder-back,.folder-stack-layer{width:92%;height:220px}.folder-front{width:100%;height:220px}.folder-sheet{top:110px;width:47%;height:385px;padding:16px 12px}.sheet-role{left:0}.sheet-work{right:0}.career-folder[data-open=true] .sheet-role{transform:translateY(-100px) rotate(-3deg)}.career-folder[data-open=true] .sheet-work{transform:translateY(-110px) rotate(3deg)}.folder-company-logo{width:100%;height:33px;margin-bottom:14px}.folder-sheet h3{font-size:20px;margin-bottom:13px}.folder-sheet p{font-size:11px;line-height:1.6;margin-bottom:13px}.folder-sheet .folder-institution{font-size:10px;line-height:1.5}.folder-sheet .folder-meta{font-size:10px}.folder-sheet ul{font-size:11px;line-height:1.7;padding-left:10px}.folder-sheet a{font-size:10px;gap:4px}.folder-research-photo{float:none;height:95px;width:78px;margin:12px auto}}@media(max-width:360px){.education-books{gap:30px 20px}.closed-book{--thesis-height: 218px}.book-embossed-title{font-size:16px}.book-page{padding:18px 10px}.book-left-page h3{font-size:17px}.folder-sheet{padding-inline:10px;height:405px}.folder-sheet h3{font-size:18px}.folder-sheet p,.folder-sheet ul{font-size:10px}}@media(prefers-reduced-motion:reduce){.book-turning-cover{transform:rotateY(-180deg)}.book-dialog[data-state=closed] .book-turning-cover{transform:rotateY(0)}.book-under-cover{clip-path:none}}.skills-page{max-width:none}.toolkit-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:6px}.toolkit-heading h3{margin-bottom:0;font-size:18px}.toolkit-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}.toolkit-tabs button{position:relative;padding:8px 0;border:0;background:none;color:#8b7b86;font-size:12px;line-height:1.5;text-align:left;transition:color .2s}.toolkit-tabs button:after{position:absolute;content:"";height:1px;bottom:4px;left:0;right:0;background:#b67c95;transform:scaleX(0);transform-origin:left;transition:transform .25s}.toolkit-tabs button[aria-selected=true],.toolkit-tabs button:hover{color:#8e4d62}.toolkit-tabs button[aria-selected=true]:after{transform:scaleX(1)}.toolkit-panel{margin-top:8px;border-block:1px solid #e4d3de}.skill-lane{min-width:0}.skill-marquee{min-width:0;overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(90deg,transparent,black 12px,black calc(100% - 12px),transparent);mask-image:linear-gradient(90deg,transparent,black 12px,black calc(100% - 12px),transparent)}.skill-marquee::-webkit-scrollbar{display:none}.skill-marquee[data-dragging=true]{cursor:grabbing}.skill-marquee:focus-visible{outline:2px solid #b15a89;outline-offset:-2px}.skill-marquee-track{display:flex;width:max-content}.skill-marquee-group{display:flex;align-items:center;flex-shrink:0;gap:25px;list-style:none;margin:0;padding:14px 25px 14px 0}.skill-marquee-group li{color:#8e4d62;font-size:14px;font-weight:450;white-space:nowrap}.technology-section{margin-top:28px}.technology-section h3{font-size:18px;margin-bottom:4px}.technology-field{position:relative;isolation:isolate;height:254px;width:100%}.technology-bubble{position:absolute;display:block;padding:0;border:0;border-radius:50%;background:none;color:#8e4d62;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;z-index:1}.technology-bubble[data-dragging=true]{cursor:grabbing;z-index:20}.technology-bubble:hover,.technology-bubble:focus-visible{z-index:10}.technology-bubble-float{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;border:1px solid #eadce280;background:#fffafd9e;box-shadow:0 5px 16px #68435108;animation:technology-float var(--float-duration) ease-in-out infinite;animation-delay:var(--float-delay);animation-play-state:paused}.technology-field[data-animate=true] .technology-bubble-float{animation-play-state:running}.technology-field .technology-bubble:is(:hover,:focus-visible,[data-dragging=true]) .technology-bubble-float{animation-play-state:paused}.technology-icon{display:block;width:20px;height:20px;background-color:currentColor;-webkit-mask:var(--technology-icon) center / contain no-repeat;mask:var(--technology-icon) center / contain no-repeat;transition:transform .3s,color .3s}.technology-bubble:hover .technology-icon{transform:scale(1.1)}.technology-bubble-label{position:absolute;width:max-content;max-width:100px;transform:translate(-50%,-3px);opacity:0;pointer-events:none;color:#775368;background:#fff9fdd9;border-radius:4px;padding:2px 5px;font-size:10px;line-height:1.5;transition:opacity .2s,transform .2s}.technology-bubble:is(:hover,:focus-visible,[data-dragging=true]) .technology-bubble-label{opacity:1;transform:translate(-50%)}@keyframes technology-float{0%,to{transform:translate(calc(-1 * var(--float-x)),var(--float-y))}50%{transform:translate(var(--float-x),calc(-1 * var(--float-y)))}}@media(max-width:620px){.toolkit-tabs{flex-wrap:nowrap;gap:0 18px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.toolkit-tabs::-webkit-scrollbar{display:none}.toolkit-tabs button{flex-shrink:0;font-size:12px;padding-block:7px}.toolkit-tabs button:focus-visible{outline-offset:-2px}.skill-marquee-group{gap:20px;padding:12px 20px 12px 0}.skill-marquee-group li{font-size:13px}.technology-section{margin-top:25px}.technology-field{height:380px}.technology-icon{width:18px;height:18px}.technology-bubble-label{font-size:9px}}.memories-page{max-width:1120px}.memories-gallery{display:grid;grid-template-columns:.9fr 1.35fr .85fr;align-items:center;gap:35px;padding:30px 16px 45px}.memory-item{min-width:0;position:relative}.memory-item:nth-child(2){margin-top:45px}.memory-item:focus-within{z-index:10}.memory-print{display:block;position:relative;width:min(100%,calc(320px * var(--memory-ratio)));margin-inline:auto;padding:7px;border:0;background:#fffafc;box-shadow:0 7px 20px #6843511a,0 1px 3px #68435112;cursor:grab;touch-action:manipulation;user-select:none}.memory-print:active{cursor:grabbing}.memory-print img{width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}.memory-viewer{display:grid;place-items:center}.memory-viewer>img{max-width:100%;max-height:calc(100dvh - 100px);width:auto;height:auto;object-fit:contain}@media(max-width:900px){.memories-gallery{gap:22px;padding-inline:8px}}@media(max-width:620px){.memories-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;padding:20px 6px 32px}.memory-item:nth-child(2){margin-top:0}}.assistant-launcher{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(var(--assistant-clearance, 20px),env(safe-area-inset-bottom));z-index:70;width:72px;height:84px;padding:0;border:0;background:transparent;border-radius:24px;transition:transform .25s}.assistant-launcher:hover{transform:translateY(-3px) rotate(-4deg)}.pink-robot{display:block;width:100%;height:100%;overflow:visible}.robot-float{animation:robot-float 4s ease-in-out infinite;transform-origin:50% 70%}.robot-eyes{animation:robot-blink 6s infinite;transform-origin:50px 46px}.robot-shadow{animation:robot-shadow 4s ease-in-out infinite;transform-origin:center}@keyframes robot-float{50%{transform:translateY(-5px) rotate(2deg)}}@keyframes robot-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.15)}}@keyframes robot-shadow{50%{transform:scaleX(.8);opacity:.55}}.assistant-overlay{position:fixed;inset:0;z-index:79;background:#543c4b18}.assistant-panel{position:fixed;z-index:80;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:min(390px,calc(100vw - 32px));height:min(620px,calc(100dvh - 48px));display:flex;flex-direction:column;border:1px solid #e1c6d6;border-radius:22px;background:#fcf8fb;box-shadow:0 18px 80px #543c4b26;overflow:hidden;color:#58434f;animation:assistant-enter .25s ease-out}@keyframes assistant-enter{0%{opacity:0;transform:translateY(12px) scale(.98)}}.assistant-header{display:flex;justify-content:space-between;gap:12px;padding:19px 20px 16px;border-bottom:1px solid #eadce5}.assistant-header h2{font-size:17px;font-weight:600;letter-spacing:-.025em}.assistant-header p{font-size:12px;margin-top:4px;color:#816778}.assistant-close{width:32px;height:32px;border:0;background:#f2e3ed;border-radius:50%;font-size:22px;flex-shrink:0}.assistant-loading{padding:20px;font-size:14px}.assistant-conversation{min-height:0;flex:1;display:flex;flex-direction:column}.assistant-scroll{overflow-y:auto;overscroll-behavior:contain;padding:18px 20px;flex:1;min-height:0;scrollbar-width:thin}.assistant-scroll p{font-size:13px;line-height:1.65}.assistant-welcome{max-width:29ch;margin-bottom:14px}.assistant-prompts{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.assistant-prompts button{border:1px solid #dfc4d5;background:transparent;border-radius:20px;padding:6px 10px;font-size:11px;transition:background .2s}.assistant-prompts button:hover{background:#f3e4ed}.assistant-inline,.assistant-stop,.assistant-controls button,.assistant-details button{border:0;padding:3px 0;background:transparent;font-size:11px;color:#824e6b;text-decoration:underline;text-underline-offset:3px}.assistant-scroll .assistant-notice{font-size:11px;color:#7c6474;margin-top:12px}.assistant-message{padding:13px 0;border-bottom:1px solid #eddee8;overflow-wrap:anywhere}.assistant-message.is-user{margin:16px 0 0 25px;padding:10px 13px;border:0;border-radius:15px 15px 3px;background:#f0ddea}.assistant-message p{white-space:pre-wrap}.assistant-answer-mode{display:block;font-size:10px;color:#8f637f;margin-bottom:5px}.assistant-sources{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:10px}.assistant-sources a{color:#8e5275;text-decoration:underline;text-underline-offset:3px;font-size:11px}.assistant-composer{padding:12px 16px 14px;border-top:1px solid #eadce5;background:#fcf8fb}.assistant-composer form{display:flex;align-items:center;gap:8px}.assistant-composer input{min-width:0;flex:1;padding:11px 12px;border:1px solid #dfc4d5;border-radius:12px;background:#fffafd;color:#58434f;font-size:16px}.assistant-composer input::placeholder{color:#93798b;font-size:13px}.assistant-composer input:focus-visible{outline:2px solid #b15a89;outline-offset:2px}.assistant-composer form button{padding:9px 10px;border:0;border-radius:10px;background:#eedce7;font-size:12px}.assistant-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;color:#8b7282;font-size:10px}.assistant-details{color:#8b7282;font-size:10px;margin-top:5px}.assistant-details summary{cursor:pointer;width:fit-content}.assistant-details p{margin:8px 0;font-size:11px;line-height:1.55}.assistant-details[open]{max-height:125px;overflow-y:auto}.assistant-stop{margin-bottom:6px}.assistant-sharing{display:flex;align-items:flex-start;gap:8px;margin-top:11px;color:#785568;font-size:11px;line-height:1.5}.assistant-sharing input{width:15px;height:15px;margin:1px 0 0;accent-color:#9d5579;flex:0 0 auto}.assistant-sources span{font-size:11px;color:#8e5275}@media(max-width:620px){.assistant-launcher{width:55px;height:64px;right:12px;bottom:max(var(--assistant-clearance, 20px),env(safe-area-inset-bottom))}.assistant-panel{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);height:min(600px,calc(100dvh - 24px));border-radius:18px}.assistant-header,.assistant-scroll{padding:16px}}@media(prefers-reduced-motion:reduce){.robot-float,.robot-eyes,.robot-shadow,.assistant-panel{animation:none}.assistant-launcher{transition:none}.assistant-launcher:hover{transform:none}}.about-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:0 52px;align-items:start}.about-row>.about-document{grid-column:2;grid-row:1;padding-top:8px}.about-row>div{grid-column:1;grid-row:1;min-width:0}.about-document{display:flex;flex-direction:column;align-items:center;gap:20px;border:0;padding:0;background:transparent;min-width:0}.document-object{position:relative;display:block;width:min(100%,160px);aspect-ratio:210 / 297;perspective:1000px;transform:rotate(-3deg);transition:transform .5s cubic-bezier(.22,1,.36,1)}.document-thesis .document-object{transform:rotate(3deg)}.about-document:is(:hover,:focus-visible) .document-object{transform:translateY(-6px) rotate(0)}.document-caption{display:flex;flex-direction:column;gap:5px;color:#785366;font-size:15px;line-height:1.4}.document-note-pages,.document-note-count{white-space:nowrap}.document-note{margin-top:-14px;color:#a1899a;font-size:9.5px;font-style:italic;line-height:1.4;text-align:center}.document-thesis-pages{position:absolute;inset:4px -3px -3px 5px;background:repeating-linear-gradient(0deg,#f6ede1 0px 1px,#dbcbbc 2px,#f9f2e9 3px);border:1px solid #bd8195;box-shadow:4px 7px 13px #76536526}.document-thesis-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 14px 20px 21px;background:linear-gradient(90deg,#aa647e55,transparent 9%,#f7d7e633 15%,transparent 20%,#e3b3c3aa),url(/assets/book-linen.webp);background-size:auto,260px;border:1px solid #eec5ce;border-radius:1px 2px 2px 1px;box-shadow:inset 4px 0 3px #8b526442,inset 7px 0 1px #f5d5df80,2px 4px 6px #a5768540;transform-origin:3px 50%;transition:transform .55s cubic-bezier(.22,1,.36,1);color:#8e4d62;text-align:center}.about-document:is(:hover,:focus-visible) .document-thesis-cover{transform:rotateY(-16deg)}.document-cover-kicker{font:11px/1.4 Georgia,serif}.document-cover-title{font:20px/1.2 Georgia,serif;margin-top:12px;text-shadow:0 1px #ffe7ed}.document-cover-seal{display:block;width:30px;height:35px;margin:20px auto;background:#a5697e;mask:url(/assets/issuers/pavia-seal.svg) center/contain no-repeat}.document-cover-author{font:10px/1.4 Georgia,serif}.document-folder-back{position:absolute;inset:12px 0 0;background:#e6b2c7;border:1px solid #d99ab2;border-radius:3px 11px 5px 5px;box-shadow:4px 7px 13px #76536526}.document-folder-back:before{content:"";position:absolute;left:-1px;top:-11px;height:15px;width:43%;border:1px solid #d99ab2;border-bottom:0;border-radius:7px 10px 0 0;background:#e6b2c7}.document-cv-paper{display:block;position:absolute;inset:17px 10px 10px;transform:rotate(2deg);border:1px solid #e0c6c8;box-shadow:0 1px 3px #79505933;background:#fff;overflow:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1)}.document-cv-paper img{width:100%;height:auto}.document-folder-front{position:absolute;inset:45px 0 0;border:1px solid #da9caf;border-radius:6px 6px 4px 4px;display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,#efc5d2aa,#df9fb7aa),url(/assets/book-linen.webp);background-size:auto,260px;transform-origin:bottom center;box-shadow:inset 1px 1px 2px #ffe9ef,0 -2px 5px #ad697b20;transition:transform .5s cubic-bezier(.22,1,.36,1)}.document-folder-front>span{font:19px/1.4 Georgia,serif;color:#97586e;text-shadow:0 1px #ffe7ed}.about-document:is(:hover,:focus-visible) .document-cv-paper{transform:translateY(-12px) rotate(-1deg)}.about-document:is(:hover,:focus-visible) .document-folder-front{transform:rotateX(-13deg)}.document-reader-overlay{position:fixed;inset:0;background:#4b303e80;z-index:100;backdrop-filter:blur(6px)}.document-reader{position:fixed;z-index:101;inset:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));max-width:1040px;margin-inline:auto;display:flex;flex-direction:column;background:#f9f0f5;border:1px solid #dcb4c9;border-radius:18px;box-shadow:0 20px 90px #40213544;overflow:hidden;animation:document-open .4s cubic-bezier(.22,1,.36,1)}@keyframes document-open{0%{opacity:0;transform:perspective(1200px) rotateY(-5deg) translateY(12px) scale(.98)}}.document-reader-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 20px;flex-shrink:0;border-bottom:1px solid #e2cad7}.document-reader-header h2{font-size:17px;font-weight:600;color:#6f475e;line-height:1.4}.document-reader-header p{font-size:11px;color:#967587;margin-top:3px}.document-reader-actions{display:flex;align-items:center;gap:15px;flex-shrink:0}.document-reader-actions a{font-size:12px;color:#80546c;text-decoration:underline;text-underline-offset:4px;padding-block:8px}.document-reader-actions button{width:32px;height:32px;font-size:23px;border:0;border-radius:50%;background:#eddae5}.document-reader-pages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px;outline-offset:-3px}.document-reader-pages figure{margin:0 auto 20px;width:min(100%,840px)}.document-reader-pages img{width:100%;height:auto;background:#fff;box-shadow:0 2px 8px #64465720}.document-reader-pages figcaption{font-size:10px;color:#937284;text-align:center;padding-top:9px}@media(max-width:820px){.about-row{grid-template-columns:minmax(0,1fr) 124px;gap:0 28px}.document-object{width:min(100%,124px)}}@media(max-width:620px){.about-row{grid-template-columns:minmax(0,1fr) 88px;gap:0 14px}.about-row>.about-document{padding-top:4px;gap:10px}.document-object{width:84px}.document-caption{font-size:13px}.document-note{margin-top:-6px;font-size:8.5px}.document-note-pages{white-space:normal}.document-thesis-cover{padding:12px 5px 10px 8px}.document-cover-kicker{font-size:6px}.document-cover-title{font-size:11px;margin-top:6px}.document-cover-seal{width:16px;height:19px;margin-block:9px}.document-cover-author{font-size:6px}.document-folder-back{inset:8px 0 0}.document-folder-back:before{top:-7px;height:10px}.document-cv-paper{inset:11px 6px 6px}.document-folder-front{inset:26px 0 0}.document-folder-front>span{font-size:11px}.document-reader{inset:max(10px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom));border-radius:12px}.document-reader-header{flex-wrap:wrap;gap:7px;padding:12px}.document-reader-header>div:first-child{flex:1 1 130px}.document-reader-header h2{font-size:15px}.document-reader-actions{gap:12px}.document-reader-actions a{font-size:11px}.document-reader-pages{padding:14px 9px}}@media(prefers-reduced-motion:reduce){.document-object,.document-thesis-cover,.document-cv-paper,.document-folder-front{transition:none}.document-reader{animation:none}.about-document:is(:hover,:focus-visible) .document-object,.about-document:is(:hover,:focus-visible) .document-thesis-cover,.about-document:is(:hover,:focus-visible) .document-cv-paper,.about-document:is(:hover,:focus-visible) .document-folder-front{transform:none}}.exams-page{max-width:920px}.exam-list{list-style:none;margin:0;padding:0}.exam-list>li{padding:30px 0 34px;border-bottom:1px solid #e0cedb}.exam-list>li:last-child{border-bottom:0}.exam-list>li:first-child{padding-top:4px}.exam-entry{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:0 48px;align-items:start}.exam-entry>.exam-pad{grid-column:2;grid-row:1}.exam-entry>.exam-copy{grid-column:1;grid-row:1;min-width:0}.exams-page .exam-copy h3{margin-bottom:6px;font-size:21px}.exam-credits{display:inline-block;margin-left:4px;padding:1px 9px;border:1px solid #dcbccd;border-radius:999px;color:#8e416b;font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.6;vertical-align:3px;white-space:nowrap}.exams-page .exam-meta{margin-bottom:12px;color:#8a6b7e;font-size:13px;line-height:1.6}.exams-page .exam-copy p:last-child{font-size:15px;line-height:1.75;margin-bottom:0}.pad{--paper: #fffdf8;--ink: #283a66;--ink-strong: #1f2f58;--rule-color: #c4d7ec;position:relative;display:block;color:var(--ink);font-family:Playpen Sans,Segoe Print,Bradley Hand,cursive}.exam-lambda{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:1.08em}.pad sub,.pad sup{font-size:.72em;line-height:0}.pad-binding{position:absolute;z-index:4;top:0;left:6%;right:6%;height:var(--binding-h);display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.pad-binding i{position:relative;display:block;width:var(--hole);height:var(--hole);margin-bottom:calc(var(--hole) * -.2);border-radius:50%;background:#e9dfe6;box-shadow:inset 1px 1px 2px #6d4b5a59}.pad-binding i:before{content:"";position:absolute;left:50%;bottom:40%;width:calc(var(--hole) * .62);height:calc(var(--binding-h) * .95);transform:translate(-50%);border:var(--coil) solid #aaa3ae;border-radius:999px;box-shadow:inset 0 0 0 1px #f3f0f5,0 1px 1px #6d4b5a40}.exam-pad{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;border:0;padding:0;background:transparent;cursor:pointer}.pad-small{--binding-h: 18px;--hole: 7px;--coil: 1.5px;--small-rule: 11px;width:150px;aspect-ratio:150 / 186;margin-top:10px;transform:rotate(var(--pad-tilt, 2deg));transition:transform .5s cubic-bezier(.22,1,.36,1)}.pad-small:before,.pad-small:after{content:"";position:absolute;inset:10px -3px -4px 3px;border-radius:2px 2px 4px 4px;background:#f6efe6;box-shadow:0 6px 14px #6d4b5a26}.pad-small:after{left:1px;right:-1px;bottom:-2px;background:#fbf6ef;box-shadow:none}.pad-small-page{position:absolute;z-index:1;inset:8px 0 0;display:block;overflow:hidden;padding:28px 10px 8px 12px;border-radius:2px 2px 3px 3px;background-color:var(--paper);background-image:repeating-linear-gradient(180deg,transparent 0,transparent calc(var(--small-rule) - 1px),var(--rule-color) calc(var(--small-rule) - 1px),var(--rule-color) var(--small-rule));background-position:0 6px;box-shadow:0 1px 2px #6d4b5a26;text-align:left}.pad-small .pad-grade{top:14px;right:7px;padding:1px 6px 0;font-size:16px;border-width:1.5px}.pad-small-topic{display:block;margin-right:34px;color:var(--ink-strong);font-size:9.5px;font-weight:600;line-height:var(--small-rule);text-decoration:underline;text-underline-offset:2px}.pad-small-text{display:-webkit-box;margin-top:var(--small-rule);overflow:hidden;font-size:8.5px;line-height:var(--small-rule);-webkit-box-orient:vertical;-webkit-line-clamp:9}.exam-pad:is(:hover,:focus-visible) .pad-small{transform:rotate(0) translateY(-6px)}.exam-pad-note{max-width:150px;margin-top:-4px;color:#a1899a;font-size:9.5px;font-style:italic;line-height:1.4;text-align:center}.pad-disclaimer{max-width:500px;margin:-6px 0 0;color:#f4e6ee;font-size:11px;font-style:italic;line-height:1.4;text-align:center;text-shadow:0 1px 2px #3a1f2e66}.pad-grade{position:absolute;z-index:2;padding:2px 11px 1px;border:2px solid currentColor;border-radius:52% 48% 55% 45%/58% 50% 50% 42%;color:#d2232f;font-weight:600;line-height:1.15;letter-spacing:-.02em;transform:rotate(-9deg)}.pad-overlay{position:fixed;inset:0;z-index:100;background:#4b303e80;backdrop-filter:blur(6px)}.pad-viewer{position:fixed;z-index:101;top:50%;left:50%;width:min(560px,calc(100vw - 32px));transform:translate(-50%,-50%);outline:none;animation:pad-open .4s cubic-bezier(.22,1,.36,1)}@keyframes pad-open{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}}.pad-viewer-body{display:flex;flex-direction:column;align-items:center;gap:16px}.pad-close{position:absolute;z-index:6;top:-14px;right:-10px;width:36px;height:36px;border:1px solid #dcb4c9;border-radius:50%;background:#f9f0f5;color:#6f475e;font-size:22px;line-height:1;cursor:pointer}.pad-large{--binding-h: 30px;--hole: 12px;--coil: 2.5px;--rule: 26px;width:100%;padding-top:calc(var(--binding-h) - 8px)}.pad-pages{position:relative;height:calc(var(--rule) * 15);perspective:1600px;touch-action:pan-y}.pad-under{position:absolute;inset:6px -4px -7px 4px;border-radius:3px 3px 6px 6px;background:#f4ece2;box-shadow:0 18px 40px #3a1f2e47}.pad-page{position:absolute;inset:0;overflow-y:auto;padding:calc(var(--rule) * 2) 24px var(--rule) 62px;border-radius:3px 3px 6px 6px;background-color:var(--paper);background-image:linear-gradient(90deg,transparent 46px,#eca5ad 46px,#eca5ad 47px,transparent 47px),repeating-linear-gradient(180deg,transparent 0,transparent calc(var(--rule) - 1px),var(--rule-color) calc(var(--rule) - 1px),var(--rule-color) var(--rule));background-attachment:local;box-shadow:0 1px 2px #6d4b5a26,0 8px 20px #3a1f2e1f;font-size:14px;line-height:var(--rule);transform-origin:50% 0;backface-visibility:hidden}.pad-page p{margin:0;color:var(--ink);font-size:inherit;line-height:inherit}.pad-large .pad-grade{top:6px;right:22px;font-size:32px}.pad-page .pad-topic{margin-right:84px;color:var(--ink-strong);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}.pad-page .pad-source{color:#7d86a3;font-size:11.5px}.pad-page .pad-heading{color:var(--ink-strong);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}.pad-step:before{content:"\2192  ";color:#6c7ca3}.pad-page .pad-result span{padding:1px 6px;border:1.5px solid var(--ink);border-radius:3px;color:var(--ink-strong);font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}.pad-page .pad-hint{position:absolute;right:24px;bottom:2px;color:#a07c90;font-size:12px}.pad-nav{display:flex;align-items:center;gap:16px;padding:6px 8px;border:1px solid #e2cad7;border-radius:999px;background:#f9f0f5;color:#6f475e;font-size:13px;font-variant-numeric:tabular-nums}.pad-nav button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eddae5;cursor:pointer;transition:background .2s,opacity .2s}.pad-nav button:hover:not(:disabled){background:#e3c6d6}.pad-nav button:disabled{opacity:.35;cursor:default}.pad-nav svg{width:20px;height:20px;fill:none;stroke:#80546c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pad-nav button.is-inviting{animation:pad-invite 1.6s ease-in-out .6s 3}@keyframes pad-invite{50%{transform:translate(3px);background:#e3c6d6}}@media(max-width:620px){.exam-list>li{padding:24px 0 28px}.exam-entry{display:flow-root}.exam-entry>.exam-pad{float:right;width:112px;margin:0 0 8px 16px;gap:10px}.pad-small{--binding-h: 14px;--hole: 6px;--small-rule: 9px;width:104px}.pad-small-page{padding:22px 7px 6px 8px}.pad-small .pad-grade{top:11px;right:5px;font-size:13px;padding:0 5px}.pad-small-topic{margin-right:26px;font-size:7.5px}.pad-small-text{font-size:7px}.exam-pad-note{max-width:112px;margin-top:-2px;font-size:8.5px}.exams-page .exam-copy h3{font-size:19px}.exams-page .exam-copy p:last-child{font-size:14px;line-height:1.7}.pad-viewer{width:calc(100vw - 24px)}.pad-large{--rule: 24px;--binding-h: 24px;--hole: 10px;--coil: 2px}.pad-page{padding:calc(var(--rule) * 2) 14px var(--rule) 48px;background-image:linear-gradient(90deg,transparent 36px,#eca5ad 36px,#eca5ad 37px,transparent 37px),repeating-linear-gradient(180deg,transparent 0,transparent calc(var(--rule) - 1px),var(--rule-color) calc(var(--rule) - 1px),var(--rule-color) var(--rule));font-size:13px}.pad-large .pad-grade{right:14px;font-size:27px}.pad-page .pad-topic{margin-right:70px}.pad-close{right:-4px}}@media(prefers-reduced-motion:reduce){.pad-small,.pad-viewer,.pad-nav button.is-inviting{transition:none;animation:none}.exam-pad:is(:hover,:focus-visible) .pad-small{transform:rotate(var(--pad-tilt, 2deg))}}.admin-shell{min-height:100vh;background:radial-gradient(at 8% 0,#efd7e4,transparent 60%),#fcf8fa;color:#38232d;font-family:Inter,sans-serif}.admin-header{display:flex;align-items:center;gap:30px;max-width:1250px;margin:auto;padding:30px 40px;border-bottom:1px solid #ddc8d4}.admin-header>span{font-size:10px;letter-spacing:.25em;color:#a27a92;flex:1}.admin-header>button{font-size:12px}.admin-login{width:min(430px,calc(100% - 40px));margin:90px auto}.admin-shell h1{font:64px/.95 Inter,Georgia,serif;letter-spacing:-.04em;margin:0 0 24px}.admin-shell h1 em,.admin-shell h2 em{font-weight:400;color:#b5719e}.admin-login>p{font-size:13px;line-height:1.7;color:#89727f;margin:25px 0}.admin-login form{display:flex;flex-direction:column;gap:12px;margin:30px 0}.admin-shell label{font-size:11px;color:#8d6c80}.admin-shell input,.admin-shell select{background:#fff9fc;border:1px solid #ddc8d4;padding:12px 15px;border-radius:10px;color:#5b3f50;min-height:44px;font-size:13px;width:100%;margin-top:7px}.admin-main{max-width:1170px;margin:60px auto 0;padding:0 30px 40px}.admin-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-title h1{margin-bottom:12px}.admin-title .soft-button{margin-bottom:18px}.admin-caption{font-size:11px;line-height:1.8;color:#967d8c;max-width:900px;margin:16px 0 28px}.admin-filters{display:flex;gap:18px;margin:30px 0}.admin-filters label{flex:1}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #d9bfce;padding:30px 0;gap:20px}.admin-kpis>div{border-right:1px solid #ddc8d4;padding-left:10px}.admin-kpis>div:last-child{border:0}.admin-kpis span{font-size:10px;letter-spacing:.1em;color:#9c7b90;display:block}.admin-kpis strong{font:64px Inter,Georgia,serif;font-weight:400;display:block;margin-top:8px}.admin-table-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:50px 0 20px}.admin-table-head h2{font:38px Inter,Georgia,serif}.admin-table-head>span{font-size:11px;color:#9c7b90}.admin-empty{text-align:center;border:1px solid #e3ceda;border-radius:18px;padding:65px 20px;background:#fffbfd80}.admin-empty>span{font-size:32px;color:#b978a2}.admin-empty h3{font:32px Inter,Georgia,serif;margin:15px 0}.admin-empty p{font-size:12px;color:#a18495}.admin-message,.admin-error{font-size:13px;line-height:1.6;padding:16px 18px;border-radius:12px;background:#f2e3ec;color:#79566e}.admin-error{color:#9a3f64}.visitor-card{border-top:1px solid #ddc8d4}.visitor-card:last-child{border-bottom:1px solid #ddc8d4}.visitor-row{display:grid;grid-template-columns:1.1fr 1fr 1.2fr 20px;gap:25px;text-align:left;align-items:center;background:none;width:100%;border:0;padding:24px 8px;font-size:12px;color:#674b5e}.visitor-row b{font-weight:500;color:#a5658e}.visitor-row small{display:block;color:#9b8191;font-size:10px;margin-top:7px}.visitor-detail{padding:5px 24px 28px;font-size:11px;color:#8c6c81}.visitor-detail>p{overflow-wrap:anywhere}.visitor-detail section{border-left:1px solid #dcbcd0;padding:0 0 10px 20px;margin-top:25px}.visitor-detail h3{font-size:13px;font-weight:500;color:#6b475f;margin-bottom:8px}.visitor-detail ol{list-style:none;padding:12px 0}.visitor-detail li{display:flex;gap:30px;padding:5px 0}.visitor-detail time{color:#b194a6}.admin-footer{margin-top:50px;padding-top:22px;border-top:1px solid #ddc8d4;font-size:10px;line-height:1.8;color:#a18495;display:flex;gap:25px;justify-content:space-between}.overview{margin:10px 0 56px}.overview-filters{display:block;max-width:260px;margin-top:4px}.overview-kpis strong{font-size:52px}.overview-chart{margin:34px 0 0}.sections-overview{margin-top:34px}.sections-overview h3{margin:0 0 10px;font-size:15px;font-weight:600;color:#4a2f3d}.sections-overview h3 small{margin-left:8px;font-size:12px;font-weight:400;color:#8a6b7e}.sections-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.sections-table thead th{padding:0 0 8px;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-align:right;color:#9c7b90;border-bottom:1px solid #e4d0dc}.sections-table thead th:first-child{text-align:left}.sections-table tbody th,.sections-table td{padding:9px 0 11px;font-size:13.5px;border-bottom:1px solid #f0e4ea;color:#4a2f3d}.sections-table tbody th{position:relative;width:40%;font-weight:400;text-align:left}.sections-table td{padding-left:16px;text-align:right;white-space:nowrap}.sections-table td small{display:inline-block;min-width:34px;margin-left:6px;color:#9c7b90;font-size:11px}.overview-chart figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:14px}.overview-chart h3,.breakdown h3{margin:0;font-size:15px;font-weight:600;color:#4a2f3d}.overview-chart figcaption p{margin:0;font-size:12px;color:#8a6b7e}.chart-area{position:relative;height:200px;margin-left:34px}.chart-grid span{position:absolute;left:0;right:0;border-top:1px solid #eadde5}.chart-grid b{position:absolute;right:calc(100% + 8px);top:-8px;font-size:10px;font-weight:400;color:#9c7b90;font-variant-numeric:tabular-nums}.chart-bars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));gap:2px;margin:0;padding:0;list-style:none;border-bottom:1px solid #c9aebd}.chart-bars li{position:relative;display:flex;align-items:flex-end;height:100%;cursor:default;outline:none}.chart-bars li:focus-visible{box-shadow:inset 0 0 0 2px #a8557f55}.chart-bar{display:block;width:100%;max-width:22px;margin:0 auto;min-height:0;border-radius:4px 4px 0 0;background:#a8557f;transition:background .15s}.chart-bars li.is-active .chart-bar{background:#7d3a5d}.chart-bars li.is-active:before{content:"";position:absolute;inset:0;background:#a8557f12;border-radius:4px}.chart-axis{display:flex;justify-content:space-between;margin:8px 0 0 34px;font-size:10px;color:#9c7b90}.breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 34px;margin-top:42px}.breakdown table{width:100%;margin-top:12px;border-collapse:collapse}.breakdown th,.breakdown td{padding:7px 0 9px;font-size:13px;border-bottom:1px solid #f0e4ea;vertical-align:top}.breakdown th{position:relative;font-weight:400;text-align:left;color:#4a2f3d}.breakdown td{width:1%;padding-left:14px;text-align:right;white-space:nowrap;color:#4a2f3d;font-variant-numeric:tabular-nums}.breakdown td small{display:inline-block;min-width:34px;margin-left:6px;color:#9c7b90;font-size:11px}.breakdown-bar{position:absolute;left:0;bottom:3px;height:3px;border-radius:2px;background:#a8557f}.breakdown-empty,.breakdown-note{margin:10px 0 0;font-size:11px;line-height:1.5;color:#9c7b90}.hour-chart .chart-area{height:120px;margin-left:0}.hour-chart .chart-axis{margin-left:0}.admin-conversations{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}.admin-conversation{border:1px solid #ead9e3;border-radius:12px;background:#fffafc}.admin-assistant .admin-conversation>summary{display:grid;gap:4px;padding:14px 18px;cursor:pointer;list-style:none}.admin-conversation summary::-webkit-details-marker{display:none}.admin-conversation summary:after{content:"+";position:absolute;right:18px;color:#a07c90}.admin-conversation{position:relative}.admin-conversation[open] summary:after{content:"\2212"}.admin-chat-meta{font-size:11px;color:#977b8b}.admin-chat-meta b{margin-right:8px;color:#8e416b;font-weight:600}.admin-chat-flow{padding-right:24px;overflow:hidden;color:#4a2f3d;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.admin-transcript{display:grid;gap:10px;padding:4px 18px 16px;border-top:1px solid #f0e4ea}.admin-chat{display:grid;gap:10px}.admin-chat+.admin-chat{margin-top:8px;padding-top:12px;border-top:1px dashed #ead9e3}.admin-chat h4{margin:8px 0 0;font-size:11px;font-weight:600;letter-spacing:.04em;color:#8e416b}.admin-turn{display:grid;gap:6px;padding-top:10px}.admin-assistant .bubble{max-width:78%;margin:0;padding:9px 13px 10px;border-radius:14px;font-size:13.5px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.bubble small{display:block;margin-bottom:3px;font-size:10.5px;color:#9c7b90}.bubble-visitor{justify-self:end;background:#f3e2ec;color:#3d2533;border-bottom-right-radius:4px}.bubble-guide{justify-self:start;background:#fff;border:1px solid #ecdde6;color:#4a2f3d;border-bottom-left-radius:4px}.admin-transcript>.text-link{justify-self:end;margin-top:6px;font-size:11px}@media(max-width:640px){.bubble{max-width:92%}}.consent-head{margin-top:10px}@media(max-width:900px){.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.overview-kpis strong{font-size:38px}.breakdown-grid{grid-template-columns:1fr}.chart-area{height:160px}}@media(max-width:640px){.admin-header{padding:22px}.admin-header>span{font-size:8px;letter-spacing:.15em}.admin-main{padding:0 20px;margin-top:40px}.admin-shell h1{font-size:47px}.admin-title{display:block}.admin-title .soft-button{margin:10px 0 0}.admin-kpis{grid-template-columns:1fr 1fr;gap:25px 15px;padding:25px 0}.admin-kpis strong{font-size:54px}.admin-kpis>div:nth-child(2){border:0}.admin-filters{flex-wrap:wrap;gap:12px}.admin-filters label{flex-basis:44%}.admin-filters label:last-child{flex-basis:100%}.admin-table-head h2{font-size:30px}.visitor-row{grid-template-columns:1fr 20px;gap:12px}.visitor-row>span:nth-child(2),.visitor-row>span:nth-child(3){grid-column:1}.visitor-row>span:last-child{grid-column:2;grid-row:1}.visitor-detail{padding-inline:8px}.visitor-detail li{gap:15px}.admin-footer{display:block}.admin-footer a{display:block;margin-top:12px}}.admin-shell{font-family:Inter,sans-serif}.admin-shell h1,.admin-table-head h2,.admin-empty h3,.admin-kpis strong{font-family:Inter,sans-serif;font-weight:500;letter-spacing:-.04em}.admin-shell h1{font-size:48px;line-height:1.1}.admin-kpis strong{font-size:48px}.admin-assistant{margin:36px 0;padding:26px 0;border-block:1px solid #ddc8d4}.admin-assistant h2{font-size:24px;margin-bottom:12px}.admin-assistant p{font-size:13px;line-height:1.7;margin:10px 0;color:#795e70}.admin-assistant summary{cursor:pointer;font-size:14px;padding:12px 0;color:#925977}.admin-assistant form{display:grid;gap:16px;margin:12px 0 20px}.admin-assistant textarea{display:block;width:100%;resize:vertical;border:1px solid #ddc8d4;padding:12px;background:#fffafd;color:#5b3f50;font:inherit;font-size:14px;border-radius:10px;margin-top:8px}.admin-assistant .soft-button{width:fit-content}.admin-chat-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}.admin-chat-heading h3{font-size:17px}.admin-chat-questions{list-style:none;padding:0;margin:20px 0 0}.admin-chat-questions li{border-top:1px solid #e4d0dc;padding:15px 0;overflow-wrap:anywhere}.admin-chat-questions li>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-chat-questions time{color:#977b8b;font-size:11px}.admin-chat-questions p{white-space:pre-wrap}.admin-table-head h2{font-size:27px}
