:root{--bg: #fefce8;--card: #ffffff;--sticky-yellow: #fef08a;--sticky-orange: #fed7aa;--sticky-pink: #fbcfe8;--sticky-green: #bbf7d0;--sticky-blue: #bae6fd;--sticky-purple: #ddd6fe;--bubble-teal: #5eead4;--bubble-cyan: #a5f3fc;--bubble-rose: #fda4af;--text-main: #1e293b;--text-body: #475569;--text-muted: #94a3b8;--accent: #f59e0b;--accent-light: #fbbf24;--accent-dark: #d97706;--accent-glow: rgba(245, 158, 11, .15);--secondary: #ec4899;--maxWidth: 760px;--gutter: 16px;--font: "Caveat", "Comic Sans MS", "Chalkboard SE", "Inter", system-ui, -apple-system, sans-serif;--font-body: "Nunito", "Quicksand", "Inter", system-ui, sans-serif;--fs-body: 15px;--fs-small: 13px;--fs-title: 18px;--fs-name: 24px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--shadow-sm: 0 2px 4px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 8px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 8px 16px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.08);--shadow-xl: 0 12px 24px rgba(0,0,0,.12), 0 6px 12px rgba(0,0,0,.1);--shadow-float: 0 20px 40px rgba(0,0,0,.15);--shadow-pop: 0 8px 0 rgba(0,0,0,.15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}.bg-dots{background-image:radial-gradient(circle,rgba(245,158,11,.15) 1px,transparent 1px);background-size:20px 20px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);background-image:radial-gradient(circle,rgba(245,158,11,.1) 1px,transparent 1px),radial-gradient(circle,rgba(236,72,153,.08) 1px,transparent 1px);background-size:24px 24px,36px 36px;background-position:0 0,12px 12px;font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--text-body);-webkit-font-smoothing:antialiased}.portrait-root{display:flex;justify-content:center;padding:28px 16px;min-height:100vh}.portrait-card{width:100%;max-width:var(--maxWidth)}.portrait-header{background:linear-gradient(135deg,#fff,#fefce8,#fef9c3);border-radius:var(--radius-xl);padding:24px;margin-bottom:var(--gutter);border:3px dashed rgba(245,158,11,.3);box-shadow:var(--shadow-lg),inset 0 2px #fffc;position:relative;overflow:visible}.portrait-header:before{content:"💡";position:absolute;top:-12px;left:-12px;font-size:28px;animation:float 3s ease-in-out infinite}.portrait-header:after{content:"✨";position:absolute;top:-8px;right:-8px;font-size:22px;animation:float 3s ease-in-out0.5s infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}.profile-visual{display:flex;gap:20px;align-items:center}.photo-frame{width:110px;height:110px;flex:0 0 110px;border-radius:50%;overflow:hidden;background:var(--sticky-yellow);border:4px solid #fff;box-shadow:var(--shadow-lg),0 0 0 3px var(--accent);position:relative}.photo-frame:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px dashed var(--accent-light);animation:spin 20s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.name-block{flex:1}.person-name{margin:0;font-size:var(--fs-name);font-weight:700;color:var(--text-main);line-height:1.2;font-family:var(--font);letter-spacing:.5px;text-shadow:1px 1px 0 rgba(0,0,0,.05)}.person-role{margin-top:6px;font-size:var(--fs-body);font-weight:600;color:var(--accent-dark);display:inline-flex;align-items:center;gap:6px;background:#f59e0b1a;padding:4px 12px;border-radius:var(--radius-full)}.person-location{margin-top:8px;font-size:var(--fs-small);color:var(--text-muted);display:flex;align-items:center;gap:4px}.section-title{font-size:var(--fs-title);font-weight:var(--fw-bold);color:#fff;margin:0 0 16px;padding:14px 20px;border-radius:var(--radius-md);background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px;position:relative;overflow:hidden}.section-title:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{to{left:100%}}.section-icon{width:22px;height:22px;flex-shrink:0}.full-profile{background:var(--card);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-xl);border:3px dashed rgba(236,72,153,.2);position:relative}.full-profile:before{content:"💭";position:absolute;top:-20px;right:20px;font-size:36px;animation:wobble 2s ease-in-out infinite}@keyframes wobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.summary-text{font-size:var(--fs-body);line-height:1.7;font-weight:var(--fw-regular);color:var(--text-body);padding:20px 24px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);box-shadow:var(--shadow-md);transform:rotate(-1deg);position:relative;border:1px solid rgba(0,0,0,.05)}.summary-text:before{content:"📝";position:absolute;top:-14px;left:20px;font-size:24px}.exp-card{padding:20px;margin-bottom:16px;border-radius:var(--radius-md);background:#fff;border:2px solid var(--sticky-blue);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible}.exp-card:before{content:"📌";position:absolute;top:-10px;left:20px;font-size:20px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.exp-card:hover{transform:translateY(-4px) rotate(1deg);box-shadow:var(--shadow-lg);border-color:var(--accent-light)}.exp-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;line-height:1.4}.exp-role{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--text-main);font-family:var(--font)}.exp-company{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--accent-dark)}.exp-period{font-size:var(--fs-small);color:var(--text-muted);background:var(--sticky-green);padding:2px 10px;border-radius:var(--radius-full)}.exp-sep{color:var(--text-muted)}.exp-desc{margin-top:12px;font-size:var(--fs-body);line-height:1.6;color:var(--text-body);padding-left:12px;border-left:3px solid var(--sticky-pink)}.exp-actions{display:flex;gap:8px;margin-top:12px}.education-card{padding:20px;margin-bottom:16px;border-radius:var(--radius-lg);background:#fff;border:2px solid var(--sticky-purple);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative}.education-card:before{content:"🎓";position:absolute;top:-12px;right:20px;font-size:24px}.education-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:var(--shadow-lg);border-color:var(--bubble-cyan)}.education-row{display:flex;gap:20px;align-items:flex-start}.education-left{flex-shrink:0;width:70px;text-align:center}.education-year{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,var(--sticky-blue) 0%,#bae6fd 100%);border-radius:var(--radius-full);font-size:14px;font-weight:700;color:#0369a1;white-space:nowrap}.education-right{flex:1;min-width:0}.education-degree{font-size:16px;font-weight:700;color:var(--text-main);font-family:var(--font);line-height:1.4;margin-bottom:4px}.education-percentage{font-weight:600;color:var(--accent-dark)}.education-college{font-size:14px;font-weight:600;color:var(--accent);line-height:1.4}.education-address{font-weight:500;color:var(--text-muted)}@media(max-width:480px){.education-row{flex-direction:column;gap:12px}.education-left{width:100%;text-align:left}.education-year{display:inline-block}.education-degree{font-size:15px}.education-college{font-size:13px}}.skills-grid{display:flex;flex-wrap:wrap;gap:12px}.skill{font-size:var(--fs-small);padding:10px 18px;border-radius:var(--radius-full);border:none;background:linear-gradient(135deg,var(--sticky-orange) 0%,var(--sticky-yellow) 100%);white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default;display:inline-flex;align-items:center;gap:8px;font-weight:600;box-shadow:var(--shadow-sm);position:relative}.skill:before{content:"⭐";font-size:12px}.skill svg{flex-shrink:0;color:var(--accent-dark)}.skill:hover{transform:translateY(-3px) scale(1.05) rotate(3deg);box-shadow:var(--shadow-lg)}.project-card{padding:20px;margin-bottom:16px;border-radius:var(--radius-md);background:#fff;border:2px solid var(--sticky-green);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.project-card:before{content:"🚀";position:absolute;top:-12px;right:20px;font-size:24px}.project-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:var(--shadow-lg);border-color:var(--bubble-teal)}.project-title{font-weight:var(--fw-bold);color:var(--text-main);font-size:var(--fs-body);font-family:var(--font)}.project-summary{margin-top:12px;padding-top:12px;border-top:2px dashed var(--sticky-green);color:var(--text-body);line-height:1.6}.personal-info-section{margin-top:32px}.personal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding:24px;border-radius:var(--radius-lg);font-size:var(--fs-body);background:linear-gradient(135deg,var(--sticky-pink) 0%,var(--sticky-purple) 100%);border:2px dashed rgba(236,72,153,.3)}.personal-info-grid div{padding:14px 18px;background:#fff;border-radius:var(--radius-md);line-height:1.4;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;border:2px solid transparent;box-shadow:var(--shadow-sm)}.personal-info-grid div:hover{border-color:var(--accent-light);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md)}.personal-info-grid div strong{font-weight:var(--fw-bold);color:var(--accent-dark);min-width:140px;font-size:var(--fs-small);display:flex;align-items:center;gap:6px}.personal-info-grid div strong:before{content:"📋";font-size:14px}.pi-value{color:var(--text-body);font-weight:500}.personal-info-empty{color:var(--text-muted);font-style:italic}.file-row{font-size:var(--fs-body);border:2px dashed #e5e7eb;border-radius:8px;padding:8px 12px;background:#fafafa}.file-link{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--accent-dark);text-decoration:none}.site-footer{margin-top:12px;background:linear-gradient(135deg,#fef9c3,#ffecd2,#fce7f3);border-radius:var(--radius-lg);border:1px dashed rgba(245,158,11,.35);box-shadow:var(--shadow-sm);padding:10px;position:relative;overflow:hidden;font-size:13px}.footer-transport-marquee,.footer-developed{overflow:hidden;white-space:nowrap;width:100%;position:relative;min-height:22px;margin:3px 0;border-radius:999px;background:#ffffffeb;border:1px solid rgba(226,232,240,.8)}.footer-transport-marquee .transport-marquee-track,.footer-developed .developed-track{display:inline-flex;align-items:center;gap:32px;animation:scroll-left 14s linear infinite}.footer-transport-marquee .transport-marquee-item,.footer-developed .developed-text{font-size:13px;font-weight:600;padding:3px 8px;color:#334155}.footer-developed .developed-text{color:#c2410c}@keyframes scroll-left{0%{transform:translate(100%)}to{transform:translate(-100%)}}.site-footer:before{content:"🌟";position:absolute;top:-8px;left:20px;font-size:24px;animation:starFloat 3s ease-in-out infinite}.site-footer:after{content:"💫";position:absolute;top:8px;right:20px;font-size:20px;animation:starFloat 3s ease-in-out .5s infinite}@keyframes starFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(10deg)}}.footer-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.footer-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.footer-emoji{font-size:32px;animation:footerBounce 2s ease-in-out infinite}@keyframes footerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.footer-name{font-size:18px;font-weight:700;color:var(--text-main);font-family:var(--font);letter-spacing:.5px}.footer-tagline{font-size:13px;color:var(--text-muted);max-width:400px;line-height:1.6;padding:12px 20px;background:#ffffffb3;border-radius:var(--radius-full);border:2px dashed rgba(245,158,11,.2)}.footer-social{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.footer-social-link{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--radius-full);font-size:13px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.footer-social-link:hover{transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-lg)}.footer-social-link.linkedin{background:linear-gradient(135deg,#0077b5,#00a0dc);color:#fff}.footer-social-link.github{background:linear-gradient(135deg,#24292e,#586069);color:#fff}.footer-social-link.email{background:linear-gradient(135deg,#ea4335,#fbbc05);color:#fff}.footer-bottom{margin-top:8px;padding-top:16px;border-top:2px dashed rgba(245,158,11,.2);width:100%;display:flex;justify-content:center;align-items:center;gap:8px}.footer-copyright{font-size:12px;color:var(--text-muted);font-weight:500}.footer-heart{color:#ef4444;animation:heartBeat 1.5s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.1)}}.footer-year{font-size:12px;color:var(--text-muted);font-weight:600}@media(max-width:480px){.site-footer{padding:20px 16px}.footer-name{font-size:16px}.footer-tagline{font-size:12px;padding:10px 16px}.footer-social{gap:8px}.footer-social-link{padding:8px 14px;font-size:12px}}@media(max-width:480px){.portrait-header{padding:20px 16px}.profile-visual{flex-direction:column;text-align:center;gap:16px}.photo-frame{width:100px;height:100px}.person-name{font-size:22px}.exp-card,.edu-card,.project-card{padding:16px}.exp-header,.edu-header{flex-direction:column;align-items:flex-start;gap:6px}}.gate-form{margin:24px auto;padding:28px;background:linear-gradient(135deg,#fff,#fefce8);border-radius:var(--radius-xl);border:3px dashed var(--accent);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:16px;position:relative}.gate-form:before{content:"🎯";position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:40px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.gate-form input[type=text],.gate-form input[type=mobile],.gate-form input[type=checkbox],.gate-form input:not([type=checkbox]){padding:14px 16px;font-size:var(--fs-body);border-radius:var(--radius-md);border:2px solid #e5e7eb;background:#fff;outline:none;transition:all .2s ease;font-family:var(--font-body)}.gate-form input:not([type=checkbox]):focus{border-color:var(--accent);box-shadow:0 0 0 4px #f59e0b33;transform:scale(1.01)}.gate-form label{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-small);color:var(--text-body);cursor:pointer}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-md);font-weight:var(--fw-bold);font-size:var(--fs-body);border:none;background:var(--accent);color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);font-family:var(--font-body)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn.small{padding:8px 14px;border-radius:var(--radius-md);font-size:var(--fs-small)}.btn.tiny{padding:6px 10px;font-size:12px;border-radius:8px}.btn.ghost{background:transparent;border:2px solid #e5e7eb;color:var(--text-body);box-shadow:none}.btn.ghost:hover{border-color:var(--accent);color:var(--accent-dark);background:#f59e0b1a}.btn.primary{padding:16px 24px;border-radius:var(--radius-lg);font-size:16px;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:var(--shadow-lg),0 4px #b45309;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn.primary:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),0 6px #b45309}.btn.primary:active{transform:translateY(2px);box-shadow:var(--shadow-sm),0 1px #b45309}.matrix-container{width:100%;position:relative}.matrix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}@media(max-width:600px){.matrix-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media(max-width:400px){.matrix-grid{grid-template-columns:1fr}}.matrix-box{position:relative;background:#fff;border:3px solid transparent;border-radius:var(--radius-xl);padding:24px 16px;cursor:pointer;overflow:visible;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);animation:popIn .5s cubic-bezier(.68,-.55,.265,1.55) forwards;animation-delay:var(--delay, 0s);opacity:0;transform:scale(.5)}@keyframes popIn{0%{opacity:0;transform:scale(.5) rotate(-10deg)}70%{transform:scale(1.1) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.matrix-box:nth-child(1){background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%)}.matrix-box:nth-child(2){background:linear-gradient(135deg,var(--sticky-blue) 0%,#e0f2fe 100%)}.matrix-box:nth-child(3){background:linear-gradient(135deg,var(--sticky-pink) 0%,#fce7f3 100%)}.matrix-box:nth-child(4){background:linear-gradient(135deg,var(--sticky-green) 0%,#dcfce7 100%)}.matrix-box:nth-child(5){background:linear-gradient(135deg,var(--sticky-purple) 0%,#ede9fe 100%)}.matrix-box:nth-child(6){background:linear-gradient(135deg,var(--sticky-orange) 0%,#ffedd5 100%)}.matrix-box:nth-child(7){background:linear-gradient(135deg,#f0fdfa 0%,var(--bubble-teal) 100%)}.matrix-box-inner{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:2}.matrix-icon-wrapper{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:3px solid #fff;box-shadow:var(--shadow-lg);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.matrix-icon-wrapper:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed rgba(0,0,0,.1);animation:spin 10s linear infinite reverse}.matrix-icon{color:var(--accent-dark);transition:all .4s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.matrix-label{font-size:15px;font-weight:700;color:var(--text-main);transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;font-family:var(--font)}.matrix-box:hover{transform:translateY(-8px) scale(1.05);box-shadow:var(--shadow-xl);z-index:10}.matrix-box:hover .matrix-icon-wrapper{transform:scale(1.2) rotate(10deg);box-shadow:var(--shadow-xl)}.matrix-box:hover .matrix-icon-wrapper:before{animation:spin 3s linear infinite}.matrix-box:hover .matrix-icon{transform:scale(1.2)}.matrix-box:hover .matrix-label{color:var(--accent-dark);transform:scale(1.05)}.matrix-box.active{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-xl),0 0 0 4px var(--accent);border-color:var(--accent)}.matrix-box.active .matrix-icon-wrapper{transform:scale(1.25);background:var(--accent)}.matrix-box.active .matrix-icon{color:#fff}.matrix-box.active .matrix-label{color:var(--accent-dark);font-weight:800}.matrix-box:after{content:attr(data-emoji);position:absolute;top:-16px;right:-8px;font-size:28px;opacity:0;transform:scale(0) rotate(-20deg);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:none}.matrix-box:hover:after{opacity:1;transform:scale(1) rotate(0)}.matrix-detail{position:relative;min-height:100px}.matrix-detail-content{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-xl);border:3px solid var(--sticky-yellow);position:relative;background-image:linear-gradient(rgba(245,158,11,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,158,11,.03) 1px,transparent 1px);background-size:20px 20px;animation:slideUp .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.matrix-detail-content:before{content:"📌";position:absolute;top:-16px;left:40px;font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.matrix-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:2px solid #e5e7eb;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280;box-shadow:var(--shadow-sm)}.matrix-close:hover{background:var(--sticky-pink);border-color:var(--secondary);color:var(--secondary);transform:rotate(90deg) scale(1.1)}.detail-section{padding:12px 0}.detail-title{display:flex;align-items:center;gap:14px;font-size:22px;font-weight:700;color:var(--text-main);margin:0 0 24px;padding-bottom:16px;border-bottom:3px dashed var(--accent-light);font-family:var(--font)}.detail-title svg{color:var(--accent);background:#f59e0b1a;padding:8px;border-radius:50%}.detail-text{font-size:15px;line-height:1.8;color:var(--text-body);padding:20px 24px;background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);border-radius:var(--radius-lg);border:2px solid rgba(245,158,11,.2);position:relative;transform:rotate(-.5deg);box-shadow:var(--shadow-md)}.detail-text:before{content:"💡";position:absolute;top:-16px;left:16px;font-size:24px}.detail-card{padding:20px;margin-bottom:16px;border-radius:var(--radius-lg);background:#fff;border:2px solid var(--sticky-blue);transition:all .3s ease;position:relative;box-shadow:var(--shadow-sm)}.detail-card:before{content:"👉";position:absolute;top:-12px;left:16px;font-size:20px}.detail-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px) rotate(1deg)}.detail-card-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.detail-role{font-weight:700;color:var(--text-main);font-size:16px;font-family:var(--font)}.detail-company{font-weight:600;color:var(--accent-dark)}.detail-sep{color:var(--text-muted)}.detail-period{font-size:13px;color:var(--text-muted);background:var(--sticky-green);padding:4px 12px;border-radius:var(--radius-full);font-weight:600}.detail-desc{font-size:14px;line-height:1.7;color:var(--text-body);margin:0;padding-left:12px;border-left:3px solid var(--sticky-pink)}.detail-actions{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:2px dashed #f3f4f6}.detail-skills-grid{display:flex;flex-wrap:wrap;gap:12px}.detail-skill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--sticky-orange) 0%,var(--sticky-yellow) 100%);border:none;font-size:14px;font-weight:600;color:var(--text-main);transition:all .3s ease;box-shadow:var(--shadow-sm)}.detail-skill:before{content:"✨";font-size:12px}.detail-skill:hover{transform:translateY(-4px) scale(1.05) rotate(3deg);box-shadow:var(--shadow-lg)}.detail-skill-actions{display:flex;gap:4px;margin-left:4px}.detail-personal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.detail-personal-grid div{padding:16px;background:linear-gradient(135deg,var(--sticky-purple) 0%,#f3e8ff 100%);border-radius:var(--radius-lg);font-size:14px;line-height:1.4;border:2px solid transparent;transition:all .3s ease}.detail-personal-grid div:hover{border-color:var(--accent);transform:scale(1.02)}.detail-personal-grid strong{display:block;color:var(--accent-dark);font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:700}.detail-social-grid{display:flex;flex-wrap:wrap;gap:14px}.detail-social-link{display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border-radius:var(--radius-lg);font-size:14px;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;box-shadow:var(--shadow-md)}.detail-social-link:hover{transform:translateY(-4px) scale(1.05) rotate(-2deg);box-shadow:var(--shadow-xl)}.detail-social-link.linkedin{background:linear-gradient(135deg,#0077b5,#00a0dc);color:#fff}.detail-social-link.linkedin:hover{box-shadow:0 8px 24px #0077b566}.detail-social-link.instagram{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}.detail-social-link.instagram:hover{box-shadow:0 8px 24px #e1306c66}.detail-social-link.github{background:linear-gradient(135deg,#24292e,#586069);color:#fff}.detail-social-link.github:hover{box-shadow:0 8px 24px #24292e66}.detail-social-link.mobile{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.detail-social-link.mobile:hover{box-shadow:0 8px 24px #10b98166}.detail-cert-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;text-decoration:none;font-size:13px;font-weight:600;border-radius:var(--radius-full);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}.detail-cert-link:hover{transform:translateY(-3px) scale(1.02) rotate(-1deg);box-shadow:var(--shadow-lg),0 4px #059669;color:#fff}.detail-cert-link:before{content:"🔗";font-size:14px}@media(max-width:480px){.matrix-box{padding:20px 12px}.matrix-icon-wrapper{width:60px;height:60px}.matrix-icon{size:24px}.matrix-label{font-size:12px}.matrix-detail-content{padding:24px 16px;border-radius:var(--radius-lg)}.detail-title{font-size:20px;padding-right:44px}}div[style*="justify-content: flex-end"]{background:#f59e0b1a;padding:8px 12px;border-radius:var(--radius-md);margin-bottom:16px}.games-section{padding:8px 0}.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:480px){.games-grid{grid-template-columns:1fr}}.game-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);border:3px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}.game-card:nth-child(2){background:linear-gradient(135deg,var(--sticky-blue) 0%,#e0f2fe 100%)}.game-card:nth-child(3){background:linear-gradient(135deg,var(--sticky-pink) 0%,#fce7f3 100%)}.game-card:nth-child(4){background:linear-gradient(135deg,var(--sticky-green) 0%,#dcfce7 100%)}.game-card:hover{transform:translateY(-6px) scale(1.05) rotate(2deg);box-shadow:var(--shadow-xl);border-color:var(--accent)}.game-emoji{font-size:48px;line-height:1}.game-name{font-size:16px;font-weight:700;color:var(--text-main);font-family:var(--font)}.game-icon{font-size:20px;opacity:.8}.game-container{padding:16px 0}.rps-game{text-align:center}.rps-score{display:flex;justify-content:center;gap:20px;margin-bottom:24px;font-size:14px;font-weight:600;color:var(--text-body)}.rps-choices{display:flex;justify-content:center;gap:16px;margin-bottom:24px}.rps-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#fff;border:3px solid var(--sticky-yellow);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.rps-btn:hover{transform:scale(1.1) rotate(-5deg);box-shadow:var(--shadow-lg);border-color:var(--accent)}.rps-emoji{font-size:48px}.rps-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.rps-result{padding:24px;border-radius:var(--radius-xl);animation:popIn .4s ease}.rps-result.win{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:3px solid #10b981}.rps-result.lose{background:linear-gradient(135deg,#fee2e2,#fecaca);border:3px solid #ef4444}.rps-result.draw{background:linear-gradient(135deg,#fef3c7,#fde68a);border:3px solid #f59e0b}.rps-result-display{display:flex;justify-content:center;align-items:center;gap:20px;font-size:56px;margin-bottom:12px}.rps-result .vs{font-size:24px;color:var(--text-muted)}.rps-result-text{font-size:20px;font-weight:700;font-family:var(--font);margin:0 0 16px}.ttt-game{text-align:center}.ttt-status{font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-main);font-family:var(--font)}.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:280px;margin:0 auto 20px}.ttt-cell{width:80px;height:80px;font-size:40px;background:#fff;border:3px solid var(--sticky-purple);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.ttt-cell:hover{background:var(--sticky-yellow);transform:scale(1.05)}.ttt-cell:nth-child(2n){border-color:var(--sticky-blue)}.quiz-game{text-align:center;max-width:400px;margin:0 auto}.quiz-progress{font-size:14px;color:var(--text-muted);margin-bottom:16px}.quiz-question{font-size:18px;font-weight:700;color:var(--text-main);margin-bottom:20px;padding:20px;background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);border-radius:var(--radius-lg);font-family:var(--font)}.quiz-options{display:flex;flex-direction:column;gap:12px}.quiz-option{padding:16px;font-size:16px;font-weight:600;background:#fff;border:3px solid #e5e7eb;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.quiz-option:hover{border-color:var(--accent);background:#f59e0b1a;transform:translate(8px)}.quiz-result{padding:32px;background:linear-gradient(135deg,var(--sticky-green) 0%,#dcfce7 100%);border-radius:var(--radius-xl);border:3px solid #10b981}.quiz-score-emoji{font-size:64px;display:block;margin-bottom:16px}.quiz-result p{font-size:20px;font-weight:700;font-family:var(--font);margin:0 0 20px}.memory-game{text-align:center}.memory-stats{display:flex;justify-content:center;gap:24px;margin-bottom:16px;font-size:14px;font-weight:600}.memory-win{padding:12px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:var(--radius-md);font-weight:700;margin-bottom:16px;color:#10b981}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:320px;margin:0 auto 20px;perspective:1000px}@media(max-width:480px){.memory-board{max-width:260px}}.memory-card{width:100%;aspect-ratio:1;background:transparent;border:none;cursor:pointer;position:relative;padding:0}.memory-card-inner{width:100%;height:100%;position:relative;transition:transform .5s ease;transform-style:preserve-3d}.memory-card.flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card.matched .memory-card-inner{animation:matchPulse .5s ease}@keyframes matchPulse{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(180deg) scale(1)}}.memory-card-front,.memory-card-back{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;border-radius:var(--radius-md);font-size:32px;font-weight:700;box-shadow:var(--shadow-md)}.memory-card-front{color:var(--accent-dark);background:linear-gradient(135deg,var(--sticky-purple) 0%,#ede9fe 100%);border:3px solid var(--sticky-purple)}.memory-card-back{transform:rotateY(180deg);font-size:36px;background:#fff;border:3px solid var(--accent)}.memory-card:hover:not(.matched) .memory-card-inner{transform:scale(1.05)}.memory-card.flipped:hover:not(.matched) .memory-card-inner{transform:rotateY(180deg) scale(1.05)}.memory-card:disabled{cursor:default}.notes-section{padding:8px 0}.notes-add-form{padding:20px;background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);border-radius:var(--radius-xl);border:3px dashed var(--accent-light);margin-bottom:24px}.notes-add-form h3{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--text-main);font-family:var(--font)}.note-name-input,.note-text-input{width:100%;padding:12px 16px;font-size:14px;border:2px solid #e5e7eb;border-radius:var(--radius-md);margin-bottom:12px;font-family:var(--font-body);transition:all .2s ease}.note-name-input:focus,.note-text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f59e0b33}.note-text-input{min-height:100px;resize:vertical}.notes-names-section{margin-bottom:24px}.notes-names-section h3{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--text-main);font-family:var(--font)}.notes-hint{font-size:13px;color:var(--text-muted);margin:0 0 16px}.notes-names-grid{display:flex;flex-wrap:wrap;gap:12px}.note-name-box{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#fff;border:3px solid var(--sticky-blue);border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.note-name-box:hover{transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-lg);border-color:var(--accent)}.note-name-box.active{background:var(--accent);border-color:var(--accent-dark);color:#fff}.note-name-avatar{width:32px;height:32px;border-radius:50%;background:var(--sticky-yellow);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--accent-dark)}.note-name-box.active .note-name-avatar{background:#fff;color:var(--accent-dark)}.note-name-text{font-size:14px;font-weight:600}.note-count{font-size:12px;padding:2px 8px;background:var(--sticky-pink);border-radius:var(--radius-full);color:var(--secondary);font-weight:700}.note-name-box.active .note-count{background:#ffffff4d;color:#fff}.notes-display{padding:20px;background:#fff;border:3px solid var(--sticky-green);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.notes-display-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.notes-display-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text-main);font-family:var(--font)}.notes-list{display:flex;flex-direction:column;gap:12px}.note-card{padding:16px;background:linear-gradient(135deg,#fef9c3,#fef08a);border-radius:var(--radius-lg);border-left:4px solid var(--accent)}.note-text{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--text-body)}.note-date{font-size:12px;color:var(--text-muted)}.notes-empty{text-align:center;color:var(--text-muted);font-style:italic;padding:24px;background:#f9fafb;border-radius:var(--radius-lg);border:2px dashed #e5e7eb}.thought-bubble{position:relative;background:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-lg)}.thought-bubble:before{content:"";position:absolute;bottom:-20px;left:30px;border:10px solid transparent;border-top-color:#fff;border-bottom:none}@media print{body{background:#fff}*{box-shadow:none!important}}.popup-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-modal{background:linear-gradient(135deg,#fff,#fefce8);border-radius:var(--radius-xl);padding:32px;width:90%;max-width:380px;position:relative;box-shadow:var(--shadow-xl),0 0 0 4px #f59e0b33;border:3px dashed var(--accent);animation:popIn .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:2px solid #e5e7eb;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6b7280;box-shadow:var(--shadow-sm)}.popup-close:hover{background:var(--sticky-pink);border-color:var(--secondary);color:var(--secondary);transform:rotate(90deg) scale(1.1)}.popup-header{text-align:center;margin-bottom:24px}.popup-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff;box-shadow:var(--shadow-lg),0 4px #b45309;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.popup-header h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--text-main);font-family:var(--font)}.popup-header p{margin:0;font-size:14px;color:var(--text-muted)}.popup-form{display:flex;flex-direction:column;gap:16px}.password-input-wrapper{position:relative;display:flex;align-items:center}.popup-input{width:100%;padding:14px 48px 14px 16px;font-size:16px;border:2px solid #e5e7eb;border-radius:var(--radius-md);background:#fff;outline:none;transition:all .2s ease;font-family:var(--font-body)}.popup-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #f59e0b33;transform:scale(1.01)}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.password-toggle:hover{color:var(--accent);transform:scale(1.1)}.popup-submit{width:100%;justify-content:center;padding:14px 24px;font-size:16px}.form-modal{max-width:420px;max-height:90vh;overflow-y:auto}body.modal-open{overflow:hidden}.form-modal .popup-header{margin-bottom:20px}.form-modal .popup-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:var(--shadow-lg),0 4px #1d4ed8}.modal-input-group{margin-bottom:16px}.modal-input-group label{display:block;font-size:14px;font-weight:600;color:var(--text-main);margin-bottom:8px}.popup-textarea{width:100%;padding:14px 16px;font-size:14px;border:2px solid #e5e7eb;border-radius:var(--radius-md);background:#fff;outline:none;transition:all .2s ease;font-family:var(--font-body);resize:vertical;min-height:80px}.popup-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #f59e0b33;transform:scale(1.01)}.popup-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:2px dashed #e5e7eb;position:sticky;bottom:0;background:linear-gradient(to top,#fefce8 90%,transparent);padding-bottom:8px}.popup-form-actions .btn{min-width:100px}.popup-form-actions .btn:disabled{opacity:.5;cursor:not-allowed}.success-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:14px 24px;border-radius:var(--radius-full);display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;box-shadow:var(--shadow-lg),0 4px #059669;z-index:1001;animation:slideDown .3s ease,fadeOut .3s ease 2.7s}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.admin-lock-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:var(--shadow-md),0 3px #4f46e5;transition:all .2s ease}.admin-lock-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 4px #4f46e5}.admin-lock-btn:active{transform:translateY(1px);box-shadow:var(--shadow-sm),0 1px #4f46e5}.admin-bar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);padding:8px 16px;border-radius:var(--radius-md);margin-bottom:16px;flex-wrap:wrap;gap:12px;border:2px dashed rgba(99,102,241,.3)}.marquee-container{flex:1;min-width:200px;overflow:hidden;position:relative}.marquee-content{white-space:nowrap;display:inline-block;animation:marquee 10s linear infinite;font-size:14px;font-weight:600;color:var(--accent-dark);padding:6px 0;animation-fill-mode:forwards}@keyframes marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.admin-buttons{display:flex;gap:8px;flex-wrap:wrap}.calendar-widget{background:linear-gradient(135deg,#fff,#fefce8);border-radius:var(--radius-xl);padding:16px;margin-bottom:20px;border:3px dashed rgba(245,158,11,.3);box-shadow:var(--shadow-lg);position:relative;overflow:visible}.calendar-widget:before{content:"📅";position:absolute;top:-12px;left:16px;font-size:24px;animation:float 3s ease-in-out infinite}.calendar-widget:after{content:"⏰";position:absolute;top:-8px;right:16px;font-size:20px;animation:float 3s ease-in-out .5s infinite}.calendar-today-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:12px;border:2px solid var(--accent-light);box-shadow:var(--shadow-md)}.calendar-today-date{display:flex;align-items:center;gap:12px}.calendar-day-number{font-size:32px;font-weight:800;color:var(--accent-dark);font-family:var(--font);line-height:1;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.calendar-month-year{display:flex;flex-direction:column}.calendar-month{font-size:14px;font-weight:700;color:var(--text-main);font-family:var(--font)}.calendar-year{font-size:12px;font-weight:600;color:var(--text-muted)}.calendar-today-message{display:flex;align-items:center;gap:8px;max-width:55%}.calendar-message-emoji{font-size:24px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.calendar-message-text{font-size:11px;font-weight:600;color:var(--text-body);margin:0;line-height:1.3}@media(max-width:500px){.calendar-today-header{flex-direction:column;gap:10px;text-align:center}.calendar-today-message{max-width:100%}}.calendar-quote{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(135deg,var(--sticky-pink) 0%,#fce7f3 100%);border-radius:var(--radius-md);margin-bottom:12px;border:2px solid rgba(236,72,153,.2)}.calendar-quote .quote-icon{font-size:18px}.calendar-quote p{margin:0;font-size:12px;font-weight:600;color:var(--text-body);font-style:italic}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-nav-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--sticky-yellow);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--accent-dark);box-shadow:var(--shadow-sm)}.calendar-nav-btn:hover{background:var(--sticky-yellow);transform:scale(1.1);box-shadow:var(--shadow-md)}.calendar-month-title{font-size:16px;font-weight:700;color:var(--text-main);margin:0;font-family:var(--font)}.calendar-today-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;border:none;border-radius:var(--radius-full);font-weight:600;font-size:12px;cursor:pointer;margin-bottom:12px;box-shadow:var(--shadow-md);transition:all .2s ease;font-family:var(--font-body)}.calendar-today-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}.calendar-day-header{text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);padding:6px 2px;text-transform:uppercase;letter-spacing:.5px}.calendar-day-header.weekend{color:var(--secondary)}.calendar-day{text-align:center;padding:8px 4px;font-size:12px;font-weight:600;color:var(--text-body);background:#fff;border-radius:var(--radius-sm);border:2px solid transparent;transition:all .2s ease;box-shadow:var(--shadow-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-day.empty{background:transparent;box-shadow:none}.calendar-day:not(.empty):hover{background:var(--sticky-yellow);transform:scale(1.1);border-color:var(--accent);cursor:pointer;z-index:1}.calendar-day.today{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;font-weight:800;font-size:13px;border:2px solid #fff;box-shadow:var(--shadow-md),0 0 0 2px var(--accent);animation:todayPulse 2s ease-in-out infinite}@keyframes todayPulse{0%,to{box-shadow:var(--shadow-md),0 0 0 2px var(--accent)}50%{box-shadow:var(--shadow-md),0 0 0 4px #f59e0b4d}}.calendar-day.weekend-day{background:linear-gradient(135deg,var(--sticky-purple) 0%,#ede9fe 100%);color:#7c3aed;font-weight:600}.calendar-day.today.weekend-day{background:linear-gradient(135deg,var(--secondary) 0%,#db2777 100%);color:#fff}.calendar-day.selected{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;font-weight:800;border-color:var(--accent-dark);box-shadow:var(--shadow-lg);transform:scale(1.05);z-index:2}.calendar-selected-info{text-align:center;padding:10px;background:linear-gradient(135deg,var(--sticky-green) 0%,#dcfce7 100%);border-radius:var(--radius-md);margin-bottom:10px;border:2px solid #10b981;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.selected-day-name{font-weight:700;color:#059669;font-size:14px}.selected-day-date{font-weight:600;color:var(--text-main);font-size:14px}.calendar-legend{display:flex;justify-content:center;gap:16px;padding-top:8px;border-top:2px dashed rgba(245,158,11,.2)}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-muted)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.today-dot{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 0 0 2px #fff,var(--shadow-sm)}.legend-dot.weekend-dot{background:linear-gradient(135deg,var(--sticky-purple) 0%,#ede9fe 100%);box-shadow:0 0 0 2px #fff,var(--shadow-sm)}@media(max-width:480px){.calendar-widget{padding:12px}.calendar-day{padding:6px 2px;font-size:11px}.calendar-day.today{font-size:12px}.calendar-month-title{font-size:14px}.calendar-day-number{font-size:28px}.calendar-message-emoji{font-size:20px}.calendar-message-text{font-size:10px}}.presentation-card{padding:20px;margin-bottom:16px;border-radius:var(--radius-lg);background:#fff;border:2px solid var(--sticky-orange);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative}.presentation-card:before{content:"📊";position:absolute;top:-12px;right:20px;font-size:24px}.presentation-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px) rotate(1deg)}.presentation-card-header{display:flex;gap:16px;align-items:flex-start}.presentation-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--sticky-orange) 0%,#fed7aa 100%)}.file-icon{font-size:12px;font-weight:800;padding:6px 8px;border-radius:6px;text-transform:uppercase}.file-icon.pdf{background:#ef4444;color:#fff}.file-icon.pptx{background:#f97316;color:#fff}.file-icon.docx{background:#3b82f6;color:#fff}.file-icon.xlsx{background:#10b981;color:#fff}.file-icon.file{background:#6b7280;color:#fff}.presentation-info{flex:1;min-width:0}.presentation-title{font-weight:700;color:var(--text-main);font-size:16px;font-family:var(--font);display:block;margin-bottom:4px}.presentation-desc{font-size:14px;color:var(--text-body);margin:0;line-height:1.5}.presentation-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:2px dashed #f3f4f6}.document-card{padding:20px;margin-bottom:16px;border-radius:var(--radius-lg);background:#fff;border:2px solid var(--sticky-purple);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative}.document-card:before{content:"📁";position:absolute;top:-12px;right:20px;font-size:24px}.document-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-4px) rotate(-1deg)}.document-card-header{display:flex;gap:16px;align-items:flex-start}.document-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--sticky-purple) 0%,#ede9fe 100%)}.document-info{flex:1;min-width:0}.document-title{font-weight:700;color:var(--text-main);font-size:16px;font-family:var(--font);display:block;margin-bottom:4px}.document-desc{font-size:14px;color:var(--text-body);margin:0;line-height:1.5}.document-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:2px dashed #f3f4f6}.document-actions .btn.small{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:var(--shadow-md),0 3px #4f46e5}.document-actions .btn.small:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 4px #4f46e5}.modal-hint{font-size:12px;color:var(--text-muted);background:#f59e0b1a;padding:10px 14px;border-radius:var(--radius-md);margin-top:8px;border-left:3px solid var(--accent)}.viewer-modal{max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.viewer-header{text-align:center;padding-bottom:16px;border-bottom:2px dashed #e5e7eb;margin-bottom:16px;flex-shrink:0}.viewer-icon{width:64px;height:64px;margin:0 auto 12px;background:linear-gradient(135deg,var(--sticky-orange) 0%,#fed7aa 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:var(--shadow-md)}.viewer-header h2{margin:0 0 8px;font-size:22px;font-weight:700;color:var(--text-main);font-family:var(--font)}.viewer-description{font-size:14px;color:var(--text-muted);margin:0}.viewer-container{flex:1;min-height:300px;max-height:calc(90vh - 180px);background:#f9fafb;border-radius:var(--radius-lg);overflow:auto;border:2px solid #e5e7eb}.viewer-iframe{width:100%;height:100%;min-height:300px;max-height:calc(90vh - 180px);border:none;display:block}.viewer-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:16px}.viewer-fallback p{color:var(--text-muted);margin:0}.viewer-footer{display:flex;justify-content:center;padding-top:16px;margin-top:16px;border-top:2px dashed #e5e7eb}@media(max-width:768px){.viewer-modal{max-width:100%;width:100%;max-height:100vh;border-radius:0}.viewer-container,.viewer-iframe{min-height:300px;max-height:50vh}}.header-clock{position:absolute;top:16px;right:16px;z-index:10}@media(max-width:600px){.header-clock{position:relative;top:auto;right:auto;margin-top:16px;display:flex;justify-content:center}}.fun-clock{background:linear-gradient(135deg,#fff,#fefce8);border-radius:var(--radius-lg);padding:14px 18px;border:2px dashed rgba(245,158,11,.3);box-shadow:var(--shadow-md);min-width:180px;position:relative;animation:clockFloat 4s ease-in-out infinite}@keyframes clockFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.fun-clock:before{content:"⏰";position:absolute;top:-10px;left:-10px;font-size:20px;animation:clockTick 1s ease-in-out infinite}@keyframes clockTick{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.fun-clock:after{content:"✨";position:absolute;top:-8px;right:-8px;font-size:16px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.fun-clock-time{display:flex;align-items:center;gap:10px;margin-bottom:8px}.fun-clock-emoji{font-size:28px;animation:emojiBounce 2s ease-in-out infinite;display:inline-block}@keyframes emojiBounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-6px) scale(1.1)}50%{transform:translateY(0) scale(1)}70%{transform:translateY(-3px) scale(1.05)}}.fun-clock-display{display:flex;flex-direction:column}.fun-clock-main{font-size:18px;font-weight:800;color:var(--accent-dark);font-family:var(--font);letter-spacing:1px;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.fun-clock-message{font-size:11px;font-weight:600;color:var(--text-body);white-space:nowrap}.fun-clock-date{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:2px dashed rgba(245,158,11,.2)}.fun-clock-day{font-size:12px;font-weight:700;color:var(--accent);font-family:var(--font)}.fun-clock-full-date{font-size:10px;font-weight:600;color:var(--text-muted)}@media(max-width:480px){.fun-clock{padding:12px 14px;min-width:150px}.fun-clock-emoji{font-size:24px}.fun-clock-main{font-size:16px}.fun-clock-message{font-size:10px}}.fun-clock-hint{font-size:9px;color:var(--text-muted);text-align:center;margin-top:6px;padding-top:6px;border-top:1px dashed rgba(245,158,11,.2);cursor:pointer}.fun-clock-calendar{min-width:200px}.fun-clock-calendar .calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.fun-clock-calendar .calendar-nav-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--sticky-yellow);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .2s ease}.fun-clock-calendar .calendar-nav-btn:hover{background:var(--sticky-yellow);transform:scale(1.1)}.fun-clock-calendar .calendar-month-title{font-size:12px;font-weight:700;color:var(--text-main);font-family:var(--font)}.fun-clock-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.fun-clock-calendar .calendar-day-header{text-align:center;font-size:8px;font-weight:700;color:var(--text-muted);padding:2px}.fun-clock-calendar .calendar-day-header.weekend{color:var(--secondary)}.fun-clock-calendar .calendar-day{text-align:center;padding:4px 2px;font-size:10px;font-weight:600;color:var(--text-body);background:#fff;border-radius:4px;border:1px solid transparent;transition:all .2s ease}.fun-clock-calendar .calendar-day.empty{background:transparent}.fun-clock-calendar .calendar-day:not(.empty):hover{background:var(--sticky-yellow);border-color:var(--accent)}.fun-clock-calendar .calendar-day.today{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;font-weight:800;border:1px solid #fff}.site-footer{margin-top:24px;padding-top:20px;border-top:3px dashed rgba(245,158,11,.3)}.footer-transport-tool{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.transport-label{font-size:14px;font-weight:600;color:var(--text-body)}.transport-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--sticky-yellow) 0%,#fef9c3 100%);border:2px solid var(--accent);border-radius:var(--radius-full);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);font-family:var(--font-body)}.transport-btn:hover{transform:scale(1.05) rotate(-2deg);box-shadow:var(--shadow-lg)}.transport-btn:active{transform:scale(.98)}.transport-current{font-size:16px;font-weight:700;color:var(--text-main);animation:transportPulse 2s ease-in-out infinite}@keyframes transportPulse{0%,to{opacity:1}50%{opacity:.7}}.footer-marquee{overflow:hidden;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:var(--radius-md);padding:12px 0;border:2px dashed rgba(99,102,241,.3)}.marquee-track{display:flex;animation:scrollLeft 15s linear infinite;width:-moz-fit-content;width:fit-content}.marquee-track:hover{animation-play-state:paused}@keyframes scrollLeft{0%{transform:translate(100%)}to{transform:translate(-100%)}}.marquee-text{white-space:nowrap;font-size:14px;font-weight:600;color:var(--text-body);padding:0 40px;display:inline-block}@media(max-width:480px){.footer-transport-tool{gap:8px}.transport-btn{padding:8px 16px}.transport-current{font-size:14px}.marquee-text{font-size:12px;padding:0 20px}}.dark{--bg: #0f172a;--card: #1e293b;--sticky-yellow: #854d0e;--sticky-orange: #9a3412;--sticky-pink: #9d174d;--sticky-green: #166534;--sticky-blue: #1e40af;--sticky-purple: #5b21b6;--bubble-teal: #115e59;--bubble-cyan: #155e75;--bubble-rose: #9f1239;--text-main: #f1f5f9;--text-body: #cbd5e1;--text-muted: #64748b;--accent: #fbbf24;--accent-light: #fcd34d;--accent-dark: #f59e0b;--accent-glow: rgba(251, 191, 36, .15);--secondary: #f472b6;--shadow-sm: 0 2px 4px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 8px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 8px 16px rgba(0,0,0,.5), 0 4px 8px rgba(0,0,0,.4);--shadow-xl: 0 12px 24px rgba(0,0,0,.6), 0 6px 12px rgba(0,0,0,.5);--shadow-float: 0 20px 40px rgba(0,0,0,.7);--shadow-pop: 0 8px 0 rgba(0,0,0,.5)}.dark body,.dark html{background:#0f172a;background-image:radial-gradient(circle,rgba(251,191,36,.05) 1px,transparent 1px),radial-gradient(circle,rgba(244,114,182,.05) 1px,transparent 1px);background-size:24px 24px,36px 36px;background-position:0 0,12px 12px}.dark .portrait-header{background:linear-gradient(135deg,#1e293b,#0f172a,#1e3a5f);border-color:#fbbf244d}.dark .portrait-card{background:transparent}.dark .full-profile{background:#1e293b;border-color:#f472b633}.dark .gate-form input:not([type=checkbox]),.dark .popup-input,.dark .popup-textarea,.dark .note-name-input,.dark .note-text-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.dark .gate-form input:not([type=checkbox]):focus,.dark .popup-input:focus,.dark .popup-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #fbbf2433}.dark .gate-form label,.dark .modal-input-group label{color:#cbd5e1}.dark .person-name,.dark .exp-role,.dark .edu-title,.dark .project-title,.dark .detail-role,.dark .matrix-label{color:#f1f5f9}.dark .person-role,.dark .exp-company,.dark .edu-school{color:#fbbf24;background:#fbbf2426}.dark .person-location,.dark .exp-period,.dark .edu-period,.dark .detail-period{color:#94a3b8}.dark .summary-text{background:linear-gradient(135deg,#854d0e,#713f12);color:#f1f5f9;border-color:#fbbf2433}.dark .exp-card,.dark .edu-card,.dark .project-card,.dark .detail-card,.dark .presentation-card,.dark .document-card{background:#0f172a;border-color:#334155}.dark .exp-card:hover,.dark .edu-card:hover,.dark .project-card:hover{border-color:var(--accent)}.dark .exp-desc,.dark .detail-desc{border-left-color:var(--sticky-pink);color:#cbd5e1}.dark .skill{background:linear-gradient(135deg,#854d0e,#713f12);color:#f1f5f9}.dark .personal-info-grid{background:linear-gradient(135deg,#9d174d,#5b21b6)}.dark .personal-info-grid div{background:#1e293b;border-color:#334155}.dark .personal-info-grid div strong{color:#fbbf24}.dark .pi-value{color:#cbd5e1}.dark .personal-info-empty{color:#64748b}.dark .section-title{background:linear-gradient(135deg,#b45309,#d97706);color:#fff}.dark .matrix-box{background:#1e293b!important;border-color:#334155}.dark .matrix-label{color:#f1f5f9}.dark .matrix-icon{color:#fbbf24}.dark .matrix-detail-content{background:#1e293b;border-color:#854d0e;background-image:linear-gradient(rgba(251,191,36,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(251,191,36,.05) 1px,transparent 1px)}.dark .detail-title{color:#f1f5f9;border-bottom-color:#fbbf244d}.dark .detail-text{background:linear-gradient(135deg,#854d0e,#713f12);color:#f1f5f9}.dark .btn.ghost{border-color:#334155;color:#cbd5e1}.dark .btn.ghost:hover{border-color:var(--accent);color:var(--accent-dark);background:#fbbf241a}.dark .calendar-widget,.dark .fun-clock{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#fbbf244d}.dark .calendar-day,.dark .ttt-cell,.dark .rps-btn,.dark .quiz-option{background:#0f172a;border-color:#334155;color:#f1f5f9}.dark .calendar-day:hover,.dark .ttt-cell:hover{background:#854d0e}.dark .calendar-day.today,.dark .memory-card-back{background:linear-gradient(135deg,#b45309,#d97706);color:#fff}.dark .site-footer{background:linear-gradient(135deg,#1e3a5f,#0f172a,#1e293b);border-color:#fbbf2433}.dark .footer-tagline{background:#1e293be6;border-color:#fbbf2433;color:#cbd5e1}.dark .footer-copyright,.dark .footer-year{color:#64748b}.dark .footer-transport-marquee,.dark .footer-developed{background:#0f172af2;border-color:#334155cc}.dark .footer-transport-marquee .transport-marquee-item,.dark .footer-developed .developed-text{color:#cbd5e1}.dark .notes-add-form{background:linear-gradient(135deg,#854d0e,#713f12)}.dark .note-name-input,.dark .note-text-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.dark .note-name-box{background:#0f172a;border-color:#1e40af}.dark .notes-display{background:#0f172a;border-color:#166534}.dark .note-card{background:linear-gradient(135deg,#713f12,#854d0e)}.dark .note-text{color:#cbd5e1}.dark .notes-empty{background:#0f172a;border-color:#334155;color:#64748b}.dark .quiz-question{background:linear-gradient(135deg,#854d0e,#713f12);color:#f1f5f9}.dark .quiz-option:hover{background:#fbbf2433;border-color:var(--accent)}.dark .game-card{background:linear-gradient(135deg,#854d0e,#713f12)!important}.dark .game-name{color:#f1f5f9}.dark .popup-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#fbbf244d;box-shadow:var(--shadow-xl),0 0 0 4px #fbbf241a}.dark .popup-close{background:#0f172a;border-color:#334155;color:#94a3b8}.dark .popup-close:hover{background:#9d174d;border-color:var(--secondary);color:#fff}.dark .popup-header h2{color:#f1f5f9}.dark .popup-header p{color:#64748b}.dark .success-toast{background:linear-gradient(135deg,#059669,#10b981);box-shadow:var(--shadow-lg),0 4px #047857}.dark .modal-hint{background:#fbbf241a;color:#fbbf24}.dark .viewer-container{background:#0f172a;border-color:#334155}.dark .viewer-header{border-color:#334155}.dark .photo-frame{background:#854d0e;border-color:#fff;box-shadow:var(--shadow-lg),0 0 0 3px var(--accent)}.dark .photo-frame:before{border-color:#fbbf2480}.dark .admin-bar{background:linear-gradient(135deg,#fbbf241a,#f472b61a);border-color:#fbbf244d}.dark .marquee-content{color:#fbbf24}.dark .memory-card-front{background:linear-gradient(135deg,#5b21b6,#7c3aed);border-color:#5b21b6;color:#f1f5f9}.dark .memory-card-back{background:#1e293b;border-color:var(--accent);color:#f1f5f9}.dark .matrix-icon-wrapper{background:#0f172a}.dark .fun-clock-calendar .calendar-day{background:#0f172a;color:#f1f5f9}.dark .fun-clock-calendar .calendar-day:hover{background:#854d0e}.dark .fun-clock-calendar .calendar-day.today{background:linear-gradient(135deg,#b45309,#d97706);color:#fff}.dark .calendar-selected-info{background:linear-gradient(135deg,#166534,#15803d);border-color:#10b981}.dark .selected-day-name{color:#34d399}.dark-mode-toggle{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:var(--shadow-md),0 3px #4f46e5}.dark-mode-toggle:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 4px #4f46e5}.dark-mode-toggle:active{transform:translateY(1px);box-shadow:var(--shadow-sm),0 1px #4f46e5}
