:root{--color-bg-body:#252122;--color-bg-header:#fff;--color-bg-main:#f7f7f7;--color-bg-card:#fff;--color-bg-banner:#cce8f4;--color-bg-banner-overlay:#221e1ffa;--color-text-logo:#252122;--color-text-primary:#5d5d5d;--color-text-title:#252122;--color-text-muted:#858484;--color-text-nav:#5d5d5d;--color-accent:#d52349;--color-border-subtle:#ddd;--color-footer-text:#858484;--color-footer-link:#c5c4c4}:root.dark{--color-bg-body:#0d0c0c;--color-bg-header:#1a1819;--color-bg-main:#131212;--color-bg-card:#201e1f;--color-bg-banner:#1c2b33;--color-bg-banner-overlay:#110f10fa;--color-text-logo:#fff;--color-text-primary:#b5b5b5;--color-text-title:#fff;--color-text-muted:#757474;--color-text-nav:#b5b5b5;--color-accent:#ff3360;--color-border-subtle:#353434;--color-footer-text:#757474;--color-footer-link:#a5a4a4}html{scroll-behavior:smooth}body{transition:background-color .3s,color .3s;background-color:var(--color-bg-body)!important;color:var(--color-text-primary)!important}.dark a{color:var(--color-accent)!important}.dark strong,.dark b{color:var(--color-text-title)!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-body)}::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.theme-toggle-btn{z-index:100;cursor:pointer;color:var(--color-text-logo);opacity:.7;background:0 0;border:0;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s,color .2s;display:flex;position:absolute;top:2rem;right:2rem}.theme-toggle-btn:hover{opacity:1;color:var(--color-accent)}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-card);border:solid 1px var(--color-border-subtle);border-radius:6px;width:100%;max-width:800px;max-height:90vh;padding:3rem 2.5rem;position:relative;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:0;align-items:center;padding:.5rem;transition:color .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--color-accent)}.experience-logo-box{box-sizing:border-box;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:140px;padding:1rem;display:flex}.experience-logo-box img{object-contain:fit;max-width:100%;max-height:100%}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}@media screen and (width<=736px){.grid-cols-2{grid-template-columns:1fr}.theme-toggle-btn{top:1rem;right:1rem}}.d-flex{display:flex}.flex-column{flex-direction:column}.align-items-center{align-items:center}.justify-content-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.w-100{width:100%}.contact-form-row{gap:1rem;margin-bottom:1rem;display:flex}.contact-form-row input,.contact-form-row textarea,.contact-form-textarea textarea{border:1px solid var(--color-border-subtle);background:var(--color-bg-main);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.contact-form-row input:focus,.contact-form-row textarea:focus,.contact-form-textarea textarea:focus{border-color:var(--color-accent);outline:none}@media screen and (width<=736px){.contact-form-row{flex-direction:column;gap:1rem}}#banner.banner-home{background:var(--color-bg-banner) url(/images/banner.jpg) no-repeat!important;background-position:50% 40%!important;background-size:cover!important}#banner.banner-career{background:var(--color-bg-banner) url(/images/career_banner.jpg) no-repeat!important;background-position:50%!important;background-size:cover!important}.box.post>.image.featured img{border-top-left-radius:6px;border-top-right-radius:6px;object-fit:cover!important;object-position:center!important;width:100%!important;height:280px!important}.spec-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9em}.spec-table tr{border-bottom:solid 1px var(--color-border-subtle);transition:background-color .2s}.spec-table tr:hover{background-color:#00000003}.spec-table td{color:var(--color-text-primary);padding:.65rem .5rem}.spec-table td:first-child{padding-left:0;font-weight:600}.spec-table td:last-child{text-align:right;color:var(--color-text-title);padding-right:0;font-weight:700}.sidebar-gallery{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.sidebar-gallery-item{border-top:solid 1px var(--color-border-subtle);padding-top:1.5rem}.sidebar-gallery-item:first-child{border-top:0;padding-top:0}.sidebar-gallery-item img{border:solid 1px var(--color-border-subtle);cursor:pointer;border-radius:4px;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s}.sidebar-gallery-item img:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.sidebar-gallery-item span{color:var(--color-text-muted);text-align:center;margin-top:.5rem;font-size:.8em;line-height:1.4;display:block}.thesis-details{border:1px solid var(--color-border-subtle);border-left:4px solid var(--color-accent);background:#fcfcfc;border-radius:6px;margin:1.5rem 0;padding:1rem 1.25rem;transition:box-shadow .3s;box-shadow:0 2px 6px #00000003}.thesis-details:hover{box-shadow:0 4px 12px #00000008}.thesis-details summary{cursor:pointer;color:var(--color-text-title);-webkit-user-select:none;user-select:none;outline:none;font-size:.95em;font-weight:700}.thesis-details-content{border-top:1px dashed var(--color-border-subtle);margin-top:1rem;padding-top:.75rem;font-size:.95em;line-height:1.6}.thesis-math-display{text-align:center;background:#fff;border:1px solid #00000008;border-radius:4px;margin:1rem 0;padding:.75rem;overflow-x:auto}.thesis-figure{text-align:center;margin:2rem 0}.thesis-figure img{border:solid 1px var(--color-border-subtle);cursor:pointer;border-radius:4px;max-width:100%;height:auto;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;box-shadow:0 4px 15px #0000000d}.thesis-figure img:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.thesis-figure span{color:var(--color-text-muted);margin-top:.6rem;font-size:.85em;line-height:1.45;display:block}.thesis-figure-row{margin:2rem 0}.thesis-figure-row img{border:solid 1px var(--color-border-subtle);cursor:pointer;border-radius:4px;width:100%;height:auto;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;box-shadow:0 4px 15px #0000000d}.thesis-figure-row img:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.thesis-figure-row span{color:var(--color-text-muted);text-align:center;margin-top:.6rem;font-size:.8em;line-height:1.4;display:block}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0;display:grid}@media screen and (width<=980px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (width<=480px){.metrics-grid{grid-template-columns:1fr}}.metric-card{border:1px solid var(--color-border-subtle);border-top:3px solid var(--color-accent);text-align:center;background:#fff;border-radius:6px;padding:1.25rem 1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #00000005}.metric-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000000f}.metric-card .metric-label{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:.4rem;font-size:.75em;font-weight:700;display:block}.metric-card .metric-value{color:var(--color-text-title);font-size:1.1em;font-weight:900;line-height:1.2}.process-timeline{flex-direction:column;gap:1rem;margin:2rem 0;display:flex}.process-step-card{border:1px solid var(--color-border-subtle);background:#fff;border-radius:6px;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 3px 8px #00000003}.process-step-card:hover{border-color:#d5234933;transform:translate(4px);box-shadow:0 6px 15px #0000000a}@media screen and (width<=580px){.process-step-card{text-align:center;flex-direction:column;align-items:center;padding:1.5rem}}.process-badge{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1em;font-weight:900;display:flex;box-shadow:0 3px 6px #d5234940}.process-text{flex-grow:1}.process-text h4{color:var(--color-text-title);margin-bottom:.2rem;font-size:1.05em;font-weight:800}.process-text p{color:var(--color-text-primary);margin:0;font-size:.9em;line-height:1.5}.lightbox-backdrop{z-index:10000;opacity:0;background-color:#000000d9;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;animation:.2s cubic-bezier(.4,0,.2,1) forwards fadeIn;display:flex;position:fixed;top:0;left:0}.lightbox-content{justify-content:center;align-items:center;max-width:90%;max-height:80%;animation:.25s cubic-bezier(.4,0,.2,1) forwards scaleUp;display:flex;position:relative;transform:scale(.95)}.lightbox-content img{object-fit:contain;border:1px solid #ffffff1a;border-radius:4px;max-width:100%;max-height:80vh;box-shadow:0 10px 40px #00000080}.lightbox-caption{color:#f3f3f3;text-align:center;text-shadow:0 2px 4px #00000080;opacity:0;max-width:650px;margin-top:1.5rem;font-size:.95em;line-height:1.5;animation:.3s .1s forwards fadeIn}.lightbox-close-btn{color:#fff;cursor:pointer;opacity:.7;z-index:10001;background:0 0;border:none;font-size:2rem;transition:opacity .2s,transform .2s;position:absolute;top:20px;right:20px}.lightbox-close-btn:hover{opacity:1;transform:rotate(90deg)}@keyframes fadeIn{to{opacity:1}}@keyframes scaleUp{to{transform:scale(1)}}.tech-clickable-btn{background-color:#0000;display:inline-block;border:1px solid var(--color-accent)!important;color:var(--color-accent)!important;cursor:pointer!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-radius:4px!important;margin:.8rem 0!important;padding:.35rem .8rem!important;font-size:.8em!important;font-weight:700!important;transition:all .2s!important}.tech-clickable-btn:hover{box-shadow:0 4px 12px #d5234926;background-color:var(--color-accent)!important;color:#fff!important}:root.dark .tech-clickable-btn:hover{box-shadow:0 4px 12px #ff33604d}.tech-details-content{border-left:3px solid var(--color-accent);background-color:#00000005;border-radius:4px;margin:1rem 0;padding:1.5rem;animation:.25s ease-out slideDown}:root.dark .tech-details-content{background-color:#ffffff05}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.experience-card{flex-direction:row!important;align-items:flex-start!important;gap:2rem!important;display:flex!important}@media screen and (width<=736px){.experience-card{text-align:center!important;flex-direction:column!important;align-items:center!important}}.explore-grid-row{flex-wrap:wrap!important;display:flex!important}.explore-grid-row>div{flex-direction:column!important;display:flex!important}.explore-card{flex-direction:column!important;height:100%!important;display:flex!important}.explore-card p{flex-grow:1!important}.orlog-table{color:#e5d5c5;background:radial-gradient(circle,#2d1e18 0%,#170e0a 100%);border:8px solid #3d2b1f;border-radius:12px;padding:1.5rem;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000c,0 12px 36px #0009}.orlog-table:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#ffffff03 0 2px,#0000 2px 4px);position:absolute;inset:0}.orlog-bowl{background:linear-gradient(#241710 0%,#150d09 100%);border:2px solid #5a3d2b;border-radius:10px;padding:1rem 1.25rem;box-shadow:inset 0 4px 12px #000000b3,0 4px 8px #0000004d}.orlog-arena{background:radial-gradient(circle,#1b2e22 0%,#0c1710 100%);border:4px solid #3a281c;border-radius:8px;margin:1rem 0;padding:1.25rem;position:relative;box-shadow:inset 0 0 20px #000c}.orlog-health-tray{background:#110b08;border:1px solid #3d2b1f;border-radius:20px;flex-wrap:wrap;gap:5px;padding:6px 10px;display:flex;box-shadow:inset 0 2px 6px #000c}.orlog-pebble{border-radius:50%;width:16px;height:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset -2px -2px 4px #0009,inset 1px 1px 2px #fff6}.orlog-pebble.player-active{background:radial-gradient(circle at 35% 35%,#4ade80 0%,#15803d 100%);box-shadow:0 0 6px #4ade8066}.orlog-pebble.ai-active{background:radial-gradient(circle at 35% 35%,#f87171 0%,#b91c1c 100%);box-shadow:0 0 6px #f8717166}.orlog-pebble.broken{opacity:.3;box-shadow:none;background:#262626;transform:scale(.75)}.orlog-die-3d{-webkit-user-select:none;user-select:none;color:#2b1f17;background:linear-gradient(145deg,#f5efe6 0%,#d8cbb8 100%);border:2px solid #b8a690;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:62px;height:62px;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;position:relative;box-shadow:0 6px 12px #0006,inset 0 2px 2px #fffc}.orlog-die-3d:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 10px 18px #00000080}.orlog-die-3d.gold-border{border:3px solid #f59e0b!important;box-shadow:0 0 14px #f59e0b99,inset 0 0 6px #f59e0b66!important}.orlog-die-3d.locked{transform:translateY(-4px)scale(1.05);border-color:#d52349!important;box-shadow:0 0 16px #d52349b3!important}.orlog-totem-card{background:linear-gradient(#2b1c13 0%,#1a100a 100%);border:2px solid #6b4c35;border-radius:8px;padding:.8rem;transition:border-color .2s;box-shadow:0 4px 12px #00000080}.orlog-totem-card.selected{border-color:#f59e0b;box-shadow:0 0 14px #f59e0b4d}.orlog-table-3d{color:#e5d5c5;transform-style:preserve-3d;background:radial-gradient(#2d1e18 0%,#150c08 100%);border:10px solid #3d2b1f;border-radius:16px;padding:2rem;transition:transform .4s;transform:rotateX(12deg);box-shadow:inset 0 0 50px #000000e6,0 16px 48px #000000b3}.orlog-bowl-3d{background:linear-gradient(#281912 0%,#160e0a 100%);border:3px solid #5a3d2b;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:inset 0 6px 16px #000c,0 6px 12px #0006}.orlog-arena-3d{background:radial-gradient(circle,#1e3a2b 0%,#0a1811 100%);border:4px solid #4a3424;border-radius:10px;margin:1.25rem 0;padding:1.5rem;box-shadow:inset 0 0 30px #000000e6,0 4px 15px #00000080}.orlog-health-tray-3d{background:#0f0906;border:2px solid #3d2b1f;border-radius:20px;flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex;box-shadow:inset 0 3px 8px #000000e6}.orlog-pebble-3d{border-radius:50%;width:18px;height:18px;transition:all .35s cubic-bezier(.34,1.56,.64,1)}.orlog-pebble-3d.player-active{background:radial-gradient(circle at 35% 35%,#86efac 0%,#16a34a 60%,#14532d 100%);box-shadow:0 0 8px #4ade8080,inset -2px -2px 4px #0006}.orlog-pebble-3d.ai-active{background:radial-gradient(circle at 35% 35%,#fca5a5 0%,#dc2626 60%,#7f1d1d 100%);box-shadow:0 0 8px #ef444480,inset -2px -2px 4px #0006}.orlog-pebble-3d.broken{opacity:.25;box-shadow:none;background:radial-gradient(circle at 35% 35%,#525252 0%,#171717 100%);transform:scale(.6)}.orlog-die-scene{perspective:400px;-webkit-user-select:none;user-select:none;width:60px;height:60px;display:inline-block;position:relative}.orlog-die-cube{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.orlog-die-face{backface-visibility:hidden;background:linear-gradient(145deg,#fdfbf7 0%,#e6dace 100%);border:2px solid #b39f88;border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:absolute;box-shadow:inset 0 2px 4px #ffffffe6,inset 0 -3px 6px #0003,0 4px 8px #0000004d}.face-front{transform:rotateY(0)translateZ(30px)}.face-back{transform:rotateY(180deg)translateZ(30px)}.face-right{transform:rotateY(90deg)translateZ(30px)}.face-left{transform:rotateY(-90deg)translateZ(30px)}.face-top{transform:rotateX(90deg)translateZ(30px)}.face-bottom{transform:rotateX(-90deg)translateZ(30px)}.orlog-die-scene.gold .orlog-die-face{border:3.5px solid #f59e0b!important;box-shadow:0 0 18px #f59e0bcc,inset 0 0 8px #f59e0b99!important}.orlog-totem-3d{background:linear-gradient(#322116 0%,#1b110a 100%);border:2px solid #7c583f;border-radius:10px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 6px 16px #0009}.orlog-totem-3d:hover{transform:translateY(-3px);box-shadow:0 10px 24px #000000b3}.orlog-totem-3d.selected{border-color:#f59e0b!important;box-shadow:0 0 20px #f59e0b66!important}.die-face-axe{color:#fff!important;background:linear-gradient(145deg,#b91c1c 0%,#7f1d1d 100%)!important;border-color:#ef4444!important}.die-face-arrow{color:#fff!important;background:linear-gradient(145deg,#15803d 0%,#14532d 100%)!important;border-color:#22c55e!important}.die-face-shield{color:#fff!important;background:linear-gradient(145deg,#1d4ed8 0%,#1e3a8a 100%)!important;border-color:#3b82f6!important}.die-face-helmet{color:#fff!important;background:linear-gradient(145deg,#475569 0%,#1e293b 100%)!important;border-color:#94a3b8!important}.die-face-steal{color:#fff!important;background:linear-gradient(145deg,#d97706 0%,#78350f 100%)!important;border-color:#f59e0b!important}.orlog-rolling-dish{background:radial-gradient(circle,#2e1c12 0%,#140b07 100%);border:4px solid #5a3d2b;border-radius:50px;justify-content:center;align-items:center;gap:1.25rem;min-height:85px;padding:1.25rem 2rem;display:inline-flex;box-shadow:inset 0 6px 18px #000000d9,0 4px 10px #00000080}.orlog-mat-slots{background:#0006;border:2px dashed #4a3424;border-radius:12px;justify-content:center;align-items:center;gap:1.25rem;min-height:85px;padding:.75rem 1.5rem;display:inline-flex}.orlog-legend-box{background:linear-gradient(#241710 0%,#150d09 100%);border:2px solid #5a3d2b;border-radius:8px;margin:1rem 0;padding:1rem 1.25rem;box-shadow:inset 0 2px 6px #000000b3}@keyframes spin{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(180deg)scale(1.2)}to{transform:rotateY(360deg)scale(1)}}.orlog-viewport-fixed{width:100%!important;max-width:1180px!important;height:660px!important}@media screen and (width<=980px){.orlog-viewport-fixed{height:520px!important}}@media screen and (width<=736px){.orlog-viewport-fixed{height:420px!important}}
