.bottom-nav{position:fixed;bottom:calc(var(--shell-safe-bottom, env(safe-area-inset-bottom, 0px)) + 12px);left:12px;right:12px;height:64px;background-color:var(--background-color-card, #fff);border:1px solid var(--border-color-light, #e2e8f0);border-radius:22px;display:flex;align-items:center;box-shadow:0 8px 28px #0f172a24;z-index:1500;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:0 6px;scroll-snap-type:x proximity}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav{-ms-overflow-style:none;scrollbar-width:none}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 calc((100vw - 36px)/5);max-width:80px;min-width:56px;height:52px;gap:3px;color:var(--text-color-secondary, #64748b);text-decoration:none;font-size:10px;padding:4px 2px;border-radius:14px;transition:background-color .2s ease,color .2s ease,transform .15s ease;box-sizing:border-box;scroll-snap-align:start;-webkit-tap-highlight-color:transparent}.bottom-nav-item i{font-size:19px;line-height:1}.bottom-nav-item span{line-height:1;font-size:9.5px;letter-spacing:.01em;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.bottom-nav-item.active{background-color:var(--primary-color, #10b981);color:#fff;box-shadow:0 3px 10px #10b9814d}.bottom-nav-item.active i{transform:scale(1.08)}.bottom-nav-item:focus-visible{outline:none;box-shadow:0 0 0 2px #3b82f659}.bottom-nav-item:active{transform:scale(.93)}@media (min-width: 769px){.bottom-nav{display:none}}.more-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a73;z-index:1600;display:none}.more-menu-panel{position:fixed;bottom:-100%;left:0;right:0;max-height:70vh;background-color:var(--background-color-card, #fff);border-top-left-radius:18px;border-top-right-radius:18px;padding:20px 16px 28px;box-shadow:0 -12px 30px #0f172a2e;z-index:1700;transition:bottom .3s ease-in-out;overflow-y:auto}.more-menu-overlay.active{display:block}.more-menu-overlay.active .more-menu-panel{bottom:0}.more-menu-header{font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}#immersive-toggle-btn{display:none;position:fixed;right:10px;bottom:calc(var(--shell-safe-bottom, env(safe-area-inset-bottom, 0px)) + 86px);z-index:1501;width:28px;height:28px;border-radius:50%;border:none;background-color:var(--primary-color, #10b981);color:#fff;font-size:10px;cursor:pointer;opacity:.4;transition:opacity .2s,bottom .35s cubic-bezier(.4,0,.2,1),background-color .2s;align-items:center;justify-content:center;padding:0;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:0 2px 8px #00000026}#immersive-toggle-btn:hover,#immersive-toggle-btn:focus-visible{opacity:.85}#immersive-toggle-btn i{font-size:10px}@media (max-width: 768px){#immersive-toggle-btn{display:flex}}body.immersive-mode .top-bar{height:0!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;border-bottom-width:0!important;overflow:hidden;opacity:0}body.immersive-mode .bottom-nav{transform:translateY(calc(100% + 20px));opacity:0;pointer-events:none}body.immersive-mode #immersive-toggle-btn{bottom:calc(var(--shell-safe-bottom, env(safe-area-inset-bottom, 0px)) + 8px);opacity:.3;background-color:var(--text-color-secondary, #64748b)}body.immersive-mode #immersive-toggle-btn:hover,body.immersive-mode #immersive-toggle-btn:focus-visible{opacity:.7}@media (max-width: 768px){body.immersive-mode .main-content-wrapper #app-content{padding-bottom:20px}}.top-bar{transition:height .35s cubic-bezier(.4,0,.2,1),opacity .2s ease,padding .35s ease,border-bottom-width .2s ease}.bottom-nav{transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}#guide-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:none;justify-content:center;align-items:center;z-index:1050;animation:fadeIn .3s ease-out}#guide-modal-overlay.active{display:flex}#guide-modal-content{background-color:var(--background-color-card, #ffffff);color:var(--text-color, #333);padding:25px;border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 25px rgba(0,0,0,.1));width:92%;max-width:920px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.dark #guide-modal-content{background-color:var(--background-color-card, #2d3748);color:var(--text-color, #f7fafc)}#guide-modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color-light, #e2e8f0);padding-bottom:15px;margin-bottom:15px}.dark #guide-modal-content .modal-header{border-bottom-color:var(--border-color-dark, #4a5568)}#guide-modal-content .modal-header h3{margin:0;font-size:1.3em;font-weight:600;display:flex;align-items:center;gap:10px;color:var(--primary-color, #8b5cf6)}#guide-modal-content .close-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text-color-secondary, #718096);line-height:1;padding:0 5px;transition:color .2s}#guide-modal-content .close-btn:hover{color:var(--text-color, #333)}.dark #guide-modal-content .close-btn:hover{color:var(--text-color, #f7fafc)}#guide-modal-body{overflow-y:auto;padding-right:15px;line-height:1.6}#guide-modal-body h2{font-size:1.5rem;color:var(--primary-color, #8b5cf6);border-bottom:2px solid var(--primary-color-light, #ddd);padding-bottom:8px;margin-top:20px;margin-bottom:15px}#guide-modal-body h3{font-size:1.2rem;margin-top:25px;margin-bottom:10px;color:var(--text-color-strong, #1a202c)}.dark #guide-modal-body h3{color:var(--text-color-strong, #edf2f7)}#guide-modal-body p{margin-bottom:12px}#guide-modal-body ul{padding-left:20px;margin-bottom:15px}#guide-modal-body li{margin-bottom:8px}#guide-modal-body strong{font-weight:600;color:var(--text-color-strong, #2d3748)}.dark #guide-modal-body strong{color:var(--text-color-strong, #e2e8f0)}#guide-modal-body code{background-color:var(--background-color-code, #edf2f7);padding:2px 6px;border-radius:4px;font-family:Courier New,Courier,monospace}.dark #guide-modal-body code{background-color:var(--background-color-code, #2d3748)}.highlighted-module{background-color:var(--primary-color-light, #f0eaff);border-left:4px solid var(--primary-color, #8b5cf6);padding:15px;border-radius:8px;margin:10px -15px;transition:background-color .3s ease-in-out}.dark .highlighted-module{background-color:#8b5cf626}#guide-modal-body .spinner{width:40px;height:40px;border:4px solid var(--border-color-light, #f3f3f3);border-top:4px solid var(--primary-color, #8b5cf6);border-radius:50%;animation:spin 1s linear infinite;margin:50px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){#guide-modal-content{width:96%;max-height:85vh;padding:20px}#guide-modal-body{padding-right:10px}}.badge-row{display:flex;gap:8px;margin:10px 0 14px;flex-wrap:wrap}.badge{border:1px solid var(--primary-color, #8b5cf6);color:var(--primary-color, #8b5cf6);padding:2px 10px;border-radius:999px;font-size:12px;line-height:20px;display:inline-block;background:#8b5cf60d}.badge.solid{background:var(--primary-color, #8b5cf6);color:#fff;border-color:transparent}.callout{border:1px solid var(--border-color-light, #e2e8f0);padding:12px 14px;border-radius:10px;margin:12px 0}.callout strong{margin-right:6px}.callout.tip{background:linear-gradient(0deg,#10b98114,#10b98114),#fff;border-color:#10b98159}.callout.warn{background:linear-gradient(0deg,#f59e0b1a,#f59e0b1a),#fff;border-color:#f59e0b59}.callout.info{background:linear-gradient(0deg,#6366f114,#6366f114),#fff;border-color:#6366f159}.dark .callout{background-color:#ffffff0a}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.feature-card{border:1px solid var(--border-color-light,#e2e8f0);border-radius:12px;padding:12px 14px;background:var(--background-color-card, #fff)}.feature-card h4{margin:0 0 6px;font-size:.98rem;color:var(--text-color-strong,#1a202c)}.feature-card p{margin:0;font-size:.92rem}.checklist{list-style:none;padding-left:0}.checklist li{position:relative;padding-left:26px;margin:8px 0}.checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--primary-color,#8b5cf6);font-weight:700}.global-search-container{position:relative;width:300px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;align-items:center}.global-search-wrapper{display:flex;align-items:center;position:relative;width:100%;gap:8px}.global-search-input{width:100%;padding:8px 12px;border-radius:20px;border:1px solid var(--border-color-light, #d1d5db);font-size:14px;transition:all .2s ease-in-out;background-color:var(--background-color, #fff);color:var(--text-color-primary, #1f2937)}.global-search-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.search-icon-btn{display:none;background:none;border:none;cursor:pointer;color:var(--text-color-secondary, #6b7280);padding:0}.global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--background-color-card, #fff);border-radius:10px;box-shadow:0 12px 32px #0f172a1f;list-style:none;padding:8px 0;margin:0;max-height:360px;overflow-y:auto;z-index:1200}.global-search-item{padding:10px 15px;cursor:pointer;transition:background-color .18s ease;display:block}.global-search-item+.global-search-item{border-top:1px solid var(--border-color-light, #e2e8f0)}.global-search-item:hover{background-color:#3b82f614}.search-item-title{font-weight:600;color:var(--text-color-primary, #1f2937);display:flex;align-items:center;gap:10px}.search-item-icon{color:var(--text-color-secondary, #6b7280)}.search-item-summary{font-size:12px;color:var(--text-color-secondary, #6b7280);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-no-results{padding:14px 16px;color:var(--text-color-secondary, #64748b);font-style:italic}.global-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-end;padding:16px 16px 80px;z-index:2000}.global-search-overlay-panel{background:var(--background-color-card, #fff);width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:20px 18px 24px;box-shadow:0 -10px 32px #0f172a40;display:flex;flex-direction:column;gap:16px}.global-search-overlay-header{display:flex;justify-content:space-between;align-items:center}.global-search-overlay-title{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text-color-primary, #1f2937)}.global-search-overlay-title i{color:var(--primary-color, #3b82f6)}.global-search-overlay-close{border:none;background:none;width:36px;height:36px;border-radius:50%;color:var(--text-color-secondary, #64748b);display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:background-color .2s,color .2s}.global-search-overlay-close:hover{background:#94a3b82e;color:var(--text-color-primary, #1f2937)}.global-search-overlay-field{display:flex;align-items:center;gap:10px;border:1px solid var(--border-color-light, #d1d5db);border-radius:999px;padding:10px 14px;background:var(--background-color, #fff);box-shadow:inset 0 1px 2px #94a3b826}.global-search-overlay-field input{flex:1;border:none;background:transparent;font-size:16px;color:inherit;outline:none}.global-search-overlay-field i{color:var(--text-color-secondary, #94a3b8)}.global-search-overlay-clear{border:none;background:none;color:var(--text-color-secondary, #94a3b8);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;padding:0}.global-search-overlay-clear:hover{color:var(--text-color-primary, #1f2937)}.global-search-overlay-hint{font-size:.9rem;color:var(--text-color-secondary, #64748b);text-align:center}.global-search-overlay-results{list-style:none;margin:0;padding:0;max-height:min(50vh,320px);overflow-y:auto;border-radius:12px;border:1px solid var(--border-color-light, #e2e8f0);background:var(--background-color-card, #fff);-webkit-overflow-scrolling:touch}.global-search-overlay-results .global-search-item{padding:14px 16px}.global-search-overlay-results .global-search-item+.global-search-item{border-top:1px solid var(--border-color-light, #e2e8f0)}.global-search-overlay-results .search-no-results{padding:18px;text-align:center;font-style:normal}@media (max-width: 768px){.global-search-container{display:none}}
