.BananaViewer_bananaViewerRoot__WkRkK{height:100%;display:flex;flex-direction:column}.BananaViewer_filePreviewToolbar__oWFii{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #d3d3d3;height:40px;background:#fff}.BananaViewer_fileInfo__E0uTA{display:flex;align-items:center;gap:6px;font-size:13px;color:#4b5563;white-space:nowrap;overflow:hidden;flex:1;min-width:0;padding-left:15px}.BananaViewer_fileInfo__E0uTA span{color:#757575}.BananaViewer_fileInfo__E0uTA span:last-child{color:#101010}.BananaViewer_fileInfo__E0uTA span span{color:#757575}.BananaViewer_projectName__M0jCn{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.BananaViewer_pathSegment__1Npcd{display:inline-block;max-width:200px;flex-shrink:1}.BananaViewer_separator__2uf3j{flex-shrink:0}.BananaViewer_shareViewerContainer__OjsM5{display:flex;flex-direction:column;background:#fff;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_cardView__5X4Dj{min-height:calc(100vh - 200px);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08)}@media(max-width:768px){.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_cardView__5X4Dj{border-radius:8px}}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_fullView__EQhnS{height:100vh;border-radius:0;box-shadow:none}.BananaViewer_shareViewerContainer__OjsM5:fullscreen{background:#fff}.BananaViewer_shareViewerContainer__OjsM5:fullscreen .BananaViewer_previewFrame__yRYbN{height:100vh!important;min-height:100vh!important}.BananaViewer_shareViewerContainer__OjsM5:fullscreen .BananaViewer_previewFrame__yRYbN iframe{height:100%!important;min-height:100%!important}.BananaViewer_shareViewerContainer__OjsM5:fullscreen .BananaViewer_shareHeader___r2Zr{background:linear-gradient(180deg,#ffffff,#fafafa);box-shadow:0 1px 3px rgba(0,0,0,.1)}.BananaViewer_shareHeader___r2Zr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fafafa,#ffffff)}@media(max-width:768px){.BananaViewer_shareHeader___r2Zr{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:12px}}.BananaViewer_shareInfo__Bmbl8{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.BananaViewer_shareInfo__Bmbl8 svg{color:#6b7280;flex-shrink:0}.BananaViewer_shareTitle__G_ncN{font-size:16px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.BananaViewer_shareTitle__G_ncN{font-size:15px;max-width:100%}}.BananaViewer_shareActions__2ezUv{display:flex;align-items:center;gap:8px}@media(max-width:768px){.BananaViewer_shareActions__2ezUv{width:100%;justify-content:flex-end}}.BananaViewer_iconButton__KDb3r{display:flex;align-items:center;justify-content:center;padding:6px;background:rgba(0,0,0,0);border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.BananaViewer_iconButton__KDb3r:hover{background:#f3f4f6;color:#111827}.BananaViewer_iconButton__KDb3r:active{transform:scale(.95)}.BananaViewer_secondaryButton__CAail{background:#f3f4f6;color:#374151}.BananaViewer_secondaryButton__CAail:hover{background:#e5e7eb;color:#1f2937}.BananaViewer_divider__kgThC{width:1px;height:16px;background-color:#e5e7eb;margin:0 4px}.BananaViewer_viewActions__oIOxz{display:flex;align-items:center;gap:12px}.BananaViewer_fullscreenButton__rAG0X{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:rgba(0,0,0,0);color:#6b7280;cursor:pointer;border-radius:6px;transition:all .2s ease}.BananaViewer_fullscreenButton__rAG0X:hover{background:#f3f4f6;color:#374151}.BananaViewer_fullscreenButton__rAG0X:active{transform:scale(.95)}.BananaViewer_fullscreenButton__rAG0X svg{stroke-width:2}.BananaViewer_viewCount__im0SH{display:flex;align-items:center;gap:4px;font-size:13px;color:#9ca3af;font-weight:500;user-select:none}.BananaViewer_viewCount__im0SH svg{width:14px;height:14px;color:#9ca3af}.BananaViewer_contentArea___S4MP{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:0;padding:0}.BananaViewer_loadingState__EsYzN{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;gap:16px;background:#fff}.BananaViewer_spinner__VAj0c{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-top-color:#007acc;border-radius:50%;animation:BananaViewer_spin__3TH92 1s linear infinite}@keyframes BananaViewer_spin__3TH92{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.BananaViewer_loadingText__I3hiZ{font-size:14px;color:#858585;margin:0}.BananaViewer_previewFrame__yRYbN{width:100%;min-height:700px;height:calc(100vh - 120px);flex:1;position:relative;border:none;overflow:hidden}.BananaViewer_previewFrame__yRYbN iframe{position:absolute;top:0;left:0;width:100%;height:100%;min-height:700px;border:none}.BananaViewer_expirationNotice__v5uWM{padding:10px 20px;background:linear-gradient(90deg,#fff3cd,#ffe8a3);border-top:1px solid #ffd93d;font-size:13px;color:#92400e;text-align:center;font-weight:500}@media(max-width:768px){.BananaViewer_expirationNotice__v5uWM{padding:8px 16px;font-size:12px}}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_fullscreen__w6Kmi{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999;background:#000}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_fullscreen__w6Kmi .BananaViewer_shareHeader___r2Zr{position:fixed;top:0;left:0;right:0;z-index:10000;background:hsla(0,0%,100%,.98);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:1}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_fullscreen__w6Kmi .BananaViewer_shareHeader___r2Zr.BananaViewer_headerHidden__OUwnz{transform:translateY(-100%);opacity:0}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_fullscreen__w6Kmi .BananaViewer_iframeContainer__IoCly{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.BananaViewer_shareViewerContainer__OjsM5.BananaViewer_fullscreen__w6Kmi .BananaViewer_iframeContainer__IoCly iframe{border-radius:0;width:100%;height:100%}.BananaViewer_escHint__NeW1b{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;z-index:10000;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,0,0,.3);animation:BananaViewer_fadeInOut__ieVVT 3s ease-in-out;pointer-events:none}.BananaViewer_escHint__NeW1b kbd{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:4px;padding:4px 8px;font-family:monospace;font-size:13px;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.2)}@keyframes BananaViewer_fadeInOut__ieVVT{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}10%{opacity:1;transform:translateX(-50%) translateY(0)}90%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-10px)}}.monaco-editor .margin-view-overlays .line-numbers{padding-left:0!important;padding-right:4px!important}.monaco-diff-editor .gutter{width:20px!important;min-width:20px!important}.monaco-diff-editor .gutter .gutterItem .buttons{justify-content:flex-start!important;padding-left:2px!important}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{border-radius:3px!important}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{padding:0 1px!important}.comment-line-number-highlight{color:#ef4444!important;font-weight:600;cursor:pointer}.comment-line-number-highlight:hover{color:#dc2626!important}.monaco-comment-popup{background:white;border:1px solid #e5e7eb;border-radius:12px;vbox-shadow:0 10px 30px 0 rgba(0,0,0,.1);padding:0;min-width:320px;max-width:400px;max-height:400px;overflow:hidden;overflow-x:hidden;display:flex;flex-direction:column}.monaco-comment-header{display:flex;justify-content:space-between;align-items:center;padding:16px 14px;box-shadow:inset 0 -1px 0 0 #F5F5F5}.comment-title{font-size:13px;line-height:18px;font-weight:400;color:#757575;padding-left:8px;border-left:2px solid #c2c2c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.monaco-comment-close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:18px;padding:0 4px;line-height:1;transition:color .2s}.monaco-comment-close:hover{color:#374151}.monaco-comment-list{max-height:396px;overflow-y:auto;padding:0 10px}.monaco-comment-item{display:flex;gap:12px;padding:16px 10px;position:relative}.comment-avatar{flex-shrink:0}.avatar-circle{width:32px;height:32px;border-radius:50%;background:#26B2BF;color:white;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}.comment-content-area{flex:1;min-width:0}.comment-header-line{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author-name{font-weight:400;font-size:12px;color:#101010;line-height:17px}.comment-time{font-size:12px;color:#9ca3af}.comment-actions{display:flex;gap:6px;margin-left:auto;transition:opacity .2s ease}.monaco-comment-item:hover .comment-actions{opacity:1}.comment-action-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0;position:relative}.comment-action-icon:hover{background:#f3f4f6;color:#6b7280}.comment-action-icon svg{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;fill:none}.comment-text{font-size:14px;color:#101010;line-height:20px;word-wrap:break-word}.comment-text .mention{color:#26B2BF;font-weight:500}.monaco-comment-input-container{display:flex;gap:12px;padding:16px;background:#ffffff;border-top:1px solid #f3f4f6;flex-shrink:0}.comment-input-wrapper{flex:1;min-width:0}.monaco-comment-input{width:100%;min-height:50px;max-height:100px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;resize:none;outline:none;transition:border-color .2s ease;line-height:1.5}.monaco-comment-input:focus{border-color:#26B2BF;box-shadow:0 0 0 3px rgba(38,178,191,.1)}.monaco-comment-input::placeholder{color:#9ca3af}.monaco-comment-input-buttons{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.monaco-comment-input-cancel,.monaco-comment-input-submit{padding:5px 12px;font-size:13px;font-weight:400;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;outline:none}.monaco-comment-input-submit{background:#26B2BF;color:white}.monaco-comment-input-submit:hover{background:#1e9aa7}.monaco-comment-input-submit:active{transform:scale(.98)}.monaco-comment-input-submit:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.monaco-comment-input-cancel{background:#fff;color:#101010;border-radius:8px;border:1px solid #e6e6e6}.monaco-comment-input-cancel:hover{background:#e5e7eb;color:#4b5563}.monaco-comment-input-cancel:active{transform:scale(.98)}.comment-line-highlight{background-color:rgba(59,130,246,.08)}.preview-comment-line-highlight{text-decoration:underline;text-decoration-color:#FFC710;text-underline-offset:6px}.preview-comment-line-active{background-color:#FFF0CD;border-radius:2px;margin:0 -4px;padding:0 4px}.comment-edit-area{margin-top:8px}.comment-time-row{font-size:11px;color:#8F8F8F;font-weight:400;line-height:16px}.comment-edit-input{width:100%;min-height:60px;max-height:150px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;resize:vertical;outline:none;transition:border-color .2s ease;line-height:1.5;color:#1f2937}.comment-edit-input:focus{border-color:#26B2BF;box-shadow:0 0 0 3px rgba(38,178,191,.1)}.comment-edit-buttons{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.comment-edit-cancel,.comment-edit-save{padding:5px 12px;font-size:13px;font-weight:400;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;outline:none}.comment-edit-save{background:#26B2BF;color:white}.comment-edit-save:hover{background:#1e9aa7}.comment-edit-save:active{transform:scale(.98)}.comment-edit-cancel{background:#fff;color:#101010;border-radius:8px;border:1px solid #e6e6e6}.comment-edit-cancel:hover{background:#e5e7eb;color:#4b5563}.comment-edit-cancel:active{transform:scale(.98)}.monaco-comment-item[data-editing=true] .comment-text{display:none}.monaco-comment-item[data-editing=true] .comment-edit-area{display:block}