body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--cf-orange:#f6821f;--cf-orange-dark:#e5731d;--cf-orange-light:#fff3e0;--cf-blue:#1976d2;--cf-blue-light:#e3f2fd;--cf-gray-bg:#fafafa;--cf-gray-light:#f5f5f5;--cf-gray-border:#e0e0e0;--cf-text-primary:#333;--cf-text-secondary:#616161;--cf-text-muted:#757575}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa;background-color:var(--cf-gray-bg);color:#333;color:var(--cf-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000a;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{height:60px;justify-content:space-between;margin:0 auto;padding:0 10px}.header-container,.header-left{align-items:center;display:flex}.header-left{gap:30px}.logo{align-items:center;color:#424242;display:flex;font-size:18px;font-weight:600;gap:8px}.logo-icon{font-size:24px}.logo-icon,.logo-text{color:#f6821f;color:var(--cf-orange)}.logo-text{font-weight:700}.main-navigation{align-items:center;display:flex;gap:2px}.nav-item{position:relative}.nav-button{align-items:center;background:none;border:none;border-radius:6px;color:#616161;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.nav-button:hover{background-color:#f5f5f5;color:#f6821f;color:var(--cf-orange)}.nav-button.active{background-color:#fff3e0;background-color:var(--cf-orange-light);color:#e5731d;color:var(--cf-orange-dark)}.nav-icon{color:#616161;color:var(--cf-text-secondary);font-size:16px;transition:color .2s ease}.nav-button.active .nav-icon,.nav-button:hover .nav-icon{color:#f6821f;color:var(--cf-orange)}.nav-text{font-weight:500}.nav-arrow{font-size:10px;margin-left:4px;transition:transform .2s ease}.nav-button:hover .nav-arrow{transform:rotate(180deg)}.dropdown-menu{animation:fadeIn .2s ease;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000014;left:0;margin-top:4px;min-width:280px;position:absolute;top:100%;z-index:1001}.dropdown-item{background:none;border:none;border-bottom:1px solid #f5f5f5;cursor:pointer;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item.active{background-color:#fff3e0;background-color:var(--cf-orange-light);color:#e5731d;color:var(--cf-orange-dark);position:relative}.dropdown-item.active:before{background-color:#f6821f;background-color:var(--cf-orange);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.dropdown-item-content{display:flex;flex-direction:column;gap:4px}.dropdown-item-name{color:#424242;font-size:14px;font-weight:500}.dropdown-item-desc{color:#757575;font-size:12px}.header-actions,.header-right{align-items:center;display:flex}.header-actions{gap:20px}.current-tool-name{background-color:#fff3e0;background-color:var(--cf-orange-light);border-radius:20px;color:#f6821f;color:var(--cf-orange);font-size:14px;font-weight:500;padding:6px 12px}.header-info{align-items:center;display:flex;gap:10px;position:relative}.layout-left .header-info{align-items:stretch;flex-direction:column;gap:8px;width:100%}.version{background-color:#f5f5f5;border-radius:12px;color:#757575;font-size:12px;padding:4px 8px}.color-picker-container{display:inline-block;position:relative}.color-picker-btn{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;position:relative;transition:all .2s ease;width:32px}.color-picker-btn:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.05)}.color-icon{filter:brightness(0);font-size:16px}.color-picker-dropdown{grid-gap:8px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #00000026;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);min-width:160px;padding:12px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.color-option{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;position:relative;transition:all .2s ease;width:40px}.color-option:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1)}.color-option.active{border-color:#212121;box-shadow:0 2px 8px #0003}.check-mark{color:#fff;font-size:14px;font-weight:700;position:absolute;text-shadow:0 1px 2px #0000004d}.layout-left .color-picker-container{width:100%}.layout-left .color-picker-btn{max-width:220px;width:100%}.layout-left .color-picker-dropdown{left:0;right:auto;top:calc(100% + 4px)}.btn-settings{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#616161;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease}.btn-settings:hover{background:#f5f5f5;border-color:#bdbdbd;color:#424242}.settings-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.settings-dialog{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:900px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.settings-header h2{color:#333;font-size:20px;font-weight:600;margin:0}.settings-header .btn-close{align-items:center;background:none;border:none;color:#757575;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s ease}.settings-header .btn-close:hover{color:#333}.settings-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:4px;padding:16px 24px 0}.settings-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#616161;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 16px;transition:all .2s ease}.settings-tab:hover{background:#f5f5f5;border-radius:8px 8px 0 0;color:#333}.settings-tab.active{border-bottom-color:#f6821f;border-bottom-color:var(--cf-orange);color:#f6821f;color:var(--cf-orange)}.settings-content{flex:1 1;overflow-y:auto;padding:24px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h3{color:#333;font-size:18px;font-weight:600;margin:0}.settings-desc{color:#757575;font-size:14px;line-height:1.5;margin:0}.settings-form{display:flex;flex-direction:column;gap:16px;margin-top:8px}.settings-form .form-group{display:flex;flex-direction:column;gap:6px}.settings-form .form-group label{color:#424242;font-size:14px;font-weight:500}.settings-form .form-group input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.settings-form .form-group input:focus{border-color:#f6821f;border-color:var(--cf-orange);outline:none}.disabled-input{background:#f5f5f5!important;color:#9e9e9e!important;cursor:not-allowed}.input-hint{margin-top:2px}.config-status{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;gap:8px;margin-bottom:16px;padding:8px 12px}.config-status.configured{background:#e8f5e9;color:#2e7d32}.config-status.not-configured{background:#fff3e0;color:#e65100}.input-hint{color:#757575;display:block;font-size:12px;margin-top:4px}.input-hint.warning{color:#e65100}.settings-actions{display:flex;gap:12px;margin-top:8px}.settings-actions .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s ease}.settings-actions .btn svg{color:currentColor}.settings-info{background:#f8f9fa;border-left:3px solid #f6821f;border-left:3px solid var(--cf-orange);border-radius:8px;margin-top:16px;padding:16px}.settings-info h4{color:#333;font-size:14px;font-weight:600;margin:0 0 8px}.settings-info p{color:#616161;font-size:13px;line-height:1.5;margin:0 0 8px}.settings-info p:last-child{margin-bottom:0}.color-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:8px}.color-grid .color-option{align-items:center;aspect-ratio:1;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;font-size:24px;justify-content:center;position:relative;transition:all .2s ease}.color-grid .color-option:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.05)}.color-grid .color-option.active{border-color:#212121;box-shadow:0 2px 8px #0003}.color-grid .color-icon{font-size:28px}.color-grid .check-mark{color:#fff;font-size:18px;font-weight:700;position:absolute;text-shadow:0 1px 2px #0000004d}.settings-footer{border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:16px 24px}.worker-code-container{margin-top:8px;position:relative}.worker-code-container .code-block{margin-top:40px}.mini-code-block{background:#263238;border-radius:6px;color:#aed581;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:12px;line-height:1.4;margin-top:8px;overflow-x:auto;padding:12px;white-space:pre}.settings-info ol{color:#616161;font-size:13px;line-height:1.6;margin:8px 0 0;padding-left:20px}.settings-info ol li{margin-bottom:6px}.App-main{background-color:#f5f5f5;padding:20px}.App-main,.main-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.main-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin:0 auto}.tool-placeholder{align-items:center;background:linear-gradient(135deg,#f5f5f5,#eee);color:#757575;display:flex;font-size:18px;height:400px;justify-content:center}.json-formatter{display:flex;flex-direction:column;height:100%}.json-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.toolbar-left h2{color:#424242;font-size:20px;font-weight:600;margin:0 0 4px}.toolbar-desc{color:#757575;font-size:14px}.toolbar-right{gap:16px}.format-toggle,.toolbar-right{align-items:center;display:flex}.format-toggle{color:#616161;cursor:pointer;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.format-toggle input[type=checkbox]{accent-color:#f6821f;accent-color:var(--cf-orange);cursor:pointer;height:16px;width:16px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease}.btn svg{color:currentColor}.btn-primary{background:#f6821f;background:var(--cf-orange);color:#fff}.btn-primary:hover{background:#e5731d;background:var(--cf-orange-dark);transform:translateY(-1px)}.btn-secondary{background:#757575;color:#fff}.btn-secondary:hover{background:#616161;transform:translateY(-1px)}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:6px 8px;transition:background-color .2s ease}.btn-icon:hover{background:#f5f5f5}.json-content{grid-gap:20px;align-items:start;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 1fr}.json-panel{border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.json-panel:last-child{border-right:1px solid #e0e0e0}.panel-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.panel-header h3{color:#424242;font-size:16px;font-weight:600;margin:0}.panel-actions{align-items:center;display:flex;gap:12px}.char-count{background:#eee;border-radius:12px;color:#757575;font-size:12px;padding:4px 8px}.panel-body{overflow:hidden;position:relative}.panel-body .monaco-editor,.panel-body .monaco-editor .monaco-scrollable-element{border-radius:0 0 8px 8px}.panel-body>div{height:auto!important}.json-panel textarea{background:#fff;border:none;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;height:100%;line-height:1.6;outline:none;padding:20px;resize:none;width:100%}.json-panel textarea::placeholder{color:#bdbdbd}.json-panel textarea.error{background:#ffebee;border-left:4px solid #d32f2f}.json-output-content{word-wrap:break-word;background:#fafafa;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;height:100%;line-height:1.6;margin:0;overflow:auto;padding:20px;white-space:pre-wrap;width:100%}.empty-state{align-items:center;color:#bdbdbd;display:flex;flex-direction:column;height:200px;justify-content:center;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;margin:0}.error-message{align-items:center;background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;bottom:0;color:#c62828;display:flex;font-size:14px;gap:8px;left:0;padding:12px;position:absolute;right:0;z-index:1001}.error-icon{font-size:16px}.warning-message{align-items:center;background:#fff3e0;border:1px solid #ffe0b2;border-radius:6px;color:#ef6c00;display:flex;font-size:14px;gap:8px;padding:12px;z-index:1001}.warning-icon{font-size:16px}.error-state{align-items:center;color:#c62828;display:flex;flex-direction:column;height:200px;justify-content:center;text-align:center}.error-state .error-icon{font-size:48px;margin-bottom:16px}.error-desc{color:#757575;font-size:14px;margin-top:8px}.tool-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:24px}.tool-container h2{border-bottom:2px solid #1976d2;color:#424242;font-size:24px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.tool-content{display:flex;flex:1 1;flex-direction:column;gap:20px;min-height:0;overflow:hidden}.diff-inputs{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.text-section{display:flex;flex-direction:column;gap:8px}.text-section h3{color:#616161;font-size:16px;font-weight:600;margin:0}.text-section textarea{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;line-height:1.5;min-height:200px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.text-section textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.text-section textarea::placeholder{color:#bdbdbd}.button-section{align-items:center;border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;gap:16px;padding:16px 0}.button-section button{background:#1976d2;border:1px solid #1976d2;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.button-section button:hover{background:#1565c0;transform:translateY(-1px)}.button-section button:last-child{background:#757575;border-color:#757575}.button-section button:last-child:hover{background:#616161}.diff-output{display:flex;flex:1 1;flex-direction:column;gap:16px}.diff-output h3{color:#424242;font-size:18px;font-weight:600;margin:0}.diff-output .diff{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.diff-output .diff-header{background:#fafafa;border-bottom:1px solid #e0e0e0;color:#616161;font-size:14px;padding:12px 16px}.diff-output .diff-gutter{background:#fafafa;border-right:1px solid #e0e0e0}.diff-output .diff-code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:13px;line-height:1.4}.diff-output .diff-added{background:#e8f5e8}.diff-output .diff-removed{background:#ffebee}.qr-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.qr-config{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.qr-config form{gap:20px}.form-group,.qr-config form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#616161;font-size:14px;font-weight:500}.form-group input[type=text]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#424242;font-size:14px;padding:12px;transition:border-color .2s ease}.form-group input[type=text]:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.form-group input[type=text]::placeholder{color:#bdbdbd}.form-group input[type=range]{-webkit-appearance:none;background:#e0e0e0;border-radius:3px;height:6px;outline:none;width:100%}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#1976d2;border-radius:50%;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.form-group input[type=range]::-webkit-slider-thumb:hover{background:#1565c0;transform:scale(1.1)}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group input[type=color]{background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;height:40px;width:60px}.checkbox-group{align-items:center;flex-direction:row;gap:8px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.checkbox-group input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.qr-preview{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:24px}.qr-preview h3{color:#424242;font-size:18px;font-weight:600;margin:0}.qr-code-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000a;padding:20px}.qr-url-display{background:#f5f5f5;border-radius:6px;color:#757575;font-size:14px;margin:0;max-width:400px;padding:8px 12px;text-align:center;word-break:break-all}.form-group textarea{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#424242;font-family:inherit;font-size:14px;line-height:1.5;min-height:80px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.form-group textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.form-group textarea::placeholder{color:#bdbdbd}.info-section{margin-top:20px}.info-section h3{color:#424242;font-size:16px;font-weight:600;margin:0 0 12px}.info-section ul{margin:0;padding-left:20px}.info-section li{color:#616161;font-size:14px;line-height:1.5;margin-bottom:8px}.info-section li:last-child{margin-bottom:0}.info-section strong{color:#1976d2;font-weight:600}.converter-list{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:900px;padding:20px 0}.converter-row{align-items:center;display:flex;gap:16px}.unit-label{color:#424242;font-size:14px;font-weight:500;text-align:right;width:160px}.input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.unit-input{border:1px solid #e0e0e0;border-radius:6px;color:#333;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:14px;padding:10px 40px 10px 12px;transition:all .2s ease;width:100%}.unit-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.row-copy-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;opacity:.6;padding:4px;position:absolute;right:8px;transition:all .2s ease}.row-copy-btn:hover{background-color:#f5f5f5;opacity:1}.unit-example{color:#757575;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:250px}@media (max-width:768px){.converter-row{align-items:stretch;flex-direction:column;gap:8px}.unit-label{text-align:left;width:auto}.unit-example{color:#9e9e9e;font-size:12px;width:auto}}@media (max-width:1200px){.header-container{padding:0 15px}.main-navigation{gap:1px}.nav-button{font-size:13px;padding:6px 12px}.nav-text{display:none}.nav-icon{font-size:18px}.main-container{border-radius:8px;margin:0 10px}.App-main{padding:15px}}@media (max-width:768px){.header-left{gap:15px}.logo-text{display:none}.main-navigation{-ms-overflow-style:none;overflow-x:auto;scrollbar-width:none}.main-navigation::-webkit-scrollbar{display:none}.current-tool-name{display:none}.App-main{padding:10px}.main-container{border-radius:0;box-shadow:none;margin:0;min-height:calc(100vh - 40px)}.dropdown-menu{left:50%;min-width:250px;transform:translateX(-50%)}.json-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.json-panel{border-bottom:1px solid #e0e0e0;border-right:none}.json-panel:last-child{border-bottom:none}.json-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.toolbar-right{justify-content:space-between;width:100%}.diff-inputs{gap:16px;grid-template-columns:1fr}.button-section{align-items:stretch;flex-direction:column;gap:12px}.button-section button{width:100%}.qr-config{padding:16px}.form-row{gap:12px;grid-template-columns:1fr}.qr-code-container,.qr-preview,.tool-container{padding:16px}.tool-container h2{font-size:20px;margin-bottom:16px}.json-formatter{height:auto}.json-content{height:auto;min-height:600px}.json-panel textarea{min-height:200px}}@media (max-width:480px){.header-container{height:50px;padding:0 10px}.logo-icon{font-size:20px}.nav-button{padding:4px 8px}.nav-icon{font-size:16px}.App-main{padding:5px}.main-container{min-height:calc(100vh - 60px)}.tool-container{padding:12px}.json-toolbar{padding:16px}.panel-header{padding:12px 16px}.json-output-content,.json-panel textarea{padding:16px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dropdown-item:focus-visible,.nav-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.dropdown-item:focus:not(:focus-visible),.nav-button:focus:not(:focus-visible){outline:none}.dropdown-item,.nav-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.main-container{transition:all .3s ease}.copy-success{animation:fadeInOut 3s ease-in-out;background:#d4edda;border:1px solid #c3e6cb;border-radius:12px;color:#28a745;font-size:12px;padding:4px 8px}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.copy-toast{animation:toastFadeInOut 3s ease-in-out;left:50%;position:fixed;top:20px;transform:translateX(-50%);z-index:10000}.toast-content{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#fff;display:flex;gap:12px;padding:16px 24px}.toast-icon{font-size:20px}.toast-message{font-size:16px;font-weight:500}@keyframes toastFadeInOut{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}20%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-20px)}}.history-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:24px;padding:20px}.history-header{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.history-header h3{color:#424242;font-size:16px;font-weight:600;margin:0}.clear-btn{background:#ffebee;border:none;border-radius:4px;color:#c62828;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s ease}.clear-btn:hover{background:#ffcdd2}.history-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.history-item{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:all .2s ease}.history-item:hover{background:#f5f5f5;border-color:#1976d2;box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.history-content{flex:1 1;margin-right:12px;overflow:hidden}.history-url{color:#424242;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta{align-items:center;display:flex;font-size:12px;gap:12px}.history-time{color:#9e9e9e}.history-note{background:#e3f2fd;border-radius:4px;color:#1976d2;max-width:150px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.history-actions{gap:4px}.action-btn,.history-actions{align-items:center;display:flex}.action-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:16px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.action-btn:hover{background:#eee}.edit-btn{color:#1976d2;font-size:14px}.delete-btn{color:#9e9e9e;font-size:18px}.delete-btn:hover{background:#ffebee;color:#c62828}.rename-btn{color:#1976d2}.rename-btn:hover{background:#e3f2fd;color:#1565c0}.operation-tag{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;margin-right:8px;padding:2px 6px}.operation-tag.encode{background:#e3f2fd;color:#1976d2}.operation-tag.decode{background:#e8f5e9;color:#2e7d32}@media (max-width:768px){.history-list{grid-template-columns:1fr}}.App.layout-left{flex-direction:row}.App.layout-left .App-header{border-bottom:none;border-right:1px solid #e0e0e0;flex-shrink:0;height:100vh;position:-webkit-sticky;position:sticky;top:0;width:240px}.App.layout-left .header-container{align-items:stretch;flex-direction:column;height:100%;padding:20px 10px}.App.layout-left .header-left{align-items:stretch;flex:1 1;flex-direction:column;gap:20px}.App.layout-left .logo{justify-content:center;margin-bottom:10px;margin-right:0!important}.App.layout-left .main-navigation{align-items:stretch;flex-direction:column;gap:8px}.App.layout-left .nav-button{justify-content:flex-start;padding:12px 16px}.App.layout-left .nav-text{flex:1 1;text-align:left}.App.layout-left .nav-arrow{transform:rotate(-90deg)}.App.layout-left .nav-button.active .nav-arrow,.App.layout-left .nav-button:hover .nav-arrow{transform:rotate(0deg)}.App.layout-left .dropdown-menu{animation:none;background:#f5f5f5;border:none;border-radius:0;box-shadow:none;left:0;margin-top:0;min-width:auto;padding:4px 0;position:relative;top:0;width:100%}.App.layout-left .dropdown-item{border-bottom:none;font-size:13px;padding:10px 16px 10px 48px}.App.layout-left .dropdown-item:hover{background-color:#e0e0e0}.App.layout-left .dropdown-item.active{background-color:#e3f2fd;color:#1976d2;font-weight:500}.App.layout-left .nav-item{display:flex;flex-direction:column;width:100%}.App.layout-left .header-right{border-top:1px solid #f0f0f0;flex-direction:column;gap:10px;padding-top:20px}.App.layout-left .header-actions{flex-direction:row;gap:10px;justify-content:center;width:100%}.App.layout-left .current-tool-name{display:none}.App.layout-left .App-main{height:100vh;overflow-y:auto}.App.layout-left .main-container{border-radius:0;box-shadow:none;margin:0;min-height:auto}.r2-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.upload-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex-shrink:0;padding:20px}.upload-area{display:flex;flex-direction:column;gap:12px}.file-input{background:#fff;border:1px dashed #bdbdbd;border-radius:6px;cursor:pointer;padding:10px;transition:border-color .2s ease}.file-input:hover{border-color:#f6821f;border-color:var(--cf-orange)}.selected-file{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:10px;padding:12px}.selected-file span{color:#424242;flex:1 1;font-size:14px}.file-size{color:#757575;font-size:12px}.btn-close{background:none;border:none;color:#9e9e9e;cursor:pointer;font-size:20px;line-height:1;padding:0 4px}.btn-close:hover{color:#c62828}.progress-bar{background:#e0e0e0;border-radius:12px;height:24px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#f6821f,#e5731d);background:linear-gradient(90deg,var(--cf-orange),var(--cf-orange-dark));height:100%;transition:width .3s ease}.progress-text{color:#424242;font-size:12px;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.file-list-section h3{color:#424242;font-size:16px;font-weight:600;margin:0}.file-list-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between}.loading-state{color:#757575;font-size:14px;padding:40px;text-align:center}.file-table{background:#fff;border:1px solid #e0e0e0;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.file-table thead{background:#fafafa;border-bottom:2px solid #e0e0e0}.file-table th{color:#616161;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.file-table th:first-child{padding-left:20px}.file-table th:last-child{padding-right:20px;text-align:right}.file-table tbody tr{border-bottom:1px solid #f5f5f5;transition:background-color .2s ease}.file-table tbody tr:hover{background-color:#fafafa}.file-table tbody tr:last-child{border-bottom:none}.file-table td{color:#424242;font-size:14px;padding:14px 16px;vertical-align:middle}.file-table td:first-child{padding-left:20px}.file-table td:last-child{padding-right:20px;text-align:right}.file-table .file-icon{color:#f6821f;color:var(--cf-orange);margin-right:8px}.file-table .file-name{color:#424242;display:inline-block;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-table .file-meta{color:#757575;display:flex;font-size:13px;gap:16px}.file-table .file-actions{display:flex;gap:8px;justify-content:flex-end}.file-table .action-btn{align-items:center;background:#f5f5f5;border:none;border-radius:6px;color:#616161;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.file-table .action-btn:hover{background:#f6821f;background:var(--cf-orange);color:#fff;transform:translateY(-1px)}.file-table .copy-btn:hover{background:#1976d2;background:var(--cf-blue)}.file-table .download-btn:hover{background:#43a047}.file-table .delete-btn:hover{background:#c62828}.file-table-cell{align-items:center;display:flex;gap:10px}.file-details{display:flex;flex-direction:column}.file-table-cell-actions{display:flex;gap:8px;justify-content:flex-end}.preview-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.preview-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}.preview-header{align-items:center;display:flex;justify-content:space-between;padding:16px 20px}.preview-header h3{flex:1 1}.preview-content{flex:1 1;overflow:auto;padding:0}.preview-code{word-wrap:break-word;background:#fafafa;color:#424242;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;max-height:calc(80vh - 60px);overflow:auto;padding:20px;white-space:pre-wrap}.preview-image-container{align-items:center;background:#fafafa;display:flex;justify-content:center;min-height:200px;padding:20px}.preview-image{max-height:calc(80vh - 100px);max-width:100%;object-fit:contain}.config-section{margin:0 auto;max-width:800px}.config-section h3{color:#424242;font-size:18px;font-weight:600;margin:0 0 12px}.config-desc{color:#757575;font-size:14px;line-height:1.5;margin-bottom:20px}.config-section .form-group{margin-bottom:16px}.config-section .form-group label{color:#616161;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.config-section .form-group input[type=password],.config-section .form-group input[type=text]{border:1px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.config-section .form-group input:focus{border-color:#f6821f;border-color:var(--cf-orange);box-shadow:0 0 0 2px #f6821f1a;outline:none}.info-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:24px;padding:20px}.info-section h4{color:#424242;font-size:16px;font-weight:600;margin:0 0 12px}.info-section{position:relative}.btn-copy-code{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#616161;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 12px;position:absolute;right:0;top:0;transition:all .2s ease}.btn-copy-code:hover{background:#f5f5f5;border-color:#bdbdbd;color:#424242}.btn-copy-code:active{transform:translateY(1px)}.code-block{background:#263238;border-radius:6px;color:#aed581;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;margin-top:40px;overflow-x:auto;padding:16px;white-space:pre}.code-block,.note{font-size:13px;line-height:1.5}.note{background:#fff3e0;border-left:3px solid #f6821f;border-left:3px solid var(--cf-orange);color:#616161;margin-top:12px;padding:12px}.note code{background:#fff;border:1px solid #ffe0b2;border-radius:4px;display:block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:12px;margin-top:8px;padding:8px}.markdown-viewer-container{display:flex;gap:20px;height:calc(100vh - 160px);overflow:hidden}.markdown-sidebar{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;width:350px}.sidebar-header{background:#fafafa;justify-content:space-between;padding:16px 20px}.sidebar-header h3{color:#424242}.hidden-file-input{display:none}.upload-file-item{background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:16px 20px}.upload-file-info{align-items:center;display:flex;gap:8px;margin-bottom:8px}.upload-file-name{color:#424242;flex:1 1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{color:#757575;font-size:12px}.progress-bar-small{background:#e0e0e0;border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.progress-fill-small{background:linear-gradient(90deg,#f6821f,#e5731d);background:linear-gradient(90deg,var(--cf-orange),var(--cf-orange-dark));height:100%;transition:width .3s ease}.upload-file-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.btn-small{font-size:13px;padding:6px 12px}.file-list-container{flex:1 1;overflow-y:auto}.empty-hint{color:#9e9e9e;font-size:13px;margin-top:8px}.file-list{display:flex;flex-direction:column}.file-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:background-color .2s ease}.file-item:hover{background-color:#fafafa}.file-item.active{background-color:#fff3e0;background-color:var(--cf-orange-light);border-left:3px solid #f6821f;border-left:3px solid var(--cf-orange)}.file-item-main{align-items:center;display:flex;flex:1 1;gap:10px;overflow:hidden}.file-item-info{display:flex;flex-direction:column;overflow:hidden}.file-item .file-name{color:#424242;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item .file-meta{color:#757575;font-size:12px;margin-top:2px}.file-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.file-item:hover .file-item-actions{opacity:1}.file-item .action-btn{align-items:center;background:#f5f5f5;border:none;border-radius:4px;color:#616161;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.file-item .action-btn:hover{background:#f6821f;background:var(--cf-orange);color:#fff}.file-item .download-btn:hover{background:#43a047}.file-item .delete-btn:hover{background:#c62828}.markdown-preview{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.preview-header{background:#fafafa;border-bottom:1px solid #e0e0e0;padding:16px 24px}.preview-header h3{color:#424242;font-size:16px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markdown-content{color:#333;flex:1 1;font-size:15px;line-height:1.7;overflow-y:auto;padding:32px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#424242;font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-content h1{border-bottom:1px solid #e0e0e0;font-size:2em;padding-bottom:8px}.markdown-content h2{border-bottom:1px solid #f0f0f0;font-size:1.5em;padding-bottom:6px}.markdown-content h3{font-size:1.25em}.markdown-content p{margin-bottom:16px}.markdown-content a{color:#1976d2;color:var(--cf-blue);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content ol,.markdown-content ul{margin-bottom:16px;padding-left:2em}.markdown-content li{margin-bottom:4px}.markdown-content code{background:#f5f5f5;border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:.9em;padding:2px 6px}.markdown-content pre{background:#263238;border-radius:8px;color:#aed581;margin-bottom:16px;overflow-x:auto;padding:16px}.markdown-content pre code{background:none;color:inherit;padding:0}.markdown-content blockquote{border-left:4px solid #f6821f;border-left:4px solid var(--cf-orange);color:#616161;font-style:italic;margin:16px 0;padding-left:16px}.markdown-content table{border-collapse:collapse;margin-bottom:16px;width:100%}.markdown-content table td,.markdown-content table th{border:1px solid #e0e0e0;padding:8px 12px;text-align:left}.markdown-content table th{background:#fafafa;font-weight:600}.markdown-content table tr:nth-child(2n){background:#f9f9f9}.markdown-content img{border-radius:4px;height:auto;margin:16px 0;max-width:100%}.markdown-content hr{border:none;border-top:1px solid #e0e0e0;margin:24px 0}.markdown-content input[type=checkbox]{margin-right:8px}.preview-loading{align-items:center;color:#757575;display:flex;flex:1 1;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top:4px solid var(--cf-orange);height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.preview-empty{align-items:center;color:#9e9e9e;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.preview-empty h3{color:#616161;font-size:18px;font-weight:600;margin:16px 0 8px}.preview-empty p{font-size:14px;margin:0}@media (max-width:768px){.markdown-viewer-container{flex-direction:column;height:auto}.markdown-sidebar{height:300px;width:100%}.markdown-preview{min-height:400px}.markdown-content{padding:20px}}.r2-image-manager{display:flex;flex-direction:column;height:100%;padding:20px}.r2-image-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.r2-image-header h2{color:#212121;font-size:24px;font-weight:600;margin:0}.r2-image-actions{display:flex;gap:8px}.upload-files-area{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:12px 16px}.upload-files-info{align-items:center;color:#616161;display:flex;font-size:14px;gap:8px}.upload-files-total{color:#9e9e9e;font-size:12px}.upload-files-actions{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.file-list-section{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.file-list-table-wrapper{border:1px solid #e0e0e0;border-radius:8px;flex:1 1;overflow-y:auto}.file-table-thumbnail{align-items:center;background:#f5f5f5;border-radius:4px;display:inline-flex;flex-shrink:0;height:48px;justify-content:center;margin-right:12px;overflow:hidden;position:relative;vertical-align:middle;width:48px}.file-table-thumbnail .thumbnail-image{height:100%;object-fit:cover;width:100%}.file-table-thumbnail .thumbnail-fallback{color:#9e9e9e;display:none;position:absolute}.file-table-thumbnail .thumbnail-image.thumbnail-load-error{display:none}.file-table-thumbnail .thumbnail-image.thumbnail-load-error+.thumbnail-fallback{display:block}.image-preview-overlay{align-items:center;animation:fadeIn .2s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.image-preview-modal{animation:slideIn .2s ease;background:#fff;border-radius:8px;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden}.image-preview-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.image-preview-header h3{color:#212121;font-size:16px;font-weight:600;margin:0;max-width:80vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview-content{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:400px;min-width:600px;overflow:auto;padding:20px}.image-preview-content img{border-radius:4px;max-height:70vh;max-width:100%;object-fit:contain}.image-preview-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:center;padding:16px 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.r2-image-header{align-items:stretch;flex-direction:column;gap:12px}.r2-image-actions{justify-content:center}.file-table-thumbnail{height:36px;width:36px}.image-preview-content{min-height:300px;min-width:auto}}.notes-manager{display:flex;height:100%;overflow:hidden}.notes-sidebar{background:#fafafa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;min-width:300px;transition:width .3s ease,min-width .3s ease;width:300px}.notes-sidebar.collapsed{border-right:none;min-width:0;overflow:hidden;width:0}.collapse-btn{padding:6px 8px}.sidebar-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;padding:16px}.sidebar-header h3{color:#212121;flex-shrink:0;font-size:16px;font-weight:600;margin:0}.sidebar-actions{display:flex;gap:8px;margin-left:auto}.search-box{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;padding:12px 16px}.search-icon{color:#9e9e9e;margin-right:8px}.search-input{background:#0000;border:none;flex:1 1;font-size:14px;outline:none}.search-input::placeholder{color:#9e9e9e}.notes-list-container{flex:1 1;overflow-y:auto;padding:8px}.notes-list{display:flex;flex-direction:column;gap:4px}.note-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:all .2s ease}.note-item:hover{box-shadow:0 2px 8px #0000001a}.note-item.active,.note-item:hover{border-color:#f6821f;border-color:var(--cf-orange)}.note-item.active{background:#f6821f0d;box-shadow:0 0 0 2px #f6821f33}.note-item-main{flex:1 1;min-width:0}.note-item-info{display:flex;flex-direction:column;gap:4px}.note-title{color:#212121;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-meta{color:#9e9e9e;font-size:12px}.note-item .action-btn{opacity:0;transition:opacity .2s ease}.note-item:hover .action-btn{opacity:.6}.note-item .action-btn:hover{opacity:1}.notes-editor{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.notes-editor.expanded{flex:1 1}.sidebar-expand-btn{background:#fff;border:1px solid #e0e0e0;border-radius:0 4px 4px 0;box-shadow:2px 0 4px #0000001a;cursor:pointer;left:0;padding:8px;position:absolute;top:60px;transition:background .2s ease;z-index:10}.sidebar-expand-btn:hover{background:#f5f5f5}.editor-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:16px;justify-content:space-between;padding:16px 20px}.note-title-input{background:#0000;border:none;color:#212121;flex:1 1;font-size:20px;font-weight:600;outline:none}.note-title-input::placeholder{color:#9e9e9e}.editor-header-actions{align-items:center;display:flex;gap:8px}.editor-content{display:flex;flex:1 1;overflow:hidden}.note-textarea{background:#fafafa;border:none;border-right:1px solid #e0e0e0;flex:1 1;font-size:14px;line-height:1.6}.note-textarea,.note-textarea-full{font-family:Monaco,Menlo,Ubuntu Mono,monospace;outline:none;padding:20px;resize:none}.note-textarea-full{background:#fff;border:none;font-size:15px;height:100%;line-height:1.8;min-height:400px;width:100%}.notes-editor .editor-content{height:100%;min-height:500px;overflow:hidden}.editor-toolbar{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:16px;padding:8px 16px}.editor-toolbar-group{align-items:center;display:flex;gap:8px}.editor-toolbar-label{align-items:center;color:#616161;display:flex;font-size:13px;font-weight:500;gap:4px}.editor-toolbar-select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#212121;cursor:pointer;font-size:13px;outline:none;padding:4px 8px;transition:border-color .2s ease}.editor-toolbar-select:focus,.editor-toolbar-select:hover{border-color:#f6821f;border-color:var(--cf-orange)}.editor-toolbar-select:focus{box-shadow:0 0 0 2px #f6821f1a}.note-preview h1,.note-preview h2,.note-preview h3,.note-preview h4,.note-preview h5,.note-preview h6{font-weight:600;margin-bottom:.5em;margin-top:1.5em}.note-preview h1:first-child{margin-top:0}.note-preview p{line-height:1.6;margin-bottom:1em}.note-preview ol,.note-preview ul{margin-bottom:1em;padding-left:2em}.note-preview code{background:#f5f5f5;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:2px 6px}.note-preview pre{background:#1e1e1e;border-radius:8px;color:#d4d4d4;margin-bottom:1em;overflow-x:auto;padding:16px}.note-preview pre code{background:#0000;color:inherit;padding:0}.note-preview blockquote{border-left:4px solid #f6821f;border-left:4px solid var(--cf-orange);color:#666;margin:1em 0;padding-left:16px}.note-preview img{border-radius:8px;margin:8px 0;max-width:100%}.note-preview table{border-collapse:collapse;margin-bottom:1em;width:100%}.note-preview td,.note-preview th{border:1px solid #e0e0e0;padding:8px 12px;text-align:left}.note-preview th{background:#f5f5f5;font-weight:600}.editor-footer{background:#fafafa;border-top:1px solid #e0e0e0;padding:12px 20px}.note-meta-info{color:#9e9e9e;font-size:12px}.editor-empty{align-items:center;color:#9e9e9e;display:flex;flex:1 1;flex-direction:column;justify-content:center}.editor-empty .empty-icon{margin-bottom:16px;opacity:.5}.editor-empty h3{font-weight:500;margin:0 0 8px}.editor-empty p{margin:0}.saving-indicator{align-items:center;background:#f6821f1a;border-radius:16px;color:#f6821f;color:var(--cf-orange);display:flex;font-size:12px;font-weight:500;gap:8px;padding:6px 12px;position:absolute;right:80px;top:16px}.loading-spinner-small{animation:spin-small .8s linear infinite;border:2px solid #f6821f4d;border-radius:50%;border-top:2px solid var(--cf-orange);height:12px;width:12px}@keyframes spin-small{to{transform:rotate(1turn)}}@media (max-width:768px){.notes-manager{flex-direction:column}.notes-sidebar{border-bottom:1px solid #e0e0e0;border-right:none;max-height:300px;min-width:0;min-width:auto;width:100%}.editor-content{flex-direction:column}.note-textarea{border-bottom:1px solid #e0e0e0;border-right:none;max-height:200px}.saving-indicator{right:16px;top:60px}}.confirm-dialog{max-width:400px}.confirm-message{padding:20px;text-align:center}.confirm-icon{color:#f6821f;color:var(--cf-orange);margin-bottom:16px}.confirm-message p{font-size:14px;margin:8px 0}.confirm-message p:first-of-type{color:#212121;font-size:16px;font-weight:500}.confirm-hint{color:#9e9e9e!important;font-size:12px!important}.btn-danger{background:#d32f2f;color:#fff}.btn-danger:hover{background:#b71c1c}.btn-danger:disabled{background:#ffcdd2;cursor:not-allowed}:root{--diff-background-color:initial;--diff-text-color:initial;--diff-font-family:Consolas,Courier,monospace;--diff-selection-background-color:#b3d7ff;--diff-selection-text-color:var(--diff-text-color);--diff-gutter-insert-background-color:#d6fedb;--diff-gutter-insert-text-color:var(--diff-text-color);--diff-gutter-delete-background-color:#fadde0;--diff-gutter-delete-text-color:var(--diff-text-color);--diff-gutter-selected-background-color:#fffce0;--diff-gutter-selected-text-color:var(--diff-text-color);--diff-code-insert-background-color:#eaffee;--diff-code-insert-text-color:var(--diff-text-color);--diff-code-delete-background-color:#fdeff0;--diff-code-delete-text-color:var(--diff-text-color);--diff-code-insert-edit-background-color:#c0dc91;--diff-code-insert-edit-text-color:var(--diff-text-color);--diff-code-delete-edit-background-color:#f39ea2;--diff-code-delete-edit-text-color:var(--diff-text-color);--diff-code-selected-background-color:#fffce0;--diff-code-selected-text-color:var(--diff-text-color);--diff-omit-gutter-line-color:#cb2a1d}.diff{background-color:initial;background-color:var(--diff-background-color);border-collapse:collapse;color:initial;color:var(--diff-text-color);table-layout:fixed;width:100%}.diff::selection{background-color:#b3d7ff;background-color:var(--diff-selection-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-selection-text-color)}.diff td{padding-bottom:0;padding-top:0;vertical-align:top}.diff-line{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);line-height:1.5}.diff-gutter>a{color:inherit;display:block}.diff-gutter{cursor:pointer;padding:0 1ch;text-align:right;-webkit-user-select:none;user-select:none}.diff-gutter-insert{background-color:#d6fedb;background-color:var(--diff-gutter-insert-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-gutter-insert-text-color)}.diff-gutter-delete{background-color:#fadde0;background-color:var(--diff-gutter-delete-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-gutter-delete-text-color)}.diff-gutter-omit{cursor:default}.diff-gutter-selected{background-color:#fffce0;background-color:var(--diff-gutter-selected-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-gutter-selected-text-color)}.diff-code{word-wrap:break-word;padding:0 0 0 .5em;white-space:pre-wrap;word-break:break-all}.diff-code-edit{color:inherit}.diff-code-insert{background-color:#eaffee;background-color:var(--diff-code-insert-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-insert-text-color)}.diff-code-insert .diff-code-edit{background-color:#c0dc91;background-color:var(--diff-code-insert-edit-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-insert-edit-text-color)}.diff-code-delete{background-color:#fdeff0;background-color:var(--diff-code-delete-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-delete-text-color)}.diff-code-delete .diff-code-edit{background-color:#f39ea2;background-color:var(--diff-code-delete-edit-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-delete-edit-text-color)}.diff-code-selected{background-color:#fffce0;background-color:var(--diff-code-selected-background-color);color:initial;color:var(--diff-text-color);color:var(--diff-code-selected-text-color)}.diff-widget-content{vertical-align:top}.diff-gutter-col{width:7ch}.diff-gutter-omit{height:0}.diff-gutter-omit:before{background-color:#cb2a1d;background-color:var(--diff-omit-gutter-line-color);content:" ";display:block;height:100%;margin-left:4.6ch;overflow:hidden;white-space:pre;width:2px}.diff-decoration{line-height:1.5;-webkit-user-select:none;user-select:none}.diff-decoration-content{font-family:Consolas,Courier,monospace;font-family:var(--diff-font-family);padding:0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{background:#0d1117;color:#c9d1d9}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{background-color:#033a16;color:#aff5b4}.hljs-deletion{background-color:#67060c;color:#ffdcd7}
/*# sourceMappingURL=main.ee2b5c7c.css.map*/