@import "https://fonts.googleapis.com/css2?family=Architects+Daughter&family=Comic+Neue:wght@300;400;700&display=swap";:root{--background:#fafafa;--foreground:#1c1c1c;--card:#fff;--card-foreground:#1c1c1c;--popover:#fff;--popover-foreground:#1c1c1c;--primary:#1c1c1c;--primary-foreground:#fff;--secondary:#e4e4e4;--secondary-foreground:#1c1c1c;--muted:#f0f0f0;--muted-foreground:#777;--accent:#e4e4e4;--accent-foreground:#1c1c1c;--destructive:#c01c28;--border:#dcdcdc;--input:#dcdcdc;--ring:#1c1c1c;--radius:.75rem;--radius-sm:.5rem;--radius-md:.6rem;--radius-lg:1rem;--radius-xl:1.25rem;--font-sans:"Comic Neue", "Architects Daughter", cursive, sans-serif;--font-mono:"Comic Neue", ui-monospace, monospace;--ease:cubic-bezier(.25, 1, .5, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000d;--shadow-2xl:0 25px 50px -12px #0003}.dark{--background:#121214;--foreground:#fff;--card:#1e1e22a6;--card-foreground:#fff;--popover:#1c1c1e;--popover-foreground:#fff;--primary:#fff;--primary-foreground:#121214;--secondary:#262628;--secondary-foreground:#fff;--muted:#1c1c1f;--muted-foreground:#a0a0a5;--accent:#2c2c30;--accent-foreground:#fff;--destructive:#ff7b72;--border:#333336;--input:#333336;--ring:#fff;--shadow-lg:0 10px 20px -5px #00000080;--shadow-2xl:0 25px 50px -12px #000000b3}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none}*{margin:0;padding:0}input,textarea{-webkit-user-select:text!important;user-select:text!important}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);text-rendering:optimizelegibility;transition:background-color .3s var(--ease), color .3s var(--ease);isolation:isolate;background-image:radial-gradient(circle at 100% 0,#7878780a,#0000 40%),radial-gradient(circle at 0 100%,#78787805,#0000 40%);line-height:1.5;position:relative;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}.font-mono{font-family:var(--font-mono)}.select-none{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:where(a,button):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}.theme-switch{z-index:60;border:1px solid var(--border);background:var(--card);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);border-radius:20px;align-items:center;display:inline-flex;position:fixed;top:1.25rem;right:1.25rem;overflow:hidden}.seg-btn{cursor:pointer;width:2rem;height:2rem;color:var(--muted-foreground);transition:color .2s var(--ease), background .2s var(--ease);border-radius:20px;justify-content:center;align-items:center;display:flex;position:relative}.seg-btn:hover{color:var(--foreground);background:var(--accent)}.seg-btn.active{color:var(--primary);background:#78aeed1a}.seg-btn svg{width:1rem;height:1rem}.dock{z-index:50;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)}.dock-inner{border:1px solid var(--border);background:var(--card);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);border-radius:24px;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:relative}.dock-item{color:var(--muted-foreground);transition:all .2s var(--ease);z-index:1;border-radius:12px;justify-content:center;align-items:center;padding:.5rem;display:flex;position:relative}.dock-item:hover{color:var(--foreground);background:var(--accent);transform:translateY(-2px)}.dock-item.active{color:var(--primary)}.dock-item svg{width:22px;height:22px}.dock-item .tip{border-radius:var(--radius-sm);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);box-shadow:var(--shadow-lg);padding:.35rem .7rem;font-size:.75rem;font-weight:600;position:absolute;top:calc(100% + .75rem);left:50%;transform:translate(-50%)translateY(4px)scale(.9)}.dock-item:hover .tip{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.dock-indicator{transition:left .3s var(--ease), width .3s var(--ease), opacity .2s var(--ease);pointer-events:none}.page{width:100%;min-height:100vh}.intro{opacity:1}.back-link{color:var(--muted-foreground);transition:color .2s var(--ease);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.back-link svg{width:1rem;height:1rem;transition:transform .2s var(--ease)}.back-link:hover{color:var(--foreground)}.back-link:hover svg{transform:translate(-4px)}.bento-wrap{justify-content:center;align-items:flex-start;width:100%;min-height:100vh;padding:clamp(7rem,14vh,10rem) 1.5rem 4rem;display:flex}.bento{grid-template-columns:1fr;grid-template-areas:"greet""pres""find""img""feat""weather""tech""contact";gap:20px;width:100%;max-width:1200px;display:grid}@media (width>=640px){.bento{grid-template-columns:1fr 1fr;grid-template-areas:"greet greet""pres find""img feat""weather tech""contact contact"}}@media (width>=1024px){.bento{grid-template-columns:repeat(4,1fr);grid-template-areas:"greet greet pres find""img feat feat find""weather tech tech contact"}}.bento-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);transform-style:preserve-3d;border-radius:16px;padding:1.5rem;position:relative;overflow:hidden}.bento-card:hover{border-color:var(--primary);z-index:10;box-shadow:0 8px 24px #0003,0 0 12px #78aeed26}.bento-card>*{z-index:1;position:relative}.bento-kicker{font-family:var(--font-mono);text-transform:uppercase;color:var(--muted-foreground);font-size:.75rem;font-weight:700}.arrow-ne{width:1rem;height:1rem;transition:transform .2s var(--ease)}.greet-card{flex-direction:column;justify-content:center;gap:.75rem;min-height:200px;display:flex}.greet-title{letter-spacing:-.03em;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:700;line-height:1.1;display:flex}.greet-title .shine{color:var(--primary)}#greetName{font-style:italic}.greet-type{font-family:var(--font-mono);color:var(--muted-foreground);min-height:1.6em;font-size:1.1rem}.type-caret{color:var(--primary);font-weight:700;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.greet-link{width:max-content;color:var(--muted-foreground);transition:color .2s var(--ease);align-items:center;gap:.5rem;margin-top:.5rem;font-size:1rem;font-weight:500;display:inline-flex}.greet-link:hover{color:var(--primary)}.greet-link:hover .arrow-ne{transform:translate(3px,-3px)}.wave{transform-origin:70% 70%;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}.wave-svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.2em;height:1.2em}.presence-widget{flex-direction:column;gap:.75rem;width:100%;display:flex}.pres-head{align-items:center;gap:.75rem;display:flex}.pres-av-wrap{flex:none;width:42px;height:42px;position:relative}.pres-av{object-fit:cover;background:var(--muted);border:1px solid var(--border);border-radius:10px;width:42px;height:42px}.pres-dot{border:2px solid var(--card);background:var(--muted-foreground);border-radius:50%;width:13px;height:13px;position:absolute;bottom:-3px;right:-3px}.pres-dot.online{background:#26a269}.pres-dot.idle{background:#e66100}.pres-dot.dnd{background:#c01c28}.pres-profile-details{flex-direction:column;line-height:1.25;display:flex}.pres-name{font-size:.9rem;font-weight:700}.pres-status{color:var(--muted-foreground);font-size:.75rem;font-family:var(--font-mono)}.pres-custom-status{background:var(--muted);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.75rem;line-height:1.3;display:flex}.quote-mark{opacity:.7}.status-text{color:var(--foreground);opacity:.9}.status-emoji{margin-right:.25rem}.pres-activities-list{flex-direction:column;gap:.6rem;margin-top:.25rem;display:flex}.presence-block{background:var(--muted);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;padding:.6rem .8rem;display:flex}.block-header{text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;display:flex}.block-title{letter-spacing:.05em;flex:1}.activity-elapsed{opacity:.8;letter-spacing:0;font-size:.65rem}.block-content{align-items:center;gap:.6rem;display:flex}.block-art{object-fit:cover;border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:40px;height:40px}.block-icon-placeholder{background:var(--border);width:40px;height:40px;color:var(--muted-foreground);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.block-details{flex-direction:column;min-width:0;line-height:1.25;display:flex}.block-details-title{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;overflow:hidden}.block-details-sub{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.spotify-progress-container{align-items:center;gap:.4rem;margin-top:.15rem;display:flex}.spotify-time{color:var(--muted-foreground);width:2rem;font-size:.6rem}.spotify-time:last-child{text-align:right}.spotify-track-bar{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.spotify-track-fill{background:#1db954;border-radius:2px;height:100%;transition:width 1s linear}.spotify-green{color:#1db954}.blue-color{color:#007acc}.primary-color{color:var(--primary)}.presence-idle-state{border:1px dashed var(--border);border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem .5rem;display:flex}.idle-pulse-icon{color:var(--muted-foreground);animation:2s ease-in-out infinite pulse-idle}@keyframes pulse-idle{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.find-card{flex-direction:column;gap:1rem;display:flex}.find-list{flex-direction:column;flex:1;justify-content:space-evenly;gap:.75rem;display:flex}.find-row{background:var(--muted);border:1px solid var(--border);transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);border-radius:12px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.find-row:hover{background:var(--accent);border-color:var(--primary);transform:translate(4px)}.find-ic{background:var(--background);width:36px;height:36px;color:var(--foreground);transition:transform .2s var(--ease);border-radius:8px;flex:none;place-items:center;display:grid}.find-ic svg{width:20px;height:20px}.find-row:hover .find-ic{color:var(--primary);transform:scale(1.1)}.find-label{font-size:.95rem;font-weight:600}.find-row .arrow-ne{color:var(--muted-foreground);margin-left:auto}.find-row:hover .arrow-ne{color:var(--primary);transform:translate(3px,-3px)}.img-card{border-radius:16px;min-height:200px;padding:0;overflow:hidden}.img-card img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.feat-card{flex-direction:column;gap:1rem;display:flex}.feat-head{justify-content:space-between;align-items:center;display:flex}.feat-viewall{color:var(--muted-foreground);transition:color .2s var(--ease);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:inline-flex}.feat-viewall:hover{color:var(--primary)}.feat-viewall:hover .arrow-ne{transform:translate(3px,-3px)}.feat-list{flex-direction:column;gap:.75rem;display:flex}.feat-item{background:var(--muted);border:1px solid var(--border);transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);border-radius:12px;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.feat-item:hover{background:var(--accent);border-color:var(--primary);transform:translate(4px)}.feat-ic{background:var(--background);width:44px;height:44px;color:var(--foreground);border-radius:10px;flex:none;place-items:center;display:grid;overflow:hidden}.feat-ic svg{width:22px;height:22px}.feat-ic img{object-fit:cover;width:100%;height:100%}.feat-body{min-width:0}.feat-name{font-size:1rem;font-weight:700}.feat-desc{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.weather-card{flex-direction:column;justify-content:space-between;gap:1rem;min-height:160px;display:flex}.weather-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.weather-time{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.85rem}.weather-body{justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex}.weather-left{flex-direction:column;gap:.5rem;display:flex}.weather-ic svg{width:36px;height:36px;color:var(--primary)}.weather-desc{color:var(--foreground);font-size:1rem;font-weight:600}.weather-temp{font-family:var(--font-mono);letter-spacing:-.03em;font-size:2.75rem;font-weight:800;line-height:1}.weather-foot{color:var(--muted-foreground);align-items:center;gap:1.25rem;font-size:.85rem;font-weight:600;display:flex}.weather-foot span{align-items:center;gap:.4rem;display:inline-flex}.weather-foot svg{width:1.1rem;height:1.1rem}.tech-card{flex-direction:column;justify-content:center;gap:1.25rem;display:flex}.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{align-items:center;gap:1rem;width:max-content;display:flex}.marquee-ic{background:var(--muted);border:1px solid var(--border);width:56px;height:56px;color:var(--muted-foreground);transition:all .2s var(--ease);border-radius:12px;flex:none;place-items:center;display:grid}.marquee-ic:hover{color:var(--primary);border-color:var(--primary);background:var(--accent);transform:translateY(-4px)scale(1.05)}.cta-card{flex-direction:column;justify-content:center;gap:1.25rem;display:flex}.cta-title{font-size:1.15rem;font-weight:700}.cta-btn{background:var(--primary);color:var(--primary-foreground);transition:all .2s var(--ease);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.6rem;padding:.9rem 1.4rem;font-size:1rem;font-weight:600;display:inline-flex}.cta-btn svg{width:1.1rem;height:1.1rem}.cta-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 4px 12px #78aeed4d}.proj-page{max-width:1400px;margin:0 auto;padding:2rem}.proj-head{margin-bottom:4rem}.proj-title{letter-spacing:-.03em;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;line-height:1}.proj-title .grad{color:var(--primary)}.proj-back{margin-bottom:1.5rem;display:inline-flex}.proj-grid{grid-template-columns:1fr;gap:2rem;display:grid}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);box-shadow:var(--shadow-lg);transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--primary);box-shadow:var(--shadow-2xl);transform:translateY(-4px)}.card-media{background:var(--muted);border-bottom:1px solid var(--border);width:100%;height:18rem;position:relative;overflow:hidden}.card-media-zoom{width:100%;height:100%;transition:transform .5s var(--ease)}.card:hover .card-media-zoom{transform:scale(1.05)}.card-media-zoom.center{justify-content:center;align-items:center;display:flex}.card-media img.cover{object-fit:cover;width:100%;height:100%}.card-media img.contain{object-fit:contain;max-width:70%;max-height:70%}.card-media.ph .card-media-zoom{background:var(--muted);justify-content:center;align-items:center;display:flex}.card-media.ph .ph-glyph{background:var(--background);border:1px solid var(--border);width:5rem;height:5rem;color:var(--muted-foreground);border-radius:16px;place-items:center;display:grid}.card-media.ph .ph-glyph svg{width:2.5rem;height:2.5rem}.card-header{gap:.5rem;padding:1.5rem 1.5rem 0;display:grid}.card-titlerow{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-title{font-size:1.4rem;font-weight:700;line-height:1.2}.card-actions{flex:none;gap:.5rem;display:flex}.icon-btn{background:var(--muted);color:var(--muted-foreground);transition:all .2s var(--ease);border:1px solid var(--border);border-radius:8px;place-items:center;padding:.5rem;display:grid}.icon-btn:hover{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);transform:translateY(-2px)}.icon-btn svg{width:1.2rem;height:1.2rem}.card-desc{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;line-height:1.6;display:-webkit-box;overflow:hidden}.card-role{font-family:var(--font-mono);text-transform:uppercase;color:var(--primary);align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.card-tech{margin-top:auto;padding:0 1.5rem 1.5rem}.card-tech .row{flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:1.25rem;display:flex}.tech{justify-content:center;align-items:center;display:flex;position:relative}.tech .tech-label{background:var(--muted);border:1px solid var(--border);color:var(--foreground);transition:all .2s var(--ease);border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.tech:hover .tech-label{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}@media (width>=768px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.proj-grid{grid-template-columns:repeat(3,1fr)}}.xp-page{max-width:800px;margin:0 auto;padding:2rem}.xp-head{margin-bottom:3rem}.xp-back{margin-bottom:1.5rem;display:inline-flex}.xp-title{letter-spacing:-.03em;font-size:clamp(2rem,4.5vw,2.8rem);font-weight:700;line-height:1.1}.xp-intro{color:var(--muted-foreground);margin-top:1.25rem;font-size:1.1rem;line-height:1.6}.xp-timeline{flex-direction:column;gap:2rem;margin:0;padding:0 0 0 32px;list-style:none;display:flex;position:relative}.xp-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:8px;bottom:8px;left:6px}.xp-item{position:relative}.xp-item:before{content:"";background:var(--background);border:1px solid var(--border);width:12px;height:12px;transition:all .2s var(--ease);border-radius:50%;position:absolute;top:1.5rem;left:-26px;transform:translate(-50%)}.xp-item:hover:before{border-color:var(--primary);background:var(--primary)}.xp-card{border:1px solid var(--border);background:var(--card);transition:all .2s var(--ease);border-radius:16px;padding:1.5rem}.xp-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translate(4px)}.xp-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.xp-role{color:var(--foreground);font-size:1.2rem;font-weight:700}.xp-org{font-family:var(--font-mono);color:var(--primary);font-size:.9rem;font-weight:600}.xp-desc{color:var(--muted-foreground);margin-top:.75rem;font-size:1rem;line-height:1.6}.xp-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.xp-tag{background:var(--muted);border:1px solid var(--border);color:var(--foreground);border-radius:6px;padding:.25rem .6rem;font-size:.8rem;font-weight:600}.center-screen{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex}.contact-card{border:1px solid var(--border);background:var(--card);width:100%;max-width:36rem;box-shadow:var(--shadow-2xl);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:2.5rem;overflow:hidden}.contact-top{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.contact-badge{background:var(--muted);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.contact-badge svg{width:1.4rem;height:1.4rem;color:var(--foreground)}.contact-pfp-wrap{justify-content:center;align-items:center;display:flex}.contact-pfp{object-fit:cover;border:2px solid var(--background);width:9rem;height:9rem;box-shadow:0 0 0 1px var(--border);border-radius:50%}.contact-name{text-align:center;font-family:var(--font-sans);color:var(--foreground);font-size:1.25rem;font-weight:700;transform:translateY(1rem)}.contact-socials{justify-content:center;align-items:center;gap:1.25rem;margin-top:2.5rem;display:flex}.social-btn{border:1px solid var(--border);background:var(--muted);width:3.5rem;height:3.5rem;color:var(--muted-foreground);transition:all .2s var(--ease);border-radius:12px;place-items:center;display:grid}.social-btn:hover{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary);transform:translateY(-4px);box-shadow:0 4px 12px #78aeed4d}.social-btn svg{width:1.6rem;height:1.6rem}.ctx-menu{z-index:80;background:var(--popover);min-width:14rem;color:var(--popover-foreground);border:1px solid var(--border);box-shadow:var(--shadow-lg);opacity:0;transform-origin:0 0;pointer-events:none;transition:opacity .1s var(--ease), transform .1s var(--ease);border-radius:12px;padding:.5rem;position:fixed;transform:scale(.95)}.ctx-menu.open{opacity:1;pointer-events:auto;transform:scale(1)}.ctx-item{width:100%;color:var(--popover-foreground);transition:background .1s var(--ease);border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.9rem;font-weight:500;display:flex}.ctx-item:hover{background:var(--primary);color:var(--primary-foreground)}.ctx-item svg{opacity:.9;width:1.1rem;height:1.1rem}.ctx-sep{background:var(--border);height:1px;margin:.5rem .25rem}.splash-screen{z-index:999;color:#fff;background:#0f0f11;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.splash-glow{filter:blur(40px);pointer-events:none;background:radial-gradient(circle,#78aeed0f 0%,#0000 70%);width:500px;height:500px;animation:6s ease-in-out infinite pulse-glow;position:absolute}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}.splash-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:1.5rem;width:90%;max-width:320px;display:flex}.splash-logo{margin-bottom:.5rem}.splash-site-title{font-family:var(--font-mono);letter-spacing:.05em;color:#fff;font-size:1.75rem;font-weight:700}.security-panel{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1a1ea6;border-radius:8px;flex-direction:column;gap:1rem;width:100%;padding:1.25rem;display:flex;box-shadow:0 8px 32px #0006}.security-header{color:var(--muted-foreground);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding-bottom:.6rem;display:flex}.security-icon{color:var(--primary)}.security-title{letter-spacing:.1em;font-size:.65rem}.captcha-container{border:1px solid var(--border);background:#00000040;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}.captcha-display{letter-spacing:.4em;color:#78aeed;flex:1;justify-content:center;align-items:center;height:2.2rem;padding-left:.4em;font-size:1.25rem;font-weight:700;display:flex;position:relative;overflow:hidden}.captcha-char{text-shadow:0 0 4px #78aeed66;display:inline-block}.captcha-noise-line{opacity:.45;pointer-events:none;background:repeating-linear-gradient(90deg,#0000,#78aeed 2px,#0000 4px);width:120%;height:2px;position:absolute;top:50%;left:-10%;transform:rotate(-4deg)}.captcha-refresh{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;padding:.25rem;transition:all .2s;display:grid}.captcha-refresh:hover{color:var(--foreground);background:#ffffff1a;transform:rotate(30deg)}.captcha-input-row{width:100%}.captcha-input{background:var(--muted);border:1px solid var(--border);color:#fff;text-align:center;letter-spacing:.15em;border-radius:6px;outline:none;width:100%;padding:.6rem;font-size:.9rem;transition:border-color .2s}.captcha-input:focus{border-color:var(--primary)}.captcha-input::placeholder{letter-spacing:0;color:var(--muted-foreground);font-size:.8rem}.captcha-submit-btn{background:var(--primary);width:100%;color:var(--primary-foreground);letter-spacing:.05em;cursor:pointer;transition:all .2s var(--ease);border:none;border-radius:6px;padding:.75rem;font-size:.85rem;font-weight:700}.captcha-submit-btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 12px #78aeed40}.captcha-submit-btn:disabled{opacity:.4;cursor:not-allowed}.shake-anim{animation:.5s shake}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.error-state,.error-state .captcha-input{border-color:var(--destructive)}.skip-link{z-index:100;background:var(--primary);color:var(--primary-foreground);transition:transform .2s var(--ease);border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:700;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus-visible{outline:none;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.splash{display:none!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quick-settings-container{z-index:70;position:fixed;top:1.25rem;right:1.25rem}.qs-pill{border:1px solid var(--border);background:var(--card);-webkit-backdrop-filter:blur(12px);color:var(--foreground);box-shadow:var(--shadow-lg);font-family:var(--font-mono);cursor:pointer;transition:all .2s var(--ease);border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;display:flex}.qs-pill:hover{border-color:var(--primary);background:var(--accent)}.qs-pill-icon{opacity:.8;align-items:center;display:inline-flex}.qs-pill-time{margin-left:.25rem}.qs-arrow{transition:transform .2s var(--ease);opacity:.6}.qs-arrow.open{transform:rotate(180deg)}.qs-dropdown{border:1px solid var(--border);background:var(--popover);-webkit-backdrop-filter:blur(16px);width:20rem;box-shadow:var(--shadow-2xl);border-radius:18px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.dark .qs-dropdown{background:#1e1e1ef2}.light .qs-dropdown{background:#fffffff2}.qs-toggles-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.qs-toggle-btn,.qs-static-info{background:var(--muted);border:1px solid var(--border);text-align:left;transition:all .2s var(--ease);border-radius:12px;align-items:center;gap:.75rem;padding:.6rem;display:flex}.qs-toggle-btn{cursor:pointer}.qs-toggle-btn:hover{background:var(--accent);border-color:var(--primary)}.qs-toggle-ic-wrap{background:var(--border);width:2.2rem;height:2.2rem;color:var(--muted-foreground);transition:all .2s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.qs-toggle-btn.active .qs-toggle-ic-wrap,.qs-toggle-ic-wrap.active{background:var(--primary);color:var(--primary-foreground)}.qs-toggle-label{flex-direction:column;min-width:0;display:flex}.qs-toggle-title{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;overflow:hidden}.qs-toggle-sub{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.qs-divider{background:var(--border);height:1px}.qs-slider-row{align-items:center;gap:.75rem;display:flex}.qs-slider-btn{color:var(--foreground);opacity:.8;cursor:pointer;background:0 0;border:none;place-items:center;transition:opacity .2s;display:grid}.qs-slider-btn:hover{opacity:1}.qs-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;flex:1;height:6px;overflow:hidden}.qs-slider::-webkit-slider-thumb{appearance:none;background:var(--primary);width:14px;height:14px;box-shadow:-407px 0 0 400px var(--primary);border-radius:50%;transition:transform .1s}.qs-slider::-moz-range-thumb{background:var(--primary);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.qs-slider-val{font-family:var(--font-mono);text-align:right;width:2.2rem;font-size:.75rem;font-weight:600}.qs-theme-section{flex-direction:column;gap:.5rem;display:flex}.qs-section-title{text-transform:uppercase;color:var(--muted-foreground);letter-spacing:.05em;font-size:.75rem;font-weight:700}.qs-theme-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.qs-theme-btn{border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);cursor:pointer;transition:all .2s var(--ease);border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem;font-size:.75rem;font-weight:600;display:flex}.qs-theme-btn:hover{color:var(--foreground);background:var(--accent)}.qs-theme-btn.active{color:var(--primary);border-color:var(--primary);background:#78aeed26}.gnome-window{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);transform-style:preserve-3d;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.gnome-window:hover{border-color:var(--primary);box-shadow:0 12px 30px #00000040,0 0 15px #78aeed33}.gnome-headerbar{border-bottom:1px solid var(--border);background:#1e1e1e40;justify-content:space-between;align-items:center;height:2.2rem;padding:.5rem 1rem;display:flex}.gnome-window-controls{align-items:center;gap:.45rem;display:flex}.gnome-window-controls span{cursor:pointer;opacity:.85;border-radius:50%;width:12px;height:12px;transition:opacity .15s,transform .15s;display:inline-block}.gnome-window-controls span:hover{opacity:1;transform:scale(1.05)}.gnome-btn-close{background:#ff5f56}.gnome-btn-min{background:#ffbd2e}.gnome-btn-max{background:#27c93f}.gnome-window-title{font-family:var(--font-mono);color:var(--muted-foreground);text-align:center;flex:1;font-size:.75rem;font-weight:700}.gnome-window-spacer{width:52px}.gnome-window-content{flex:1;padding:1.25rem;position:relative;overflow:auto}.desktop-workspace{box-sizing:border-box;justify-content:center;align-items:flex-start;width:100%;min-height:100vh;padding:clamp(6.5rem,12vh,8.5rem) 1.5rem 5rem;display:flex}.desktop-grid{grid-template-columns:1fr;gap:20px;width:100%;max-width:1200px;display:grid}@media (width>=768px){.desktop-grid{grid-template-columns:repeat(12,1fr)}.col-span-4{grid-column:span 4}.col-span-8{grid-column:span 8}.col-span-12{grid-column:span 12}}.gnome-sidebar{z-index:100;background:var(--card);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);width:4.5rem;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:space-between;align-items:center;padding:1.5rem 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-top{font-family:var(--font-sans);color:var(--primary);opacity:.8;place-items:center;height:2.2rem;font-size:1.6rem;font-weight:700;display:grid}.gnome-sidebar .dock{z-index:1;position:relative;top:auto;left:auto;transform:none}.gnome-sidebar .dock-inner{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:16px;flex-direction:column;gap:.85rem;padding:.75rem .5rem}.gnome-sidebar .dock-item:hover{transform:none}.gnome-sidebar .dock-item .tip{top:50%;left:calc(100% + .75rem);transform:translateY(-50%)translate(4px)scale(.9)}.gnome-sidebar .dock-item:hover .tip{transform:translateY(-50%)translate(0)scale(1)}.gnome-sidebar .quick-settings-container{z-index:2;position:relative;top:auto;right:auto}.gnome-sidebar .qs-pill{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:.4rem;padding:.5rem}.gnome-sidebar .qs-pill-time{margin-left:0;font-size:.7rem}.gnome-sidebar .qs-arrow{display:none}.gnome-sidebar .qs-dropdown{width:22rem;box-shadow:var(--shadow-2xl);border:1px solid var(--border);inset:auto auto 0 calc(100% + .75rem)}.qs-toggle-btn,.qs-static-info{min-width:0}.workspace-wrapper{width:calc(100% - 4.5rem);min-height:100vh;margin-left:4.5rem;position:relative}.desktop-workspace{padding-top:4rem}@keyframes text-crayon-wobble{0%,to{filter:url(#wobble-1)}25%{filter:url(#wobble-2)}50%{filter:url(#wobble-3)}75%{filter:url(#wobble-4)}}.app-main-layout,.splash-screen,.gnome-sidebar,.ctx-menu{animation:.6s step-end infinite text-crayon-wobble}.no-scroll-window .gnome-window-content{overflow:hidden!important}.gnome-sidebar .qs-pill:hover,.gnome-sidebar .dock-item:hover{background:0 0!important;border-color:#0000!important}.gnome-window-controls{gap:.75rem!important}.gnome-window-controls span{justify-content:center;align-items:center;width:auto!important;height:auto!important;font-family:var(--font-mono)!important;color:var(--muted-foreground)!important;opacity:.75!important;background:0 0!important;border-radius:0!important;font-size:.95rem!important;font-weight:800!important;transition:opacity .15s,color .15s!important;display:inline-flex!important;transform:none!important}.gnome-window-controls span:hover{opacity:1!important;color:var(--foreground)!important;transform:none!important}@keyframes skeleton-pulse{0%{background-color:var(--border);opacity:.4}50%{background-color:var(--accent);opacity:.85}to{background-color:var(--border);opacity:.4}}.skeleton{background-color:var(--border);border-radius:4px;animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton-circle{border-radius:50%!important;width:44px!important;height:44px!important}.skeleton-square{border-radius:8px!important}.skeleton-text{background-color:var(--border);height:12px}.skeleton-block{border-radius:var(--radius);border:1px dashed var(--border);margin-top:.5rem;padding:.75rem}.security-attempts,.security-lockout{color:#ff7b72;background:#ef44440d;border:1px solid #ef444433;border-radius:6px;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.75rem}.security-lockout{font-weight:700}.proj-card-wrapper{flex-direction:column;display:flex;position:relative}.gabe-credit-floating{z-index:10;width:100%;margin-top:1rem;padding:0 .5rem;position:relative}.spiderweb-connector-svg{display:none}@media (width>=1200px){.gabe-credit-floating{width:250px;margin-top:0;padding:0;position:absolute;bottom:-40px;left:-270px}.spiderweb-connector-svg{width:120px;height:120px;color:var(--border);opacity:.35;pointer-events:none;display:block;position:absolute;top:-55px;left:auto;right:-80px}}.gabe-subcard{pointer-events:auto;background:var(--card);border:1px dashed var(--border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:12px;padding:.9rem}.gabe-subcard:hover{border-color:var(--primary);box-shadow:0 8px 24px #00000026}.gabe-header{align-items:center;gap:.65rem;margin-bottom:.5rem;display:flex}.gabe-avatar{border:1px solid var(--border);object-fit:cover;border-radius:50%;width:38px;height:38px}.gabe-info{flex-direction:column;line-height:1.25;display:flex}.gabe-name{color:var(--foreground);font-size:.85rem;font-weight:700}.gabe-link{color:var(--muted-foreground);font-size:.7rem;text-decoration:underline;transition:color .15s}.gabe-link:hover{color:var(--primary)}.gabe-text{color:var(--muted-foreground);margin:0;font-size:.75rem;line-height:1.4}
