:root{--bg-dark:#121014;--panel-bg:#1a161db8;--panel-bg-hover:#26202cd9;--panel-border:#ffffff1f;--panel-border-accent:#f59e0b66;--text-main:#f8fafc;--text-muted:#94a3b8;--accent-amber:#f59e0b;--accent-orange:#ea580c;--accent-blue:#38bdf8;--accent-emerald:#10b981;--accent-purple:#a855f7;--glass-shadow:0 20px 40px -15px #00000080, 0 0 0 1px #ffffff14;--glow-amber:0 0 30px #f59e0b59;--radius-lg:20px;--radius-md:14px;--radius-sm:8px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}[hidden]{display:none!important}body,html{background-color:var(--bg-dark);width:100%;height:100%;font-family:var(--font-sans);color:var(--text-main);-webkit-user-select:none;user-select:none;overflow:hidden}#app{background:radial-gradient(circle,#201a24 0%,#0d0b0f 100%);width:100vw;height:100dvh;transition:background 1.2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}#app[data-theme=day]{background:radial-gradient(circle at 40% 30%,#2a3447 0%,#111622 100%)}#app[data-theme=sunset]{background:radial-gradient(circle at 50% 40%,#3d2325 0%,#160d16 100%)}#app[data-theme=night]{background:radial-gradient(circle at 60%,#161224 0%,#08070d 100%)}#canvas3d{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block}#canvas3d:active{cursor:grabbing}#canvas3d.pointer-cursor{cursor:pointer}.loading-backdrop{z-index:15;pointer-events:none;background:radial-gradient(circle at 60%,#161224 0%,#08070d 100%);position:absolute;inset:0}.loading-backdrop,.loading-screen{transition:opacity .4s,visibility 0s linear .4s}.loading-backdrop.hidden,.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-screen{border:1px solid var(--panel-border);border-radius:var(--radius-lg);width:min(460px,100% - 32px);height:max-content;max-height:calc(100dvh - 32px);box-shadow:var(--glass-shadow);text-align:center;-webkit-user-select:text;user-select:text;z-index:30;background:#16121af7;flex-direction:column;align-items:center;gap:18px;margin:auto;padding:28px;display:flex;position:absolute;inset:0;overflow-y:auto}.loader-spinner{border:3px solid #f59e0b33;border-top-color:var(--accent-amber);border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.8s linear infinite spin}.loader-title{letter-spacing:-.01em;font-size:1.75rem;font-weight:600}.loader-sub{color:var(--text-muted);font-size:.875rem;line-height:1.5}.fallback-description{line-height:1.5}.scene-loading-status{align-items:center;gap:12px;display:flex}.fallback-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.fallback-actions .btn-primary,.fallback-actions .btn-secondary,#retrySceneBtn{flex:none;min-height:44px}#app:not(.ui-ready) .side-nav,#app:not([data-scene-state=ready]) .top-nav-right,#app:not([data-scene-state=ready]) .bottom-dock{visibility:hidden}#app:not([data-scene-state=ready]) #canvas3d{opacity:0;pointer-events:none}#app[data-scene-state=preparing] #canvas3d{opacity:1}#app:not([data-scene-state=ready]) .hover-tooltip{display:none}#app[data-scene-state=error] .scene-loading-status{border-top:1px solid var(--panel-border);padding-top:16px}@keyframes spin{to{transform:rotate(360deg)}}.side-nav{--nav-size:40px;z-index:20;pointer-events:auto;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:absolute;top:20px;left:24px}.top-nav-right{z-index:20;pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:20px;right:24px}.hud-btn{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border);width:40px;height:40px;color:var(--text-main);cursor:pointer;box-shadow:var(--glass-shadow);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.hud-btn:hover{background:var(--panel-bg-hover);border-color:#ffffff40;transform:translateY(-1px)}.hud-btn.active{border-color:var(--accent-amber);color:var(--accent-amber);box-shadow:var(--glow-amber);background:#f59e0b40}.side-nav .nav-btn{width:max-content;height:var(--nav-size);border-radius:999px;flex-shrink:0;justify-content:flex-start;padding-right:16px;transition-property:background-color,border-color,box-shadow;overflow:hidden}.side-nav .nav-btn:hover{transform:none}.ui-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;flex-shrink:0;width:18px;height:18px;display:block}.hud-btn[aria-pressed=false] .toggle-icon-on,.hud-btn[aria-pressed=true] .toggle-icon-off{display:none}.nav-icon{width:calc(var(--nav-size) - 2px);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-label{font-family:var(--font-sans);white-space:nowrap;font-size:.8rem;font-weight:600}.hotspot-container{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:hidden}.hotspot-pin{color:var(--text-main);font:inherit;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;will-change:transform;background:#18141cd9;border:1px solid #ffffff29;border-radius:9999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 10px 25px #00000080,0 0 0 1px #ffffff1a}.hotspot-pin[hidden]{display:none}.hotspot-pin:focus-visible,.dock-btn:focus-visible,.hud-btn:focus-visible,.nav-btn:focus-visible,.modal-nav-btn:focus-visible,.modal-close-btn:focus-visible,.dropdown-item:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--accent-amber);outline-offset:3px}.modal-body:focus-visible,.loading-screen:focus-visible{outline:2px solid var(--accent-amber);outline-offset:-4px}.hotspot-pin:hover{border-color:var(--accent-amber);box-shadow:0 15px 30px #0009, var(--glow-amber);background:#241e2af2;transform:translate(-50%,-58%)scale(1.08)}.hotspot-icon{background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;display:flex}.hotspot-label{white-space:nowrap;letter-spacing:-.01em;font-size:.8rem;font-weight:600}.hotspot-progress{color:var(--text-muted);margin-top:3px;font-size:.66rem;font-weight:400;display:block}.hotspot-secondary[aria-disabled=true] .hotspot-ring{border-color:var(--accent-amber)}.room-effects{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.room-effects[hidden]{display:none}.water-droplet,.coffee-steam{opacity:0;pointer-events:none;position:absolute;top:0;left:0}.water-droplet{background:linear-gradient(135deg,#e6fbff,#69c9f0);border-radius:65% 65% 60% 60%;width:5px;height:9px;box-shadow:0 0 5px #9ce4ff80}.coffee-steam{fill:none;stroke:#fff4e2;stroke-width:1.8px;stroke-linecap:round;filter:blur(.5px);width:13px;height:29px}.hotspot-pin:after{content:"";border-top:6px solid #18141cd9;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.hotspot-pin.hotspot-secondary{-webkit-backdrop-filter:none;backdrop-filter:none;width:44px;height:44px;min-height:44px;box-shadow:none;z-index:1;background:0 0;border:0;gap:0;padding:0;transition:none;transform:translate(-50%,-50%)}.hotspot-secondary.is-revealed{z-index:2}.hotspot-secondary:after{display:none}.hotspot-secondary.is-revealed:before{content:"";width:44px;left:0;top:calc(22px - var(--pin-lift,44px));pointer-events:auto;position:absolute;bottom:22px}.hotspot-ring{pointer-events:none;will-change:transform, opacity;position:absolute;inset:10px;transform:scale(.8)}.hotspot-ring:before{content:"";background:#18141c66 radial-gradient(circle,#fff 0 2px,#0000 3px 6px,#ffffffd9 7px 8px,#0000 9px);border:1px solid #fffffff2;border-radius:50%;position:absolute;inset:0;scale:.8;box-shadow:0 0 0 4px #18141c80,0 2px 8px #00000073}.hotspot-bubble{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;will-change:transform, opacity;background:#18141ce6;border:1px solid #ffffff29;border-radius:9999px;align-items:center;gap:8px;width:max-content;min-height:44px;padding:6px 12px 6px 8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.45);box-shadow:0 10px 25px #00000080}.hotspot-secondary .hotspot-label{display:block}.hotspot-secondary.is-revealed .hotspot-bubble{pointer-events:auto}.hotspot-secondary:is(:hover,:focus-visible) .hotspot-bubble{border-color:var(--accent-amber)}.hotspot-bubble:after{content:"";bottom:-6px;left:var(--pin-pointer-x,50%);border-top:6px solid #18141ce6;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;transform:translate(-50%)}.hotspot-secondary:focus-visible{outline:none}.hotspot-secondary:focus-visible .hotspot-bubble{outline:2px solid var(--accent-amber);outline-offset:3px}.hover-tooltip{pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--panel-border-accent);border-radius:var(--radius-sm);color:var(--text-main);box-shadow:var(--glass-shadow);opacity:0;z-index:25;background:#120e16e6;padding:6px 12px;font-size:.8rem;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;transform:translate(-50%,-120%)}.hover-tooltip.visible{opacity:1;transform:translate(-50%,-135%)}.bottom-dock{border:1px solid var(--panel-border);box-shadow:var(--glass-shadow);z-index:20;border-radius:9999px;align-items:center;gap:14px;padding:8px 16px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.bottom-dock:before{content:"";border-radius:inherit;background:var(--panel-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);pointer-events:none;z-index:-1;position:absolute;inset:0}.dock-group{align-items:center;gap:6px;display:flex}.dock-divider{background:#ffffff24;width:1px;height:24px}.dock-btn{color:var(--text-main);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9999px;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:500;transition:all .2s;display:flex}.dock-btn:hover{color:var(--text-main);background:#ffffff14}.dock-btn.active{color:var(--accent-amber);background:#f59e0b26;border-color:#f59e0b59}.dropdown{display:inline-flex;position:relative}.dropdown-menu{background:var(--panel-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--panel-border);border-radius:var(--radius-md);min-width:165px;box-shadow:var(--glass-shadow);opacity:0;visibility:hidden;pointer-events:none;z-index:30;flex-direction:column;gap:4px;padding:6px;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility 0s linear .2s;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)translateY(8px)}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(-50%)translateY(0)}.dropdown-item{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:.82rem;font-weight:500;transition:all .15s;display:flex}.dropdown-item:hover{color:var(--text-main);background:#ffffff14}.dropdown-item.active{color:var(--accent-amber);background:#f59e0b26;border-color:#f59e0b59}.dropdown-chevron{width:12px;height:12px;margin-left:2px;transition:transform .2s}.dropdown.open .dropdown-chevron{transform:rotate(180deg)}.toast-container{top:20px;right:calc(76px + env(safe-area-inset-right,0px));width:max-content;max-width:min(320px, calc(100vw - 152px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));z-index:50;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute}.toast{pointer-events:auto;overflow-wrap:anywhere;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border);border-radius:var(--radius-md);color:var(--text-main);box-shadow:var(--glass-shadow);transform-origin:100% 0;background:#18141ceb;align-items:center;gap:10px;padding:10px 16px;font-size:.85rem;font-weight:500;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:60;opacity:0;visibility:hidden;background:#000000a6;justify-content:center;align-items:center;padding:24px;transition:opacity .3s cubic-bezier(.16,1,.3,1),visibility 0s linear .3s;display:flex;position:fixed;inset:0}.modal-backdrop.open{opacity:1;visibility:visible;transition-delay:0s}.modal-window{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-radius:var(--radius-lg);background:#16121af2;border:1px solid #ffffff29;flex-direction:column;width:100%;max-width:860px;height:85dvh;max-height:85vh;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;transform:scale(.94)translateY(15px);box-shadow:0 30px 60px -15px #000c,0 0 0 1px #ffffff1a}.modal-backdrop.open .modal-window{transform:scale(1)translateY(0)}.modal-backdrop.section-switch,.modal-backdrop.section-switch .modal-window{transition:none}@media (width>=841px) and (height>=501px){.modal-window{max-width:960px;height:calc(100dvh - 48px);max-height:calc(100dvh - 48px)}}.modal-nav{isolation:isolate;flex:1;gap:6px;min-width:0;display:flex;position:relative}.modal-nav.is-animated:before{content:"";box-sizing:border-box;z-index:-1;pointer-events:none;border:1px solid var(--panel-border-accent);border-radius:var(--radius-sm);width:calc(33.3333% - 4px);transform:translateX(calc(var(--active-section) * (100% + 6px)));background:#f59e0b1f;position:absolute;inset:0 auto 0 0}.modal-nav-btn{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:600;transition:background .2s,color .2s;display:flex}.modal-nav-btn .ui-icon{flex-shrink:0;width:20px;height:20px}.modal-nav-btn:hover{color:var(--text-main);background:#ffffff14}.modal-nav-btn[aria-current=page]{border-color:var(--panel-border-accent);color:var(--accent-amber);background:#f59e0b1f}.modal-nav.is-animated .modal-nav-btn[aria-current=page]{background:0 0;border-color:#0000}.modal-header{border-bottom:1px solid var(--panel-border);background:#ffffff08;flex-shrink:0;align-items:center;gap:12px;padding:12px;display:flex}.modal-close-btn{border:1px solid var(--panel-border);width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:#ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--text-main);background:#ffffff26}.modal-body{-webkit-user-select:text;user-select:text;flex:1;min-height:0;padding:24px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--panel-border);border-radius:var(--radius-md);background:#ffffff08;flex-direction:column;gap:14px;padding:20px;transition:all .25s;display:flex}.project-card:hover{background:#ffffff0f;border-color:#f59e0b66;transform:translateY(-2px);box-shadow:0 10px 25px #0006}.project-image{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);width:100%}.project-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-name{letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.project-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-amber);background:#f59e0b2e;border:1px solid #f59e0b4d;border-radius:9999px;padding:3px 8px;font-size:.7rem;font-weight:600}.project-desc{color:#cbd5e1;font-size:.88rem;line-height:1.5}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tag{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);background:#ffffff0f;border-radius:6px;padding:3px 8px}.project-links{gap:10px;margin-top:auto;display:flex}.project-links a{min-height:44px}.btn-primary{background:var(--accent-amber);color:#0f172a;border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.btn-primary:hover{background:#fbbf24;transform:translateY(-1px)}.btn-secondary{color:var(--text-main);border:1px solid var(--panel-border);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff14;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.btn-secondary:hover{background:#ffffff24}.skills-container{flex-direction:column;gap:28px;display:flex}.skill-category-title{color:var(--accent-amber);letter-spacing:-.01em;margin-bottom:12px;font-size:1rem;font-weight:700}.skills-row{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px;display:grid}.skill-card{border:1px solid var(--panel-border);border-radius:var(--radius-md);background:#ffffff0a;padding:12px 14px;font-size:.85rem;font-weight:500}.profile-card{flex-direction:column;gap:20px;display:flex}.profile-location{color:var(--text-muted);align-items:center;gap:6px;margin-top:2px;font-size:.8rem;display:flex}.profile-location .ui-icon{width:14px;height:14px}.profile-photo-frame{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--panel-border);width:100%;overflow:hidden}.profile-photo{object-fit:cover;object-position:center 3%;width:110%;height:100%;display:block;transform:translate(-8%)}.social-icon{color:#fff;flex-shrink:0;width:18px;height:18px}.profile-bio{color:#cbd5e1;font-size:1rem;line-height:1.6}.profile-socials{flex-wrap:wrap;gap:10px;display:flex}.social-pill{border:1px solid var(--panel-border);color:var(--text-main);background:#ffffff0f;border-radius:9999px;align-items:center;gap:8px;min-height:44px;padding:8px 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.social-pill:hover{border-color:var(--accent-amber);background:#ffffff24;transform:translateY(-1px)}.contact-section{border-top:1px solid var(--panel-border);flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px;display:flex}.contact-section .skill-category-title{margin-bottom:0}.contact-description,.contact-address{color:var(--text-muted);font-size:.88rem;line-height:1.5}.contact-address{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.contact-email-link{flex:none;min-height:44px}.contact-email-link:focus-visible,.social-pill:focus-visible{outline:2px solid var(--accent-amber);outline-offset:3px}@media (width>=841px) and (height>=501px){.profile-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;display:grid}.profile-card>:not(.profile-photo-frame){grid-column:1}.profile-photo-frame{aspect-ratio:auto;grid-area:1/2/4;min-height:0;position:relative}.profile-photo{object-position:60% center;width:100%;height:100%;position:absolute;transform:none}}.zen-overlay{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);z-index:40;opacity:0;visibility:hidden;background:#120e18cc;flex-direction:column;align-items:center;gap:16px;padding:32px 48px;transition:opacity .4s,visibility 0s linear .4s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.zen-overlay.active{opacity:1;visibility:visible;transition-delay:0s}.zen-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.zen-clock{font-size:3rem;font-weight:800;font-family:var(--font-mono);color:var(--accent-amber);text-shadow:0 0 20px #f59e0b80}.modal-window *,.dropdown-item,#exitZenBtn{transition-property:color,background-color,border-color,box-shadow,opacity,transform}@media (width<=840px),(height<=500px){#app:not([data-scene-state=ready]) .side-nav{flex-direction:row}#app:not([data-scene-state=ready]) .side-nav .nav-icon{width:24px}.loading-screen{max-height:calc(100dvh - 80px);padding:24px;inset:68px 0 12px}.side-nav{--nav-size:44px;left:calc(12px + env(safe-area-inset-left,0px));top:calc(12px + env(safe-area-inset-top,0px));gap:6px}.top-nav-right{top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));gap:6px}.hud-btn{width:44px;height:44px;font-size:.9rem}.bottom-dock{width:max-content;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:4px;padding:6px 8px}.dock-group{gap:4px}.dock-divider{display:none}.dock-btn{flex-shrink:0;justify-content:center;gap:4px;width:auto;height:44px;padding:0 6px;font-size:clamp(.68rem,3vw,.82rem)}.dock-btn .ui-icon{width:16px;height:16px}.dock-btn .dropdown-chevron{width:10px;height:10px}.dock-label{white-space:nowrap}.dropdown-menu{min-width:180px;max-width:calc(100vw - 32px);left:auto;right:0;transform:translateY(8px)}.dropdown.open .dropdown-menu{transform:translateY(0)}#themeMenu{left:0;right:auto}#cameraMenu{left:50%;right:auto;transform:translate(-50%)translateY(8px)}.dropdown.open #cameraMenu{transform:translate(-50%)translateY(0)}.dropdown-item{min-height:44px}.hotspot-pin{justify-content:center;gap:0;min-width:44px;min-height:44px;padding:6px}.hotspot-label{display:none}.hotspot-ring{inset:16px}.hotspot-ring:before{background:#18141c66 radial-gradient(circle,#fff 0 .75px,#0000 1.25px 1.5px,#ffffffd9 2px 2.75px,#0000 3.25px);scale:1.2;box-shadow:0 0 0 1px #18141c80,0 1px 4px #00000073}.toast-container{top:calc(12px + env(safe-area-inset-top,0px));right:calc(66px + env(safe-area-inset-right,0px));max-width:min(320px, calc(100vw - 208px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}.toast{font-size:.8rem}.zen-overlay{width:calc(100vw - 32px);max-width:580px;padding:24px}.projects-grid{grid-template-columns:1fr}}@media (width<=400px){.dock-btn{gap:4px;padding:0 4px;font-size:.68rem}.dropdown-chevron{display:none}}@media (width<=560px){.project-card-header{flex-wrap:wrap}.project-links{flex-direction:column}.modal-backdrop{padding:12px}.modal-window{max-height:calc(100dvh - 24px)}.modal-body{padding:16px}.modal-header{gap:8px;padding:8px}.modal-nav-btn{flex-direction:column;gap:4px;min-height:52px;font-size:.78rem}}
