:root{--bg-deep: #f0f2f5;--bg-panel: #ffffff;--bg-header: #ffffff;--bg-glass: rgba(255, 255, 255, .85);--bg-subtle: #f8f9fa;--accent-amber: #ef9f27;--accent-amber-glow: rgba(239, 159, 39, .2);--accent-purple: #533ab7;--accent-purple-glow: rgba(83, 58, 183, .15);--accent-purple-subtle: rgba(83, 58, 183, .06);--text-primary: #1a1a21;--text-secondary: #4a4a5e;--text-dim: #8a8a9e;--border-light: rgba(0, 0, 0, .08);--border-bright: rgba(0, 0, 0, .12);--error-color: #d93025;--warn-color: #f9ab00;--info-color: #1a73e8;--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: Menlo, Monaco, Consolas, "Courier New", Courier, monospace;--font-size-base: 16px;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:10px}body,html{margin:0;padding:0;height:100%;font-family:var(--font-main);background-color:var(--bg-deep);color:var(--text-primary);overflow:hidden;-webkit-font-smoothing:antialiased}.top-bar{position:relative;height:60px;background-color:var(--bg-header);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid var(--border-light);box-shadow:0 2px 10px #0000000d}.logo-wrapper{display:flex;align-items:center;gap:16px;flex:0 1 auto;min-width:0;max-width:calc(50vw - 120px)}.logo-container{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none;flex-shrink:0}.logo-img{height:42px;width:auto;filter:drop-shadow(0 2px 8px var(--accent-amber-glow));transition:var(--transition-smooth);margin-right:4px}.logo-container:hover .logo-img{transform:scale(1.1) rotate(-5deg);filter:drop-shadow(0 4px 12px var(--accent-amber))}.logo-text{font-size:1.7rem;font-weight:800;letter-spacing:-1px;color:#1a1a1c;line-height:1;display:flex;align-items:center}.logo-accent{color:var(--accent-amber);margin-left:1px}.doc-title{font-size:.9rem;padding:8px 14px;border:1px solid var(--border-light);border-radius:10px;color:var(--text-secondary);outline:none;background:var(--bg-subtle);transition:border-color var(--transition-smooth),background-color var(--transition-smooth),color var(--transition-smooth),box-shadow var(--transition-smooth);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;field-sizing:content;width:auto;min-width:120px;max-width:calc(50vw - 280px)}.doc-title:hover,.doc-title:focus{border-color:var(--accent-purple);background-color:#fff;color:var(--text-primary);box-shadow:0 4px 12px var(--accent-purple-glow)}.doc-title::placeholder{color:var(--text-dim)}.doc-title[readonly],.doc-title:disabled{cursor:not-allowed;opacity:.6}.doc-title[readonly]:hover,.doc-title[readonly]:focus,.doc-title:disabled:hover,.doc-title:disabled:focus{border-color:var(--border-light);background:var(--bg-subtle);color:var(--text-secondary);box-shadow:none}.cloud-sync-status{position:absolute;left:55%;transform:translate(-50%);z-index:10;display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth);background:#ef9f2714;border:1px solid rgba(239,159,39,.3);color:var(--accent-amber);min-height:38px;height:auto;line-height:1;user-select:none;max-width:calc(100vw - 320px)}.cloud-status-text{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;line-height:1.2}.cloud-status-title{font-size:.76rem;font-weight:600;letter-spacing:-.01em}.cloud-status-subtitle{font-size:.68rem;font-weight:500;opacity:.85;margin-top:1px;display:block;text-align:center;width:100%}.cloud-sync-status.unauthenticated{background:#ef9f2714;border:1px solid rgba(239,159,39,.3);color:var(--accent-amber)}.cloud-sync-status{&.code-along{background:#f3edff;border-color:#cbb9ed;color:#65449a;&:hover{background:#eae0fb;border-color:#a98bd8;box-shadow:0 0 12px #65449a29}&.connecting{background:#fff4e3;border-color:#f4bf72;color:#a45a00;&:hover{background:#ffebc7;border-color:#e99b2f;box-shadow:0 0 12px #a45a0029}}}}.code-along-status-menu{position:absolute;z-index:300;width:220px;transform:translate(-50%);padding:6px 0;border:1px solid var(--border-bright);border-radius:12px;background:#fffffffa;box-shadow:0 10px 28px #1e182d26}.code-along-status-menu-message{margin:0;padding:8px 14px 6px;color:var(--text-secondary);font-size:.75rem;line-height:1.4}.code-along-status-participants{padding:8px 14px;color:var(--text-secondary);font-size:.75rem;strong{display:block;margin-bottom:6px;color:var(--text-primary);font-size:.78rem}ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}li{display:flex;align-items:center;gap:7px;&.empty{color:var(--text-dim);font-style:italic}}}.code-along-participant-dot{width:7px;height:7px;border-radius:50%;background:#7d5bb4;box-shadow:0 0 0 2px #eee5fb}.cloud-sync-status.unauthenticated:hover{background:#ef9f2729;border-color:var(--accent-amber);box-shadow:0 0 12px #ef9f2740}.cloud-sync-status.error{background:#fef2f2f5;backdrop-filter:blur(8px);border:1px solid rgba(239,68,68,.55);color:#d93025;box-shadow:0 2px 8px #d9302526;animation:error-glow 2.5s infinite ease-in-out}.cloud-sync-status.error:hover{background:#fee2e2;border-color:#d93025;color:#b3261e;box-shadow:0 4px 14px #d9302540}.cloud-status-icon{width:16px;height:16px;flex-shrink:0;transition:transform .2s ease,color .2s ease}.cloud-status-icon[hidden]{display:none}.cloud-sync-status.error .cloud-status-icon{color:#d93025}@keyframes error-glow{0%,to{box-shadow:0 2px 8px #d9302526}50%{box-shadow:0 4px 16px #d9302559}}.header-menu-container{position:relative;display:inline-flex;align-items:center}.header-menu-btn{width:38px;height:38px;padding:0;border-radius:10px;background:var(--bg-subtle);border:1px solid var(--border-light);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.header-menu-btn:hover,.header-menu-btn:focus-visible,.header-menu-container.open .header-menu-btn{background:#fff;border-color:var(--accent-purple);color:var(--accent-purple);box-shadow:0 2px 8px var(--accent-purple-glow)}.header-dropdown{position:absolute;right:0;top:100%;margin-top:8px;width:220px;background-color:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-bright);border-radius:14px;box-shadow:0 12px 30px #00000014,0 4px 10px #00000008;padding:6px 0;z-index:250;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.header-menu-container.open .header-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.menu-item{width:100%;text-align:left;padding:10px 16px;display:flex;align-items:center;gap:12px;background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.menu-item[hidden]{display:none}.code-along-remote-selection{outline:1px solid var(--code-along-presence-color)}.code-along-remote-cursor{display:inline-block;height:1.2em;margin-right:-2px;border-right:2px solid var(--code-along-presence-color);vertical-align:text-bottom}@keyframes code-along-label-fade{0%,60%{opacity:1}to{opacity:.2}}.code-along-owner-cursor,.code-along-selection-label{position:relative;&:after{position:absolute;bottom:calc(100% + 3px);left:-2px;z-index:2;padding:1px 4px;border-radius:3px 3px 0 0;background:var(--code-along-presence-color);color:#fff;font:600 10px/1.2 system-ui,sans-serif;opacity:.2;pointer-events:auto;animation:code-along-label-fade 1.25s ease-out forwards;transition:opacity .5s ease;white-space:nowrap;content:attr(data-presence-label)}&:hover:after{opacity:1;animation:none;transition:opacity .15s ease}}.code-along-owner-cursor:after{border-radius:3px}.code-along-selection-label{display:inline-block;width:0;height:1em;vertical-align:text-bottom}.code-along-selection-label-below:after{top:calc(100% + 2px);bottom:auto;border-radius:0 0 3px 3px}.code-along-pastel-0{--code-along-presence-color: #dd8294;background:#ffbcc773}.code-along-pastel-1{--code-along-presence-color: #669dcc;background:#add8ff7a}.code-along-pastel-2{--code-along-presence-color: #65a879;background:#b7ebc780}.code-along-pastel-3{--code-along-presence-color: #9671c5;background:#ddc4ff7a}.code-along-pastel-4{--code-along-presence-color: #c28a42;background:#ffdca580}.code-along-comment-anchor{border-bottom:2px dotted #8a63c7;background:#ddc4ff38;cursor:pointer;&.resolved{border-bottom-color:#98a0aa;background:#98a0aa1f}}.cm-code-along-comment-gutter{position:relative;z-index:2;flex:0 0 20px;width:20px;margin-left:-20px;overflow:visible;pointer-events:none;.cm-gutterElement{position:relative;width:20px;padding:0;overflow:visible;pointer-events:none}}.cm-gutter-lint{pointer-events:none;.cm-gutterElement{pointer-events:auto;background-color:transparent;&.code-along-comment-line{pointer-events:none}}}.cm-foldGutter{width:14px;flex:0 0 14px;.cm-gutterElement{width:14px;padding:0;text-align:center}}.cm-gutters:not(:has(.cm-foldGutter)) .cm-lineNumbers .cm-gutterElement{min-width:34px;padding-right:17px}.code-along-comment-thread-btn{position:absolute;top:50%;right:1px;display:grid;width:20px;height:20px;place-items:center;transform:translateY(-50%);padding:0;border:0;border-radius:5px;background:#f0e7ff;box-shadow:inset 0 0 0 1px #7652ac2e;color:#7652ac;cursor:pointer;pointer-events:auto;&:hover,&:focus-visible{background:#e3d4fb;outline:none}svg{width:15px;height:15px;fill:#fff;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}>span{position:absolute;top:-4px;right:-3px;min-width:11px;height:11px;padding:0 2px;border:1px solid #fff;border-radius:6px;background:#7652ac;color:#fff;font-size:8px;font-weight:700;line-height:10px}}.code-along-comment-popover{position:fixed;z-index:320;box-sizing:border-box;width:min(280px,calc(100vw - 16px));max-height:min(440px,calc(100vh - 16px));overflow-y:auto;padding:11px 12px;border:1px solid #cbb6ea;border-radius:10px;background:#fffffffa;color:var(--text-primary);box-shadow:0 8px 24px #3427472e;&:focus{outline:none}strong{display:block;margin-bottom:5px;font-size:.78rem}p{margin:0;font-size:.84rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}}.code-along-comment-thread{padding:9px 0;border-top:1px solid var(--border-light);&:first-of-type{margin-top:7px}&.resolved{opacity:.68}}.code-along-comment-reply{margin:8px 0 0 12px;padding:7px 8px;border-left:2px solid #d9cbed;background:var(--bg-subtle);strong{font-size:.72rem}}.code-along-thread-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.code-along-thread-composer{display:flex;align-items:flex-end;gap:5px;margin-top:7px;&[hidden]{display:none}textarea{box-sizing:border-box;min-width:0;flex:1;resize:vertical;padding:6px;border:1px solid var(--border-light);border-radius:6px;font:inherit;font-size:.76rem}}:is(.code-along-thread-actions,.code-along-thread-composer){button{padding:3px 6px;border:0;border-radius:5px;background:transparent;color:#654596;font:inherit;font-size:.72rem;cursor:pointer;&:hover,&:focus-visible{background:#eadcff;outline:none}}}.code-along-comment-btn{position:fixed;z-index:300;display:grid;width:30px;height:30px;align-items:center;justify-items:center;padding:0;border:1px solid #cbb6ea;border-radius:8px;background:#f4edff;color:#654596;box-shadow:0 5px 16px #4d307729;cursor:pointer;&[hidden]{display:none}&:hover{background:#eadcff;border-color:#ae8edc}svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}}.code-along-comment-composer{position:fixed;z-index:310;width:280px;padding:12px;border:1px solid var(--border-bright);border-radius:12px;background:#fffffffa;box-shadow:0 10px 28px #34274733;&[hidden]{display:none}label{display:block;margin-bottom:7px;color:var(--text-primary);font-size:.82rem;font-weight:600}textarea{box-sizing:border-box;width:100%;min-height:70px;resize:vertical;padding:8px 9px;border:1px solid var(--border-light);border-radius:8px;font:inherit;font-size:.84rem;&:focus{border-color:var(--accent-purple);outline:2px solid var(--accent-purple-glow)}}}.code-along-comment-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:9px;button{padding:6px 10px;border:1px solid var(--border-light);border-radius:7px;background:var(--bg-subtle);color:var(--text-secondary);font:inherit;font-size:.8rem;cursor:pointer;&#code-along-comment-submit{border-color:var(--accent-purple);background:var(--accent-purple);color:#fff}}}.code-along-link-input{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-subtle);color:var(--text-secondary);font:inherit;font-size:.8rem}.code-along-console-request,.code-along-console-pending{margin:6px 10px;padding:9px 10px;border:1px solid rgba(118,82,172,.3);border-radius:8px;background:#faf7ff;color:var(--text-primary);font-size:.75rem}.code-along-console-pending{border-color:#7652ac8c}.code-along-console-pending-label{display:inline-block;margin-left:6px;color:var(--accent-purple);font-weight:600}.code-along-console-suggestion{max-height:90px;margin:6px 0 8px;padding:7px 9px;overflow:auto;border:1px solid var(--border-light);border-radius:6px;background:#fff;color:var(--text-primary);font:12px / 1.4 var(--font-mono);white-space:pre-wrap;word-break:break-word}.code-along-console-request-actions{display:flex;justify-content:flex-end;gap:6px;button{padding:5px 9px;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer}}.menu-item:hover,.menu-item:focus-visible{background-color:var(--bg-subtle);color:var(--accent-purple)}.menu-icon{width:16px;height:16px;color:var(--text-secondary);transition:color .15s ease;flex-shrink:0}.menu-item:hover .menu-icon{color:var(--accent-purple)}.menu-divider{height:1px;background-color:var(--border-light);margin:6px 0}.menu-item-logout:hover{background-color:#d32f2f0f;color:#d32f2f}.menu-item-logout:hover .menu-icon{color:#d32f2f}.actions{display:flex;align-items:center;gap:12px;flex-shrink:0}button{font-family:var(--font-main);font-weight:600;font-size:.85rem;padding:8px 16px;border-radius:10px;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;gap:8px}.secondary-btn{background-color:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-light)}.secondary-btn:hover{background-color:#fff;border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-1px);box-shadow:0 4px 10px #0000000d}.secondary-btn.highlighted{background-color:var(--accent-purple-subtle);color:var(--accent-purple);border:1px solid var(--accent-purple)}.secondary-btn.highlighted:hover{background-color:#533ab71f;color:var(--accent-purple);border-color:var(--accent-purple);transform:translateY(-1px);box-shadow:0 4px 10px var(--accent-purple-glow)}.primary-btn{background:var(--accent-purple);color:#fff;border:none;box-shadow:0 4px 12px var(--accent-purple-glow)}.primary-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 15px var(--accent-purple-glow)}.primary-btn:disabled,.secondary-btn:disabled,.env-btn:disabled,.env-option:disabled,.menu-item:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none;filter:none}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(139,92,246,.25);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .8s linear infinite;box-sizing:border-box}.primary-btn.btn-loading:after{border-color:#ffffff4d;border-top-color:#fff}.container{display:flex;height:calc(100% - 60px);background:#fff}.editors{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border-light);background:#fff;margin:0;border-radius:0;overflow:hidden;transition:var(--transition-smooth)}.editor-container{flex:1;display:flex;flex-direction:column;min-height:100px;border-bottom:1px solid var(--border-light);transition:var(--transition-smooth)}.editor-container:last-child{border-bottom:none}.editor-label,.console-header,.preview-bar{background:#fcfcfd;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light);flex-shrink:0;min-height:38px}.editor-label,.console-header{font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;user-select:none}.editor-label:after,.console-header:after{content:"\25be";font-size:.9rem;color:var(--text-dim);margin-left:10px;transition:var(--transition-smooth)}.editor-label-text{flex:1}.editor-label-right{display:flex;align-items:center;gap:10px}.code-along-owner-editing-indicator{display:none;align-items:center;gap:5px;color:var(--accent-purple);font-size:.65rem;letter-spacing:0;text-transform:none}.code-along-owner-editing-indicator:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-purple);box-shadow:0 0 0 3px var(--accent-purple-glow)}body[data-code-along-role=viewer] .editor-container.code-along-owner-editing .code-along-owner-editing-indicator{display:flex}.editor-container.collapsed .editor-label:after,.console-wrapper.collapsed .console-header:after{transform:rotate(-90deg)}.health-indicator{width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);position:relative}.health-error:after{content:"\2715";font-weight:800;color:#fff;background-color:var(--error-color);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;box-shadow:0 0 10px #d930254d}.health-ok:after{content:"\2713";font-weight:800;color:#fff;background-color:#28a745;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 0 10px #28a7454d}.health-warning:after{content:"\26a0";font-weight:800;color:#fff;background-color:var(--warn-color);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;box-shadow:0 0 10px #f9ab004d}.editor-container:before{opacity:0;content:"";position:absolute;left:0;top:0;bottom:0;width:3px;z-index:1;transition:opacity .25s ease}.editor-error{position:relative}.editor-error:before{opacity:1;background:var(--error-color)}.editor-error .cm-editor,.editor-error .editor-label{background-color:#fff5f5}.editor-error .editor-label{border-bottom-color:#d930251a}.editor-error .cm-editor,.editor-error .cm-scroller{background-color:#fff6f6}.editor-warning{position:relative}.editor-warning:before{opacity:1;background:var(--warn-color)}.editor-warning .cm-editor,.editor-warning .editor-label{background-color:#fffbeb}.editor-warning .editor-label{border-bottom-color:#f9ab001a}.editor-warning .cm-editor,.editor-warning .cm-scroller{background-color:#fffdf5}#html-editor,#css-editor,#js-editor{flex:1;overflow-y:auto;overflow-x:hidden}.editors .cm-editor{height:100%;font-family:var(--font-mono);font-size:.95rem}.loading-throbber{position:relative}.loading-throbber:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--accent-amber-glow) 50%,transparent 100%);background-size:200% 100%;animation:throbber-pulse 1.4s ease-in-out infinite;z-index:15;border-radius:inherit}@keyframes throbber-pulse{0%{background-position:200% 0;opacity:.15}50%{background-position:0% 0;opacity:.65}to{background-position:-200% 0;opacity:.15}}.unstyled-code{margin:0;padding:4px;font-family:var(--font-mono);font-size:.95rem;line-height:1.4;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;opacity:.85;pointer-events:none;user-select:none;overflow:hidden;height:100%;border-left:48px solid #f5f5f5;tab-size:2}.layout-resizer{width:6px;background:transparent;cursor:col-resize;flex-shrink:0;position:relative;transition:background .2s ease;z-index:10;margin:0 -3px}.layout-resizer:after{content:"";position:absolute;left:2px;top:0;bottom:0;width:2px;background:var(--border-light);transition:background .2s ease,width .2s ease,left .2s ease}.layout-resizer:hover:after,.layout-resizer.dragging:after{background:var(--accent-purple);width:4px;left:1px}.container.is-resizing .editors{transition:none!important}.container.is-resizing iframe{pointer-events:none!important}.editors.all-collapsed+.layout-resizer{display:none}.preview-panel{flex:1;display:flex;flex-direction:column}.preview-bar{gap:12px;position:relative}.preview-page-info{display:flex;align-items:center;gap:8px;position:absolute;left:50%;max-width:50%;min-width:0;transform:translate(-50%);font-size:.8rem;font-weight:600;color:var(--text-primary)}.preview-page-info[hidden]{display:none}#preview-favicon{width:16px;height:16px;flex:0 0 16px;object-fit:contain}#preview-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{font-size:.8rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.status:before{content:"";width:8px;height:8px;background:#28a745;border-radius:50%;box-shadow:0 0 8px #28a7454d}.status-error:before{background:var(--error-color);box-shadow:0 0 8px #d930254d}.status-warning:before{background:var(--warn-color);box-shadow:0 0 8px #f9ab004d}.preview-actions{display:flex;align-items:center;gap:6px}#reload-btn,#popout-btn,#cpp-popout-btn{background:transparent;color:var(--text-dim);border:1px solid transparent;padding:6px;border-radius:8px;transition:var(--transition-smooth);justify-content:center}#reload-btn:hover,#popout-btn:hover,#cpp-popout-btn:hover{background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--text-primary)}#cpp-terminal-source-btn{display:none;background:transparent;color:var(--text-dim);border:1px solid var(--border-bright);padding:6px 10px;border-radius:8px;font:700 .75rem var(--font-main);cursor:pointer;transition:var(--transition-smooth)}body[data-code-along-role=viewer] #cpp-terminal-source-btn:not([hidden]){display:inline-flex}.cpp-terminal-input-notice{margin:0;padding:8px 16px;background:#fff8e6;border-top:1px solid #f0d18a;color:#76500b;font-size:.8rem;text-align:center}#cpp-terminal-panel[data-input-unavailable=true] #terminal-container,#cpp-terminal-panel[data-input-unavailable=true] #terminal-container *{cursor:not-allowed!important}#cpp-terminal-source-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}#cpp-run-btn{position:relative;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--accent-amber) 0%,#f57c00 100%);color:#fff;border:none;padding:6px 14px;border-radius:8px;font-family:var(--font-main);font-weight:700;font-size:.8rem;letter-spacing:.5px;cursor:pointer;box-shadow:0 4px 12px #ef9f2766;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:visible}#cpp-run-btn:hover{background:linear-gradient(135deg,var(--accent-purple) 0%,#6e45e2 100%);box-shadow:0 6px 20px #533ab780,0 0 12px #fac7754d;transform:translateY(-1.5px) scale(1.03)}#cpp-run-btn:active{transform:translateY(.5px) scale(.97);box-shadow:0 2px 8px #ef9f274d}#cpp-run-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}#cpp-run-btn .run-icon{transition:transform .3s ease;fill:currentColor}#cpp-run-btn:hover .run-icon{transform:scale(1.1) translate(1px)}#cpp-run-btn .sparkle{position:absolute;pointer-events:none;opacity:0;fill:#fac775;filter:drop-shadow(0 0 4px rgba(250,199,117,.8))}#cpp-run-btn .sparkle-1{top:-4px;right:12px;width:12px;height:12px}#cpp-run-btn .sparkle-2{bottom:-2px;left:12px;width:10px;height:10px}#cpp-run-btn .sparkle-3{top:-2px;left:16px;width:8px;height:8px}#cpp-run-btn .sparkle-4{bottom:-4px;right:16px;width:9px;height:9px}#cpp-run-btn:hover .sparkle-1{animation:sparkle-spread-tr 1.6s infinite ease-out}#cpp-run-btn:hover .sparkle-2{animation:sparkle-spread-bl 1.6s infinite ease-out;animation-delay:.4s}#cpp-run-btn:hover .sparkle-3{animation:sparkle-spread-tl 1.6s infinite ease-out;animation-delay:.8s}#cpp-run-btn:hover .sparkle-4{animation:sparkle-spread-br 1.6s infinite ease-out;animation-delay:1.2s}@keyframes sparkle-spread-tr{0%{transform:translate(0) scale(0) rotate(0);opacity:0}15%{opacity:1}80%{opacity:.8}to{transform:translate(12px,-12px) scale(1.2) rotate(180deg);opacity:0}}@keyframes sparkle-spread-bl{0%{transform:translate(0) scale(0) rotate(0);opacity:0}15%{opacity:1}80%{opacity:.8}to{transform:translate(-10px,10px) scale(1) rotate(-180deg);opacity:0}}@keyframes sparkle-spread-tl{0%{transform:translate(0) scale(0) rotate(0);opacity:0}15%{opacity:1}80%{opacity:.8}to{transform:translate(-12px,-8px) scale(.9) rotate(-90deg);opacity:0}}@keyframes sparkle-spread-br{0%{transform:translate(0) scale(0) rotate(0);opacity:0}15%{opacity:1}80%{opacity:.8}to{transform:translate(10px,8px) scale(1.1) rotate(90deg);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#reload-btn.spinning svg{animation:spin .6s cubic-bezier(.4,0,.2,1)}.preview-wrapper{flex:2;display:flex;flex-direction:column;min-height:0;background:#fff;margin:0;border-radius:0;overflow:hidden;border-bottom:1px solid var(--border-light)}#preview-iframe{flex:1;width:100%;height:100%;min-height:0;border:none}.console-wrapper{flex:1;background:#fff;display:flex;flex-direction:column;margin:0;border-radius:0;overflow:hidden;transition:var(--transition-smooth)}.console-header-left{flex:1}.console-header-right{display:flex;align-items:center;gap:10px}#clear-console{background:#fff;color:var(--text-dim);border:1px solid var(--border-light);padding:4px 16px;font-size:.65rem;border-radius:4px}#clear-console:hover{color:var(--text-primary);border-color:var(--accent-purple)}.collapsed #clear-console{display:none}.console-content{flex:1;padding:8px 12px 0;font-family:var(--font-mono);font-size:.85rem;overflow-y:auto;background:#fff;color:#24292e}.log-entry{margin-bottom:6px;border-bottom:1px solid var(--border-light);padding-bottom:6px;word-break:break-all;overflow-wrap:anywhere;white-space:pre-wrap}.log-warn{color:var(--warn-color)}.log-error{color:var(--error-color)}.error-line-link{display:inline;background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font-family:inherit;font-size:inherit;font-weight:700}.error-line-link:hover{opacity:.8}.log-info{color:var(--info-color)}.console-input-row{display:flex;align-items:center;padding:6px 12px;gap:8px}.console-prompt-icon{color:var(--text-dim);font-family:var(--font-mono);font-weight:700;font-size:.9rem;user-select:none}.console-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:.85rem;color:var(--text-primary)}.console-input::placeholder{color:var(--text-dim);opacity:.6}.log-repl-input{color:#24292e;font-weight:600;display:flex;gap:6px}.log-repl-input .repl-prompt-symbol{color:var(--accent-purple);font-weight:700}.log-repl-result{display:flex;gap:6px;padding-left:12px}.repl-val-undefined,.repl-val-null{color:#6a737d;font-style:italic}.repl-val-number,.repl-val-boolean{color:#005cc5;font-weight:600}.repl-val-string{color:#032f62}.repl-val-function{color:#6f42c1;font-style:italic}.repl-val-element{color:#22863a;font-weight:600}.repl-val-object,.repl-val-array{color:#24292e}.repl-val-error{color:var(--error-color);font-weight:500}.modal{position:fixed;inset:0;background-color:#0f1117a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;z-index:1000;transform:translateZ(0);padding:16px}#error-modal{z-index:10001}.modal-content{background-color:#fff;padding:32px;border:1px solid rgba(0,0,0,.08);width:100%;max-width:460px;border-radius:24px;box-shadow:0 24px 60px -12px #00000040,0 12px 24px -8px #0000001a;position:relative;overflow:hidden;animation:modalSlideUp .28s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideUp{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content.wide{max-width:640px}.modal-header{display:flex;flex-direction:column;align-items:flex-start}.modal-content h2,.dialog-title{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.015em;line-height:1.3}.modal-content p,.modal-body{color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin:0 0 24px}.modal-footer{display:flex;flex-direction:column;gap:10px;width:100%}.modal-footer button{width:100%;justify-content:center;padding:11px 18px;font-size:.92rem;font-weight:600;border-radius:12px;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;gap:8px}.modal-footer .primary-btn{background:linear-gradient(135deg,var(--accent-purple) 0%,#6b46c1 100%);color:#fff;border:none;box-shadow:0 4px 14px var(--accent-purple-glow)}.modal-footer .primary-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #533ab759;filter:brightness(1.08)}.modal-footer .secondary-btn{background-color:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-bright)}.modal-footer .secondary-btn:hover{background-color:#fff;border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-1px);box-shadow:0 3px 10px #0000000d}.modal-footer-secondary-row{display:flex;gap:10px;width:100%}.modal-footer-secondary-row button{flex:1;font-size:.88rem;padding:10px 12px}button.close{position:absolute;right:20px;top:20px;width:34px;height:34px;border-radius:50%;background:var(--bg-subtle);color:var(--text-dim);font-size:20px;line-height:1;border:1px solid var(--border-light);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth);padding:0;margin:0;z-index:10}button.close:hover{background:#e5e7eb;color:var(--text-primary);transform:scale(1.06);border-color:var(--border-bright)}:where(a:any-link,button,[tabindex="0"],[contenteditable=true]):focus-visible{outline:3px solid var(--accent-purple);outline-offset:-3px}.editors.all-collapsed:focus-visible{outline:3px solid var(--accent-purple);outline-offset:-3px;background:#fff}.modal-form{display:flex;flex-direction:column;gap:12px;width:100%}.modal-form input{background:var(--bg-subtle);padding:14px 20px;border-radius:12px;border:1px solid var(--border-light);font-family:var(--font-main);outline:none;transition:var(--transition-smooth);width:100%;font-size:1rem}.modal-form input:focus{background:#fff;border-color:var(--accent-purple);box-shadow:0 0 0 4px var(--accent-purple-glow)}.modal-form button{padding:14px;background:var(--accent-purple);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition-smooth);justify-content:center;width:100%}.modal-form button:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-purple-glow)}.modal-form button:disabled{opacity:.5;cursor:not-allowed;transform:none}#send-link-btn{padding:12px 14px;border-radius:10px}.error-banner,.warning-banner,.sent-indicator{padding:12px 16px;border-radius:12px;display:flex;gap:10px;will-change:transform,opacity;transform:translateZ(0)}.error-banner,.warning-banner{align-items:flex-start}.sent-indicator{align-items:center}.error-banner{background-color:#fff5f5;color:var(--error-color);border:1px solid rgba(217,48,37,.1);margin-bottom:20px;font-size:.9rem;font-weight:500}.warning-banner{background-color:#ef9f2714;color:#ef9f27;border:1px solid rgba(239,159,39,.2);margin-bottom:20px;font-size:.9rem;font-weight:500}.sent-indicator{background-color:#f0fdf4;color:#166534;border:1px solid rgba(22,101,52,.1);font-size:1rem;font-weight:600;justify-content:center;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.sent-indicator span{background:#166534;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}@keyframes slideUp{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}.google-signin-container{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:4px 0 12px;width:100%;min-height:40px;position:relative}.google-custom-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border-bright);border-radius:10px;background:var(--bg-subtle);color:var(--text-primary);font-family:var(--font-main);font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0000000a;transition:var(--transition-smooth);box-sizing:border-box}.google-custom-btn:hover{background:var(--bg-panel);border-color:var(--accent-purple);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-purple-glow)}.google-icon{width:18px;height:18px}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--text-dim);font-size:.8rem;font-weight:500;margin:16px 0;text-transform:uppercase;letter-spacing:.5px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-light)}.auth-divider:not(:empty):before{margin-right:12px}.auth-divider:not(:empty):after{margin-left:12px}#load-modal .modal-content{max-height:85vh;display:flex;flex-direction:column}#workspace-list-container{max-height:55vh;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px}.workspace-list{margin:0;list-style:none;padding:0 0 40px;display:flex;flex-direction:column;gap:12px}.workspace-item{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-radius:16px;background:var(--bg-subtle);border:1px solid var(--border-light);max-height:120px;transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),max-height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1),margin .35s cubic-bezier(.4,0,.2,1),border-width .35s cubic-bezier(.4,0,.2,1),background var(--transition-smooth),border-color var(--transition-smooth),box-shadow var(--transition-smooth)}.workspace-item.processing{opacity:.5;pointer-events:none}.workspace-item.removing{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:-12px;border-top-width:0;border-bottom-width:0;overflow:hidden;pointer-events:none}.workspace-item-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;margin-right:16px;flex-shrink:0;transition:var(--transition-smooth)}.workspace-item-icon.env-vanilla{background-color:var(--accent-amber-glow);color:var(--accent-amber)}.workspace-item-icon.env-react{background-color:#00d8ff26;color:#008cba}.workspace-item-icon.env-cpp{background-color:#00599c1a;color:#00599c}.workspace-item-icon svg{width:22px;height:22px;display:block}.workspace-item:not(.removing):not(.processing):hover{background:#fff;border-color:var(--accent-purple);box-shadow:0 8px 20px var(--accent-purple-glow);transform:translateY(-2px)}.workspace-item-title{font-weight:700;font-size:1.05rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-item:hover .workspace-item-title{white-space:normal;word-break:break-word;overflow:visible}.workspace-item-info{display:flex;flex-direction:column;gap:4px;flex:1;margin-right:16px;min-width:0}.workspace-item-header{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.workspace-storage-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:.72rem;font-weight:600;line-height:1.2;flex-shrink:0;letter-spacing:.02em}.workspace-storage-badge.local{background-color:#64748b1a;color:#64748b;border:1px solid rgba(100,116,139,.25)}.workspace-storage-badge svg{width:12px;height:12px}.workspace-search-wrapper{margin-bottom:8px;padding:0 16px}.cloud-loading-indicator{display:flex;align-items:center;gap:10px;padding:10px 16px;min-height:40px;border-radius:10px;background:var(--accent-purple-subtle, rgba(83, 58, 183, .06));color:var(--accent-purple);font-size:.88rem;font-weight:600;line-height:1.4;border:1px solid rgba(83,58,183,.15);animation:slideUp .2s ease-out;margin:0 16px 12px;max-height:60px;box-sizing:border-box;overflow:hidden}.cloud-loading-indicator.hiding{animation:fadeOutShrink .25s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}@keyframes fadeOutShrink{0%{opacity:1;max-height:60px;min-height:40px;margin-bottom:12px;padding-top:10px;padding-bottom:10px;border-top-width:1px;border-bottom-width:1px}to{opacity:0;max-height:0;min-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;visibility:hidden}}.cloud-loading-spinner{width:14px;height:14px;border:2px solid rgba(83,58,183,.2);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.workspace-item-date{font-size:.8rem;color:var(--text-dim);font-weight:500}.load-btn{display:inline-block;text-decoration:none;background:var(--accent-purple);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-weight:700;font-size:.85rem;cursor:pointer;transition:var(--transition-smooth);white-space:nowrap}.load-btn:hover{background:var(--accent-amber);transform:scale(1.05);box-shadow:0 4px 12px var(--accent-amber-glow)}.workspace-tabs{display:flex;gap:8px;border-bottom:2px solid var(--border-light);padding-bottom:2px;margin:0 16px 20px}.workspace-tab{background:none;border:none;padding:8px 16px;font-family:var(--font-main);font-size:.95rem;font-weight:700;color:var(--text-dim);cursor:pointer;position:relative;transition:var(--transition-smooth)}.workspace-tab:hover,.workspace-tab.active{color:var(--accent-purple)}.workspace-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--accent-purple);border-radius:2px}.workspace-tab:focus-visible,.archive-btn:focus-visible,.unarchive-btn:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.workspace-search-wrapper{margin-bottom:16px}.workspace-search-input{width:100%;padding:10px 16px;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:10px;font-family:var(--font-main);font-size:.95rem;color:var(--text-primary);outline:none;transition:var(--transition-smooth);box-sizing:border-box}.workspace-search-input:focus{background:#fff;border-color:var(--accent-purple);box-shadow:0 0 0 3px var(--accent-purple-glow)}.workspace-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.archive-btn,.unarchive-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1.5px solid var(--border-bright);color:var(--text-secondary);width:36px;height:36px;border-radius:10px;cursor:pointer;transition:var(--transition-smooth);flex-shrink:0;padding:0}.archive-btn:hover{background:#d9302514;border-color:var(--error-color);color:var(--error-color);box-shadow:0 4px 12px #d9302526;transform:translateY(-1px)}.unarchive-btn:hover{background:#1a73e814;border-color:var(--info-color);color:var(--info-color);box-shadow:0 4px 12px #1a73e826;transform:translateY(-1px)}.empty-state{padding:60px 20px;text-align:center;color:var(--text-dim);font-style:italic;font-size:1rem;background:var(--bg-subtle);border-radius:16px;border:2px dashed var(--border-light);margin-top:24px}.editors.react-mode #html-editor-wrapper,.editors.cpp-mode #html-editor-wrapper,.editors.cpp-mode #css-editor-wrapper{display:none!important}.editors.react-mode #css-editor-wrapper:not(.collapsed){flex:1}.editors.react-mode #editor-wrapper:not(.collapsed){flex:2}.editor-container.collapsed,.console-wrapper.collapsed{flex:0 0 auto;min-height:0}.editor-container.collapsed>*:not(.editor-label),.console-wrapper.collapsed>*:not(.console-header){display:none}.editors.all-collapsed{flex:0 0 24px!important;width:24px!important;background:var(--bg-subtle);border-right:1px solid var(--border-light);cursor:pointer;position:relative;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;overflow:hidden}.editors.all-collapsed>*{display:none}.editors.all-collapsed:after{content:"\2039\203a  Editors";display:block;font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;transition:var(--transition-smooth)}body[data-code-along-role=viewer] .editors.all-collapsed[data-owner-editing]:after{content:attr(data-owner-editing);color:var(--accent-purple)}.editors.all-collapsed:hover{background:#fff}.editors.all-collapsed:hover:after{color:var(--accent-purple);transform:rotate(180deg) scale(1.1)}#noauth-popout-modal h2{margin-bottom:20px;font-size:1.25rem;line-height:1.4}.noauth-actions{display:flex;gap:10px}.noauth-actions button{flex:1;justify-content:center}#noauth-login-btn{background:var(--accent-purple);color:#fff;border:none;padding:12px;border-radius:10px;font-size:.9rem;font-weight:700}#noauth-login-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-purple-glow)}@media(max-width:768px){.layout-resizer{display:none!important}.container{flex-direction:column}.editors{margin:0;border-radius:0}.editors:not(.all-collapsed){flex:1.5;min-height:280px}.editors.cpp-mode:not(.all-collapsed){flex:.5;min-height:320px}.editors.all-collapsed{flex:0 0 38px!important;width:100%!important;height:38px!important;border-right:none!important;border-bottom:1px solid var(--border-light)}.editors.all-collapsed:after{content:"\2039\203a  Expand Editors";writing-mode:horizontal-tb;transform:none}body[data-code-along-role=viewer] .editors.all-collapsed[data-owner-editing]:after{content:attr(data-owner-editing)}.editors.all-collapsed:hover:after{transform:scale(1.1)}.logo-text{display:none}.actions,.logo-wrapper{gap:8px}.top-bar{padding:0 8px}}.env-switcher{position:relative;display:flex;align-items:center}.env-btn{display:flex;align-items:center;gap:6px;padding:8px;border-radius:8px;background-color:transparent;border:1px solid transparent;cursor:pointer;transition:var(--transition-smooth)}.env-btn:hover{background-color:var(--bg-subtle);border-color:var(--border-light)}.env-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);display:none}.env-arrow{color:var(--text-dim);transition:var(--transition-smooth)}.env-btn:hover .env-arrow{color:var(--text-secondary)}.env-dropdown{position:absolute;right:0;top:100%;margin-top:8px;width:224px;background-color:var(--bg-panel);border:1px solid var(--border-bright);border-radius:10px;box-shadow:0 10px 25px #0000000d,0 5px 10px #00000005;padding:6px 0;z-index:150;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.env-switcher.open .env-dropdown{opacity:1;visibility:visible}.env-option{width:100%;text-align:left;padding:10px 16px;display:flex;align-items:center;gap:12px;background-color:transparent;border:none;border-radius:0;cursor:pointer;transition:background-color .15s}.env-option:hover{background-color:var(--bg-subtle)}.env-option.active{background-color:var(--accent-purple-glow)}.env-option-text{flex:1;display:flex;flex-direction:column;gap:2px}.env-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.env-desc{font-size:.75rem;color:var(--text-dim)}.env-option.active .env-title{color:var(--accent-purple)}.env-option.active .env-desc{color:var(--text-secondary)}.env-check-icon{display:none}.env-option.active .env-check-icon{display:flex}.icon-blue{color:#3b82f6}.icon-orange{color:#f97316}.icon-check{color:var(--accent-purple);width:14px;height:14px}#env-active-icon{display:flex;align-items:center;justify-content:center}.env-icon-svg,.env-option-svg{width:18px;height:18px;flex-shrink:0}.header-divider{width:1px;height:24px;background-color:var(--border-light);margin:0 4px 0 -4px}@media(min-width:1024px){.env-label{display:inline}}.hidden{display:none!important}#cpp-terminal-panel{flex:1;min-height:0;display:flex;flex-direction:column;background-color:#1a1a21}#terminal-container{flex:1;min-height:0;overflow:hidden;.xterm{padding:8px 0 6px 12px}.xterm .xterm-viewport{background-color:#1a1a21}}.editors.cpp-mode #editor-wrapper:not(.collapsed){flex:1}.cm-search-panel{display:flex;align-items:center;gap:4px;padding:5px 8px;background:var(--bg-panel);border-bottom:1px solid var(--border-bright);width:fit-content;margin-left:auto}.cm-search-panel input{height:26px;padding:0 8px;border:1.5px solid var(--border-bright);border-radius:5px;background:var(--bg-subtle);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;outline:none;width:200px;transition:border-color .15s,box-shadow .15s}.cm-search-panel input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px var(--accent-purple-glow)}.cm-search-panel button{height:26px;width:26px;padding:0;border:1.5px solid var(--border-bright);border-radius:5px;background:var(--bg-subtle);color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,color .12s}.cm-search-panel button:hover{background:var(--accent-purple-subtle);border-color:var(--accent-purple);color:var(--accent-purple)}.cm-search-panel .cm-search-close{font-size:16px;border-color:transparent;background:transparent;color:var(--text-dim)}.cm-search-panel .cm-search-close:hover{background:var(--bg-subtle);border-color:var(--border-bright);color:var(--text-primary)}.cm-searchMatch{background:#ef9f2740;border-radius:2px}.cm-searchMatch-selected{background:#533ab747;border-radius:2px;outline:1.5px solid var(--accent-purple)}.cm-tooltip,.cm-editor .cm-tooltip{background-color:var(--bg-panel, #ffffff);border:1px solid var(--border-bright, rgba(0, 0, 0, .12));border-radius:10px;box-shadow:0 10px 28px #0000001f,0 4px 10px #0000000d;overflow:hidden;font-family:var(--font-main, sans-serif);z-index:1000}.cm-tooltip-lint,.cm-editor .cm-tooltip-lint{padding:0;background-color:var(--bg-panel, #ffffff)}.cm-tooltip-lint .cm-diagnosticList,.cm-editor .cm-tooltip-lint .cm-diagnosticList{list-style:none;margin:0;padding:0}.cm-tooltip-lint .cm-diagnostic,.cm-editor .cm-tooltip-lint .cm-diagnostic{padding:12px 16px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .06));font-size:14px;line-height:1.5;position:relative;background:var(--bg-panel, #ffffff)}.cm-tooltip-lint .cm-diagnostic:last-child,.cm-editor .cm-tooltip-lint .cm-diagnostic:last-child{border-bottom:none}.cm-tooltip-lint .cm-diagnostic-error,.cm-editor .cm-tooltip-lint .cm-diagnostic-error{border-left:4px solid var(--error-color, #d93025);background:linear-gradient(90deg,rgba(217,48,37,.03) 0%,var(--bg-panel, #ffffff) 100%)}.cm-tooltip-lint .cm-diagnostic-warning,.cm-editor .cm-tooltip-lint .cm-diagnostic-warning{border-left:4px solid var(--warn-color, #f9ab00);background:linear-gradient(90deg,rgba(249,171,0,.03) 0%,var(--bg-panel, #ffffff) 100%)}.cm-tooltip-lint .cm-diagnostic-info,.cm-editor .cm-tooltip-lint .cm-diagnostic-info{border-left:4px solid var(--info-color, #1a73e8);background:linear-gradient(90deg,rgba(26,115,232,.03) 0%,var(--bg-panel, #ffffff) 100%)}.cm-tooltip-lint .cm-diagnosticText,.cm-editor .cm-tooltip-lint .cm-diagnosticText{color:var(--text-primary, #1a1a21);font-weight:600;font-size:15px;line-height:1.45;word-break:break-word;font-family:var(--font-main, sans-serif)}.cm-tooltip-lint .cm-diagnosticAction,.cm-editor .cm-tooltip-lint .cm-diagnosticAction{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;margin-top:4px;margin-left:0;padding:7px 14px;font-family:var(--font-main, sans-serif);font-size:14px;font-weight:600;color:var(--accent-purple, #533ab7);background-color:var(--accent-purple-subtle, rgba(83, 58, 183, .08));border:1px solid rgba(83,58,183,.25);border-radius:8px;cursor:pointer;transition:var(--transition-smooth, all .2s ease);box-shadow:0 1px 3px #00000008}.cm-tooltip-lint .cm-diagnosticAction:before,.cm-editor .cm-tooltip-lint .cm-diagnosticAction:before{content:"";display:inline-block;width:14px;height:14px;background-color:currentColor;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3z"/></svg>') center / contain no-repeat;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3z"/></svg>') center / contain no-repeat;flex-shrink:0}.cm-tooltip-lint .cm-diagnosticAction:hover,.cm-editor .cm-tooltip-lint .cm-diagnosticAction:hover{background-color:var(--accent-purple, #533ab7);color:#fff;border-color:var(--accent-purple, #533ab7);box-shadow:0 4px 12px #533ab740;transform:translateY(-1px)}.cm-tooltip-lint .cm-diagnosticAction:focus-visible,.cm-editor .cm-tooltip-lint .cm-diagnosticAction:focus-visible{outline:2px solid var(--accent-purple, #533ab7);outline-offset:1px}.cm-tooltip-lint .cm-diagnosticAction:active,.cm-editor .cm-tooltip-lint .cm-diagnosticAction:active{transform:translateY(0);box-shadow:0 2px 4px #533ab733}.cm-ts-tooltip,.cm-editor .cm-ts-tooltip{padding:10px 14px;font-family:var(--font-mono, monospace);font-size:13px;line-height:1.45;max-width:420px;white-space:pre-wrap;color:var(--text-primary, #1a1a21)}.cm-ts-tooltip-doc,.cm-editor .cm-ts-tooltip-doc{margin-top:8px;border-top:1px solid var(--border-light, rgba(0, 0, 0, .08));padding-top:8px;color:var(--text-secondary, #4a4a5e);font-family:var(--font-main, sans-serif);font-size:13px}@media(max-width:1024px){.logo-wrapper{max-width:none;flex:1 1 0;min-width:0}.doc-title{max-width:100%;min-width:0}.cloud-sync-status{position:static;transform:none;flex-shrink:0}.actions{flex-shrink:0}}@media(max-width:880px){.cloud-status-text{display:none}.cloud-sync-status{padding:6px 10px;gap:0}}@media(max-width:768px){.logo-text{display:none}.logo-wrapper{gap:8px}.doc-title{font-size:.8rem;padding:6px 10px;min-width:0;max-width:100%}.actions{gap:6px}.top-bar{padding:0 10px;gap:8px}.menu-item.mobile-only{display:flex!important}#new-workspace-btn,#cloud-load-btn{padding:8px 12px}}@media(max-width:520px){#new-workspace-btn,#cloud-load-btn{display:none!important}}.omnibox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000040;backdrop-filter:blur(2px);z-index:10000;display:flex;justify-content:center;align-items:flex-start;padding-top:80px}.omnibox-dialog{width:560px;max-width:90vw;background:var(--bg-panel);border:1px solid var(--border-bright);border-radius:10px;box-shadow:0 12px 32px #00000040,0 2px 6px #0000001a;overflow:hidden;display:flex;flex-direction:column}.omnibox-input{width:100%;height:48px;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;border:none;border-bottom:1px solid var(--border-light);outline:none;background:var(--bg-panel);color:var(--text-primary)}.omnibox-input::placeholder{color:var(--text-dim)}.omnibox-results-list{list-style:none;margin:0;padding:6px;max-height:320px;overflow-y:auto}.omnibox-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text-secondary);transition:background-color .1s ease}.omnibox-item.empty{color:var(--text-dim);font-style:italic;cursor:default;justify-content:center;padding:16px}.omnibox-item:hover,.omnibox-item.selected{background-color:var(--accent-purple-subtle);color:var(--text-primary)}.omnibox-item-badge{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;letter-spacing:.03em}.omnibox-item-badge.function{background:#e0f2fe;color:#0369a1}.omnibox-item-badge.class{background:#fef3c7;color:#b45309}.omnibox-item-badge.style{background:#f3e8ff;color:#7e22ce}.omnibox-item-badge.element{background:#dcfce7;color:#15803d}.omnibox-item-badge.command{background:#fee2e2;color:#b91c1c}.omnibox-item-badge.line{background:#fae8ff;color:#86198f}.omnibox-item-badge.editor{background:#e0e7ff;color:#3730a3}.omnibox-item-label{font-weight:500;flex-shrink:0}.omnibox-item-detail{font-size:12px;color:#64748b;font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-left:auto}.omnibox-item-detail.line-preview{margin-left:8px;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:13px}.omnibox-item.line-item{flex-direction:column;align-items:stretch}.omnibox-item-header{display:flex;align-items:center;gap:10px;width:100%}.omnibox-line-context{display:flex;flex-direction:column;width:100%;margin-top:6px;padding:6px 8px;background:#5500550d;border-radius:6px;border:1px solid rgba(255,255,255,.08);font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.omnibox-context-row{display:flex;align-items:center;gap:12px;color:var(--text-secondary);opacity:.5;padding:2px 6px;border-radius:4px;white-space:pre;overflow:hidden}.omnibox-context-row.target-line{color:var(--text-primary);opacity:1;font-weight:600;background:var(--accent-purple-subtle, rgba(168, 85, 247, .2));border-left:3px solid #86198f}.omnibox-context-num{min-width:24px;text-align:right;user-select:none;font-size:11px;color:var(--text-dim, #64748b)}.omnibox-context-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:pre}
