.accent-color-control { display:inline-flex; align-items:center; gap:6px; padding:6px; font-size:13px; }
.editor-context-menu { position:fixed; z-index:11000; min-width:170px; padding:5px; background:#202434; color:#edf4ff; border:1px solid #596078; border-radius:10px; box-shadow:0 8px 24px #0004; }
.editor-context-menu[hidden] { display:none; }
.editor-context-menu button { display:block; width:100%; border:0; border-radius:5px; padding:9px 14px; text-align:left; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.editor-context-menu button:hover:not(:disabled), .editor-context-menu button:focus-visible { background:#8294ad33; }
.editor-context-menu button:disabled { opacity:.4; cursor:default; }
html[data-theme="light"] .editor-context-menu { background:#fff; color:#243247; border-color:#d7dfeb; }
.accent-color-control ~ #resetInterfaceAccent { display:inline-block; padding:4px; }
.mobile-coding-tip { position:fixed; bottom:78px; right:18px; z-index:1040; display:flex; align-items:flex-start; gap:12px; width:min(360px, calc(100vw - 32px)); padding:14px 16px; border:1px solid var(--user-accent, #64ffda); border-radius:14px; background:#172b42; color:#edf4ff; box-shadow:0 8px 24px #0003; font-size:14px; line-height:1.5; }
.mobile-coding-tip button { flex:none; border:0; background:transparent; color:inherit; font-size:24px; line-height:1; min-width:32px; min-height:32px; cursor:pointer; }
html[data-theme="light"] .mobile-coding-tip { background:#ffffff; color:#243247; }
.accent-color-control input { width:24px; height:24px; padding:1px; border:1px solid #8794a8; border-radius:6px; cursor:pointer; background:transparent; }
html[data-custom-accent] .btn-run-header,
html[data-custom-accent] .python-repl-run,
html[data-custom-accent] .btn-primary {
    background:var(--user-accent) !important;
    color:var(--user-accent-ink) !important;
    border-color:var(--user-accent) !important;
}
html[data-custom-accent] .teacher-contact-link,
html[data-custom-accent] .catalog-teacher-contact {
    background:color-mix(in srgb, var(--user-accent) 15%, transparent) !important;
    color:var(--user-accent) !important;
    border-color:color-mix(in srgb, var(--user-accent) 40%, transparent) !important;
}
html[data-custom-accent] .teacher-contact-link:hover,
html[data-custom-accent] .catalog-teacher-contact:hover {
    background:color-mix(in srgb, var(--user-accent) 25%, transparent) !important;
}
html[data-custom-accent] .editor-tool-btn { border-color:var(--user-accent) !important; }
html[data-custom-accent] .editor-tool-btn:hover,
html[data-custom-accent] .btn-save-header { background:var(--user-accent) !important; color:var(--user-accent-ink) !important; }
html .python-repl-input-row,
html .python-repl-input,
html .python-repl-input:focus { border:0 !important; outline:none !important; box-shadow:none !important; }
html[data-custom-accent] .python-repl-prompt { color:var(--user-accent) !important; }
html[data-custom-accent] .console-input,
html[data-custom-accent] .console-input-value { color:var(--user-accent) !important; caret-color:var(--user-accent); }
html .console-input,
html .console-input:focus { border:0 !important; outline:none !important; box-shadow:none !important; }
html[data-custom-accent] input:focus,
html[data-custom-accent] textarea:focus { outline-color:var(--user-accent); border-color:var(--user-accent) !important; }
