@import"https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Lora:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=JetBrains+Mono:wght@400;500;600&display=swap";/*!
* Photo Sphere Viewer 5.14.1
* @copyright 2014-2015 Jérémy Heleine
* @copyright 2015-2026 Damien "Mistic" Sorel
* @licence MIT (https://opensource.org/licenses/MIT)
*/.psv-container{--psv-core-loaded: true;container-name:psv-container;container-type:size;width:100%;height:100%;margin:0;padding:0;position:relative;background:radial-gradient(#fff,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf);overflow:hidden}.psv-container *{box-sizing:content-box}.psv-canvas-container{position:absolute;top:0;left:0;z-index:0;transition:opacity linear .1s}.psv-fullscreen-emulation{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:9999}.psv-loader-container{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80}.psv-loader{--psv-loader-border: 3px;--psv-loader-tickness: 10px;position:relative;display:flex;justify-content:center;align-items:center;color:#ffffffb3;width:150px;height:150px}.psv-loader-canvas{position:absolute;top:0;left:0;width:100%;height:100%;color:#3d3d3d80;z-index:-1}.psv-loader-text{font:600 16px sans-serif;text-align:center}.psv-loader--undefined .psv-loader-canvas{animation:psv-loader 2s cubic-bezier(.75,.25,.25,.75) infinite}@keyframes psv-loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.psv-navbar{display:flex;position:absolute;z-index:90;bottom:-40px;left:0;width:100%;height:40px;background:#3d3d3d80;transition:bottom ease-in-out .1s;font:16px sans-serif;cursor:default}.psv-navbar--open{bottom:0}.psv-navbar,.psv-navbar *{box-sizing:content-box}.psv-button{flex:0 0 auto;padding:10px;position:relative;cursor:pointer;height:20px;width:20px;background:transparent;color:#ffffffb3}.psv-button--active{background:#fff3}.psv-button--disabled{pointer-events:none;opacity:.5}.psv-button-svg{width:100%;transform:scale(1);transition:transform .2s ease;vertical-align:initial}.psv-button:not(.psv-button--disabled):focus-visible{outline:2px solid #007cff;outline-offset:-2px}.psv-container:not(.psv--is-touch) .psv-button--hover-scale:not(.psv-button--disabled):hover .psv-button-svg{transform:scale(1.2)}.psv-move-button+.psv-move-button{margin-left:-10px}.psv-download-button{color:#ffffffb3!important;text-decoration:none!important}.psv-download-button:before,.psv-download-button:after{display:none!important}.psv-custom-button{width:auto;min-width:20px}.psv-custom-button--no-padding{padding:0;height:100%}.psv-caption{flex:1 1 100%;color:#ffffffb3;overflow:hidden;text-align:center;cursor:unset;padding:unset;height:unset;width:unset}.psv-caption-content{display:inline-block;padding:10px;white-space:nowrap}.psv-zoom-range.psv-button{width:80px;height:1px;margin:10px 0;padding:9.5px 0;max-width:600px}.psv-zoom-range-line{position:relative;width:80px;height:1px;background:#ffffffb3;transition:all .3s ease}.psv-zoom-range-handle{position:absolute;border-radius:50%;top:-3px;width:7px;height:7px;background:#ffffffb3;transform:scale(1);transition:transform .3s ease}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-line{box-shadow:0 0 2px #ffffffb3}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-handle{transform:scale(1.3)}.psv-notification{position:absolute;z-index:100;bottom:-40px;display:flex;justify-content:center;box-sizing:border-box;width:100%;padding:0 2em;opacity:0;transition-property:opacity,bottom;transition-timing-function:ease-in-out;transition-duration:.2s}.psv-notification-content{max-width:50em;background:#3d3d3dcc;border-radius:4px;padding:.5em 1em;font:14px sans-serif;color:#fff}.psv-notification--visible{opacity:100;bottom:80px}.psv-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;z-index:110;top:0;right:0;bottom:0;left:0;background:radial-gradient(#fff,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf);opacity:.8;cursor:default}.psv-overlay-image{width:100%;text-align:center;color:#303030}.psv-overlay-image svg{width:50%}@container psv-container (orientation: landscape){.psv-overlay-image svg{width:33%}}.psv-overlay-title{color:#000;margin-top:1em;font:30px sans-serif;text-align:center}.psv-overlay-text{color:#000c;font:20px sans-serif;opacity:.8;text-align:center}.psv-panel{position:absolute;z-index:90;right:0;height:100%;width:400px;max-width:calc(100% - 9px);background:#0a0a0ab3;transform:translate3d(100%,0,0);opacity:0;transition-property:opacity,transform;transition-timing-function:ease-in-out;transition-duration:.1s;cursor:default;margin-left:9px}.psv--has-navbar .psv-panel{height:calc(100% - 40px)}.psv-panel-close-button{display:none;position:absolute;top:-1px;right:0;width:19.2px;height:19.2px;padding:6.4px;background:transparent;color:#fff;transition:background .3s ease-in-out;cursor:pointer}.psv-panel-close-button svg{transition:transform .3s ease-in-out}.psv-panel-close-button:hover{background:#000000e6}.psv-panel-close-button:hover svg{transform:scale(-1)}.psv-panel-resizer{display:none;position:absolute;top:0;left:-9px;width:9px;height:100%;background-color:#000000e6;cursor:col-resize}.psv-panel-resizer:before{content:"";position:absolute;top:50%;left:5.5px;margin-top:-14.5px;width:1px;height:1px;box-shadow:1px 0 #fff,3px 0 #fff,5px 0 #fff,1px 2px #fff,3px 2px #fff,5px 2px #fff,1px 4px #fff,3px 4px #fff,5px 4px #fff,1px 6px #fff,3px 6px #fff,5px 6px #fff,1px 8px #fff,3px 8px #fff,5px 8px #fff,1px 10px #fff,3px 10px #fff,5px 10px #fff,1px 12px #fff,3px 12px #fff,5px 12px #fff,1px 14px #fff,3px 14px #fff,5px 14px #fff,1px 16px #fff,3px 16px #fff,5px 16px #fff,1px 18px #fff,3px 18px #fff,5px 18px #fff,1px 20px #fff,3px 20px #fff,5px 20px #fff,1px 22px #fff,3px 22px #fff,5px 22px #fff,1px 24px #fff,3px 24px #fff,5px 24px #fff,1px 26px #fff,3px 26px #fff,5px 26px #fff,1px 28px #fff,3px 28px #fff,5px 28px #fff;background:transparent}.psv-panel-content{width:100%;height:100%;box-sizing:border-box;color:#dcdcdc;font:16px sans-serif;overflow:auto}.psv-panel-content:not(.psv-panel-content--no-margin){padding:1em}.psv-panel-content--no-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.psv-panel--open{transform:translateZ(0);opacity:1;transition-duration:.2s}.psv-panel--open .psv-panel-close-button,.psv-panel--open .psv-panel-resizer{display:block}@container psv-container (max-width: 400px){.psv-panel{width:100%!important;max-width:none}.psv-panel-resizer{display:none!important}}.psv-panel-menu{height:100%;display:flex;flex-direction:column}.psv-panel-menu-title{flex:none;display:flex;align-items:center;font:24px sans-serif;margin:24px 12px}.psv-panel-menu-title svg{width:24px;height:24px;margin-right:12px}.psv-panel-menu-list{flex:1;list-style:none;margin:0;padding:0;overflow-x:hidden}.psv-panel-menu-item{min-height:1.5em;padding:.5em 1em;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;transition:background .1s ease-in-out}.psv-panel-menu-item--active{outline:1px solid currentcolor;outline-offset:-1px}.psv-panel-menu-item-icon{flex:none;height:1.5em;width:1.5em;margin-right:.5em}.psv-panel-menu-item-icon img{max-width:100%;max-height:100%}.psv-panel-menu-item-icon svg{width:100%;height:100%}.psv-panel-menu-item:focus-visible{outline:2px solid #007cff;outline-offset:-2px}.psv-panel-menu--stripped .psv-panel-menu-item:hover{background:#fff3}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd):before{background:#ffffff1a}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n):before{background:transparent}.psv-container:not(.psv--is-touch) .psv-panel-menu-item:hover{background:#fff3}.psv-tooltip{position:absolute;z-index:50;box-sizing:border-box;max-width:200px;background:#3d3d3dcc;border-radius:4px;opacity:0;transition-property:opacity,transform;transition-timing-function:ease-in-out;transition-duration:.1s;cursor:default}.psv-tooltip-content{color:#fff;font:14px sans-serif;text-shadow:0 1px #000;padding:.5em 1em}.psv-tooltip-arrow{position:absolute;height:0;width:0;border:7px solid transparent}.psv-tooltip--top-left,.psv-tooltip--top-center,.psv-tooltip--top-right{transform:translate3d(0,5px,0)}.psv-tooltip--top-left .psv-tooltip-arrow,.psv-tooltip--top-center .psv-tooltip-arrow,.psv-tooltip--top-right .psv-tooltip-arrow{border-top-color:#3d3d3dcc}.psv-tooltip--bottom-left,.psv-tooltip--bottom-center,.psv-tooltip--bottom-right{transform:translate3d(0,-5px,0)}.psv-tooltip--bottom-left .psv-tooltip-arrow,.psv-tooltip--bottom-center .psv-tooltip-arrow,.psv-tooltip--bottom-right .psv-tooltip-arrow{border-bottom-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--center-left,.psv-tooltip--left-bottom{transform:translate3d(5px,0,0)}.psv-tooltip--left-top .psv-tooltip-arrow,.psv-tooltip--center-left .psv-tooltip-arrow,.psv-tooltip--left-bottom .psv-tooltip-arrow{border-left-color:#3d3d3dcc}.psv-tooltip--right-top,.psv-tooltip--center-right,.psv-tooltip--right-bottom{transform:translate3d(-5px,0,0)}.psv-tooltip--right-top .psv-tooltip-arrow,.psv-tooltip--center-right .psv-tooltip-arrow,.psv-tooltip--right-bottom .psv-tooltip-arrow{border-right-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--top-left{box-shadow:-3px -3px #5a5a5ab3}.psv-tooltip--top-center{box-shadow:0 -3px #5a5a5ab3}.psv-tooltip--right-top,.psv-tooltip--top-right{box-shadow:3px -3px #5a5a5ab3}.psv-tooltip--left-bottom,.psv-tooltip--bottom-left{box-shadow:-3px 3px #5a5a5ab3}.psv-tooltip--bottom-center{box-shadow:0 3px #5a5a5ab3}.psv-tooltip--right-bottom,.psv-tooltip--bottom-right{box-shadow:3px 3px #5a5a5ab3}.psv-tooltip--center-left{box-shadow:-3px 0 #5a5a5ab3}.psv-tooltip--center-right{box-shadow:3px 0 #5a5a5ab3}.psv-tooltip--visible{transform:translateZ(0);opacity:1}/*!
* Photo Sphere Viewer / Markers Plugin 5.14.1
* @copyright 2015-2026 Damien "Mistic" Sorel
* @licence MIT (https://opensource.org/licenses/MIT)
*/.psv-container{--psv-markers-plugin-loaded: true}.psv-markers{pointer-events:none;position:absolute;z-index:10;width:100%;height:100%}.psv-markers-svg-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20}.psv-markers-css3d-container{position:absolute;z-index:21}.psv-marker{display:none;pointer-events:auto}.psv-marker--normal{position:absolute;top:0;left:0;z-index:30;overflow:visible;background-size:contain;background-repeat:no-repeat}.psv-marker--css3d{display:block}.psv-marker--transparent{display:block;opacity:0}.psv-marker--visible{display:block}.psv-marker--has-tooltip,.psv-marker--has-content{cursor:pointer}.pdf-page{--pdf-bg: #faf9f5;--pdf-surface: #ffffff;--pdf-ink: #141413;--pdf-muted: #b0aea5;--pdf-rule: #e8e6dc;--pdf-accent: #d97757;--pdf-accent-soft: rgba(217, 119, 87, .12);--pdf-font-display: "Poppins", Arial, sans-serif;--pdf-font-body: "Lora", Georgia, serif;--pdf-s1: 4px;--pdf-s2: 8px;--pdf-s3: 12px;--pdf-s4: 16px;--pdf-s5: 24px;--pdf-s6: 40px;background:var(--pdf-bg);color:var(--pdf-ink);font-family:var(--pdf-font-body);font-size:15px;line-height:1.5;min-height:100vh}.pdf-page h1,.pdf-page h2,.pdf-page h3{font-family:var(--pdf-font-display);font-weight:600;letter-spacing:-.01em;color:var(--pdf-ink);margin:0}.pdf-page h1{font-size:32px}.pdf-page h2{font-size:22px}.pdf-shell{max-width:880px;margin:0 auto;padding:var(--pdf-s6) var(--pdf-s5)}.pdf-bar{display:flex;align-items:center;gap:var(--pdf-s3);background:var(--pdf-ink);color:var(--pdf-bg);padding:var(--pdf-s3) var(--pdf-s4);font-family:var(--pdf-font-body)}.pdf-bar a{color:var(--pdf-bg);text-decoration:none;opacity:.8}.pdf-bar a:hover{opacity:1}.pdf-bar__title{flex:1;font-family:var(--pdf-font-display);font-weight:500;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-bar__pages{font-variant-numeric:tabular-nums;font-size:13px;color:var(--pdf-muted)}.pdf-btn{font-family:var(--pdf-font-body);font-size:14px;padding:8px 16px;border:1px solid var(--pdf-ink);background:transparent;color:var(--pdf-ink);cursor:pointer;transition:background .12s ease,color .12s ease,opacity .12s ease;border-radius:0}.pdf-btn:hover{background:var(--pdf-ink);color:var(--pdf-bg)}.pdf-btn:disabled{opacity:.4;cursor:not-allowed}.pdf-btn--primary{background:var(--pdf-accent);border-color:var(--pdf-accent);color:#fff}.pdf-btn--primary:hover{background:#c46647;border-color:#c46647;color:#fff}.pdf-btn--ghost{border:none;padding:6px 10px;background:transparent;color:inherit;font-family:var(--pdf-font-body)}.pdf-btn--ghost:hover{background:var(--pdf-accent-soft);color:var(--pdf-accent)}.pdf-bar .pdf-btn{border-color:var(--pdf-bg);color:var(--pdf-bg)}.pdf-bar .pdf-btn:hover{background:var(--pdf-bg);color:var(--pdf-ink)}.pdf-card-list{list-style:none;margin:0;padding:0}.pdf-card{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:var(--pdf-s4);padding:var(--pdf-s4) 0;border-bottom:1px solid var(--pdf-rule)}.pdf-card__title{font-family:var(--pdf-font-display);font-weight:500;font-size:16px;color:var(--pdf-ink);text-decoration:none}.pdf-card__title:hover{color:var(--pdf-accent)}.pdf-card__meta{color:var(--pdf-muted);font-size:13px;font-variant-numeric:tabular-nums}.pdf-input{font-family:var(--pdf-font-body);font-size:14px;padding:6px 10px;border:1px solid var(--pdf-rule);background:var(--pdf-surface);color:var(--pdf-ink);border-radius:0;outline:none;transition:border-color .12s ease}.pdf-input:focus{border-color:var(--pdf-ink)}.pdf-bar .pdf-input{background:#faf9f514;color:var(--pdf-bg);border-color:#faf9f540;width:200px}.pdf-bar .pdf-input::placeholder{color:#faf9f580}.pdf-bar .pdf-input:focus{border-color:var(--pdf-bg);background:#faf9f524}.pdf-error{color:#b34a2a;font-family:var(--pdf-font-body)}.pdf-empty{color:var(--pdf-muted);font-family:var(--pdf-font-body);padding:var(--pdf-s5) 0}.pdf-eyebrow{font-family:var(--pdf-font-display);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--pdf-muted)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0c12;--bg-secondary: #11131a;--bg-tertiary: #1a1d26;--bg-elevated: #222630;--bg-glass: rgba(10, 12, 18, .82);--bg-glass-hover: rgba(16, 18, 26, .9);--text-primary: #f0f2f5;--text-secondary: #8892a4;--text-muted: #5c6478;--accent: #3b8bff;--accent-hover: #5da3ff;--accent-dim: rgba(59, 139, 255, .12);--accent-glow: rgba(59, 139, 255, .25);--accent-warm: #ff7b2e;--accent-warm-dim: rgba(255, 123, 46, .12);--danger: #ff4a5e;--success: #2dd4a0;--warning: #ffb020;--border: rgba(255, 255, 255, .06);--border-light: rgba(255, 255, 255, .1);--border-accent: rgba(59, 139, 255, .3);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(59, 139, 255, .15);--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 100px;--glass-blur: blur(20px) saturate(1.3);--glass-border: 1px solid rgba(255, 255, 255, .08)}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;border-radius:var(--radius);padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.01em}button:active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 4px #3b8bff4d,inset 0 1px #ffffff1a}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px #3b8bff59,inset 0 1px #ffffff26;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-elevated);border-color:#ffffff26}.btn-icon{background:transparent;color:var(--text-secondary);padding:6px 10px;border-radius:var(--radius);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.btn-icon:hover{background:#ffffff0f;color:var(--text-primary)}.btn-icon.active{background:var(--accent-dim);color:var(--accent)}.btn-glass{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);color:var(--text-primary);padding:8px 14px;border-radius:var(--radius-lg)}.btn-glass:hover{background:var(--bg-glass-hover);border-color:#ffffff1f}input,select{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 14px;font-family:DM Sans,sans-serif;font-size:13px;outline:none;transition:all .2s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim),var(--shadow-glow)}input::placeholder{color:var(--text-muted)}input[type=range]{-webkit-appearance:none;background:transparent;padding:0;border:none;height:16px}input[type=range]::-webkit-slider-track{height:3px;background:#ffffff1a;border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-primary);margin-top:-4.5px;cursor:pointer;box-shadow:0 0 6px #3b8bff66;transition:transform .15s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}input[type=range].warm::-webkit-slider-thumb{background:var(--accent-warm);box-shadow:0 0 6px #ff7b2e66}.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:var(--radius-pill);gap:4px}.badge:before{content:"";width:5px;height:5px;border-radius:50%}.badge-ready{background:#2dd4a01a;color:var(--success)}.badge-ready:before{background:var(--success)}.badge-processing{background:#ffb0201a;color:var(--warning)}.badge-processing:before{background:var(--warning);animation:pulse 1.5s ease infinite}.badge-error{background:#ff4a5e1a;color:var(--danger)}.badge-error:before{background:var(--danger)}.badge-created{background:#8c92a41a;color:var(--text-secondary)}.badge-created:before{background:var(--text-secondary)}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.measure-cursor{cursor:crosshair!important}.measure-cursor canvas{cursor:crosshair!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glow-pulse{0%,to{box-shadow:0 0 12px #f4a3,inset 0 1px #ffffff14}50%{box-shadow:0 0 20px #f4a6,0 0 40px #ff44aa1a,inset 0 1px #ffffff14}}@keyframes slideInUpFade{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes loadingBar{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.loading-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;overflow:hidden}.loading-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-hover),transparent);animation:loadingBar 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-elevated) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius)}.mono{font-family:JetBrains Mono,monospace;font-size:.9em;letter-spacing:-.02em}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);padding:5px 10px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;border:1px solid var(--border-light);box-shadow:var(--shadow)}.tooltip:hover:after{opacity:1}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
