:root,.theme-dark{--accent:#ec4899;--accent-strong:#f472b6;--accent-soft:#ec489924;--accent-border:#ec489973;--violet:#a99cf0;--violet-strong:#beb3fa;--bg:#12161d;--surface:#181d26;--surface-alt:#1f2530;--surface-inset:#12161d;--border-soft:#232a35;--border-strong:#323b49;--text:#d7dde6;--text-muted:#8b95a4;--radius-sm:6px;--radius:8px;--radius-lg:12px;--focus-ring:0 0 0 3px var(--accent-soft);--select-arrow:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%238b95a4%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M1%201.5l5%205%205-5%22%2F%3E%3C%2Fsvg%3E);--sidebar-bg:var(--surface);--sidebar-text:var(--text);--sidebar-text-secondary:var(--text-muted);--sidebar-header-color:var(--accent);--sidebar-border:var(--border-soft);--sidebar-shadow:#0000008c;--section-bg:var(--surface-alt);--item-border:var(--border-strong);--item-bg-hover:#2a3240;--input-bg:var(--surface-inset);--input-text:var(--text);--input-border:var(--border-strong);--button-bg:var(--accent);--button-text:#12161d;--button-hover-bg:var(--accent-strong);--link-color:var(--violet);--link-hover-color:var(--violet-strong);--pre-bg:var(--surface-alt);--pre-text:var(--text);--tooltip-bg:#262e3a;--tooltip-text:var(--text);--tooltip-border:var(--border-strong);--icon-sun-color:#f5a623;--icon-moon-color:#f1c40f;--slider-track-color:var(--surface-inset);--slider-thumb-color:var(--accent);--notification-progress-bg:var(--surface-inset);--notification-progress-fill:var(--accent);--notification-success-color:#4cd07d;--notification-error-color:#ef4444;--notification-warn-color:#eab308;--notification-shadow:#0006;--notification-close-hover-bg:#ffffff14;--error-color:#ef4444;--gamepad-shell-fill:#2a313d;--gamepad-shell-stroke:#3d4653;--gamepad-pad-fill:#b0568c;--gamepad-pad-stroke:#d883b4;--gamepad-pad-pressed-fill:#ff97cd;--gamepad-stick-base-fill:#6d4a60;--gamepad-stick-top-fill:#8f81d3;--gamepad-stick-top-stroke:#ada0f5}.theme-light{--accent:#c9317f;--accent-strong:#ad2a6d;--accent-soft:#c9317f1a;--accent-border:#c9317f66;--violet:#6857b8;--violet-strong:#55459e;--bg:#f4f5f8;--surface:#fff;--surface-alt:#f6f7f9;--surface-inset:#fff;--border-soft:#e6e8ee;--border-strong:#d4d8e0;--text:#23272f;--text-muted:#667084;--focus-ring:0 0 0 3px var(--accent-soft);--select-arrow:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23667084%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M1%201.5l5%205%205-5%22%2F%3E%3C%2Fsvg%3E);--sidebar-bg:var(--surface);--sidebar-text:var(--text);--sidebar-text-secondary:var(--text-muted);--sidebar-header-color:var(--accent);--sidebar-border:var(--border-soft);--sidebar-shadow:#0f172a1f;--section-bg:var(--surface-alt);--item-border:var(--border-strong);--item-bg-hover:#eceef3;--input-bg:var(--surface-inset);--input-text:var(--text);--input-border:var(--border-strong);--button-bg:var(--accent);--button-text:#fff;--button-hover-bg:var(--accent-strong);--link-color:var(--violet);--link-hover-color:var(--violet-strong);--pre-bg:var(--surface-alt);--pre-text:var(--text);--tooltip-bg:#23272f;--tooltip-text:#fff;--tooltip-border:#3a404c;--icon-sun-color:#e8890c;--icon-moon-color:#b7791f;--slider-track-color:#e2e5eb;--slider-thumb-color:var(--accent);--notification-progress-bg:#e2e5eb;--notification-progress-fill:var(--accent);--notification-success-color:#1f9d55;--notification-error-color:#c0392b;--notification-warn-color:#946c00;--notification-shadow:#0f172a1a;--notification-close-hover-bg:#0000000f;--error-color:#c0392b;--gamepad-shell-fill:#c6cad3;--gamepad-shell-stroke:#9aa1ad;--gamepad-pad-fill:#c95796;--gamepad-pad-stroke:#a42c73;--gamepad-pad-pressed-fill:#a3136f;--gamepad-stick-base-fill:#dcafc4;--gamepad-stick-top-fill:#8071c8;--gamepad-stick-top-stroke:#5e4da1}.sidebar{width:280px;height:calc(var(--vh,1vh) * 100);background-color:var(--sidebar-bg);border-right:1px solid var(--border-soft);z-index:1010;box-sizing:border-box;color:var(--sidebar-text);-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:18px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out,background-color .3s,color .3s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar.is-open{box-shadow:8px 0 30px var(--sidebar-shadow);transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:14px;display:flex}.header-controls{align-items:center;gap:6px;display:flex}.header-action-button{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:5px;transition:background-color .15s,color .15s;display:flex}.header-action-button:hover{background-color:var(--surface-alt);color:var(--text)}.header-action-button.active{background-color:var(--accent-soft);color:var(--accent)}.header-action-button svg{fill:currentColor;display:block}.sidebar h2{letter-spacing:.02em;color:var(--sidebar-header-color);-webkit-text-fill-color:transparent;background-image:linear-gradient(100deg,#d5499a 20%,#9c74ce 90%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:17px;font-weight:700;line-height:1.2}.sidebar h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 10px;font-size:11px;font-weight:600}.theme-toggle{background-color:var(--surface-inset);border:1px solid var(--border-strong);cursor:pointer;box-sizing:border-box;border-radius:11px;flex-shrink:0;align-items:center;width:40px;height:22px;padding:0 2px;transition:background-color .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{border-color:var(--accent-border)}.theme-toggle .icon{width:14px;height:14px;transition:transform .3s,opacity .3s;position:absolute;top:3px}.theme-toggle .icon path,.theme-toggle .icon circle{fill:currentColor}.theme-toggle .icon line{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .moon-icon{opacity:1;color:var(--icon-moon-color);left:3px;transform:translate(0)}.theme-toggle .sun-icon{opacity:0;color:var(--icon-sun-color);left:3px;transform:translate(100%)}.theme-toggle.light .moon-icon{opacity:0;transform:translate(100%)}.theme-toggle.light .sun-icon{opacity:1;left:auto;right:3px;transform:translate(0)}.sidebar-action-buttons{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:16px;display:flex}.action-button{border:1px solid var(--item-border);border-radius:var(--radius);background-color:var(--surface-alt);height:40px;color:var(--text-muted);cursor:pointer;outline:none;flex:1;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.action-button svg{fill:currentColor;pointer-events:none;width:55%;height:55%}.action-button:hover{border-color:var(--accent-border);color:var(--text)}.action-button.active{background-color:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.action-button.active:hover{color:var(--accent-strong);border-color:var(--accent)}.sidebar-section{border-radius:var(--radius-lg);background-color:var(--surface-alt);border:1px solid var(--border-soft);margin-bottom:10px;padding:0;transition:border-color .15s;overflow:hidden}.sidebar-section:hover{border-color:var(--border-strong)}.sidebar-section-header{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;padding:11px 14px;transition:background-color .15s;display:flex}.sidebar-section-header:hover{background-color:var(--item-bg-hover)}.sidebar-section-header h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:11px;font-weight:600;transition:color .15s}.sidebar-section-header:hover h3{color:var(--text)}.section-toggle-icon{color:var(--text-muted);align-items:center;margin-left:10px;display:flex}.sidebar-section-content{padding:4px 14px 14px}.dev-setting-item{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.dev-setting-item:last-child{margin-bottom:4px}.sidebar-section-content .dev-setting-item{background-color:#0000}.dev-setting-item label,.gauge-label{letter-spacing:.01em;color:var(--text-muted);font-size:12px;font-weight:500}.dev-setting-item.toggle-item{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:12px}.dev-setting-item.toggle-item label{text-align:left;color:var(--text);margin-right:10px}.dev-setting-item select{border:1px solid var(--input-border);border-radius:var(--radius);background-color:var(--input-bg);width:100%;color:var(--input-text);font:inherit;cursor:pointer;appearance:none;background-image:var(--select-arrow);background-position:right 10px top 50%;background-repeat:no-repeat;background-size:12px;padding:8px 30px 8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.dev-setting-item select:hover{border-color:var(--accent-border)}.dev-setting-item select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.dev-setting-item select:disabled{cursor:not-allowed;opacity:.55}.dev-setting-item input[type=range]{appearance:none;cursor:pointer;background:0 0;flex-grow:1;width:100%;height:20px}.dev-setting-item input[type=range]:focus{outline:none}.dev-setting-item input[type=range]::-webkit-slider-runnable-track{background:var(--slider-track-color);border-radius:3px;width:100%;height:6px;transition:background .3s}.dev-setting-item input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--slider-thumb-color);border:2px solid var(--sidebar-bg);border-radius:50%;width:16px;height:16px;margin-top:-5px;transition:background .3s,box-shadow .1s}.dev-setting-item input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px var(--accent-soft)}.dev-setting-item input[type=range]::-moz-range-track{background:var(--slider-track-color);border-radius:3px;width:100%;height:6px;transition:background .3s}.dev-setting-item input[type=range]::-moz-range-thumb{background:var(--slider-thumb-color);border:2px solid var(--sidebar-bg);border-radius:50%;width:12px;height:12px;transition:background .3s,box-shadow .1s}.dev-setting-item input[type=range]::-moz-range-thumb:hover{box-shadow:0 0 0 4px var(--accent-soft)}.stats-gauges{color:var(--sidebar-text);flex-wrap:wrap;justify-content:space-around;margin-bottom:0;padding:5px 0;display:flex}.sidebar-section-content .stats-gauges{background-color:#0000;margin-bottom:0;padding:5px 0 0}.gauge-container{text-align:center;cursor:help;flex-direction:column;align-items:center;min-width:80px;margin:5px;display:flex}.gauge-container svg text{fill:var(--sidebar-text);font-variant-numeric:tabular-nums;pointer-events:none}.gauge-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:center;pointer-events:none;margin-top:6px;font-size:11px;font-weight:500}.gauge-tooltip{background-color:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid var(--tooltip-border);border-radius:var(--radius);z-index:1030;pointer-events:none;white-space:nowrap;box-shadow:0 4px 16px var(--notification-shadow);padding:7px 11px;font-size:12px;position:fixed;transform:translate(-50%,-100%)}.toggle-handle{cursor:pointer;z-index:1020;justify-content:center;align-items:center;width:15px;height:60px;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}@supports (-webkit-touch-callout:none){.toggle-handle{width:35px}}.toggle-indicator{background-color:var(--accent);opacity:.7;border-radius:999px;width:4px;height:44px;transition:opacity .15s,width .15s}.toggle-handle:hover .toggle-indicator{opacity:1;width:6px}body{background-color:var(--bg);color:var(--sidebar-text);margin:0;padding:0;overflow-x:hidden}#dashboard-root{z-index:1000}.dashboard-clipboard-item{background-color:#0000;flex-direction:column;gap:6px;margin-bottom:15px;display:flex}.dashboard-clipboard-item label{color:var(--text-muted);font-size:12px;font-weight:500}.dashboard-clipboard-item textarea{box-sizing:border-box;border:1px solid var(--input-border);border-radius:var(--radius);background-color:var(--input-bg);width:100%;color:var(--input-text);resize:vertical;min-height:80px;padding:9px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.dashboard-clipboard-item textarea:hover{border-color:var(--accent-border)}.dashboard-clipboard-item textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.dashboard-clipboard-item textarea::placeholder{color:var(--text-muted);opacity:.8}.gamepad-visualizer-instance{border-bottom:1px solid var(--border-soft);margin-bottom:20px;padding-bottom:15px}.gamepad-visualizer-instance:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.gamepad-visualizer-instance h4{color:var(--text-muted);margin-top:0;margin-bottom:10px;font-size:12px;font-weight:500}.gamepad-svg-vis{background-color:var(--surface-inset);border-radius:var(--radius);border:1px solid var(--border-soft);display:block}.gp-vis-base{fill:var(--gamepad-shell-fill);stroke:var(--gamepad-shell-stroke);stroke-width:.5px}.gp-vis-button,.gp-vis-dpad,.gp-vis-bumper{fill:var(--gamepad-pad-fill);stroke:var(--gamepad-pad-stroke);stroke-width:.5px;transition:fill 50ms linear}.gp-vis-stick-base{fill:var(--gamepad-stick-base-fill)}.gp-vis-stick-top{fill:var(--gamepad-stick-top-fill);stroke:var(--gamepad-stick-top-stroke);stroke-width:.5px;transition:transform 50ms linear}.gp-vis-trigger{fill:var(--gamepad-pad-fill);stroke:var(--gamepad-pad-stroke);stroke-width:.5px;opacity:.5;transition:opacity 50ms linear}.gp-vis-button-pressed,.gp-vis-dpad-pressed,.gp-vis-bumper-pressed{fill:var(--gamepad-pad-pressed-fill)}.no-gamepads-message{color:var(--text-muted);text-align:center;margin-top:10px;font-size:13px;font-style:italic}.resolution-manual-inputs{gap:10px;margin-bottom:14px;display:flex}.manual-input-item{flex:1;margin-bottom:0}.manual-input-item input[type=number]{border:1px solid var(--input-border);border-radius:var(--radius);background-color:var(--input-bg);width:100%;color:var(--input-text);font:inherit;font-variant-numeric:tabular-nums;box-sizing:border-box;-moz-appearance:textfield;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.manual-input-item input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.manual-input-item input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.manual-input-item input[type=number]:hover{border-color:var(--accent-border)}.manual-input-item input[type=number]:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.scale-locally-item{align-items:center;gap:8px;margin-bottom:14px;display:flex}.scale-locally-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.scale-locally-item label{color:var(--text);cursor:pointer;margin:0;font-size:13px;font-weight:400}.resolution-action-buttons{gap:8px;margin-top:5px;display:flex}.resolution-button{box-sizing:border-box;border:1px solid var(--item-border);border-radius:var(--radius);background-color:var(--surface-inset);width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:center;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:flex}.resolution-button:hover{border-color:var(--accent-border)}.resolution-button:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.section-divider{border:none;border-top:1px solid var(--border-soft);margin:14px 0}.error-message{color:var(--error-color);border-radius:var(--radius);background-color:#ef44441a;border:1px solid #ef44444d;margin-bottom:10px;padding:9px 11px;font-size:13px}.device-support-notice{color:var(--text-muted);text-align:center;margin-top:5px;margin-bottom:0;font-size:12px}.toggle-button{background-color:var(--surface-inset);color:var(--text);border-color:var(--item-border);transition:background-color .15s,border-color .15s,color .15s}.toggle-button:hover{border-color:var(--accent-border)}.toggle-button.active{background-color:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.toggle-button.active:hover{color:var(--accent-strong);border-color:var(--accent)}.notification-container{z-index:1050;pointer-events:none;flex-direction:column;gap:10px;width:320px;display:flex;position:fixed;top:20px;right:20px}.notification-item{background-color:var(--surface-alt);color:var(--sidebar-text);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 8px 30px var(--notification-shadow);opacity:1;pointer-events:auto;padding:12px 14px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;transition:opacity .5s ease-out,transform .3s ease-out;overflow:hidden;transform:translate(0)}.notification-item.fade-out{opacity:0;transform:translate(20px)}.notification-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.notification-filename{white-space:nowrap;text-overflow:ellipsis;flex-grow:1;margin-right:10px;font-size:13px;font-weight:600;overflow:hidden}.notification-close-button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin:-2px -5px;padding:2px 5px;font-size:1.2em;line-height:1;transition:color .15s,background-color .15s}.notification-close-button:hover{color:var(--text);background-color:var(--notification-close-hover-bg)}.notification-body{flex-direction:column;gap:6px;display:flex}.notification-status-text{color:var(--text-muted);font-size:12px}.notification-progress-bar-outer{background-color:var(--notification-progress-bg);border-radius:999px;width:100%;height:5px;overflow:hidden}.notification-progress-bar-inner{background-color:var(--notification-progress-fill);border-radius:999px;width:0%;height:100%;transition:width .1s linear}.notification-item.end .notification-progress-bar-inner{background-color:var(--notification-success-color)}.notification-item.error .notification-progress-bar-inner{background-color:var(--notification-error-color)}.notification-item.error .notification-status-text.error-text{color:var(--notification-error-color);font-weight:600}.notification-item.warn .notification-status-text.warn-text{color:var(--notification-warn-color);font-weight:600}.notification-error-message{color:var(--notification-error-color);word-break:break-word;margin:5px 0 0;padding:0;font-size:12px}a:link,a:visited,a:hover,a:active{text-decoration:none}a.cite-link,a.cite-link:link,a.cite-link:visited{color:var(--link-color);text-underline-offset:2px;cursor:pointer;font-size:.82em;text-decoration:underline;transition:color .15s}a.cite-link:hover,a.cite-link:active{color:var(--link-hover-color);text-decoration:underline}.files-modal{background-color:var(--sidebar-bg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:80%;height:80%;box-shadow:0 24px 60px var(--sidebar-shadow);z-index:1060;box-sizing:border-box;flex-direction:column;padding:20px;display:flex;position:fixed;top:10%;left:10%}.files-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);z-index:1061;background:0 0;border:none;padding:2px 8px;font-size:1.6rem;font-weight:400;line-height:1;transition:color .15s,background-color .15s;position:absolute;top:10px;right:15px}.files-modal-close:hover{color:var(--text);background-color:var(--surface-alt)}.files-modal iframe{border-radius:var(--radius);background-color:var(--surface-inset);border:none;flex-grow:1;width:100%;height:100%}.virtual-keyboard-button{background-color:var(--button-bg);width:50px;height:50px;color:var(--button-text);border-radius:var(--radius-lg);box-shadow:0 6px 20px var(--sidebar-shadow);cursor:pointer;z-index:1040;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,transform .15s;display:flex;position:fixed;bottom:20px;right:20px}.virtual-keyboard-button:hover{background-color:var(--button-hover-bg);transform:translateY(-2px)}.virtual-keyboard-button:active{transform:translateY(0)scale(.98)}.virtual-keyboard-button svg{fill:currentColor;width:24px;height:24px}.apps-modal{background-color:var(--sidebar-bg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:80vw;max-width:1000px;height:80vh;max-height:700px;box-shadow:0 24px 60px var(--sidebar-shadow);z-index:1070;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.apps-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);z-index:1071;background:0 0;border:none;padding:2px 8px;font-size:1.6rem;font-weight:400;line-height:1;transition:color .15s,background-color .15s;position:absolute;top:12px;right:14px}.apps-modal-close:hover{color:var(--text);background-color:var(--surface-alt)}.apps-modal-content{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex-grow:1;padding:44px 20px 20px;display:flex;overflow-y:auto}.apps-modal-loading,.apps-modal-error{text-align:center;color:var(--sidebar-text);flex-direction:column;flex-grow:1;justify-content:center;align-items:center;display:flex}.apps-modal-loading p{color:var(--text-muted);margin-top:10px}.apps-modal-error{color:var(--notification-error-color)}.apps-modal-error .app-action-button{margin-top:12px}.apps-modal-notice{color:var(--notification-warn-color);border:1px solid var(--notification-warn-color);border-radius:var(--radius);text-align:center;margin-bottom:12px;padding:8px 12px}.apps-modal-notice p{margin:0}.apps-search-bar{border:1px solid var(--input-border);border-radius:var(--radius);background-color:var(--input-bg);width:100%;color:var(--input-text);font:inherit;box-sizing:border-box;margin-bottom:20px;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.apps-search-bar::placeholder{color:var(--text-muted)}.apps-search-bar:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:14px;display:grid}.app-card{background-color:var(--surface-alt);border:1px solid var(--border-soft);border-radius:var(--radius-lg);text-align:center;cursor:pointer;flex-direction:column;justify-content:space-between;align-items:center;min-height:180px;max-height:220px;padding:16px;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.app-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.app-card-icon{object-fit:contain;flex-shrink:0;width:96px;height:96px;margin-bottom:10px}.app-card-name{color:var(--sidebar-text);word-break:break-word;text-overflow:ellipsis;max-height:3.9em;margin-top:auto;font-size:13px;font-weight:500;line-height:1.35;overflow:hidden}.app-card-installed-badge{color:var(--notification-success-color);border:1px solid var(--notification-success-color);text-transform:uppercase;letter-spacing:.04em;background-color:#0000;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600;position:absolute;top:8px;right:8px}.app-detail-view{color:var(--sidebar-text);text-align:center;flex-direction:column;align-items:center;padding:10px;display:flex}.app-detail-back-button{background-color:var(--surface-alt);color:var(--text);border:1px solid var(--item-border);border-radius:var(--radius);cursor:pointer;font:inherit;align-self:flex-start;margin-bottom:15px;padding:7px 12px;font-size:13px;font-weight:500;transition:border-color .15s}.app-detail-back-button:hover{border-color:var(--accent-border)}.app-detail-icon{object-fit:contain;border-radius:var(--radius-lg);width:128px;height:128px;margin-bottom:15px}.app-detail-view h2{color:var(--text);margin-top:0;margin-bottom:10px;font-size:20px;font-weight:700}.app-detail-description{color:var(--text-muted);max-width:600px;margin-bottom:20px;font-size:14px;line-height:1.6}.app-action-buttons{justify-content:center;gap:10px;margin-top:10px;display:flex}.app-action-button{border-radius:var(--radius);font:inherit;cursor:pointer;border:1px solid #0000;min-width:120px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.app-action-button.install{background-color:var(--button-bg);color:var(--button-text)}.app-action-button.install:hover{background-color:var(--button-hover-bg)}.app-action-button.update{color:var(--notification-warn-color);border-color:var(--notification-warn-color);background-color:#0000}.app-action-button.update:hover{background-color:#eab3081f}.app-action-button.remove{color:var(--notification-error-color);border-color:var(--notification-error-color);background-color:#0000}.app-action-button.remove:hover{background-color:#ef44441f}.app-action-button:disabled{opacity:.45;cursor:default}.apps-modal-loading svg{stroke:var(--accent)}.sharing-link-item{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:5px;padding:10px 0;display:flex}.sharing-link-item:last-child{border-bottom:none;padding-bottom:0}.sidebar-section-content>.sharing-link-item:first-child{padding-top:0}.sharing-link-label{color:var(--text-muted);font-size:12px;font-weight:500}.sharing-link-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.sharing-link{color:var(--link-color);word-break:break-all;flex-grow:1;margin-right:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;text-decoration:none}.sharing-link:hover{color:var(--link-hover-color);text-decoration:underline}.copy-button{border:1px solid var(--item-border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:5px;transition:border-color .15s,color .15s;display:flex}.copy-button:hover{border-color:var(--accent-border);color:var(--accent)}.copy-button svg{fill:currentColor}.toggle-button-sidebar{background-color:var(--surface-inset);cursor:pointer;border:1px solid var(--border-strong);box-sizing:border-box;border-radius:11px;flex-shrink:0;width:40px;height:22px;padding:0;transition:background-color .2s ease-in-out,border-color .2s ease-in-out;display:inline-block;position:relative}.toggle-button-sidebar:hover{border-color:var(--accent-border)}.toggle-button-sidebar-knob{background-color:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:transform .2s ease-in-out,background-color .2s ease-in-out;position:absolute;top:2px;left:2px}.toggle-button-sidebar.active{background-color:var(--accent);border-color:var(--accent)}.toggle-button-sidebar.active .toggle-button-sidebar-knob{background-color:#fff;transform:translate(18px)}.sidebar-mobile-key-actions{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;gap:6px;margin-bottom:16px;padding-bottom:16px;display:flex}.mobile-key-button{border:1px solid var(--item-border);border-radius:var(--radius-sm);background-color:var(--surface-alt);color:var(--text-muted);font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;flex:1;justify-content:center;align-items:center;min-height:36px;padding:8px 4px;font-size:12px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:flex}.mobile-key-button:hover{border-color:var(--accent-border);color:var(--text)}.mobile-key-button.active{background-color:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.mobile-key-button.active:hover{color:var(--accent-strong);border-color:var(--accent)}.mobile-key-button.icon-button{padding:6px}.mobile-key-button.icon-button svg{fill:currentColor;pointer-events:none;width:18px;height:18px}body{margin:0;padding:0}
