:root{
    --cm-ide-border:#d0d7de;
    --cm-ide-bg:#ffffff;
    --cm-ide-soft:#f6f8fa;
    --cm-ide-text:#24292f;
    --cm-ide-muted:#57606a;
    --cm-ide-active:#eaeef2;
    --cm-ide-green:#1f883d;
    --cm-ide-green-hover:#1a7f37;
}

.cm-ghfm-code-ide{
    margin:12px 0 14px;
    border:1px solid var(--cm-ide-border);
    border-radius:8px;
    background:var(--cm-ide-bg);
    overflow:hidden;
    min-width:0;
}
.cm-ghfm-code-ide[hidden]{display:none!important}

.cm-ghfm-code-tabbar{
    display:flex;
    align-items:stretch;
    min-width:0;
    border-bottom:1px solid var(--cm-ide-border);
    background:var(--cm-ide-soft);
}
.cm-ghfm-code-explorer-toggle{
    flex:0 0 auto;
    border:0;
    border-right:1px solid var(--cm-ide-border);
    background:#fff;
    color:var(--cm-ide-text);
    padding:9px 12px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.cm-ghfm-code-tabs{
    display:flex;
    flex:1 1 auto;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.cm-ghfm-code-tabs::-webkit-scrollbar{display:none}
.cm-ghfm-code-tab{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    border:0;
    border-right:1px solid var(--cm-ide-border);
    border-bottom:2px solid transparent;
    background:var(--cm-ide-soft);
    color:var(--cm-ide-muted);
    padding:8px 10px;
    font:inherit;
    cursor:pointer;
}
.cm-ghfm-code-tab.is-active{
    background:#fff;
    color:var(--cm-ide-text);
    border-bottom-color:#0969da;
}
.cm-ghfm-code-tab-close{
    display:inline-grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:4px;
}
.cm-ghfm-code-tab-close:hover{background:#d8dee4}

.cm-ghfm-code-layout{
    position:relative;
    display:flex;
    min-width:0;
    min-height:540px;
    background:#fff;
}
.cm-ghfm-code-sidebar{
    flex:0 0 270px;
    width:270px;
    min-width:0;
    border-right:1px solid var(--cm-ide-border);
    background:var(--cm-ide-soft);
    overflow:auto;
}
.cm-ghfm-code-ide:not(.is-explorer-open) .cm-ghfm-code-sidebar{display:none}
.cm-ghfm-code-sidebar-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:10px 11px;
    background:var(--cm-ide-soft);
    border-bottom:1px solid var(--cm-ide-border);
}
.cm-ghfm-code-sidebar-close{
    border:0;
    background:transparent;
    color:var(--cm-ide-muted);
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.cm-ghfm-code-sidebar-repo{
    padding:8px 10px;
    font-size:12px;
    font-weight:700;
    color:var(--cm-ide-muted);
    border-bottom:1px solid var(--cm-ide-border);
    overflow-wrap:anywhere;
}
.cm-ghfm-code-file-list{padding:5px}
.cm-ghfm-code-file{
    width:100%;
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    align-items:center;
    gap:4px;
    border:0;
    border-radius:4px;
    background:transparent;
    color:var(--cm-ide-text);
    padding:7px 7px 7px calc(7px + (var(--cm-file-depth,0) * 8px));
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.cm-ghfm-code-file:hover,.cm-ghfm-code-file.is-active{background:var(--cm-ide-active)}
.cm-ghfm-code-file.is-selected{background:color-mix(in srgb,var(--cm-ide-active) 82%,#0d6efd 18%);outline:1px solid color-mix(in srgb,var(--cm-ide-text) 28%,transparent);outline-offset:-1px}
.cm-ghfm-code-file.is-active.is-selected{font-weight:700}
.cm-ghfm-code-file-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.cm-ghfm-code-file small{
    grid-column:2;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--cm-ide-muted);
    font-size:11px;
}
.cm-ghfm-code-empty{padding:12px;color:var(--cm-ide-muted);font-size:13px}

.cm-ghfm-code-sidebar-overlay{display:none}

.cm-ghfm-code-main{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    flex-direction:column;
    background:#fff;
}
.cm-ghfm-code-toolbar{
    display:flex;
    align-items:flex-end;
    gap:8px;
    padding:8px;
    border-bottom:1px solid var(--cm-ide-border);
    background:#fff;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.cm-ghfm-code-toolbar::-webkit-scrollbar{display:none}
.cm-ghfm-code-toolbar label{
    display:flex;
    flex-direction:column;
    gap:3px;
    flex:0 0 auto;
    margin:0;
}
.cm-ghfm-code-toolbar label>span{
    font-size:11px;
    font-weight:700;
    color:var(--cm-ide-muted);
}
.cm-ghfm-code-toolbar select,
.cm-ghfm-code-toolbar input{
    height:34px;
    box-sizing:border-box;
    border:1px solid var(--cm-ide-border);
    border-radius:6px;
    background:#fff;
    color:var(--cm-ide-text);
    padding:5px 8px;
    font:inherit;
    font-size:13px;
}
.cm-ghfm-code-find-wrap{min-width:190px}
.cm-ghfm-code-find-wrap input{width:210px}
.cm-ghfm-code-jump-wrap{min-width:130px}
.cm-ghfm-code-jump-wrap select{width:145px}
.cm-ghfm-code-find-count{
    flex:0 0 auto;
    min-width:48px;
    padding-bottom:8px;
    color:var(--cm-ide-muted);
    font-size:12px;
    text-align:center;
}
.cm-ghfm-code-find-prev,
.cm-ghfm-code-find-next{
    flex:0 0 auto;
    height:34px;
    min-width:34px;
    border:1px solid var(--cm-ide-border);
    border-radius:6px;
    background:#fff;
    color:var(--cm-ide-text);
    cursor:pointer;
}
.cm-ghfm-code-save{
    flex:0 0 auto;
    height:34px;
    border:1px solid rgba(27,31,36,.15);
    border-radius:6px;
    background:var(--cm-ide-green);
    color:#fff;
    padding:0 15px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.cm-ghfm-code-save:hover{background:var(--cm-ide-green-hover)}
.cm-ghfm-code-save-state{
    flex:0 0 auto;
    min-width:70px;
    padding-bottom:8px;
    font-size:12px;
    font-weight:700;
}
.cm-ghfm-code-save-state.is-dirty{color:#9a6700}
.cm-ghfm-code-save-state.is-saved{color:var(--cm-ide-green)}
.cm-ghfm-code-save-state.is-error{color:#cf222e}

.cm-ghfm-monaco-host{
    flex:1 1 auto;
    width:100%;
    min-height:480px;
    background:#1e1e1e;
}
.cm-ghfm-code-loading{
    display:grid;
    place-items:center;
    min-height:480px;
    color:#fff;
    background:#1e1e1e;
}
.cm-ghfm-monaco-fallback{
    flex:1 1 auto;
    box-sizing:border-box;
    width:100%;
    min-height:480px;
    resize:vertical;
    border:0;
    outline:0;
    padding:14px;
    font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
    background:#1e1e1e;
    color:#d4d4d4;
}
.cm-ghfm-code-find-hit{background:rgba(255,213,79,.32)}
.cm-ghfm-monaco-active .cm-ghfm-edit-plain,
.cm-ghfm-monaco-active .cm-ghfm-edit-visual{display:none!important}

/* The toolbar Save button is the primary Monaco save control.
   The old commit button is hidden only while Monaco is active; both use the same routine. */
.cm-ghfm-monaco-active .cm-ghfm-edit-commit{display:none!important}

@media (max-width:820px){
    .cm-ghfm-code-layout{min-height:62vh}
    .cm-ghfm-code-sidebar{
        display:block!important;
        position:absolute;
        z-index:20;
        inset:0 auto 0 0;
        width:min(84vw,320px);
        max-width:320px;
        transform:translateX(-105%);
        transition:transform .2s ease;
        box-shadow:10px 0 28px rgba(0,0,0,.18);
    }
    .cm-ghfm-code-ide.is-explorer-open .cm-ghfm-code-sidebar{transform:translateX(0)}
    .cm-ghfm-code-sidebar-overlay{
        position:absolute;
        z-index:19;
        inset:0;
        width:100%;
        border:0;
        background:rgba(0,0,0,.28);
        cursor:pointer;
    }
    .cm-ghfm-code-sidebar-overlay:not([hidden]){display:block}
    .cm-ghfm-code-toolbar{padding:7px}
    .cm-ghfm-code-find-wrap{min-width:170px}
    .cm-ghfm-code-find-wrap input{width:180px}
    .cm-ghfm-monaco-host,.cm-ghfm-monaco-fallback,.cm-ghfm-code-loading{min-height:58vh}
    .cm-ghfm-code-explorer-toggle{position:sticky;left:0;z-index:5}
}

@media (max-width:520px){
    .cm-ghfm-code-tabbar{min-height:42px}
    .cm-ghfm-code-explorer-toggle{padding:8px 10px}
    .cm-ghfm-code-tab{padding:8px}
    .cm-ghfm-code-toolbar select,
    .cm-ghfm-code-toolbar input,
    .cm-ghfm-code-find-prev,
    .cm-ghfm-code-find-next,
    .cm-ghfm-code-save{height:32px}
}

/* v1.0.30.103 — blue means this tab has unsaved changes. */
.cm-ghfm-code-tab.is-dirty{background:#eaf3ff}
.cm-ghfm-code-tab.is-dirty .cm-ghfm-code-tab-name{color:#0969da;font-weight:800}
.cm-ghfm-code-tab.is-dirty.is-active{background:#f3f8ff;border-bottom-color:#0969da}

/* v1.0.30.106 — live preview pane */
.cm-ghfm-code-workbench{
    flex:1 1 auto;
    min-width:0;
    display:flex;
    min-height:480px;
    overflow:hidden;
}
.cm-ghfm-code-editor-pane{
    flex:1 1 100%;
    min-width:0;
    display:flex;
    flex-direction:column;
}
.cm-ghfm-code-workbench.is-preview-open .cm-ghfm-code-editor-pane{
    flex:1 1 52%;
    width:52%;
}
.cm-ghfm-code-preview-pane{
    flex:1 1 48%;
    min-width:300px;
    display:flex;
    flex-direction:column;
    border-left:1px solid var(--cm-ide-border);
    background:#fff;
}
.cm-ghfm-code-preview-pane[hidden]{display:none!important}
.cm-ghfm-code-preview-head{
    flex:0 0 auto;
    min-height:39px;
    box-sizing:border-box;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    padding:5px 7px 5px 10px;
    border-bottom:1px solid var(--cm-ide-border);
    background:var(--cm-ide-soft);
}
.cm-ghfm-code-preview-head>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.cm-ghfm-code-preview-head button,
.cm-ghfm-code-preview-head a,
.cm-ghfm-code-preview-toggle{
    border:1px solid var(--cm-ide-border);
    border-radius:6px;
    background:#fff;
    color:#000!important;
    padding:5px 8px;
    font:inherit;
    cursor:pointer;
}
.cm-ghfm-code-preview-head a{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}
.cm-ghfm-code-preview-toggle.is-active{background:#eaf3ff;border-color:#54aeff;color:#0969da}
.cm-ghfm-code-preview-close{font-size:18px;line-height:1;padding:3px 8px!important}
.cm-ghfm-code-preview-frame-wrap{
    flex:1 1 auto;
    position:relative;
    width:100%;
    min-height:440px;
    overflow:hidden;
    background:#fff;
}
.cm-ghfm-code-preview-frame{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:440px;
    border:0;
    background:#fff;
    opacity:1;
    transition:opacity .12s ease;
}
.cm-ghfm-code-preview-frame.is-preview-buffer{z-index:2}
.cm-ghfm-code-preview-auto{
    display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;white-space:nowrap
}
.cm-ghfm-code-preview-auto select{
    height:29px;border:1px solid var(--cm-ide-border);border-radius:6px;background:#fff;color:#000;padding:2px 22px 2px 7px;font:inherit
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-preview-auto select{background:#252526;color:#ccc;border-color:#3c3c3c}
@media(max-width:820px){
    .cm-ghfm-code-workbench{position:relative;min-height:58vh}
    .cm-ghfm-code-workbench.is-preview-open .cm-ghfm-code-editor-pane{display:none}
    .cm-ghfm-code-preview-pane{
        flex:1 1 100%;
        width:100%;
        min-width:0;
        border-left:0;
    }
    .cm-ghfm-code-preview-frame-wrap,.cm-ghfm-code-preview-frame{min-height:58vh}
}


/* v1.0.30.110 — VS Code-style borderless Monaco workbench */
.cm-code-editor-editor .cm-ghfm-code-ide{
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    outline:0;
}
.cm-ghfm-code-ide,
.cm-ghfm-monaco-host,
.cm-ghfm-monaco-host .monaco-editor,
.cm-ghfm-monaco-host .monaco-editor .overflow-guard{
    box-shadow:none!important;
    outline:0!important;
}
.cm-ghfm-monaco-host,
.cm-ghfm-monaco-host .monaco-editor{
    border:0!important;
    border-radius:0!important;
}

/* Workbench theme follows the Dark / Light toggle instead of leaving a white frame. */
.cm-ghfm-code-ide.is-dark-workbench{
    --cm-ide-border:#3c3c3c;
    --cm-ide-bg:#1e1e1e;
    --cm-ide-soft:#252526;
    --cm-ide-text:#cccccc;
    --cm-ide-muted:#a6a6a6;
    --cm-ide-active:#37373d;
}
.cm-ghfm-code-ide.is-dark-workbench,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tabbar,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-layout,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-sidebar,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-sidebar-head,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-main,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-toolbar{
    background:var(--cm-ide-bg);
    color:var(--cm-ide-text);
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tabbar,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-sidebar,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-sidebar-head{
    background:var(--cm-ide-soft);
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-explorer-toggle,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-toolbar select,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-toolbar input,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-find-prev,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-find-next,
.cm-ghfm-code-ide.is-dark-workbench .cm-code-editor-close,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-theme-toggle,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-info-button,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-preview-toggle{
    background:#252526;
    color:#cccccc;
    border-color:#3c3c3c;
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab.is-active{
    background:#1e1e1e;
    color:#fff;
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab.is-dirty{
    background:#1f3552;
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab-close:hover,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-file:hover,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-file.is-active{
    background:#37373d;
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-preview-head{
    background:#252526;
    color:#cccccc;
    border-color:#3c3c3c;
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-preview-pane{
    border-color:#3c3c3c;
}
.cm-ghfm-code-theme-toggle,
.cm-ghfm-code-info-button,
.cm-ghfm-code-preview-toggle{
    flex:0 0 auto;
    height:34px;
    border:1px solid var(--cm-ide-border);
    border-radius:6px;
    background:#fff;
    color:var(--cm-ide-text);
    padding:0 11px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.cm-ghfm-code-info-button{min-width:40px;padding:0 8px}
.cm-ghfm-code-theme-toggle:hover,
.cm-ghfm-code-info-button:hover,
.cm-ghfm-code-preview-toggle:hover{background:var(--cm-ide-soft)}
@media(max-width:520px){
    .cm-ghfm-code-theme-toggle,
    .cm-ghfm-code-info-button,
    .cm-ghfm-code-preview-toggle{height:32px}
}


/* v1.0.30.112 — branch accordion Explorer */
.cm-ghfm-code-file-list{padding:0}
.cm-ghfm-code-branch{
    border-bottom:1px solid var(--cm-ide-border);
}
.cm-ghfm-code-branch-toggle{
    width:100%;
    min-height:36px;
    display:grid;
    grid-template-columns:18px minmax(0,1fr) auto;
    align-items:center;
    gap:4px;
    border:0;
    background:transparent;
    color:var(--cm-ide-text);
    padding:7px 9px;
    text-align:left;
    cursor:pointer;
    font:inherit;
}
.cm-ghfm-code-branch-toggle:hover{background:var(--cm-ide-active)}
.cm-ghfm-code-branch.is-main>.cm-ghfm-code-branch-toggle{
    font-weight:800;
}
.cm-ghfm-code-branch-toggle small{
    border:1px solid var(--cm-ide-border);
    border-radius:999px;
    padding:1px 6px;
    color:var(--cm-ide-muted);
    font-size:10px;
}
.cm-ghfm-code-branch-chevron{
    color:var(--cm-ide-muted);
    font-size:13px;
}
.cm-ghfm-code-branch-files{
    padding:2px 5px 6px;
    background:rgba(127,127,127,.025);
}
.cm-ghfm-code-tab-branch{
    max-width:110px;
    overflow:hidden;
    text-overflow:ellipsis;
    color:inherit;
    opacity:.8;
    font-size:10px;
}

/* Unsaved = solid blue tab with white type, saved = normal tab again. */
.cm-ghfm-code-tab.is-dirty,
.cm-ghfm-code-tab.is-dirty.is-active,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab.is-dirty,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab.is-dirty.is-active{
    background:#0969da!important;
    color:#fff!important;
    border-bottom-color:#58a6ff!important;
}
.cm-ghfm-code-tab.is-dirty .cm-ghfm-code-tab-name,
.cm-ghfm-code-tab.is-dirty .cm-ghfm-code-tab-branch,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab.is-dirty .cm-ghfm-code-tab-name,
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-tab.is-dirty .cm-ghfm-code-tab-branch{
    color:#fff!important;
}

/* Toolbar keeps navigation helpers together: Language + Find + Jump to Line; Save/Close/Preview/Theme live in the ribbon where applicable. */
.cm-ghfm-code-toolbar{
    align-items:flex-end;
}
.cm-ghfm-code-save-state{
    margin-left:auto;
}
@media(max-width:520px){
    .cm-ghfm-code-toolbar{
        gap:6px;
    }
    .cm-ghfm-code-find-wrap{min-width:150px}
    .cm-ghfm-code-find-wrap input{width:160px}
    .cm-ghfm-code-jump-wrap{min-width:120px}
    .cm-ghfm-code-jump-wrap select{width:130px}
}


/* v1.0.30.188 — iOS tap-and-type only.
   Keep Monaco's direct iOS input focus repair from v1.0.30.187, but do not show
   Monaco's floating iPad keyboard icon/control. Tapping editable code is the
   only software-keyboard UI: tap the code and type. */
.monaco-editor .iPadShowKeyboard,
.monaco-editor .ipad-show-keyboard,
.monaco-editor [class*="iPadShowKeyboard"]{
    display:none!important;
}
/* Two-finger pinch on the code surface is handled by CM Code Editor and changes
   Monaco font size instead of making the whole installed PWA drift away from its ribbon. */
.cm-ghfm-monaco-host{
    touch-action:pan-x pan-y;
}


/* v1.0.30.115 — arrow buttons removed; Enter/Shift+Enter navigate Find. */
.cm-ghfm-code-find-prev,
.cm-ghfm-code-find-next{
    display:none!important;
}


/* v1.0.30.159 — CM editor-only desktop/iOS context menu. */
.cm-ghfm-monaco-host,.cm-ghfm-monaco-host *{-webkit-touch-callout:none}
.cm-code-editor-context-menu{
    position:fixed;z-index:2147483000;min-width:248px;max-width:min(320px,calc(100vw - 16px));
    padding:5px;background:#252526;color:#f2f2f2;border:1px solid #454545;border-radius:7px;
    box-shadow:0 12px 34px rgba(0,0,0,.38);font:13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}
.cm-code-editor-context-item{
    width:100%;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:6px 10px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit
}
.cm-code-editor-context-item:hover,.cm-code-editor-context-item:focus{background:#094771;color:#fff;outline:0}
.cm-code-editor-context-item kbd{margin-left:auto;border:0;background:transparent;color:#bdbdbd;font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap}
.cm-code-editor-context-item:hover kbd,.cm-code-editor-context-item:focus kbd{color:#fff}
.cm-code-editor-context-separator{height:1px;margin:4px 6px;background:#454545}
.cm-code-editor-context-menu.is-light{background:#fff;color:#242424;border-color:#c8c8c8;box-shadow:0 12px 34px rgba(0,0,0,.2)}
.cm-code-editor-context-menu.is-light .cm-code-editor-context-item:hover,.cm-code-editor-context-menu.is-light .cm-code-editor-context-item:focus{background:#0060c0;color:#fff}
.cm-code-editor-context-menu.is-light .cm-code-editor-context-item kbd{color:#666}
.cm-code-editor-context-menu.is-light .cm-code-editor-context-item:hover kbd,.cm-code-editor-context-menu.is-light .cm-code-editor-context-item:focus kbd{color:#fff}
.cm-code-editor-context-menu.is-light .cm-code-editor-context-separator{background:#ddd}
@media(max-width:720px){.cm-code-editor-context-menu{min-width:min(280px,calc(100vw - 16px));font-size:14px}.cm-code-editor-context-item{min-height:40px;padding:8px 12px}}


/* v1.0.30.189 — active-file Jump to Line selector. */
.cm-ghfm-code-jump:disabled{opacity:.62;cursor:not-allowed}


/* v1.0.30.202 — iOS no-focus-zoom for Monaco surrounding UI only.
   Do not target Monaco's internal .inputarea textarea. */
@supports (-webkit-touch-callout: none) {
  @media (hover: none) and (pointer: coarse) {
    .cm-ghfm-code-ide .cm-ghfm-code-toolbar input:not(.inputarea),
    .cm-ghfm-code-ide .cm-ghfm-code-toolbar select,
    .cm-ghfm-code-ide input[type="search"]:not(.inputarea) {
      font-size:16px !important;
    }
  }
}


/* v1.0.30.203 — iOS Monaco coding function/predictive row. */


/* v1.0.30.229 — responsive Screen Size preview.
   Desktop/Laptop deliberately preserves the existing full preview. */
.cm-ghfm-code-preview-device-label{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.cm-ghfm-code-preview-device{
    height:29px;
    border:1px solid var(--cm-ide-border);
    border-radius:6px;
    background:#fff;
    color:#000;
    padding:2px 24px 2px 7px;
    font:inherit;
}
.cm-ghfm-code-ide.is-dark-workbench .cm-ghfm-code-preview-device{
    background:#252526;
    color:#ccc;
    border-color:#3c3c3c;
}
.cm-ghfm-code-preview-frame-wrap[data-preview-device="tablet"],
.cm-ghfm-code-preview-frame-wrap[data-preview-device="phone"]{
    background:#d9dde3;
}
.cm-ghfm-code-preview-frame-wrap[data-preview-device="tablet"] .cm-ghfm-code-preview-frame,
.cm-ghfm-code-preview-frame-wrap[data-preview-device="phone"] .cm-ghfm-code-preview-frame{
    inset:auto;
    box-shadow:0 10px 32px rgba(15,23,42,.22);
}
.cm-ghfm-code-preview-frame-wrap[data-preview-device="desktop"] .cm-ghfm-code-preview-frame,
.cm-ghfm-code-preview-frame-wrap[data-preview-device="auto"] .cm-ghfm-code-preview-frame{
    box-shadow:none;
}
@media(max-width:620px){
    .cm-ghfm-code-preview-head{
        align-items:flex-start;
    }
    .cm-ghfm-code-preview-head>div{
        width:100%;
        justify-content:flex-start;
    }
    .cm-ghfm-code-preview-device-label,
    .cm-ghfm-code-preview-auto{
        flex:1 1 auto;
    }
}


/* v1.0.30.263 — fully-rendered Live Preview on real desktop/laptop/tablet/phone. */
.cm-ghfm-code-preview-frame-wrap[data-preview-device="auto"]{
    background:#fff;
}
.cm-ghfm-code-preview-head button,
.cm-ghfm-code-preview-head a,
.cm-ghfm-code-preview-head select{
    touch-action:manipulation;
}
@media(max-width:820px){
    .cm-ghfm-code-workbench.is-preview-open{
        min-height:58dvh;
    }
    .cm-ghfm-code-workbench.is-preview-open .cm-ghfm-code-preview-pane{
        flex:1 1 100%;
        width:100%;
        min-width:0;
        min-height:0;
        border-left:0;
    }
    .cm-ghfm-code-workbench.is-preview-open .cm-ghfm-code-preview-head{
        flex:0 0 auto;
        padding-top:max(5px,env(safe-area-inset-top,0px));
        padding-left:max(8px,env(safe-area-inset-left,0px));
        padding-right:max(8px,env(safe-area-inset-right,0px));
    }
    .cm-ghfm-code-workbench.is-preview-open .cm-ghfm-code-preview-frame-wrap{
        flex:1 1 auto;
        min-height:52dvh;
    }
    .cm-ghfm-code-preview-close{
        min-width:40px;
        min-height:36px;
    }
}
@media(max-width:560px){
    .cm-ghfm-code-preview-head{gap:4px;padding-bottom:6px}
    .cm-ghfm-code-preview-head>strong{width:100%;font-size:13px}
    .cm-ghfm-code-preview-head>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;width:100%;gap:5px}
    .cm-ghfm-code-preview-device-label,.cm-ghfm-code-preview-auto{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px}
    .cm-ghfm-code-preview-device,.cm-ghfm-code-preview-interval{width:100%;min-width:0}
    .cm-ghfm-code-preview-refresh,.cm-ghfm-code-preview-new-page{grid-column:span 1;white-space:nowrap;text-align:center;justify-content:center}
    .cm-ghfm-code-preview-close{grid-column:3;grid-row:1 / span 2;align-self:stretch;min-width:42px}
}


/* v1.0.30.264 — Monaco/workbench all-device feature parity. */
@media(max-width:820px), (pointer:coarse){
    .cm-ghfm-code-tab,.cm-ghfm-code-explorer-toggle,.cm-ghfm-code-sidebar-close,
    .cm-ghfm-code-file,.cm-ghfm-code-branch-toggle,.cm-ghfm-code-comments-toggle,
    .cm-code-comments-ribbon button{
        touch-action:manipulation;-webkit-tap-highlight-color:transparent;
    }
    .cm-ghfm-code-file,.cm-ghfm-code-branch-toggle{min-height:42px}
    .cm-ghfm-code-tab{min-height:42px}
    .cm-ghfm-code-toolbar{
        flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;
        padding-bottom:7px;
    }
    .cm-ghfm-code-toolbar::-webkit-scrollbar{display:none}
    .cm-ghfm-code-toolbar>*,.cm-ghfm-code-find-wrap,.cm-ghfm-code-jump-wrap{flex:0 0 auto}
    .cm-ghfm-code-toolbar select,.cm-ghfm-code-toolbar input{min-height:40px}
    .cm-code-comments-ribbon{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .cm-code-comments-ribbon::-webkit-scrollbar{display:none}
    .cm-code-review-pr-actions button{min-height:44px}
}
@media(max-width:560px){
    .cm-ghfm-code-sidebar{width:min(92vw,360px);max-width:92vw}
    .cm-ghfm-code-find-wrap{min-width:190px}
    .cm-ghfm-code-find-wrap input{width:190px}
    .cm-ghfm-code-jump-wrap{min-width:150px}
    .cm-ghfm-code-jump-wrap select{width:150px}
    .cm-code-review-chat-pane .cm-code-review-form{grid-template-columns:1fr!important}
    .cm-code-review-chat-pane .cm-code-review-message,.cm-code-review-chat-pane .cm-code-review-post{grid-column:1!important}
    .cm-code-review-chat-pane .cm-code-review-post{min-height:44px}
    .cm-code-review-pr-actions{display:grid;grid-template-columns:1fr}
    .cm-code-review-pr-actions button{width:100%}
}
.cm-ghfm-code-file.is-touch-selected{box-shadow:inset 0 0 0 2px #0969da}
