:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:18px/145% system-ui,Segoe UI,Roboto,sans-serif}body{color:#e5e7eb;background-color:#100e0b;min-height:100svh;margin:0}#root{min-height:100svh}.aura-bg{min-height:100vh;position:relative;overflow:clip}.aura-layer{will-change:transform;pointer-events:none;position:absolute;inset:0;transform:translateZ(0)}.aura-layer-1{mix-blend-mode:normal;background:linear-gradient(135deg,#0f0a19f2 0%,#1e1432cc 50%,#321e5099 100%)}.aura-layer-2{mix-blend-mode:screen;filter:blur(125px);background:radial-gradient(circle at 25% 35%,#8b5cf666 0%,#0000 40%)}.aura-layer-3{mix-blend-mode:screen;filter:blur(150px);background:radial-gradient(circle at 75% 65%,#6366f14d 0%,#0000 35%)}.aura-layer-4{mix-blend-mode:overlay;filter:blur(25px);background:linear-gradient(45deg,#ffffff0d 0%,#fff0 50%,#ffffff08 100%)}.aura-content{z-index:1;position:relative}@media (width>=1024px){.aura-layer-2{filter:blur(180px)}.aura-layer-3{filter:blur(216px)}.aura-layer-4{filter:blur(36px)}}.navbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#100e0b99;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:2rem;padding:.75rem 2rem;display:flex;position:sticky;top:0}.navbar-brand{letter-spacing:.05em;color:#f3f4f6;font-size:1.25rem;font-weight:700}.navbar-tabs{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.navbar-item{margin:0}.navbar-link{color:#9ca3af;border-radius:.5rem;padding:.5rem 1rem;text-decoration:none;transition:color .15s,background-color .15s;display:inline-block}.navbar-link:hover{color:#f3f4f6;background-color:#ffffff0f}.navbar-link-active,.navbar-link-active:hover{color:#f3f4f6;background-color:#8b5cf640}@media (width<=640px){.navbar{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.navbar-tabs{flex-wrap:wrap}}.page{max-width:920px;margin:0 auto;padding:3rem 1.5rem 4rem}.page-title{color:#f3f4f6;margin:0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}.page-subtitle{color:#9ca3af;margin:.75rem 0 0;font-size:1.05rem;line-height:1.6}.section{margin-top:3rem}.section-title{color:#f3f4f6;border-bottom:1px solid #ffffff14;margin:0 0 1.25rem;padding-bottom:.5rem;font-size:1.35rem;line-height:1.3}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.card{color:#e5e7eb;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.75rem;padding:1.25rem;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;display:block}a.card:hover{background:#8b5cf61f;border-color:#8b5cf673;transform:translateY(-2px)}.card h3{color:#f3f4f6;margin:0 0 .5rem;font-size:1.1rem}.card p{color:#9ca3af;margin:0;line-height:1.55}.prose{color:#d1d5db;line-height:1.65}.prose strong{color:#f3f4f6}.timeline{flex-direction:column;gap:1rem;display:flex}.timeline-item{border-left:2px solid #8b5cf680;padding-left:1rem}.timeline-item .period{color:#a78bfa;font-size:.85rem}.timeline-item h4{color:#f3f4f6;margin:.15rem 0 .35rem}.timeline-item p{color:#9ca3af;margin:0;line-height:1.55}.accomplishment-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.accomplishment-list li{color:#d1d5db;padding-left:1.4rem;line-height:1.55;position:relative}.accomplishment-list li:before{content:"★";color:#a78bfa;position:absolute;left:0}.photo-section{grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:start;gap:2rem;display:grid}.photo-section--flip .photo-section-img{order:-1}.photo-section-img{aspect-ratio:3/4;object-fit:cover;object-position:center top;border:1px solid #ffffff14;border-radius:.75rem;width:100%;transition:transform .2s}.photo-section-img:hover{transform:scale(1.02)}@media (width<=720px){.photo-section{grid-template-columns:1fr;gap:1.25rem}.photo-section--flip .photo-section-img{order:0}}.contact-info{flex-direction:column;gap:.5rem;display:flex}.contact-info a{color:#a78bfa;word-break:break-all}.hero{text-align:center;padding:2rem 0 1rem}.hero-title{color:#f3f4f6;margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.hero-tagline{color:#9ca3af;max-width:560px;margin:1rem auto 0;font-size:1.15rem;line-height:1.6}.btn{font:inherit;cursor:pointer;border-radius:.5rem;padding:.6rem 1.4rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-block}.btn-primary{color:#fff;background:#7c3aed;border:1px solid #7c3aed}.btn-primary:hover{background:#8b5cf6;border-color:#8b5cf6}.form{background:#ffffff0a;border:1px solid #ffffff14;border-radius:.75rem;flex-direction:column;gap:1.1rem;margin-top:1.75rem;padding:1.5rem;display:flex}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-label{color:#e5e7eb;font-size:.95rem}.form-input,.form-textarea{color:#f3f4f6;font:inherit;background:#100e0b99;border:1px solid #ffffff24;border-radius:.5rem;padding:.6rem .8rem;transition:border-color .15s}.form-input:focus,.form-textarea:focus{border-color:#7c3aed;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280}.form-textarea{resize:vertical;min-height:140px}.form-input-invalid{border-color:#ef4444}.form-error{color:#f87171;font-size:.85rem}.form-status{border-radius:.5rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.5}.form-status-success{color:#86efac;background:#22c55e1f;border:1px solid #22c55e59}.form-status-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459}.form-status a{color:inherit;font-weight:600}.placeholder-box{text-align:center;color:#9ca3af;background:#ffffff06;border:1px dashed #ffffff2e;border-radius:.75rem;margin-top:2rem;padding:2rem 1.5rem;line-height:1.6}.calendar{background:#ffffff08;border:1px solid #ffffff14;border-radius:.75rem;margin-top:1.75rem;padding:1rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-month{color:#f3f4f6;margin:0;font-size:1.15rem}.calendar-nav{color:#e5e7eb;cursor:pointer;background:#100e0b99;border:1px solid #ffffff24;border-radius:.5rem;width:2.25rem;height:2.25rem;font-size:1.25rem;line-height:1;transition:background-color .15s,border-color .15s}.calendar-nav:hover:not(:disabled){background:#8b5cf640;border-color:#8b5cf680}.calendar-nav:disabled{opacity:.35;cursor:not-allowed}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{gap:.25rem;margin-bottom:.25rem}.calendar-weekday{text-align:center;color:#9ca3af;font-size:.8rem;line-height:2}.calendar-grid{gap:.25rem}.calendar-day{border:1px solid #ffffff0f;border-radius:.5rem;flex-direction:column;gap:.2rem;min-height:84px;padding:.3rem;display:flex;overflow:hidden}.calendar-day-empty{background:0 0;border-color:#0000}.calendar-day:not(.calendar-day-empty):hover{background:#8b5cf61a;border-color:#8b5cf659}.calendar-day-clickable{cursor:pointer}.calendar-day-clickable:focus-visible{outline-offset:1px;outline:2px solid #8b5cf6}.calendar-day-number{color:#9ca3af;margin-bottom:.15rem;font-size:.8rem;line-height:1}.calendar-day-events{flex-direction:column;gap:.15rem;display:flex;overflow:hidden}.calendar-event{border-radius:.3rem;flex-direction:column;gap:0;padding:.15rem .3rem;font-size:.72rem;line-height:1.2;display:flex}.calendar-event-practice{color:#a7f3d0;background:#10b98133;border-left:2px solid #10b981}.calendar-event-match{color:#ddd6fe;background:#7c3aed4d;border-left:2px solid #8b5cf6}.calendar-event-other{color:#bfdbfe;background:#3b82f633;border-left:2px solid #3b82f6}.calendar-event-tournament{color:#fde68a;background:#f59e0b33;border-left:2px solid #f59e0b}.calendar-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event-time{color:inherit;opacity:.75;font-size:.68rem}.calendar-legend{color:#9ca3af;gap:1.25rem;margin:.9rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.calendar-dot{border-radius:9999px;width:.6rem;height:.6rem;margin-right:.3rem;display:inline-block}.calendar-status{text-align:center;color:#9ca3af}.calendar-status-error{color:#f87171}.calendar-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.calendar-list-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:.5rem;flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:.6rem .85rem;font-size:.95rem;display:flex}.calendar-list-date{color:#f3f4f6;min-width:4.5rem;font-weight:700}.calendar-list-type{border-radius:.35rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600}.calendar-list-title{color:#e5e7eb}.calendar-list-time,.calendar-list-location{color:#9ca3af;font-size:.85rem}.calendar-list-location:before{content:"📍";margin-right:.2rem}@media (width<=640px){.calendar-day{min-height:64px}}.calendar-modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.calendar-modal{background:#1c1917;border:1px solid #ffffff1f;border-radius:.75rem;width:100%;max-width:420px;max-height:80vh;padding:1.5rem;position:relative;overflow-y:auto}.calendar-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:.5rem;width:2rem;height:2rem;font-size:1.4rem;line-height:1;transition:color .15s,background-color .15s;position:absolute;top:.5rem;right:.5rem}.calendar-modal-close:hover{color:#f3f4f6;background:#ffffff14}.calendar-modal-date{color:#f3f4f6;margin:0 0 1rem;font-size:1.2rem}.calendar-modal-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.calendar-modal-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:.6rem;flex-direction:column;gap:.4rem;padding:.85rem;display:flex}.calendar-modal-item-head{align-items:flex-start;gap:.6rem;display:flex}.calendar-modal-type{border-radius:.35rem;flex-shrink:0;padding:.1rem .45rem;font-size:.75rem;font-weight:600}.calendar-modal-title{color:#f3f4f6;font-weight:600;line-height:1.35}.calendar-modal-detail{color:#d1d5db;gap:.4rem;font-size:.95rem;line-height:1.4;display:flex}.calendar-modal-detail-label{color:#9ca3af}.post-list{flex-direction:column;gap:1rem;margin-top:1.75rem;display:flex}.post-card{color:#e5e7eb;background:#ffffff09;border:1px solid #ffffff14;border-radius:.75rem;padding:1.25rem;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;display:block}.post-card:hover{background:#8b5cf61a;border-color:#8b5cf666;transform:translateY(-2px)}.post-card-head{align-items:flex-start;gap:.6rem;display:flex}.post-status{border-radius:.35rem;flex-shrink:0;margin-top:.15rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600;line-height:1.6}.post-status-done{color:#a7f3d0;background:#10b98126;border-left:2px solid #10b981}.post-status-upcoming{color:#fde68a;background:#f59e0b26;border-left:2px solid #f59e0b}.post-pin-icon{opacity:.9;align-self:center;width:1.1rem;height:1.1rem;margin-left:auto}.post-card-title{color:#f3f4f6;margin:0;font-size:1.15rem;line-height:1.35}.post-card-date{color:#9ca3af;margin:.35rem 0 0;font-size:.85rem}.post-card-intro{color:#d1d5db;margin:.6rem 0 0;line-height:1.55}.post-topics{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.post-chip{color:#c4b5fd;background:#8b5cf624;border:1px solid #8b5cf64d;border-radius:9999px;padding:.15rem .6rem;font-size:.78rem}.post-detail{animation:.2s post-fade}@keyframes post-fade{0%{opacity:0}to{opacity:1}}.post-back{margin:0 0 1.25rem}.post-back a{color:#a78bfa;font-size:.95rem;text-decoration:none}.post-back a:hover{text-decoration:underline}.post-detail-head{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.post-detail-title{color:#f3f4f6;margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.2}.post-content{color:#d1d5db;max-width:70ch;margin-top:1.5rem;line-height:1.7}.post-content p{margin:0 0 1rem}
