*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0b;color:#f5f5f4}.grabbable{cursor:grab}.grabbing{cursor:grabbing}:root{--bg: #0A0A0B;--surface: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #F5F5F4;--text-secondary: #A1A1AA;--text-muted: #71717A;--text-dim: rgba(245, 245, 244, .4);--accent: #8B5CF6;--accent-hover: #A78BFA;--accent-soft: rgba(139, 92, 246, .14);--accent-border: rgba(139, 92, 246, .36);--accent-glow: rgba(139, 92, 246, .38);--accent-on: #FFFFFF;--font-display: "Fraunces", "Cormorant Garamond", Georgia, serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-retro: "Press Start 2P", monospace;--dur-fast: .15s;--dur-base: .24s;--dur-slow: .42s;--ease-out: cubic-bezier(.2, .8, .2, 1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5)}.app{width:100vw;height:100vh;position:relative;overflow:hidden;font-family:var(--font-body);background:var(--bg);color:var(--text)}.side-panel{position:absolute;top:0;left:0;bottom:0;width:min(420px,38%);padding:2.2rem 2rem;display:flex;flex-direction:column;gap:1.4rem;overflow:visible;background:transparent;border:none;box-shadow:none;z-index:10;pointer-events:none;animation:fadeIn .8s ease .2s both}.side-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,#0a0a0be0,#0a0a0b8c 55%,#0a0a0b00);z-index:-1}.side-panel>*{pointer-events:auto}.app-rtl .side-panel{left:auto;right:0}.app-rtl .side-panel:before{background:linear-gradient(to left,#0a0a0be0,#0a0a0b8c 55%,#0a0a0b00)}.identity{animation:revealUp .8s ease .3s both}.lang-toggle{position:fixed;top:1.5rem;right:1.5rem;min-width:44px;padding:.45rem .8rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary);background:#1414168c;border:1px solid var(--border);border-radius:999px;cursor:pointer;z-index:40;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);animation:fadeIn .8s ease .4s both}.lang-toggle:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text);transform:translateY(-1px)}.lang-toggle:active{transform:translateY(0)}html[dir=rtl] .lang-toggle,.app-rtl .lang-toggle{right:auto;left:1.5rem}.canvas-stage{position:absolute;inset:0;z-index:0}.canvas-stage>canvas{display:block}.planet-hint{position:absolute;left:50%;bottom:1.4rem;transform:translate(-50%);display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;background:#0a0a0b9e;border:1px solid rgba(255,255,255,.16);color:#ffffffc7;font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.06em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;z-index:5;animation:planet-hint-pulse 2.4s ease-in-out infinite;transition:opacity .4s ease,transform .4s ease}.planet-hint[data-hidden=true]{opacity:0;transform:translate(-50%,8px);animation:none}.planet-hint-arrow{display:inline-block;font-size:.95rem;line-height:1;color:var(--accent);animation:planet-hint-bob 1.4s ease-in-out infinite}@keyframes planet-hint-pulse{0%,to{box-shadow:0 0 #ff6b3500}50%{box-shadow:0 0 0 7px #ff6b351f}}@keyframes planet-hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.hint{position:absolute;bottom:1.5rem;right:2rem;font-size:.7rem;color:#ffffff4d;letter-spacing:.08em;line-height:1.6;max-width:240px;text-align:right;margin:0;animation:fadeIn 1.2s ease 1s both}.app-rtl .hint{right:auto;left:2rem;text-align:left}.social-widgets{display:flex;gap:.6rem;margin-top:1.1rem}.social-widget{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#fff;text-decoration:none;cursor:grab;user-select:none;touch-action:none;-webkit-user-drag:none;-webkit-user-select:none;-webkit-touch-callout:none;border:1px solid rgba(255,255,255,.18);transition:box-shadow .2s ease,border-color .2s ease,filter .2s ease;will-change:transform}.social-widget:active{cursor:grabbing}.social-widget:hover{border-color:#fff6;filter:brightness(1.1)}.social-widget-glyph{font-family:var(--font-display);font-weight:400;font-size:22px;font-style:italic;line-height:1;pointer-events:none}.social-widget-glyph-svg{width:20px;height:20px;pointer-events:none}.social-linkedin{background:#0a66c2;box-shadow:0 4px 16px #0a66c266}.social-linkedin:hover{box-shadow:0 6px 22px #0a66c299}.social-x{background:#000;box-shadow:0 4px 16px #00000080}.social-x:hover{box-shadow:0 6px 22px #fff3}.social-calendly{background:#006bff;box-shadow:0 4px 16px #006bff66}.social-calendly:hover{box-shadow:0 6px 22px #006bff99}.social-whatsapp{background:#25d366;box-shadow:0 4px 16px #25d36666}.social-whatsapp:hover{box-shadow:0 6px 22px #25d36699}.sidebar-pitch{margin-top:1.4rem;display:flex;flex-direction:column;gap:.9rem}.sidebar-manifesto{margin:.4rem 0;font-family:var(--font-display, "Instrument Serif", serif);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:400;font-style:normal;line-height:1.22;letter-spacing:-.015em;color:#fff;text-align:center}.sidebar-cta{display:block;width:100%;padding:.95rem 1.1rem;margin-top:0;border-radius:10px;background:linear-gradient(135deg,#a855f7,#ec4899,#06b6d4);color:#fff;font-size:1rem;font-weight:700;text-align:center;text-decoration:none;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 24px #a855f752,inset 0 1px #fff3;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer}.sidebar-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px #ec48996b,inset 0 1px #ffffff40;filter:brightness(1.08)}.sidebar-cta:active{transform:translateY(0)}.overlay-tag{margin-top:auto;align-self:flex-start;font-size:.68rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums}.overlay-tag:before{content:"— "}.title{font-family:var(--font-sans, "Inter", sans-serif);font-size:1.05rem;font-weight:500;line-height:1.3;margin:0 0 .35rem;color:#fff;letter-spacing:0;text-transform:none}@keyframes revealUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.constellation-container{position:fixed;bottom:0;left:0;right:0;height:320px;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.6) 50%,transparent 100%);z-index:20;animation:fadeIn .8s ease .5s both}.constellation-title{margin:0;padding:.5rem 2rem 0;font-size:.72rem;font-weight:500;color:var(--text-muted);letter-spacing:.3em;text-transform:uppercase;position:relative;z-index:2}.constellation-scroll{position:relative;width:100%;height:320px;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.constellation-scroll::-webkit-scrollbar{display:none}.constellation-canvas{position:absolute;top:0;left:0;pointer-events:none}.constellation-node{position:absolute;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;animation:constellationFadeIn .5s ease both;transition:transform .25s ease}.constellation-node:hover,.constellation-node.active{transform:scale(1.12);z-index:5}.constellation-node.connected{transform:scale(1.05)}@keyframes constellationFadeIn{0%{opacity:0;transform:scale(.6) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.constellation-node-glow{position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,var(--node-color) 0%,transparent 70%);opacity:.15;transition:opacity .3s ease;pointer-events:none}.constellation-node:hover .constellation-node-glow,.constellation-node.active .constellation-node-glow{opacity:.35}.constellation-node-img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.15);box-shadow:0 0 16px #0009;transition:border-color .3s ease,box-shadow .3s ease;background:#0006}.constellation-node:hover .constellation-node-img,.constellation-node.active .constellation-node-img{border-color:var(--node-color);box-shadow:0 0 20px color-mix(in srgb,var(--node-color) 30%,transparent),0 4px 20px #00000080}.constellation-node-label{font-size:.7rem;font-weight:500;color:#ffffff8c;letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.8);transition:color .25s ease}.constellation-node:hover .constellation-node-label,.constellation-node.active .constellation-node-label{color:#ffffffe6}.constellation-info{position:fixed;bottom:340px;left:50%;transform:translate(-50%);width:380px;max-width:92vw;background:#141416;border:1px solid var(--border);border-radius:14px;padding:1.2rem;z-index:25;box-shadow:var(--shadow-lg);animation:slideUp .25s var(--ease-out)}.constellation-info-close{position:absolute;top:.6rem;right:.8rem;background:none;border:none;color:#fff6;font-size:1.4rem;cursor:pointer;line-height:1;transition:color .2s}.constellation-info-close:hover{color:#fff}.constellation-info-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}.constellation-info-img{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.1);flex-shrink:0}.constellation-info-name{font-size:1.1rem;font-weight:600;margin:0 0 .2rem}.constellation-info-tech{font-size:.65rem;color:#ffffff59;letter-spacing:.06em;text-transform:uppercase}.constellation-info-desc{font-size:.82rem;color:#fff9;line-height:1.6;margin:0 0 .8rem}.constellation-info-link{display:inline-block;font-size:.78rem;font-weight:500;text-decoration:none;border:1px solid;padding:.4rem 1rem;border-radius:6px;letter-spacing:.04em;transition:all .2s ease}.constellation-info-link:hover{background:#ffffff14}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.content-panel-backdrop{position:fixed;inset:0;background:#0a0a0b80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:flex-end;padding:2rem;animation:fadeIn .2s var(--ease-out)}.content-panel{width:420px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:2rem;background:#141416;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);position:relative;animation:slideIn .3s var(--ease-out)}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.panel-accent{position:absolute;top:0;left:0;right:0;height:3px;background:var(--panel-color, var(--accent));border-radius:1rem 1rem 0 0}.panel-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:#ffffff1a;border-radius:50%;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.panel-close:hover{background:#fff3;transform:scale(1.1)}.panel-title{font-family:var(--font-display);font-size:2.1rem;font-weight:400;font-variation-settings:"opsz" 144,"SOFT" 30;letter-spacing:-.025em;line-height:1.08;color:var(--text);margin:0 0 1rem}.panel-quote{font-family:var(--font-display);font-size:1.2rem;font-style:italic;font-variation-settings:"opsz" 72,"SOFT" 60;color:var(--text-secondary);border-left:2px solid var(--panel-color, var(--accent));padding-left:1rem;margin:0 0 1.2rem;line-height:1.45}.panel-body{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin:0}.service-label{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 16px;background:#0a0a0beb;border:1px solid var(--border-strong);border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.service-label-name{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--text);letter-spacing:.02em}.service-modal-backdrop{position:fixed;inset:0;background:#04040c94;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);z-index:60;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s var(--ease-out)}.service-modal{position:relative;width:560px;max-width:92vw;max-height:86vh;overflow-y:auto;padding:2.2rem 2.2rem 2rem;background:#111114;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);outline:none;animation:serviceModalIn .32s var(--ease-out)}@keyframes serviceModalIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.service-modal-accent{position:absolute;top:0;left:0;right:0;height:3px;background:var(--service-color, var(--accent));border-radius:16px 16px 0 0}.service-modal-close{position:absolute;top:.95rem;right:.95rem;width:34px;height:34px;border:none;background:#ffffff14;border-radius:50%;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}[dir=rtl] .service-modal-close{right:auto;left:.95rem}.service-modal-close:hover{background:#ffffff2e;transform:scale(1.06)}.service-modal-header{margin:.3rem 0 1.4rem}.service-modal-verb{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--service-color, var(--accent));margin-bottom:.6rem}.service-modal-title{font-family:var(--font-display);font-size:2rem;font-weight:400;font-variation-settings:"opsz" 144,"SOFT" 30;line-height:1.1;letter-spacing:-.02em;color:var(--text);margin:0 0 .8rem}.service-modal-hook{font-size:1.02rem;line-height:1.55;color:var(--text-secondary);margin:0;border-left:2px solid var(--service-color, var(--accent));padding-left:.9rem}[dir=rtl] .service-modal-hook{border-left:none;border-right:2px solid var(--service-color, var(--accent));padding-left:0;padding-right:.9rem}.service-modal-section{margin:1.4rem 0 0}.service-modal-subhead{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .7rem}.service-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.service-modal-list li{position:relative;font-size:.94rem;line-height:1.55;color:var(--text);padding-left:1.1rem}[dir=rtl] .service-modal-list li{padding-left:0;padding-right:1.1rem}.service-modal-list li:before{content:"";position:absolute;top:.6rem;left:0;width:6px;height:6px;border-radius:50%;background:var(--service-color, var(--accent));opacity:.85}[dir=rtl] .service-modal-list li:before{left:auto;right:0}.service-modal-meta{margin:1.4rem 0 0;padding:.9rem 1rem;background:#ffffff06;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:.55rem}.service-modal-meta-row{display:grid;grid-template-columns:110px 1fr;gap:.8rem;align-items:baseline}[dir=rtl] .service-modal-meta-row{grid-template-columns:110px 1fr}.service-modal-meta-row dt{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin:0}.service-modal-meta-row dd{margin:0;font-size:.92rem;color:var(--text);line-height:1.4}.service-modal-proof{display:flex;flex-wrap:wrap;gap:.5rem}.service-modal-proof-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--proof-color) 50%,transparent);background:color-mix(in srgb,var(--proof-color) 10%,transparent);color:color-mix(in srgb,var(--proof-color) 85%,white 15%);font-size:.82rem;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.service-modal-proof-pill:hover{background:color-mix(in srgb,var(--proof-color) 20%,transparent);border-color:color-mix(in srgb,var(--proof-color) 75%,transparent);transform:translateY(-1px)}.service-modal-proof-arrow{font-size:.85rem;opacity:.85}.service-modal-cta{display:block;width:100%;margin:1.8rem 0 0;padding:.95rem 1.2rem;border-radius:10px;background:var(--service-color, var(--accent));color:#0a0a0b;font-size:1rem;font-weight:700;letter-spacing:-.005em;text-align:center;text-decoration:none;border:1px solid var(--service-color, var(--accent));box-shadow:0 10px 30px -6px color-mix(in srgb,var(--service-color) 50%,transparent);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.service-modal-cta:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 14px 36px -4px color-mix(in srgb,var(--service-color) 65%,transparent)}.service-modal-cta:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.service-modal,.service-modal-backdrop{animation:none}.service-modal-cta:hover,.service-modal-proof-pill:hover,.service-modal-close:hover{transform:none}}.library{width:100%;padding:.9rem 1rem;background:#1414169e;border:1px solid var(--border);border-radius:14px;backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);animation:revealUp .8s ease .5s both;display:flex;flex-direction:column;min-height:0;max-height:48vh}.library-header{display:flex;align-items:baseline;padding:.25rem .35rem .7rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.library-title{font-family:var(--font-display);font-size:1.35rem;font-weight:400;font-variation-settings:"opsz" 72,"SOFT" 40;letter-spacing:-.015em;line-height:1;color:var(--text);margin:0}.library-dots{display:flex;justify-content:center;gap:6px;padding-top:.65rem}.library-dot{width:7px;height:7px;padding:0;border-radius:50%;border:none;background:#fff3;cursor:pointer;transition:background .2s ease,width .2s ease}.library-dot.is-active{width:22px;border-radius:4px;background:var(--project-color);box-shadow:0 0 10px color-mix(in srgb,var(--project-color) 45%,transparent)}.library-track{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none}.library-track::-webkit-scrollbar{display:none}.library-card{flex-shrink:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem 1.15rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:inherit;position:relative;overflow:hidden;min-width:0;cursor:pointer;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;outline:none}.library-card:hover{border-color:color-mix(in srgb,var(--project-color) 38%,transparent)}.library-card:focus-visible{border-color:color-mix(in srgb,var(--project-color) 65%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--project-color) 40%,transparent)}.library-card.is-active{border-color:color-mix(in srgb,var(--project-color) 60%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--project-color) 10%,transparent),#ffffff0a 70%);box-shadow:0 6px 26px color-mix(in srgb,var(--project-color) 22%,transparent)}.library-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,var(--project-color) 0%,transparent 70%);opacity:0;transition:opacity .25s ease}.library-card:hover{border-color:color-mix(in srgb,var(--project-color) 50%,transparent);background:#ffffff0a;transform:translateY(-2px)}.library-card:hover:before{opacity:.08}.library-card-flip{width:100%;aspect-ratio:16 / 9;perspective:1000px;position:relative}.library-card-flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.library-card.is-active .library-card-flip-inner{transform:rotateY(180deg)}.library-card-face{position:absolute;inset:0;border-radius:8px;border:1px solid rgba(255,255,255,.08);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.library-card-face-front{width:100%;height:100%;object-fit:cover;background:#0006}.library-card-face-back{transform:rotateY(180deg);display:flex;align-items:stretch;justify-content:stretch;padding:.75rem .85rem;background:linear-gradient(135deg,color-mix(in srgb,var(--project-color) 22%,#0a0a1a),#0a0a1a);border-color:color-mix(in srgb,var(--project-color) 45%,transparent);box-shadow:inset 0 0 24px color-mix(in srgb,var(--project-color) 18%,transparent)}.library-card-back-inner{display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;width:100%;min-height:0}.library-card-back-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:color-mix(in srgb,var(--project-color) 70%,white 30%);text-transform:uppercase}.library-card-back-desc{margin:0;font-size:.92rem;line-height:1.4;color:#ffffffeb;font-weight:400;overflow-wrap:break-word;flex:1}.library-card-back-tags{display:flex;flex-wrap:wrap;gap:.35rem}.library-card-back-tags .library-card-chip{font-size:.68rem;padding:.2rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--project-color) 18%,transparent);border:1px solid color-mix(in srgb,var(--project-color) 40%,transparent);color:color-mix(in srgb,var(--project-color) 50%,white 50%);letter-spacing:.02em;white-space:nowrap}.library-card-body{display:flex;flex-direction:column;gap:.5rem;min-width:0;flex:1}.library-card-chevron{font-size:1.35rem;color:var(--project-color);opacity:.7;transition:opacity .2s ease,transform .2s ease;flex-shrink:0}.library-card.is-active .library-card-chevron{opacity:1;transform:translate(1px,-1px)}.library-card-hint{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#fff6;transition:color .2s ease}.library-card.is-active .library-card-hint{color:color-mix(in srgb,var(--project-color) 70%,white 20%)}.library-card-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.library-card-name{font-family:var(--font-body);font-size:1.35rem;font-weight:600;color:#fff;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-card-arrow{font-size:.75rem;color:var(--project-color);opacity:.7;transition:opacity .2s ease,transform .2s ease}.library-card:hover .library-card-arrow{opacity:1;transform:translate(2px,-2px)}.library-card-chip{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:3px;color:var(--project-color);background:color-mix(in srgb,var(--project-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--project-color) 22%,transparent);transition:color .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.library-card.is-active .library-card-chip{color:#0a0a1a;background:var(--project-color);border-color:color-mix(in srgb,var(--project-color) 80%,white 10%);box-shadow:0 0 10px color-mix(in srgb,var(--project-color) 55%,transparent);font-weight:700}@media(max-width:900px){.library-card-thumb{width:44px;height:44px}}.about-section{margin-bottom:1.5rem}.about-section:last-child{margin-bottom:0}.about-section h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400;letter-spacing:-.01em;color:var(--text);margin:0 0 .5rem}.about-section p{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin:0}.speech-bubble{cursor:pointer;animation:bubble-bob 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));-webkit-user-select:none;user-select:none}.speech-bubble-inner{font-family:"Press Start 2P",monospace;font-size:13px;color:#1a1a2e;background:#e8e8d0;padding:18px 22px;line-height:1.7;position:relative;display:flex;flex-direction:column;gap:10px;width:44ch;box-shadow:-4px 0 #1a1a2e,4px 0 #1a1a2e,0 -4px #1a1a2e,0 4px #1a1a2e,-4px -4px #1a1a2e,4px -4px #1a1a2e,-4px 4px #1a1a2e,4px 4px #1a1a2e}.speech-bubble-line{display:block;min-height:1.2em;font-weight:700;word-break:break-word}.speech-bubble-line-2{font-size:10px;color:#3a3a5c;font-weight:400}.speech-bubble[lang=he] .speech-bubble-inner{font-size:17px;line-height:1.6}.speech-bubble[lang=he] .speech-bubble-line-2{font-size:15px}.speech-bubble-caret{display:inline-block;margin-inline-start:2px;color:#1a1a2e;animation:speech-caret-blink .6s step-end infinite}@keyframes speech-caret-blink{0%,to{opacity:1}50%{opacity:0}}.speech-bubble-tail{position:absolute;bottom:-12px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid #1a1a2e}.speech-bubble-tail:after{content:"";position:absolute;bottom:3px;left:-5px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:11px solid #e8e8d0}.speech-bubble[lang=he] .speech-bubble-tail{left:auto;right:20px}@keyframes bubble-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.speech-bubble:hover .speech-bubble-inner{background:#fffde0}.chat-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.chat-window{width:1120px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;font-family:"Press Start 2P",monospace;font-size:20px;color:#3f3;background:#0a0a1a;animation:slideUp .3s ease;box-shadow:-4px 0 #3f3,4px 0 #3f3,0 -4px #3f3,0 4px #3f3,-4px -4px #3f3,4px -4px #3f3,-4px 4px #3f3,4px 4px #3f3,0 8px 40px #33ff3326}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:28px 40px;border-bottom:5px solid #33ff33;background:#111128}.chat-title{text-transform:uppercase;letter-spacing:3px;font-size:22px}.chat-close{font-family:"Press Start 2P",monospace;font-size:20px;color:#f33;background:none;border:3px solid #ff3333;padding:10px 18px;cursor:pointer;transition:all .15s}.chat-close:hover{background:#f33;color:#0a0a1a}.chat-messages{flex:1;overflow-y:auto;padding:40px;display:flex;flex-direction:column;gap:32px;min-height:520px;max-height:70vh;scrollbar-width:thin;scrollbar-color:#33ff33 #0a0a1a}.chat-msg{line-height:1.9;word-break:break-word;white-space:pre-wrap;font-size:20px}.chat-msg-bot{color:#3f3}.chat-msg-user{color:#6cf;padding-left:12px;border-left:2px solid #66ccff}.chat-msg-prefix{color:#3f3;opacity:.6}.chat-input-row{display:flex;border-top:5px solid #33ff33}.chat-input{flex:1;font-family:"Press Start 2P",monospace;font-size:20px;color:#3f3;background:#050510;border:none;padding:32px 36px;outline:none;caret-color:#3f3}.chat-input::placeholder{color:#33ff334d}.chat-send{font-family:"Press Start 2P",monospace;font-size:20px;color:#0a0a1a;background:#3f3;border:none;padding:32px 40px;cursor:pointer;transition:all .15s;letter-spacing:2px}.chat-send:hover{background:#6f6}@media(max-width:768px){.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.canvas-stage{position:relative;inset:auto;width:100%;height:auto;flex:2 1 0;min-height:0;order:-1}.side-panel,.app-rtl .side-panel{position:relative;inset:auto;width:100%;height:auto;flex:1 1 0;min-height:0;padding:1.2rem 1.2rem 1.4rem;gap:1rem;overflow-y:auto;overflow-x:hidden;pointer-events:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--border);background:linear-gradient(to bottom,rgba(10,10,11,.96),var(--bg) 30%)}.side-panel:before,.app-rtl .side-panel:before{display:none}.library{max-height:none}.library-track{overflow:visible;scroll-snap-type:none}.overlay-tag{margin-top:.5rem}.content-panel-backdrop{align-items:flex-end;justify-content:center;padding:0}.content-panel{width:100%;max-width:100%;max-height:70vh;border-radius:1rem 1rem 0 0;animation:slideUp .3s ease}.service-modal-backdrop{align-items:flex-end;justify-content:center;padding:0}.service-modal{width:100%;max-width:100%;max-height:88vh;border-radius:18px 18px 0 0;padding:1.6rem 1.4rem 1.4rem;animation:serviceSheetIn .32s var(--ease-out)}.service-modal-title{font-size:1.55rem}.service-modal-hook{font-size:.95rem}.service-modal-meta-row{grid-template-columns:96px 1fr}@keyframes serviceSheetIn{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.title{font-size:1.15rem}.overlay-top{padding:1.5rem}.chat-window{max-width:95vw;max-height:70vh}.speech-bubble-inner{font-size:11px;width:max-content;max-width:80vw;padding:12px 14px}.speech-bubble.is-mobile .speech-bubble-tail{left:50%;right:auto;transform:translate(-50%)}.planet-hint{bottom:.85rem;padding:.4rem .85rem;font-size:.72rem;gap:.45rem}.planet-hint-arrow{font-size:.85rem}.speech-bubble.is-mobile[lang=he] .speech-bubble-inner{font-size:14px}.speech-bubble.is-mobile[lang=he] .speech-bubble-line-2{font-size:12px}.chat-window{width:95vw;font-size:11px}.constellation-container,.constellation-scroll{height:260px}.constellation-info{bottom:280px;width:95vw}}
