.fc-mobile{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;overflow:hidden;background:var(--fc-bg);color:var(--fc-text);font-family:system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.fc-mobile-topbar{display:flex;align-items:center;height:44px;min-height:44px;padding:0 8px;background:var(--fc-bgPanel);border-bottom:1px solid var(--fc-border);gap:8px;z-index:10}.fc-mobile-topbar-title{flex:1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fc-text)}.fc-mobile-topbar-btn{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;background:none;border:none;color:var(--fc-text);font-size:13px;padding:0 8px;cursor:pointer;border-radius:6px}.fc-mobile-topbar-btn:active{background:var(--fc-bgHover)}.fc-mobile-content{flex:1;position:relative;overflow:hidden}.fc-mobile-tab-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:none}.fc-mobile-tab-panel[data-active=true]{display:flex;flex-direction:column}.fc-mobile-bottombar{display:flex;align-items:center;height:52px;min-height:52px;padding:0 4px;background:var(--fc-bgPanel);border-top:1px solid var(--fc-border);gap:0;z-index:10}.fc-mobile-tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;background:none;border:none;color:var(--fc-textMuted);font-size:10px;font-weight:500;cursor:pointer;padding:0;border-radius:0}.fc-mobile-tab-btn[data-active=true]{color:var(--fc-accent)}.fc-mobile-tab-btn:active{background:var(--fc-bgHover)}.fc-mobile-tab-icon{font-size:20px;line-height:1}.fc-mobile-run-btn{display:flex;align-items:center;justify-content:center;min-width:64px;height:40px;margin:0 4px;background:var(--fc-accent);color:var(--fc-accentText, #fff);border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;gap:6px;padding:0 16px}.fc-mobile-run-btn:active{opacity:.8}.fc-mobile-run-btn:disabled{opacity:.5}.fc-mobile-editor{flex:1;width:100%;background:var(--fc-bgInput, var(--fc-bg));color:var(--fc-text);border:none;padding:12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;resize:none;outline:none;overflow:auto;-webkit-text-size-adjust:none}.fc-mobile-viewport{flex:1;width:100%;position:relative}.fc-mobile-viewport-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--fc-textDim);font-size:13px;background:var(--fc-bg);z-index:5}.fc-mobile-filepicker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:flex-end}.fc-mobile-filepicker-sheet{width:100%;max-height:60vh;background:var(--fc-bgPanel);border-radius:12px 12px 0 0;overflow-y:auto;padding:8px 0;padding-bottom:env(safe-area-inset-bottom,8px)}.fc-mobile-filepicker-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--fc-border);font-size:14px;font-weight:600}.fc-mobile-filepicker-item{display:flex;align-items:center;width:100%;height:48px;padding:0 16px;background:none;border:none;color:var(--fc-text);font-size:14px;text-align:left;cursor:pointer;gap:10px}.fc-mobile-filepicker-item:active{background:var(--fc-bgHover)}.fc-mobile-filepicker-item[data-active=true]{color:var(--fc-accent);font-weight:600}.fc-mobile-export-sheet{width:100%;background:var(--fc-bgPanel);border-radius:12px 12px 0 0;padding:8px 0;padding-bottom:env(safe-area-inset-bottom,8px)}.fc-mobile-export-item{display:flex;align-items:center;width:100%;height:52px;padding:0 16px;background:none;border:none;color:var(--fc-text);font-size:15px;text-align:left;cursor:pointer;gap:12px}.fc-mobile-export-item:active{background:var(--fc-bgHover)}.fc-mobile-params{border-top:1px solid var(--fc-border);padding:8px 12px;background:var(--fc-bgPanel);max-height:30vh;overflow-y:auto}.fc-mobile-param-row{display:flex;align-items:center;gap:8px;height:36px}.fc-mobile-param-label{font-size:12px;color:var(--fc-textMuted);min-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-mobile-param-slider{flex:1;height:32px;accent-color:var(--fc-accent)}.fc-mobile-param-value{font-size:12px;font-variant-numeric:tabular-nums;color:var(--fc-text);min-width:40px;text-align:right}.fc-mobile-status{position:absolute;top:8px;left:50%;transform:translate(-50%);background:var(--fc-bgOverlay, rgba(0,0,0,.7));color:var(--fc-text);padding:4px 12px;border-radius:12px;font-size:12px;z-index:20;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fc-mobile-error{padding:8px 12px;background:var(--fc-errorBg);color:var(--fc-error);font-size:12px;font-family:SF Mono,Menlo,Consolas,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto;border-top:1px solid var(--fc-error)}@supports (padding-bottom: env(safe-area-inset-bottom)){.fc-mobile-bottombar{padding-bottom:env(safe-area-inset-bottom);height:calc(52px + env(safe-area-inset-bottom));min-height:calc(52px + env(safe-area-inset-bottom))}}@keyframes fc-mobile-spin{to{transform:rotate(360deg)}}.fc-mobile-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--fc-textDim);border-top-color:var(--fc-accent);border-radius:50%;animation:fc-mobile-spin .6s linear infinite}::selection{background:var(--fc-accent);color:var(--fc-accentText)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fc-border);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--fc-textDim);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--fc-border) transparent}button,[role=button],a,input,select,textarea{transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .1s ease}button:not(:disabled):hover,[role=button]:not(:disabled):hover{filter:brightness(1.15)}button:not(:disabled):active,[role=button]:not(:disabled):active{transform:scale(.97)}button:focus-visible,[role=button]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--fc-accent);outline-offset:1px}button:disabled{opacity:.5;cursor:not-allowed}.fc-btn{padding:4px 10px;background:transparent;color:var(--fc-textMuted);border:1px solid var(--fc-border);border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit;display:inline-flex;align-items:center;gap:5px;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.fc-btn:hover{background:var(--fc-bgHover);color:var(--fc-text);border-color:var(--fc-textDim)}.fc-btn:active{background:var(--fc-bgActive)}.fc-btn.active{background:var(--fc-accent);color:var(--fc-accentText);border-color:var(--fc-accent)}.fc-btn.active:hover{filter:brightness(1.1)}.fc-icon-btn{padding:4px;background:transparent;color:var(--fc-textDim);border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.fc-icon-btn:hover{background:var(--fc-bgHover);color:var(--fc-text);border-color:var(--fc-border)}.fc-panel-header{padding:6px 12px;font-size:11px;color:var(--fc-textDim);text-transform:uppercase;letter-spacing:1px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;transition:background .12s ease,color .12s ease}.fc-panel-header:hover{background:var(--fc-bgHover);color:var(--fc-textMuted)}.fc-separator{width:1px;height:20px;background:var(--fc-border);margin:0 4px;flex-shrink:0}.fc-toolbar{padding:6px 12px;background:var(--fc-bgHover);border-bottom:1px solid var(--fc-border);display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select{background:var(--fc-bgInput);border:1px solid var(--fc-border);border-radius:4px;padding:4px 6px;color:var(--fc-text);font-size:12px;font-family:inherit}input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]):focus,textarea:focus,select:focus{border-color:var(--fc-accent);box-shadow:0 0 0 1px var(--fc-accent)}.fc-floating{box-shadow:0 4px 16px #0000004d,0 1px 4px #0003}@keyframes fc-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fc-fadein-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fc-slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fc-slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes fc-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes fc-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fc-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--fc-border);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--fc-accent);cursor:pointer;border:2px solid var(--fc-bgPanel);box-shadow:0 1px 3px #0000004d;transition:transform .1s ease,box-shadow .1s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 1px 6px #0006}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--fc-accent);cursor:pointer;border:2px solid var(--fc-bgPanel);box-shadow:0 1px 3px #0000004d}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:1px solid var(--fc-border);border-radius:4px;padding:1px;cursor:pointer;background:transparent}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.fc-resize-handle{transition:background .15s ease}.fc-resize-handle:hover{background:var(--fc-bgActive)}
