@import "https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@1,6..72,400;1,6..72,500&display=swap";html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.admin-portal{background-color:var(--color-bg);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-display);flex-direction:column;display:flex;position:relative;overflow-x:clip}.admin-bg-glow{pointer-events:none;z-index:0;background:radial-gradient(circle at 15% 15%,#c9b6f70a 0%,#0000 40%),radial-gradient(circle at 85% 85%,#f5f0a808 0%,#0000 40%),radial-gradient(circle,#ffffff05 0%,#0000 60%);position:fixed;inset:0}.admin-header{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-subtle);background:#0a0a0ad9;padding:.875rem 1.5rem;position:sticky;top:0}.admin-header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1600px;margin:0 auto;display:flex}.admin-brand{align-items:center;gap:.75rem;display:flex}.admin-badge{color:var(--color-accent-pastel-a);border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;background:#c9b6f71f;border:1px solid #c9b6f740;padding:.25rem .6rem;font-size:.72rem;font-weight:600}.admin-title{letter-spacing:-.01em;color:var(--color-text-primary);align-items:center;gap:.5rem;font-size:1.15rem;font-weight:600;display:flex}.admin-status-pill{color:var(--color-text-secondary);background:var(--color-bg-card);border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.75rem;display:inline-flex}.admin-status-dot{background-color:var(--color-accent-signal);width:7px;height:7px;box-shadow:0 0 8px var(--color-accent-signal);border-radius:50%}.admin-header-actions{align-items:center;gap:.6rem;display:flex}.admin-btn{border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);border:1px solid var(--color-border-subtle);background:var(--color-bg-card);color:var(--color-text-primary);align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.825rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-btn:hover{border-color:var(--color-border-default);background:#ffffff14;transform:translateY(-1px)}.admin-btn-primary{background:var(--color-accent-primary);color:var(--color-bg);border-color:var(--color-accent-primary);font-weight:600}.admin-btn-primary:hover{background:#fff;box-shadow:0 0 16px #fff3}.admin-btn-danger{color:#f87171;border-color:#ef444440}.admin-btn-danger:hover{background:#ef44441f;border-color:#ef444466}.admin-btn-accent{color:var(--color-accent-pastel-a);background:#c9b6f726;border-color:#c9b6f74d}.admin-btn-accent:hover{background:#c9b6f740}.admin-body{z-index:1;flex:1;width:100%;max-width:1600px;margin:0 auto;display:flex;position:relative}.admin-sidebar{border-right:1px solid var(--color-border-subtle);background:#0e0e0e99;flex-direction:column;flex-shrink:0;gap:.35rem;width:270px;min-height:calc(100vh - 65px);padding:1.5rem 1rem;display:flex}.admin-nav-category{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:.75rem .75rem .25rem;font-size:.68rem;font-weight:700}.admin-tab-btn{border-radius:var(--radius-sm);color:var(--color-text-secondary);text-align:left;width:100%;transition:all var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;align-items:center;gap:.65rem;padding:.65rem .85rem;font-size:.875rem;font-weight:500;display:flex}.admin-tab-btn:hover{color:var(--color-text-primary);background:#ffffff0a}.admin-tab-btn.is-active{color:var(--color-text-primary);background:var(--color-bg-card);border-color:var(--color-border-default);box-shadow:0 2px 8px #0000004d}.admin-tab-icon{opacity:.8;flex-shrink:0}.admin-tab-btn.is-active .admin-tab-icon{color:var(--color-accent-pastel-a);opacity:1}.admin-tab-count{border-radius:var(--radius-full);color:var(--color-text-muted);background:#ffffff14;margin-left:auto;padding:.15rem .45rem;font-size:.72rem}.admin-main{flex:1;max-width:1050px;min-height:calc(100vh - 65px);padding:2rem;overflow-y:auto}.admin-view-split .admin-main{max-width:none}.admin-preview-pane{border-left:1px solid var(--color-border-subtle);background:#000;flex-direction:column;flex:1;height:calc(100vh - 65px);display:flex;position:sticky;top:65px}.admin-preview-header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8rem;display:flex}.admin-preview-iframe{background:var(--color-bg);border:none;flex:1;width:100%;height:100%}.admin-card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard);margin-bottom:1.5rem;padding:1.5rem;position:relative}.admin-card:hover{border-color:var(--color-border-default)}.admin-card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.admin-card-title{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:600;display:flex}.admin-card-subtitle{color:var(--color-text-muted);margin-top:.25rem;font-size:.85rem}.admin-field-group{margin-bottom:1.25rem}.admin-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:.45rem;font-size:.8rem;font-weight:600;display:block}.admin-input,.admin-textarea,.admin-select{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);transition:all var(--duration-fast) var(--ease-standard);padding:.65rem .85rem;font-family:inherit;font-size:.9rem}.admin-input:focus,.admin-textarea:focus,.admin-select:focus{border-color:var(--color-accent-pastel-a);background:var(--color-bg-raised);outline:none;box-shadow:0 0 0 2px #c9b6f726}.admin-textarea{resize:vertical;min-height:95px;line-height:1.5}.admin-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.admin-grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.admin-grid-2,.admin-grid-3{grid-template-columns:1fr}}.drag-controller-card{background:var(--color-bg-raised);border-radius:var(--radius-md);border:1px solid #c9b6f733;margin-bottom:1.5rem;padding:1.5rem}.drag-track-container{margin:1.5rem 0;position:relative}.drag-track-labels{color:var(--color-text-muted);font-size:.75rem;font-family:var(--font-mono);justify-content:space-between;margin-bottom:.5rem;display:flex}.drag-track{background:var(--color-bg);border:1px solid var(--color-border-default);border-radius:var(--radius-full);cursor:ew-resize;-webkit-user-select:none;user-select:none;align-items:center;height:48px;padding:0 8px;display:flex;position:relative;overflow:hidden}.drag-track-markers{pointer-events:none;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:absolute;inset:0}.drag-marker{background:var(--color-border-subtle);width:1px;height:16px}.drag-marker.center{background:#c9b6f74d;height:24px}.drag-handle{background:var(--color-accent-primary);width:90px;height:36px;color:var(--color-bg);border-radius:var(--radius-full);letter-spacing:.03em;cursor:grab;transition:background var(--duration-fast), transform var(--duration-fast);justify-content:center;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:5px;box-shadow:0 2px 10px #00000080}.drag-handle:active{cursor:grabbing;background:var(--color-accent-pastel-a);transform:scale(.97)}.drag-presets-row{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.drag-preset-btn{border-radius:var(--radius-sm);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem;font-size:.8rem;font-weight:500;display:flex}.drag-preset-btn:hover{color:var(--color-text-primary);background:#ffffff0d}.drag-preset-btn.is-active{border-color:var(--color-accent-pastel-a);color:var(--color-accent-pastel-a);background:#c9b6f726;font-weight:600}.hero-stage-preview{background:var(--color-bg);border:1px dashed var(--color-border-default);border-radius:var(--radius-sm);align-items:center;min-height:140px;margin-top:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.hero-stage-preview:before{content:"STAGE PREVIEW";font-size:.65rem;font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.05em;position:absolute;top:6px;right:8px}.hero-stage-box{background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);max-width:320px;padding:.75rem 1.25rem;transition:transform .15s ease-out}.project-admin-item{background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast);margin-bottom:1rem;padding:1.25rem}.project-admin-item:hover{border-color:var(--color-border-default)}.project-admin-item-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.project-order-badge{font-family:var(--font-mono);border-radius:var(--radius-full);color:var(--color-text-secondary);background:#ffffff14;padding:.2rem .5rem;font-size:.75rem}.project-admin-actions{align-items:center;gap:.4rem;display:flex}.project-reorder-btn{border-radius:var(--radius-sm);background:var(--color-bg-card);border:1px solid var(--color-border-subtle);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);justify-content:center;align-items:center;display:flex}.project-reorder-btn:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-border-default);background:#ffffff14}.project-reorder-btn:disabled{opacity:.3;cursor:not-allowed}.tags-input-wrapper{flex-direction:column;width:100%;display:flex}.tags-manager-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem;display:flex}.tag-chip{border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);color:var(--color-text-secondary);background:#ffffff0f;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;display:inline-flex}.tag-chip-remove{cursor:pointer;opacity:.6;font-weight:700}.tag-chip-remove:hover{opacity:1;color:#f87171}.sections-overview-list{flex-direction:column;gap:.75rem;display:flex}.section-overview-row{background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);transition:all var(--duration-fast);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.section-overview-row:hover{border-color:var(--color-border-default)}.section-row-info{align-items:center;gap:.85rem;display:flex}.section-dot{background:var(--color-accent-signal);border-radius:50%;width:8px;height:8px}.section-dot.inactive{background:var(--color-text-muted)}.section-row-name{font-size:.95rem;font-weight:500}.section-row-desc{color:var(--color-text-muted);font-size:.8rem}.switch-label{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.switch-label input{opacity:0;width:0;height:0}.switch-slider{background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:24px;transition:all .3s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:var(--color-text-muted);border-radius:50%;width:16px;height:16px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.switch-slider{border-color:var(--color-accent-signal);background-color:#22c55e33}input:checked+.switch-slider:before{background-color:var(--color-accent-signal);transform:translate(20px)}.admin-toast{background:var(--color-bg-card);border:1px solid var(--color-accent-signal);color:var(--color-text-primary);border-radius:var(--radius-sm);z-index:1000;animation:slideUp .3s var(--ease-standard);align-items:center;gap:.6rem;padding:.75rem 1.25rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 10px 30px #000000b3}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(12px);background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.admin-modal-card{background-color:var(--color-bg-raised,#121212);border:1px solid var(--color-border-default,#ffffff24);width:100%;max-width:440px;color:var(--color-text-primary,#f5f5f4);border-radius:12px;padding:2rem;position:relative;box-shadow:0 20px 40px #000c}.admin-modal-close{color:var(--color-text-muted,#6b6b68);cursor:pointer;width:32px;height:32px;transition:color var(--duration-fast,.2s) ease;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:1.25rem;right:1.25rem}.admin-modal-close:hover{color:var(--color-text-primary,#f5f5f4)}.admin-modal-header{margin-bottom:1.5rem}.admin-modal-eyebrow{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary,#a3a3a0);font-size:.72rem}.admin-modal-title{font-family:var(--font-display,var(--font-sans));color:var(--color-text-primary,#f5f5f4);margin:.25rem 0 0;font-size:1.35rem;font-weight:600}.admin-modal-form{flex-direction:column;gap:1rem;display:flex}.admin-modal-field{flex-direction:column;gap:.4rem;display:flex}.admin-modal-label{font-family:var(--font-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary,#a3a3a0);font-size:.72rem}.admin-modal-input{background-color:var(--color-bg,#0a0a0a);border:1px solid var(--color-border-default,#ffffff24);width:100%;color:var(--color-text-primary,#f5f5f4);font-family:var(--font-mono,monospace);transition:border-color var(--duration-fast,.2s) ease;border-radius:6px;outline:none;padding:.75rem .9rem;font-size:.9rem}.admin-modal-input:focus{border-color:var(--color-text-primary,#f5f5f4)}.admin-modal-error{font-family:var(--font-mono,monospace);color:#f87171;padding:.25rem 0;font-size:.78rem}.admin-modal-actions{gap:.75rem;margin-top:.5rem;display:flex}.admin-modal-cancel{border:1px solid var(--color-border-default,#ffffff24);color:var(--color-text-secondary,#a3a3a0);cursor:pointer;font-family:var(--font-sans,sans-serif);transition:all var(--duration-fast,.2s) ease;background:0 0;border-radius:6px;flex:1;padding:.75rem;font-size:.88rem}.admin-modal-cancel:hover{color:var(--color-text-primary,#f5f5f4);border-color:var(--color-text-primary,#f5f5f4)}.admin-modal-submit{background-color:var(--color-text-primary,#f5f5f4);color:var(--color-bg,#0a0a0a);cursor:pointer;font-family:var(--font-sans,sans-serif);transition:all var(--duration-fast,.2s) ease;border:none;border-radius:6px;flex:1;padding:.75rem;font-size:.88rem;font-weight:600}.admin-modal-submit:hover:not(:disabled){background-color:#fff}.admin-modal-submit:disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.admin-body{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--color-border-subtle);flex-direction:row;width:100%;min-height:auto;padding:.75rem;overflow-x:auto}.admin-nav-category{display:none}.admin-main{padding:1rem}}.theme-switch{--toggle-size:10px;--container-width:5.625em;--container-height:2.5em;--container-radius:.38em;--container-light-bg:#5caad4;--container-night-bg:#1b1e36;--circle-container-diameter:3.375em;--sun-moon-diameter:2.125em;--sun-bg:#f5c518;--moon-bg:#d8d4c0;--spot-color:#9b9787;--circle-container-offset:calc((var(--circle-container-diameter) - var(--container-height)) / 2 * -1);--stars-color:#fff8e1;--clouds-color:#f4f4f4;--back-clouds-color:#bacfe0;--transition:.5s cubic-bezier(0, -.02, .4, 1.25);--circle-transition:.3s cubic-bezier(0, -.02, .35, 1.17);vertical-align:middle;flex-shrink:0;align-items:center;min-height:44px;display:inline-flex;position:relative}.theme-switch,.theme-switch *,.theme-switch :before,.theme-switch :after{box-sizing:border-box;font-size:var(--toggle-size);margin:0;padding:0}.theme-switch__container{width:var(--container-width);height:var(--container-height);background-color:var(--container-light-bg);border-radius:var(--container-radius);cursor:pointer;background-image:linear-gradient(to bottom, var(--container-light-bg) 0%, #4a92bd 100%);transition:all var(--transition);filter:url(#sketchy);position:relative;overflow:hidden;transform:rotate(-.7deg);box-shadow:0 0 0 2.5px #1a1a1a,3px 4px 0 2.5px #1a1a1a38}.theme-switch__container:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;background-image:repeating-linear-gradient(-50deg,#0000,#0000 7px,#ffffff0a 7px 8px);position:absolute;inset:0}.theme-switch__checkbox{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.theme-switch__checkbox:focus-visible+.theme-switch__container{outline:2px solid var(--color-text-primary);outline-offset:6px}.theme-switch__circle-container{width:var(--circle-container-diameter);height:var(--circle-container-diameter);left:var(--circle-container-offset);top:var(--circle-container-offset);border-radius:var(--container-radius);transition:var(--circle-transition);pointer-events:none;background-color:#ffffff1a;display:flex;position:absolute;box-shadow:inset 0 0 0 3.375em #ffffff1a,inset 0 0 0 3.375em #ffffff1a,0 0 0 .625em #ffffff1a,0 0 0 1.25em #ffffff1a}.theme-switch__circle-container:before{content:"";width:calc(var(--circle-container-diameter) + 1.5em);height:calc(var(--circle-container-diameter) + 1.5em);opacity:1;transition:opacity var(--transition);pointer-events:none;filter:url(#sketchy-sm);background:conic-gradient(#0000 0deg 8deg,#f5c51885 8deg 22deg,#0000 22deg 53deg,#f5c51885 53deg 67deg,#0000 67deg 98deg,#f5c51885 98deg 112deg,#0000 112deg 143deg,#f5c51885 143deg 157deg,#0000 157deg 188deg,#f5c51885 188deg 202deg,#0000 202deg 233deg,#f5c51885 233deg 247deg,#0000 247deg 278deg,#f5c51885 278deg 292deg,#0000 292deg 323deg,#f5c51885 323deg 337deg,#0000 337deg 360deg);border-radius:50%;animation:14s linear infinite rotateSunRays;position:absolute;top:-.75em;left:-.75em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:before{opacity:0}@keyframes rotateSunRays{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-switch__sun-moon-container{pointer-events:auto;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);border-radius:var(--container-radius);background-color:var(--sun-bg);filter:url(#sketchy-sm)drop-shadow(.062em .125em .125em #00000040)drop-shadow(0 .062em .125em #00000040);transition:var(--transition);margin:auto;position:relative;overflow:hidden;transform:scale(1);box-shadow:inset .062em .062em .062em 0 #feffef9c,inset 0 -.062em .062em 0 #a1872a,.1em .13em 0 .04em #1a1a1a}.theme-switch__sun-moon-container:hover{transform:scale(1.1)rotate(5deg)}.theme-switch__moon{background-color:var(--moon-bg);border-radius:inherit;width:100%;height:100%;transition:all var(--transition), transform .3s ease;position:relative;transform:translate(100%);box-shadow:inset .062em .062em .062em 0 #feffef9c,inset 0 -.062em .062em 0 #969696}.theme-switch__moon:hover{transform:rotate(15deg)}.theme-switch__spot{border-radius:var(--container-radius);background-color:var(--spot-color);filter:url(#sketchy-sm);width:.75em;height:.75em;transition:background-color .3s;position:absolute;top:.75em;left:.312em;box-shadow:inset 0 .0312em .062em #00000040}.theme-switch__spot:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot:nth-last-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}.theme-switch__moon:hover .theme-switch__spot{background-color:#7a7f8c}.theme-switch__clouds{background-color:var(--clouds-color);border-radius:var(--container-radius);width:1.25em;height:1.25em;box-shadow:.937em .312em var(--clouds-color), -.312em -.312em var(--back-clouds-color), 1.437em .375em var(--clouds-color), .5em -.125em var(--back-clouds-color), 2.187em 0 var(--clouds-color), 1.25em -.062em var(--back-clouds-color), 2.937em .312em var(--clouds-color), 2em -.312em var(--back-clouds-color), 3.625em -.062em var(--clouds-color), 2.625em 0em var(--back-clouds-color), 4.5em -.312em var(--clouds-color), 3.375em -.437em var(--back-clouds-color), 4.625em -1.75em 0 .437em var(--clouds-color), 4em -.625em var(--back-clouds-color), 4.125em -2.125em 0 .437em var(--back-clouds-color);filter:url(#sketchy-sm);transition:all .5s cubic-bezier(0,-.02,.4,1.25);position:absolute;bottom:-.625em;left:.312em}.theme-switch__stars-container{color:var(--stars-color);width:2.75em;height:auto;transition:var(--transition);position:absolute;top:-100%;left:.312em}.theme-switch__checkbox:checked+.theme-switch__container{background-color:var(--container-night-bg);background-image:linear-gradient(to bottom, var(--container-night-bg) 0%, #252a4a 100%)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__circle-container:hover{left:calc(var(--circle-container-offset) + .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__moon{transform:translate(0)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__clouds{bottom:-4.062em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-container{top:50%;transform:translateY(-50%)}.theme-switch__container:hover .theme-switch__clouds{transform:translate(15px)scale(1.02)}.theme-switch__sun-moon-container:after{content:"";opacity:0;background:radial-gradient(circle,#fff3 0%,#0000 70%);border-radius:50%;transition:opacity .3s;position:absolute;inset:-5px}.theme-switch__sun-moon-container:hover:after{opacity:1}.theme-switch__shooting-star{opacity:0;background:#fff;width:2px;height:2px;transition:opacity .3s;position:absolute;top:20%;left:-10%}.theme-switch__shooting-star-2{opacity:0;background:#fff;width:1px;height:1px;transition:opacity .3s;position:absolute;top:35%;left:-10%}.theme-switch__meteor{opacity:0;filter:blur(1px);background:gold;border-radius:50%;width:3px;height:3px;transition:opacity .3s;position:absolute;top:-10%;left:50%}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__shooting-star{opacity:1;animation:2s linear infinite shootingStar}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__shooting-star-2{opacity:1;animation:3s linear 1s infinite shootingStar}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__meteor{opacity:1;animation:4s linear 2s infinite meteor}@keyframes shootingStar{0%{opacity:1;transform:translate(0)translateY(0)rotate(45deg)}to{opacity:0;transform:translate(150px)translateY(150px)rotate(45deg)}}@keyframes meteor{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(150px)scale(.3)}}.theme-switch__stars-cluster{opacity:0;transition:opacity .3s;position:absolute;inset:0}.theme-switch__stars-cluster .star{background:#fff;border-radius:50%;width:2px;height:2px;position:absolute;box-shadow:0 0 4px 1px #fff}.theme-switch__stars-cluster .star:first-child{animation:1s ease-in-out infinite twinkle;top:20%;left:20%}.theme-switch__stars-cluster .star:nth-child(2){animation:1s ease-in-out .3s infinite twinkle;top:30%;left:55%}.theme-switch__stars-cluster .star:nth-child(3){animation:1s ease-in-out .6s infinite twinkle;top:40%;left:80%}.theme-switch__stars-cluster .star:nth-child(4){animation:1s ease-in-out .9s infinite twinkle;top:60%;left:30%}.theme-switch__stars-cluster .star:nth-child(5){animation:1s ease-in-out 1.2s infinite twinkle;top:70%;left:65%}.theme-switch__aurora{opacity:0;filter:blur(4px);background:linear-gradient(90deg,#0ff0 0%,#0ff3 25%,#8000ff33 50%,#0ff3 75%,#0ff0 100%);height:20px;transition:opacity .3s;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}.theme-switch__comets{opacity:0;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.theme-switch__comets .comet{filter:blur(1px);background:linear-gradient(90deg,#fff 0%,#0000 90%);border-radius:50%;width:2px;height:2px;position:absolute}.theme-switch__comets .comet:first-child{animation:4s linear infinite cometMove;top:30%;left:-10%}.theme-switch__comets .comet:nth-child(2){animation:6s linear 2s infinite cometMove;top:50%;left:-10%}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes cometMove{0%{opacity:0;transform:translate(0)translateY(0)rotate(-45deg)scale(1)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(200px)translateY(200px)rotate(-45deg)scale(.2)}}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-cluster{opacity:1}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__aurora{opacity:1;animation:8s linear infinite auroraWave}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__comets{opacity:1}@keyframes auroraWave{0%{transform:translateY(-100%)translate(-50%)}to{transform:translateY(-100%)translate(50%)}}.admin-portal{--studio-purple:#9565ee;--studio-panel:var(--color-bg-raised);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}[data-theme=light] .admin-portal{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--studio-purple:#7031cb}.admin-portal h1,.admin-portal h2,.admin-portal h3,.admin-portal p,.admin-portal button,.admin-portal a{font-family:inherit}.admin-bg-glow{background:0 0}.admin-header{background:color-mix(in srgb, var(--color-bg) 95%, transparent);padding:1rem 1.4rem}.admin-header-inner,.admin-header-actions{flex-wrap:wrap}.admin-brand{gap:.75rem}.admin-badge{width:35px;height:35px;color:var(--color-text-primary);background:#9565ee12;border:1px solid #9565ee55;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:750;display:flex}.admin-badge>span{color:var(--studio-purple)}.admin-title{letter-spacing:-.02em;font-size:.92rem;font-weight:650;line-height:1.35}.admin-title>span{color:var(--color-text-secondary);letter-spacing:0;margin-top:2px;font-size:.64rem;font-weight:400;display:block}.admin-status-pill{font-size:.65rem}.admin-header-actions{gap:.4rem}.admin-header-actions .admin-btn{padding:.45rem .65rem;font-size:.7rem}.admin-theme-toggle{align-items:center;margin-right:.3rem;display:flex}.admin-theme-toggle .theme-switch{font-size:9px}.admin-btn{border-radius:7px;min-height:34px;transition:background .2s,border-color .2s,transform .2s}.admin-btn-primary{background:var(--color-text-primary);color:var(--color-bg)}.admin-btn-primary:hover{background:var(--color-text-primary);color:var(--color-bg);box-shadow:none}.admin-body{max-width:1800px}.admin-sidebar{width:224px;min-height:0;top:var(--admin-header-height,90px);height:calc(100dvh - var(--admin-header-height,90px));scrollbar-width:thin;background:0 0;padding:1.25rem .85rem;position:sticky;overflow-y:auto}.admin-nav-category{letter-spacing:.1em;padding-top:1.1rem;font-size:.6rem;font-weight:600}.admin-tab-btn{cursor:pointer;border-radius:8px;padding:.7rem;font-size:.75rem;line-height:1.4}.admin-tab-btn.is-active{box-shadow:none;background:#9565ee12;border-color:#9565ee22}.admin-tab-btn.is-active .admin-tab-icon{color:var(--studio-purple)}.admin-tab-count{font-size:.6rem}.admin-main{min-width:0;max-width:none;padding:2rem clamp(1.25rem,3vw,3rem)}.admin-tab-content,.studio-overview{max-width:1180px;margin:0 auto;animation:.35s ease-out studioPageIn}.admin-card,.project-admin-item,.drag-controller-card{background:var(--studio-panel);border-radius:12px}.admin-card-title{letter-spacing:-.025em;font-size:1.1rem}.admin-card-subtitle{color:var(--color-text-secondary);line-height:1.6}.admin-label{font-size:.68rem}.admin-input,.admin-textarea,.admin-select{background:var(--color-bg);padding:.75rem .85rem;font-family:inherit}.admin-input:focus,.admin-textarea:focus,.admin-select:focus{background:var(--studio-panel);border-color:var(--studio-purple);box-shadow:0 0 0 3px #9565ee12}.admin-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.project-admin-item-header,.project-admin-item-header>div:first-child{flex-wrap:wrap}.project-admin-item-header>div:first-child{overflow-wrap:anywhere;min-width:0}.admin-project-search{align-items:center;gap:.75rem;margin-bottom:1.3rem;display:flex}.admin-empty-state{text-align:center;color:var(--color-text-secondary);padding:2.5rem}.section-overview-row{gap:1rem}.switch-label{flex-shrink:0}.drag-track{touch-action:pan-y;background:var(--color-bg)}.hero-stage-preview{background:var(--color-bg)}.admin-view-split .admin-main{flex:50%;padding:1.25rem}.admin-preview-pane{min-width:320px;top:var(--admin-header-height,90px);height:calc(100dvh - var(--admin-header-height,90px));flex:45%}.admin-view-split .admin-grid-3{grid-template-columns:1fr}.admin-modal-card{max-height:calc(100dvh - 3rem);overflow-y:auto}.admin-save-warning{color:#fca5a5;background:#f8717110;border:1px solid #f8717144;border-radius:9px;margin-bottom:1rem;padding:1rem}.admin-portal button:focus-visible,.admin-portal a:focus-visible,.drag-track:focus-visible,.switch-label input:focus-visible+.switch-slider{outline:2px solid var(--studio-purple);outline-offset:4px}.studio-page-heading{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.8rem;display:flex}.studio-breadcrumb{color:var(--color-text-secondary);gap:.55rem;margin-bottom:.65rem;font-size:.65rem;display:flex}.studio-breadcrumb>span{color:var(--color-text-muted)}.studio-page-heading h2{letter-spacing:-.035em;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:650;line-height:1.3}.studio-heading-dot{color:var(--studio-purple)}.studio-page-heading p{color:var(--color-text-secondary);margin-top:.4rem;font-size:.8rem}.studio-action{color:#fff;background:#7c3aed;border:1px solid #a878ff44;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1rem;font-size:.75rem;font-weight:600;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 3px 12px #7c3aed20}.studio-action:hover{background:#8b49f8;transform:translateY(-1px)}.studio-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.4rem;display:grid}.studio-metric{text-align:left;background:var(--studio-panel);border:1px solid var(--color-border-subtle);animation:.45s ease-out backwards studioPageIn;animation-delay:calc(var(--order) * 65ms);border-radius:12px;padding:1.2rem;transition:border-color .2s,transform .2s}.studio-metric:hover{border-color:#9565ee66;transform:translateY(-2px)}.studio-metric-top,.studio-metric-bottom{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:.5rem;font-size:.72rem;display:flex}.studio-metric-top>svg{color:var(--studio-purple)}.studio-metric strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:.75rem 0;font-size:2rem;font-weight:600;display:block}.studio-metric-bottom{font-size:.65rem}.studio-overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:1.4rem;display:grid}.studio-panel{border:1px solid var(--color-border-subtle);background:var(--studio-panel);border-radius:12px;min-width:0;padding:1.25rem}.studio-panel-heading{justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:1.15rem;display:flex}.studio-panel-heading h3,.studio-quick-heading h3{letter-spacing:-.01em;font-size:.85rem;font-weight:600}.studio-panel-heading p{color:var(--color-text-secondary);margin-top:.3rem;font-size:.67rem}.studio-text-action{color:var(--studio-purple);white-space:nowrap;align-items:center;gap:.4rem;font-size:.67rem;display:inline-flex}.studio-text-action:hover{text-underline-offset:3px;text-decoration:underline}.studio-project-row{text-align:left;border-top:1px solid var(--color-border-subtle);align-items:center;gap:.8rem;width:100%;padding:1rem 0;display:flex}.studio-project-thumbnail{background:color-mix(in srgb, var(--studio-purple) 8%, var(--color-bg));border:1px solid var(--color-border-subtle);height:42px;color:var(--studio-purple);border-radius:7px;flex:0 0 42px;place-items:center;display:grid;position:relative;overflow:hidden}.studio-project-thumbnail img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.studio-project-copy{flex:1;min-width:0}.studio-project-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:500;display:block;overflow:hidden}.studio-project-copy small{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:.3rem;font-size:.6rem;display:block;overflow:hidden}.studio-project-row:hover .studio-project-copy strong{color:var(--studio-purple)}.studio-visibility{color:var(--color-text-secondary);align-items:center;gap:.35rem;font-size:.58rem;display:inline-flex}.studio-visibility i{background:#75bb94;border-radius:50%;width:4px;height:4px}.studio-visibility.is-hidden i{background:var(--color-text-muted)}.studio-row-number{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.6rem}.studio-row-arrow{color:var(--studio-purple);display:none}.studio-project-row:hover .studio-row-number{display:none}.studio-project-row:hover .studio-row-arrow{display:block}.studio-collection-footer{border-top:1px solid var(--color-border-subtle);color:var(--color-text-secondary);justify-content:space-between;gap:.5rem;padding-top:1rem;font-size:.6rem;display:flex}.studio-completion{font-variant-numeric:tabular-nums;color:var(--studio-purple);background:#9565ee12;border:1px solid #9565ee22;border-radius:6px;padding:.25rem .4rem;font-size:.7rem}.studio-readiness-track{background:var(--color-border-subtle);border-radius:4px;height:4px;margin:1.4rem 0;overflow:hidden}.studio-readiness-track span{background:var(--studio-purple);transform-origin:0;height:100%;animation:.65s ease-out studioProgressIn;display:block}.studio-check-row{text-align:left;align-items:center;gap:.6rem;width:100%;padding:.55rem 0;font-size:.7rem;display:flex}.studio-check-mark{border:1px solid var(--color-border-default);width:19px;height:19px;color:var(--color-text-secondary);border-radius:50%;place-items:center;display:grid}.studio-check-mark.is-ready{color:#81be9f;background:#81be9f0a;border-color:#81be9f30}.studio-check-row small{color:var(--color-text-secondary);margin-left:auto;font-size:.6rem}.studio-backup-note{border-top:1px solid var(--color-border-subtle);gap:.7rem;margin-top:1rem;padding-top:1rem;display:flex}.studio-backup-note>svg{color:var(--color-text-secondary);flex-shrink:0;margin-top:.1rem}.studio-backup-note strong{font-size:.68rem;font-weight:500}.studio-backup-note p{color:var(--color-text-secondary);margin:.35rem 0 .6rem;font-size:.63rem;line-height:1.6}.studio-quick-heading{justify-content:space-between;align-items:center;gap:.6rem;margin:1.8rem 0 1rem;display:flex}.studio-quick-heading>span{color:var(--color-text-secondary);font-size:.65rem}.studio-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.studio-quick-card{text-align:left;border:1px solid var(--color-border-subtle);border-radius:10px;align-items:center;gap:.7rem;padding:1rem;transition:background .2s,border-color .2s;display:flex}.studio-quick-card:hover{background:var(--studio-panel);border-color:#9565ee44}.studio-quick-icon{color:var(--studio-purple);background:#9565ee0c;border-radius:7px;flex-shrink:0;place-items:center;width:31px;height:31px;display:grid}.studio-quick-card>span:nth-child(2){flex:1;min-width:0}.studio-quick-card strong{font-size:.72rem;font-weight:500;display:block}.studio-quick-card small{color:var(--color-text-secondary);margin-top:.3rem;font-size:.6rem;display:block}.studio-quick-card>svg{color:var(--color-text-secondary);flex-shrink:0}.studio-save-line{color:var(--color-text-secondary);align-items:center;gap:.4rem;margin-top:1.5rem;font-size:.6rem;display:flex}.studio-save-indicator,.studio-save-error{background:#81be9f;border-radius:50%;width:4px;height:4px}.studio-save-error{background:#f87171}.studio-empty{color:var(--color-text-secondary);justify-items:center;gap:1rem;padding:2rem .5rem;font-size:.75rem;display:grid}@keyframes studioPageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes studioProgressIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=1200px){.admin-view-split .admin-body{flex-wrap:wrap}.admin-view-split .admin-preview-pane{flex-basis:100%;min-width:0;height:70vh;position:relative;top:0}.studio-overview-grid{grid-template-columns:minmax(0,1fr)}.studio-quick-grid{grid-template-columns:1fr}}@media (width<=900px){.admin-header{position:relative}.admin-sidebar{flex-direction:row;width:100%;height:auto;padding:.6rem;position:relative;top:0;overflow-x:auto}.admin-tab-btn{white-space:nowrap;flex-shrink:0;width:auto}.admin-main{width:100%;padding:1.4rem}.admin-brand{flex-wrap:wrap}}@media (width<=600px){.studio-page-heading{flex-wrap:wrap;align-items:flex-start;gap:1rem}.studio-metrics{gap:.55rem}.studio-metric{padding:.85rem .65rem}.studio-metric-top{font-size:.62rem}.studio-metric-top>svg{display:none}.studio-metric strong{font-size:1.7rem}.studio-metric-bottom{min-height:2.7em;font-size:.56rem;line-height:1.5}.studio-metric-bottom>svg{display:none}.studio-panel{padding:1rem}.studio-visibility,.studio-quick-heading>span{display:none}.admin-grid-2,.admin-grid-3{grid-template-columns:1fr}.admin-card-header{flex-wrap:wrap;gap:1rem}.admin-toast{bottom:1rem;left:1rem;right:1rem}.drag-track-labels{font-size:.6rem}}@media (prefers-reduced-motion:reduce){.admin-portal *,.admin-portal :before,.admin-portal :after{transition:none!important;animation:none!important}.studio-metric:hover,.studio-action:hover{transform:none}}.admin-gate-page{background-color:var(--color-bg,#0a0a0a);width:100%;min-height:100vh;color:var(--color-text-primary,#f5f5f4);font-family:var(--font-sans,"General Sans", sans-serif);flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.admin-gate-nav{border-bottom:1px solid var(--color-border-subtle,#ffffff14);width:100%;max-width:1200px;font-family:var(--font-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary,#a3a3a0);justify-content:space-between;align-items:center;margin:0 auto;padding-bottom:1.5rem;font-size:.78rem;display:flex}.admin-gate-brand{color:var(--color-text-primary,#f5f5f4);align-items:center;gap:.75rem;font-weight:600;display:flex}.admin-gate-tag{color:var(--color-text-muted,#6b6b68)}.admin-gate-status{color:var(--color-text-muted,#6b6b68);align-items:center;gap:.5rem;display:inline-flex}.admin-gate-status-bracket{color:var(--color-border-default,#fff3)}.admin-gate-main{flex-direction:column;gap:2rem;width:100%;max-width:480px;margin:auto;padding:3rem 0;display:flex}.admin-gate-header{flex-direction:column;gap:.75rem;display:flex}.admin-gate-eyebrow{font-family:var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary,#a3a3a0);font-size:.75rem}.admin-gate-title{font-family:var(--font-display,var(--font-sans));letter-spacing:-.02em;color:var(--color-text-primary,#f5f5f4);margin:0;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:600;line-height:1.1}.admin-gate-desc{color:var(--color-text-secondary,#a3a3a0);margin:0;font-size:.95rem;line-height:1.5}.admin-gate-form{flex-direction:column;gap:1.25rem;display:flex}.admin-gate-field{flex-direction:column;gap:.5rem;display:flex}.admin-gate-label-row{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary,#a3a3a0);justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.admin-gate-caps{color:#facc15;font-weight:500}.admin-gate-input-box{background-color:var(--color-bg-raised,#121212);border:1px solid var(--color-border-default,#ffffff24);transition:border-color var(--duration-fast,.2s) ease;border-radius:8px;align-items:center;display:flex;position:relative}.admin-gate-input-box:focus-within{border-color:var(--color-text-primary,#f5f5f4)}.admin-gate-input{width:100%;font-family:var(--font-mono,monospace);letter-spacing:.08em;color:var(--color-text-primary,#f5f5f4);background:0 0;border:none;outline:none;padding:.95rem 3rem .95rem 1rem;font-size:1.05rem}.admin-gate-input::placeholder{color:var(--color-text-muted,#6b6b68);font-family:var(--font-sans,sans-serif);letter-spacing:normal;font-size:.92rem}.admin-gate-toggle{color:var(--color-text-muted,#6b6b68);cursor:pointer;transition:color var(--duration-fast,.2s) ease;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;display:flex;position:absolute;right:.75rem}.admin-gate-toggle:hover{color:var(--color-text-primary,#f5f5f4)}.admin-gate-error{font-family:var(--font-mono,monospace);color:#f87171;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.8rem;display:flex}.admin-gate-remember{color:var(--color-text-secondary,#a3a3a0);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;width:fit-content;font-size:.85rem;display:flex}.admin-gate-checkbox{appearance:none;border:1px solid var(--color-border-default,#fff3);cursor:pointer;width:16px;height:16px;transition:all var(--duration-fast,.2s) ease;background:0 0;border-radius:3px;place-content:center;display:grid;position:relative}.admin-gate-checkbox:checked{background:var(--color-text-primary,#fff);border-color:var(--color-text-primary,#fff)}.admin-gate-checkbox:checked:after{content:"";border:2px solid #000;border-width:0 2px 2px 0;width:4px;height:8px;margin-top:-2px;transform:rotate(45deg)}.admin-gate-btn{background-color:var(--color-text-primary,#f5f5f4);width:100%;color:var(--color-bg,#0a0a0a);font-family:var(--font-sans,sans-serif);cursor:pointer;transition:all var(--duration-fast,.2s) ease;letter-spacing:-.01em;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.admin-gate-btn:hover:not(:disabled){background-color:#fff;transform:translateY(-1px)}.admin-gate-btn:active:not(:disabled){transform:translateY(0)}.admin-gate-btn:disabled{opacity:.45;cursor:not-allowed}.admin-gate-btn-arrow{transition:transform var(--duration-fast,.2s) ease}.admin-gate-btn:hover:not(:disabled) .admin-gate-btn-arrow{transform:translate(4px)}.admin-gate-footer{border-top:1px solid var(--color-border-subtle,#ffffff14);width:100%;max-width:1200px;font-family:var(--font-mono,monospace);color:var(--color-text-muted,#6b6b68);justify-content:space-between;align-items:center;margin:0 auto;padding-top:1.5rem;font-size:.78rem;display:flex}.admin-gate-back-link{color:var(--color-text-secondary,#a3a3a0);font-family:inherit;font-size:inherit;cursor:pointer;transition:color var(--duration-fast,.2s) ease;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;display:inline-flex}.admin-gate-back-link:hover{color:var(--color-text-primary,#f5f5f4)}@media (width<=640px){.admin-gate-nav{flex-direction:column;align-items:flex-start;gap:.5rem}.admin-gate-footer{flex-direction:column-reverse;align-items:flex-start;gap:1rem}}.admin-gate-title{letter-spacing:-.05em;font-size:clamp(3rem,5vw,4.6rem);font-weight:700}.admin-gate-title em{font-family:var(--font-serif);color:var(--color-accent-brand);letter-spacing:normal;font-weight:500}.admin-gate-main{animation:gateEnter .65s var(--ease-standard)}@keyframes gateEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.admin-gate-main{animation:none}}.admin-gate-title{letter-spacing:-.03em;font-family:ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.8rem,3vw,2.2rem);font-weight:650}.site-nav{z-index:1200;width:100%;height:88px;transition:top var(--duration-base) var(--ease-standard);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.nav-inner{width:100%;max-width:1400px;height:100%;padding:0 var(--space-lg);gap:var(--space-sm);pointer-events:auto;transition:all var(--duration-base) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.nav-logo{justify-self:flex-start;align-items:center;display:flex}.nav-logo a{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);white-space:nowrap;font-size:1.125rem;font-weight:600}.nav-links{justify-self:center;align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}.nav-links a{text-transform:uppercase;color:var(--color-text-secondary);font-size:18px;font-weight:800;text-decoration:none;transition-property:color;transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);position:relative}.nav-links a:hover,.nav-links a:focus{color:var(--color-text-primary)}.nav-links a:after{content:"";pointer-events:none;background-color:var(--color-text-primary);width:0%;height:2px;transition-property:width,left;transition-duration:.4s;transition-timing-function:cubic-bezier(.25,.8,.25,1);position:absolute;bottom:-4px;left:50%}.nav-links a:hover:after,.nav-links a:focus:after{width:100%;left:0%}.nav-cta{justify-self:flex-end;align-items:center;gap:var(--space-md);display:flex}.site-nav.is-scrolled{top:16px}.site-nav.is-scrolled .nav-inner{width:min(1400px,100% - 48px);height:64px;padding:0 var(--space-md) 0 var(--space-lg);background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);box-shadow:0 10px 30px #00000080}.desktop-only{display:flex}.hamburger{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;display:flex}.hamburger.mobile-only{display:none}.site-nav a:focus-visible,.hamburger:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:4px;border-radius:4px}.hamburger .bar{background-color:var(--color-text-primary);width:24px;height:2px;transition:transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast)}.hamburger .bar.open:first-child{transform:translateY(4px)rotate(45deg)}.hamburger .bar.open:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu-overlay{width:100%;height:100dvh;padding:max(112px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));overscroll-behavior:contain;background:color-mix(in srgb, var(--color-bg) 98%, transparent);-webkit-backdrop-filter:blur(20px);z-index:1100;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard), visibility var(--duration-base);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.mobile-menu-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.mobile-nav-links{flex-direction:column;align-items:center;gap:clamp(1rem,4vh,2.5rem);margin-block:auto;display:flex}.mobile-nav-links a:not(.contact-btn-wrapper){font-size:var(--fs-heading-md);padding:var(--space-xs) var(--space-md);font-weight:500}@media (width<=900px){.desktop-only{display:none!important}.hamburger.mobile-only{display:flex}.nav-inner{grid-template-columns:minmax(0,1fr) auto;padding-inline:16px}.nav-logo a{font-size:clamp(1rem,3.5vw,1.125rem)}.nav-cta{gap:8px}.site-nav.is-scrolled .nav-inner{width:calc(100% - 24px);padding-inline:12px}}.contact-btn-wrapper{cursor:pointer;background-color:#ffffff1a;border-radius:9999px;justify-content:flex-start;align-items:center;min-width:8.5rem;max-width:100%;min-height:2.92rem;padding-top:.5rem;padding-bottom:.5rem;text-decoration:none;transition:all .8s cubic-bezier(.51,.026,.368,1.016);display:flex;position:relative;box-shadow:inset 1px 2px 5px #00000080}.contact-btn-wrapper:hover{background-color:var(--color-accent-primary)}.contact-btn-inner-bg{pointer-events:none;justify-content:flex-start;align-items:center;padding:.125rem .25rem;display:flex;position:absolute;inset:0}.contact-btn-slider{width:0%;transition:all 1s cubic-bezier(.51,.026,.368,1.016)}.contact-btn-wrapper:hover .contact-btn-slider{width:100%}.contact-btn-icon-wrapper{aspect-ratio:1;background-color:var(--color-accent-primary);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;height:100%;transition:all 1s cubic-bezier(.51,.026,.368,1.016);display:flex;box-shadow:inset 1px -1px 3px #000}.contact-btn-wrapper:hover .contact-btn-icon-wrapper{background-color:var(--color-bg)}.contact-btn-icon{width:.8rem;height:.8rem;color:var(--color-bg);justify-content:center;align-items:center;transition:all 1s cubic-bezier(.51,.026,.368,1.016);display:flex}.contact-btn-wrapper:hover .contact-btn-icon{color:var(--color-accent-primary);transform:rotate(-45deg)}.contact-btn-text{color:var(--color-text-primary);z-index:1;font-family:var(--font-display);font-weight:500;font-size:var(--fs-body-md);white-space:nowrap;padding-left:3.4rem;padding-right:1.1rem;transition:all 1s cubic-bezier(.51,.026,.368,1.016)}.contact-btn-wrapper:hover .contact-btn-text{color:var(--color-bg);padding-left:1.1rem;padding-right:3.4rem}.hero-section{background-color:var(--color-bg);width:100%;height:180vh;position:relative;overflow:hidden}.parallax-layer{will-change:transform;width:100%;height:100%;position:absolute;inset:0}.parallax-layer svg{width:100%;height:60vh;display:block;position:absolute;bottom:0;left:0}.parallax-sky{z-index:1}.spotlight{mix-blend-mode:screen;will-change:transform;background:radial-gradient(circle,#ffffff14 0%,#0000 60%);width:600px;height:600px;position:absolute;top:0;left:0}.particle-field{opacity:.15;width:100%;height:100%;position:absolute;top:0;right:0}.particle{font-family:var(--font-mono,monospace);color:var(--color-text-secondary);white-space:nowrap;font-size:.8rem;animation:ease-in-out infinite alternate drift;position:absolute}@keyframes drift{0%{transform:translate(0)}to{transform:translate(15px,-15px)}}.parallax-text{z-index:5;justify-content:center;align-items:flex-start;padding-top:35vh;display:flex;top:0}.hero-text-content{text-align:left;padding:0 var(--space-lg);flex-direction:column;align-items:flex-start;max-width:1000px;display:flex}.parallax-foreground{z-index:6}.parallax-foreground svg{height:30vh}.hero-bottom-gradient{background:linear-gradient(to bottom, transparent 0%, var(--color-bg) 100%);z-index:10;pointer-events:none;width:100%;height:25vh;position:absolute;bottom:0;left:0}.hero-eyebrow{gap:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-sm);font-size:var(--fs-caption);letter-spacing:.05em;color:var(--color-text-secondary);flex-wrap:wrap;justify-content:flex-start;align-items:center;font-weight:600;display:flex}.hero-eyebrow .separator{color:var(--color-text-muted)}.hero-headline{font-family:var(--font-display);justify-content:flex-start;align-items:baseline;margin-bottom:0;font-size:clamp(4rem,12vw,10rem);font-weight:700;line-height:1;display:flex}.hero-name-first{letter-spacing:-.05em}.hero-name-last{font-family:var(--font-serif);letter-spacing:normal;color:var(--color-accent-brand);margin-left:-.05em;font-size:.9em;font-style:italic;font-weight:500}.hero-desc{font-size:var(--fs-body-lg);color:var(--color-text-secondary);max-width:600px;margin:0}@media (width<=640px){.hero-text-content{width:100%;padding-inline:var(--space-md)}.hero-headline{flex-wrap:wrap;column-gap:.15em;font-size:clamp(2.75rem,11vw,4rem)}}.skills-globe-section{padding-block:var(--space-2xl);background-color:var(--color-bg);border-top:1px solid var(--color-border-subtle);overflow:hidden}.skills-globe-header{text-align:center;margin-bottom:var(--space-xl)}.skills-globe-headline{color:var(--color-text-primary);margin-top:var(--space-xs);font-size:clamp(2rem,4vw,3.25rem)}.skills-globe-embedded{border-top:0;width:100%;padding-block:0}.skills-globe-embedded .skills-globe-header{margin-bottom:clamp(.75rem,2vh,1.5rem)}.skills-globe-embedded .skills-globe-canvas-wrapper{height:clamp(240px,56svh,600px)}.skills-globe-embedded>.container{padding-top:80px}.skills-globe-canvas-wrapper{background:radial-gradient(circle,#ffffff08 0%,#0000 70%);justify-content:center;align-items:center;width:100%;max-width:800px;height:600px;margin:0 auto;display:flex;position:relative}.globe-label{font-family:var(--font-display);font-size:var(--fs-body-md);color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;will-change:transform, opacity;border-radius:var(--radius-sm);cursor:grab;padding:.5rem;font-weight:500;transition:color .15s,opacity .1s}.globe-label:active{cursor:grabbing}.globe-label.hovered{color:var(--color-text-primary);z-index:10;text-shadow:0 0 10px #fff3;opacity:1!important}@media (width<=768px){.skills-globe-canvas-wrapper{height:400px}.globe-label{font-size:var(--fs-body-sm)}}.punchline-transition-section{background:var(--color-bg);z-index:20;width:100%;height:100svh;padding:0;position:relative}.punchline-sticky-container{justify-content:center;align-items:center;width:100%;height:100svh;display:flex;position:absolute;top:0;left:0;overflow:hidden}.punchline-horizontal-track{will-change:transform;width:100%;display:flex;position:absolute;inset:0}.has-globe .punchline-horizontal-track{width:200%}.punchline-panel{flex:0 0 100%;min-width:0;height:100%;position:relative}.has-globe .punchline-panel{flex-basis:50%}.punchline-globe-panel{justify-content:center;align-items:center;display:flex}.punchline-outgoing,.punchline-incoming{text-align:center;padding:0 var(--space-xl);will-change:transform, opacity, filter;flex-direction:column;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.punchline-outgoing{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);text-shadow:0 4px 20px #0006;font-size:clamp(2.5rem,5vw,5rem);font-weight:600;line-height:1.1}.punchline-incoming{opacity:0;transform:scale(.4)}.incoming-headline{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--space-md);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:1.1}.incoming-sub{font-size:var(--fs-body-lg);color:var(--color-text-secondary);max-width:600px;line-height:1.5}@media (width<=640px){.punchline-outgoing,.punchline-incoming{padding-inline:var(--space-md)}}@media (prefers-reduced-motion:reduce){.punchline-transition-section{height:auto;padding-block:var(--space-section)}.punchline-sticky-container{flex-direction:column;height:auto;display:flex;position:relative;overflow:visible}.punchline-horizontal-track,.has-globe .punchline-horizontal-track{will-change:auto;width:100%;display:block;position:relative}.punchline-panel{height:auto}.punchline-outgoing{margin-bottom:var(--space-xl);position:relative}.punchline-incoming{opacity:1;position:relative;transform:none}.punchline-globe-panel{margin-top:var(--space-xl)}}.stats-header{text-align:center;margin-bottom:var(--space-lg)}.stats-headline{font-size:var(--fs-heading-lg);color:var(--color-text-primary);margin-top:var(--space-xs)}.stats-value-prop{max-width:60ch;margin:0 auto var(--space-2xl) auto;text-align:center}.stats-value-prop p{font-size:var(--fs-heading-md);color:var(--color-text-secondary);line-height:1.6}.stats-grid{gap:var(--space-lg);padding-top:var(--space-xl);border-top:1px solid var(--color-border-subtle);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{gap:var(--space-xs);flex-direction:column;display:flex}.stat-number{font-family:var(--font-display);font-size:var(--fs-display-lg);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.stat-label{font-size:var(--fs-body-md);color:var(--color-text-secondary);font-weight:500}@media (width<=768px){.stats-grid{gap:var(--space-xl) var(--space-md);grid-template-columns:repeat(2,1fr)}}.github-section{padding:var(--space-section) 0;position:relative;overflow:hidden}.github-calendar-container{padding:var(--space-xl) var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(5px);background-color:#0000;justify-content:center;align-items:center;max-width:fit-content;margin:0 auto;display:flex;overflow-x:auto;box-shadow:0 4px 30px #0000001a}.github-calendar-container article{gap:var(--space-md);flex-direction:column;display:flex}.react-activity-calendar{color:var(--color-text-secondary);font-family:var(--font-sans)}.react-activity-calendar text{fill:var(--color-text-muted)!important;font-size:var(--fs-caption)!important}@media (width<=768px){.github-calendar-container{padding:var(--space-md);width:100%;display:block}}.projects-section{padding-block:var(--space-section)}.projects-label{margin-bottom:var(--space-xl)}.projects-scroll-container{scroll-snap-type:x mandatory;width:100%;scroll-padding-inline:var(--space-lg);scrollbar-width:none;padding-bottom:var(--space-xl);overflow-x:auto}.projects-scroll-container::-webkit-scrollbar{display:none}.projects-rail{gap:var(--space-lg);padding:0 var(--space-lg);width:max-content;display:flex}.project-card{scroll-snap-align:start;gap:var(--space-md);width:clamp(340px,40vw,620px);transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base);cursor:pointer;flex-direction:column;display:flex}.project-card:hover{transform:translateY(-4px)}.project-image-wrapper{aspect-ratio:4/3;border-radius:var(--radius-lg);background:var(--color-bg-card);flex-direction:column;width:100%;display:flex;position:relative;overflow:hidden}.project-image{background:var(--color-bg-raised);transition:transform .7s var(--ease-standard);flex-grow:1;display:flex;position:relative;overflow:hidden;transform:scale(1.03)}.project-preview-img{object-fit:cover;object-position:top left;width:100%;height:100%;transition:transform .5s var(--ease-standard);display:block}.project-placeholder-pattern{background:linear-gradient(135deg,#7c3aed14 0%,#0006 100%);width:100%;height:100%;position:relative}.project-placeholder-pattern:after{content:"";background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:16px 16px;position:absolute;inset:0}.project-card.is-visible .project-image{transform:scale(1)}.project-card:hover .project-preview-img{transform:scale(1.05)}.project-details{opacity:0;transition:opacity .5s var(--ease-standard), transform .5s var(--ease-standard);gap:var(--space-xs);flex-direction:column;display:flex;transform:translateY(12px)}.project-card.is-visible .project-details{opacity:1;transition-delay:.15s;transform:translateY(0)}.browser-chrome{border:1px solid var(--color-border-subtle)}.browser-topbar{border-bottom:1px solid var(--color-border-subtle);height:36px;padding:0 var(--space-sm);z-index:2;background:#18181b;align-items:center;display:flex;position:relative}.browser-dots{gap:6px;display:flex}.browser-dots .dot{border-radius:50%;width:10px;height:10px}.dot.red{background-color:#ff5f56}.dot.yellow{background-color:#ffbd2e}.dot.green{background-color:#27c93f}.browser-url{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 64px);font-size:.7rem;font-family:var(--font-mono,monospace);color:#a3a3a0;background:#09090b;border:1px solid #ffffff14;border-radius:4px;margin-left:auto;padding:2px 10px;overflow:hidden}.project-title{font-size:var(--fs-heading-md);color:var(--color-text-primary);font-weight:600;line-height:1.4}.project-tags-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.project-tag-pill{font-size:.72rem;font-family:var(--font-mono,monospace);background:var(--color-bg-raised);border:1px solid var(--color-border-default);color:var(--color-text-secondary);border-radius:9999px;padding:2px 8px}.project-link{margin-top:var(--space-xs);font-size:var(--fs-body-md);color:var(--color-accent-primary);transition:color var(--duration-fast), transform var(--duration-fast);align-items:center;gap:4px;font-weight:500;display:inline-flex}.project-card:hover .project-link{color:var(--color-text-primary);transform:translate(4px)}@media (width<=640px){.projects-scroll-container{scroll-padding-inline:var(--space-md)}.projects-rail{padding-inline:var(--space-md);gap:var(--space-md)}.project-card{width:85vw}}.process-header{margin-bottom:var(--space-xl)}.process-headline{margin-top:var(--space-xs);font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.process-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.process-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--color-bg-card);gap:var(--space-md);transition:border-color var(--duration-fast);flex-direction:column;display:flex}.process-card:hover{border-color:var(--color-border-default)}.process-tag{border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:#ffffff0a;align-items:center;gap:.5rem;width:fit-content;padding:.25rem .75rem;display:inline-flex}.process-num{font-size:var(--fs-caption);color:var(--color-text-muted);font-family:var(--font-mono,monospace)}.process-title{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.process-desc{font-size:var(--fs-body-md);line-height:1.6}@media (width<=1024px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.process-grid{grid-template-columns:1fr}}.cta-split-container{width:100vw;min-height:60vh;display:flex}.cta-split-half{padding:var(--space-section) var(--space-lg);color:var(--color-bg);flex:1;justify-content:center;align-items:center;display:flex}.cta-left{background-color:var(--color-accent-pastel-a);clip-path:inset(0 100% 0 0);transition:clip-path .75s var(--ease-snappy)}.cta-split-section.is-visible .cta-left{clip-path:inset(0)}.cta-right{background-color:var(--color-accent-pastel-b);clip-path:inset(0 0 0 100%);transition:clip-path .75s var(--ease-snappy)}.cta-split-section.is-visible .cta-right{clip-path:inset(0)}.cta-split-content{gap:var(--space-md);opacity:0;max-width:480px;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);flex-direction:column;transition-delay:.35s;display:flex;transform:translateY(16px)}.cta-split-content h2{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.cta-split-content p{font-size:var(--fs-body-lg);opacity:.8;margin-bottom:var(--space-md);font-weight:500}.cta-split-section.is-visible .cta-split-content{opacity:1;transform:translateY(0)}.btn-split{border-radius:var(--radius-full);transition:transform var(--duration-fast) var(--ease-standard);color:#fff;align-self:flex-start;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-weight:600;display:inline-flex}.btn-split:hover{transform:scale(1.03)}.btn-split-left{background-color:#9d81e3}.btn-split-right{color:var(--color-bg);background-color:#d1c956}@media (width<=768px){.cta-split-container{flex-direction:column}.cta-split-half{padding:var(--space-xl) var(--space-md);min-height:50vh}}.about-grid{gap:var(--space-2xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-photo-col{justify-content:flex-end;display:flex}.about-photo{aspect-ratio:1;background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);filter:grayscale();width:100%;max-width:500px}.about-text-col{gap:var(--space-lg);flex-direction:column;align-items:flex-start;max-width:500px;display:flex}.about-headline{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.about-desc{font-size:var(--fs-body-lg);color:var(--color-text-secondary);line-height:1.6}@media (width<=768px){.about-grid{gap:var(--space-xl);grid-template-columns:1fr}.about-photo-col{justify-content:flex-start}}.faq-header{text-align:center;margin-bottom:var(--space-xl)}.faq-headline{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight);margin-top:var(--space-xs)}.faq-list{flex-direction:column;max-width:800px;margin:0 auto;display:flex}.faq-item{border-bottom:1px solid var(--color-border-subtle)}.faq-item:first-child{border-top:1px solid var(--color-border-subtle)}.faq-question{width:100%;padding:var(--space-lg) 0;text-align:left;justify-content:space-between;align-items:center;display:flex}.faq-question h3{font-size:var(--fs-heading-md);color:var(--color-text-primary);transition:color var(--duration-fast);font-weight:500}.faq-question:hover h3{color:var(--color-accent-pastel-a)}.faq-chevron{color:var(--color-text-muted);transition:transform var(--duration-base) var(--ease-standard), color var(--duration-fast);flex-shrink:0}.faq-question:hover .faq-chevron{color:var(--color-text-primary)}.faq-item.is-open .faq-chevron{transform:rotate(180deg)}.faq-answer-wrapper{transition:grid-template-rows var(--duration-base) var(--ease-standard);grid-template-rows:0fr;display:grid}.faq-item.is-open .faq-answer-wrapper{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden}.faq-answer-inner p{padding-bottom:var(--space-lg);font-size:var(--fs-body-lg);color:var(--color-text-secondary);line-height:1.6}.final-cta-section{padding-block:calc(var(--space-section) * 1.5);text-align:center;position:relative;overflow:hidden}.final-cta-bg{z-index:0;pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;width:100vw;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 60%);mask-image:radial-gradient(circle,#000 0%,#0000 60%)}.final-cta-content{z-index:10;align-items:center;gap:var(--space-lg);flex-direction:column;max-width:600px;margin:0 auto;display:flex;position:relative}.final-cta-headline{font-size:var(--fs-display-lg);font-weight:700;line-height:var(--line-height-tight)}.final-cta-desc{font-size:var(--fs-body-lg);color:var(--color-text-secondary);line-height:1.6}.site-footer{padding-top:var(--space-2xl);padding-bottom:var(--space-lg);overflow:hidden visible}.footer-content{flex-direction:column;display:flex}.footer-big-text-wrapper{margin-bottom:var(--space-xl);justify-content:center;display:flex}.footer-ghost-name{color:var(--color-text-primary);opacity:.04;letter-spacing:-.04em;text-align:center;white-space:nowrap;font-size:clamp(4rem,14vw,11rem);font-weight:800;line-height:1}.footer-info{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.footer-tagline{font-size:var(--fs-heading-md);font-weight:600}.footer-divider{background-color:var(--color-border-subtle);width:100%;height:1px;margin-bottom:var(--space-lg)}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (width<=768px){.footer-info,.footer-bottom{flex-direction:column;align-items:flex-start}}.preloader-container{z-index:9999;width:100vw;height:100vh;padding:var(--space-2xl);pointer-events:none;background-color:#1c1c1c;flex-direction:column;justify-content:space-between;display:flex;position:fixed;top:0;left:0}.preloader-skills{text-align:right;align-self:flex-end;gap:var(--space-xs);flex-direction:column;display:flex}.preloader-skill{font-family:var(--font-sans);font-size:var(--fs-heading-md);text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em;opacity:0;font-weight:700}.preloader-counter{font-family:var(--font-display);color:var(--color-text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;align-self:flex-start;font-size:clamp(6rem,15vw,12rem);font-weight:500;line-height:.8}@media (width<=768px){.preloader-container{padding:var(--space-xl)}.preloader-skill{font-size:var(--fs-body-lg)}}.music-sidebar-wrapper{z-index:999;align-items:center;transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.music-sidebar-wrapper:not(.expanded){transform:translate(-100%,-50%)}.music-toggle-btn{background:var(--color-bg-card);border:1px solid var(--color-border-default);cursor:pointer;width:42px;height:68px;color:var(--color-text-primary);-webkit-backdrop-filter:blur(16px);border-left:none;border-radius:0 16px 16px 0;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,transform .2s;display:flex;position:absolute;top:50%;right:-42px;transform:translateY(-50%);box-shadow:4px 0 20px #00000040}.music-toggle-btn:hover{background:var(--color-bg-raised);border-color:var(--color-border-default);color:var(--color-accent-primary)}.music-tab-content{flex-direction:column;align-items:center;gap:6px;display:flex}.music-note-icon{transition:transform .3s}.music-toggle-btn:hover .music-note-icon{transform:scale(1.15)}.sound-bars{align-items:flex-end;gap:2px;height:12px;display:flex}.sound-bars .bar{background-color:var(--color-accent-primary);border-radius:1px;width:2px;animation:1s ease-in-out infinite alternate barEqualize}.sound-bars .bar-1{height:40%;animation-delay:0s}.sound-bars .bar-2{height:100%;animation-delay:.2s}.sound-bars .bar-3{height:60%;animation-delay:.4s}@keyframes barEqualize{0%{height:20%}50%{height:100%}to{height:40%}}.music-player-panel{padding:1.5rem 1rem 1.5rem 1.5rem}.uiverse-music-container{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;display:flex;position:relative}.uiverse-disc-top-wrapper{z-index:0;cursor:pointer;height:64px;margin-bottom:-8px;transition:height .3s cubic-bezier(.4,0,.2,1),opacity .25s;position:relative}.uiverse-music-container:hover .uiverse-disc-top-wrapper{opacity:0;pointer-events:none;height:0}.uiverse-vinyl-svg{border:4px solid #a1a1aa;border-radius:50%;display:block;box-shadow:0 4px 14px #00000059}.uiverse-vinyl-svg.is-spinning{animation:3.5s linear infinite spinDisc}@keyframes spinDisc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.uiverse-disc-center{z-index:10;background-color:#fff;border:4px solid #a1a1aa;border-radius:50%;width:32px;height:32px;position:absolute;top:48px;left:48px;box-shadow:0 2px 4px #0003}.uiverse-card{z-index:30;background:var(--color-bg-card);border:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(20px);width:168px;height:84px;color:var(--color-text-primary);border-radius:18px;flex-direction:column;transition:width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:flex;position:relative;overflow:visible;box-shadow:0 12px 32px #0000004d}.uiverse-music-container:hover .uiverse-card{width:296px;height:168px;box-shadow:0 20px 48px #00000073}.uiverse-card-header{opacity:0;flex-direction:row;align-items:center;width:100%;height:0;transition:height .3s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;overflow:hidden}.uiverse-music-container:hover .uiverse-card-header{opacity:1;height:80px;overflow:visible}.uiverse-mini-disc-wrapper{opacity:0;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative;top:0;left:0}.uiverse-music-container:hover .uiverse-mini-disc-wrapper{opacity:1;top:-24px;left:-14px}.uiverse-mini-disc-wrapper.is-spinning{animation:3.5s linear infinite spinDisc}.uiverse-mini-vinyl-svg{border:4px solid #a1a1aa;border-radius:50%;display:block;box-shadow:0 4px 14px #00000059}.uiverse-mini-disc-center{z-index:10;background-color:#fff;border:4px solid #a1a1aa;border-radius:50%;width:24px;height:24px;position:absolute;top:36px;left:36px;box-shadow:0 2px 4px #0003}.uiverse-track-text{white-space:nowrap;flex-direction:column;justify-content:center;width:100%;margin-left:-6rem;padding-left:.75rem;transition:margin-left .35s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.uiverse-music-container:hover .uiverse-track-text{margin-left:-.75rem}.uiverse-track-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.uiverse-track-artist{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.uiverse-progress-bar-container{background:var(--color-bg-raised);border:1px solid var(--color-border-default);border-radius:8px;flex-direction:row;align-items:center;min-height:20px;margin:.75rem .75rem 0;transition:margin .3s;display:flex}.uiverse-music-container:hover .uiverse-progress-bar-container{margin-top:0}.uiverse-time-label{color:var(--color-text-muted);font-size:.75rem;font-family:var(--font-mono,monospace);width:38px;padding:0 .5rem;display:none}.uiverse-music-container:hover .uiverse-time-label{display:inline-block}.uiverse-slider{background:var(--color-border-default);appearance:none;cursor:pointer;border-radius:9999px;outline:none;flex-grow:1;width:96px;height:4px;margin:auto .5rem;transition:width .35s}.uiverse-music-container:hover .uiverse-slider{width:100%}.uiverse-slider::-webkit-slider-thumb{appearance:none;background-color:var(--color-text-primary);cursor:pointer;border:2px solid #a1a1aa;border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;box-shadow:0 2px 4px #0003}.uiverse-slider:hover::-webkit-slider-thumb{background-color:var(--color-accent-primary);transform:scale(1.25)}.uiverse-controls-row{flex-direction:row;flex-grow:1;justify-content:center;align-items:center;gap:1.25rem;margin:0 .75rem;display:flex}.uiverse-ctrl-btn{width:48px;height:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s,transform .15s;display:flex}.uiverse-ctrl-btn:hover{color:var(--color-text-primary);transform:scale(1.12)}.uiverse-play-toggle{color:var(--color-text-primary)}.uiverse-play-toggle:hover{color:var(--color-accent-primary)}.uiverse-mode-btn{width:0;transition:width .3s cubic-bezier(.16,1,.3,1),color .2s;overflow:hidden}.uiverse-music-container:hover .uiverse-mode-btn{width:48px}.uiverse-mode-btn.active{color:var(--color-accent-primary)}.uiverse-list-btn{width:0;transition:width .3s cubic-bezier(.16,1,.3,1),color .2s;overflow:hidden}.uiverse-music-container:hover .uiverse-list-btn{width:48px}.uiverse-list-btn.active{color:var(--color-accent-primary)}.uiverse-playlist-popover{background:var(--color-bg-card);border:1px solid var(--color-border-default);-webkit-backdrop-filter:blur(20px);z-index:50;border-radius:14px;flex-direction:column;gap:4px;width:100%;max-height:150px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 16px 36px #0006}.uiverse-playlist-item{color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.82rem;transition:background .15s,color .15s;display:flex}.uiverse-playlist-item:hover{background:var(--color-bg-raised);color:var(--color-text-primary)}.uiverse-playlist-item.active{color:var(--color-accent-primary);background:#7c3aed26;font-weight:600}.uiverse-item-index{font-family:var(--font-mono,monospace);opacity:.65;font-size:.72rem}.uiverse-item-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=768px),(hover:none){.music-sidebar-wrapper{top:auto;bottom:max(24px, env(safe-area-inset-bottom));transform:translateY(0)}.music-sidebar-wrapper:not(.expanded){transform:translate(-100%)}.music-toggle-btn{border-radius:0 14px 14px 0;width:38px;height:58px;top:auto;bottom:0;right:-38px;transform:none}.music-player-panel{padding:.75rem .5rem .75rem 1rem}.uiverse-disc-top-wrapper{display:none}.uiverse-card{width:min(270px,100vw - 80px)!important;height:154px!important}.uiverse-card-header{opacity:1!important;height:70px!important;overflow:visible!important}.uiverse-mini-disc-wrapper{opacity:1!important;width:80px!important;height:80px!important;top:-18px!important;left:-8px!important}.uiverse-mini-disc-wrapper svg{width:80px!important;height:80px!important}.uiverse-mini-disc-center{width:20px!important;height:20px!important;top:30px!important;left:30px!important}.uiverse-track-text{margin-left:-.5rem!important;padding-left:.5rem!important}.uiverse-track-title{font-size:.95rem}.uiverse-track-artist{font-size:.72rem}.uiverse-progress-bar-container{margin:0 .5rem!important}.uiverse-time-label{width:32px;font-size:.68rem;display:inline-block!important}.uiverse-slider{min-width:0;width:100%!important}.uiverse-controls-row{gap:.75rem;margin:0 .5rem}.uiverse-mode-btn,.uiverse-list-btn{width:36px!important}.uiverse-ctrl-btn{width:36px}.uiverse-playlist-popover{top:auto;bottom:calc(100% + 8px)}}.social-menu-container{cursor:pointer;z-index:999;background:linear-gradient(138deg,#000 15%,#001f2e 65%);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .9s;display:flex;position:fixed;bottom:5.5rem;right:5.5rem;box-shadow:0 .5rem 1rem #0000001a}.social-menu-container:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:-60px}.social-menu-container.is-open:after{pointer-events:auto}.social-menu-container.is-open{background:#fff}.social-menu-container .main-icon{z-index:2;fill:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;transition:all .2s;display:flex;position:relative}.social-menu-container.is-open .main-icon{fill:#000;transition:all .9s}.social-item-wrapper{opacity:0;visibility:hidden;z-index:1;transition:opacity .6s,visibility .6s,transform .8s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.social-menu-container.is-open .social-item-wrapper{opacity:1;visibility:visible;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-65px) rotate(calc(var(--angle) * -1))}.social-item{fill:#001722;color:#001722;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;transition:background .3s,fill .3s;display:flex;box-shadow:0 2px 4px #0003}.social-menu-container.is-open .social-item:hover{background:var(--hover-bg);fill:var(--hover-fill,#fff);color:var(--hover-fill,#fff)}.social-menu-container a:focus-visible,.social-menu-container button:focus-visible{outline:2px solid var(--color-accent-pastel-a);outline-offset:4px}@media (hover:hover) and (pointer:fine) and (width>=901px){.social-menu-container:hover:after{pointer-events:auto}.social-menu-container:hover{background:#fff}.social-menu-container:hover .main-icon{fill:#000}.social-menu-container:hover .social-item-wrapper{opacity:1;visibility:visible;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-65px) rotate(calc(var(--angle) * -1))}.social-menu-container:hover .social-item:hover{background:var(--hover-bg);fill:var(--hover-fill,#fff);color:var(--hover-fill,#fff)}}:root{--color-bg:#0a0a0a;--color-bg-raised:#121212;--color-bg-card:#161616;--color-text-primary:#f5f5f4;--color-text-secondary:#a3a3a0;--color-text-muted:#6b6b68;--color-border-subtle:#ffffff14;--color-border-default:#ffffff24;--color-accent-brand:#7c3aed;--color-accent-primary:#fff;--color-accent-pastel-a:#c9b6f7;--color-accent-pastel-b:#f5f0a8;--color-accent-signal:#22c55e}[data-theme=light]{--color-bg:#f8f9fa;--color-bg-raised:#fff;--color-bg-card:#f1f3f5;--color-text-primary:#121212;--color-text-secondary:#495057;--color-text-muted:#868e96;--color-border-subtle:#0000000f;--color-border-default:#0000001f;--color-accent-primary:#000;--color-accent-pastel-a:#c9b6f7;--color-accent-pastel-b:#f5f0a8;--color-accent-signal:#22c55e}:root{--font-sans:"General Sans", system-ui, -apple-system, sans-serif;--font-serif:"Newsreader", Georgia, serif;--font-display:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-scribble:"Caveat", cursive;--fs-display-xl:clamp(2.75rem, 6vw, 5.5rem);--fs-display-lg:clamp(2rem, 4vw, 3.25rem);--fs-heading-md:clamp(1.25rem, 2vw, 1.75rem);--fs-heading-lg:clamp(2rem, 4vw, 3.25rem);--fs-body-lg:1.25rem;--fs-body-md:1rem;--fs-body-sm:.875rem;--fs-caption:.8rem;--line-height-tight:1.05;--line-height-default:1.5;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-section:8rem;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:999px;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-snappy:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration-base:.45s;--duration-slow:.8s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:0;-webkit-font-smoothing:antialiased;font-weight:400;line-height:var(--line-height-default);overflow-x:hidden}h1,h2,h3,h4,h5,h6,.hero-headline{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600}p,nav,button,a{font-family:var(--font-display);letter-spacing:0;font-weight:400}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.container{max-width:1400px;padding:0 var(--space-lg);margin:0 auto}@media (width<=640px){.container{padding:0 var(--space-md)}}section{padding-block:var(--space-section);position:relative}.btn-primary{background:var(--color-accent-primary);color:var(--color-bg);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-standard);align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-weight:500;display:inline-flex}.btn-primary:hover{background:#eaeaea;transform:scale(1.03)}.btn-secondary{color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-standard);background:0 0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;display:inline-flex}.btn-secondary:hover{background:#ffffff0f}.btn-icon-shift .icon{transition:transform var(--duration-fast) var(--ease-standard)}.btn-primary:hover .btn-icon-shift .icon,.btn-secondary:hover .btn-icon-shift .icon{transform:translate(4px)}.text-caption{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.text-muted{color:var(--color-text-muted)}.section-glow{opacity:.18;transition:opacity .9s var(--ease-standard), transform .9s var(--ease-standard);pointer-events:none;z-index:0;background:radial-gradient(circle,#ffffff0f,#0000 65%);position:absolute;inset:-20% -10%;transform:scale(1)}.section-glow.is-active{opacity:.38;transform:scale(1.08)}[data-reveal]{opacity:0;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
