.info-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1002;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.info-panel{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:600px;max-height:80vh;overflow:hidden;margin:20px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.info-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.info-panel-header h2{margin:0;font-size:1.5em;font-weight:600}.close-button{background:#fff3;border:none;color:#fff;font-size:24px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.close-button:hover{background:#ffffff4d;transform:scale(1.1)}.info-panel-content{padding:24px;overflow-y:auto;max-height:60vh}.info-section{margin-bottom:24px}.info-section:last-child{margin-bottom:0}.info-section h3{margin:0 0 12px;color:#333;font-size:1.2em;font-weight:600}.info-section p{margin:0 0 12px;line-height:1.6;color:#666}.info-section ul{margin:0;padding-left:20px;color:#666;line-height:1.6}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.control-item{padding:12px;background:#f8f9fa;border-radius:8px;border-left:4px solid var(--react-primary);font-size:.9em;color:var(--react-primary)}.control-item strong{color:var(--react-primary)}.info-panel-footer{padding:20px 24px;border-top:1px solid #eee;background:#f8f9fa;text-align:center}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;font-size:1em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:150px}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}@media (max-width: 768px){.info-panel{margin:10px;max-height:90vh}.info-panel-header{padding:16px 20px}.info-panel-content{padding:20px}.controls-grid{grid-template-columns:1fr}}.tour-controls{position:fixed;top:50%;right:20px;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;z-index:1001}.controls-group{display:flex;flex-direction:column;gap:8px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px;border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 16px #00000026}.control-btn{width:48px;height:48px;border-radius:50%;border:none;background:#fff;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .3s ease;position:relative}.control-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003;background:var(--react-primary)}.control-btn:hover:after{content:attr(title);position:absolute;right:56px;top:50%;transform:translateY(-50%);background:#000c;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:1003}.control-btn.active{background:var(--react-primary);color:#fff}.view-indicator{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:8px 12px;border:1px solid rgba(0,0,0,.1);text-align:center}.view-label{font-size:.8em;color:#666;font-weight:500}@media (max-width: 768px){.tour-controls{top:auto;bottom:80px;transform:none;flex-direction:row;justify-content:center;left:50%;right:auto;transform:translate(-50%)}.controls-group{flex-direction:row;padding:8px 12px}.control-btn{width:44px;height:44px;font-size:16px}.control-btn:hover:after{display:none}.view-indicator{display:none}}.react-ui-top-left{position:absolute;top:20px;left:20px;z-index:1001}.react-info-button{display:flex;align-items:center;gap:8px;min-width:120px;justify-content:center}.loading-bar-container{position:fixed;bottom:0;left:0;right:0;z-index:1001;background:var(--react-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--react-border);padding:16px 20px;animation:slideInFromBottom .5s ease-out;transition:opacity .5s ease,transform .5s ease}.loading-bar-container.fade-out{opacity:0;transform:translateY(20px)}.loading-bar-wrapper{max-width:600px;margin:0 auto}.loading-bar-label{font-size:.9em;color:var(--react-text);margin-bottom:8px;font-weight:500;text-align:center}.loading-bar-track{height:8px;background:#0000001a;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.loading-bar-fill{height:100%;background:linear-gradient(90deg,var(--react-primary),var(--react-primary-hover));border-radius:4px;transition:width .3s ease,background .5s ease;position:relative;overflow:hidden}.loading-bar-fill.completed{background:linear-gradient(90deg,#27ae60,#2ecc71)}.loading-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.5s infinite}.loading-bar-percentage{font-size:.8em;color:var(--react-text);text-align:center;font-weight:600}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.loading-bar-container{padding:12px 16px}.loading-bar-label{font-size:.85em;margin-bottom:6px}.loading-bar-track{height:6px;margin-bottom:6px}.loading-bar-percentage{font-size:.75em}}:root{--react-primary: #646cff;--react-primary-hover: #535bf2;--react-bg: rgba(255, 255, 255, .95);--react-text: #213547;--react-border: rgba(0, 0, 0, .1);--react-shadow: rgba(0, 0, 0, .2)}*{box-sizing:border-box}.react-overlay{pointer-events:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.react-overlay>*{pointer-events:auto}button{font-family:inherit;font-size:.9em;font-weight:500;color:var(--react-text);background-color:var(--react-bg);border:1px solid var(--react-border);border-radius:8px;padding:.6em 1.2em;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}button:hover{background-color:var(--react-primary);color:#fff;box-shadow:0 4px 8px var(--react-shadow);transform:translateY(-1px)}button:active{transform:translateY(0)}
