:root{--ts-glow-purple:#fc42ff;--ts-glow-cyan:#00cbd6;--ts-glow-yellow:#facc15;--ts-glow-green:#10b981}body.tech-stack-page,html{height:100vh;height:100dvh;overflow:hidden!important;margin:0;padding:0;background-color:var(--body-bg,#0e0e11);color:var(--sidebar-text,#fff);position:relative}body.theme-smooth-fade,body.theme-smooth-fade *,body.theme-smooth-fade ::after,body.theme-smooth-fade ::before{transition:background-color .45s cubic-bezier(.4, 0, .2, 1) !important,color .45s cubic-bezier(.4, 0, .2, 1) !important,border-color .45s cubic-bezier(.4, 0, .2, 1) !important,box-shadow .45s cubic-bezier(.4, 0, .2, 1) !important,fill .45s cubic-bezier(.4, 0, .2, 1) !important,filter .45s cubic-bezier(.4, 0, .2, 1)!important}#dotted-surface-canvas-container,#magic-rings-canvas-container{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:0}#dotted-surface-canvas-container{opacity:.5}.ts-standalone-topbar{position:fixed;top:0;left:0;right:0;height:62px;z-index:10000;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem .25rem;background-color:var(--body-bg,#0e0e11);border-bottom:none!important;box-shadow:none!important;box-sizing:border-box}.light-theme .ts-standalone-topbar{background-color:#fff;border-bottom:none!important;box-shadow:none!important}.ts-topbar-logo img{display:block;border-radius:6px}.ts-topbar-actions{display:flex;align-items:center;gap:.75rem}.ts-theme-btn{background:0 0;border:none;padding:.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.ts-theme-btn:hover{background:rgba(255,255,255,.12)}.light-theme .ts-theme-btn:hover{background:rgba(0,0,0,.07)}#ts-theme-icon{width:22px;height:22px;display:block;transition:transform .6s cubic-bezier(.34, 1.56, .64, 1),filter .3s ease;filter:invert(1)}.light-theme #ts-theme-icon{filter:invert(0)}.ts-back-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:700;text-decoration:none;color:#fff;border:1.8px solid rgba(255,255,255,.28);padding:.3rem .8rem;border-radius:6px;box-shadow:2px 2px 0 rgba(255,255,255,.18);transition:box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.ts-back-btn:hover{background:#fff;color:#161311;border-color:#161311;box-shadow:3px 3px 0 #161311;transform:translate(-1px,-1px);text-decoration:none}.light-theme .ts-back-btn{color:#161311;border-color:#161311;box-shadow:2px 2px 0 #161311}.light-theme .ts-back-btn:hover{background:#161311;color:#fff;border-color:#161311;box-shadow:3px 3px 0 #161311;transform:translate(-1px,-1px);text-decoration:none}.ts-reshuffle-btn{font-family:Outfit,sans-serif;font-size:.8rem;font-weight:700;padding:.38rem .85rem;background:rgba(255,255,255,.08);color:#fff;border:1.8px solid rgba(255,255,255,.22);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;position:relative;overflow:visible;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.light-theme .ts-reshuffle-btn{color:#161311;border-color:#161311;background:#fff;box-shadow:2px 2px 0 #161311}.ts-reshuffle-btn:hover{background:#fff;color:#161311;border-color:#fff;box-shadow:2.5px 2.5px 0 #161311,0 0 12px rgba(255,255,255,.2);transform:translate(-1px,-1px)}.light-theme .ts-reshuffle-btn:hover{background:#161311;color:#fff;border-color:#161311;box-shadow:2.5px 2.5px 0 #161311,0 0 12px rgba(0,0,0,.15);transform:translate(-1px,-1px)}.ts-reshuffle-btn:active{transform:translate(1px,1px) scale(.96);box-shadow:1px 1px 0 #161311}.ts-reshuffle-btn .ts-reshuffle-svg{overflow:visible;transition:transform .25s cubic-bezier(.34, 1.56, .64, 1)}.ts-sword-arrow{transform-origin:11.5px 11.5px;transition:transform .25s cubic-bezier(.34, 1.56, .64, 1)}.ts-sword-blade,.ts-sword-guard,.ts-sword-head{transition:stroke .2s ease,stroke-width .2s ease,opacity .2s ease}.ts-clash-spark-burst{transform-origin:11.5px 11.5px;opacity:0;transform:scale(.2) rotate(0);transition:opacity .2s ease,transform .2s ease}.ts-reshuffle-btn:hover .ts-reshuffle-svg{transform:scale(1.12)}.ts-reshuffle-btn:hover .ts-sword-a{transform:translate(-2px,-2px)}.ts-reshuffle-btn:hover .ts-sword-b{transform:translate(-2px,2px)}.ts-reshuffle-btn.is-shuffling{animation:ts-btn-pulse .28s cubic-bezier(.34,1.56,.64,1)}.ts-reshuffle-btn.is-shuffling .ts-sword-a{animation:ts-sword-a-clash-exchange .28s cubic-bezier(.2,.8,.25,1) forwards}.ts-reshuffle-btn.is-shuffling .ts-sword-b{animation:ts-sword-b-clash-exchange .28s cubic-bezier(.2,.8,.25,1) forwards}.ts-reshuffle-btn.is-shuffling .ts-clash-spark-burst{animation:ts-spark-clash-flash .28s ease-out forwards}@keyframes ts-sword-a-clash-exchange{0%{transform:translate(0,0) rotate(0)}45%{transform:translate(5px,5px) scale(1.15) rotate(15deg)}100%{transform:translate(0,14px) rotate(180deg)}}@keyframes ts-sword-b-clash-exchange{0%{transform:translate(0,0) rotate(0)}45%{transform:translate(5px,-5px) scale(1.15) rotate(-15deg)}100%{transform:translate(0,-14px) rotate(180deg)}}@keyframes ts-spark-clash-flash{0%{opacity:0;transform:scale(.2)}45%{opacity:1;transform:scale(1.4) rotate(45deg)}100%{opacity:0;transform:scale(1.8) rotate(90deg)}}@keyframes ts-btn-pulse{0%{transform:scale(1)}45%{transform:scale(.94)}100%{transform:scale(1)}}.ts-main-wrapper{position:relative;z-index:10;height:calc(100vh - 62px);margin-top:62px;padding:.75rem 1.25rem 1rem;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;overflow:hidden}.ts-top-bar{width:100%;max-width:1200px;margin-bottom:.6rem;flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ts-header-title{font-family:Sora,sans-serif;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:.6rem;color:#fff;margin:0}.light-theme .ts-header-title{color:#161311}.ts-header-badge{font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;padding:.2rem .55rem;background:#facc15;color:#161311;border:1.8px solid #161311;box-shadow:2px 2px 0 #161311;border-radius:5px}.ts-header-subtitle{font-size:.82rem;color:#9ca3af;margin:.2rem 0 0 0}.light-theme .ts-header-subtitle{color:#4b5563}.ts-controls-bar{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;flex-shrink:0;background:rgba(20,20,28,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.6rem 1rem;border:2px solid rgba(255,255,255,.18);box-shadow:3px 3px 0 #161311;border-radius:10px;position:relative;z-index:100;isolation:isolate}.light-theme .ts-controls-bar{background:#fff;border-color:#161311}.ts-controls-right{display:flex;align-items:center;gap:.65rem}.ts-filter-tabs{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.ts-filter-btn{font-family:Outfit,sans-serif;font-size:.8rem;font-weight:700;padding:.38rem .9rem;background:0 0;color:#fff;border:1.8px solid rgba(255,255,255,.18);border-radius:6px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.light-theme .ts-filter-btn{color:#161311;border-color:rgba(22,19,17,.22);background:#f3f4f6}.ts-filter-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45);color:#fff}.light-theme .ts-filter-btn:hover{background:#fff;color:#161311;border-color:#161311;box-shadow:2px 2px 0 rgba(22,19,17,.12)}.light-theme .ts-filter-btn.active,.ts-filter-btn.active{background:#facc15!important;color:#161311!important;border-color:#161311!important;box-shadow:2.5px 2.5px 0 #161311!important}.ts-search-box{position:relative;display:flex;align-items:center}.ts-search-input{font-family:Inter,sans-serif;font-size:.8rem;padding:.4rem .85rem .4rem 2rem;background:rgba(0,0,0,.45);color:#fff;border:2px solid rgba(255,255,255,.28);border-radius:6px;outline:0;transition:border-color .25s ease,box-shadow .25s ease;width:190px}.light-theme .ts-search-input{background:#fff;color:#161311;border:2px solid #161311}.ts-search-input::placeholder{color:#aaa}.light-theme .ts-search-input::placeholder{color:#888}.ts-search-input:focus{border-color:#facc15!important;box-shadow:0 0 10px rgba(250,204,21,.4)}.light-theme .ts-search-input:focus{border-color:#161311!important;box-shadow:3px 3px 0 #161311!important}.ts-search-icon-svg{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#9ca3af;pointer-events:none;transition:color .25s ease}.light-theme .ts-search-icon-svg{color:#161311}.ts-search-box:focus-within .ts-search-icon-svg{color:#facc15}.light-theme .ts-search-box:focus-within .ts-search-icon-svg{color:#161311}.ts-3d-scene-container{width:100%;max-width:1200px;flex:1;position:relative;perspective:1000px;perspective-origin:50% 50%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px;border:1.5px solid rgba(255,255,255,.05)}.light-theme .ts-3d-scene-container{border-color:rgba(0,0,0,.06)}.ts-3d-cylinder-wall{width:100%;height:100%;position:relative}.ts-tech-card{width:190px;height:195px;background:rgba(22,19,32,.92);border:1.8px solid rgba(255,255,255,.16);border-radius:14px;padding:1.1rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 8px 24px rgba(0,0,0,.5),3px 3px 0 rgba(0,0,0,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:url('../Material_Stuff/Icons/All_Cursors/hand-pointer.svg') 10 2,pointer!important;transition:opacity .6s cubic-bezier(.25, 1, .5, 1),visibility .6s ease,transform .6s cubic-bezier(.25, 1, .5, 1),border-color .2s ease,box-shadow .2s ease;position:absolute;left:50%;top:50%;box-sizing:border-box}.light-theme .ts-tech-card{background:#fff;border:2px solid #161311;box-shadow:3px 3px 0 #161311}.ts-tech-card:hover{z-index:9999!important;border-color:rgba(0,203,214,.45)!important;box-shadow:0 4px 18px rgba(0,0,0,.4),3px 3px 0 rgba(0,0,0,.8)!important;background:rgba(28,24,42,.96)}.light-theme .ts-tech-card:hover{z-index:9999!important;background:#fff!important;border-color:#161311!important;box-shadow:3.5px 3.5px 0 #161311!important}.ts-tech-card.focused-in-sphere{opacity:0!important;pointer-events:none!important;visibility:hidden;transform:translate3d(-50%,-50%,-200px) scale(.2)!important;transition:opacity .65s cubic-bezier(.25, 1, .5, 1),transform .65s cubic-bezier(.25, 1, .5, 1),visibility .65s ease!important}.ts-tech-card.split-left{opacity:0!important;pointer-events:none!important;visibility:hidden;transform:translate3d(calc(-50% - 480px),-50%,-150px) rotateY(32deg) scale(.85)!important;transition:opacity .7s cubic-bezier(.25, 1, .5, 1),transform .7s cubic-bezier(.25, 1, .5, 1),visibility .7s ease!important}.ts-tech-card.split-right{opacity:0!important;pointer-events:none!important;visibility:hidden;transform:translate3d(calc(-50% + 480px),-50%,-150px) rotateY(-32deg) scale(.85)!important;transition:opacity .7s cubic-bezier(.25, 1, .5, 1),transform .7s cubic-bezier(.25, 1, .5, 1),visibility .7s ease!important}.ts-card-tape{position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(-2deg);width:48px;height:12px;background:#facc15;border:1.2px solid #161311;box-shadow:1.5px 1.5px 0 #161311;transition:transform .35s cubic-bezier(.25, 1, .5, 1),box-shadow .35s ease;z-index:2}.ts-tech-card:hover .ts-card-tape{transform:translateX(-50%) translateY(-1.5px) rotate(1deg);background:#facc15;box-shadow:2.5px 2.5px 0 #161311}.ts-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.ts-card-icon-box{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.08);border:1.2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#00cbd6}.light-theme .ts-card-icon-box{background:#f3f4f6;border-color:#161311;color:#161311}.ts-card-cat-badge{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .5rem;border-radius:4px;background:rgba(0,203,214,.15);color:#00cbd6;border:1px solid rgba(0,203,214,.3)}.light-theme .ts-card-cat-badge{background:#f0f9ff;color:#0e7490;border-color:#0e7490}.ts-card-title{font-family:Sora,sans-serif;font-size:.95rem;font-weight:800;color:#fff;line-height:1.2}.light-theme .ts-card-title{color:#161311}.ts-card-desc{font-family:Inter,sans-serif;font-size:.75rem;color:#9ca3af;line-height:1.45;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.light-theme .ts-card-desc{color:#4b5563}.ts-bg-sphere-beacon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(-350px) scale(.9);transform-origin:center center;box-sizing:border-box;width:240px;height:240px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.175, .885, .32, 1.275);background:radial-gradient(ellipse at center,rgba(0,203,214,.18) 0,rgba(0,203,214,.05) 55%,transparent 75%);border:1.5px solid rgba(0,203,214,.3);box-shadow:0 0 60px rgba(0,203,214,.25);z-index:1}.light-theme .ts-bg-sphere-beacon{background:radial-gradient(ellipse at center,rgba(250,204,21,.18) 0,rgba(0,203,214,.08) 55%,transparent 80%);border:1.5px dashed rgba(22,19,17,.22);box-shadow:0 0 45px rgba(250,204,21,.15)}.light-theme .ts-bg-sphere-beacon.has-selection{background:radial-gradient(ellipse at center,rgba(255,255,255,.96) 0,rgba(248,250,252,.9) 65%,transparent 88%);border:2px solid #161311;box-shadow:4px 4px 0 #161311}.ts-bg-sphere-beacon.active{opacity:1;pointer-events:none;transform:translate(-50%,-50%) translateZ(-350px);transform-origin:center center}.ts-bg-sphere-beacon.has-selection{pointer-events:all}.ts-sphere-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);transform-origin:center center;box-sizing:border-box;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .35s ease,transform .35s ease}.ring-1{width:270px;height:270px;border:1.8px solid rgba(0,203,214,.55);box-shadow:0 0 20px rgba(0,203,214,.3)}.ring-2{width:310px;height:310px;border:1.4px dashed rgba(0,203,214,.4)}.ring-3{width:350px;height:350px;border:1.2px solid rgba(250,204,21,.35);box-shadow:0 0 25px rgba(250,204,21,.15)}.light-theme .ring-1{border:1.5px solid rgba(22,19,17,.35);box-shadow:none}.light-theme .ring-2{border:1px dashed rgba(22,19,17,.3);box-shadow:none}.light-theme .ring-3{border:1px solid rgba(22,19,17,.25)}.ts-bg-sphere-beacon.has-selection:hover .ts-sphere-ring{opacity:1}.ts-bg-sphere-beacon.has-selection:hover .ring-1{animation:tsSphereRingPulse1 2.2s ease-in-out infinite}.ts-bg-sphere-beacon.has-selection:hover .ring-2{animation:tsSphereRingPulse2 2.2s ease-in-out .35s infinite}.ts-bg-sphere-beacon.has-selection:hover .ring-3{animation:tsSphereRingPulse3 2.2s ease-in-out .7s infinite}@keyframes tsSphereRingPulse1{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.05);opacity:.35}}@keyframes tsSphereRingPulse2{0%,100%{transform:translate(-50%,-50%) scale(.96) rotate(0);opacity:.75}50%{transform:translate(-50%,-50%) scale(1.06) rotate(180deg);opacity:.25}}@keyframes tsSphereRingPulse3{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.65}50%{transform:translate(-50%,-50%) scale(1.07);opacity:.2}}.ts-card-svg-icon{width:24px;height:24px;object-fit:contain;display:block}.ts-icon-mono{filter:invert(1)}.light-theme .ts-icon-mono{filter:invert(0)}.ts-sphere-icon-img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(0, 203, 214, .6))}.ts-sphere-icon-img.ts-icon-mono{filter:invert(1) drop-shadow(0 0 10px rgba(0, 203, 214, .6))}.light-theme .ts-sphere-icon-img.ts-icon-mono{filter:invert(0) drop-shadow(0 0 10px rgba(0, 203, 214, .6))}.ts-sphere-label{font-family:'JetBrains Mono',monospace;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.95);text-align:center;max-width:180px}.light-theme .ts-sphere-label{color:#161311!important;font-weight:800}.ts-title-with-icon{display:inline-flex;align-items:center;gap:.5rem}.ts-header-title-svg{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}.ts-sphere-inspect-btn{display:none;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.42rem .9rem;background:#facc15;color:#161311;border:2px solid #161311;border-radius:6px;box-shadow:2px 2px 0 #161311;cursor:pointer;margin-top:.35rem;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;pointer-events:all}.ts-bg-sphere-beacon.has-selection .ts-sphere-inspect-btn{display:inline-flex}.ts-sphere-inspect-btn .action-arrow{display:inline-block;transition:transform .25s cubic-bezier(.175, .885, .32, 1.275)}.ts-sphere-inspect-btn:hover{background:#fde047;color:#161311;transform:translate(-2px,-2px);box-shadow:4px 4px 0 #161311}.ts-sphere-inspect-btn:hover .action-arrow{transform:translateX(3px) rotate(-45deg)}.ts-sphere-inspect-btn:active{transform:translate(0,0);box-shadow:1.5px 1.5px 0 #161311}.ts-modal-backdrop{position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.ts-modal-backdrop.active{opacity:1;pointer-events:all}.ts-modal-card{background:rgba(14,14,17,.96);border:2px solid #161311;box-shadow:4px 4px 0 #161311,0 0 30px rgba(0,203,214,.15);border-radius:14px;padding:1.15rem 1.35rem;max-width:360px;width:90%;position:relative}.light-theme .ts-modal-card{background:#fff;box-shadow:4px 4px 0 #161311}.ts-modal-close-btn{position:absolute;top:.75rem;right:.85rem;background:0 0;border:none;font-size:1.3rem;color:#888;cursor:pointer;line-height:1}.ts-modal-close-btn:hover{color:#fff}.light-theme .ts-modal-close-btn:hover{color:#161311}.ts-modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.ts-modal-icon-lg{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.07);border:1.8px solid #161311;box-shadow:2px 2px 0 #161311;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#00cbd6;flex-shrink:0}.light-theme .ts-modal-icon-lg{background:#f3f4f6;color:#161311}.ts-modal-title-group h3{font-family:Sora,sans-serif;font-size:1.05rem;font-weight:800;color:#fff;margin:0}.light-theme .ts-modal-title-group h3{color:#161311}.ts-modal-tag-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.85rem}.ts-modal-tag{font-family:'JetBrains Mono',monospace;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .5rem;border-radius:4px;background:rgba(0,203,214,.15);color:#00cbd6;border:1px solid rgba(0,203,214,.3)}.light-theme .ts-modal-tag{background:#f0f9ff;color:#0e7490;border-color:#0e7490}.ts-modal-desc-p{font-size:.85rem;color:#9ca3af;line-height:1.6;margin:0}.light-theme .ts-modal-desc-p{color:#4b5563}.ts-modal-proj-icon{width:16px;height:16px;margin-right:.55rem;vertical-align:middle;display:inline-block;flex-shrink:0;filter:invert(1)}.light-theme .ts-modal-proj-icon{filter:invert(0)}.ts-modal-projects-title{color:#e5e7eb}.light-theme .ts-modal-projects-title{color:#6b7280}.ts-modal-proj-link{color:#ccd2d8;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.45rem;transition:color .2s ease}.ts-modal-proj-link i{font-size:.72rem;transition:transform .2s ease}.ts-modal-proj-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.ts-modal-proj-link:hover i{transform:translateX(3px)}.light-theme .ts-modal-proj-link{color:#3f3f46}.light-theme .ts-modal-proj-link:hover{color:#161311;text-decoration:underline;text-underline-offset:3px}@media (max-width:1024px){.ts-main-wrapper{padding:.65rem 1rem .85rem}.ts-top-bar{margin-bottom:.5rem}.ts-header-title{font-size:1.4rem}}@media (max-width:850px){.ts-controls-bar{flex-direction:column;align-items:stretch;gap:.6rem;padding:.55rem .85rem}.ts-filter-tabs{display:flex;align-items:center;gap:.45rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding-bottom:2px;scrollbar-width:none}.ts-filter-tabs::-webkit-scrollbar{display:none}.ts-filter-btn{flex-shrink:0;white-space:nowrap;padding:.32rem .75rem;font-size:.76rem}.ts-controls-right{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.ts-reshuffle-btn{flex-shrink:0;padding:.35rem .75rem;font-size:.76rem}.ts-search-box{flex:1;width:100%}.ts-search-input{width:100%;font-size:.78rem}}@media (max-width:680px){.ts-standalone-topbar{height:52px;padding:.5rem 1rem}.ts-main-wrapper{height:calc(100vh - 52px);height:calc(100dvh - 52px);margin-top:52px;padding:.5rem .75rem .65rem}.ts-top-bar{align-items:center;margin-bottom:.45rem}.ts-header-title{font-size:1.15rem;gap:.45rem}.ts-header-title-svg{width:20px;height:20px}.ts-header-badge{font-size:.6rem;padding:.15rem .4rem}.ts-back-btn{padding:.25rem .6rem;font-size:.72rem}.ts-bg-sphere-beacon{width:180px;height:180px}.ring-1{width:200px;height:200px}.ring-2{width:225px;height:225px}.ring-3{width:250px;height:250px}.ts-sphere-icon-img{width:38px;height:38px}.ts-sphere-label{font-size:.68rem;max-width:140px}.ts-sphere-inspect-btn{font-size:.65rem;padding:.35rem .7rem}}@media (max-width:480px){.ts-standalone-topbar{height:48px;padding:.4rem .75rem}.ts-main-wrapper{height:calc(100vh - 48px);height:calc(100dvh - 48px);margin-top:48px;padding:.4rem .5rem .5rem}.ts-top-bar{flex-wrap:wrap;gap:.35rem}.ts-header-title{font-size:1.05rem}.ts-header-badge{display:none}.ts-back-btn{padding:.22rem .5rem;font-size:.68rem}.ts-controls-bar{padding:.45rem .65rem;gap:.45rem;margin-bottom:.5rem}.ts-filter-btn{padding:.28rem .6rem;font-size:.72rem}.ts-reshuffle-btn{padding:.3rem .55rem;font-size:.72rem}.ts-search-input{padding:.32rem .6rem .32rem 1.75rem;font-size:.72rem}.ts-bg-sphere-beacon{width:150px;height:150px}.ring-1{width:165px;height:165px}.ring-2{width:185px;height:185px}.ring-3{width:205px;height:205px}.ts-sphere-icon-img{width:32px;height:32px}.ts-sphere-label{font-size:.62rem;max-width:115px}.ts-sphere-inspect-btn{font-size:.6rem;padding:.28rem .55rem}.ts-modal-card{width:94%;max-width:340px;padding:1rem 1.1rem;max-height:82vh;overflow-y:auto}.ts-modal-title-group h3{font-size:.95rem}.ts-modal-desc-p{font-size:.78rem}}@media (max-height:620px){.ts-main-wrapper{padding-top:.35rem;padding-bottom:.35rem}.ts-top-bar{margin-bottom:.35rem}.ts-controls-bar{margin-bottom:.4rem;padding:.35rem .75rem}.ts-bg-sphere-beacon{width:140px;height:140px}.ring-1{width:155px;height:155px}.ring-2{width:175px;height:175px}.ring-3{width:195px;height:195px}}@media (pointer:coarse),(hover:none){body.is-touch-device,body.tech-stack-page,html,html.is-touch-device{height:auto!important;min-height:100vh!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.ts-main-wrapper,body.is-touch-device .ts-main-wrapper,html.is-touch-device .ts-main-wrapper{height:auto!important;min-height:calc(100vh - 52px)!important;min-height:calc(100dvh - 52px)!important;overflow:visible!important;padding-bottom:2rem}.ts-3d-scene-container{min-height:380px;height:60vh;display:flex!important;align-items:center!important;justify-content:center!important}.ts-bg-sphere-beacon{top:50%!important;left:50%!important;transform:translate(-50%,-50%) translateZ(0) scale(.9)!important;transform-origin:center center!important}.ts-bg-sphere-beacon.active{top:50%!important;left:50%!important;transform:translate(-50%,-50%) translateZ(0)!important;transform-origin:center center!important}.ts-sphere-ring{top:50%!important;left:50%!important;transform-origin:center center!important;box-sizing:border-box!important}}